Full Code of creativetimofficial/ui for AI

main 20eb87b1f671 cached
577 files
4.1 MB
1.1M tokens
1022 symbols
1 requests
Download .txt
Showing preview only (4,391K chars total). Download the full file or copy to clipboard to get everything.
Repository: creativetimofficial/ui
Branch: main
Commit: 20eb87b1f671
Files: 577
Total size: 4.1 MB

Directory structure:
gitextract_1snzxphn/

├── .commitlintrc.json
├── .editorconfig
├── .eslintignore
├── .eslintrc.json
├── .gitignore
├── .kodiak.toml
├── .prettierignore
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── apps/
│   └── www/
│       ├── .env.example
│       ├── .gitignore
│       ├── .prettierignore
│       ├── app/
│       │   ├── (app)/
│       │   │   ├── (root)/
│       │   │   │   └── page.tsx
│       │   │   ├── blocks/
│       │   │   │   ├── [...categories]/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── layout.tsx
│       │   │   │   └── page.tsx
│       │   │   ├── docs/
│       │   │   │   ├── [[...slug]]/
│       │   │   │   │   └── page.tsx
│       │   │   │   └── layout.tsx
│       │   │   ├── layout.tsx
│       │   │   └── llm/
│       │   │       └── [[...slug]]/
│       │   │           └── route.ts
│       │   ├── (view)/
│       │   │   └── view/
│       │   │       └── [name]/
│       │   │           └── page.tsx
│       │   ├── api/
│       │   │   └── r/
│       │   │       └── [name]/
│       │   │           └── route.ts
│       │   ├── layout.tsx
│       │   ├── llms.txt/
│       │   │   └── route.ts
│       │   └── og/
│       │       ├── geist-regular-otf.json
│       │       ├── geist-semibold-otf.json
│       │       ├── geistmono-regular-otf.json
│       │       └── route.tsx
│       ├── components/
│       │   ├── active-theme.tsx
│       │   ├── analytics.tsx
│       │   ├── announcement.tsx
│       │   ├── block-display.tsx
│       │   ├── block-image.tsx
│       │   ├── block-viewer.tsx
│       │   ├── blocks-nav.tsx
│       │   ├── blur-vignette.tsx
│       │   ├── callout.tsx
│       │   ├── cards/
│       │   │   ├── activity-goal.tsx
│       │   │   ├── calendar.tsx
│       │   │   ├── cookie-settings.tsx
│       │   │   ├── create-account.tsx
│       │   │   ├── forms.tsx
│       │   │   ├── index.tsx
│       │   │   ├── payment-method.tsx
│       │   │   ├── payments.tsx
│       │   │   ├── report-issue.tsx
│       │   │   ├── share.tsx
│       │   │   └── software-purchase.tsx
│       │   ├── chart-code-viewer.tsx
│       │   ├── chart-copy-button.tsx
│       │   ├── chart-display.tsx
│       │   ├── chart-toolbar.tsx
│       │   ├── charts-nav.tsx
│       │   ├── code-block-command.tsx
│       │   ├── code-collapsible-wrapper.tsx
│       │   ├── code-tabs.tsx
│       │   ├── command-menu.tsx
│       │   ├── component-preview-tabs.tsx
│       │   ├── component-preview.tsx
│       │   ├── component-source.tsx
│       │   ├── component-wrapper.tsx
│       │   ├── components-list.tsx
│       │   ├── copy-button.tsx
│       │   ├── docs-breadcrumb.tsx
│       │   ├── docs-copy-page.tsx
│       │   ├── docs-sidebar-cta.tsx
│       │   ├── docs-sidebar.tsx
│       │   ├── docs-toc.tsx
│       │   ├── examples-nav.tsx
│       │   ├── examples-preview.tsx
│       │   ├── github-link.tsx
│       │   ├── icons.tsx
│       │   ├── main-nav.tsx
│       │   ├── mobile-nav.tsx
│       │   ├── mode-switcher.tsx
│       │   ├── nav-header.tsx
│       │   ├── nav-user.tsx
│       │   ├── open-in-v0-button.tsx
│       │   ├── page-header.tsx
│       │   ├── page-nav.tsx
│       │   ├── showcase-masonry.tsx
│       │   ├── site-config.tsx
│       │   ├── site-footer.tsx
│       │   ├── site-header.tsx
│       │   ├── tailwind-indicator.tsx
│       │   ├── testimonials-section.tsx
│       │   ├── theme-provider.tsx
│       │   ├── theme-selector.tsx
│       │   └── ui/
│       │       ├── accordion.tsx
│       │       ├── alert-dialog.tsx
│       │       ├── alert.tsx
│       │       ├── aspect-ratio.tsx
│       │       ├── avatar.tsx
│       │       ├── badge.tsx
│       │       ├── breadcrumb.tsx
│       │       ├── button.tsx
│       │       ├── calendar.tsx
│       │       ├── card.tsx
│       │       ├── carousel.tsx
│       │       ├── chart.tsx
│       │       ├── checkbox.tsx
│       │       ├── collapsible.tsx
│       │       ├── command.tsx
│       │       ├── context-menu.tsx
│       │       ├── dialog.tsx
│       │       ├── drawer.tsx
│       │       ├── dropdown-menu.tsx
│       │       ├── form.tsx
│       │       ├── hover-card.tsx
│       │       ├── input-otp.tsx
│       │       ├── input.tsx
│       │       ├── label.tsx
│       │       ├── menubar.tsx
│       │       ├── navigation-menu.tsx
│       │       ├── pagination.tsx
│       │       ├── popover.tsx
│       │       ├── progress.tsx
│       │       ├── radio-group.tsx
│       │       ├── resizable.tsx
│       │       ├── scroll-area.tsx
│       │       ├── select.tsx
│       │       ├── separator.tsx
│       │       ├── sheet.tsx
│       │       ├── sidebar.tsx
│       │       ├── skeleton.tsx
│       │       ├── slider.tsx
│       │       ├── software-purchase-card.tsx
│       │       ├── sonner.tsx
│       │       ├── switch.tsx
│       │       ├── table.tsx
│       │       ├── tabs.tsx
│       │       ├── textarea.tsx
│       │       ├── toggle-group.tsx
│       │       ├── toggle.tsx
│       │       └── tooltip.tsx
│       ├── components.json
│       ├── content/
│       │   └── docs/
│       │       ├── (root)/
│       │       │   ├── components.mdx
│       │       │   ├── debug-logs.mdx
│       │       │   ├── how-it-works.mdx
│       │       │   ├── index.mdx
│       │       │   ├── meta.json
│       │       │   └── registry.mdx
│       │       ├── components/
│       │       │   ├── card.mdx
│       │       │   ├── index.mdx
│       │       │   └── software-purchase-card.mdx
│       │       └── meta.json
│       ├── docs/
│       │   └── private-registry.md
│       ├── eslint.config.mjs
│       ├── hooks/
│       │   ├── use-config.ts
│       │   ├── use-copy-to-clipboard.ts
│       │   ├── use-is-mac.ts
│       │   ├── use-layout.tsx
│       │   ├── use-media-query.tsx
│       │   ├── use-meta-color.ts
│       │   ├── use-mobile.ts
│       │   ├── use-mounted.ts
│       │   └── use-mutation-observer.ts
│       ├── lib/
│       │   ├── analytics.ts
│       │   ├── auth.ts
│       │   ├── blocks.ts
│       │   ├── config.ts
│       │   ├── events.ts
│       │   ├── fonts.ts
│       │   ├── highlight-code.ts
│       │   ├── registry.ts
│       │   ├── rehype.ts
│       │   ├── session.ts
│       │   ├── source.ts
│       │   ├── themes.ts
│       │   └── utils.ts
│       ├── mdx-components.tsx
│       ├── middleware.ts
│       ├── next.config.mjs
│       ├── package.json
│       ├── postcss.config.mjs
│       ├── public/
│       │   ├── r/
│       │   │   ├── accordion.json
│       │   │   ├── account-2fa-01.json
│       │   │   ├── account-avatar-upload-01.json
│       │   │   ├── account-basic-info-01.json
│       │   │   ├── account-change-password-01.json
│       │   │   ├── account-integrations-01.json
│       │   │   ├── account-notifications-01.json
│       │   │   ├── account-sessions-01.json
│       │   │   ├── ai-chat-streaming-01.json
│       │   │   ├── ai-image-generator-01.json
│       │   │   ├── ai-video-generator-01.json
│       │   │   ├── alert-dialog.json
│       │   │   ├── alert.json
│       │   │   ├── all.json
│       │   │   ├── aspect-ratio.json
│       │   │   ├── avatar.json
│       │   │   ├── badge.json
│       │   │   ├── billing-information-01.json
│       │   │   ├── blocks.json
│       │   │   ├── blog-cards-layout-01.json
│       │   │   ├── blog-post-preview-tags-01.json
│       │   │   ├── blog-rectangular-images-01.json
│       │   │   ├── breadcrumb.json
│       │   │   ├── button.json
│       │   │   ├── calendar.json
│       │   │   ├── card-blog.json
│       │   │   ├── card-demo.json
│       │   │   ├── card-display-01.json
│       │   │   ├── card-ecommerce.json
│       │   │   ├── card-plain.json
│       │   │   ├── card-with-button.json
│       │   │   ├── card.json
│       │   │   ├── carousel.json
│       │   │   ├── chart.json
│       │   │   ├── checkbox.json
│       │   │   ├── checkout-01.json
│       │   │   ├── collapsible.json
│       │   │   ├── command.json
│       │   │   ├── complex-product-description-01.json
│       │   │   ├── contact-sections-01.json
│       │   │   ├── contact-sections-02.json
│       │   │   ├── contact-sections-03.json
│       │   │   ├── contact-sections-04.json
│       │   │   ├── contact-sections-05.json
│       │   │   ├── contact-sections-06.json
│       │   │   ├── contact-sections-07.json
│       │   │   ├── contact-sections-08.json
│       │   │   ├── contact-sections-09.json
│       │   │   ├── contact-sections-10.json
│       │   │   ├── contact-sections-11.json
│       │   │   ├── contact-sections-12.json
│       │   │   ├── contact-sections-13.json
│       │   │   ├── contact-sections-14.json
│       │   │   ├── contact-sections-15.json
│       │   │   ├── context-menu.json
│       │   │   ├── cruds-01.json
│       │   │   ├── cruds-02.json
│       │   │   ├── cruds-03.json
│       │   │   ├── dark-product-overview-01.json
│       │   │   ├── dialog.json
│       │   │   ├── digital-product-overview-01.json
│       │   │   ├── drawer.json
│       │   │   ├── dropdown-menu.json
│       │   │   ├── ecommerce-sections-01.json
│       │   │   ├── ecommerce-sections-02.json
│       │   │   ├── empty-shopping-cart-01.json
│       │   │   ├── faq-left-title-01.json
│       │   │   ├── faqs-cards-icons-01.json
│       │   │   ├── faqs-grid-01.json
│       │   │   ├── faqs-grid-cta-01.json
│       │   │   ├── faqs-list-01.json
│       │   │   ├── footers-01.json
│       │   │   ├── footers-02.json
│       │   │   ├── footers-03.json
│       │   │   ├── footers-04.json
│       │   │   ├── footers-05.json
│       │   │   ├── footers-06.json
│       │   │   ├── footers-07.json
│       │   │   ├── footers-08.json
│       │   │   ├── footers-09.json
│       │   │   ├── footers-10.json
│       │   │   ├── footers-11.json
│       │   │   ├── footers-12.json
│       │   │   ├── footers-13.json
│       │   │   ├── footers-14.json
│       │   │   ├── footers-15.json
│       │   │   ├── form-card-demo.json
│       │   │   ├── form.json
│       │   │   ├── grid-ecommerce-01.json
│       │   │   ├── highlighted-blog-posts-01.json
│       │   │   ├── hover-card.json
│       │   │   ├── index.json
│       │   │   ├── input-otp.json
│       │   │   ├── input.json
│       │   │   ├── interactive-product-preview-01.json
│       │   │   ├── invoices-01.json
│       │   │   ├── label.json
│       │   │   ├── large-blog-preview-01.json
│       │   │   ├── menubar.json
│       │   │   ├── modals-01.json
│       │   │   ├── modals-02.json
│       │   │   ├── modals-03.json
│       │   │   ├── modals-04.json
│       │   │   ├── modals-05.json
│       │   │   ├── modals-06.json
│       │   │   ├── modals-07.json
│       │   │   ├── modals-08.json
│       │   │   ├── modals-09.json
│       │   │   ├── modals-10.json
│       │   │   ├── modals-11.json
│       │   │   ├── navigation-menu.json
│       │   │   ├── order-details-01.json
│       │   │   ├── order-history-01.json
│       │   │   ├── pagination.json
│       │   │   ├── payment-method-01.json
│       │   │   ├── popover.json
│       │   │   ├── product-description-01.json
│       │   │   ├── product-details-01.json
│       │   │   ├── product-listing-filters-01.json
│       │   │   ├── progress.json
│       │   │   ├── promotional-cards-01.json
│       │   │   ├── radio-group.json
│       │   │   ├── registry.json
│       │   │   ├── resizable.json
│       │   │   ├── scroll-area.json
│       │   │   ├── select.json
│       │   │   ├── separator.json
│       │   │   ├── sheet.json
│       │   │   ├── shopping-cart-01.json
│       │   │   ├── sidebar.json
│       │   │   ├── simple-blog-content-01.json
│       │   │   ├── simple-faq-01.json
│       │   │   ├── simple-product-details-01.json
│       │   │   ├── skeleton.json
│       │   │   ├── slider.json
│       │   │   ├── software-purchase-01.json
│       │   │   ├── software-purchase-card-demo.json
│       │   │   ├── software-purchase-card.json
│       │   │   ├── sonner.json
│       │   │   ├── style.json
│       │   │   ├── styles/
│       │   │   │   └── creative-tim/
│       │   │   │       └── registry.json
│       │   │   ├── switch.json
│       │   │   ├── table.json
│       │   │   ├── tabs.json
│       │   │   ├── testimonials-01.json
│       │   │   ├── testimonials-02.json
│       │   │   ├── testimonials-03.json
│       │   │   ├── testimonials-04.json
│       │   │   ├── testimonials-05.json
│       │   │   ├── testimonials-06.json
│       │   │   ├── testimonials-07.json
│       │   │   ├── testimonials-08.json
│       │   │   ├── testimonials-09.json
│       │   │   ├── testimonials-10.json
│       │   │   ├── testimonials-11.json
│       │   │   ├── testimonials-12.json
│       │   │   ├── testimonials-13.json
│       │   │   ├── testimonials-14.json
│       │   │   ├── testimonials-15.json
│       │   │   ├── testimonials-16.json
│       │   │   ├── testimonials-17.json
│       │   │   ├── textarea.json
│       │   │   ├── toggle-group.json
│       │   │   ├── toggle.json
│       │   │   ├── tooltip.json
│       │   │   ├── transaction-history-01.json
│       │   │   ├── ui.json
│       │   │   ├── use-mobile.json
│       │   │   ├── web3-01.json
│       │   │   ├── web3-02.json
│       │   │   ├── web3-03.json
│       │   │   ├── web3-04.json
│       │   │   └── web3-05.json
│       │   ├── schema/
│       │   │   ├── registry-item.json
│       │   │   └── registry.json
│       │   ├── schema.json
│       │   └── site.webmanifest
│       ├── registry/
│       │   ├── __blocks__.json
│       │   ├── __index__.tsx
│       │   ├── creative-tim/
│       │   │   ├── blocks/
│       │   │   │   ├── account-2fa-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-avatar-upload-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-basic-info-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-change-password-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-integrations-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-notifications-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-sessions-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ai-chat-streaming-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ai-image-generator-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ai-video-generator-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── billing-information-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── blog-cards-layout-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── blog-post-preview-tags-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── blog-rectangular-images-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── card-display-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── checkout-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── complex-product-description-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-12/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-13/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-14/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-15/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── cruds-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── cruds-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── cruds-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── dark-product-overview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── digital-product-overview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ecommerce-sections-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ecommerce-sections-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── empty-shopping-cart-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faq-left-title-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-cards-icons-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-grid-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-grid-cta-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-list-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-12/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-13/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-14/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-15/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── grid-ecommerce-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── highlighted-blog-posts-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── interactive-product-preview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── invoices-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── large-blog-preview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── order-details-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── order-history-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── payment-method-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── product-description-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── product-details-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── product-listing-filters-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── promotional-cards-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── shopping-cart-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── simple-blog-content-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── simple-faq-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── simple-product-details-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── software-purchase-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-12/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-13/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-14/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-15/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-16/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-17/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── transaction-history-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   └── web3-05/
│       │   │   │       └── page.tsx
│       │   │   ├── examples/
│       │   │   │   ├── card-blog.tsx
│       │   │   │   ├── card-demo.tsx
│       │   │   │   ├── card-ecommerce.tsx
│       │   │   │   ├── card-plain.tsx
│       │   │   │   ├── card-with-button.tsx
│       │   │   │   ├── form-card-demo.tsx
│       │   │   │   └── software-purchase-card-demo.tsx
│       │   │   ├── hooks/
│       │   │   │   └── use-mobile.ts
│       │   │   ├── lib/
│       │   │   │   └── utils.ts
│       │   │   └── ui/
│       │   │       ├── accordion.tsx
│       │   │       ├── alert-dialog.tsx
│       │   │       ├── alert.tsx
│       │   │       ├── aspect-ratio.tsx
│       │   │       ├── avatar.tsx
│       │   │       ├── badge.tsx
│       │   │       ├── breadcrumb.tsx
│       │   │       ├── button-group.tsx
│       │   │       ├── button.tsx
│       │   │       ├── calendar.tsx
│       │   │       ├── card.tsx
│       │   │       ├── carousel.tsx
│       │   │       ├── chart.tsx
│       │   │       ├── checkbox.tsx
│       │   │       ├── chip.tsx
│       │   │       ├── collapse.tsx
│       │   │       ├── collapsible.tsx
│       │   │       ├── command.tsx
│       │   │       ├── context-menu.tsx
│       │   │       ├── dialog.tsx
│       │   │       ├── drawer.tsx
│       │   │       ├── dropdown-menu.tsx
│       │   │       ├── form.tsx
│       │   │       ├── hover-card.tsx
│       │   │       ├── input-otp.tsx
│       │   │       ├── input.tsx
│       │   │       ├── label.tsx
│       │   │       ├── list.tsx
│       │   │       ├── map.tsx
│       │   │       ├── menubar.tsx
│       │   │       ├── navigation-menu.tsx
│       │   │       ├── pagination.tsx
│       │   │       ├── popover.tsx
│       │   │       ├── progress.tsx
│       │   │       ├── radio-group.tsx
│       │   │       ├── rating.tsx
│       │   │       ├── resizable.tsx
│       │   │       ├── scroll-area.tsx
│       │   │       ├── select.tsx
│       │   │       ├── separator.tsx
│       │   │       ├── sheet.tsx
│       │   │       ├── sidebar.tsx
│       │   │       ├── skeleton.tsx
│       │   │       ├── slider.tsx
│       │   │       ├── software-purchase-card.tsx
│       │   │       ├── sonner.tsx
│       │   │       ├── spinner.tsx
│       │   │       ├── stepper.tsx
│       │   │       ├── switch.tsx
│       │   │       ├── table.tsx
│       │   │       ├── tabs.tsx
│       │   │       ├── textarea.tsx
│       │   │       ├── timeline.tsx
│       │   │       ├── toggle-group.tsx
│       │   │       ├── toggle.tsx
│       │   │       └── tooltip.tsx
│       │   ├── index.ts
│       │   ├── registry-blocks.ts
│       │   ├── registry-categories.ts
│       │   ├── registry-examples.ts
│       │   ├── registry-hooks.ts
│       │   ├── registry-lib.ts
│       │   └── registry-ui.ts
│       ├── registry.json
│       ├── scripts/
│       │   ├── build-registry.mts
│       │   ├── capture-registry.mts
│       │   └── validate-registries.mts
│       ├── source.config.ts
│       ├── styles/
│       │   ├── globals.css
│       │   └── themes.css
│       ├── tsconfig.json
│       └── tsconfig.scripts.json
├── e2e/
│   ├── auth.login.spec.ts
│   ├── auth.logout.spec.ts
│   ├── auth.password.spec.ts
│   ├── auth.redirects.spec.ts
│   ├── auth.refresh-singleton.spec.ts
│   ├── auth.register.spec.ts
│   └── helpers.ts
├── mock-api/
│   ├── db.json
│   ├── package.json
│   ├── routes.json
│   └── server.js
├── package.json
├── playwright.config.ts
├── pnpm-workspace.yaml
├── postcss.config.cjs
├── prettier.config.cjs
├── skills/
│   ├── README.md
│   └── creative-tim-ui/
│       ├── AGENTS.md
│       ├── SKILL.md
│       └── rules/
│           ├── brand-philosophy.md
│           ├── component-patterns.md
│           ├── design-brand.md
│           ├── hydration-safety.md
│           ├── install-blocks.md
│           ├── pro-api-key.md
│           └── tailwind-rules.md
├── tsconfig.json
├── turbo.json
├── vitest.config.ts
└── vitest.workspace.ts

================================================
FILE CONTENTS
================================================

================================================
FILE: .commitlintrc.json
================================================
{
  "extends": ["@commitlint/config-conventional"]
}


================================================
FILE: .editorconfig
================================================
# editorconfig.org
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true


================================================
FILE: .eslintignore
================================================
node_modules/
target/
.next/
build/
dist/

/templates/
/fixtures/


================================================
FILE: .eslintrc.json
================================================
{
  "$schema": "https://json.schemastore.org/eslintrc",
  "root": true,
  "extends": [
    "next/core-web-vitals",
    "turbo",
    "prettier",
    "plugin:tailwindcss/recommended"
  ],
  "plugins": ["tailwindcss"],
  "ignorePatterns": ["**/fixtures/**"],
  "rules": {
    "@next/next/no-html-link-for-pages": "off",
    "tailwindcss/no-custom-classname": "off",
    "tailwindcss/classnames-order": "error"
  },
  "settings": {
    "tailwindcss": {
      "callees": ["cn", "cva"],
      "config": "tailwind.config.cjs"
    },
    "next": {
      "rootDir": ["apps/*/"]
    }
  },
  "overrides": [
    {
      "files": ["*.ts", "*.tsx"],
      "parser": "@typescript-eslint/parser"
    }
  ]
}


================================================
FILE: .gitignore
================================================
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
node_modules
.pnpm-store
.pnp
.pnp.js

# testing
coverage

# next.js
.next/
out/
build

# misc
.DS_Store
*.pem
.bmad-core/
.claude/
.cursor/
web-bundles/
.replit 
replit.md   

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# local env files
.env.local
.env.development.local
.env.test.local
.env.production.local

# turbo
.turbo

.contentlayer
tsconfig.tsbuildinfo

# ide
.idea
.fleet
.vscode

REGISTRY_STRUCTURE.md
packages/*


================================================
FILE: .kodiak.toml
================================================
# .kodiak.toml
version = 1

[merge]
automerge_label = "automerge"
require_automerge_label = true
method = "squash"
delete_branch_on_merge = true
optimistic_updates = false
prioritize_ready_to_merge = true
notify_on_conflict = true

[merge.message]
title = "pull_request_title"
body = "pull_request_body"
include_pr_number = true
body_type = "markdown"
strip_html_comments = true


================================================
FILE: .prettierignore
================================================
dist
node_modules
.next
build
.contentlayer
apps/www/pages/api/registry.json
**/fixtures


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

Thanks for your interest in contributing to ui.creative-tim.com.

Please take a moment to review this document before submitting your first pull request. We also strongly recommend that you check for open issues and pull requests to see if someone else is working on something similar.

If you need any help, feel free to reach out to [Creative Tim](https://creative-tim.com/contact).

## About this repository

This repository is a monorepo.

- We use [pnpm](https://pnpm.io) and [`workspaces`](https://pnpm.io/workspaces) for development.
- We use [Turborepo](https://turbo.build/repo) as our build system.

## Structure

This repository is structured as follows:

```
apps
└── www
    ├── app
    ├── components
    ├── content
    └── registry
        └── creative-tim-ui
            ├── example
            └── ui
```

| Path                  | Description                              |
| --------------------- | ---------------------------------------- |
| `apps/www/app`        | The Next.js application for the website. |
| `apps/www/components` | The React components for the website.    |
| `apps/www/content`    | The content for the website.             |
| `apps/www/registry`   | The registry for the components.         |

## Development

### Fork this repo

You can fork this repo by clicking the fork button in the top right corner of this page.

### Clone on your local machine

```bash
git clone https://github.com/creative-tim/ui.git
```

### Navigate to project directory

```bash
cd ui
```

### Create a new Branch

```bash
git checkout -b my-new-branch
```

### Install dependencies

```bash
pnpm install
```

### Run a workspace

You can use the `pnpm --filter=[WORKSPACE]` command to start the development process for a workspace.

#### Examples

1. To run the `creative-tim.com/ui` website:

```bash
pnpm dev
```
## Documentation

The documentation for this project is located in the `www` workspace. You can run the documentation locally by running the following command:

```bash
pnpm dev
```

Documentation is written using [MDX](https://mdxjs.com). You can find the documentation files in the `apps/www/content/docs` directory.

## Components

We use a registry system for developing components. You can find the source code for the components under `apps/www/registry`. The components are organized by styles.

```bash
apps
└── www
    └── registry
        └── creative-tim
            ├── blocks
            └── ui
```

When adding or modifying components, please ensure that:

1. You make the changes for every style.
2. You update the documentation.
3. You run `pnpm build:registry` to update the registry.

## Commit Convention

Before you create a Pull Request, please check whether your commits comply with
the commit conventions used in this repository.

When you create a commit we kindly ask you to follow the convention
`category(scope or module): message` in your commit message while using one of
the following categories:

- `feat / feature`: all changes that introduce completely new code or new
  features
- `fix`: changes that fix a bug (ideally you will additionally reference an
  issue if present)
- `refactor`: any code related change that is not a fix nor a feature
- `docs`: changing existing or creating new documentation (i.e. README, docs for
  usage of a lib or cli usage)
- `build`: all changes regarding the build of the software, changes to
  dependencies or the addition of new dependencies
- `test`: all changes regarding tests (adding new tests or changing existing
  ones)
- `ci`: all changes regarding the configuration of continuous integration (i.e.
  github actions, ci system)
- `chore`: all changes to the repository that do not fit into any of the above
  categories

  e.g. `feat(components): add new prop to the avatar component`

If you are interested in the detailed specification you can visit
https://www.conventionalcommits.org/ or check out the
[Angular Commit Message Guidelines](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines).

## Requests for new components

If you have a request for a new component, please open a discussion on GitHub. We'll be happy to help you out.
Please ensure that the tests are passing when submitting a pull request. If you're adding new features, please include tests.


================================================
FILE: LICENSE.md
================================================
MIT License

Copyright (c) 2025 [Creative Tim](https://www.creative-tim.com/)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software "), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
[![Creative Tim UI](https://raw.githubusercontent.com/creativetimofficial/ui/refs/heads/main/apps/www/public/opengraph-image.png)](https://creative-tim.com/ui)

# Creative Tim UI

[Creative Tim UI](https://creative-tim.com/ui) is a comprehensive component library built on top of [shadcn/ui](https://ui.shadcn.com/) to help you build modern web applications faster.

## Overview

Creative Tim UI provides pre-built, customizable React components and blocks designed for building beautiful, production-ready web applications. 
The CLI makes it easy to add these components to your Next.js project.

## Installation
You can use the Creative Tim UI CLI directly with npx, or install it globally:
```bash
# Use directly (recommended)
npx @creative-tim/ui@latest add <component-name>

# Or using shadcn cli
npx shadcn@latest add https://creative-tim.com/ui/r/all.json
```

## Prerequisites
Before using Creative Tim UI, ensure your Next.js project meets these requirements:
- **Node.js 18** or later
- **shadcn/ui** initialized in your project (npx shadcn@latest init)
- **Tailwind CSS** configured

## Usage

### Install All Components
Install all available Creative Tim UI components at once:
```bash
npx @creative-tim/ui@latest add all
```
This command will:
- Set up shadcn/ui if not already configured
- Install all Creative Tim UI components to your configured components directory
- Add necessary dependencies to your project

### Install Specific Components
Install individual components using the `components add` command:
```bash
npx @creative-tim/ui@latest add <component-name>
```
Examples:
```bash
# Install the orb component
npx @creative-tim/ui@latest add card
```

### Alternative: Use with shadcn CLI
You can also install components using the standard shadcn/ui CLI:
```bash
# Install all components
npx shadcn@latest add https://creative-tim.com/ui/r/all.json

# Install a specific component
npx shadcn@latest add https://creative-tim.com/ui/r/button.json
```

All available components can be found [here](https://creative-tim.com/ui/docs/components) or explore a list of example blocks [here](https://creative-tim.com/ui/blocks).

## Blocks

Explore our collection of ready-to-use blocks organized by category. Each block is fully customizable and can be added to your project with a single command.

### Application UI

<table>
<tr>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/modals">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/modals-thumbnail.jpg" alt="Modals" />
<br/>
<strong>Modals</strong><br/>
<em>5 Blocks</em>
</a>
</td>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/account">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/account-thumbnail.jpg" alt="Account" />
<br/>
<strong>Account</strong><br/>
<em>7 Blocks</em>
</a>
</td>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/billing">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/billing-thumbnail.jpg" alt="Billing" />
<br/>
<strong>Billing</strong><br/>
<em>5 Blocks</em>
</a>
</td>
</tr>
</table>

### Marketing

<table>
<tr>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/testimonials">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/testimonial-thumbnail.jpg" alt="Testimonial Sections" />
<br/>
<strong>Testimonial Sections</strong><br/>
<em>17 Blocks</em>
</a>
</td>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/contact">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/contact-us-thumbnail.jpg" alt="Contact Sections" />
<br/>
<strong>Contact Sections</strong><br/>
<em>15 Blocks</em>
</a>
</td>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/footers">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/footer-thumbnail.jpg" alt="Footers" />
<br/>
<strong>Footers</strong><br/>
<em>16 Blocks</em>
</a>
</td>
</tr>
<tr>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/faqs">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/faq-thumbnail.jpg" alt="FAQs" />
<br/>
<strong>FAQs</strong><br/>
<em>6 Blocks</em>
</a>
</td>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/blog">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/blog-posts-thumbnail.jpg" alt="Blog" />
<br/>
<strong>Blog</strong><br/>
<em>15 Blocks</em>
</a>
</td>
</tr>
</table>

### Ecommerce UI
Ready-to-use blocks for product listings, shopping carts, and checkout flows.

<table>
<tr>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/ecommerce">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/ecommerce-thumbnail.jpg" alt="Ecommerce Sections" />
<br/>
<strong>Ecommerce Sections</strong><br/>
<em>14 Blocks</em>
</a>
</td>
</tr>
</table>

### Web 3.0
Innovative sections built for decentralized applications, blockchain projects, and crypto platforms.

<table>
<tr>
<td width="25%">
<a href="https://creative-tim.com/ui/blocks/web3">
<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/refs/heads/master/david-ui/thumbs/collections-thumbnail.jpg" alt="Web 3.0 Cards" />
<br/>
<strong>Web 3.0 Cards</strong><br/>
<em>5 Blocks</em>
</a>
</td>
</tr>
</table>

## Contributing

If you'd like to contribute to Creative Tim UI, please follow these steps:

1. Fork the repository
2. Create a new branch
3. Make your changes to the components in the registry.
4. Open a PR to the main branch.

Please read the [contributing guide](/CONTRIBUTING.md).

## Copyrights and Licenses

Creative Tim UI is built upon the incredible work of the open source community:

- **[shadcn/ui](https://ui.shadcn.com/)** - The documentation structure, registry system, and foundational (atomic) components are from the open source work in shadcn/ui. [MIT License](https://github.com/shadcn-ui/ui/blob/main/LICENSE.md)
- **[Material Tailwind](https://material-tailwind.com/v3)** by Creative Tim - The blocks and component designs are inspired by and based on Material Tailwind Framework. [MIT License](https://github.com/creativetimofficial/material-tailwind/blob/main/LICENSE.md)
- **[Eleven Labs UI](https://github.com/elevenlabs/elevenlabs-ui)** - General inspiration for the documentation structure and approach of blocks. [MIT License](https://github.com/elevenlabs/ui/blob/main/LICENSE.md)
- **[Geist Font](https://vercel.com/font)** by Vercel - The beautiful typeface used throughout the interface. [SIL Open Font License 1.1](https://github.com/vercel/geist-font/blob/main/LICENSE.txt)

We are grateful to these projects for making their work available under open source licenses.

## License

Licensed under the [MIT license](https://github.com/creativetimofficial/ui/blob/main/LICENSE.md).

Made with love by [Creative Tim](https://creative-tim.com).


================================================
FILE: apps/www/.env.example
================================================
# Private Registry Authentication
# Set your API key to access private components (testimonials-03, testimonials-04)
# Get your API key from: https://creative-tim.com/ui
API_KEY=your_api_key_here

NEXT_PUBLIC_V0_URL=https://v0.app
NEXT_PUBLIC_APP_URL=http://localhost:5000

NEXT_PUBLIC_ASSET_PREFIX = "/ui"
NEXT_PUBLIC_VIEW_PATH = "/ui/view"

================================================
FILE: apps/www/.gitignore
================================================
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*
!.env.example

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts


# generated content
.contentlayer
.content-collections
.source


================================================
FILE: apps/www/.prettierignore
================================================
dist
node_modules
.next
build
.contentlayer
registry/__index__.tsx
content/docs/components/calendar.mdx


================================================
FILE: apps/www/app/(app)/(root)/page.tsx
================================================
import { Metadata } from "next"
import Link from "next/link"
import { Download, Package, Star, Users } from "lucide-react"

import { ExamplesNav } from "@/components/examples-nav"
import { ExamplesPreview } from "@/components/examples-preview"
import { ShowcaseMasonry } from "@/components/showcase-masonry"
import { TestimonialsSection } from "@/components/testimonials-section"
import {
  PageActions,
  PageHeader,
  PageHeaderDescription,
  PageHeaderHeading,
} from "@/components/page-header"
import { PageNav } from "@/components/page-nav"
import { ThemeSelector } from "@/components/theme-selector"
import { Button } from "@/components/ui/button"
import { Card } from "@/components/ui/card"

const title = "Creative Tim UI"
const description =
  "Open-source components, blocks, and AI agents designed to speed up your workflow. Import them seamlessly into your favorite tools through Registry and MCPs."

export const dynamic = "force-static"
export const revalidate = false

export const metadata: Metadata = {
  title,
  description,
  openGraph: {
    images: [
      {
        url: `/og?title=${encodeURIComponent(
          title
        )}&description=${encodeURIComponent(description)}`,
      },
    ],
  },
  twitter: {
    card: "summary_large_image",
    images: [
      {
        url: `/og?title=${encodeURIComponent(
          title
        )}&description=${encodeURIComponent(description)}`,
      },
    ],
  },
}

export default function IndexPage() {

  const assetPrefix = process.env.NEXT_PUBLIC_ASSET_PREFIX 

  return (
    <div className="bg-stone-50 dark:bg-stone-950 flex flex-1 flex-col">
      <div className="relative overflow-hidden">
        <div
          className="pointer-events-none absolute inset-0"
          style={{
            background:
              "radial-gradient(circle at center, transparent 0%, transparent 25%, hsl(var(--background) / 0.5) 50%, hsl(var(--background) / 0.8) 70%, hsl(var(--background) / 0.95) 85%, hsl(var(--background)) 95%)",
          }}
        />
        <PageHeader className="relative z-10">
          <PageHeaderHeading className="max-w-4xl">
            <span className="flex items-baseline gap-2 sm:gap-3">
              <span className="font-geist-bold leading-[0.95] font-bold tracking-[-0.03em]">
                Creative Tim
              </span>
              <span className="font-geist font-normal tracking-[-0.02em] opacity-90">
                UI
              </span>
            </span>
          </PageHeaderHeading>
          <PageHeaderDescription>{description}</PageHeaderDescription>
          <PageActions>
            <Button asChild size="sm" variant="outline">
              <Link href="/docs">Get Started</Link>
            </Button>
            <Button asChild size="sm">
              <Link href="/blocks">View Blocks</Link>
            </Button>
          </PageActions>

          {/* Logo Section */}
          <div className="mt-16 flex flex-col items-center gap-6">
            <div className="flex flex-wrap items-center justify-center gap-8">
              {/* OpenAI */}
              <div className="opacity-50 grayscale transition-all hover:opacity-100 hover:grayscale-0 dark:invert dark:opacity-60 dark:hover:invert-0">
                <img
                  src={`${assetPrefix}/logo-open-ai.png`}
                  alt="OpenAI"
                  className="h-7 w-auto"
                />
              </div>

              {/* Claude */}
              <div className="opacity-50 grayscale transition-all hover:opacity-100 hover:grayscale-0 dark:invert dark:opacity-60 dark:hover:invert-0">
                <img
                  src={`${assetPrefix}/logo-claude.png`}
                  alt="Claude"
                  className="h-7 w-auto"
                />
              </div>

              {/* v0 */}
              <div className="opacity-50 grayscale transition-all hover:opacity-100 hover:grayscale-0 dark:invert dark:opacity-60 dark:hover:invert-0">
                <img
                  src={`${assetPrefix}/logo-v0.png`}
                  alt="v0"
                  className="h-7 w-auto"
                />
              </div>

              {/* Replit */}
              <div className="opacity-50 grayscale transition-all hover:opacity-100 hover:grayscale-0 dark:invert dark:opacity-60 dark:hover:invert-0">
                <img
                  src={`${assetPrefix}/logo-replit.png`}
                  alt="Replit"
                  className="h-7 w-auto"
                />  
              </div>

              {/* Bolt */}
              <div className="opacity-50 grayscale transition-all hover:opacity-100 hover:grayscale-0 dark:invert dark:opacity-60 dark:hover:invert-0">
                <img
                  src={`${assetPrefix}/logo-bolt.png`}
                  alt="Bolt"
                  className="h-7 w-auto"
                />
              </div>

              {/* Lovable */}
              <div className="opacity-50 grayscale transition-all hover:opacity-100 hover:grayscale-0 dark:invert dark:opacity-60 dark:hover:invert-0">
                <img
                  src={`${assetPrefix}/logo-lovable.png`}
                  alt="Lovable"
                  className="h-7 w-auto"
                />
              </div>
            </div>
          </div>
        </PageHeader>
      </div>

      <ShowcaseMasonry />
      

      {/* Achievements Section */}
      <section className="container py-12 md:py-20">
        <div className="mx-auto text-center">
          <h2 className="mb-4 text-3xl font-bold tracking-tight sm:text-4xl">
            Remarkable Achievements
          </h2>
          <p className="text-muted-foreground mx-auto mb-12 max-w-3xl text-base sm:text-lg">
            Discover how our UI Tools have transformed web development. These
            achievements showcase our dedication to innovation and our
            community&apos;s growth.
          </p>

          <div className="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4">
            <Card className="p-6 text-left gap-0">
              <Users className="text-muted-foreground mb-4 h-8 w-8" />
              <div className="mb-1 text-3xl font-bold">2.6M+</div>
              <div className="mb-3 text-sm font-medium">Community Members</div>
              <p className="text-muted-foreground text-sm">
                Join our community of developers and designers
              </p>
            </Card>

            <Card className="p-6 text-left gap-0">
              <Download className="text-muted-foreground mb-4 h-8 w-8" />
              <div className="mb-1 text-3xl font-bold">8.6M+</div>
              <div className="mb-3 text-sm font-medium">
                Cumulative Downloads
              </div>
              <p className="text-muted-foreground text-sm">
                Based on Material Tailwind and Creative Tim Products
              </p>
            </Card>

            <Card className="p-6 text-left gap-0">
              <Star className="text-muted-foreground mb-4 h-8 w-8" />
              <div className="mb-1 text-3xl font-bold">48,000+</div>
              <div className="mb-3 text-sm font-medium">
                Github Cumulative Stars
              </div>
              <p className="text-muted-foreground text-sm">
                On 100+ Open Source Repositories and Projects
              </p>
            </Card>

            <Card className="p-6 text-left gap-0">
              <Package className="text-muted-foreground mb-4 h-8 w-8" />
              <div className="mb-1 text-3xl font-bold">280,000+</div>
              <div className="mb-3 text-sm font-medium">
                Monthly NPM Downloads
              </div>
              <p className="text-muted-foreground text-sm">
                Including React, HTML, Tailwind CSS and more.
              </p>
            </Card>
          </div>
        </div>
      </section>

      {/* Examples Preview Section */}
      <ExamplesPreview />

      {/* Testimonials Section */}
      <TestimonialsSection />

      <PageNav className="hidden md:flex">
        <ExamplesNav className="[&>a:first-child]:text-primary flex-1 overflow-hidden" />
        <ThemeSelector className="mr-4 hidden md:flex" />
      </PageNav>
    </div>
  )
}


================================================
FILE: apps/www/app/(app)/blocks/[...categories]/page.tsx
================================================
import { getAllBlockIds } from "@/lib/blocks"
import { BlockDisplay } from "@/components/block-display"
import { registryCategories } from "@/registry/registry-categories"

export const revalidate = false
export const dynamic = "force-static"
export const dynamicParams = false

export async function generateStaticParams() {
  return registryCategories.map((category) => ({
    categories: [category.slug],
  }))
}

export default async function BlocksPage({
  params,
}: {
  params: Promise<{ categories?: string[] }>
}) {
  const { categories = [] } = await params
  const blocks = await getAllBlockIds(["registry:block"], categories)

  return (
    <div className="flex flex-col gap-12 md:gap-24">
      {blocks.map((name) => (
        <BlockDisplay name={name} key={name} />
      ))}
    </div>
  )
}


================================================
FILE: apps/www/app/(app)/blocks/layout.tsx
================================================
import { Metadata } from "next"
import Link from "next/link"

import { BlocksNav } from "@/components/blocks-nav"
import {
  PageActions,
  PageHeader,
  PageHeaderDescription,
  PageHeaderHeading,
} from "@/components/page-header"
import { PageNav } from "@/components/page-nav"
import { Button } from "@/components/ui/button"

const title = "Blocks"
const description =
  "A collection of building blocks and components made by Creative Tim on top of shadcn/ui."

export const metadata: Metadata = {
  title,
  description,
  openGraph: {
    images: [
      {
        url: `/og?title=${encodeURIComponent(
          title
        )}&description=${encodeURIComponent(description)}`,
      },
    ],
  },
  twitter: {
    card: "summary_large_image",
    images: [
      {
        url: `/og?title=${encodeURIComponent(
          title
        )}&description=${encodeURIComponent(description)}`,
      },
    ],
  },
}

export default function BlocksLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <>
      <PageHeader>
        <PageHeaderHeading>{title}</PageHeaderHeading>
        <PageHeaderDescription>{description}</PageHeaderDescription>
        <PageActions>
          <Button asChild size="sm">
            <a href="#blocks">Browse Blocks</a>
          </Button>
          <Button asChild variant="ghost" size="sm">
            <Link href="https://github.com/creativetimofficial/ui">
              Add a block
            </Link>
          </Button>
        </PageActions>
      </PageHeader>
      <PageNav id="blocks">
        <BlocksNav />
      </PageNav>
      <div className="container-wrapper section-soft flex-1 md:py-12">
        <div className="container">{children}</div>
      </div>
    </>
  )
}


================================================
FILE: apps/www/app/(app)/blocks/page.tsx
================================================
import { BlockDisplay } from "@/components/block-display"

export const dynamic = "force-static"
export const revalidate = false

const FEATURED_BLOCKS = [
  "software-purchase-01",
  "dark-product-overview-01",
  "web3-04",
  "account-basic-info-01",
  "cruds-01",
  "testimonials-03",
]

export default async function BlocksPage() {
  return (
    <div className="flex flex-col gap-12 md:gap-24">
      {FEATURED_BLOCKS.map((name) => (
        <BlockDisplay name={name} key={name} />
      ))}
    </div>
  )
}


================================================
FILE: apps/www/app/(app)/docs/[[...slug]]/page.tsx
================================================
import Link from "next/link"
import { notFound } from "next/navigation"
import { mdxComponents } from "@/mdx-components"
import {
  IconArrowLeft,
  IconArrowRight,
  IconArrowUpRight,
} from "@tabler/icons-react"
import { findNeighbour } from "fumadocs-core/server"

import { source } from "@/lib/source"
import { absoluteUrl } from "@/lib/utils"
import { DocsCopyPage } from "@/components/docs-copy-page"
import { DocsSidebarCta } from "@/components/docs-sidebar-cta"
import { DocsTableOfContents } from "@/components/docs-toc"
import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"

export const revalidate = false
export const dynamic = "force-static"
export const dynamicParams = false

export function generateStaticParams() {
  return source.generateParams()
}

export async function generateMetadata(props: {
  params: Promise<{ slug?: string[] }>
}) {
  const params = await props.params
  const page = source.getPage(params.slug)

  if (!page) {
    notFound()
  }

  const doc = page.data

  if (!doc.title || !doc.description) {
    notFound()
  }

  return {
    title: doc.title,
    description: doc.description,
    openGraph: {
      title: doc.title,
      description: doc.description,
      type: "article",
      url: absoluteUrl(page.url),
      images: [
        {
          url: `/og?title=${encodeURIComponent(
            doc.title
          )}&description=${encodeURIComponent(doc.description)}`,
        },
      ],
    },
    twitter: {
      card: "summary_large_image",
      title: doc.title,
      description: doc.description,
      images: [
        {
          url: `/og?title=${encodeURIComponent(
            doc.title
          )}&description=${encodeURIComponent(doc.description)}`,
        },
      ],
      creator: "@creativetim",
    },
  }
}

export default async function Page(props: {
  params: Promise<{ slug?: string[] }>
}) {
  const params = await props.params
  const page = source.getPage(params.slug)
  if (!page) {
    notFound()
  }

  const doc = page.data
  // @ts-expect-error - revisit fumadocs types.
  const MDX = doc.body
  const neighbours = await findNeighbour(source.pageTree, page.url)

  // @ts-expect-error - revisit fumadocs types.
  const links = doc.links

  return (
    <div
      data-slot="docs"
      className="flex items-stretch text-[1.05rem] sm:text-[15px] xl:w-full"
    >
      <div className="flex min-w-0 flex-1 flex-col">
        <div className="h-(--top-spacing) shrink-0" />
        <div className="mx-auto flex w-full max-w-2xl min-w-0 flex-1 flex-col gap-8 px-4 py-6 text-neutral-800 md:px-0 lg:py-8 dark:text-neutral-300">
          <div className="flex flex-col gap-2">
            <div className="flex flex-col gap-2">
              <div className="flex items-start justify-between">
                <h1 className="scroll-m-20 text-4xl font-semibold tracking-tight sm:text-3xl xl:text-4xl">
                  {doc.title}
                </h1>
                <div className="docs-nav bg-background/80 border-border/50 fixed inset-x-0 bottom-0 isolate z-50 flex items-center gap-2 border-t px-6 py-4 backdrop-blur-sm sm:static sm:z-0 sm:border-t-0 sm:bg-transparent sm:px-0 sm:pt-1.5 sm:backdrop-blur-none">
                  <DocsCopyPage
                    // @ts-expect-error - revisit fumadocs types.
                    page={doc.content}
                    url={absoluteUrl(page.url)}
                  />
                  {neighbours.previous && (
                    <Button
                      variant="secondary"
                      size="icon"
                      className="extend-touch-target ml-auto size-8 shadow-none md:size-7"
                      asChild
                    >
                      <Link href={neighbours.previous.url}>
                        <IconArrowLeft />
                        <span className="sr-only">Previous</span>
                      </Link>
                    </Button>
                  )}
                  {neighbours.next && (
                    <Button
                      variant="secondary"
                      size="icon"
                      className="extend-touch-target size-8 shadow-none md:size-7"
                      asChild
                    >
                      <Link href={neighbours.next.url}>
                        <span className="sr-only">Next</span>
                        <IconArrowRight />
                      </Link>
                    </Button>
                  )}
                </div>
              </div>
              {doc.description && (
                <p className="text-muted-foreground text-[1.05rem] text-balance sm:text-base">
                  {doc.description}
                </p>
              )}
            </div>
            {links ? (
              <div className="flex items-center space-x-2 pt-4">
                {links?.doc && (
                  <Badge asChild variant="secondary">
                    <Link href={links.doc} target="_blank" rel="noreferrer">
                      Docs <IconArrowUpRight />
                    </Link>
                  </Badge>
                )}
                {links?.api && (
                  <Badge asChild variant="secondary">
                    <Link href={links.api} target="_blank" rel="noreferrer">
                      API Reference <IconArrowUpRight />
                    </Link>
                  </Badge>
                )}
              </div>
            ) : null}
          </div>
          <div className="w-full flex-1 *:data-[slot=alert]:first:mt-0">
            <MDX components={mdxComponents} />
          </div>
        </div>
        <div className="mx-auto hidden h-16 w-full max-w-2xl items-center gap-2 px-4 sm:flex md:px-0">
          {neighbours.previous && (
            <Button
              variant="secondary"
              size="sm"
              asChild
              className="shadow-none"
            >
              <Link href={neighbours.previous.url}>
                <IconArrowLeft /> {neighbours.previous.name}
              </Link>
            </Button>
          )}
          {neighbours.next && (
            <Button
              variant="secondary"
              size="sm"
              className="ml-auto shadow-none"
              asChild
            >
              <Link href={neighbours.next.url}>
                {neighbours.next.name} <IconArrowRight />
              </Link>
            </Button>
          )}
        </div>
      </div>
      <div className="sticky top-[calc(var(--header-height)+1px)] z-30 ml-auto hidden h-[calc(100svh-var(--footer-height)+2rem)] w-72 flex-col gap-4 overflow-hidden overscroll-none pb-8 xl:flex">
        <div className="h-(--top-spacing) shrink-0" />
        {/* @ts-expect-error - revisit fumadocs types. */}
        {doc.toc?.length ? (
          <div className="no-scrollbar overflow-y-auto px-8">
            {/* @ts-expect-error - revisit fumadocs types. */}
            <DocsTableOfContents toc={doc.toc} />
            <div className="h-12" />
          </div>
        ) : null}
        <div className="flex flex-1 flex-col gap-12 px-6">
          <DocsSidebarCta />
        </div>
      </div>
    </div>
  )
}


================================================
FILE: apps/www/app/(app)/docs/layout.tsx
================================================
import { source } from "@/lib/source"
import { DocsSidebar } from "@/components/docs-sidebar"
import { SidebarProvider } from "@/components/ui/sidebar"

export default function DocsLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <div className="container-wrapper flex flex-1 flex-col px-2">
      <SidebarProvider className="3xl:fixed:container 3xl:fixed:px-3 min-h-min flex-1 items-start px-0 [--sidebar-width:220px] [--top-spacing:0] lg:grid lg:grid-cols-[var(--sidebar-width)_minmax(0,1fr)] lg:[--sidebar-width:240px] lg:[--top-spacing:calc(var(--spacing)*4)]">
        <DocsSidebar tree={source.pageTree} />
        <div className="h-full w-full">{children}</div>
      </SidebarProvider>
    </div>
  )
}


================================================
FILE: apps/www/app/(app)/layout.tsx
================================================
import { SiteFooter } from "@/components/site-footer"
import { SiteHeader } from "@/components/site-header"

export default function AppLayout({ children }: { children: React.ReactNode }) {
  return (
    <div className="bg-background relative z-10 flex min-h-svh flex-col">
      <SiteHeader />
      <main className="flex flex-1 flex-col">{children}</main>
      <SiteFooter />
    </div>
  )
}


================================================
FILE: apps/www/app/(app)/llm/[[...slug]]/route.ts
================================================
import { notFound } from "next/navigation"
import { NextResponse, type NextRequest } from "next/server"

import { source } from "@/lib/source"

export const revalidate = false

export async function GET(
  _req: NextRequest,
  { params }: { params: Promise<{ slug: string[] }> }
) {
  const slug = (await params).slug
  const page = source.getPage(slug)

  if (!page) {
    notFound()
  }

  // @ts-expect-error - revisit fumadocs types.
  return new NextResponse(page.data.content, {
    headers: {
      "Content-Type": "text/markdown; charset=utf-8",
    },
  })
}

export function generateStaticParams() {
  return source.generateParams()
}


================================================
FILE: apps/www/app/(view)/view/[name]/page.tsx
================================================
import * as React from "react"
import { Metadata } from "next"
import { notFound } from "next/navigation"
import { registryItemSchema } from "shadcn/schema"
import { z } from "zod"

import { siteConfig } from "@/lib/config"
import { getRegistryComponent, getRegistryItem } from "@/lib/registry"
import { absoluteUrl, cn } from "@/lib/utils"

export const revalidate = false
export const dynamic = "force-static"
export const dynamicParams = false

const getCachedRegistryItem = React.cache(async (name: string) => {
  return await getRegistryItem(name)
})

export async function generateMetadata({
  params,
}: {
  params: Promise<{
    name: string
  }>
}): Promise<Metadata> {
  const { name } = await params
  const item = await getCachedRegistryItem(name)

  if (!item) {
    return {}
  }

  const title = item.name
  const description = item.description

  return {
    title: item.description,
    description,
    openGraph: {
      title,
      description,
      type: "article",
      url: absoluteUrl(`/view/${item.name}`),
      images: [
        {
          url: siteConfig.ogImage,
          width: 1200,
          height: 630,
          alt: siteConfig.name,
        },
      ],
    },
    twitter: {
      card: "summary_large_image",
      title,
      description,
      images: [siteConfig.ogImage],
      creator: "@creativetim",
    },
  }
}

export async function generateStaticParams() {
  const { Index } = await import("@/registry/__index__")
  const index = z.record(registryItemSchema).parse(Index)

  return Object.values(index)
    .filter((block) =>
      [
        "registry:block",
        "registry:component",
        "registry:example",
        "registry:internal",
      ].includes(block.type)
    )
    .map((block) => ({
      name: block.name,
    }))
}

export default async function BlockPage({
  params,
}: {
  params: Promise<{
    name: string
  }>
}) {
  const { name } = await params
  const item = await getCachedRegistryItem(name)
  const Component = getRegistryComponent(name)

  if (!item || !Component) {
    return notFound()
  }

  return (
    <>
      <div className={cn("bg-background", item.meta?.container)}>
        <Component />
      </div>
    </>
  )
}


================================================
FILE: apps/www/app/api/r/[name]/route.ts
================================================
import { existsSync, readFileSync } from "fs"
import path from "path"
import { NextRequest, NextResponse } from "next/server"

const PRIVATE_COMPONENTS = ["testimonials-03", "testimonials-04"]

export async function GET(
  request: NextRequest,
  { params }: { params: Promise<{ name: string }> }
) {
  const { name: componentName } = await params

  if (!PRIVATE_COMPONENTS.includes(componentName)) {
    return NextResponse.json(
      { error: "Component not found or not private" },
      { status: 404 }
    )
  }

  const authHeader = request.headers.get("authorization")
  const token = authHeader?.replace("Bearer ", "")

  const queryToken = request.nextUrl.searchParams.get("token")
  const apiKey = request.headers.get("x-api-key")

  const providedToken = token || queryToken || apiKey

  if (!isValidToken(providedToken)) {
    return NextResponse.json(
      {
        error: "Unauthorized",
        message:
          "Authentication required for private components. Set API_KEY in your .env.local file or provide it via Authorization header, X-API-Key header, or ?token= query parameter.",
      },
      { status: 401 }
    )
  }

  try {
    const componentPath = path.join(
      process.cwd(),
      "public",
      "r",
      `${componentName}.json`
    )

    if (!existsSync(componentPath)) {
      return NextResponse.json(
        { error: "Component not found" },
        { status: 404 }
      )
    }

    const componentData = readFileSync(componentPath, "utf-8")
    const component = JSON.parse(componentData)

    return NextResponse.json(component, {
      headers: {
        "Content-Type": "application/json",
        "Cache-Control": "private, max-age=3600",
      },
    })
  } catch (error) {
    console.error(`Error serving private component ${componentName}:`, error)
    return NextResponse.json(
      { error: "Internal server error" },
      { status: 500 }
    )
  }
}

function isValidToken(token: string | null): boolean {
  if (!token) {
    return false
  }

  const validApiKey = process.env.API_KEY

  if (!validApiKey) {
    console.warn(
      "API_KEY not set in environment variables. Private components will be inaccessible."
    )
    return false
  }

  return token === validApiKey
}


================================================
FILE: apps/www/app/layout.tsx
================================================
import type { Metadata } from "next"

import { META_THEME_COLORS, siteConfig } from "@/lib/config"
import { fontVariables } from "@/lib/fonts"
import { cn } from "@/lib/utils"
import { LayoutProvider } from "@/hooks/use-layout"
import { ActiveThemeProvider } from "@/components/active-theme"
import { Analytics } from "@/components/analytics"
import { TailwindIndicator } from "@/components/tailwind-indicator"
import { ThemeProvider } from "@/components/theme-provider"
import { Toaster } from "@/components/ui/sonner"

import "@/styles/globals.css"

export const metadata: Metadata = {
  title: {
    default: siteConfig.name,
    template: `%s | ${siteConfig.name}`,
  },
  metadataBase: new URL(process.env.NEXT_PUBLIC_APP_URL!),
  description: siteConfig.description,
  keywords: ["Creative Tim", "UI", "shadcn", "Components", "agents"],
  authors: [
    {
      name: "Creative Tim",
      url: "https://creative-tim.com",
    },
  ],
  creator: "creative-tim",
  openGraph: {
    type: "website",
    locale: "en_US",
    url:
      process.env.NEXT_PUBLIC_APP_URL! + process.env.NEXT_PUBLIC_ASSET_PREFIX,
    title: siteConfig.name,
    description: siteConfig.description,
    siteName: siteConfig.name,
    images: [
      {
        url: `${process.env.NEXT_PUBLIC_APP_URL}${process.env.NEXT_PUBLIC_ASSET_PREFIX}/opengraph-image.png`,
        width: 1200,
        height: 630,
        alt: siteConfig.name,
      },
    ],
  },
  twitter: {
    card: "summary_large_image",
    title: siteConfig.name,
    description: siteConfig.description,
    images: [
      `${process.env.NEXT_PUBLIC_APP_URL}${process.env.NEXT_PUBLIC_ASSET_PREFIX}/opengraph-image.png`,
    ],
    creator: "@creativetim",
  },
  icons: {
    icon: `${process.env.NEXT_PUBLIC_APP_URL}${process.env.NEXT_PUBLIC_ASSET_PREFIX}/favicon.ico`,
    shortcut: `${process.env.NEXT_PUBLIC_APP_URL}${process.env.NEXT_PUBLIC_ASSET_PREFIX}/favicon-16x16.png`,
    apple: `${process.env.NEXT_PUBLIC_APP_URL}${process.env.NEXT_PUBLIC_ASSET_PREFIX}/apple-touch-icon.png`,
  },
  manifest: `${process.env.NEXT_PUBLIC_APP_URL}${process.env.NEXT_PUBLIC_ASSET_PREFIX}/site.webmanifest`,
}

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode
}>) {
  return (
    <html lang="en" suppressHydrationWarning>
      <head>
        <script
          dangerouslySetInnerHTML={{
            __html: `
              try {
                if (localStorage.theme === 'dark' || ((!('theme' in localStorage) || localStorage.theme === 'system') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
                  document.querySelector('meta[name="theme-color"]').setAttribute('content', '${META_THEME_COLORS.dark}')
                }
                if (localStorage.layout) {
                  document.documentElement.classList.add('layout-' + localStorage.layout)
                }
              } catch (_) {}
            `,
          }}
        />
        <meta name="theme-color" content={META_THEME_COLORS.light} />
      </head>
      <body
        className={cn(
          "text-foreground group/body overscroll-none font-sans antialiased [--footer-height:calc(var(--spacing)*14)] [--header-height:calc(var(--spacing)*14)] xl:[--footer-height:calc(var(--spacing)*24)]",
          fontVariables
        )}
      >
        <ThemeProvider>
          <LayoutProvider>
            <ActiveThemeProvider>
              {children}
              <TailwindIndicator />
              <Toaster position="top-center" />
              <Analytics />
            </ActiveThemeProvider>
          </LayoutProvider>
        </ThemeProvider>
      </body>
    </html>
  )
}


================================================
FILE: apps/www/app/llms.txt/route.ts
================================================
import { registryCategories } from "@/registry/registry-categories"
import { registryCollections } from "@/registry/registry-collections"
import blocksMetadata from "@/registry/__blocks__.json"

const BASE_URL = "https://www.creative-tim.com/ui"

type BlockMeta = {
  name: string
  description: string
  categories: string[]
}

export async function GET() {
  const blocks = blocksMetadata as BlockMeta[]

  // Group blocks by category slug
  const byCategory: Record<string, BlockMeta[]> = {}
  for (const block of blocks) {
    for (const cat of block.categories) {
      if (!byCategory[cat]) byCategory[cat] = []
      byCategory[cat].push(block)
    }
  }

  const lines: string[] = []

  lines.push("# Creative Tim UI — Blocks & Components Library")
  lines.push(
    "> 390+ ready-to-use React/Next.js UI blocks built on shadcn/ui and Tailwind CSS."
  )
  lines.push(
    "> Built by Creative Tim — 300+ open source UI products used by 2.8 million developers over the last decade."
  )
  lines.push(
    "> Docs: https://www.creative-tim.com/ui/docs"
  )
  lines.push(
    "> API key required for PRO blocks — get one at: https://www.creative-tim.com/ui/pricing"
  )
  lines.push("")

  lines.push("## Installation")
  lines.push("")
  lines.push("### Option 1 — Creative Tim CLI (recommended)")
  lines.push("```bash")
  lines.push("# Add a block by name")
  lines.push("npx @creative-tim/ui@latest add banner-01")
  lines.push("")
  lines.push("# Add multiple blocks")
  lines.push("npx @creative-tim/ui@latest add banner-01 hero-01 navbar-with-search")
  lines.push("```")
  lines.push("")
  lines.push("### Option 2 — shadcn CLI with full registry URL")
  lines.push("```bash")
  lines.push("# Add a block via the shadcn CLI")
  lines.push(
    "npx shadcn@latest add https://www.creative-tim.com/ui/r/banner-01.json"
  )
  lines.push("```")
  lines.push("")
  lines.push(
    "Replace `banner-01` with any block name listed below."
  )
  lines.push("")

  lines.push("## AI Agent Skill")
  lines.push("")
  lines.push(
    "An agent skill is available for Claude Code, Cursor, Cline, and 40+ other AI coding agents."
  )
  lines.push(
    "It encodes Creative Tim's design philosophy, all install commands, PRO API key setup, and design rules — so agents generate blocks consistently without being told each time."
  )
  lines.push("")
  lines.push("```bash")
  lines.push("npx skills add creativetimofficial/ui")
  lines.push("```")
  lines.push("")
  lines.push(
    "Skill source: https://github.com/creativetimofficial/ui/tree/main/skills/creative-tim-ui"
  )
  lines.push(
    "Skill page: https://skills.sh/creativetimofficial/ui/creative-tim-ui"
  )
  lines.push("")

  lines.push("## Collections")
  lines.push("")
  for (const collection of registryCollections) {
    lines.push(
      `- [${collection.name}](${BASE_URL}/blocks/${collection.slug}): ${collection.description}`
    )
  }
  lines.push("")

  lines.push("## Categories & Blocks")
  lines.push("")

  const visibleCategories = registryCategories.filter((c) => !c.hidden)

  for (const category of visibleCategories) {
    const categoryBlocks = byCategory[category.slug] ?? []
    if (categoryBlocks.length === 0) continue

    // Find which collection this category belongs to
    const collection = registryCollections.find((col) =>
      col.categories.includes(category.slug)
    )
    const browsePath = collection
      ? `${BASE_URL}/blocks/${collection.slug}/${category.slug}`
      : `${BASE_URL}/blocks`

    lines.push(`### ${category.name}`)
    lines.push(`> ${category.description}`)
    lines.push(`> Browse: ${browsePath}`)
    lines.push("")

    for (const block of categoryBlocks) {
      lines.push(
        `- [${block.name}](${BASE_URL}/r/${block.name}.json): ${block.description}`
      )
    }
    lines.push("")
  }

  lines.push("## Full Registry")
  lines.push("")
  lines.push(
    `Machine-readable registry JSON: ${BASE_URL}/r/registry.json`
  )

  const text = lines.join("\n")

  return new Response(text, {
    headers: {
      "Content-Type": "text/plain; charset=utf-8",
      "Cache-Control": "public, max-age=3600, stale-while-revalidate=86400",
    },
  })
}


================================================
FILE: apps/www/app/og/geist-regular-otf.json
================================================
{"base64Font":"T1RUTwAMAIAAAwBAQ0ZGIN9uOmAAABXMAACeZkdERUZBTj+sAAC0NAAAAT5HUE9Ttn3F0QAAtXQAABvSR1NVQpIcrgQAANFIAAASlE9TLzJPyiLTAAAL3AAAAGBjbWFwrm6KhgAADtQAAAbWaGVhZCrsuiMAAADUAAAANmhoZWEM9AjIAAALuAAAACRobXR487+RWAAAAQwAAAqqbWF4cAKrUAAAAADMAAAABm5hbWU8hhcjAAAMPAAAApdwb3N0/58AMgAAFawAAAAgAABQAAKrAAAAAQAAAAEAg2zs2StfDzz1AAMD6AAAAADhcDrwAAAAAOFwOvD/0/8kCSIDuAAAAAcAAgAAAAAAAAGuAFAA+gAAAqAAFQKgABUCoAAVAqAAFQKgABUCoAAVAqAAFQKgABUCwwAVAqAAFQKgABUD0QAVAqkAXAK+ADECvgAxAr4AMQK+ADECvgAxAr4AMQK/AFwDFwAxAr8AXAMXADECXABcAlwAXAJcAFwCXABcAlwAXAJcAFwCXABcAlwAXAJcAFwCXABcAtIAMQJZADICWQAyAk8AXALFADECxQAxAsUAMQLFADECxQAxAsUAMQLFADEC8wAxAsAAXANkAFwCwABcARAAXAMSAFwBEABcARD//QEQABABEABbARAADgEQAAgBEAAwARD/4AJWAEMCVgBDAlYAQwKNAFwCjQBcAo0AXAJFAFwCRQBcAh4AXAJFAFwCaAAWA24AXALjAFwC4wBcAuMAXALjAFwC4wBcAuMAXALsADEC7AAxAuwAMQLsADEC7AAxAuwAMQLsADEC8QAxAuwAMQQ+ADECiwBcAm0AXALmADECoQBcAqEAXAKhAFwCoQBcAokAOwKJADsAvAAxAokAOwKJADsCiQA7AokAOwK2AFwCQgAZAkIAGQJCABkCQgAZAkIAGQKyAE0CsgBNArIATQKyAE0CsgBNArIATQKyAE0CsgBNArIATQKyAE0CsgBNAp4AFQOQABUDkAAVA5AAFQOQABUDkAAVAnUAGwJ3ABUCdwAVAncAFQJ3ABUCdwAVAncAFQIfABsCHwAbAh8AGwIfABsCRQBcAuMAXAKnAFwCpwBcAqcAXAKnAFwBtgAxAbYAMQG2ADEBtgAxAbYAMQG2ADEBtgAxAbYAMQG2ADECvgAxAr4AMQK+ADECvgAxAr4AMQK+ADECoAAVAr4AMQJcAFwCXABcAsUAMQEQAAEBEABTAuwAMQKyAE0DkAAVAncAFQIfABsBtgAxAbYAMQK+ADEEVgAVBGgATQJAAC8CQAAvAkAALwJAAC8CQAAvAkAALwJAAC8CQAAvAkAALwJAAC8CQAAvA6QALwJXAFACKQAvAikALwIpAC8CKQAvAikALwIpAC8CVwAvAlMALwL4AC8CjAAvAjgALwI4AC8COAAvAjgALwI4AC8COAAvAjgALwI4AC8COAAvAjgALwI4AC8CWQAyAlkAMgGPADwCVgAvAlYALwJWAC8CVgAvAlYALwJWAC8CVgAvAnoALwJGAFACPAAZAkb/8AD2AE4A9gBQAPYAUAD2//AA9gADAPYATgD2AAEB8QBOAPb/+wD2ACIA9v/TAQX/+wEF//sBBf/7AQX/+wJPAFACT//tAk8AUAEcAFABHABQAZoAUAEcAEYBegBQA24AUAJGAFACRgBQAkYAUAJGAFACRgBQAkYAUAJEAC8CRAAvAkQALwJEAC8CRAAvAkQALwJEAC8CNgAMAkQALwPEAC8CVwBQAlcAUAJXAC8BfwBQAX8AUAF/ADcBfwAbAhMALwITAC8AvAAxAhMALwITAC8CEwAvAhMALwJPAFABjQA3AY0ANwHGADcBjQA3AY0ANwJAAFACQABQAkAAUAJAAFACQABQAkAAUAJAAFACQABQAkAAUAJAAFACQABQAhoAFgM0ABYDNAAWAzQAFgM0ABYDNAAWAksALwIaABYCGgAWAhoAFgIaABYCGgAWAhoAFgImADkCJgA5AiYAOQImADkBHABGAkYAUAIyACoCMgAqAjIAKgIyACoCMgAqAjIAKgIyACoCMgAqAjIAKgIyACoCMgAqAlcALwJXAC8CVwAvAlcALwJXAC8CVwAvAlcALwJXAC8CVwAvAlcALwJXAC8BDgBcAQ4AXAGeAFABDgAnAXoAUAJAAC8CKQAvAjgALwI4AC8CVgAvAPYARgD2//QA9gBGAfEARgD2ACIBBf/7AkQALwJAAFADNAAWAhoAFgImADkCMgAqAlcALwKwADwCvQA3AoUAPAKXADwCQAAvAkQALwKgABUC5AAxAj0AFQKUADcCZQAyAqAANgGBACgCawA8AmUAMgJ8ADICcgA8AnAAPAJJACgCXAAoAnAAPANAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvAqAANgGzABkCWAAUAlgAfgJYADsCWAAqAlgAMAJYADkCWAA4AlgAOwJYABoCWAA4AlgADQPQADEDwgAxA7oAMQO9ADEDzQAxA7cAMQPAADED0AAxA8sAMQSwAKYCWACVAlgAsgJYAKACWACgAlgAhAJYAKUCWAClAlgApgJYAJ8CWACoAlgAlQJYALICWACgAlgAoAJYAIQCWAClAlgApQJYAKYCWACfAlgAqAD6AAABYgAvCWAAPgcIAD4EsAA+AMsALwDLAC8BJQBcASUAXAI9AC8A2QA2ANkANgI3AC8CNwAvAMsALwEpAC8BtAAvAXgALwHe//YB4wAoAd4AMgKCACgBtAAvA44ALwHeADIAywAvAMsALwEUADYB3v/2AwIALwDLAC8CNwAvAWQALwC4AC8AywAvAeMAKADSAC8BLABcAS0AXAJFAC8A0gAvANIALwI3AC8CNwAvANIALwI0AC8A0gAvARQALwDSAC8CNwAvANMALwGqAC8BsAAvAlYALwOSAC8CNAAvA1sALwLQAC8BOQAvATkALwGoAC8BqAAvAVEALwFRAC8BZwAvAWcALwFxAC8BcQAvAagALwGoAC8BjQAvAY0ALwIOAC8CDgAvAY8ALwGPAC8BjQAvAY0ALwFnAC8BZwAvAVEALwFRAC8BOQAvATkALwDPADEBdgAxAXYAMQF2ADEAzwAxAM8AMQIaAC8CGgAvAVAALwFQAC8BaAAxALwAMQIDADwCgQBcBLAAPgcIAD4JYAA+BwcAPgNAAC8DQAAvA5IAMQJuACgCUQAjAi4AOwNEADECWgAxAloAMQN6AFwBjAAvAPwALwF3AC8BCABcAQgAXAI7AFwCOwBcBEQAXAJYAE8DWQAxAlgANAIpAC8CSwAxAokAOwLgADsCogA7AtEALgKoAFwDBwBcAmgAOwJ3ABUCOgAvAjoALwHnAC8COgAvApQAXAI6AC8CKQAxAiUALwI6AC8COgAvAjoALwIaAC8CGgAvAeUALwGSAC8DSQAvAXsAAAKMABUCaAAZAhIAGwJjABYCVQAvAlIAWgMCAC8ESAAvAtAAMQJ2ADEDKAAxAnYAMQLQADECdgAxAygAMQJ2ADEEFgAx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Ai4CLwHIAjACJwGcAZ0BoAJdAlcCWQJbAl8CYAJeAlgCWgJcAlECPwJHAkYCMwIxAnoCfgJ7An8CfAKAAn0CgQJ5AncCeAG6AcoB+QH6AgECAgH/AgACBQIGAfsB/AIDAgQCBwIIAGEBDwHUAdkB1QHWAc4B2gILAgwBzwHTAfIB1wHcAdIB2wHYAdACCQHRAgoAAAADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAgABAQEOR2Vpc3QtUmVndWxhcgABAQEp+BEA+eMB+eQC+BgE+xEMA177cBwJIvpMBRwrGg8cLhIRqR0AAI1CEgHKAgABAAcADgAVABwAIgAoADMAPQBDAEkATwBZAGAAZwBuAHUAfACDAIkAjwCaAKEAqwCyALkAvQDIAMoA1ADbAOIA6ADzAP4BBQEMARIBGAEfASUBKwEyATUBQgFJAU8BVQFcAWIBaQFxAXwBgwGKAY4BlAGbAaIBqAG1AbwBwwHIAc4B1AHfAegB7gH5Af8CBgIMAhYCJQI0AjoCRQJQAlwCYgJtAn0CiwKaAqUCsQK9AsgCzgLZAukC9QMEAxADHgMtAzsDSgNZA2cDdgOEA5IDoAOuA70D0APkA/gEAAQIBA4EFQQcBCMEKQQvBDoERARKBFAEVgRgBGcEbgR1BHwEgwSKBJAElgShBKgEsgS5BMAExATPBNgE2gThBOgE7gT1BQAFCwUSBRkFHwUlBSwFMgU4BT8FQgVPBVYFXAViBWkFbwV2BX4FiQWQBZQFmgWhBagFrgW7BcIFyQXOBdQF2gXlBe4F9AX/BgUGDAYSBhwGKwY6BkAGSwZWBmIGcgaABosGlwajBq0GuAa+BskG1AbgBvAG/gcJBxUHIQcrBzYHPAdHB1IHXgdpB3cHhgeUB6MHsge4B8YH1AfbB+cH7Qf7CAkIFwglCDQIRwhaCGIIaghxCHgIfgiFCIsIjQiUCJsIogipCLAItwi+CMUIzAjTCNoI4QjoCO8I9gj9CQQJCwkSCRkJIAkpCTEJOAk+CUQJTAlTCVoJYAloCXAJdwl+CYUJjAmTCZoJoQmoCa8Jtgm9CcQJywnSCdkJ4AnnCe4J9Qn8CgMKCgoRChgKHwomCkcKYQp0CnsKggqJCpAKlwqeCqUKrAqzCroKwQrICs8K1grdCuQK7wr5CwcLFAsfCy4LOwtMC18LZgtyC34LiguWC6ILqQuwC7cLvgvFC8wL0wvaC+EL6AvvC/YL/QwEDAsMEgwZDCAMJwwuDDUMPAxDDEoMWgxxDI8MpwyuDLcMvgzEDMoM0QzYDN8M5gzqDPEM+Az/DQYNDg0aDSMNLg02DT4NRQ1MDVUNXA1nDW4NdQ18DYYNjQ2WDZ0Npg2tDbYNvw3GDc0N1A3bDeIN6Q3wDfcN/g4MDhMOHw4rDjoORg5UDmAObg56DogOlg6dDqMOqg6xDrgOvw7GDs0O1A7bDuIO6Q7wDvcPAA8JDxAPGw8iDykPMA83D0APRw9OD1UPXA9jD2oPeQ+FD5EPng+sD7MPug/BD8sP1w/pD/oQB0FicmV2ZXVuaTAxQ0RBbWFjcm9uQW9nb25la0NhY3V0ZUNjYXJvbkNjaXJjdW1mbGV4Q2RvdGFjY2VudERjYXJvbkRjcm9hdEVjYXJvbkVkb3RhY2NlbnRFbWFjcm9uRW9nb25la3VuaTFFQkN1bmkwMThGdW5pMDFCN3VuaTAxRUVHYnJldmVHY2Fyb25HY2lyY3VtZmxleHVuaTAxMjJHZG90YWNjZW50dW5pMUUyMHVuaTAxRTRIYmFySGNpcmN1bWZsZXhJSklkb3RhY2NlbnRJbWFjcm9uSW9nb25la0l0aWxkZXVuaTAwNEEwMzAxSmNpcmN1bWZsZXh1bmkwMUU4dW5pMDEzNkxhY3V0ZUxjYXJvbnVuaTAxM0JOYWN1dGVOY2Fyb251bmkwMTQ1RW5nT2h1bmdhcnVtbGF1dE9tYWNyb25SYWN1dGVSY2Fyb251bmkwMTU2U2FjdXRldW5pQTc4QlNjZWRpbGxhU2NpcmN1bWZsZXh1bmkwMjE4dW5pMUU5RVRiYXJUY2Fyb251bmkwMTYydW5pMDIxQVVicmV2ZVVodW5nYXJ1bWxhdXRVbWFjcm9uVW9nb25la1VyaW5nVXRpbGRlV2FjdXRlV2NpcmN1bWZsZXhXZGllcmVzaXNXZ3JhdmVZY2lyY3VtZmxleFlncmF2ZXVuaTFFRjhaYWN1dGVaZG90YWNjZW50dW5pMDEzQi5sb2NsTUFIdW5pMDE0NS5sb2NsTUFIUi5zczA0UmFjdXRlLnNzMDRSY2Fyb24uc3MwNHVuaTAxNTYuc3MwNEkuc3MwNUlhY3V0ZS5zczA1SWNpcmN1bWZsZXguc3MwNUlkaWVyZXNpcy5zczA1SWRvdGFjY2VudC5zczA1SWdyYXZlLnNzMDVJbWFjcm9uLnNzMDVJb2dvbmVrLnNzMDVJdGlsZGUuc3MwNUcuc3MwNkdicmV2ZS5zczA2R2NpcmN1bWZsZXguc3MwNnVuaTAxMjIuc3MwNkdkb3RhY2NlbnQuc3MwNnVuaTFFMjAuc3MwNkFkaWVyZXNpcy5zczA4Q2RvdGFjY2VudC5zczA4RWRpZXJlc2lzLnNzMDhFZG90YWNjZW50LnNzMDhHZG90YWNjZW50LnNzMDhJZGllcmVzaXMuc3MwOElkb3RhY2NlbnQuc3MwOE9kaWVyZXNpcy5zczA4VWRpZXJlc2lzLnNzMDhXZGllcmVzaXMuc3MwOFlkaWVyZXNpcy5zczA4WmRvdGFjY2VudC5zczA4SWRpZXJlc2lzLnNzMDUuc3MwOElkb3RhY2NlbnQuc3MwNS5zczA4R2RvdGFjY2VudC5zczA2LnNzMDhBX0kuZGxpZ1VfSS5kbGlnYWJyZXZldW5pMDFDRWFtYWNyb25hb2dvbmVrY2FjdXRlY2Nhcm9uY2NpcmN1bWZsZXhjZG90YWNjZW50ZGNhcm9uZGNyb2F0ZWNhcm9uZWRvdGFjY2VudGVtYWNyb25lb2dvbmVrdW5pMUVCRHVuaTAyNTl1bmkwMjkydW5pMDFFRmdicmV2ZWdjYXJvbmdjaXJjdW1mbGV4dW5pMDEyM2dkb3RhY2NlbnR1bmkxRTIxdW5pMDFFNWhiYXJoY2lyY3VtZmxleGkubG9jbFRSS2lqaW1hY3JvbmlvZ29uZWtpdGlsZGV1bmkwMjM3dW5pMDA2QTAzMDFqY2lyY3VtZmxleHVuaTAxRTl1bmkwMTM3bGFjdXRlbGNhcm9udW5pMDEzQ25hY3V0ZW5jYXJvbnVuaTAxNDZlbmdvaHVuZ2FydW1sYXV0b21hY3JvbnJhY3V0ZXJjYXJvbnVuaTAxNTdzYWN1dGV1bmlBNzhDc2NlZGlsbGFzY2lyY3VtZmxleHVuaTAyMTl0YmFydGNhcm9udW5pMDE2M3VuaTAyMUJ1YnJldmV1aHVuZ2FydW1sYXV0dW1hY3JvbnVvZ29uZWt1cmluZ3V0aWxkZXdhY3V0ZXdjaXJjdW1mbGV4d2RpZXJlc2lzd2dyYXZleWNpcmN1bWZsZXh5Z3JhdmV1bmkxRUY5emFjdXRlemRvdGFjY2VudHVuaTAxM0MubG9jbE1BSHVuaTAxNDYubG9jbE1BSGEuc3MwMWFhY3V0ZS5zczAxYWJyZXZlLnNzMDF1bmkwMUNFLnNzMDFhY2lyY3VtZmxleC5zczAxYWRpZXJlc2lzLnNzMDFhZ3JhdmUuc3MwMWFtYWNyb24uc3MwMWFvZ29uZWsuc3MwMWFyaW5nLnNzMDFhdGlsZGUuc3MwMWEuc3MwMmFhY3V0ZS5zczAyYWJyZXZlLnNzMDJ1bmkwMUNFLnNzMDJhY2lyY3VtZmxleC5zczAyYWRpZXJlc2lzLnNzMDJhZ3JhdmUuc3MwMmFtYWNyb24uc3MwMmFvZ29uZWsuc3MwMmFyaW5nLnNzMDJhdGlsZGUuc3MwMmwuc3MwM2xhY3V0ZS5zczAzbGNhcm9uLnNzMDN1bmkwMTNDLnNzMDNsc2xhc2guc3MwM2FkaWVyZXNpcy5zczA4Y2RvdGFjY2VudC5zczA4ZWRpZXJlc2lzLnNzMDhlZG90YWNjZW50LnNzMDhnZG90YWNjZW50LnNzMDhpLnNzMDhpZGllcmVzaXMuc3MwOGkubG9jbFRSSy5zczA4aWouc3MwOGlvZ29uZWsuc3MwOGouc3MwOG9kaWVyZXNpcy5zczA4dWRpZXJlc2lzLnNzMDh3ZGllcmVzaXMuc3MwOHlkaWVyZXNpcy5zczA4emRvdGFjY2VudC5zczA4YWRpZXJlc2lzLnNzMDEuc3MwOGFkaWVyZXNpcy5zczAyLnNzMDhmX2YubGlnYXRfdC5saWdhZmkubGlnYWZsLmxpZ2FMYW1iZGF1bmkwM0E5bGFtYmRhcGl1bmkyMTA3dW5pMjRGRnVuaTI3NzZ1bmkyNzc3dW5pMjc3OHVuaTI3Nzl1bmkyNzdBdW5pMjc3QnVuaTI3N0N1bmkyNzdEdW5pMjc3RXVuaTI0RUF1bmkyNDYwdW5pMjQ2MXVuaTI0NjJ1bmkyNDYzdW5pMjQ2NHVuaTI0NjV1bmkyNDY2dW5pMjQ2N3VuaTI0Njh6ZXJvLnNzMDlvbmUuc3MwOXplcm8udGZvbmUudGZ0d28udGZ0aHJlZS50ZmZvdXIudGZmaXZlLnRmc2l4LnRmc2V2ZW4udGZlaWdodC50Zm5pbmUudGZ1bmkyMTUzdW5pMjE1NHVuaTIxNTV1bmkyMDgwdW5pMjA4MXVuaTIwODJ1bmkyMDgzdW5pMjA4NHVuaTIwODV1bmkyMDg2dW5pMjA4N3VuaTIwODh1bmkyMDg5dW5pMjA3MHVuaTAwQjl1bmkwMEIydW5pMDBCM3VuaTIwNzR1bmkyMDc1dW5pMjA3NnVuaTIwNzd1bmkyMDc4dW5pMjA3OXVuaTAwQTB1bmkzMDAyaHlwaGVuX2h5cGhlbl9oeXBoZW5fZ3JlYXRlci5saWdhaHlwaGVuX2h5cGhlbl9ncmVhdGVyLmxpZ2FoeXBoZW5fZ3JlYXRlci5saWdhdW5pMzAwM3VuaUZGMDZ1bmlGRjBBdW5pRkYyMHVuaUZGM0N1bmlGRjFBdW5pRkYwQ3VuaUZGMDF1bmlGRjAzdW5pRkYwNXVuaUZGMEV1bmlGRjFGdW5pRkYwMnVuaUZGMDd1bmlGRjFCdW5pRkYwRnBlcmlvZC5zczA4Y29sb24uc3MwOHNlbWljb2xvbi5zczA4ZWxsaXBzaXMuc3MwOGV4Y2xhbS5zczA4ZXhjbGFtZG93bi5zczA4cXVlc3Rpb24uc3MwOHF1ZXN0aW9uZG93bi5zczA4cGVyaW9kY2VudGVyZWQuc3MwOHVuaUZGM0Z1bmlGRjFBLnNzMDh1bmlGRjAxLnNzMDh1bmlGRjBFLnNzMDh1bmlGRjFGLnNzMDh1bmlGRjFCLnNzMDh1bmkwMEFEdW5pMzAxQ3VuaUZGMER1bmkzMDA4dW5pMzAwOXVuaTMwMTB1bmkzMDExdW5pRkY1QnVuaUZGNUR1bmkzMDBDdW5pMzAwRHVuaTMwMEF1bmkzMDBCdW5pMzAxNHVuaTMwMTV1bmkzMDBFdW5pMzAwRnVuaTMwMTZ1bmkzMDE3dW5pRkYzQnVuaUZGM0R1bmlGRjA4dW5pRkYwOXVuaTBFM0ZsZXNzX2h5cGhlbi5saWdhbGVzc19oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9ncmVhdGVyLmxpZ2F1bmkyNjM5c21pbGVmYWNldW5pMjExN21pbnV0ZXNlY29uZHVuaTIxMTZ1bmkyNDBDdW5pMjNDRXVuaTI0MEJFdXJvdW5pMjBCNHVuaTIwQkR1bmkyMEI5dW5pMjBBQW5vdGVxdWFsZ3JlYXRlcmVxdWFsbGVzc2VxdWFsYXBwcm94ZXF1YWxpbmZpbml0eWludGVncmFsdW5pMjIwNnByb2R1Y3RzdW1tYXRpb25yYWRpY2FscGFydGlhbGRpZmZ1bmkwMEI1YXJyb3d1cHVuaTIxOTdhcnJvd3JpZ2h0dW5pMjE5OGFycm93ZG93bnVuaTIxOTlhcnJvd2xlZnR1bmkyMTk2YXJyb3dib3RoYXJyb3d1cGRudW5pMjE5RHVuaTIxRTR1bmkyMUU1dW5pMjFBOXVuaTIxQUF1bmkyMUIwdW5pMjFCMXVuaTIxQjN1bmkyMUI0Y2FycmlhZ2VyZXR1cm51bmkyMUU3YXJyb3d1cC5zczA3dW5pMjE5Ny5zczA3YXJyb3dyaWdodC5zczA3dW5pMjE5OC5zczA3YXJyb3dkb3duLnNzMDd1bmkyMTk5LnNzMDdhcnJvd2xlZnQuc3MwN3VuaTIxOTYuc3MwN2Fycm93Ym90aC5zczA3YXJyb3d1cGRuLnNzMDd1bmkyNUNGY2lyY2xldW5pMjVDQ2xvemVuZ2V0cmlhZ3VwdW5pMjVCNnRyaWFnZG51bmkyNUMwdW5pMjVCM3VuaTI1Qjd1bmkyNUJEdW5pMjVDMXVuaTAzMDh1bmkwMzA3Z3JhdmVjb21iYWN1dGVjb21idW5pMDMwQnVuaTAzMEMuYWx0dW5pMDMwMnVuaTAzMEN1bmkwMzA2dW5pMDMwQXRpbGRlY29tYnVuaTAzMDR1bmkwMzEydW5pMDMyNnVuaTAzMjd1bmkwMzI4dW5pMDMzNXVuaTAzMjYubG9jbE1BSHVuaTAzMDguc3MwOHVuaTAzMDcuc3MwOGRpZXJlc2lzLnNzMDhkb3RhY2NlbnQuc3MwOHVuaTAyQkN1bmkwMkI5dW5pMDJDOE51ZXZvR2xpZm9ibGFja0NpcmNsZWRibGFja0NpcmNsZWRTdHJva2Vjb3B5cmlnaHQgbWlzc2luZ0dlaXN0IFJlZ3VsYXIBAQIAAQAFABAAFgAcACIAKAA2AD4ARABrAHUAfgCHAJ8AogCvALoAwQDJANEA1gDkAO8A+wECAVABZQF7AYUBjgGTAZoBpgGwAbMBwwHLAdUB3QHkAeoCBAIQAisCRAJWAmUCcAJ4AoECjwKWAp8CpwKtArICwwLOAtsC6wLwAwYD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AAAAAAAAAAD/9gAAAAD/7AAA/+IAAP/2AAAAAP/YAAAAAP/x/+L/7AAA/9j/5//s/+z/7AAAAAAAAAAAAAAAAP+wAAAAAAAAAAD/5wAA/+cAAAAAAAD/9gAA/7oAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAD/8QAA//H/9gAA/+IAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9+/+wAFAAAABn/2P/s/7oAAAAAAAD/0//2AAAAAP/sAAAAAP+c//b/nP/i/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8f+w/+IAAAAAAAr/7AAA/84AAAAAAAAAAAAA/7oAAAAAAAAAAP+wAAD/sP/nAAAAAAAAAAD/7AAA/9gAAAAAAAD/9gAA/84AAAAAAAAAAP/iAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAP/YAAD/7AAAAAD/9gAAAAD/4gAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA/+IAAAAAAAAAAAAA/9j/2AAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7P/OAAD/9v/nAAAAAAAAAAAAAAAA//gAFAAAAAAAAAAAAAAAAAAAAAD/2AAA/+wAAP/x//EAAP/nAAD/8f/sAAAAAP/2//YAAAAA/+wAAAAAAAD/8QAAAAAAAAAAAAD/ugAA/84ABf/sAAD/2P/iAAD/9v/n//b/9v/OAAD/7AAA//sAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAD/7P/2/+IAAP/xAAAAAAAA/+L/7AAAAAAAAP/E/+L/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/sAAAAAAAA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AAEBugABAAQAAQCOAB8ABAAAAAEACAABCo4ADAADCqgAmgACABcAAgAMAAAADwAiAAsAJAAlAB8AJwAtACEALwAvACgAMQBGACkASABMAD8ATgBWAEQAWgBgAE0AYgBlAFQAZwB2AFgAeAB8AGgAfgCrAG0ArgC5AJsAuwDAAKcAxQDRAK0A0wEFALoBCQEOAO0BEAETAPMBFQEkAPcBJgEqAQcBLAFkAQwBaQFqAUUBRwqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAAB6wHsgAAB7gHvgAAB6wHsgAAB7gHvgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgAAB8QAAAAAB8QAAAAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAAB8oAAAAAB8oAAAhICE4IVAhIB9AIVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAAAB9YAAAAAB9YAAAAAB9YAAAAAB9wH6AAAB9wH6AAAB9wH6AAACE4IGAAACE4IGAAACE4IGAAACE4IGAAAB+IH6AAACB4IJAAACB4IJAAACB4IJAAACB4IJAAACB4IJAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAAB+4H9AAACFoIYAAACJwIogAAB/oIAAAAB/oIAAAAB/oIAAAAB/oIAAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAwIEgAACAwIEgAACAwIEgAACAwIEgAACAwIEgqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAAACGYIbAAACGYIbAAACGYIbAAACGYIbAAACGYIbAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACH4IhAAACH4IhAAACH4IhAAACH4IhAAACE4IGAAACB4IJAAACCoIMAAACCoIMAAACCoIMAAACCoIMAiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogqECooAAAAACJwIogg2CDwIQgg2CDwIQgAACJwIoghICE4IVAhICE4IVAAACFoIYAqwCrYKvAAACGYIbAAACHIIeAAACH4IhAiKCJAIlgiKCJAIlgAACJwIognCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgioCK4ItAAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2gi6CMAIxgAACMwAAAAACMwAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACSAAAAAACSAAAAAACSAAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCVYAAAlcCWIAAAlcCWIAAAlcCWIAAAAACWgAAAAACWgAAAAACWgAAAAACWgAAAAACSAI0gAACSAI0gAACSAI0gAACQ4JXAAACQ4JXAAACQ4JXAAACQ4JXAAACTgI2AAACN4I5AAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gjqCPAI9gAACPwJJgAACPwJJgAACPwJJgAACPwJJgAACQIJCAAACQIJCAAACQIJCAAACQIJCAAACQIJCAAACQIJCAAAAAAK4gAAAAAK4gAAAAAK4gAAAAAK4gAAAAAK4gluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegAACYAJhgAACYAJhgAACYAJhgAACYAJhgAACYAJhgAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACZIJmAAACZIJmAAACZIJmAAACZIJmAAACQ4JXAAACRQJGgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAAACSwJMgAACSwJMgAACSAJJgAACSwJMgAACTgJPgnCCcgJzgAACdQJ2glECUoJ2glECUoJ2gAACVAAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCVYAAAlcCWIAAAAACWgAAAAACdQJ2gluCXQJegAACYAJhgAACYwAAAAACZIJmAmeCaQJqgmwCbYJvAnCCcgJzgAACdQJ2gABAUICxgABAUgAAAABAZoCxgABAaAAAAABAScCxgABAWACxgABApoCxgABAd4CxgABAUgCxgABAKsCxgABAVwAAAABAXsCxgABAXsAAAABAVECxgABAV8AAAABAUsCxgABASECxgABASEAAAABATkAAAABAXICxgABAXEAAAABAUwCxgABAUwAAAABAiMAAAABAT0CxwABAT8AAAABALQAAAABAIgCxgABAIgAAAABAXYCxgABAXYAAAABAcgCxgABAcgAAAABATwCxgABATwAAAABARcCxgABARcAAAABAYUAAAABANsCxgABANsAAAABAXMCxgABAXMAAAABAtoAAAABAo4CEAABAo4AAAABAMoCEgABARYCEgABARYAAgABAScCEgABASoAAAABAPQAAAABAbcCEgABAbcAAAABAvoAAAABAq4CEAABAq4AAAABAMUCEgABAQkCEgABAQwAAAABAHoCxgABASMCEgABASMAAAABAHsCxgABAHsAAAABAIcCxgABAIcAAAABAMgCxgABAMgAAAABAW4AAAABASICEAABAR4CEgABAXYCEgABAKYAAAABAHsCEgABAIoCEgABAfAAAAABARwCEgABARwAAAABAZsCEgABAZsAAAABAQ0CEgABARQCEgABARQAAAABAeIAAAABAQwCEgABAQoAAAABAgcAAAABASECEgABAR4AAAABAh0AAwABARoCEgABARkAAAABASICEgABASIAAAAFAAAAAQAIAAEADAAcAAMAJgCGAAIAAgKCApEAAAKTApUAEAABAAMArACtAWYAEwABAUoAAQFQAAEBVgABAVwAAQFiAAEBaAABAW4AAQF0AAEBdAABAXoAAQGAAAEBhgABAYwAAgBaAAIATgAAAFQAAgBaAAEBkgABAZgAAQCrAAAAAQCzAAAAAQCPAAAAAwAIADQAZgACAA4AFAAAABoAIAAmAAECiwAAAAEBUALGAAEEJQAAAAEDewLGAAEDewAAAAIADgAUABoAIAAmACwAAQG9AAAAAQFZAsYAAQFZAAAAAQQ3AAAAAQONAsYAAQONAAAAAgAAAAAADgAAAAAAFAABAOoAAAABAhoAAAAGABAAAQAKAAAAAQAMABwAAQAiALQAAgACAoICjgAAApQClQANAAEAAQKlAA8AAAA+AAAARAAAAEoAAABQAAAAVgAAAFwAAABiAAAAaAAAAGgAAABuAAAAdAAAAHoAAACAAAAAhgAAAIwAAQCnAhIAAQBcAhIAAQCpAhIAAQBTAhIAAQCJAhIAAQBBAhIAAQC6AhIAAQC9AhIAAQCNAhIAAQDXAhIAAQCvAhIAAQBeAhIAAQC2AhIAAQBkAhIAAQAEAAEAbQISAAAAAQAAAAoCsAmaAAJERkxUAA5sYXRuAHoACgABTUFIIAA6AAD//wAVAAAADAAYACQAMAA8AFIAXgBqAHYAggCOAJoApgCyAL4AygDWAOIA7gD6AAD//wAWAAEADQAZACUAMQA9AEgAUwBfAGsAdwCDAI8AmwCnALMAvwDLANcA4wDvAPsAOgAJQVpFIABqQ1JUIACcS0FaIADOTUFIIAEATU9MIAEyTkxEIAFkUk9NIAGWVEFUIAHIVFJLIAH6AAD//wAVAAIADgAaACYAMgA+AFQAYABsAHgAhACQAJwAqAC0AMAAzADYAOQA8AD8AAD//wAWAAMADwAbACcAMwA/AEkAVQBhAG0AeQCFAJEAnQCpALUAwQDNANkA5QDxAP0AAP//ABYABAAQABwAKAA0AEAASgBWAGIAbgB6AIYAkgCeAKoAtgDCAM4A2gDmAPIA/gAA//8AFgAFABEAHQApADUAQQBLAFcAYwBvAHsAhwCTAJ8AqwC3AMMAzwDbAOcA8wD/AAD//wAWAAYAEgAeACoANgBCAEwAWABkAHAAfACIAJQAoACsALgAxADQANwA6AD0AQAAAP//ABYABwATAB8AKwA3AEMATQBZAGUAcQB9AIkAlQChAK0AuQDFANEA3QDpAPUBAQAA//8AFgAIABQAIAAsADgARABOAFoAZgByAH4AigCWAKIArgC6AMYA0gDeAOoA9gECAAD//wAWAAkAFQAhAC0AOQBFAE8AWwBnAHMAfwCLAJcAowCvALsAxwDTAN8A6wD3AQMAAP//ABYACgAWACIALgA6AEYAUABcAGgAdACAAIwAmACkALAAvADIANQA4ADsAPgBBAAA//8AFgALABcAIwAvADsARwBRAF0AaQB1AIEAjQCZAKUAsQC9AMkA1QDhAO0A+QEFAQZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZjY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5kbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsb2NsBkxsb2NsBmRsb2NsBmRsb2NsBmRsb2NsBlJsb2NsBl5sb2NsBlhsb2NsBl5sb2NsBmRsb2NsBmRvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt50bnVtBuR0bnVtBuR0bnVtBuR0bnVtBuR0bnVtBuR0bnVt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"}

================================================
FILE: apps/www/app/og/geist-semibold-otf.json
================================================
{"base64Font":"T1RUTwAMAIAAAwBAQ0ZGIHIR/08AABlsAAC8I0dERUZznnHMAADVkAAAAdZHUE9TY4mY0QAA12gAACqMR1NVQsbFMjAAAQH0AAANHE9TLzI+rl/YAAANbAAAAGBjbWFwVC6iugAAEUQAAAgGaGVhZCxmteIAAADUAAAANmhoZWENAAmoAAANSAAAACRobXR4MmWPlAAAAQwAAAw8bWF4cAMPUAAAAADMAAAABm5hbWVgE49UAAANzAAAA3Zwb3N0/58AMgAAGUwAAAAgAABQAAMPAAAAAQAAAAEzMy4X/pdfDzz1AAMD6AAAAADiJx99AAAAAOInH33/3/8ZCSIDuAAAAAcAAgAAAAAAAAHbAFgA7AAAAs4AFwLOABcCzgAXAs4AFwLOABcCzgAXAs4AFwLOABcCzgAXAs4AFwLOABcEAAAXArcAUALVACsC1QArAtUAKwLVACsC1QArAtUAKwLJAFACyQBQAxkAKwMZACsCZwBQAmcAUAJnAFACZwBQAmcAUAJnAFACZwBQAmcAUAJnAFACZwBQAugAKwJYAFAC1gArAtYAKwLWACsC1gArAtYAKwLWACsC1gArAwEAKwLOAFADBwAeAs4AUAEiAFADiwBQASIAUAEi//MBIv/uASIATgEiAAwBIgAAASIAKgEi/+kCaQA3AmkANwJpADcCrwBQAq8AUAKvAFACSgBQAkoAUAJKAFACSgBQAmwABQOGAFAC7ABQAuwAUALsAFAC7ABQAuwAUALpAFAC/AArAvwAKwL8ACsC/AArAvwAKwL8ACsC/AArAv8ALQL8ACsEUAArApgAUAJ6AFAC9gArArEAUAKxAFACsQBQArEAUAKcADUCnAA1ApwANQKcADUCnAA1ApwANQLVAFACZgAbAmYAGwJmABsCZgAbAmYAGwK7AEECuwBBArsAQQK7AEECuwBBArsAQQK7AEECuwBBArsAQQK7AEECuwBBAs0AFwPEABcDxAAXA8QAFwPEABcDxAAXArIAHAKhABcCoQAXAqEAFwKhABcCoQAXAqEAFwJCABwCQwAcAkIAHAJCABwAwAArAkoAUALsAFACugBQAroAUAK6AFACugBQAcoAKwHKACsBygArAcoAKwHKACsBygArAcoAKwHKACsBygArAs4AKwLOACsCzgArAs4AKwLOACsCzgArAs4AFwLVACsCZwBQAmcAUALWACsBIv/xASIATgL8ACsCuwBBA8QAFwKhABcCQgAcAcoAKwHKACsCzgArBJcAFwSEAEECVgApAlYAKQJWACkCVgApAlYAKQJWACkCVgApAlYAKQJWACkCVgApAlYAKQO6ACkCbwBGAkkAKQJJACkCSQApAkkAKQJJACkCSQApAm8AKQKLACkCpgApAl8AKQJTACkCUwApAlMAKQJTACkCUwApAlMAKQJTACkCUwApAlMAKQJTACkCUwApAbAAMgJvACkCbwApAm8AKQJvACkCbwApAm8AKQJvACkCkQApAlkARgJ1ADICWf/oAQ0ARAENAEYBDQBGAQ3/6AEN/+MBDQBEAQ0AAgEN//YBDQAfAQ3/3wI3AEQBNP/9ATT//QE0//0BNP/9AnQARgJ0/+gCdABGAToARgE6AEYBQABGAToARgFAAAADfABGAlkARgJZAEYCWQBGAlkARgJZAEYCWQBGAl8AKQJfACkCXwApAl8AKQJfACkCXwApAl8AKQJQABoCXwApA+AAKQJvAEYCaABGAm8AKQGcAEYBnABGAZwAPQGcAEECMAApAjAAKQIwACkCMAApAjAAKQIwACkCewBGAa0ALQGtAC0BrQAtAa0ALQGtAC0CVQBGAlUARgJVAEYCVQBGAlUARgJVAEYCVQBGAlUARgJVAEYCVQBGAlUARgJJABYDRwAWA0cAFgNHABYDRwAWA0cAFgJ1AC8COgAWAjoAFgI6ABYCOgAWAjoAFgI6ABYCRAA5AkQAOQJEADkCRAA5AMEAKwE6AEYCWQBGAkoAJAJKACQCSgAkAkoAJAJKACQCSgAkAkoAJAJKACQCSgAkAkoAJAJKACQCbwApAm8AKQJvACkCbwApAm8AKQJvACkCbwApAm8AKQJvACkCbwApAm8AKQEgAFABIABQATcATgEgAEoBlQBGAlYAKQJJACkCUwApAlMAKQJvACkBDQBEAQ3/5wENAEQBDQAfAioARAE0//0CXwApAlUARgNHABYCOgAWAkQAOQJKACQCbwApAwAAMgK9ADIC2AAyAwoALQGuACsBrgArAs4AFwKiAFACtwBQAmUAUAJlAFACMwBQApoAPANHADICZwBQAmcAUAJnAFAEAAAcAqUALwLpAE0C6QBNAq0AUAKtAFADCAA3A4YAUALJAFAC/AArAskAUAKYAFACzwArAmYAGwJUABcCVAAXA1kAKwKxABwCmQAlAx0AUAO4AFAECgBQAskAUAKiAFADhwBQAu4APASIADcESQBQApwANQLyACwC8gArASIAUAEi/+8CaQA3AxoAGwQIAFACugA1Ax0AGwLrADIC8gAcAvwAKwL8ABcEHwAcAtYAUAMIAFACoQAXAqIAFwLgABwC2QAlApkAUAEiAFAC6AArAukATQL8ACsCVAAXAlwAKQJxACsCYgBGAfAARgHwAEYBxwBGAh8AMgLUACUCVAApAlQAKQJUACkDtAAvAioAHgJMAEYCTABGAkwARgJ4AEYCeABGAqcAMgLjAEYCUgBGAl8AKQJbAEYCbwBGAkkAKQJDACkCOgAWAjoAFgK8ACkCdQAvAnkARgK0AEYDRgBGA5gARgJbAEYCWgBGA00ARgKaADID9AAyA58ARgIwACkCVwApAlcAKQENAEQBDf/lATT//QJ1ADIDRwBGAmUARgKAADICswAyAuMALwJfACkCbwAWA8EALwKOAEYCqQBGAkkAFgJJABYCmwAvAr4ARgJZAEYBIABQAlMAKQJMAEYCXwApAjoAFgLIABcC9AArAnAAFwKbAC0CVQAlArAAMAGrACYCggA7An8ALwKZAC8CkAA5AogAOQJQACUChgAlAosAOQM1ACkDNQApAzUAKQM1ACkDNQApAzUAKQM1ACkDNQApAzUAKQM1ACkDSQApA0kAKQNJACkDSQApA0kAKQNJACkDSQApA0kAKQNJACkDSQApArAAMAHoABsCdQAWAnUAcQJ1AEACdQArAnUAKwJ1ADkCdQA7AnUAQAJ1ABMCdQA5AlgADANFACsDLQArA2gAKwMNACsDOgArA2AAKwM3ACsDagArA1kAKwM0ACsBkwAtAQ4AHgFqAC0BfAAtAX8AKwFtAC0BawAtAUsAHgF/AC0BcAAtAZMALQEOAB4BagAtAXwALQF/ACsBbQAtAWsALQFLAB4BfwAtAXAALQDsAAAJYAA+BwgAPgSwAD4A5QApAOUAKQEyAFABMgBQApIAKQDzADAA8wAwAkkAKQJJACkA5QApAUIAKQGtACkBhwApAij//wH8ACIB+gArAOMAKQEwAFABNwBQAn4AKQDnAC4A5wAuAkkAKQJJACkA4wApAaYAKQJWACkDkgApAjQAKQNgACkBQgAsAUIAHAGhACsBoQAcAYcAUAGHABwBfwApAX8AKgFrACoBawApAYQAKQGEACkCVgApAlYAKgGKACoBigApAYIAKQGCACoBcwApAXMAKQDnACoBsAArAbAAKwGvACsA6QArAOcAKgJoACoCaAApAXQAKgF0ACkBdwArAMIAKwIMADIClgBQBLAAPgcIAD4JYAA+BwcAPgNJACkDSQApAlgACAOxACsCqAAlAnkAIwJLADUDOQArAk8AKwJPACsDdgBQAZgAKQEBACkBtAAqARwAUAEcAFACQABQAkMAUAROAFACWABMA3YAKwJYADECSQApAkMAKwKcADUC4QA1Ar0ANQLWACoCuwBQA0YAUAJ8ADUCoQAXAi8AKQIvACkB8AAqAi8AKQJ8AFACLwApAiEAKwIdACkCLwApAi8AKgJAACkCDgApAg4AKQHaACkBnQApA1gAKQGrAAkCkwAXAqkAGwIkABwCmgAWAmQAKQJoAFMDMAApBHwAKQLFACsCeQArAx0AKwJ6ACwCxQArAnoAKwMdACwCeQAsBCwAKwLFACwCiQArApwAKwKcACsCkwArApMAKwKWACsClgArApYAKwKYACsClgArA14AFwHOACsCYQAsAvsAKwJhACwBzgArAmEAKwL7ACsCYQAsA1wAKwHOACwDSQArA0kAKwNJACsCPgArA2IAFwMuAFADYgAXAy4AFwNiABcDLgBQA2IAFwMuABcAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAA3AAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAABsAAAAKQAAACkBmQApANgAKQEQACkBEAApAbIAKQGOACkBjgApAYEAKQEZACkBoAApAXQAKQFJACkBHgApAY4AKQDXACkA5gA3AQEAKQC+ACkDNQApA0kAKQABAAADmP8kAGQJYP/f/hQJIgABAAAAAAAAAAAAAAAAAAADDwAEAmoCWAAFAAgCigJYAAAASwKKAlgAAAFeADIBCQAAAAAAAAAAAAAAAKEAAv9AAeX7AAAAAAAAAABWUkNMAMAAIPsCA5j/JABkA9ABBiAAAJcAAAAAAhYCxgAAACAABAAAABUBAgADAAEECQABABwAAAADAAEECQACAA4AHAADAAEECQADADIAKgADAAEECQAEABwAAAADAAEECQAFAD4AXAAD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AAAAAAAAAAAD6AAAAAAAAAAAAAAD4AAAA+AAAAAAAAAD3APeA+AD4gPkAAAAAAAAAAAD4APyAAAD9gAAAAAAAAABAkMCegJLApoCuQKGAnsCXAJdAkkCogI/AlcCPgJMAkACQQKpAqYCqAJFAoUAAgAOAA8AFQAZACQAJQAtADAAOgA9AEAARQBGAEwAVgBYAFkAXQBkAGkAdAB1AHoAewCBAmACTQJhArACWgL9AKwAuAC5AL8AwwDOAM8A1wDaAOUA6QDsAPEA8gD4AQIBBAEFAQkBEAEVASABIQEmAScBLQJeApACXwKuAjoCRAKYAqACmQKhApECiAL7AokBZQJ2Aq8CigMFAo0CrAIyAjMC/gK4AocCRwMGAjEBZgJ3Ah8CHAIgAkYACAADAAYADAAHAAsADQASAB8AGgAcAB0ANgAyADMANAAYAEoAUABNAE4AVABPAqQAUwBuAGoAbABtAHwAVwEPALIArQCwALYAsQC1ALcAvADJAMQAxgDHAOAA3ADdAN4AwgD2APwA+QD6AQAA+wKlAP8BGgEWARgBGQEoAQMBKgAJALMABACuAAoAtAAQALoAEwC9ABQAvgARALsAFgDAABcAwQAgAMoAHgDIACEAywAbAMUAKADSACYA0AAqANQAKQDTAC8A2QAuANgAOQDjADcA4QA4AOIANQDbADEA5AA8AOgAPwDrAEEA7QBDAO8AQgDuAEQA8ABHAPMASQD1AEgA9ABLAPcAUgD+AFEA/QBVAQEAWgEGAFwBCABbAQcAXgEKAGEBDQBgAQwAXwELAGcBEwBmARIAZQERAHMBHwBwARwAawEXAHIBHgBvARsAcQEdAHcBIwB9ASkAfgCCAS4AhAEwAIMBLwAFAK8ALADWACcA0QA+AOoAYgEOAGgBFAMAAwEDDAMCAvwDAwMHAwQC/wLpAuoC7QLxAvIC7wLoAucC8ALrAu4BcAFxAZcBawGPAY4BkQGSAZMBjAGNAZQBdwGBAYgBZwFoAWkBagFuAW8BcgFzAXQBdQF2AYIBgwGFAYQBhgGHAYsBigGJAZABlQGWAbABsQG5AcUBxgHIAccByQHKAc4BzQHMAdMB2AHZAbIBswHaAa0B0gHRAdQB1QHWAc8B0AHXAboBuAHEAcsBmAHbAZkB3AGaAd0BmwHeAWwBrgFtAa8BnAHfAZ0B4AGeAeEBnwHi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aHVuZ2FydW1sYXV0VW1hY3JvblVvZ29uZWtVcmluZ1V0aWxkZVdhY3V0ZVdjaXJjdW1mbGV4V2RpZXJlc2lzV2dyYXZlWWNpcmN1bWZsZXhZZ3JhdmV1bmkxRUY4WmFjdXRlWmRvdGFjY2VudHVuaUE3OEJ1bmkwMTNCLmxvY2xNQUh1bmkwMTQ1LmxvY2xNQUhSLnNzMDRSYWN1dGUuc3MwNFJjYXJvbi5zczA0dW5pMDE1Ni5zczA0SS5zczA1SWFjdXRlLnNzMDVJY2lyY3VtZmxleC5zczA1SWRpZXJlc2lzLnNzMDVJZG90YWNjZW50LnNzMDVJZ3JhdmUuc3MwNUltYWNyb24uc3MwNUlvZ29uZWsuc3MwNUl0aWxkZS5zczA1Ry5zczA2R2JyZXZlLnNzMDZHY2lyY3VtZmxleC5zczA2dW5pMDEyMi5zczA2R2RvdGFjY2VudC5zczA2dW5pMUUyMC5zczA2QWRpZXJlc2lzLnNzMDhDZG90YWNjZW50LnNzMDhFZGllcmVzaXMuc3MwOEVkb3RhY2NlbnQuc3MwOEdkb3RhY2NlbnQuc3MwOElkaWVyZXNpcy5zczA4SWRvdGFjY2VudC5zczA4T2RpZXJlc2lzLnNzMDhVZGllcmVzaXMuc3MwOFdkaWVyZXNpcy5zczA4WWRpZXJlc2lzLnNzMDhaZG90YWNjZW50LnNzMDhJZGllcmVzaXMuc3MwNS5zczA4SWRvdGFjY2VudC5zczA1LnNzMDhHZG90YWNjZW50LnNzMDYuc3MwOEFfSS5kbGlnVV9JLmRsaWdhYnJldmV1bmkwMUNFYW1hY3JvbmFvZ29uZWtjYWN1dGVjY2Fyb25jY2lyY3VtZmxleGNkb3RhY2NlbnRkY2Fyb25kY3JvYXRlY2Fyb25lZG90YWNjZW50ZW1hY3JvbmVvZ29uZWt1bmkxRUJEdW5pMDI1OWdicmV2ZWdjYXJvbmdjaXJjdW1mbGV4dW5pMDEyM2dkb3RhY2NlbnR1bmkxRTIxdW5pMDFFNWhiYXJoY2lyY3VtZmxleGkubG9jbFRSS2ltYWNyb25pb2dvbmVraXRpbGRlaWp1bmkwMjM3dW5pMDA2QTAzMDFqY2lyY3VtZmxleHVuaTAxRTl1bmkwMTM3bGFjdXRlbGNhcm9udW5pMDEzQ25hY3V0ZW5jYXJvbnVuaTAxNDZlbmdvaHVuZ2FydW1sYXV0b21hY3JvbnJhY3V0ZXJjYXJvbnVuaTAxNTdzYWN1dGVzY2VkaWxsYXNjaXJjdW1mbGV4dW5pMDIxOXRiYXJ0Y2Fyb251bmkwMTYzdW5pMDIxQnVicmV2ZXVodW5nYXJ1bWxhdXR1bWFjcm9udW9nb25la3VyaW5ndXRpbGRld2FjdXRld2NpcmN1bWZsZXh3ZGllcmVzaXN3Z3JhdmV5Y2lyY3VtZmxleHlncmF2ZXVuaTFFRjl6YWN1dGV6ZG90YWNjZW50dW5pQTc4Q3VuaTAxM0MubG9jbE1BSHVuaTAxNDYubG9jbE1BSGEuc3MwMWFhY3V0ZS5zczAxYWJyZXZlLnNzMDF1bmkwMUNFLnNzMDFhY2lyY3VtZmxleC5zczAxYWRpZXJlc2lzLnNzMDFhZ3JhdmUuc3MwMWFtYWNyb24uc3MwMWFvZ29uZWsuc3MwMWFyaW5nLnNzMDFhdGlsZGUuc3MwMWEuc3MwMmFhY3V0ZS5zczAyYWJyZXZlLnNzMDJ1bmkwMUNFLnNzMDJhY2lyY3VtZmxleC5zczAyYWRpZXJlc2lzLnNzMDJhZ3JhdmUuc3MwMmFtYWNyb24uc3MwMmFvZ29uZWsuc3MwMmFyaW5nLnNzMDJhdGlsZGUuc3MwMmwuc3MwM2xhY3V0ZS5zczAzbGNhcm9uLnNzMDN1bmkwMTNDLnNzMDNsc2xhc2guc3MwM2FkaWVyZXNpcy5zczA4Y2RvdGFjY2VudC5zczA4ZWRpZXJlc2lzLnNzMDhlZG90YWNjZW50LnNzMDhnZG90YWNjZW50LnNzMDhpLnNzMDhpZGllcmVzaXMuc3MwOGkubG9jbFRSSy5zczA4aW9nb25lay5zczA4aWouc3MwOGouc3MwOG9kaWVyZXNpcy5zczA4dWRpZXJlc2lzLnNzMDh3ZGllcmVzaXMuc3MwOHlkaWVyZXNpcy5zczA4emRvdGFjY2VudC5zczA4YWRpZXJlc2lzLnNzMDEuc3MwOGFkaWVyZXNpcy5zczAyLnNzMDhmX2YubGlnYXRfdC5saWdhdW5pMDQxMHVuaTA0MTF1bmkwNDEydW5pMDQxM3VuaTA0MDN1bmkwNDkwdW5pMDQ5MnVuaTA0MTR1bmkwNDE1dW5pMDQwMHVuaTA0MDF1bmkwNDE2dW5pMDQxN3VuaTA0MTh1bmkwNDE5dW5pMDQxQXVuaTA0MEN1bmkwNDFCdW5pMDQxQ3VuaTA0MUR1bmkwNDFFdW5pMDQxRnVuaTA0MjB1bmkwNDIxdW5pMDQyMnVuaTA0MjN1bmkwNDBFdW5pMDQyNHVuaTA0MjV1bmkwNDI3dW5pMDQyNnVuaTA0Mjh1bmkwNDI5dW5pMDQwRnVuaTA0MkN1bmkwNDJCdW5pMDQyQXVuaTA0MDl1bmkwNDBBdW5pMDQwNXVuaTA0MDR1bmkwNDJEdW5pMDQwNnVuaTA0MDd1bmkwNDA4dW5pMDQwQnVuaTA0MkV1bmkwNDJGdW5pMDQwMnVuaTA0NjJ1bmkwNDZBdW5pMDQ3MnVuaTA0NzR1bmkwNDk2dW5pMDQ5QXVuaTA0QTJ1bmkwNEFFdW5pMDRCMHVuaTA0QjJ1bmkwNEI2dW5pMDRCQXVuaTA0QzB1bmkwNEQ4dW5pMDRFMnVuaTA0RTh1bmkwNEVFdW5pMDQzMHVuaTA0MzF1bmkwNDMydW5pMDQzM3VuaTA0NTN1bmkwNDkxdW5pMDQ5M3VuaTA0MzR1bmkwNDM1dW5pMDQ1MHVuaTA0NTF1bmkwNDM2dW5pMDQzN3VuaTA0Mzh1bmkwNDM5dW5pMDQ1RHVuaTA0M0F1bmkwNDVDdW5pMDQzQnVuaTA0M0N1bmkwNDNEdW5pMDQzRXVuaTA0M0Z1bmkwNDQwdW5pMDQ0MXVuaTA0NDJ1bmkwNDQzdW5pMDQ1RXVuaTA0NDR1bmkwNDQ1dW5pMDQ0N3VuaTA0NDZ1bmkwNDQ4dW5pMDQ0OXVuaTA0NUZ1bmkwNDRDdW5pMDQ0QnVuaTA0NEF1bmkwNDU5dW5pMDQ1QXVuaTA0NTV1bmkwNDU0dW5pMDQ0RHVuaTA0NTZ1bmkwNDU3dW5pMDQ1OHVuaTA0NUJ1bmkwNDRFdW5pMDQ0RnVuaTA0NTJ1bmkwNDYzdW5pMDQ2QnVuaTA0NzN1bmkwNDc1dW5pMDQ5N3VuaTA0OUJ1bmkwNEEzdW5pMDRBRnVuaTA0QjF1bmkwNEIzdW5pMDRCN3VuaTA0QkJ1bmkwNENGdW5pMDREOXVuaTA0RTN1bmkwNEU5dW5pMDRFRkxhbWJkYXVuaTAzQTlsYW1iZGFwaXVuaTIxMDd1bmkyNEZGdW5pMjc3NnVuaTI3Nzd1bmkyNzc4dW5pMjc3OXVuaTI3N0F1bmkyNzdCdW5pMjc3Q3VuaTI3N0R1bmkyNzdFdW5pMjRFQXVuaTI0NjB1bmkyNDYxdW5pMjQ2MnVuaTI0NjN1bmkyNDY0dW5pMjQ2NXVuaTI0NjZ1bmkyNDY3dW5pMjQ2OHplcm8uc3MwOW9uZS5zczA5emVyby50Zm9uZS50ZnR3by50ZnRocmVlLnRmZm91ci50ZmZpdmUudGZzaXgudGZzZXZlbi50ZmVpZ2h0LnRmbmluZS50ZnVuaTIxNTN1bmkyMTU0dW5pMjE1NXVuaTIwODB1bmkyMDgxdW5pMjA4MnVuaTIwODN1bmkyMDg0dW5pMjA4NXVuaTIwODZ1bmkyMDg3dW5pMjA4OHVuaTIwODl1bmkyMDcwdW5pMDBCOXVuaTAwQjJ1bmkwMEIzdW5pMjA3NHVuaTIwNzV1bmkyMDc2dW5pMjA3N3VuaTIwNzh1bmkyMDc5dW5pMDBBMGh5cGhlbl9oeXBoZW5faHlwaGVuX2dyZWF0ZXIubGlnYWh5cGhlbl9oeXBoZW5fZ3JlYXRlci5saWdhaHlwaGVuX2dyZWF0ZXIubGlnYXVuaTMwMDNwZXJpb2Quc3MwOGNvbG9uLnNzMDhzZW1pY29sb24uc3MwOGVsbGlwc2lzLnNzMDhleGNsYW0uc3MwOGV4Y2xhbWRvd24uc3MwOHF1ZXN0aW9uLnNzMDhxdWVzdGlvbmRvd24uc3MwOHBlcmlvZGNlbnRlcmVkLnNzMDh1bmkzMDFDdW5pMzAwOHVuaTMwMDl1bmkzMDEwdW5pMzAxMXVuaTMwMEN1bmkzMDBEdW5pMzAwQXVuaTMwMEJ1bmkzMDE0dW5pMzAxNXVuaTMwMEV1bmkzMDBGdW5pMzAxNnVuaTMwMTd1bmkwRTNGbGVzc19oeXBoZW4ubGlnYWxlc3NfaHlwaGVuX2h5cGhlbi5saWdhbGVzc19oeXBoZW5faHlwaGVuX2h5cGhlbi5saWdhbGVzc19oeXBoZW5fZ3JlYXRlci5saWdhdW5pMjYzOXNtaWxlZmFjZXVuaUY4RkZ1bmkyMTE3bWludXRlc2Vjb25kdW5pMjExNnVuaTI0MEN1bmkyM0NFdW5pMjQwQkV1cm91bmkyMEI0dW5pMjBCRHVuaTIwQjl1bmkyMEFBbm90ZXF1YWxncmVhdGVyZXF1YWxsZXNzZXF1YWxhcHByb3hlcXVhbGluZmluaXR5aW50ZWdyYWx1bmkyMjA2cHJvZHVjdHN1bW1hdGlvbnJhZGljYWxwYXJ0aWFsZGlmZnVuaTAwQjVhcnJvd3VwdW5pMjE5N2Fycm93cmlnaHR1bmkyMTk4YXJyb3dkb3dudW5pMjE5OWFycm93bGVmdHVuaTIxOTZhcnJvd2JvdGhhcnJvd3VwZG51bmkyMTlEdW5pMjFFNHVuaTIxRTV1bmkyMUE5dW5pMjFBQXVuaTIxQjB1bmkyMUIxdW5pMjFCM3VuaTIxQjRjYXJyaWFnZXJldHVybnVuaTIxRTdhcnJvd3VwLnNzMDd1bmkyMTk3LnNzMDdhcnJvd3JpZ2h0LnNzMDd1bmkyMTk4LnNzMDdhcnJvd2Rvd24uc3MwN3VuaTIxOTkuc3MwN2Fycm93bGVmdC5zczA3dW5pMjE5Ni5zczA3YXJyb3dib3RoLnNzMDdhcnJvd3VwZG4uc3MwN3VuaTI1Q0ZjaXJjbGV1bmkyNUNDbG96ZW5nZXRyaWFndXB1bmkyNUI2dHJpYWdkbnVuaTI1QzB1bmkyNUIzdW5pMjVCN3VuaTI1QkR1bmkyNUMxdW5pMDMwNi5jeXVuaTAzMDh1bmkwMzA3Z3JhdmVjb21iYWN1dGVjb21idW5pMDMwQnVuaTAzMEMuYWx0dW5pMDMwMnVuaTAzMEN1bmkwMzA2dW5pMDMwQXRpbGRlY29tYnVuaTAzMDR1bmkwMzEydW5pMDMyNnVuaTAzMjYubG9jbE1BSHVuaTAzMjd1bmkwMzI4dW5pMDMzNXVuaTAzMDguc3MwOHVuaTAzMDcuc3MwOGRpZXJlc2lzLnNzMDhkb3RhY2NlbnQuc3MwOHVuaTAyQkN1bmkwMkI5dW5pMDJDOGJsYWNrQ2lyY2xlZGJsYWNrQ2lyY2xlZFN0cm9rZTAwMS4yMDBjb3B5cmlnaHQgbWlzc2luZ0dlaXN0IFNlbWlCb2xkU2VtaUJvbGQA6QIAAQAMABEAFgAcADEAPABEAEgATgB1AH4AgQCHAIwAkQCUAJkAngC0ALgAwwEMARMBGwEgASgBMAFcAWABdQGCAYoBkQGYAaIBqwH2AhUCLwJFAk8CVAJbAmECkAKpAsAC0QLcAuYC7QL0AwADBgMlAysDLwNBA04D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
Download .txt
gitextract_1snzxphn/

├── .commitlintrc.json
├── .editorconfig
├── .eslintignore
├── .eslintrc.json
├── .gitignore
├── .kodiak.toml
├── .prettierignore
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── apps/
│   └── www/
│       ├── .env.example
│       ├── .gitignore
│       ├── .prettierignore
│       ├── app/
│       │   ├── (app)/
│       │   │   ├── (root)/
│       │   │   │   └── page.tsx
│       │   │   ├── blocks/
│       │   │   │   ├── [...categories]/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── layout.tsx
│       │   │   │   └── page.tsx
│       │   │   ├── docs/
│       │   │   │   ├── [[...slug]]/
│       │   │   │   │   └── page.tsx
│       │   │   │   └── layout.tsx
│       │   │   ├── layout.tsx
│       │   │   └── llm/
│       │   │       └── [[...slug]]/
│       │   │           └── route.ts
│       │   ├── (view)/
│       │   │   └── view/
│       │   │       └── [name]/
│       │   │           └── page.tsx
│       │   ├── api/
│       │   │   └── r/
│       │   │       └── [name]/
│       │   │           └── route.ts
│       │   ├── layout.tsx
│       │   ├── llms.txt/
│       │   │   └── route.ts
│       │   └── og/
│       │       ├── geist-regular-otf.json
│       │       ├── geist-semibold-otf.json
│       │       ├── geistmono-regular-otf.json
│       │       └── route.tsx
│       ├── components/
│       │   ├── active-theme.tsx
│       │   ├── analytics.tsx
│       │   ├── announcement.tsx
│       │   ├── block-display.tsx
│       │   ├── block-image.tsx
│       │   ├── block-viewer.tsx
│       │   ├── blocks-nav.tsx
│       │   ├── blur-vignette.tsx
│       │   ├── callout.tsx
│       │   ├── cards/
│       │   │   ├── activity-goal.tsx
│       │   │   ├── calendar.tsx
│       │   │   ├── cookie-settings.tsx
│       │   │   ├── create-account.tsx
│       │   │   ├── forms.tsx
│       │   │   ├── index.tsx
│       │   │   ├── payment-method.tsx
│       │   │   ├── payments.tsx
│       │   │   ├── report-issue.tsx
│       │   │   ├── share.tsx
│       │   │   └── software-purchase.tsx
│       │   ├── chart-code-viewer.tsx
│       │   ├── chart-copy-button.tsx
│       │   ├── chart-display.tsx
│       │   ├── chart-toolbar.tsx
│       │   ├── charts-nav.tsx
│       │   ├── code-block-command.tsx
│       │   ├── code-collapsible-wrapper.tsx
│       │   ├── code-tabs.tsx
│       │   ├── command-menu.tsx
│       │   ├── component-preview-tabs.tsx
│       │   ├── component-preview.tsx
│       │   ├── component-source.tsx
│       │   ├── component-wrapper.tsx
│       │   ├── components-list.tsx
│       │   ├── copy-button.tsx
│       │   ├── docs-breadcrumb.tsx
│       │   ├── docs-copy-page.tsx
│       │   ├── docs-sidebar-cta.tsx
│       │   ├── docs-sidebar.tsx
│       │   ├── docs-toc.tsx
│       │   ├── examples-nav.tsx
│       │   ├── examples-preview.tsx
│       │   ├── github-link.tsx
│       │   ├── icons.tsx
│       │   ├── main-nav.tsx
│       │   ├── mobile-nav.tsx
│       │   ├── mode-switcher.tsx
│       │   ├── nav-header.tsx
│       │   ├── nav-user.tsx
│       │   ├── open-in-v0-button.tsx
│       │   ├── page-header.tsx
│       │   ├── page-nav.tsx
│       │   ├── showcase-masonry.tsx
│       │   ├── site-config.tsx
│       │   ├── site-footer.tsx
│       │   ├── site-header.tsx
│       │   ├── tailwind-indicator.tsx
│       │   ├── testimonials-section.tsx
│       │   ├── theme-provider.tsx
│       │   ├── theme-selector.tsx
│       │   └── ui/
│       │       ├── accordion.tsx
│       │       ├── alert-dialog.tsx
│       │       ├── alert.tsx
│       │       ├── aspect-ratio.tsx
│       │       ├── avatar.tsx
│       │       ├── badge.tsx
│       │       ├── breadcrumb.tsx
│       │       ├── button.tsx
│       │       ├── calendar.tsx
│       │       ├── card.tsx
│       │       ├── carousel.tsx
│       │       ├── chart.tsx
│       │       ├── checkbox.tsx
│       │       ├── collapsible.tsx
│       │       ├── command.tsx
│       │       ├── context-menu.tsx
│       │       ├── dialog.tsx
│       │       ├── drawer.tsx
│       │       ├── dropdown-menu.tsx
│       │       ├── form.tsx
│       │       ├── hover-card.tsx
│       │       ├── input-otp.tsx
│       │       ├── input.tsx
│       │       ├── label.tsx
│       │       ├── menubar.tsx
│       │       ├── navigation-menu.tsx
│       │       ├── pagination.tsx
│       │       ├── popover.tsx
│       │       ├── progress.tsx
│       │       ├── radio-group.tsx
│       │       ├── resizable.tsx
│       │       ├── scroll-area.tsx
│       │       ├── select.tsx
│       │       ├── separator.tsx
│       │       ├── sheet.tsx
│       │       ├── sidebar.tsx
│       │       ├── skeleton.tsx
│       │       ├── slider.tsx
│       │       ├── software-purchase-card.tsx
│       │       ├── sonner.tsx
│       │       ├── switch.tsx
│       │       ├── table.tsx
│       │       ├── tabs.tsx
│       │       ├── textarea.tsx
│       │       ├── toggle-group.tsx
│       │       ├── toggle.tsx
│       │       └── tooltip.tsx
│       ├── components.json
│       ├── content/
│       │   └── docs/
│       │       ├── (root)/
│       │       │   ├── components.mdx
│       │       │   ├── debug-logs.mdx
│       │       │   ├── how-it-works.mdx
│       │       │   ├── index.mdx
│       │       │   ├── meta.json
│       │       │   └── registry.mdx
│       │       ├── components/
│       │       │   ├── card.mdx
│       │       │   ├── index.mdx
│       │       │   └── software-purchase-card.mdx
│       │       └── meta.json
│       ├── docs/
│       │   └── private-registry.md
│       ├── eslint.config.mjs
│       ├── hooks/
│       │   ├── use-config.ts
│       │   ├── use-copy-to-clipboard.ts
│       │   ├── use-is-mac.ts
│       │   ├── use-layout.tsx
│       │   ├── use-media-query.tsx
│       │   ├── use-meta-color.ts
│       │   ├── use-mobile.ts
│       │   ├── use-mounted.ts
│       │   └── use-mutation-observer.ts
│       ├── lib/
│       │   ├── analytics.ts
│       │   ├── auth.ts
│       │   ├── blocks.ts
│       │   ├── config.ts
│       │   ├── events.ts
│       │   ├── fonts.ts
│       │   ├── highlight-code.ts
│       │   ├── registry.ts
│       │   ├── rehype.ts
│       │   ├── session.ts
│       │   ├── source.ts
│       │   ├── themes.ts
│       │   └── utils.ts
│       ├── mdx-components.tsx
│       ├── middleware.ts
│       ├── next.config.mjs
│       ├── package.json
│       ├── postcss.config.mjs
│       ├── public/
│       │   ├── r/
│       │   │   ├── accordion.json
│       │   │   ├── account-2fa-01.json
│       │   │   ├── account-avatar-upload-01.json
│       │   │   ├── account-basic-info-01.json
│       │   │   ├── account-change-password-01.json
│       │   │   ├── account-integrations-01.json
│       │   │   ├── account-notifications-01.json
│       │   │   ├── account-sessions-01.json
│       │   │   ├── ai-chat-streaming-01.json
│       │   │   ├── ai-image-generator-01.json
│       │   │   ├── ai-video-generator-01.json
│       │   │   ├── alert-dialog.json
│       │   │   ├── alert.json
│       │   │   ├── all.json
│       │   │   ├── aspect-ratio.json
│       │   │   ├── avatar.json
│       │   │   ├── badge.json
│       │   │   ├── billing-information-01.json
│       │   │   ├── blocks.json
│       │   │   ├── blog-cards-layout-01.json
│       │   │   ├── blog-post-preview-tags-01.json
│       │   │   ├── blog-rectangular-images-01.json
│       │   │   ├── breadcrumb.json
│       │   │   ├── button.json
│       │   │   ├── calendar.json
│       │   │   ├── card-blog.json
│       │   │   ├── card-demo.json
│       │   │   ├── card-display-01.json
│       │   │   ├── card-ecommerce.json
│       │   │   ├── card-plain.json
│       │   │   ├── card-with-button.json
│       │   │   ├── card.json
│       │   │   ├── carousel.json
│       │   │   ├── chart.json
│       │   │   ├── checkbox.json
│       │   │   ├── checkout-01.json
│       │   │   ├── collapsible.json
│       │   │   ├── command.json
│       │   │   ├── complex-product-description-01.json
│       │   │   ├── contact-sections-01.json
│       │   │   ├── contact-sections-02.json
│       │   │   ├── contact-sections-03.json
│       │   │   ├── contact-sections-04.json
│       │   │   ├── contact-sections-05.json
│       │   │   ├── contact-sections-06.json
│       │   │   ├── contact-sections-07.json
│       │   │   ├── contact-sections-08.json
│       │   │   ├── contact-sections-09.json
│       │   │   ├── contact-sections-10.json
│       │   │   ├── contact-sections-11.json
│       │   │   ├── contact-sections-12.json
│       │   │   ├── contact-sections-13.json
│       │   │   ├── contact-sections-14.json
│       │   │   ├── contact-sections-15.json
│       │   │   ├── context-menu.json
│       │   │   ├── cruds-01.json
│       │   │   ├── cruds-02.json
│       │   │   ├── cruds-03.json
│       │   │   ├── dark-product-overview-01.json
│       │   │   ├── dialog.json
│       │   │   ├── digital-product-overview-01.json
│       │   │   ├── drawer.json
│       │   │   ├── dropdown-menu.json
│       │   │   ├── ecommerce-sections-01.json
│       │   │   ├── ecommerce-sections-02.json
│       │   │   ├── empty-shopping-cart-01.json
│       │   │   ├── faq-left-title-01.json
│       │   │   ├── faqs-cards-icons-01.json
│       │   │   ├── faqs-grid-01.json
│       │   │   ├── faqs-grid-cta-01.json
│       │   │   ├── faqs-list-01.json
│       │   │   ├── footers-01.json
│       │   │   ├── footers-02.json
│       │   │   ├── footers-03.json
│       │   │   ├── footers-04.json
│       │   │   ├── footers-05.json
│       │   │   ├── footers-06.json
│       │   │   ├── footers-07.json
│       │   │   ├── footers-08.json
│       │   │   ├── footers-09.json
│       │   │   ├── footers-10.json
│       │   │   ├── footers-11.json
│       │   │   ├── footers-12.json
│       │   │   ├── footers-13.json
│       │   │   ├── footers-14.json
│       │   │   ├── footers-15.json
│       │   │   ├── form-card-demo.json
│       │   │   ├── form.json
│       │   │   ├── grid-ecommerce-01.json
│       │   │   ├── highlighted-blog-posts-01.json
│       │   │   ├── hover-card.json
│       │   │   ├── index.json
│       │   │   ├── input-otp.json
│       │   │   ├── input.json
│       │   │   ├── interactive-product-preview-01.json
│       │   │   ├── invoices-01.json
│       │   │   ├── label.json
│       │   │   ├── large-blog-preview-01.json
│       │   │   ├── menubar.json
│       │   │   ├── modals-01.json
│       │   │   ├── modals-02.json
│       │   │   ├── modals-03.json
│       │   │   ├── modals-04.json
│       │   │   ├── modals-05.json
│       │   │   ├── modals-06.json
│       │   │   ├── modals-07.json
│       │   │   ├── modals-08.json
│       │   │   ├── modals-09.json
│       │   │   ├── modals-10.json
│       │   │   ├── modals-11.json
│       │   │   ├── navigation-menu.json
│       │   │   ├── order-details-01.json
│       │   │   ├── order-history-01.json
│       │   │   ├── pagination.json
│       │   │   ├── payment-method-01.json
│       │   │   ├── popover.json
│       │   │   ├── product-description-01.json
│       │   │   ├── product-details-01.json
│       │   │   ├── product-listing-filters-01.json
│       │   │   ├── progress.json
│       │   │   ├── promotional-cards-01.json
│       │   │   ├── radio-group.json
│       │   │   ├── registry.json
│       │   │   ├── resizable.json
│       │   │   ├── scroll-area.json
│       │   │   ├── select.json
│       │   │   ├── separator.json
│       │   │   ├── sheet.json
│       │   │   ├── shopping-cart-01.json
│       │   │   ├── sidebar.json
│       │   │   ├── simple-blog-content-01.json
│       │   │   ├── simple-faq-01.json
│       │   │   ├── simple-product-details-01.json
│       │   │   ├── skeleton.json
│       │   │   ├── slider.json
│       │   │   ├── software-purchase-01.json
│       │   │   ├── software-purchase-card-demo.json
│       │   │   ├── software-purchase-card.json
│       │   │   ├── sonner.json
│       │   │   ├── style.json
│       │   │   ├── styles/
│       │   │   │   └── creative-tim/
│       │   │   │       └── registry.json
│       │   │   ├── switch.json
│       │   │   ├── table.json
│       │   │   ├── tabs.json
│       │   │   ├── testimonials-01.json
│       │   │   ├── testimonials-02.json
│       │   │   ├── testimonials-03.json
│       │   │   ├── testimonials-04.json
│       │   │   ├── testimonials-05.json
│       │   │   ├── testimonials-06.json
│       │   │   ├── testimonials-07.json
│       │   │   ├── testimonials-08.json
│       │   │   ├── testimonials-09.json
│       │   │   ├── testimonials-10.json
│       │   │   ├── testimonials-11.json
│       │   │   ├── testimonials-12.json
│       │   │   ├── testimonials-13.json
│       │   │   ├── testimonials-14.json
│       │   │   ├── testimonials-15.json
│       │   │   ├── testimonials-16.json
│       │   │   ├── testimonials-17.json
│       │   │   ├── textarea.json
│       │   │   ├── toggle-group.json
│       │   │   ├── toggle.json
│       │   │   ├── tooltip.json
│       │   │   ├── transaction-history-01.json
│       │   │   ├── ui.json
│       │   │   ├── use-mobile.json
│       │   │   ├── web3-01.json
│       │   │   ├── web3-02.json
│       │   │   ├── web3-03.json
│       │   │   ├── web3-04.json
│       │   │   └── web3-05.json
│       │   ├── schema/
│       │   │   ├── registry-item.json
│       │   │   └── registry.json
│       │   ├── schema.json
│       │   └── site.webmanifest
│       ├── registry/
│       │   ├── __blocks__.json
│       │   ├── __index__.tsx
│       │   ├── creative-tim/
│       │   │   ├── blocks/
│       │   │   │   ├── account-2fa-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-avatar-upload-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-basic-info-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-change-password-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-integrations-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-notifications-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── account-sessions-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ai-chat-streaming-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ai-image-generator-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ai-video-generator-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── billing-information-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── blog-cards-layout-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── blog-post-preview-tags-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── blog-rectangular-images-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── card-display-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── checkout-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── complex-product-description-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-12/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-13/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-14/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── contact-sections-15/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── cruds-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── cruds-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── cruds-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── dark-product-overview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── digital-product-overview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ecommerce-sections-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── ecommerce-sections-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── empty-shopping-cart-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faq-left-title-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-cards-icons-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-grid-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-grid-cta-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── faqs-list-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-12/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-13/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-14/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── footers-15/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── grid-ecommerce-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── highlighted-blog-posts-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── interactive-product-preview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── invoices-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── large-blog-preview-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── modals-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── order-details-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── order-history-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── payment-method-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── product-description-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── product-details-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── product-listing-filters-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── promotional-cards-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── shopping-cart-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── simple-blog-content-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── simple-faq-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── simple-product-details-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── software-purchase-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-05/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-06/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-07/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-08/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-09/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-10/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-11/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-12/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-13/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-14/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-15/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-16/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── testimonials-17/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── transaction-history-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-01/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-02/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-03/
│       │   │   │   │   └── page.tsx
│       │   │   │   ├── web3-04/
│       │   │   │   │   └── page.tsx
│       │   │   │   └── web3-05/
│       │   │   │       └── page.tsx
│       │   │   ├── examples/
│       │   │   │   ├── card-blog.tsx
│       │   │   │   ├── card-demo.tsx
│       │   │   │   ├── card-ecommerce.tsx
│       │   │   │   ├── card-plain.tsx
│       │   │   │   ├── card-with-button.tsx
│       │   │   │   ├── form-card-demo.tsx
│       │   │   │   └── software-purchase-card-demo.tsx
│       │   │   ├── hooks/
│       │   │   │   └── use-mobile.ts
│       │   │   ├── lib/
│       │   │   │   └── utils.ts
│       │   │   └── ui/
│       │   │       ├── accordion.tsx
│       │   │       ├── alert-dialog.tsx
│       │   │       ├── alert.tsx
│       │   │       ├── aspect-ratio.tsx
│       │   │       ├── avatar.tsx
│       │   │       ├── badge.tsx
│       │   │       ├── breadcrumb.tsx
│       │   │       ├── button-group.tsx
│       │   │       ├── button.tsx
│       │   │       ├── calendar.tsx
│       │   │       ├── card.tsx
│       │   │       ├── carousel.tsx
│       │   │       ├── chart.tsx
│       │   │       ├── checkbox.tsx
│       │   │       ├── chip.tsx
│       │   │       ├── collapse.tsx
│       │   │       ├── collapsible.tsx
│       │   │       ├── command.tsx
│       │   │       ├── context-menu.tsx
│       │   │       ├── dialog.tsx
│       │   │       ├── drawer.tsx
│       │   │       ├── dropdown-menu.tsx
│       │   │       ├── form.tsx
│       │   │       ├── hover-card.tsx
│       │   │       ├── input-otp.tsx
│       │   │       ├── input.tsx
│       │   │       ├── label.tsx
│       │   │       ├── list.tsx
│       │   │       ├── map.tsx
│       │   │       ├── menubar.tsx
│       │   │       ├── navigation-menu.tsx
│       │   │       ├── pagination.tsx
│       │   │       ├── popover.tsx
│       │   │       ├── progress.tsx
│       │   │       ├── radio-group.tsx
│       │   │       ├── rating.tsx
│       │   │       ├── resizable.tsx
│       │   │       ├── scroll-area.tsx
│       │   │       ├── select.tsx
│       │   │       ├── separator.tsx
│       │   │       ├── sheet.tsx
│       │   │       ├── sidebar.tsx
│       │   │       ├── skeleton.tsx
│       │   │       ├── slider.tsx
│       │   │       ├── software-purchase-card.tsx
│       │   │       ├── sonner.tsx
│       │   │       ├── spinner.tsx
│       │   │       ├── stepper.tsx
│       │   │       ├── switch.tsx
│       │   │       ├── table.tsx
│       │   │       ├── tabs.tsx
│       │   │       ├── textarea.tsx
│       │   │       ├── timeline.tsx
│       │   │       ├── toggle-group.tsx
│       │   │       ├── toggle.tsx
│       │   │       └── tooltip.tsx
│       │   ├── index.ts
│       │   ├── registry-blocks.ts
│       │   ├── registry-categories.ts
│       │   ├── registry-examples.ts
│       │   ├── registry-hooks.ts
│       │   ├── registry-lib.ts
│       │   └── registry-ui.ts
│       ├── registry.json
│       ├── scripts/
│       │   ├── build-registry.mts
│       │   ├── capture-registry.mts
│       │   └── validate-registries.mts
│       ├── source.config.ts
│       ├── styles/
│       │   ├── globals.css
│       │   └── themes.css
│       ├── tsconfig.json
│       └── tsconfig.scripts.json
├── e2e/
│   ├── auth.login.spec.ts
│   ├── auth.logout.spec.ts
│   ├── auth.password.spec.ts
│   ├── auth.redirects.spec.ts
│   ├── auth.refresh-singleton.spec.ts
│   ├── auth.register.spec.ts
│   └── helpers.ts
├── mock-api/
│   ├── db.json
│   ├── package.json
│   ├── routes.json
│   └── server.js
├── package.json
├── playwright.config.ts
├── pnpm-workspace.yaml
├── postcss.config.cjs
├── prettier.config.cjs
├── skills/
│   ├── README.md
│   └── creative-tim-ui/
│       ├── AGENTS.md
│       ├── SKILL.md
│       └── rules/
│           ├── brand-philosophy.md
│           ├── component-patterns.md
│           ├── design-brand.md
│           ├── hydration-safety.md
│           ├── install-blocks.md
│           ├── pro-api-key.md
│           └── tailwind-rules.md
├── tsconfig.json
├── turbo.json
├── vitest.config.ts
└── vitest.workspace.ts
Download .txt
SYMBOL INDEX (1022 symbols across 318 files)

FILE: apps/www/app/(app)/(root)/page.tsx
  function IndexPage (line 51) | function IndexPage() {

FILE: apps/www/app/(app)/blocks/[...categories]/page.tsx
  function generateStaticParams (line 9) | async function generateStaticParams() {
  function BlocksPage (line 15) | async function BlocksPage({

FILE: apps/www/app/(app)/blocks/layout.tsx
  function BlocksLayout (line 42) | function BlocksLayout({

FILE: apps/www/app/(app)/blocks/page.tsx
  constant FEATURED_BLOCKS (line 6) | const FEATURED_BLOCKS = [
  function BlocksPage (line 15) | async function BlocksPage() {

FILE: apps/www/app/(app)/docs/[[...slug]]/page.tsx
  function generateStaticParams (line 23) | function generateStaticParams() {
  function generateMetadata (line 27) | async function generateMetadata(props: {
  function Page (line 75) | async function Page(props: {

FILE: apps/www/app/(app)/docs/layout.tsx
  function DocsLayout (line 5) | function DocsLayout({

FILE: apps/www/app/(app)/layout.tsx
  function AppLayout (line 4) | function AppLayout({ children }: { children: React.ReactNode }) {

FILE: apps/www/app/(app)/llm/[[...slug]]/route.ts
  function GET (line 8) | async function GET(
  function generateStaticParams (line 27) | function generateStaticParams() {

FILE: apps/www/app/(view)/view/[name]/page.tsx
  function generateMetadata (line 19) | async function generateMetadata({
  function generateStaticParams (line 63) | async function generateStaticParams() {
  function BlockPage (line 81) | async function BlockPage({

FILE: apps/www/app/api/r/[name]/route.ts
  constant PRIVATE_COMPONENTS (line 5) | const PRIVATE_COMPONENTS = ["testimonials-03", "testimonials-04"]
  function GET (line 7) | async function GET(
  function isValidToken (line 72) | function isValidToken(token: string | null): boolean {

FILE: apps/www/app/layout.tsx
  function RootLayout (line 64) | function RootLayout({

FILE: apps/www/app/llms.txt/route.ts
  constant BASE_URL (line 5) | const BASE_URL = "https://www.creative-tim.com/ui"
  type BlockMeta (line 7) | type BlockMeta = {
  function GET (line 13) | async function GET() {

FILE: apps/www/app/og/route.tsx
  function loadAssets (line 3) | async function loadAssets(): Promise<
  function GET (line 38) | async function GET(request: Request) {

FILE: apps/www/components/active-theme.tsx
  constant DEFAULT_THEME (line 11) | const DEFAULT_THEME = "default"
  type ThemeContextType (line 13) | type ThemeContextType = {
  function ActiveThemeProvider (line 20) | function ActiveThemeProvider({
  function useThemeConfig (line 50) | function useThemeConfig() {

FILE: apps/www/components/analytics.tsx
  function Analytics (line 8) | function Analytics() {

FILE: apps/www/components/announcement.tsx
  function Announcement (line 6) | function Announcement() {

FILE: apps/www/components/block-display.tsx
  function BlockDisplay (line 14) | async function BlockDisplay({ name }: { name: string }) {

FILE: apps/www/components/block-image.tsx
  function BlockImage (line 5) | function BlockImage({

FILE: apps/www/components/block-viewer.tsx
  type BlockViewerContext (line 59) | type BlockViewerContext = {
  function useBlockViewer (line 78) | function useBlockViewer() {
  function BlockViewerProvider (line 86) | function BlockViewerProvider({
  function BlockViewerToolbar (line 132) | function BlockViewerToolbar() {
  function BlockViewerIframe (line 268) | function BlockViewerIframe({ className }: { className?: string }) {
  function BlockViewerView (line 286) | function BlockViewerView() {
  function BlockViewerMobile (line 313) | function BlockViewerMobile({ children }: { children: React.ReactNode }) {
  function BlockViewerCode (line 352) | function BlockViewerCode() {
  function BlockViewerFileTree (line 417) | function BlockViewerFileTree() {
  function Tree (line 444) | function Tree({ item, index }: { item: FileTree; index: number }) {
  function BlockCopyCodeButton (line 501) | function BlockCopyCodeButton() {
  function BlockViewer (line 536) | function BlockViewer({

FILE: apps/www/components/blocks-nav.tsx
  function BlocksNav (line 12) | function BlocksNav() {
  function BlocksNavLink (line 37) | function BlocksNavLink({

FILE: apps/www/components/blur-vignette.tsx
  type BlurVignetteProps (line 7) | interface BlurVignetteProps {

FILE: apps/www/components/callout.tsx
  function Callout (line 8) | function Callout({

FILE: apps/www/components/cards/activity-goal.tsx
  function CardsActivityGoal (line 70) | function CardsActivityGoal() {

FILE: apps/www/components/cards/calendar.tsx
  function CardsCalendar (line 10) | function CardsCalendar() {

FILE: apps/www/components/cards/cookie-settings.tsx
  function CardsCookieSettings (line 15) | function CardsCookieSettings() {

FILE: apps/www/components/cards/create-account.tsx
  function CardsCreateAccount (line 15) | function CardsCreateAccount() {

FILE: apps/www/components/cards/forms.tsx
  function CardsForms (line 36) | function CardsForms() {

FILE: apps/www/components/cards/index.tsx
  function CardsDemo (line 4) | function CardsDemo() {

FILE: apps/www/components/cards/payment-method.tsx
  function CardsPaymentMethod (line 41) | function CardsPaymentMethod() {

FILE: apps/www/components/cards/payments.tsx
  type Payment (line 84) | type Payment = {
  function CardsPayments (line 172) | function CardsPayments() {

FILE: apps/www/components/cards/report-issue.tsx
  function CardsReportIssue (line 25) | function CardsReportIssue() {

FILE: apps/www/components/cards/share.tsx
  function CardsShare (line 49) | function CardsShare() {

FILE: apps/www/components/cards/software-purchase.tsx
  type SoftwarePurchaseCardProps (line 15) | interface SoftwarePurchaseCardProps {
  function SoftwarePurchaseCard (line 25) | function SoftwarePurchaseCard({

FILE: apps/www/components/chart-code-viewer.tsx
  function ChartCodeViewer (line 27) | function ChartCodeViewer({

FILE: apps/www/components/chart-copy-button.tsx
  function ChartCopyButton (line 15) | function ChartCopyButton({

FILE: apps/www/components/chart-display.tsx
  type Chart (line 10) | type Chart = z.infer<typeof registryItemSchema> & {
  function ChartDisplay (line 14) | async function ChartDisplay({

FILE: apps/www/components/chart-toolbar.tsx
  function ChartToolbar (line 19) | function ChartToolbar({
  function ChartTitle (line 48) | function ChartTitle({ chart }: { chart: Chart }) {

FILE: apps/www/components/charts-nav.tsx
  function ChartsNav (line 43) | function ChartsNav({

FILE: apps/www/components/code-block-command.tsx
  function CodeBlockCommand (line 21) | function CodeBlockCommand({

FILE: apps/www/components/code-collapsible-wrapper.tsx
  function CodeCollapsibleWrapper (line 14) | function CodeCollapsibleWrapper({

FILE: apps/www/components/code-tabs.tsx
  function CodeTabs (line 8) | function CodeTabs({ children }: React.ComponentProps<typeof Tabs>) {

FILE: apps/www/components/command-menu.tsx
  function CommandMenu (line 34) | function CommandMenu({
  function CommandMenuItem (line 293) | function CommandMenuItem({
  function CommandMenuKbd (line 331) | function CommandMenuKbd({ className, ...props }: React.ComponentProps<"k...

FILE: apps/www/components/component-preview-tabs.tsx
  function ComponentPreviewTabs (line 8) | function ComponentPreviewTabs({

FILE: apps/www/components/component-preview.tsx
  function ComponentPreview (line 7) | function ComponentPreview({

FILE: apps/www/components/component-source.tsx
  function ComponentSource (line 12) | async function ComponentSource({
  function ComponentCode (line 74) | function ComponentCode({

FILE: apps/www/components/component-wrapper.tsx
  function ComponentWrapper (line 7) | function ComponentWrapper({
  class ComponentErrorBoundary (line 33) | class ComponentErrorBoundary extends React.Component<
    method constructor (line 37) | constructor(props: { children: React.ReactNode; name: string }) {
    method getDerivedStateFromError (line 42) | static getDerivedStateFromError() {
    method componentDidCatch (line 46) | componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
    method render (line 50) | render() {
  function getComponentName (line 63) | function getComponentName(name: string) {

FILE: apps/www/components/components-list.tsx
  function ComponentsList (line 5) | function ComponentsList() {

FILE: apps/www/components/copy-button.tsx
  function copyToClipboardWithMeta (line 15) | function copyToClipboardWithMeta(value: string, event?: Event) {
  function CopyButton (line 22) | function CopyButton({

FILE: apps/www/components/docs-breadcrumb.tsx
  function DocsBreadcrumb (line 18) | function DocsBreadcrumb({

FILE: apps/www/components/docs-copy-page.tsx
  function getPromptUrl (line 21) | function getPromptUrl(baseURL: string, url: string) {
  function DocsCopyPage (line 92) | function DocsCopyPage({ page, url }: { page: string; url: string }) {

FILE: apps/www/components/docs-sidebar-cta.tsx
  function DocsSidebarCta (line 7) | function DocsSidebarCta({ className }: React.ComponentProps<"div">) {

FILE: apps/www/components/docs-sidebar.tsx
  constant TOP_LEVEL_SECTIONS (line 18) | const TOP_LEVEL_SECTIONS = [
  constant BLOCKS_SECTIONS (line 26) | const BLOCKS_SECTIONS = [
  constant EXCLUDED_SECTIONS (line 41) | const EXCLUDED_SECTIONS = ["installation", "dark-mode", "(root)"]
  constant EXCLUDED_PAGES (line 42) | const EXCLUDED_PAGES: string[] = []
  function DocsSidebar (line 44) | function DocsSidebar({

FILE: apps/www/components/docs-toc.tsx
  function useActiveItem (line 15) | function useActiveItem(itemIds: string[]) {
  function DocsTableOfContents (line 50) | function DocsTableOfContents({

FILE: apps/www/components/examples-nav.tsx
  function ExamplesNav (line 9) | function ExamplesNav({

FILE: apps/www/components/examples-preview.tsx
  type ExampleCategory (line 6) | interface ExampleCategory {
  function ExamplesPreview (line 396) | function ExamplesPreview() {

FILE: apps/www/components/github-link.tsx
  function GitHubLink (line 7) | function GitHubLink() {
  function StarsCount (line 25) | async function StarsCount() {

FILE: apps/www/components/icons.tsx
  type IconProps (line 3) | type IconProps = React.HTMLAttributes<SVGElement>
  function getIconForLanguageExtension (line 205) | function getIconForLanguageExtension(language: string) {

FILE: apps/www/components/main-nav.tsx
  function MainNav (line 8) | function MainNav({

FILE: apps/www/components/mobile-nav.tsx
  function MobileNav (line 16) | function MobileNav({
  function MobileLink (line 117) | function MobileLink({

FILE: apps/www/components/mode-switcher.tsx
  function ModeSwitcher (line 9) | function ModeSwitcher() {

FILE: apps/www/components/nav-header.tsx
  function NavHeader (line 13) | function NavHeader() {

FILE: apps/www/components/nav-user.tsx
  function NavUser (line 33) | function NavUser({

FILE: apps/www/components/open-in-v0-button.tsx
  function OpenInV0Button (line 5) | function OpenInV0Button({

FILE: apps/www/components/page-header.tsx
  function PageHeader (line 3) | function PageHeader({
  function PageHeaderHeading (line 19) | function PageHeaderHeading({
  function PageHeaderDescription (line 34) | function PageHeaderDescription({
  function PageActions (line 49) | function PageActions({ className, ...props }: React.ComponentProps<"div"...

FILE: apps/www/components/page-nav.tsx
  function PageNav (line 3) | function PageNav({

FILE: apps/www/components/showcase-masonry.tsx
  function ShowcaseMasonry (line 52) | function ShowcaseMasonry() {

FILE: apps/www/components/site-config.tsx
  function SiteConfig (line 11) | function SiteConfig({ className }: React.ComponentProps<typeof Button>) {

FILE: apps/www/components/site-footer.tsx
  function SiteFooter (line 6) | function SiteFooter() {

FILE: apps/www/components/site-header.tsx
  function SiteHeader (line 14) | function SiteHeader() {

FILE: apps/www/components/tailwind-indicator.tsx
  constant SHOW (line 1) | const SHOW = true
  function TailwindIndicator (line 3) | function TailwindIndicator() {

FILE: apps/www/components/testimonials-section.tsx
  function TestimonialsSection (line 44) | function TestimonialsSection() {

FILE: apps/www/components/theme-provider.tsx
  function ThemeProvider (line 6) | function ThemeProvider({

FILE: apps/www/components/theme-selector.tsx
  constant DEFAULT_THEMES (line 17) | const DEFAULT_THEMES = [
  constant COLOR_THEMES (line 32) | const COLOR_THEMES = [
  function ThemeSelector (line 63) | function ThemeSelector({ className }: React.ComponentProps<"div">) {

FILE: apps/www/components/ui/accordion.tsx
  function Accordion (line 9) | function Accordion({
  function AccordionItem (line 15) | function AccordionItem({
  function AccordionTrigger (line 28) | function AccordionTrigger({
  function AccordionContent (line 50) | function AccordionContent({

FILE: apps/www/components/ui/alert-dialog.tsx
  function AlertDialog (line 9) | function AlertDialog({
  function AlertDialogTrigger (line 15) | function AlertDialogTrigger({
  function AlertDialogPortal (line 23) | function AlertDialogPortal({
  function AlertDialogOverlay (line 31) | function AlertDialogOverlay({
  function AlertDialogContent (line 47) | function AlertDialogContent({
  function AlertDialogHeader (line 66) | function AlertDialogHeader({
  function AlertDialogFooter (line 79) | function AlertDialogFooter({
  function AlertDialogTitle (line 95) | function AlertDialogTitle({
  function AlertDialogDescription (line 108) | function AlertDialogDescription({
  function AlertDialogAction (line 121) | function AlertDialogAction({
  function AlertDialogCancel (line 133) | function AlertDialogCancel({

FILE: apps/www/components/ui/alert.tsx
  function Alert (line 22) | function Alert({
  function AlertTitle (line 37) | function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
  function AlertDescription (line 50) | function AlertDescription({

FILE: apps/www/components/ui/aspect-ratio.tsx
  function AspectRatio (line 5) | function AspectRatio({

FILE: apps/www/components/ui/avatar.tsx
  function Avatar (line 8) | function Avatar({
  function AvatarImage (line 24) | function AvatarImage({
  function AvatarFallback (line 37) | function AvatarFallback({

FILE: apps/www/components/ui/badge.tsx
  function Badge (line 28) | function Badge({

FILE: apps/www/components/ui/breadcrumb.tsx
  function Breadcrumb (line 7) | function Breadcrumb({ ...props }: React.ComponentProps<"nav">) {
  function BreadcrumbList (line 11) | function BreadcrumbList({ className, ...props }: React.ComponentProps<"o...
  function BreadcrumbItem (line 24) | function BreadcrumbItem({ className, ...props }: React.ComponentProps<"l...
  function BreadcrumbLink (line 34) | function BreadcrumbLink({
  function BreadcrumbPage (line 52) | function BreadcrumbPage({ className, ...props }: React.ComponentProps<"s...
  function BreadcrumbSeparator (line 65) | function BreadcrumbSeparator({
  function BreadcrumbEllipsis (line 83) | function BreadcrumbEllipsis({

FILE: apps/www/components/ui/button.tsx
  function Button (line 37) | function Button({

FILE: apps/www/components/ui/calendar.tsx
  function Calendar (line 14) | function Calendar({
  function CalendarDayButton (line 175) | function CalendarDayButton({

FILE: apps/www/components/ui/card.tsx
  function Card (line 5) | function Card({ className, ...props }: React.ComponentProps<"div">) {
  function CardHeader (line 18) | function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
  function CardTitle (line 31) | function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
  function CardDescription (line 41) | function CardDescription({ className, ...props }: React.ComponentProps<"...
  function CardAction (line 51) | function CardAction({ className, ...props }: React.ComponentProps<"div">) {
  function CardContent (line 64) | function CardContent({ className, ...props }: React.ComponentProps<"div"...
  function CardFooter (line 74) | function CardFooter({ className, ...props }: React.ComponentProps<"div">) {

FILE: apps/www/components/ui/carousel.tsx
  type CarouselApi (line 12) | type CarouselApi = UseEmblaCarouselType[1]
  type UseCarouselParameters (line 13) | type UseCarouselParameters = Parameters<typeof useEmblaCarousel>
  type CarouselOptions (line 14) | type CarouselOptions = UseCarouselParameters[0]
  type CarouselPlugin (line 15) | type CarouselPlugin = UseCarouselParameters[1]
  type CarouselProps (line 17) | type CarouselProps = {
  type CarouselContextProps (line 24) | type CarouselContextProps = {
  function useCarousel (line 35) | function useCarousel() {
  function Carousel (line 45) | function Carousel({
  function CarouselContent (line 135) | function CarouselContent({ className, ...props }: React.ComponentProps<"...
  function CarouselItem (line 156) | function CarouselItem({ className, ...props }: React.ComponentProps<"div...
  function CarouselPrevious (line 174) | function CarouselPrevious({
  function CarouselNext (line 204) | function CarouselNext({

FILE: apps/www/components/ui/chart.tsx
  constant THEMES (line 9) | const THEMES = { light: "", dark: ".dark" } as const
  type ChartConfig (line 11) | type ChartConfig = {
  type ChartContextProps (line 21) | type ChartContextProps = {
  function useChart (line 27) | function useChart() {
  function ChartContainer (line 37) | function ChartContainer({
  function ChartTooltipContent (line 107) | function ChartTooltipContent({
  function ChartLegendContent (line 255) | function ChartLegendContent({
  function getPayloadConfigFromPayload (line 312) | function getPayloadConfigFromPayload(

FILE: apps/www/components/ui/checkbox.tsx
  function Checkbox (line 9) | function Checkbox({

FILE: apps/www/components/ui/collapsible.tsx
  function Collapsible (line 5) | function Collapsible({
  function CollapsibleTrigger (line 11) | function CollapsibleTrigger({
  function CollapsibleContent (line 22) | function CollapsibleContent({

FILE: apps/www/components/ui/command.tsx
  function Command (line 16) | function Command({
  function CommandDialog (line 32) | function CommandDialog({
  function CommandInput (line 63) | function CommandInput({
  function CommandList (line 85) | function CommandList({
  function CommandEmpty (line 101) | function CommandEmpty({
  function CommandGroup (line 113) | function CommandGroup({
  function CommandSeparator (line 129) | function CommandSeparator({
  function CommandItem (line 142) | function CommandItem({
  function CommandShortcut (line 158) | function CommandShortcut({

FILE: apps/www/components/ui/context-menu.tsx
  function ContextMenu (line 9) | function ContextMenu({
  function ContextMenuTrigger (line 15) | function ContextMenuTrigger({
  function ContextMenuGroup (line 23) | function ContextMenuGroup({
  function ContextMenuPortal (line 31) | function ContextMenuPortal({
  function ContextMenuSub (line 39) | function ContextMenuSub({
  function ContextMenuRadioGroup (line 45) | function ContextMenuRadioGroup({
  function ContextMenuSubTrigger (line 56) | function ContextMenuSubTrigger({
  function ContextMenuSubContent (line 80) | function ContextMenuSubContent({
  function ContextMenuContent (line 96) | function ContextMenuContent({
  function ContextMenuItem (line 114) | function ContextMenuItem({
  function ContextMenuCheckboxItem (line 137) | function ContextMenuCheckboxItem({
  function ContextMenuRadioItem (line 163) | function ContextMenuRadioItem({
  function ContextMenuLabel (line 187) | function ContextMenuLabel({
  function ContextMenuSeparator (line 207) | function ContextMenuSeparator({
  function ContextMenuShortcut (line 220) | function ContextMenuShortcut({

FILE: apps/www/components/ui/dialog.tsx
  function Dialog (line 9) | function Dialog({
  function DialogTrigger (line 15) | function DialogTrigger({
  function DialogPortal (line 21) | function DialogPortal({
  function DialogClose (line 27) | function DialogClose({
  function DialogOverlay (line 33) | function DialogOverlay({
  function DialogContent (line 49) | function DialogContent({
  function DialogHeader (line 83) | function DialogHeader({ className, ...props }: React.ComponentProps<"div...
  function DialogFooter (line 93) | function DialogFooter({ className, ...props }: React.ComponentProps<"div...
  function DialogTitle (line 106) | function DialogTitle({
  function DialogDescription (line 119) | function DialogDescription({

FILE: apps/www/components/ui/drawer.tsx
  function Drawer (line 8) | function Drawer({
  function DrawerTrigger (line 14) | function DrawerTrigger({
  function DrawerPortal (line 20) | function DrawerPortal({
  function DrawerClose (line 26) | function DrawerClose({
  function DrawerOverlay (line 32) | function DrawerOverlay({
  function DrawerContent (line 48) | function DrawerContent({
  function DrawerHeader (line 75) | function DrawerHeader({ className, ...props }: React.ComponentProps<"div...
  function DrawerFooter (line 88) | function DrawerFooter({ className, ...props }: React.ComponentProps<"div...
  function DrawerTitle (line 98) | function DrawerTitle({
  function DrawerDescription (line 111) | function DrawerDescription({

FILE: apps/www/components/ui/dropdown-menu.tsx
  function DropdownMenu (line 9) | function DropdownMenu({
  function DropdownMenuPortal (line 15) | function DropdownMenuPortal({
  function DropdownMenuTrigger (line 23) | function DropdownMenuTrigger({
  function DropdownMenuContent (line 34) | function DropdownMenuContent({
  function DropdownMenuGroup (line 54) | function DropdownMenuGroup({
  function DropdownMenuItem (line 62) | function DropdownMenuItem({
  function DropdownMenuCheckboxItem (line 85) | function DropdownMenuCheckboxItem({
  function DropdownMenuRadioGroup (line 111) | function DropdownMenuRadioGroup({
  function DropdownMenuRadioItem (line 122) | function DropdownMenuRadioItem({
  function DropdownMenuLabel (line 146) | function DropdownMenuLabel({
  function DropdownMenuSeparator (line 166) | function DropdownMenuSeparator({
  function DropdownMenuShortcut (line 179) | function DropdownMenuShortcut({
  function DropdownMenuSub (line 195) | function DropdownMenuSub({
  function DropdownMenuSubTrigger (line 201) | function DropdownMenuSubTrigger({
  function DropdownMenuSubContent (line 225) | function DropdownMenuSubContent({

FILE: apps/www/components/ui/form.tsx
  type FormFieldContextValue (line 21) | type FormFieldContextValue<
  type FormItemContextValue (line 68) | type FormItemContextValue = {
  function FormItem (line 76) | function FormItem({ className, ...props }: React.ComponentProps<"div">) {
  function FormLabel (line 90) | function FormLabel({
  function FormControl (line 107) | function FormControl({ ...props }: React.ComponentProps<typeof Slot>) {
  function FormDescription (line 125) | function FormDescription({ className, ...props }: React.ComponentProps<"...
  function FormMessage (line 138) | function FormMessage({ className, ...props }: React.ComponentProps<"p">) {

FILE: apps/www/components/ui/hover-card.tsx
  function HoverCard (line 8) | function HoverCard({
  function HoverCardTrigger (line 14) | function HoverCardTrigger({
  function HoverCardContent (line 22) | function HoverCardContent({

FILE: apps/www/components/ui/input-otp.tsx
  function InputOTP (line 9) | function InputOTP({
  function InputOTPGroup (line 29) | function InputOTPGroup({ className, ...props }: React.ComponentProps<"di...
  function InputOTPSlot (line 39) | function InputOTPSlot({
  function InputOTPSeparator (line 69) | function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {

FILE: apps/www/components/ui/input.tsx
  function Input (line 5) | function Input({ className, type, ...props }: React.ComponentProps<"inpu...

FILE: apps/www/components/ui/label.tsx
  function Label (line 8) | function Label({

FILE: apps/www/components/ui/menubar.tsx
  function Menubar (line 9) | function Menubar({
  function MenubarMenu (line 25) | function MenubarMenu({
  function MenubarGroup (line 31) | function MenubarGroup({
  function MenubarPortal (line 37) | function MenubarPortal({
  function MenubarRadioGroup (line 43) | function MenubarRadioGroup({
  function MenubarTrigger (line 51) | function MenubarTrigger({
  function MenubarContent (line 67) | function MenubarContent({
  function MenubarItem (line 91) | function MenubarItem({
  function MenubarCheckboxItem (line 114) | function MenubarCheckboxItem({
  function MenubarRadioItem (line 140) | function MenubarRadioItem({
  function MenubarLabel (line 164) | function MenubarLabel({
  function MenubarSeparator (line 184) | function MenubarSeparator({
  function MenubarShortcut (line 197) | function MenubarShortcut({
  function MenubarSub (line 213) | function MenubarSub({
  function MenubarSubTrigger (line 219) | function MenubarSubTrigger({
  function MenubarSubContent (line 243) | function MenubarSubContent({

FILE: apps/www/components/ui/navigation-menu.tsx
  function NavigationMenu (line 8) | function NavigationMenu({
  function NavigationMenuList (line 32) | function NavigationMenuList({
  function NavigationMenuItem (line 48) | function NavigationMenuItem({
  function NavigationMenuTrigger (line 65) | function NavigationMenuTrigger({
  function NavigationMenuContent (line 85) | function NavigationMenuContent({
  function NavigationMenuViewport (line 102) | function NavigationMenuViewport({
  function NavigationMenuLink (line 124) | function NavigationMenuLink({
  function NavigationMenuIndicator (line 140) | function NavigationMenuIndicator({

FILE: apps/www/components/ui/pagination.tsx
  function Pagination (line 11) | function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
  function PaginationContent (line 23) | function PaginationContent({
  function PaginationItem (line 36) | function PaginationItem({ ...props }: React.ComponentProps<"li">) {
  type PaginationLinkProps (line 40) | type PaginationLinkProps = {
  function PaginationLink (line 45) | function PaginationLink({
  function PaginationPrevious (line 68) | function PaginationPrevious({
  function PaginationNext (line 85) | function PaginationNext({
  function PaginationEllipsis (line 102) | function PaginationEllipsis({

FILE: apps/www/components/ui/popover.tsx
  function Popover (line 8) | function Popover({
  function PopoverTrigger (line 14) | function PopoverTrigger({
  function PopoverContent (line 20) | function PopoverContent({
  function PopoverAnchor (line 42) | function PopoverAnchor({

FILE: apps/www/components/ui/progress.tsx
  function Progress (line 8) | function Progress({

FILE: apps/www/components/ui/radio-group.tsx
  function RadioGroup (line 9) | function RadioGroup({
  function RadioGroupItem (line 22) | function RadioGroupItem({

FILE: apps/www/components/ui/resizable.tsx
  function ResizablePanelGroup (line 9) | function ResizablePanelGroup({
  function ResizablePanel (line 25) | function ResizablePanel({
  function ResizableHandle (line 31) | function ResizableHandle({

FILE: apps/www/components/ui/scroll-area.tsx
  function ScrollArea (line 8) | function ScrollArea({
  function ScrollBar (line 31) | function ScrollBar({

FILE: apps/www/components/ui/select.tsx
  function Select (line 9) | function Select({
  function SelectGroup (line 15) | function SelectGroup({
  function SelectValue (line 21) | function SelectValue({
  function SelectTrigger (line 27) | function SelectTrigger({
  function SelectContent (line 53) | function SelectContent({
  function SelectLabel (line 88) | function SelectLabel({
  function SelectItem (line 101) | function SelectItem({
  function SelectSeparator (line 125) | function SelectSeparator({
  function SelectScrollUpButton (line 138) | function SelectScrollUpButton({
  function SelectScrollDownButton (line 156) | function SelectScrollDownButton({

FILE: apps/www/components/ui/separator.tsx
  function Separator (line 8) | function Separator({

FILE: apps/www/components/ui/sheet.tsx
  function Sheet (line 9) | function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive....
  function SheetTrigger (line 13) | function SheetTrigger({
  function SheetClose (line 19) | function SheetClose({
  function SheetPortal (line 25) | function SheetPortal({
  function SheetOverlay (line 31) | function SheetOverlay({
  function SheetContent (line 47) | function SheetContent({
  function SheetHeader (line 84) | function SheetHeader({ className, ...props }: React.ComponentProps<"div"...
  function SheetFooter (line 94) | function SheetFooter({ className, ...props }: React.ComponentProps<"div"...
  function SheetTitle (line 104) | function SheetTitle({
  function SheetDescription (line 117) | function SheetDescription({

FILE: apps/www/components/ui/sidebar.tsx
  constant SIDEBAR_COOKIE_NAME (line 28) | const SIDEBAR_COOKIE_NAME = "sidebar_state"
  constant SIDEBAR_COOKIE_MAX_AGE (line 29) | const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7
  constant SIDEBAR_WIDTH (line 30) | const SIDEBAR_WIDTH = "16rem"
  constant SIDEBAR_WIDTH_MOBILE (line 31) | const SIDEBAR_WIDTH_MOBILE = "18rem"
  constant SIDEBAR_WIDTH_ICON (line 32) | const SIDEBAR_WIDTH_ICON = "3rem"
  constant SIDEBAR_KEYBOARD_SHORTCUT (line 33) | const SIDEBAR_KEYBOARD_SHORTCUT = "b"
  type SidebarContextProps (line 35) | type SidebarContextProps = {
  function useSidebar (line 47) | function useSidebar() {
  function SidebarProvider (line 56) | function SidebarProvider({
  function Sidebar (line 154) | function Sidebar({
  function SidebarTrigger (line 256) | function SidebarTrigger({
  function SidebarRail (line 282) | function SidebarRail({ className, ...props }: React.ComponentProps<"butt...
  function SidebarInset (line 307) | function SidebarInset({ className, ...props }: React.ComponentProps<"mai...
  function SidebarInput (line 321) | function SidebarInput({
  function SidebarHeader (line 335) | function SidebarHeader({ className, ...props }: React.ComponentProps<"di...
  function SidebarFooter (line 346) | function SidebarFooter({ className, ...props }: React.ComponentProps<"di...
  function SidebarSeparator (line 357) | function SidebarSeparator({
  function SidebarContent (line 371) | function SidebarContent({ className, ...props }: React.ComponentProps<"d...
  function SidebarGroup (line 385) | function SidebarGroup({ className, ...props }: React.ComponentProps<"div...
  function SidebarGroupLabel (line 396) | function SidebarGroupLabel({
  function SidebarGroupAction (line 417) | function SidebarGroupAction({
  function SidebarGroupContent (line 440) | function SidebarGroupContent({
  function SidebarMenu (line 454) | function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">) {
  function SidebarMenuItem (line 465) | function SidebarMenuItem({ className, ...props }: React.ComponentProps<"...
  function SidebarMenuButton (line 498) | function SidebarMenuButton({
  function SidebarMenuAction (line 548) | function SidebarMenuAction({
  function SidebarMenuBadge (line 580) | function SidebarMenuBadge({
  function SidebarMenuSkeleton (line 602) | function SidebarMenuSkeleton({
  function SidebarMenuSub (line 640) | function SidebarMenuSub({ className, ...props }: React.ComponentProps<"u...
  function SidebarMenuSubItem (line 655) | function SidebarMenuSubItem({
  function SidebarMenuSubButton (line 669) | function SidebarMenuSubButton({

FILE: apps/www/components/ui/skeleton.tsx
  function Skeleton (line 3) | function Skeleton({ className, ...props }: React.ComponentProps<"div">) {

FILE: apps/www/components/ui/slider.tsx
  function Slider (line 8) | function Slider({

FILE: apps/www/components/ui/software-purchase-card.tsx
  type SoftwarePurchaseCardProps (line 15) | interface SoftwarePurchaseCardProps {
  function SoftwarePurchaseCard (line 25) | function SoftwarePurchaseCard({

FILE: apps/www/components/ui/switch.tsx
  function Switch (line 8) | function Switch({

FILE: apps/www/components/ui/table.tsx
  function Table (line 7) | function Table({ className, ...props }: React.ComponentProps<"table">) {
  function TableHeader (line 22) | function TableHeader({ className, ...props }: React.ComponentProps<"thea...
  function TableBody (line 32) | function TableBody({ className, ...props }: React.ComponentProps<"tbody"...
  function TableFooter (line 42) | function TableFooter({ className, ...props }: React.ComponentProps<"tfoo...
  function TableRow (line 55) | function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
  function TableHead (line 68) | function TableHead({ className, ...props }: React.ComponentProps<"th">) {
  function TableCell (line 81) | function TableCell({ className, ...props }: React.ComponentProps<"td">) {
  function TableCaption (line 94) | function TableCaption({

FILE: apps/www/components/ui/tabs.tsx
  function Tabs (line 8) | function Tabs({
  function TabsList (line 21) | function TabsList({
  function TabsTrigger (line 37) | function TabsTrigger({
  function TabsContent (line 53) | function TabsContent({

FILE: apps/www/components/ui/textarea.tsx
  function Textarea (line 5) | function Textarea({ className, ...props }: React.ComponentProps<"textare...

FILE: apps/www/components/ui/toggle-group.tsx
  function ToggleGroup (line 17) | function ToggleGroup({
  function ToggleGroupItem (line 43) | function ToggleGroupItem({

FILE: apps/www/components/ui/toggle.tsx
  function Toggle (line 31) | function Toggle({

FILE: apps/www/components/ui/tooltip.tsx
  function TooltipProvider (line 8) | function TooltipProvider({
  function Tooltip (line 21) | function Tooltip({
  function TooltipTrigger (line 31) | function TooltipTrigger({
  function TooltipContent (line 37) | function TooltipContent({

FILE: apps/www/hooks/use-config.ts
  type Config (line 4) | type Config = {
  function useConfig (line 16) | function useConfig() {

FILE: apps/www/hooks/use-copy-to-clipboard.ts
  function useCopyToClipboard (line 5) | function useCopyToClipboard({

FILE: apps/www/hooks/use-is-mac.ts
  function useIsMac (line 3) | function useIsMac() {

FILE: apps/www/hooks/use-layout.tsx
  type Layout (line 5) | type Layout = "fixed" | "full"
  type LayoutProviderProps (line 7) | interface LayoutProviderProps {
  type LayoutProviderState (line 16) | interface LayoutProviderState {

FILE: apps/www/hooks/use-media-query.tsx
  function useMediaQuery (line 3) | function useMediaQuery(query: string) {

FILE: apps/www/hooks/use-meta-color.ts
  constant META_THEME_COLORS (line 4) | const META_THEME_COLORS = {
  function useMetaColor (line 9) | function useMetaColor() {

FILE: apps/www/hooks/use-mobile.ts
  function useIsMobile (line 3) | function useIsMobile(mobileBreakpoint = 768) {

FILE: apps/www/hooks/use-mounted.ts
  function useMounted (line 3) | function useMounted() {

FILE: apps/www/lib/analytics.ts
  function trackComponentInstall (line 3) | function trackComponentInstall(
  function trackComponentView (line 15) | function trackComponentView(
  function trackComponentCopy (line 27) | function trackComponentCopy(

FILE: apps/www/lib/auth.ts
  function isUserLoggedIn (line 10) | function isUserLoggedIn(): boolean {
  function hasProAccess (line 20) | function hasProAccess(): boolean {
  function isProComponent (line 31) | function isProComponent(componentName: string): boolean {
  function canAccessComponent (line 41) | function canAccessComponent(componentName: string): boolean {

FILE: apps/www/lib/blocks.ts
  function getAllBlockIds (line 6) | async function getAllBlockIds(
  function getAllBlocks (line 18) | async function getAllBlocks(

FILE: apps/www/lib/config.ts
  constant META_THEME_COLORS (line 32) | const META_THEME_COLORS = {

FILE: apps/www/lib/events.ts
  type Event (line 26) | type Event = z.infer<typeof eventSchema>
  function trackEvent (line 28) | function trackEvent(input: Event): void {

FILE: apps/www/lib/highlight-code.ts
  method code (line 6) | code(node) {
  function highlightCode (line 59) | async function highlightCode(code: string, language: string = "tsx") {

FILE: apps/www/lib/registry.ts
  function getRegistryComponent (line 10) | function getRegistryComponent(name: string) {
  function getRegistryItem (line 14) | async function getRegistryItem(name: string) {
  function buildPathMappings (line 64) | function buildPathMappings(
  function getFileContent (line 82) | async function getFileContent(
  function getFileTarget (line 117) | function getFileTarget(file: z.infer<typeof registryItemFileSchema>) {
  function createTempSourceFile (line 146) | async function createTempSourceFile(filename: string) {
  function fixFilePaths (line 151) | function fixFilePaths(files: z.infer<typeof registryItemSchema>["files"]) {
  function fixImport (line 169) | function fixImport(content: string, pathMappings: Map<string, string>) {
  type FileTree (line 219) | type FileTree = {
  function createFileTreeForRegistryItemFiles (line 225) | function createFileTreeForRegistryItemFiles(

FILE: apps/www/lib/rehype.ts
  type UnistNode (line 8) | interface UnistNode {
  type UnistTree (line 22) | interface UnistTree {
  function rehypeComponent (line 27) | function rehypeComponent() {
  function getNodeAttributeByName (line 164) | function getNodeAttributeByName(node: UnistNode, name: string) {

FILE: apps/www/lib/session.ts
  function setAccessToken (line 3) | function setAccessToken(token: string | null) {
  function getAccessToken (line 6) | function getAccessToken() {
  function clearAccessToken (line 9) | function clearAccessToken() {
  function getAuthHeaders (line 12) | function getAuthHeaders(): HeadersInit {

FILE: apps/www/lib/themes.ts
  constant THEMES (line 1) | const THEMES = [
  type Theme (line 31) | type Theme = (typeof THEMES)[number]

FILE: apps/www/lib/utils.ts
  function cn (line 4) | function cn(...inputs: ClassValue[]) {
  function absoluteUrl (line 8) | function absoluteUrl(path: string) {

FILE: apps/www/middleware.ts
  constant PRIVATE_COMPONENTS (line 5) | const PRIVATE_COMPONENTS = ["testimonials-03", "testimonials-04"]
  function middleware (line 7) | async function middleware(request: NextRequest) {

FILE: apps/www/next.config.mjs
  method redirects (line 37) | redirects() {
  method rewrites (line 96) | async rewrites() {

FILE: apps/www/registry/creative-tim/blocks/account-2fa-01/page.tsx
  function Account2FA01 (line 49) | function Account2FA01() {

FILE: apps/www/registry/creative-tim/blocks/account-avatar-upload-01/page.tsx
  function AccountAvatarUpload01 (line 19) | function AccountAvatarUpload01() {

FILE: apps/www/registry/creative-tim/blocks/account-basic-info-01/page.tsx
  function AccountBasicInfo01 (line 34) | function AccountBasicInfo01() {

FILE: apps/www/registry/creative-tim/blocks/account-change-password-01/page.tsx
  function PasswordField (line 11) | function PasswordField({
  constant PASSWORD_REQUIREMENTS (line 55) | const PASSWORD_REQUIREMENTS = [
  function AccountChangePassword01 (line 78) | function AccountChangePassword01() {

FILE: apps/www/registry/creative-tim/blocks/account-integrations-01/page.tsx
  constant INTEGRATIONS (line 26) | const INTEGRATIONS = [
  function AccountIntegrations01 (line 62) | function AccountIntegrations01() {

FILE: apps/www/registry/creative-tim/blocks/account-notifications-01/page.tsx
  constant TABLE_HEAD (line 9) | const TABLE_HEAD = [
  constant NOTIFICATIONS (line 16) | const NOTIFICATIONS = [
  function AccountNotifications01 (line 67) | function AccountNotifications01() {

FILE: apps/www/registry/creative-tim/blocks/account-sessions-01/page.tsx
  constant ACTIVE_SESSIONS (line 16) | const ACTIVE_SESSIONS = [
  function AccountSessions01 (line 52) | function AccountSessions01() {

FILE: apps/www/registry/creative-tim/blocks/ai-chat-streaming-01/page.tsx
  constant AI_PROVIDERS (line 20) | const AI_PROVIDERS = [
  type Message (line 28) | interface Message {
  function AIChatStreamingBlock (line 36) | function AIChatStreamingBlock() {

FILE: apps/www/registry/creative-tim/blocks/ai-image-generator-01/page.tsx
  constant AI_PROVIDERS (line 31) | const AI_PROVIDERS = [
  constant IMAGE_SIZES (line 39) | const IMAGE_SIZES = [
  function AIImageGeneratorBlock (line 45) | function AIImageGeneratorBlock() {

FILE: apps/www/registry/creative-tim/blocks/ai-video-generator-01/page.tsx
  constant AI_PROVIDERS (line 31) | const AI_PROVIDERS = [
  constant VIDEO_DURATIONS (line 39) | const VIDEO_DURATIONS = [
  constant VIDEO_STYLES (line 46) | const VIDEO_STYLES = [
  type GeneratedVideo (line 54) | interface GeneratedVideo {
  function AIVideoGeneratorBlock (line 64) | function AIVideoGeneratorBlock() {

FILE: apps/www/registry/creative-tim/blocks/billing-information-01/page.tsx
  type BillingCardProps (line 14) | interface BillingCardProps {
  function BillingCard (line 21) | function BillingCard({ company, contact, email, vat }: BillingCardProps) {
  function BillingInformation01 (line 73) | function BillingInformation01() {

FILE: apps/www/registry/creative-tim/blocks/blog-cards-layout-01/page.tsx
  constant POSTS (line 17) | const POSTS = [
  function BlogCardsLayout01 (line 87) | function BlogCardsLayout01() {

FILE: apps/www/registry/creative-tim/blocks/blog-post-preview-tags-01/page.tsx
  constant POSTS (line 6) | const POSTS = [
  function BlogPostPreviewTags01 (line 30) | function BlogPostPreviewTags01() {

FILE: apps/www/registry/creative-tim/blocks/blog-rectangular-images-01/page.tsx
  constant POSTS (line 6) | const POSTS = [
  function BlogRectangularImages01 (line 53) | function BlogRectangularImages01() {

FILE: apps/www/registry/creative-tim/blocks/card-display-01/page.tsx
  type CreditCardProps (line 7) | interface CreditCardProps {
  function CreditCard (line 14) | function CreditCard({
  function CardDisplay01 (line 84) | function CardDisplay01() {

FILE: apps/www/registry/creative-tim/blocks/checkout-01/page.tsx
  constant OPTIONS (line 19) | const OPTIONS = [
  constant PRICE_OPTIONS (line 38) | const PRICE_OPTIONS = [
  function Checkout01 (line 44) | function Checkout01() {

FILE: apps/www/registry/creative-tim/blocks/complex-product-description-01/page.tsx
  constant IMAGES (line 15) | const IMAGES = [
  constant SIZES (line 22) | const SIZES = ["XS", "S", "M", "L", "XL"]
  constant COLORS (line 24) | const COLORS = [
  constant FEATURES (line 30) | const FEATURES = [
  constant ACCORDION_DATA (line 37) | const ACCORDION_DATA = [
  function ComplexProductDescription01 (line 60) | function ComplexProductDescription01() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-01/page.tsx
  constant OPTIONS (line 12) | const OPTIONS = [
  function ContactSections01 (line 27) | function ContactSections01() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-02/page.tsx
  function ContactSections02 (line 9) | function ContactSections02() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-03/page.tsx
  constant DATA (line 19) | const DATA = [
  function ContactSections03 (line 34) | function ContactSections03() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-04/page.tsx
  constant OPTIONS (line 5) | const OPTIONS = [
  function ContactSections04 (line 28) | function ContactSections04() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-05/page.tsx
  constant OPTIONS (line 11) | const OPTIONS = ["General Inquiry", "Product Support"]
  function ContactSections05 (line 13) | function ContactSections05() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-06/page.tsx
  constant OPTIONS (line 5) | const OPTIONS = [
  function ContactSections06 (line 26) | function ContactSections06() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-07/page.tsx
  constant DATA (line 12) | const DATA = [
  function ContactSections07 (line 25) | function ContactSections07() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-08/page.tsx
  constant DATA (line 21) | const DATA = [
  constant OPTIONS (line 36) | const OPTIONS = ["Design", "Development", "Support", "Other"]
  function ContactSections08 (line 38) | function ContactSections08() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-09/page.tsx
  constant DATA (line 12) | const DATA = [
  function ContactSections09 (line 25) | function ContactSections09() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-10/page.tsx
  constant OPTIONS (line 11) | const OPTIONS = [
  function ContactSections10 (line 26) | function ContactSections10() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-11/page.tsx
  function ContactSections11 (line 10) | function ContactSections11() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-12/page.tsx
  function ContactSections12 (line 8) | function ContactSections12() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-13/page.tsx
  constant CONTACT_INFO (line 11) | const CONTACT_INFO = [
  function ContactSections13 (line 34) | function ContactSections13() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-14/page.tsx
  function ContactSections14 (line 10) | function ContactSections14() {

FILE: apps/www/registry/creative-tim/blocks/contact-sections-15/page.tsx
  constant CONTACT_OPTIONS (line 10) | const CONTACT_OPTIONS = [
  function ContactSections15 (line 31) | function ContactSections15() {

FILE: apps/www/registry/creative-tim/blocks/cruds-01/page.tsx
  function Cruds01 (line 16) | function Cruds01() {

FILE: apps/www/registry/creative-tim/blocks/cruds-02/page.tsx
  function Cruds02 (line 8) | function Cruds02() {

FILE: apps/www/registry/creative-tim/blocks/cruds-03/page.tsx
  function Cruds03 (line 17) | function Cruds03() {

FILE: apps/www/registry/creative-tim/blocks/dark-product-overview-01/page.tsx
  constant DATA (line 10) | const DATA = [
  function DarkProductOverview01 (line 34) | function DarkProductOverview01() {

FILE: apps/www/registry/creative-tim/blocks/digital-product-overview-01/page.tsx
  function DigitalProductOverview01 (line 31) | function DigitalProductOverview01() {

FILE: apps/www/registry/creative-tim/blocks/ecommerce-sections-01/page.tsx
  constant PRODUCTS (line 8) | const PRODUCTS = [
  function EcommerceSectionsBlock (line 44) | function EcommerceSectionsBlock() {

FILE: apps/www/registry/creative-tim/blocks/ecommerce-sections-02/page.tsx
  function EcommerceSections02 (line 16) | function EcommerceSections02() {

FILE: apps/www/registry/creative-tim/blocks/empty-shopping-cart-01/page.tsx
  function EmptyShoppingCart01 (line 5) | function EmptyShoppingCart01() {

FILE: apps/www/registry/creative-tim/blocks/faq-left-title-01/page.tsx
  constant DATA (line 3) | const DATA = [
  function FaqLeftTitle01 (line 22) | function FaqLeftTitle01() {

FILE: apps/www/registry/creative-tim/blocks/faqs-cards-icons-01/page.tsx
  constant DATA (line 6) | const DATA = [
  function FaqsCardsIcons01 (line 24) | function FaqsCardsIcons01() {

FILE: apps/www/registry/creative-tim/blocks/faqs-grid-01/page.tsx
  constant DATA (line 12) | const DATA = [
  function FaqsGrid01 (line 45) | function FaqsGrid01() {

FILE: apps/www/registry/creative-tim/blocks/faqs-grid-cta-01/page.tsx
  constant DATA (line 4) | const DATA = [
  function FaqsGridCta01 (line 31) | function FaqsGridCta01() {

FILE: apps/www/registry/creative-tim/blocks/faqs-list-01/page.tsx
  constant DATA (line 8) | const DATA = [
  function FaqsList01 (line 36) | function FaqsList01() {

FILE: apps/www/registry/creative-tim/blocks/footers-01/page.tsx
  constant YEAR (line 7) | const YEAR = new Date().getFullYear()
  function Footers01 (line 9) | function Footers01() {

FILE: apps/www/registry/creative-tim/blocks/footers-02/page.tsx
  constant LINKS (line 8) | const LINKS = [
  constant YEAR (line 38) | const YEAR = new Date().getFullYear()
  function Footers02 (line 40) | function Footers02() {

FILE: apps/www/registry/creative-tim/blocks/footers-03/page.tsx
  constant YEAR (line 5) | const YEAR = new Date().getFullYear()
  constant LINKS (line 7) | const LINKS = [
  function Footers03 (line 14) | function Footers03() {

FILE: apps/www/registry/creative-tim/blocks/footers-04/page.tsx
  constant LINKS (line 9) | const LINKS = [
  constant YEAR (line 17) | const YEAR = new Date().getFullYear()
  function Footers04 (line 19) | function Footers04() {

FILE: apps/www/registry/creative-tim/blocks/footers-05/page.tsx
  constant LINKS (line 14) | const LINKS = [
  constant YEAR (line 53) | const YEAR = new Date().getFullYear()
  function Footers05 (line 55) | function Footers05() {

FILE: apps/www/registry/creative-tim/blocks/footers-06/page.tsx
  constant LINKS (line 7) | const LINKS = [
  constant YEAR (line 46) | const YEAR = new Date().getFullYear()
  function Footers06 (line 48) | function Footers06() {

FILE: apps/www/registry/creative-tim/blocks/footers-07/page.tsx
  constant YEAR (line 14) | const YEAR = new Date().getFullYear()
  constant LINKS (line 16) | const LINKS = [
  constant COUNTRIES (line 22) | const COUNTRIES = [
  function Footers07 (line 33) | function Footers07() {

FILE: apps/www/registry/creative-tim/blocks/footers-08/page.tsx
  constant YEAR (line 8) | const YEAR = new Date().getFullYear()
  function Footers08 (line 10) | function Footers08() {

FILE: apps/www/registry/creative-tim/blocks/footers-09/page.tsx
  constant YEAR (line 5) | const YEAR = new Date().getFullYear()
  constant LINKS (line 7) | const LINKS = [
  function Footers09 (line 13) | function Footers09() {

FILE: apps/www/registry/creative-tim/blocks/footers-10/page.tsx
  constant YEAR (line 3) | const YEAR = new Date().getFullYear()
  constant LINKS (line 5) | const LINKS = [
  function Footers10 (line 14) | function Footers10() {

FILE: apps/www/registry/creative-tim/blocks/footers-11/page.tsx
  constant LINKS (line 3) | const LINKS = [
  constant YEAR (line 27) | const YEAR = new Date().getFullYear()
  function Footers11 (line 29) | function Footers11() {

FILE: apps/www/registry/creative-tim/blocks/footers-12/page.tsx
  constant YEAR (line 3) | const YEAR = new Date().getFullYear()
  constant LINKS (line 5) | const LINKS = [
  function Footers12 (line 13) | function Footers12() {

FILE: apps/www/registry/creative-tim/blocks/footers-13/page.tsx
  constant YEAR (line 7) | const YEAR = new Date().getFullYear()
  constant LINKS (line 9) | const LINKS = [
  function Footers13 (line 18) | function Footers13() {

FILE: apps/www/registry/creative-tim/blocks/footers-14/page.tsx
  constant YEAR (line 7) | const YEAR = new Date().getFullYear()
  constant LINKS (line 9) | const LINKS = [
  function Footers14 (line 17) | function Footers14() {

FILE: apps/www/registry/creative-tim/blocks/footers-15/page.tsx
  constant YEAR (line 7) | const YEAR = new Date().getFullYear()
  constant LINKS (line 9) | const LINKS = [
  function Footers15 (line 17) | function Footers15() {

FILE: apps/www/registry/creative-tim/blocks/grid-ecommerce-01/page.tsx
  constant CARDS (line 6) | const CARDS = [
  function GridEcommerce01 (line 27) | function GridEcommerce01() {

FILE: apps/www/registry/creative-tim/blocks/highlighted-blog-posts-01/page.tsx
  constant POSTS (line 15) | const POSTS = [
  function HighlightedBlogPosts01 (line 42) | function HighlightedBlogPosts01() {

FILE: apps/www/registry/creative-tim/blocks/interactive-product-preview-01/page.tsx
  function InteractiveProductPreview01 (line 17) | function InteractiveProductPreview01() {

FILE: apps/www/registry/creative-tim/blocks/invoices-01/page.tsx
  constant DATA (line 9) | const DATA = [
  function Invoices01 (line 47) | function Invoices01() {

FILE: apps/www/registry/creative-tim/blocks/large-blog-preview-01/page.tsx
  function LargeBlogPreview01 (line 5) | function LargeBlogPreview01() {

FILE: apps/www/registry/creative-tim/blocks/modals-01/page.tsx
  function ModalsBlock (line 17) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-02/page.tsx
  constant NOTIFICATION (line 26) | const NOTIFICATION = ["Email", "SMS", "Push Notification"]
  constant TOOLS (line 27) | const TOOLS = ["React", "Material Tailwind", "TailwindCSS", "Next.js"]
  function ModalsBlock (line 29) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-03/page.tsx
  type UserProps (line 23) | interface UserProps {
  function User (line 29) | function User({ name, img, email }: UserProps) {
  function ModalsBlock (line 67) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-04/page.tsx
  function ModalsBlock (line 25) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-05/page.tsx
  constant IMAGES (line 16) | const IMAGES = [
  function ModalsBlock (line 27) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-06/page.tsx
  function ModalsBlock (line 16) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-07/page.tsx
  function ModalsBlock (line 15) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-08/page.tsx
  function ModalsBlock (line 16) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-09/page.tsx
  function ModalsBlock (line 25) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-10/page.tsx
  function ModalsBlock (line 16) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/modals-11/page.tsx
  function ModalsBlock (line 17) | function ModalsBlock() {

FILE: apps/www/registry/creative-tim/blocks/order-details-01/page.tsx
  constant OPTIONS (line 22) | const OPTIONS = [
  function OrderDetails01 (line 28) | function OrderDetails01() {

FILE: apps/www/registry/creative-tim/blocks/order-history-01/page.tsx
  constant OPTIONS (line 15) | const OPTIONS = [
  constant TABLE_ROW (line 30) | const TABLE_ROW = [
  constant TABLE_HEAD (line 51) | const TABLE_HEAD = ["Product", "Amount", "Status", "Date", "Details"]
  function OrderHistory01 (line 53) | function OrderHistory01() {

FILE: apps/www/registry/creative-tim/blocks/payment-method-01/page.tsx
  type PaymentMethodProps (line 15) | interface PaymentMethodProps {
  function PaymentMethod (line 21) | function PaymentMethod({ type, number, isDefault }: PaymentMethodProps) {
  function PaymentMethod01 (line 92) | function PaymentMethod01() {

FILE: apps/www/registry/creative-tim/blocks/product-description-01/page.tsx
  constant IMAGES (line 23) | const IMAGES = [
  constant SIZES (line 30) | const SIZES = ["32", "34", "36", "38", "40", "42", "44"]
  constant COLORS (line 32) | const COLORS = [
  constant FEATURES (line 40) | const FEATURES = [
  function ProductDescription01 (line 46) | function ProductDescription01() {

FILE: apps/www/registry/creative-tim/blocks/product-details-01/page.tsx
  constant IMAGES (line 9) | const IMAGES = [
  constant SIZES (line 15) | const SIZES = ["XS", "S", "M", "L"]
  function ProductDetails01 (line 17) | function ProductDetails01() {

FILE: apps/www/registry/creative-tim/blocks/product-listing-filters-01/page.tsx
  constant FILTERS (line 16) | const FILTERS = [
  constant PRODUCTS (line 44) | const PRODUCTS = [
  function ProductListingFilters01 (line 83) | function ProductListingFilters01() {

FILE: apps/www/registry/creative-tim/blocks/promotional-cards-01/page.tsx
  constant PRODUCTS (line 5) | const PRODUCTS = [
  function PromotionalCards01 (line 26) | function PromotionalCards01() {

FILE: apps/www/registry/creative-tim/blocks/shopping-cart-01/page.tsx
  constant CHECKOUT_PRODUCTS (line 24) | const CHECKOUT_PRODUCTS = [
  function ShoppingCart01 (line 43) | function ShoppingCart01() {

FILE: apps/www/registry/creative-tim/blocks/simple-blog-content-01/page.tsx
  constant POSTS (line 14) | const POSTS = [
  function SimpleBlogContent01 (line 50) | function SimpleBlogContent01() {

FILE: apps/www/registry/creative-tim/blocks/simple-faq-01/page.tsx
  function SimpleFaq01 (line 1) | function SimpleFaq01() {

FILE: apps/www/registry/creative-tim/blocks/simple-product-details-01/page.tsx
  constant SIZES (line 16) | const SIZES = ["XS", "S", "M", "L", "XL", "XXL"]
  constant SIMILAR_ITEMS (line 18) | const SIMILAR_ITEMS = [
  function SimpleProductDetails01 (line 35) | function SimpleProductDetails01() {

FILE: apps/www/registry/creative-tim/blocks/software-purchase-01/page.tsx
  function Page (line 7) | function Page() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-01/page.tsx
  constant TESTIMONIALS (line 9) | const TESTIMONIALS = [
  function TestimonialsBlock (line 36) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-02/page.tsx
  constant TESTIMONIALS (line 8) | const TESTIMONIALS = [
  function TestimonialsBlock (line 62) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-03/page.tsx
  function TestimonialsBlock (line 38) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-04/page.tsx
  constant TESTIMONIALS (line 7) | const TESTIMONIALS = [
  function TestimonialsBlock (line 37) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-05/page.tsx
  constant TESTIMONIALS (line 8) | const TESTIMONIALS = [
  function TestimonialsBlock (line 38) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-06/page.tsx
  function TestimonialsBlock (line 6) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-07/page.tsx
  constant TESTIMONIALS (line 7) | const TESTIMONIALS = [
  function TestimonialsBlock (line 34) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-08/page.tsx
  constant TESTIMONIALS (line 8) | const TESTIMONIALS = [
  function TestimonialsBlock (line 38) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-09/page.tsx
  function TestimonialsBlock (line 6) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-10/page.tsx
  constant TESTIMONIALS (line 9) | const TESTIMONIALS = [
  function TestimonialsBlock (line 33) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-11/page.tsx
  constant TESTIMONIALS (line 8) | const TESTIMONIALS = [
  function TestimonialsBlock (line 41) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-12/page.tsx
  function TestimonialsBlock (line 5) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-13/page.tsx
  function TestimonialsBlock (line 6) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-14/page.tsx
  constant TESTIMONIALS (line 6) | const TESTIMONIALS = [
  function TestimonialsBlock (line 33) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-15/page.tsx
  constant TESTIMONIALS (line 7) | const TESTIMONIALS = [
  function TestimonialsBlock (line 36) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-16/page.tsx
  constant SLIDES (line 9) | const SLIDES = [
  function TestimonialsBlock (line 39) | function TestimonialsBlock() {

FILE: apps/www/registry/creative-tim/blocks/testimonials-17/page.tsx
  constant SLIDES (line 9) | const SLIDES = [

FILE: apps/www/registry/creative-tim/blocks/transaction-history-01/page.tsx
  constant DATA (line 17) | const DATA = {
  constant ICONS (line 60) | const ICONS = {
  constant COLORS (line 66) | const COLORS = {
  constant ICON_COLORS (line 72) | const ICON_COLORS = {
  constant PREFIX (line 78) | const PREFIX = {
  function TransactionHistory01 (line 84) | function TransactionHistory01() {

FILE: apps/www/registry/creative-tim/blocks/web3-01/page.tsx
  constant DATA (line 6) | const DATA = [
  function Web301 (line 33) | function Web301() {

FILE: apps/www/registry/creative-tim/blocks/web3-02/page.tsx
  constant DATA (line 10) | const DATA = [
  function Web302 (line 31) | function Web302() {

FILE: apps/www/registry/creative-tim/blocks/web3-03/page.tsx
  constant DATA (line 17) | const DATA = [
  function Web303 (line 46) | function Web303() {

FILE: apps/www/registry/creative-tim/blocks/web3-04/page.tsx
  constant DATA (line 17) | const DATA = [
  function Web304 (line 46) | function Web304() {

FILE: apps/www/registry/creative-tim/blocks/web3-05/page.tsx
  constant DATA (line 9) | const DATA = [
  function Web305 (line 47) | function Web305() {

FILE: apps/www/registry/creative-tim/examples/card-blog.tsx
  function CardBlog (line 14) | function CardBlog() {

FILE: apps/www/registry/creative-tim/examples/card-demo.tsx
  function CardDemo (line 16) | function CardDemo() {

FILE: apps/www/registry/creative-tim/examples/card-ecommerce.tsx
  function CardEcommerce (line 16) | function CardEcommerce() {

FILE: apps/www/registry/creative-tim/examples/card-plain.tsx
  function CardPlain (line 5) | function CardPlain() {

FILE: apps/www/registry/creative-tim/examples/card-with-button.tsx
  function CardWithButton (line 13) | function CardWithButton() {

FILE: apps/www/registry/creative-tim/examples/form-card-demo.tsx
  function FormCardDemo (line 15) | function FormCardDemo() {

FILE: apps/www/registry/creative-tim/examples/software-purchase-card-demo.tsx
  function SoftwarePurchaseCardDemo (line 5) | function SoftwarePurchaseCardDemo() {

FILE: apps/www/registry/creative-tim/hooks/use-mobile.ts
  constant MOBILE_BREAKPOINT (line 3) | const MOBILE_BREAKPOINT = 768
  function useIsMobile (line 5) | function useIsMobile() {

FILE: apps/www/registry/creative-tim/lib/utils.ts
  function cn (line 4) | function cn(...inputs: ClassValue[]) {

FILE: apps/www/registry/creative-tim/ui/accordion.tsx
  function Accordion (line 9) | function Accordion({
  function AccordionItem (line 15) | function AccordionItem({
  function AccordionTrigger (line 28) | function AccordionTrigger({
  function AccordionContent (line 50) | function AccordionContent({

FILE: apps/www/registry/creative-tim/ui/alert-dialog.tsx
  function AlertDialog (line 9) | function AlertDialog({
  function AlertDialogTrigger (line 15) | function AlertDialogTrigger({
  function AlertDialogPortal (line 23) | function AlertDialogPortal({
  function AlertDialogOverlay (line 31) | function AlertDialogOverlay({
  function AlertDialogContent (line 47) | function AlertDialogContent({
  function AlertDialogHeader (line 66) | function AlertDialogHeader({
  function AlertDialogFooter (line 79) | function AlertDialogFooter({
  function AlertDialogTitle (line 95) | function AlertDialogTitle({
  function AlertDialogDescription (line 108) | function AlertDialogDescription({
  function AlertDialogAction (line 121) | function AlertDialogAction({
  function AlertDialogCancel (line 133) | function AlertDialogCancel({

FILE: apps/www/registry/creative-tim/ui/alert.tsx
  function Alert (line 22) | function Alert({
  function AlertTitle (line 37) | function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
  function AlertDescription (line 50) | function AlertDescription({

FILE: apps/www/registry/creative-tim/ui/aspect-ratio.tsx
  function AspectRatio (line 5) | function AspectRatio({

FILE: apps/www/registry/creative-tim/ui/avatar.tsx
  function Avatar (line 8) | function Avatar({
  function AvatarImage (line 24) | function AvatarImage({
  function AvatarFallback (line 37) | function AvatarFallback({

FILE: apps/www/registry/creative-tim/ui/badge.tsx
  function Badge (line 28) | function Badge({

FILE: apps/www/registry/creative-tim/ui/breadcrumb.tsx
  function Breadcrumb (line 7) | function Breadcrumb({ ...props }: React.ComponentProps<"nav">) {
  function BreadcrumbList (line 11) | function BreadcrumbList({ className, ...props }: React.ComponentProps<"o...
  function BreadcrumbItem (line 24) | function BreadcrumbItem({ className, ...props }: React.ComponentProps<"l...
  function BreadcrumbLink (line 34) | function BreadcrumbLink({
  function BreadcrumbPage (line 52) | function BreadcrumbPage({ className, ...props }: React.ComponentProps<"s...
  function BreadcrumbSeparator (line 65) | function BreadcrumbSeparator({
  function BreadcrumbEllipsis (line 83) | function BreadcrumbEllipsis({

FILE: apps/www/registry/creative-tim/ui/button-group.tsx
  type ButtonGroupProps (line 38) | interface ButtonGroupProps
  function ButtonGroup (line 44) | function ButtonGroup({

FILE: apps/www/registry/creative-tim/ui/button.tsx
  function Button (line 37) | function Button({

FILE: apps/www/registry/creative-tim/ui/calendar.tsx
  function Calendar (line 14) | function Calendar({
  function CalendarDayButton (line 175) | function CalendarDayButton({

FILE: apps/www/registry/creative-tim/ui/card.tsx
  function Card (line 5) | function Card({ className, ...props }: React.ComponentProps<"div">) {
  function CardHeader (line 18) | function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
  function CardTitle (line 31) | function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
  function CardDescription (line 41) | function CardDescription({ className, ...props }: React.ComponentProps<"...
  function CardAction (line 51) | function CardAction({ className, ...props }: React.ComponentProps<"div">) {
  function CardContent (line 64) | function CardContent({ className, ...props }: React.ComponentProps<"div"...
  function CardFooter (line 74) | function CardFooter({ className, ...props }: React.ComponentProps<"div">) {

FILE: apps/www/registry/creative-tim/ui/carousel.tsx
  type CarouselApi (line 12) | type CarouselApi = UseEmblaCarouselType[1]
  type UseCarouselParameters (line 13) | type UseCarouselParameters = Parameters<typeof useEmblaCarousel>
  type CarouselOptions (line 14) | type CarouselOptions = UseCarouselParameters[0]
  type CarouselPlugin (line 15) | type CarouselPlugin = UseCarouselParameters[1]
  type CarouselProps (line 17) | type CarouselProps = {
  type CarouselContextProps (line 24) | type CarouselContextProps = {
  function useCarousel (line 35) | function useCarousel() {
  function Carousel (line 45) | function Carousel({
  function CarouselContent (line 135) | function CarouselContent({ className, ...props }: React.ComponentProps<"...
  function CarouselItem (line 156) | function CarouselItem({ className, ...props }: React.ComponentProps<"div...
  function CarouselPrevious (line 174) | function CarouselPrevious({
  function CarouselNext (line 204) | function CarouselNext({

FILE: apps/www/registry/creative-tim/ui/chart.tsx
  constant THEMES (line 9) | const THEMES = { light: "", dark: ".dark" } as const
  type ChartConfig (line 11) | type ChartConfig = {
  type ChartContextProps (line 21) | type ChartContextProps = {
  function useChart (line 27) | function useChart() {
  function ChartContainer (line 37) | function ChartContainer({
  function ChartTooltipContent (line 107) | function ChartTooltipContent({
  function ChartLegendContent (line 255) | function ChartLegendContent({
  function getPayloadConfigFromPayload (line 312) | function getPayloadConfigFromPayload(

FILE: apps/www/registry/creative-tim/ui/checkbox.tsx
  function Checkbox (line 9) | function Checkbox({

FILE: apps/www/registry/creative-tim/ui/chip.tsx
  function Chip (line 38) | function Chip({

FILE: apps/www/registry/creative-tim/ui/collapse.tsx
  type CollapseProps (line 8) | interface CollapseProps
  function Collapse (line 14) | function Collapse({ open, onOpenChange, children, ...props }: CollapsePr...
  function CollapseContent (line 26) | function CollapseContent({

FILE: apps/www/registry/creative-tim/ui/collapsible.tsx
  function Collapsible (line 5) | function Collapsible({
  function CollapsibleTrigger (line 11) | function CollapsibleTrigger({
  function CollapsibleContent (line 22) | function CollapsibleContent({

FILE: apps/www/registry/creative-tim/ui/command.tsx
  function Command (line 16) | function Command({
  function CommandDialog (line 32) | function CommandDialog({
  function CommandInput (line 63) | function CommandInput({
  function CommandList (line 85) | function CommandList({
  function CommandEmpty (line 101) | function CommandEmpty({
  function CommandGroup (line 113) | function CommandGroup({
  function CommandSeparator (line 129) | function CommandSeparator({
  function CommandItem (line 142) | function CommandItem({
  function CommandShortcut (line 158) | function CommandShortcut({

FILE: apps/www/registry/creative-tim/ui/context-menu.tsx
  function ContextMenu (line 9) | function ContextMenu({
  function ContextMenuTrigger (line 15) | function ContextMenuTrigger({
  function ContextMenuGroup (line 23) | function ContextMenuGroup({
  function ContextMenuPortal (line 31) | function ContextMenuPortal({
  function ContextMenuSub (line 39) | function ContextMenuSub({
  function ContextMenuRadioGroup (line 45) | function ContextMenuRadioGroup({
  function ContextMenuSubTrigger (line 56) | function ContextMenuSubTrigger({
  function ContextMenuSubContent (line 80) | function ContextMenuSubContent({
  function ContextMenuContent (line 96) | function ContextMenuContent({
  function ContextMenuItem (line 114) | function ContextMenuItem({
  function ContextMenuCheckboxItem (line 137) | function ContextMenuCheckboxItem({
  function ContextMenuRadioItem (line 163) | function ContextMenuRadioItem({
  function ContextMenuLabel (line 187) | function ContextMenuLabel({
  function ContextMenuSeparator (line 207) | function ContextMenuSeparator({
  function ContextMenuShortcut (line 220) | function ContextMenuShortcut({

FILE: apps/www/registry/creative-tim/ui/dialog.tsx
  function Dialog (line 9) | function Dialog({
  function DialogTrigger (line 15) | function DialogTrigger({
  function DialogPortal (line 21) | function DialogPortal({
  function DialogClose (line 27) | function DialogClose({
  function DialogOverlay (line 33) | function DialogOverlay({
  function DialogContent (line 49) | function DialogContent({
  function DialogHeader (line 83) | function DialogHeader({ className, ...props }: React.ComponentProps<"div...
  function DialogFooter (line 93) | function DialogFooter({ className, ...props }: React.ComponentProps<"div...
  function DialogTitle (line 106) | function DialogTitle({
  function DialogDescription (line 119) | function DialogDescription({

FILE: apps/www/registry/creative-tim/ui/drawer.tsx
  function Drawer (line 8) | function Drawer({
  function DrawerTrigger (line 14) | function DrawerTrigger({
  function DrawerPortal (line 20) | function DrawerPortal({
  function DrawerClose (line 26) | function DrawerClose({
  function DrawerOverlay (line 32) | function DrawerOverlay({
  function DrawerContent (line 48) | function DrawerContent({
  function DrawerHeader (line 75) | function DrawerHeader({ className, ...props }: React.ComponentProps<"div...
  function DrawerFooter (line 88) | function DrawerFooter({ className, ...props }: React.ComponentProps<"div...
  function DrawerTitle (line 98) | function DrawerTitle({
  function DrawerDescription (line 111) | function DrawerDescription({

FILE: apps/www/registry/creative-tim/ui/dropdown-menu.tsx
  function DropdownMenu (line 9) | function DropdownMenu({
  function DropdownMenuPortal (line 15) | function DropdownMenuPortal({
  function DropdownMenuTrigger (line 23) | function DropdownMenuTrigger({
  function DropdownMenuContent (line 34) | function DropdownMenuContent({
  function DropdownMenuGroup (line 54) | function DropdownMenuGroup({
  function DropdownMenuItem (line 62) | function DropdownMenuItem({
  function DropdownMenuCheckboxItem (line 85) | function DropdownMenuCheckboxItem({
  function DropdownMenuRadioGroup (line 111) | function DropdownMenuRadioGroup({
  function DropdownMenuRadioItem (line 122) | function DropdownMenuRadioItem({
  function DropdownMenuLabel (line 146) | function DropdownMenuLabel({
  function DropdownMenuSeparator (line 166) | function DropdownMenuSeparator({
  function DropdownMenuShortcut (line 179) | function DropdownMenuShortcut({
  function DropdownMenuSub (line 195) | function DropdownMenuSub({
  function DropdownMenuSubTrigger (line 201) | function DropdownMenuSubTrigger({
  function DropdownMenuSubContent (line 225) | function DropdownMenuSubContent({

FILE: apps/www/registry/creative-tim/ui/form.tsx
  type FormFieldContextValue (line 21) | type FormFieldContextValue<
  type FormItemContextValue (line 68) | type FormItemContextValue = {
  function FormItem (line 76) | function FormItem({ className, ...props }: React.ComponentProps<"div">) {
  function FormLabel (line 90) | function FormLabel({
  function FormControl (line 107) | function FormControl({ ...props }: React.ComponentProps<typeof Slot>) {
  function FormDescription (line 125) | function FormDescription({ className, ...props }: React.ComponentProps<"...
  function FormMessage (line 138) | function FormMessage({ className, ...props }: React.ComponentProps<"p">) {

FILE: apps/www/registry/creative-tim/ui/hover-card.tsx
  function HoverCard (line 8) | function HoverCard({
  function HoverCardTrigger (line 14) | function HoverCardTrigger({
  function HoverCardContent (line 22) | function HoverCardContent({

FILE: apps/www/registry/creative-tim/ui/input-otp.tsx
  function InputOTP (line 9) | function InputOTP({
  function InputOTPGroup (line 29) | function InputOTPGroup({ className, ...props }: React.ComponentProps<"di...
  function InputOTPSlot (line 39) | function InputOTPSlot({
  function InputOTPSeparator (line 69) | function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {

FILE: apps/www/registry/creative-tim/ui/input.tsx
  function Input (line 5) | function Input({ className, type, ...props }: React.ComponentProps<"inpu...

FILE: apps/www/registry/creative-tim/ui/label.tsx
  function Label (line 8) | function Label({

FILE: apps/www/registry/creative-tim/ui/list.tsx
  function List (line 8) | function List({ className, ...props }: React.ComponentProps<"ul">) {
  function ListItem (line 18) | function ListItem({
  function ListItemStart (line 49) | function ListItemStart({ className, ...props }: React.ComponentProps<"di...
  function ListItemEnd (line 59) | function ListItemEnd({ className, ...props }: React.ComponentProps<"div"...

FILE: apps/www/registry/creative-tim/ui/map.tsx
  type MapContextValue (line 56) | interface MapContextValue {
  type MapProps (line 61) | interface MapProps extends Omit<maplibregl.MapOptions, "container" | "st...
  type MapMarkerProps (line 74) | interface MapMarkerProps {
  type MarkerContentProps (line 87) | interface MarkerContentProps {
  type MarkerPopupProps (line 92) | interface MarkerPopupProps {
  type MarkerTooltipProps (line 99) | interface MarkerTooltipProps {
  type MarkerLabelProps (line 104) | interface MarkerLabelProps {
  type MapControlsProps (line 110) | interface MapControlsProps {
  type MapPopupProps (line 120) | interface MapPopupProps {
  type MapRouteProps (line 129) | interface MapRouteProps {
  type MapClusterLayerProps (line 142) | interface MapClusterLayerProps<T = unknown> {
  function useMap (line 169) | function useMap() {
  constant DEFAULT_LIGHT_STYLE (line 183) | const DEFAULT_LIGHT_STYLE = "https://tiles.openfreemap.org/styles/positron"
  constant DEFAULT_DARK_STYLE (line 184) | const DEFAULT_DARK_STYLE = "https://tiles.openfreemap.org/styles/dark"
  function Map (line 186) | function Map({
  type MarkerContextValue (line 289) | interface MarkerContextValue {
  function MapMarker (line 296) | function MapMarker({
  function MarkerContent (line 401) | function MarkerContent({ children, className }: MarkerContentProps) {
  function MarkerPopup (line 416) | function MarkerPopup({
  function MarkerTooltip (line 495) | function MarkerTooltip({ children, className }: MarkerTooltipProps) {
  function MarkerLabel (line 563) | function MarkerLabel({
  function MapControls (line 598) | function MapControls({
  function MapPopup (line 733) | function MapPopup({
  function MapRoute (line 792) | function MapRoute({
  function MapClusterLayer (line 895) | function MapClusterLayer<T = unknown>({

FILE: apps/www/registry/creative-tim/ui/menubar.tsx
  function Menubar (line 9) | function Menubar({
  function MenubarMenu (line 25) | function MenubarMenu({
  function MenubarGroup (line 31) | function MenubarGroup({
  function MenubarPortal (line 37) | function MenubarPortal({
  function MenubarRadioGroup (line 43) | function MenubarRadioGroup({
  function MenubarTrigger (line 51) | function MenubarTrigger({
  function MenubarContent (line 67) | function MenubarContent({
  function MenubarItem (line 91) | function MenubarItem({
  function MenubarCheckboxItem (line 114) | function MenubarCheckboxItem({
  function MenubarRadioItem (line 140) | function MenubarRadioItem({
  function MenubarLabel (line 164) | function MenubarLabel({
  function MenubarSeparator (line 184) | function MenubarSeparator({
  function MenubarShortcut (line 197) | function MenubarShortcut({
  function MenubarSub (line 213) | function MenubarSub({
  function MenubarSubTrigger (line 219) | function MenubarSubTrigger({
  function MenubarSubContent (line 243) | function MenubarSubContent({

FILE: apps/www/registry/creative-tim/ui/navigation-menu.tsx
  function NavigationMenu (line 8) | function NavigationMenu({
  function NavigationMenuList (line 32) | function NavigationMenuList({
  function NavigationMenuItem (line 48) | function NavigationMenuItem({
  function NavigationMenuTrigger (line 65) | function NavigationMenuTrigger({
  function NavigationMenuContent (line 85) | function NavigationMenuContent({
  function NavigationMenuViewport (line 102) | function NavigationMenuViewport({
  function NavigationMenuLink (line 124) | function NavigationMenuLink({
  function NavigationMenuIndicator (line 140) | function NavigationMenuIndicator({

FILE: apps/www/registry/creative-tim/ui/pagination.tsx
  function Pagination (line 11) | function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
  function PaginationContent (line 23) | function PaginationContent({
  function PaginationItem (line 36) | function PaginationItem({ ...props }: React.ComponentProps<"li">) {
  type PaginationLinkProps (line 40) | type PaginationLinkProps = {
  function PaginationLink (line 45) | function PaginationLink({
  function PaginationPrevious (line 68) | function PaginationPrevious({
  function PaginationNext (line 85) | function PaginationNext({
  function PaginationEllipsis (line 102) | function PaginationEllipsis({

FILE: apps/www/registry/creative-tim/ui/popover.tsx
  function Popover (line 8) | function Popover({
  function PopoverTrigger (line 14) | function PopoverTrigger({
  function PopoverContent (line 27) | function PopoverContent({
  function PopoverAnchor (line 49) | function PopoverAnchor({

FILE: apps/www/registry/creative-tim/ui/progress.tsx
  function Progress (line 8) | function Progress({

FILE: apps/www/registry/creative-tim/ui/radio-group.tsx
  function RadioGroup (line 9) | function RadioGroup({
  function RadioGroupItem (line 22) | function RadioGroupItem({

FILE: apps/www/registry/creative-tim/ui/rating.tsx
  type RatingProps (line 30) | interface RatingProps
  function Rating (line 41) | function Rating({

FILE: apps/www/registry/creative-tim/ui/resizable.tsx
  function ResizablePanelGroup (line 9) | function ResizablePanelGroup({
  function ResizablePanel (line 25) | function ResizablePanel({
  function ResizableHandle (line 31) | function ResizableHandle({

FILE: apps/www/registry/creative-tim/ui/scroll-area.tsx
  function ScrollArea (line 8) | function ScrollArea({
  function ScrollBar (line 31) | function ScrollBar({

FILE: apps/www/registry/creative-tim/ui/select.tsx
  function Select (line 9) | function Select({
  function SelectGroup (line 15) | function SelectGroup({
  function SelectValue (line 21) | function SelectValue({
  function SelectTrigger (line 27) | function SelectTrigger({
  function SelectContent (line 53) | function SelectContent({
  function SelectLabel (line 88) | function SelectLabel({
  function SelectItem (line 101) | function SelectItem({
  function SelectSeparator (line 125) | function SelectSeparator({
  function SelectScrollUpButton (line 138) | function SelectScrollUpButton({
  function SelectScrollDownButton (line 156) | function SelectScrollDownButton({

FILE: apps/www/registry/creative-tim/ui/separator.tsx
  function Separator (line 8) | function Separator({

FILE: apps/www/registry/creative-tim/ui/sheet.tsx
  function Sheet (line 9) | function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive....
  function SheetTrigger (line 13) | function SheetTrigger({
  function SheetClose (line 19) | function SheetClose({
  function SheetPortal (line 25) | function SheetPortal({
  function SheetOverlay (line 31) | function SheetOverlay({
  function SheetContent (line 47) | function SheetContent({
  function SheetHeader (line 84) | function SheetHeader({ className, ...props }: React.ComponentProps<"div"...
  function SheetFooter (line 94) | function SheetFooter({ className, ...props }: React.ComponentProps<"div"...
  function SheetTitle (line 104) | function SheetTitle({
  function SheetDescription (line 117) | function SheetDescription({

FILE: apps/www/registry/creative-tim/ui/sidebar.tsx
  constant SIDEBAR_COOKIE_NAME (line 28) | const SIDEBAR_COOKIE_NAME = "sidebar_state"
  constant SIDEBAR_COOKIE_MAX_AGE (line 29) | const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7
  constant SIDEBAR_WIDTH (line 30) | const SIDEBAR_WIDTH = "16rem"
  constant SIDEBAR_WIDTH_MOBILE (line 31) | const SIDEBAR_WIDTH_MOBILE = "18rem"
  constant SIDEBAR_WIDTH_ICON (line 32) | const SIDEBAR_WIDTH_ICON = "3rem"
  constant SIDEBAR_KEYBOARD_SHORTCUT (line 33) | const SIDEBAR_KEYBOARD_SHORTCUT = "b"
  type SidebarContextProps (line 35) | type SidebarContextProps = {
  function useSidebar (line 47) | function useSidebar() {
  function SidebarProvider (line 56) | function SidebarProvider({
  function Sidebar (line 154) | function Sidebar({
  function SidebarTrigger (line 256) | function SidebarTrigger({
  function SidebarRail (line 282) | function SidebarRail({ className, ...props }: React.ComponentProps<"butt...
  function SidebarInset (line 307) | function SidebarInset({ className, ...props }: React.ComponentProps<"mai...
  function SidebarInput (line 321) | function SidebarInput({
  function SidebarHeader (line 335) | function SidebarHeader({ className, ...props }: React.ComponentProps<"di...
  function SidebarFooter (line 346) | function SidebarFooter({ className, ...props }: React.ComponentProps<"di...
  function SidebarSeparator (line 357) | function SidebarSeparator({
  function SidebarContent (line 371) | function SidebarContent({ className, ...props }: React.ComponentProps<"d...
  function SidebarGroup (line 385) | function SidebarGroup({ className, ...props }: React.ComponentProps<"div...
  function SidebarGroupLabel (line 396) | function SidebarGroupLabel({
  function SidebarGroupAction (line 417) | function SidebarGroupAction({
  function SidebarGroupContent (line 440) | function SidebarGroupContent({
  function SidebarMenu (line 454) | function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">) {
  function SidebarMenuItem (line 465) | function SidebarMenuItem({ className, ...props }: React.ComponentProps<"...
  function SidebarMenuButton (line 498) | function SidebarMenuButton({
  function SidebarMenuAction (line 548) | function SidebarMenuAction({
  function SidebarMenuBadge (line 580) | function SidebarMenuBadge({
  function SidebarMenuSkeleton (line 602) | function SidebarMenuSkeleton({
  function SidebarMenuSub (line 640) | function SidebarMenuSub({ className, ...props }: React.ComponentProps<"u...
  function SidebarMenuSubItem (line 655) | function SidebarMenuSubItem({
  function SidebarMenuSubButton (line 669) | function SidebarMenuSubButton({

FILE: apps/www/registry/creative-tim/ui/skeleton.tsx
  function Skeleton (line 3) | function Skeleton({ className, ...props }: React.ComponentProps<"div">) {

FILE: apps/www/registry/creative-tim/ui/slider.tsx
  function Slider (line 8) | function Slider({

FILE: apps/www/registry/creative-tim/ui/software-purchase-card.tsx
  type SoftwarePurchaseCardProps (line 15) | interface SoftwarePurchaseCardProps {
  function SoftwarePurchaseCard (line 25) | function SoftwarePurchaseCard({

FILE: apps/www/registry/creative-tim/ui/spinner.tsx
  type SpinnerProps (line 25) | interface SpinnerProps
  function Spinner (line 29) | function Spinner({ className, size, ...props }: SpinnerProps) {

FILE: apps/www/registry/creative-tim/ui/stepper.tsx
  type StepperProps (line 12) | interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {
  function Stepper (line 17) | function Stepper({
  type StepperItemProps (line 48) | interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {
  function StepperItem (line 53) | function StepperItem({
  function StepperHeader (line 83) | function StepperHeader({
  function StepperSeparator (line 92) | function StepperSeparator({
  function StepperIcon (line 104) | function StepperIcon({
  function StepperBody (line 122) | function StepperBody({

FILE: apps/www/registry/creative-tim/ui/switch.tsx
  function Switch (line 8) | function Switch({

FILE: apps/www/registry/creative-tim/ui/table.tsx
  function Table (line 7) | function Table({ className, ...props }: React.ComponentProps<"table">) {
  function TableHeader (line 22) | function TableHeader({ className, ...props }: React.ComponentProps<"thea...
  function TableBody (line 32) | function TableBody({ className, ...props }: React.ComponentProps<"tbody"...
  function TableFooter (line 42) | function TableFooter({ className, ...props }: React.ComponentProps<"tfoo...
  function TableRow (line 55) | function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
  function TableHead (line 68) | function TableHead({ className, ...props }: React.ComponentProps<"th">) {
  function TableCell (line 81) | function TableCell({ className, ...props }: React.ComponentProps<"td">) {
  function TableCaption (line 94) | function TableCaption({

FILE: apps/www/registry/creative-tim/ui/tabs.tsx
  function Tabs (line 8) | function Tabs({
  function TabsList (line 21) | function TabsList({
  function TabsTrigger (line 37) | function TabsTrigger({
  function TabsContent (line 53) | function TabsContent({

FILE: apps/www/registry/creative-tim/ui/textarea.tsx
  function Textarea (line 5) | function Textarea({ className, ...props }: React.ComponentProps<"textare...

FILE: apps/www/registry/creative-tim/ui/timeline.tsx
  type TimelineProps (line 24) | interface TimelineProps
  function Timeline (line 30) | function Timeline({
  function TimelineItem (line 49) | function TimelineItem({
  function TimelineHeader (line 61) | function TimelineHeader({
  function TimelineSeparator (line 73) | function TimelineSeparator({
  function TimelineIcon (line 100) | function TimelineIcon({
  function TimelineBody (line 130) | function TimelineBody({

FILE: apps/www/registry/creative-tim/ui/toggle-group.tsx
  function ToggleGroup (line 17) | function ToggleGroup({
  function ToggleGroupItem (line 43) | function ToggleGroupItem({

FILE: apps/www/registry/creative-tim/ui/toggle.tsx
  function Toggle (line 31) | function Toggle({

FILE: apps/www/registry/creative-tim/ui/tooltip.tsx
  function TooltipProvider (line 8) | function TooltipProvider({
  function Tooltip (line 21) | function Tooltip({
  function TooltipTrigger (line 31) | function TooltipTrigger({
  function TooltipContent (line 37) | function TooltipContent({

FILE: apps/www/registry/index.ts
  constant DEPRECATED_ITEMS (line 10) | const DEPRECATED_ITEMS = [
  constant NEW_YORK_V4_STYLE (line 20) | const NEW_YORK_V4_STYLE = {

FILE: e2e/helpers.ts
  function uniqueEmail (line 3) | function uniqueEmail(prefix = 'user'): string {
  function apiRegister (line 9) | async function apiRegister(request: APIRequestContext, email: string, pa...
  function apiLogout (line 18) | async function apiLogout(request: APIRequestContext) {
  function uiLogin (line 24) | async function uiLogin(page: Page, email: string, password: string) {
  function uiRegister (line 31) | async function uiRegister(page: Page, email: string, password: string, n...
  function trackRefresh (line 40) | function trackRefresh(page: Page) {

FILE: mock-api/server.js
  constant ACCESS_TTL (line 19) | const ACCESS_TTL = parseInt(ACCESS_TTL_SEC, 10);
  constant REFRESH_TTL (line 20) | const REFRESH_TTL = parseInt(REFRESH_TTL_SEC, 10);
  function signAccessToken (line 70) | function signAccessToken(user) {
  function signRefreshToken (line 78) | function signRefreshToken(user) {
  function setRefreshCookie (line 86) | function setRefreshCookie(res, token, maxAgeMs) {
  function sanitizeUser (line 96) | function sanitizeUser(u) {
  function authz (line 101) | function authz(req) {
  function getUserByEmail (line 113) | async function getUserByEmail(email) {
  function getUserById (line 118) | async function getUserById(id) {
  function createUser (line 123) | async function createUser({
  function upsertGoogleUser (line 150) | async function upsertGoogleUser({ email, name, google_sub }) {
  function revokeToken (line 172) | async function revokeToken(token) {
  function isRevoked (line 181) | async function isRevoked(token) {
Condensed preview — 577 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,594K chars).
[
  {
    "path": ".commitlintrc.json",
    "chars": 53,
    "preview": "{\n  \"extends\": [\"@commitlint/config-conventional\"]\n}\n"
  },
  {
    "path": ".editorconfig",
    "chars": 166,
    "preview": "# editorconfig.org\nroot = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\nindent_size = 2\nindent_style = space\ninsert_final_n"
  },
  {
    "path": ".eslintignore",
    "chars": 66,
    "preview": "node_modules/\ntarget/\n.next/\nbuild/\ndist/\n\n/templates/\n/fixtures/\n"
  },
  {
    "path": ".eslintrc.json",
    "chars": 693,
    "preview": "{\n  \"$schema\": \"https://json.schemastore.org/eslintrc\",\n  \"root\": true,\n  \"extends\": [\n    \"next/core-web-vitals\",\n    \""
  },
  {
    "path": ".gitignore",
    "chars": 556,
    "preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\nnode_modules\n.pnpm"
  },
  {
    "path": ".kodiak.toml",
    "chars": 379,
    "preview": "# .kodiak.toml\nversion = 1\n\n[merge]\nautomerge_label = \"automerge\"\nrequire_automerge_label = true\nmethod = \"squash\"\ndelet"
  },
  {
    "path": ".prettierignore",
    "chars": 89,
    "preview": "dist\nnode_modules\n.next\nbuild\n.contentlayer\napps/www/pages/api/registry.json\n**/fixtures\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 4340,
    "preview": "# Contributing\n\nThanks for your interest in contributing to ui.creative-tim.com.\n\nPlease take a moment to review this do"
  },
  {
    "path": "LICENSE.md",
    "chars": 1103,
    "preview": "MIT License\n\nCopyright (c) 2025 [Creative Tim](https://www.creative-tim.com/)\n\nPermission is hereby granted, free of cha"
  },
  {
    "path": "README.md",
    "chars": 7219,
    "preview": "[![Creative Tim UI](https://raw.githubusercontent.com/creativetimofficial/ui/refs/heads/main/apps/www/public/opengraph-i"
  },
  {
    "path": "apps/www/.env.example",
    "chars": 341,
    "preview": "# Private Registry Authentication\n# Set your API key to access private components (testimonials-03, testimonials-04)\n# G"
  },
  {
    "path": "apps/www/.gitignore",
    "chars": 559,
    "preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pn"
  },
  {
    "path": "apps/www/.prettierignore",
    "chars": 104,
    "preview": "dist\nnode_modules\n.next\nbuild\n.contentlayer\nregistry/__index__.tsx\ncontent/docs/components/calendar.mdx\n"
  },
  {
    "path": "apps/www/app/(app)/(root)/page.tsx",
    "chars": 8277,
    "preview": "import { Metadata } from \"next\"\nimport Link from \"next/link\"\nimport { Download, Package, Star, Users } from \"lucide-reac"
  },
  {
    "path": "apps/www/app/(app)/blocks/[...categories]/page.tsx",
    "chars": 808,
    "preview": "import { getAllBlockIds } from \"@/lib/blocks\"\nimport { BlockDisplay } from \"@/components/block-display\"\nimport { registr"
  },
  {
    "path": "apps/www/app/(app)/blocks/layout.tsx",
    "chars": 1744,
    "preview": "import { Metadata } from \"next\"\nimport Link from \"next/link\"\n\nimport { BlocksNav } from \"@/components/blocks-nav\"\nimport"
  },
  {
    "path": "apps/www/app/(app)/blocks/page.tsx",
    "chars": 513,
    "preview": "import { BlockDisplay } from \"@/components/block-display\"\n\nexport const dynamic = \"force-static\"\nexport const revalidate"
  },
  {
    "path": "apps/www/app/(app)/docs/[[...slug]]/page.tsx",
    "chars": 7218,
    "preview": "import Link from \"next/link\"\nimport { notFound } from \"next/navigation\"\nimport { mdxComponents } from \"@/mdx-components\""
  },
  {
    "path": "apps/www/app/(app)/docs/layout.tsx",
    "chars": 736,
    "preview": "import { source } from \"@/lib/source\"\nimport { DocsSidebar } from \"@/components/docs-sidebar\"\nimport { SidebarProvider }"
  },
  {
    "path": "apps/www/app/(app)/layout.tsx",
    "chars": 397,
    "preview": "import { SiteFooter } from \"@/components/site-footer\"\nimport { SiteHeader } from \"@/components/site-header\"\n\nexport defa"
  },
  {
    "path": "apps/www/app/(app)/llm/[[...slug]]/route.ts",
    "chars": 645,
    "preview": "import { notFound } from \"next/navigation\"\nimport { NextResponse, type NextRequest } from \"next/server\"\n\nimport { source"
  },
  {
    "path": "apps/www/app/(view)/view/[name]/page.tsx",
    "chars": 2217,
    "preview": "import * as React from \"react\"\nimport { Metadata } from \"next\"\nimport { notFound } from \"next/navigation\"\nimport { regis"
  },
  {
    "path": "apps/www/app/api/r/[name]/route.ts",
    "chars": 2243,
    "preview": "import { existsSync, readFileSync } from \"fs\"\nimport path from \"path\"\nimport { NextRequest, NextResponse } from \"next/se"
  },
  {
    "path": "apps/www/app/layout.tsx",
    "chars": 3668,
    "preview": "import type { Metadata } from \"next\"\n\nimport { META_THEME_COLORS, siteConfig } from \"@/lib/config\"\nimport { fontVariable"
  },
  {
    "path": "apps/www/app/llms.txt/route.ts",
    "chars": 4182,
    "preview": "import { registryCategories } from \"@/registry/registry-categories\"\nimport { registryCollections } from \"@/registry/regi"
  },
  {
    "path": "apps/www/app/og/geist-regular-otf.json",
    "chars": 77793,
    "preview": "{\"base64Font\":\"T1RUTwAMAIAAAwBAQ0ZGIN9uOmAAABXMAACeZkdERUZBTj+sAAC0NAAAAT5HUE9Ttn3F0QAAtXQAABvSR1NVQpIcrgQAANFIAAASlE9TL"
  },
  {
    "path": "apps/www/app/og/geist-semibold-otf.json",
    "chars": 92541,
    "preview": "{\"base64Font\":\"T1RUTwAMAIAAAwBAQ0ZGIHIR/08AABlsAAC8I0dERUZznnHMAADVkAAAAdZHUE9TY4mY0QAA12gAACqMR1NVQsbFMjAAAQH0AAANHE9TL"
  },
  {
    "path": "apps/www/app/og/geistmono-regular-otf.json",
    "chars": 89273,
    "preview": "{\"base64Font\":\"T1RUTwAMAIAAAwBAQ0ZGINMvNaQAABocAADLSkdERUaOgIu5AADlaAAAAgJHUE9TaW4+HAAA52wAABCMR1NVQtVEIxcAAPf4AAANhE9TL"
  },
  {
    "path": "apps/www/app/og/route.tsx",
    "chars": 2907,
    "preview": "import { ImageResponse } from \"next/og\"\n\nasync function loadAssets(): Promise<\n  { name: string; data: Buffer; weight: 4"
  },
  {
    "path": "apps/www/components/active-theme.tsx",
    "chars": 1269,
    "preview": "\"use client\"\n\nimport {\n  createContext,\n  ReactNode,\n  useContext,\n  useEffect,\n  useState,\n} from \"react\"\n\nconst DEFAUL"
  },
  {
    "path": "apps/www/components/analytics.tsx",
    "chars": 2419,
    "preview": "\"use client\"\n\nimport React, { useEffect, useState } from \"react\"\nimport Script from \"next/script\"\n\n// import { Analytics"
  },
  {
    "path": "apps/www/components/announcement.tsx",
    "chars": 353,
    "preview": "import Link from \"next/link\"\nimport { ArrowRightIcon } from \"lucide-react\"\n\nimport { Badge } from \"@/components/ui/badge"
  },
  {
    "path": "apps/www/components/block-display.tsx",
    "chars": 1654,
    "preview": "import * as React from \"react\"\nimport { registryItemFileSchema } from \"shadcn/schema\"\nimport { z } from \"zod\"\n\nimport { "
  },
  {
    "path": "apps/www/components/block-image.tsx",
    "chars": 788,
    "preview": "import Image from \"next/image\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport function BlockImage({\n  name,\n  width = 1440,\n "
  },
  {
    "path": "apps/www/components/block-viewer.tsx",
    "chars": 17843,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport Image from \"next/image\"\nimport Link from \"next/link\"\nimport {\n  Chec"
  },
  {
    "path": "apps/www/components/blocks-nav.tsx",
    "chars": 1474,
    "preview": "\"use client\"\n\nimport Link from \"next/link\"\nimport { usePathname } from \"next/navigation\"\n\nimport {\n  ScrollArea,\n  Scrol"
  },
  {
    "path": "apps/www/components/blur-vignette.tsx",
    "chars": 3530,
    "preview": "\"use client\"\n\nimport React, { useState } from \"react\"\n\nimport { Switch } from \"@/components/ui/switch\"\n\ninterface BlurVi"
  },
  {
    "path": "apps/www/components/callout.tsx",
    "chars": 626,
    "preview": "import { cn } from \"@/lib/utils\"\nimport {\n  Alert,\n  AlertDescription,\n  AlertTitle,\n} from \"@/components/ui/alert\"\n\nexp"
  },
  {
    "path": "apps/www/components/cards/activity-goal.tsx",
    "chars": 2745,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { MinusIcon, PlusIcon } from \"lucide-react\"\nimport { Bar, BarChart }"
  },
  {
    "path": "apps/www/components/cards/calendar.tsx",
    "chars": 579,
    "preview": "\"use client\"\n\nimport { addDays } from \"date-fns\"\n\nimport { Calendar } from \"@/components/ui/calendar\"\nimport { Card, Car"
  },
  {
    "path": "apps/www/components/cards/cookie-settings.tsx",
    "chars": 1701,
    "preview": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardF"
  },
  {
    "path": "apps/www/components/cards/create-account.tsx",
    "chars": 4590,
    "preview": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardF"
  },
  {
    "path": "apps/www/components/cards/forms.tsx",
    "chars": 4378,
    "preview": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardF"
  },
  {
    "path": "apps/www/components/cards/index.tsx",
    "chars": 484,
    "preview": "import { CardsActivityGoal } from \"@/components/cards/activity-goal\"\nimport SoftwarePurchase01 from \"@/registry/creative"
  },
  {
    "path": "apps/www/components/cards/payment-method.tsx",
    "chars": 4555,
    "preview": "\"use client\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardF"
  },
  {
    "path": "apps/www/components/cards/payments.tsx",
    "chars": 8317,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport {\n  ColumnDef,\n  ColumnFiltersState,\n  flexRender,\n  getCoreRowModel"
  },
  {
    "path": "apps/www/components/cards/report-issue.tsx",
    "chars": 3231,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Card,\n  CardCon"
  },
  {
    "path": "apps/www/components/cards/share.tsx",
    "chars": 3222,
    "preview": "\"use client\"\n\nimport {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/components/ui/avatar\"\nimport { Button } from"
  },
  {
    "path": "apps/www/components/cards/software-purchase.tsx",
    "chars": 3149,
    "preview": "\"use client\"\n\nimport { Calendar, CreditCard, DollarSign, Users } from \"lucide-react\"\n\nimport { Badge } from \"@/component"
  },
  {
    "path": "apps/www/components/chart-code-viewer.tsx",
    "chars": 3651,
    "preview": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { useMediaQuery } from \"@/hooks/use-media-query\""
  },
  {
    "path": "apps/www/components/chart-copy-button.tsx",
    "chars": 1451,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { CheckIcon, ClipboardIcon } from \"lucide-react\"\n\nimport { Event, tr"
  },
  {
    "path": "apps/www/components/chart-display.tsx",
    "chars": 1520,
    "preview": "import * as React from \"react\"\nimport { registryItemSchema } from \"shadcn/schema\"\nimport { z } from \"zod\"\n\nimport { high"
  },
  {
    "path": "apps/www/components/chart-toolbar.tsx",
    "chars": 2321,
    "preview": "\"use client\"\n\nimport {\n  AreaChartIcon,\n  BarChartBigIcon,\n  HexagonIcon,\n  LineChartIcon,\n  MousePointer2Icon,\n  PieCha"
  },
  {
    "path": "apps/www/components/charts-nav.tsx",
    "chars": 1602,
    "preview": "\"use client\"\n\nimport Link from \"next/link\"\nimport { usePathname } from \"next/navigation\"\n\nimport { cn } from \"@/lib/util"
  },
  {
    "path": "apps/www/components/code-block-command.tsx",
    "chars": 3773,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { CheckIcon, ClipboardIcon, TerminalIcon } from \"lucide-react\"\n\nimpo"
  },
  {
    "path": "apps/www/components/code-collapsible-wrapper.tsx",
    "chars": 1622,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/b"
  },
  {
    "path": "apps/www/components/code-tabs.tsx",
    "chars": 616,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { useConfig } from \"@/hooks/use-config\"\nimport { Tabs } from \"@/com"
  },
  {
    "path": "apps/www/components/command-menu.tsx",
    "chars": 12268,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { useRouter } from \"next/navigation\"\nimport { type DialogProps } fro"
  },
  {
    "path": "apps/www/components/component-preview-tabs.tsx",
    "chars": 2718,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Tabs, TabsList, TabsTrigger } fr"
  },
  {
    "path": "apps/www/components/component-preview.tsx",
    "chars": 2114,
    "preview": "import Image from \"next/image\"\n\nimport { ComponentPreviewTabs } from \"@/components/component-preview-tabs\"\nimport { Comp"
  },
  {
    "path": "apps/www/components/component-source.tsx",
    "chars": 2344,
    "preview": "import fs from \"node:fs/promises\"\nimport path from \"node:path\"\nimport * as React from \"react\"\n\nimport { highlightCode } "
  },
  {
    "path": "apps/www/components/component-wrapper.tsx",
    "chars": 1646,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/registry/creative-tim/lib/utils\"\n\nexport function Co"
  },
  {
    "path": "apps/www/components/components-list.tsx",
    "chars": 759,
    "preview": "import Link from \"next/link\"\n\nimport { source } from \"@/lib/source\"\n\nexport function ComponentsList() {\n  const componen"
  },
  {
    "path": "apps/www/components/copy-button.tsx",
    "chars": 1803,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { CheckIcon, ClipboardIcon } from \"lucide-react\"\n\nimport { Event, tr"
  },
  {
    "path": "apps/www/components/docs-breadcrumb.tsx",
    "chars": 1668,
    "preview": "\"use client\"\n\nimport { Fragment } from \"react\"\nimport Link from \"next/link\"\nimport { usePathname } from \"next/navigation"
  },
  {
    "path": "apps/www/components/docs-copy-page.tsx",
    "chars": 7960,
    "preview": "\"use client\"\n\nimport { IconCheck, IconChevronDown, IconCopy } from \"@tabler/icons-react\"\n\nimport { useCopyToClipboard } "
  },
  {
    "path": "apps/www/components/docs-sidebar-cta.tsx",
    "chars": 1249,
    "preview": "import Link from \"next/link\"\n\nimport { siteConfig } from \"@/lib/config\"\nimport { cn } from \"@/lib/utils\"\nimport { Button"
  },
  {
    "path": "apps/www/components/docs-sidebar.tsx",
    "chars": 6353,
    "preview": "\"use client\"\n\nimport Link from \"next/link\"\nimport { usePathname } from \"next/navigation\"\n\nimport type { source } from \"@"
  },
  {
    "path": "apps/www/components/docs-toc.tsx",
    "chars": 3146,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { IconMenu3 } from \"@tabler/icons-react\"\n\nimport { cn } from \"@/lib/"
  },
  {
    "path": "apps/www/components/examples-nav.tsx",
    "chars": 555,
    "preview": "\"use client\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n  ScrollArea,\n  ScrollBar,\n} from \"@/components/ui/scroll-area\"\n"
  },
  {
    "path": "apps/www/components/examples-preview.tsx",
    "chars": 16144,
    "preview": "import Link from \"next/link\"\n\nimport { Badge } from \"@/components/ui/badge\"\nimport { Card } from \"@/components/ui/card\"\n"
  },
  {
    "path": "apps/www/components/github-link.tsx",
    "chars": 1112,
    "preview": "import Link from \"next/link\"\n\nimport { siteConfig } from \"@/lib/config\"\nimport { Icons } from \"@/components/icons\"\nimpor"
  },
  {
    "path": "apps/www/components/icons.tsx",
    "chars": 21349,
    "preview": "import { FileIcon } from \"lucide-react\"\n\ntype IconProps = React.HTMLAttributes<SVGElement>\n\nexport const Icons = {\n  log"
  },
  {
    "path": "apps/www/components/main-nav.tsx",
    "chars": 733,
    "preview": "\"use client\"\n\nimport Link from \"next/link\"\nimport { usePathname } from \"next/navigation\"\n\nimport { cn } from \"@/lib/util"
  },
  {
    "path": "apps/www/components/mobile-nav.tsx",
    "chars": 4430,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport Link, { LinkProps } from \"next/link\"\nimport { useRouter } from \"next"
  },
  {
    "path": "apps/www/components/mode-switcher.tsx",
    "chars": 1436,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { useTheme } from \"next-themes\"\n\nimport { useMetaColor } from \"@/hoo"
  },
  {
    "path": "apps/www/components/nav-header.tsx",
    "chars": 1202,
    "preview": "\"use client\"\n\nimport Link from \"next/link\"\nimport { usePathname } from \"next/navigation\"\n\nimport {\n  NavigationMenu,\n  N"
  },
  {
    "path": "apps/www/components/nav-user.tsx",
    "chars": 3409,
    "preview": "\"use client\"\n\nimport {\n  BadgeCheck,\n  Bell,\n  ChevronsUpDown,\n  CreditCard,\n  LogOut,\n  Sparkles,\n} from \"lucide-react\""
  },
  {
    "path": "apps/www/components/open-in-v0-button.tsx",
    "chars": 649,
    "preview": "import { cn } from \"@/lib/utils\"\nimport { Icons } from \"@/components/icons\"\nimport { Button } from \"@/components/ui/butt"
  },
  {
    "path": "apps/www/components/page-header.tsx",
    "chars": 1386,
    "preview": "import { cn } from \"@/lib/utils\"\n\nfunction PageHeader({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<\"sec"
  },
  {
    "path": "apps/www/components/page-nav.tsx",
    "chars": 350,
    "preview": "import { cn } from \"@/lib/utils\"\n\nexport function PageNav({\n  children,\n  className,\n  ...props\n}: React.ComponentProps<"
  },
  {
    "path": "apps/www/components/showcase-masonry.tsx",
    "chars": 23247,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { format } from \"date-fns\"\nimport {\n  Archive,\n  Briefcase,\n  Calend"
  },
  {
    "path": "apps/www/components/site-config.tsx",
    "chars": 872,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { GalleryHorizontalIcon } from \"lucide-react\"\n\nimport { trackEvent }"
  },
  {
    "path": "apps/www/components/site-footer.tsx",
    "chars": 1321,
    "preview": "import Link from \"next/link\"\nimport { Heart } from \"lucide-react\"\n\nimport { siteConfig } from \"@/lib/config\"\n\nexport fun"
  },
  {
    "path": "apps/www/components/site-header.tsx",
    "chars": 2738,
    "preview": "import Link from \"next/link\"\nimport { ArrowRight } from \"lucide-react\"\n\nimport { siteConfig } from \"@/lib/config\"\nimport"
  },
  {
    "path": "apps/www/components/tailwind-indicator.tsx",
    "chars": 685,
    "preview": "const SHOW = true\n\nexport function TailwindIndicator() {\n  if (process.env.NODE_ENV === \"production\" || !SHOW) {\n    ret"
  },
  {
    "path": "apps/www/components/testimonials-section.tsx",
    "chars": 6298,
    "preview": "\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport { ChevronLeft, ChevronRight, Quote } from \"lucide-react"
  },
  {
    "path": "apps/www/components/theme-provider.tsx",
    "chars": 455,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { ThemeProvider as NextThemesProvider } from \"next-themes\"\n\nexport f"
  },
  {
    "path": "apps/www/components/theme-selector.tsx",
    "chars": 2413,
    "preview": "\"use client\"\n\nimport { cn } from \"@/lib/utils\"\nimport { useThemeConfig } from \"@/components/active-theme\"\nimport { Label"
  },
  {
    "path": "apps/www/components/ui/accordion.tsx",
    "chars": 2053,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { Ch"
  },
  {
    "path": "apps/www/components/ui/alert-dialog.tsx",
    "chars": 3864,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimpor"
  },
  {
    "path": "apps/www/components/ui/alert.tsx",
    "chars": 1614,
    "preview": "import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/"
  },
  {
    "path": "apps/www/components/ui/aspect-ratio.tsx",
    "chars": 280,
    "preview": "\"use client\"\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nfunction AspectRatio({\n  ...props\n}:"
  },
  {
    "path": "apps/www/components/ui/avatar.tsx",
    "chars": 1097,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport { cn } fr"
  },
  {
    "path": "apps/www/components/ui/badge.tsx",
    "chars": 1631,
    "preview": "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class"
  },
  {
    "path": "apps/www/components/ui/breadcrumb.tsx",
    "chars": 2357,
    "preview": "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { ChevronRight, MoreHorizontal } from "
  },
  {
    "path": "apps/www/components/ui/button.tsx",
    "chars": 2083,
    "preview": "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class"
  },
  {
    "path": "apps/www/components/ui/calendar.tsx",
    "chars": 7667,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport {\n  ChevronDownIcon,\n  ChevronLeftIcon,\n  ChevronRightIcon,\n} from \""
  },
  {
    "path": "apps/www/components/ui/card.tsx",
    "chars": 1987,
    "preview": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({ className, ...props }: React.Component"
  },
  {
    "path": "apps/www/components/ui/carousel.tsx",
    "chars": 5556,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n  type UseEmblaCarouselType,\n} from \"embla-carou"
  },
  {
    "path": "apps/www/components/ui/chart.tsx",
    "chars": 10069,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@/lib/ut"
  },
  {
    "path": "apps/www/components/ui/checkbox.tsx",
    "chars": 1226,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Chec"
  },
  {
    "path": "apps/www/components/ui/collapsible.tsx",
    "chars": 800,
    "preview": "\"use client\"\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\n\nfunction Collapsible({\n  ...props\n}: "
  },
  {
    "path": "apps/www/components/ui/command.tsx",
    "chars": 4818,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { SearchIcon } fr"
  },
  {
    "path": "apps/www/components/ui/context-menu.tsx",
    "chars": 8222,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\"\nimport"
  },
  {
    "path": "apps/www/components/ui/dialog.tsx",
    "chars": 3982,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } "
  },
  {
    "path": "apps/www/components/ui/drawer.tsx",
    "chars": 4255,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { Drawer as DrawerPrimitive } from \"vaul\"\n\nimport { cn } from \"@/lib"
  },
  {
    "path": "apps/www/components/ui/dropdown-menu.tsx",
    "chars": 8284,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimpo"
  },
  {
    "path": "apps/www/components/ui/form.tsx",
    "chars": 3759,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } fro"
  },
  {
    "path": "apps/www/components/ui/hover-card.tsx",
    "chars": 1532,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { "
  },
  {
    "path": "apps/www/components/ui/input-otp.tsx",
    "chars": 2254,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { MinusIcon } "
  },
  {
    "path": "apps/www/components/ui/input.tsx",
    "chars": 962,
    "preview": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.Co"
  },
  {
    "path": "apps/www/components/ui/label.tsx",
    "chars": 611,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\n\nimport { cn } from"
  },
  {
    "path": "apps/www/components/ui/menubar.tsx",
    "chars": 8394,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\"\nimport { CheckI"
  },
  {
    "path": "apps/www/components/ui/navigation-menu.tsx",
    "chars": 6664,
    "preview": "import * as React from \"react\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { cva }"
  },
  {
    "path": "apps/www/components/ui/pagination.tsx",
    "chars": 2712,
    "preview": "import * as React from \"react\"\nimport {\n  ChevronLeftIcon,\n  ChevronRightIcon,\n  MoreHorizontalIcon,\n} from \"lucide-reac"
  },
  {
    "path": "apps/www/components/ui/popover.tsx",
    "chars": 1635,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } "
  },
  {
    "path": "apps/www/components/ui/progress.tsx",
    "chars": 740,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\n\nimport { cn "
  },
  {
    "path": "apps/www/components/ui/radio-group.tsx",
    "chars": 1466,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport {"
  },
  {
    "path": "apps/www/components/ui/resizable.tsx",
    "chars": 2028,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { GripVerticalIcon } from \"lucide-react\"\nimport * as ResizablePrimit"
  },
  {
    "path": "apps/www/components/ui/scroll-area.tsx",
    "chars": 1645,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\n\nimport "
  },
  {
    "path": "apps/www/components/ui/select.tsx",
    "chars": 6253,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { CheckIco"
  },
  {
    "path": "apps/www/components/ui/separator.tsx",
    "chars": 699,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { c"
  },
  {
    "path": "apps/www/components/ui/sheet.tsx",
    "chars": 4090,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } f"
  },
  {
    "path": "apps/www/components/ui/sidebar.tsx",
    "chars": 21677,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, VariantProps } fr"
  },
  {
    "path": "apps/www/components/ui/skeleton.tsx",
    "chars": 276,
    "preview": "import { cn } from \"@/lib/utils\"\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n "
  },
  {
    "path": "apps/www/components/ui/slider.tsx",
    "chars": 2001,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport { cn } fr"
  },
  {
    "path": "apps/www/components/ui/software-purchase-card.tsx",
    "chars": 3149,
    "preview": "\"use client\"\n\nimport { Calendar, CreditCard, DollarSign, Users } from \"lucide-react\"\n\nimport { Badge } from \"@/component"
  },
  {
    "path": "apps/www/components/ui/sonner.tsx",
    "chars": 564,
    "preview": "\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as Sonner, ToasterProps } from \"sonner\"\n\nconst Toa"
  },
  {
    "path": "apps/www/components/ui/switch.tsx",
    "chars": 1177,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\"\n\nimport { cn } fr"
  },
  {
    "path": "apps/www/components/ui/table.tsx",
    "chars": 2448,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Table({ className, ...props }: "
  },
  {
    "path": "apps/www/components/ui/tabs.tsx",
    "chars": 1969,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport { cn } from \""
  },
  {
    "path": "apps/www/components/ui/textarea.tsx",
    "chars": 759,
    "preview": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.Compo"
  },
  {
    "path": "apps/www/components/ui/toggle-group.tsx",
    "chars": 1925,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\"\nimport"
  },
  {
    "path": "apps/www/components/ui/toggle.tsx",
    "chars": 1570,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport { cva, typ"
  },
  {
    "path": "apps/www/components/ui/tooltip.tsx",
    "chars": 1892,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } "
  },
  {
    "path": "apps/www/components.json",
    "chars": 427,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema.json\",\n  \"style\": \"new-york\",\n  \"rsc\": true,\n  \"tsx\": true,\n  \"tailwind\": {"
  },
  {
    "path": "apps/www/content/docs/(root)/components.mdx",
    "chars": 1623,
    "preview": "---\ntitle: Components\ndescription: Getting started with Creative Tim UI\n---\n\nInstalling Creative Tim UI components is st"
  },
  {
    "path": "apps/www/content/docs/(root)/debug-logs.mdx",
    "chars": 1545,
    "preview": "---\ntitle: Debug Logs\ndescription: Common issues and debugging steps for Creative Tim UI components.\n---\n\n## Components "
  },
  {
    "path": "apps/www/content/docs/(root)/how-it-works.mdx",
    "chars": 1254,
    "preview": "---\ntitle: How It Works\ndescription: Learn how Creative Tim UI components work within your application.\n---\n\nCreative Ti"
  },
  {
    "path": "apps/www/content/docs/(root)/index.mdx",
    "chars": 2957,
    "preview": "---\ntitle: Introduction\ndescription: Introduction\n---\n\nCreative Tim UI is a comprehensive component library and custom r"
  },
  {
    "path": "apps/www/content/docs/(root)/meta.json",
    "chars": 131,
    "preview": "{\n  \"title\": \"Get Started\",\n  \"pages\": [\n    \"index\",\n    \"registry\",\n    \"components\",\n    \"how-it-works\",\n    \"debug-l"
  },
  {
    "path": "apps/www/content/docs/(root)/registry.mdx",
    "chars": 2908,
    "preview": "---\ntitle: Registry\ndescription: Learn about the Creative Tim UI component registry system.\n---\n\n## What is the Registry"
  },
  {
    "path": "apps/www/content/docs/components/card.mdx",
    "chars": 6770,
    "preview": "---\ntitle: Card\ndescription: Versatile card components for displaying content in a structured, visually appealing format"
  },
  {
    "path": "apps/www/content/docs/components/index.mdx",
    "chars": 112,
    "preview": "---\ntitle: Components\ndescription: Explore all the components available in the library.\n---\n\n<ComponentsList />\n"
  },
  {
    "path": "apps/www/content/docs/components/software-purchase-card.mdx",
    "chars": 6025,
    "preview": "---\ntitle: Software Purchase Card\ndescription: A card component for displaying and approving software purchase requests "
  },
  {
    "path": "apps/www/content/docs/meta.json",
    "chars": 68,
    "preview": "{\n  \"root\": true,\n  \"pages\": [\n    \"(root)\",\n    \"components\"\n  ]\n}\n"
  },
  {
    "path": "apps/www/docs/private-registry.md",
    "chars": 3510,
    "preview": "# Private Registry Authentication\n\nThe Creative Tim UI registry supports private components that require API key authent"
  },
  {
    "path": "apps/www/eslint.config.mjs",
    "chars": 471,
    "preview": "import { dirname } from \"path\"\nimport { fileURLToPath } from \"url\"\nimport { FlatCompat } from \"@eslint/eslintrc\"\n\nconst "
  },
  {
    "path": "apps/www/hooks/use-config.ts",
    "chars": 405,
    "preview": "import { useAtom } from \"jotai\"\nimport { atomWithStorage } from \"jotai/utils\"\n\ntype Config = {\n  style: \"new-york-v4\"\n  "
  },
  {
    "path": "apps/www/hooks/use-copy-to-clipboard.ts",
    "chars": 694,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\nexport function useCopyToClipboard({\n  timeout = 2000,\n  onCopy,\n}: {\n  ti"
  },
  {
    "path": "apps/www/hooks/use-is-mac.ts",
    "chars": 228,
    "preview": "import { useEffect, useState } from \"react\"\n\nexport function useIsMac() {\n  const [isMac, setIsMac] = useState(true)\n\n  "
  },
  {
    "path": "apps/www/hooks/use-layout.tsx",
    "chars": 4075,
    "preview": "\"use client\"\n\nimport * as React from \"react\"\n\ntype Layout = \"fixed\" | \"full\"\n\ninterface LayoutProviderProps {\n  children"
  },
  {
    "path": "apps/www/hooks/use-media-query.tsx",
    "chars": 456,
    "preview": "import * as React from \"react\"\n\nexport function useMediaQuery(query: string) {\n  const [value, setValue] = React.useStat"
  },
  {
    "path": "apps/www/hooks/use-meta-color.ts",
    "chars": 608,
    "preview": "import * as React from \"react\"\nimport { useTheme } from \"next-themes\"\n\nexport const META_THEME_COLORS = {\n  light: \"#fff"
  },
  {
    "path": "apps/www/hooks/use-mobile.ts",
    "chars": 553,
    "preview": "import * as React from \"react\"\n\nexport function useIsMobile(mobileBreakpoint = 768) {\n  const [isMobile, setIsMobile] = "
  },
  {
    "path": "apps/www/hooks/use-mounted.ts",
    "chars": 194,
    "preview": "import * as React from \"react\"\n\nexport function useMounted() {\n  const [mounted, setMounted] = React.useState(false)\n\n  "
  },
  {
    "path": "apps/www/hooks/use-mutation-observer.ts",
    "chars": 505,
    "preview": "import * as React from \"react\"\n\nexport const useMutationObserver = (\n  ref: React.RefObject<HTMLElement | null>,\n  callb"
  },
  {
    "path": "apps/www/lib/analytics.ts",
    "chars": 783,
    "preview": "import { track } from \"@vercel/analytics\"\n\nexport function trackComponentInstall(\n  componentName: string,\n  metadata?: "
  },
  {
    "path": "apps/www/lib/auth.ts",
    "chars": 1407,
    "preview": "/**\n * Dummy authentication functions for PRO feature access\n * TODO: Replace with real authentication implementation\n *"
  },
  {
    "path": "apps/www/lib/blocks.ts",
    "chars": 933,
    "preview": "\"use server\"\n\nimport { registryItemSchema } from \"shadcn/schema\"\nimport { z } from \"zod\"\n\nexport async function getAllBl"
  },
  {
    "path": "apps/www/lib/config.ts",
    "chars": 1092,
    "preview": "export const siteConfig = {\n  name: \"Creative Tim UI\",\n  url: \"https://creative-tim.com/ui\",\n  ogImage: \"https://creativ"
  },
  {
    "path": "apps/www/lib/events.ts",
    "chars": 808,
    "preview": "// import va from \"@vercel/analytics\"\nimport { z } from \"zod\"\n\nconst eventSchema = z.object({\n  name: z.enum([\n    \"copy"
  },
  {
    "path": "apps/www/lib/fonts.ts",
    "chars": 772,
    "preview": "import {\n  Geist_Mono as FontMono,\n  Geist as FontSans,\n  Inter,\n} from \"next/font/google\"\n\nimport { cn } from \"@/lib/ut"
  },
  {
    "path": "apps/www/lib/highlight-code.ts",
    "chars": 2730,
    "preview": "import { codeToHtml } from \"shiki\"\nimport type { ShikiTransformer } from \"shiki\"\n\nexport const transformers = [\n  {\n    "
  },
  {
    "path": "apps/www/lib/registry.ts",
    "chars": 6835,
    "preview": "import { promises as fs } from \"fs\"\nimport { tmpdir } from \"os\"\nimport path from \"path\"\nimport { registryItemFileSchema,"
  },
  {
    "path": "apps/www/lib/rehype.ts",
    "chars": 4556,
    "preview": "import fs from \"fs\"\nimport path from \"path\"\nimport { u } from \"unist-builder\"\nimport { visit } from \"unist-util-visit\"\n\n"
  },
  {
    "path": "apps/www/lib/session.ts",
    "chars": 361,
    "preview": "let accessToken: string | null = null;\n\nexport function setAccessToken(token: string | null) {\n  accessToken = token;\n}\n"
  },
  {
    "path": "apps/www/lib/source.ts",
    "chars": 196,
    "preview": "import { docs } from \"@/.source\"\nimport { loader } from \"fumadocs-core/source\"\n\nexport const source: ReturnType<typeof l"
  },
  {
    "path": "apps/www/lib/themes.ts",
    "chars": 412,
    "preview": "export const THEMES = [\n  {\n    name: \"Default\",\n    value: \"default\",\n  },\n  {\n    name: \"Neutral\",\n    value: \"neutral"
  },
  {
    "path": "apps/www/lib/utils.ts",
    "chars": 266,
    "preview": "import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: Cla"
  },
  {
    "path": "apps/www/mdx-components.tsx",
    "chars": 10094,
    "preview": "import * as React from \"react\"\nimport Image from \"next/image\"\nimport Link from \"next/link\"\n\nimport { cn } from \"@/lib/ut"
  },
  {
    "path": "apps/www/middleware.ts",
    "chars": 1068,
    "preview": "import { NextResponse } from \"next/server\"\nimport type { NextRequest } from \"next/server\"\n//import { track } from \"@verc"
  },
  {
    "path": "apps/www/next.config.mjs",
    "chars": 2441,
    "preview": "import { createMDX } from \"fumadocs-mdx/next\"\n\n/** @type {import('next').NextConfig} */\nconst nextConfig = {\n  devIndica"
  },
  {
    "path": "apps/www/package.json",
    "chars": 5434,
    "preview": "{\n  \"name\": \"@creative-tim/ui\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \""
  },
  {
    "path": "apps/www/postcss.config.mjs",
    "chars": 91,
    "preview": "const config = {\n  plugins: {\n    \"@tailwindcss/postcss\": {},\n  },\n}\nexport default config\n"
  },
  {
    "path": "apps/www/public/r/accordion.json",
    "chars": 2444,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"accordion\",\n  \"dependencies\": [\n    \"@radix"
  },
  {
    "path": "apps/www/public/r/account-2fa-01.json",
    "chars": 6551,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"account-2fa-01\",\n  \"description\": \"Two-fact"
  },
  {
    "path": "apps/www/public/r/account-avatar-upload-01.json",
    "chars": 6541,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"account-avatar-upload-01\",\n  \"description\":"
  },
  {
    "path": "apps/www/public/r/account-basic-info-01.json",
    "chars": 13275,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"account-basic-info-01\",\n  \"description\": \"P"
  },
  {
    "path": "apps/www/public/r/account-change-password-01.json",
    "chars": 7255,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"account-change-password-01\",\n  \"description"
  },
  {
    "path": "apps/www/public/r/account-integrations-01.json",
    "chars": 10761,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"account-integrations-01\",\n  \"description\": "
  },
  {
    "path": "apps/www/public/r/account-notifications-01.json",
    "chars": 7185,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"account-notifications-01\",\n  \"description\":"
  },
  {
    "path": "apps/www/public/r/account-sessions-01.json",
    "chars": 5776,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"account-sessions-01\",\n  \"description\": \"Act"
  },
  {
    "path": "apps/www/public/r/ai-chat-streaming-01.json",
    "chars": 10882,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"ai-chat-streaming-01\",\n  \"description\": \"AI"
  },
  {
    "path": "apps/www/public/r/ai-image-generator-01.json",
    "chars": 14415,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"ai-image-generator-01\",\n  \"description\": \"A"
  },
  {
    "path": "apps/www/public/r/ai-video-generator-01.json",
    "chars": 16151,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"ai-video-generator-01\",\n  \"description\": \"A"
  },
  {
    "path": "apps/www/public/r/alert-dialog.json",
    "chars": 4417,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"alert-dialog\",\n  \"dependencies\": [\n    \"@ra"
  },
  {
    "path": "apps/www/public/r/alert.json",
    "chars": 1942,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"alert\",\n  \"files\": [\n    {\n      \"path\": \"c"
  },
  {
    "path": "apps/www/public/r/all.json",
    "chars": 709849,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"all\",\n  \"type\": \"registry:all\",\n  \"descript"
  },
  {
    "path": "apps/www/public/r/aspect-ratio.json",
    "chars": 601,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"aspect-ratio\",\n  \"dependencies\": [\n    \"@ra"
  },
  {
    "path": "apps/www/public/r/avatar.json",
    "chars": 1456,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"avatar\",\n  \"dependencies\": [\n    \"@radix-ui"
  },
  {
    "path": "apps/www/public/r/badge.json",
    "chars": 1933,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"badge\",\n  \"files\": [\n    {\n      \"path\": \"c"
  },
  {
    "path": "apps/www/public/r/billing-information-01.json",
    "chars": 4451,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"billing-information-01\",\n  \"description\": \""
  },
  {
    "path": "apps/www/public/r/blocks.json",
    "chars": 525851,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"blocks\",\n  \"type\": \"registry:block\",\n  \"des"
  },
  {
    "path": "apps/www/public/r/blog-cards-layout-01.json",
    "chars": 7102,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"blog-cards-layout-01\",\n  \"description\": \"Bl"
  },
  {
    "path": "apps/www/public/r/blog-post-preview-tags-01.json",
    "chars": 4067,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"blog-post-preview-tags-01\",\n  \"description\""
  },
  {
    "path": "apps/www/public/r/blog-rectangular-images-01.json",
    "chars": 4865,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"blog-rectangular-images-01\",\n  \"description"
  },
  {
    "path": "apps/www/public/r/breadcrumb.json",
    "chars": 2776,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"breadcrumb\",\n  \"files\": [\n    {\n      \"path"
  },
  {
    "path": "apps/www/public/r/button.json",
    "chars": 2465,
    "preview": "{\n  \"$schema\": \"https://ui.shadcn.com/schema/registry-item.json\",\n  \"name\": \"button\",\n  \"dependencies\": [\n    \"@radix-ui"
  }
]

// ... and 377 more files (download for full content)

About this extraction

This page contains the full source code of the creativetimofficial/ui GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 577 files (4.1 MB), approximately 1.1M tokens, and a symbol index with 1022 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!