Repository: shadcn-ui/ui Branch: main Commit: 5b40b9de5ad5 Files: 6754 Total size: 32.8 MB Directory structure: gitextract_4oo2mby8/ ├── .changeset/ │ ├── README.md │ └── config.json ├── .claude/ │ └── settings.local.json ├── .commitlintrc.json ├── .cursor/ │ └── rules/ │ └── registry-bases-parity.mdc ├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .github/ │ ├── DISCUSSION_TEMPLATE/ │ │ └── blocks-request.yml │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── changeset-version.js │ ├── dependabot.yml │ ├── version-script-beta.js │ ├── version-script-next.js │ └── workflows/ │ ├── code-check.yml │ ├── issue-stale.yml │ ├── prerelease-comment.yml │ ├── prerelease.yml │ ├── release.yml │ ├── test.yml │ └── validate-registries.yml ├── .gitignore ├── .kodiak.toml ├── .npmrc ├── .nvmrc ├── .prettierignore ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── apps/ │ └── v4/ │ ├── .env.example │ ├── .gitignore │ ├── .prettierignore │ ├── README.md │ ├── app/ │ │ ├── (app)/ │ │ │ ├── (root)/ │ │ │ │ ├── components/ │ │ │ │ │ ├── appearance-settings.tsx │ │ │ │ │ ├── button-group-demo.tsx │ │ │ │ │ ├── button-group-input-group.tsx │ │ │ │ │ ├── button-group-nested.tsx │ │ │ │ │ ├── button-group-popover.tsx │ │ │ │ │ ├── empty-avatar-group.tsx │ │ │ │ │ ├── empty-input-group.tsx │ │ │ │ │ ├── field-checkbox.tsx │ │ │ │ │ ├── field-choice-card.tsx │ │ │ │ │ ├── field-demo.tsx │ │ │ │ │ ├── field-hear.tsx │ │ │ │ │ ├── field-slider.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── input-group-button.tsx │ │ │ │ │ ├── input-group-demo.tsx │ │ │ │ │ ├── input-group-textarea.tsx │ │ │ │ │ ├── item-avatar.tsx │ │ │ │ │ ├── item-demo.tsx │ │ │ │ │ ├── notion-prompt-form.tsx │ │ │ │ │ ├── spinner-badge.tsx │ │ │ │ │ └── spinner-empty.tsx │ │ │ │ └── page.tsx │ │ │ ├── blocks/ │ │ │ │ ├── [...categories]/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── layout.tsx │ │ │ │ └── page.tsx │ │ │ ├── charts/ │ │ │ │ ├── [type]/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── charts.tsx │ │ │ │ └── layout.tsx │ │ │ ├── colors/ │ │ │ │ ├── layout.tsx │ │ │ │ └── page.tsx │ │ │ ├── docs/ │ │ │ │ ├── [[...slug]]/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── changelog/ │ │ │ │ │ └── page.tsx │ │ │ │ └── layout.tsx │ │ │ ├── examples/ │ │ │ │ ├── authentication/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── user-auth-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── dashboard/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── chart-area-interactive.tsx │ │ │ │ │ │ ├── data-table.tsx │ │ │ │ │ │ ├── nav-documents.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ ├── section-cards.tsx │ │ │ │ │ │ └── site-header.tsx │ │ │ │ │ ├── data.json │ │ │ │ │ └── page.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── playground/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── code-viewer.tsx │ │ │ │ │ │ ├── maxlength-selector.tsx │ │ │ │ │ │ ├── model-selector.tsx │ │ │ │ │ │ ├── preset-actions.tsx │ │ │ │ │ │ ├── preset-save.tsx │ │ │ │ │ │ ├── preset-selector.tsx │ │ │ │ │ │ ├── preset-share.tsx │ │ │ │ │ │ ├── temperature-selector.tsx │ │ │ │ │ │ └── top-p-selector.tsx │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── models.ts │ │ │ │ │ │ └── presets.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── rtl/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── appearance-settings.tsx │ │ │ │ │ │ ├── button-group-demo.tsx │ │ │ │ │ │ ├── button-group-input-group.tsx │ │ │ │ │ │ ├── button-group-nested.tsx │ │ │ │ │ │ ├── button-group-popover.tsx │ │ │ │ │ │ ├── empty-avatar-group.tsx │ │ │ │ │ │ ├── field-checkbox.tsx │ │ │ │ │ │ ├── field-demo.tsx │ │ │ │ │ │ ├── field-hear.tsx │ │ │ │ │ │ ├── field-slider.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── input-group-button.tsx │ │ │ │ │ │ ├── input-group-demo.tsx │ │ │ │ │ │ ├── item-demo.tsx │ │ │ │ │ │ ├── notion-prompt-form.tsx │ │ │ │ │ │ ├── spinner-badge.tsx │ │ │ │ │ │ └── spinner-empty.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── tasks/ │ │ │ │ ├── components/ │ │ │ │ │ ├── columns.tsx │ │ │ │ │ ├── data-table-column-header.tsx │ │ │ │ │ ├── data-table-faceted-filter.tsx │ │ │ │ │ ├── data-table-pagination.tsx │ │ │ │ │ ├── data-table-row-actions.tsx │ │ │ │ │ ├── data-table-toolbar.tsx │ │ │ │ │ ├── data-table-view-options.tsx │ │ │ │ │ ├── data-table.tsx │ │ │ │ │ └── user-nav.tsx │ │ │ │ ├── data/ │ │ │ │ │ ├── data.tsx │ │ │ │ │ ├── schema.ts │ │ │ │ │ ├── seed.ts │ │ │ │ │ └── tasks.json │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ ├── llm/ │ │ │ │ └── [[...slug]]/ │ │ │ │ └── route.ts │ │ │ └── themes/ │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── (create)/ │ │ │ ├── components/ │ │ │ │ ├── accent-picker.tsx │ │ │ │ ├── action-menu.tsx │ │ │ │ ├── base-color-picker.tsx │ │ │ │ ├── base-picker.tsx │ │ │ │ ├── chart-color-picker.tsx │ │ │ │ ├── copy-preset.tsx │ │ │ │ ├── customizer.tsx │ │ │ │ ├── design-system-provider.tsx │ │ │ │ ├── font-picker.tsx │ │ │ │ ├── history-buttons.tsx │ │ │ │ ├── icon-library-picker.tsx │ │ │ │ ├── icon-placeholder.tsx │ │ │ │ ├── item-explorer.tsx │ │ │ │ ├── lock-button.tsx │ │ │ │ ├── main-menu.tsx │ │ │ │ ├── menu-picker.tsx │ │ │ │ ├── mode-switcher.tsx │ │ │ │ ├── picker.tsx │ │ │ │ ├── preset-handler.tsx │ │ │ │ ├── preset-picker.tsx │ │ │ │ ├── preview-style.tsx │ │ │ │ ├── preview.tsx │ │ │ │ ├── project-form.tsx │ │ │ │ ├── radius-picker.tsx │ │ │ │ ├── random-button.tsx │ │ │ │ ├── reset-button.tsx │ │ │ │ ├── share-button.tsx │ │ │ │ ├── style-picker.tsx │ │ │ │ ├── theme-picker.tsx │ │ │ │ ├── v0-button.tsx │ │ │ │ └── welcome-dialog.tsx │ │ │ ├── create/ │ │ │ │ ├── layout.tsx │ │ │ │ └── page.tsx │ │ │ ├── hooks/ │ │ │ │ ├── use-action-menu.ts │ │ │ │ ├── use-design-system.ts │ │ │ │ ├── use-history.tsx │ │ │ │ ├── use-iframe-sync.tsx │ │ │ │ ├── use-locks.tsx │ │ │ │ ├── use-random.tsx │ │ │ │ ├── use-reset.tsx │ │ │ │ └── use-theme-toggle.tsx │ │ │ ├── init/ │ │ │ │ ├── md/ │ │ │ │ │ ├── build-instructions.ts │ │ │ │ │ └── route.ts │ │ │ │ ├── parse-config.test.ts │ │ │ │ ├── parse-config.ts │ │ │ │ ├── route.ts │ │ │ │ └── v0/ │ │ │ │ └── route.ts │ │ │ ├── lib/ │ │ │ │ ├── api.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── fonts.ts │ │ │ │ ├── merge-theme.ts │ │ │ │ ├── preset-code.ts │ │ │ │ ├── preset-query.test.ts │ │ │ │ ├── preset-query.ts │ │ │ │ ├── randomize-biases.ts │ │ │ │ ├── search-params.ts │ │ │ │ ├── templates.ts │ │ │ │ ├── utils.ts │ │ │ │ ├── v0.test.ts │ │ │ │ └── v0.ts │ │ │ └── preview/ │ │ │ └── [base]/ │ │ │ └── [name]/ │ │ │ └── page.tsx │ │ ├── (examples)/ │ │ │ ├── dashboard/ │ │ │ │ ├── components/ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ ├── chart-area-interactive.tsx │ │ │ │ │ ├── data-table.tsx │ │ │ │ │ ├── mode-toggle.tsx │ │ │ │ │ ├── nav-documents.tsx │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ ├── section-cards.tsx │ │ │ │ │ ├── site-header.tsx │ │ │ │ │ └── theme-selector.tsx │ │ │ │ ├── data.json │ │ │ │ ├── layout.tsx │ │ │ │ ├── page.tsx │ │ │ │ └── theme.css │ │ │ └── dashboard-03/ │ │ │ ├── components/ │ │ │ │ ├── analytics-date-picker.tsx │ │ │ │ ├── app-sidebar.tsx │ │ │ │ ├── chart-revenue.tsx │ │ │ │ ├── chart-visitors.tsx │ │ │ │ ├── mode-toggle.tsx │ │ │ │ ├── nav-main.tsx │ │ │ │ ├── nav-secondary.tsx │ │ │ │ ├── nav-user.tsx │ │ │ │ ├── products-table.tsx │ │ │ │ ├── search-form.tsx │ │ │ │ └── site-header.tsx │ │ │ ├── customers/ │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ └── settings/ │ │ │ └── page.tsx │ │ ├── (internal)/ │ │ │ └── sink/ │ │ │ ├── (pages)/ │ │ │ │ ├── forms/ │ │ │ │ │ ├── appearance-settings.tsx │ │ │ │ │ ├── chat-settings.tsx │ │ │ │ │ ├── display-settings.tsx │ │ │ │ │ ├── notion-prompt-form.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ ├── ship-registration-form.tsx │ │ │ │ │ └── shipping-form.tsx │ │ │ │ ├── next-form/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── example-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── react-hook-form/ │ │ │ │ │ ├── example-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── schema.ts │ │ │ │ └── tanstack-form/ │ │ │ │ ├── example-form.tsx │ │ │ │ └── page.tsx │ │ │ ├── [name]/ │ │ │ │ └── page.tsx │ │ │ ├── component-registry.ts │ │ │ ├── components/ │ │ │ │ ├── accordion-demo.tsx │ │ │ │ ├── alert-demo.tsx │ │ │ │ ├── alert-dialog-demo.tsx │ │ │ │ ├── app-breadcrumbs.tsx │ │ │ │ ├── app-sidebar.tsx │ │ │ │ ├── aspect-ratio-demo.tsx │ │ │ │ ├── avatar-demo.tsx │ │ │ │ ├── badge-demo.tsx │ │ │ │ ├── breadcrumb-demo.tsx │ │ │ │ ├── button-demo.tsx │ │ │ │ ├── button-group-demo.tsx │ │ │ │ ├── calendar-demo.tsx │ │ │ │ ├── card-demo.tsx │ │ │ │ ├── carousel-demo.tsx │ │ │ │ ├── chart-area-demo.tsx │ │ │ │ ├── chart-bar-demo.tsx │ │ │ │ ├── chart-bar-mixed.tsx │ │ │ │ ├── chart-demo.tsx │ │ │ │ ├── chart-line-demo.tsx │ │ │ │ ├── checkbox-demo.tsx │ │ │ │ ├── collapsible-demo.tsx │ │ │ │ ├── combobox-demo.tsx │ │ │ │ ├── command-demo.tsx │ │ │ │ ├── component-wrapper.tsx │ │ │ │ ├── context-menu-demo.tsx │ │ │ │ ├── date-picker-demo.tsx │ │ │ │ ├── dialog-demo.tsx │ │ │ │ ├── drawer-demo.tsx │ │ │ │ ├── dropdown-menu-demo.tsx │ │ │ │ ├── empty-demo.tsx │ │ │ │ ├── field-demo.tsx │ │ │ │ ├── form-demo.tsx │ │ │ │ ├── hover-card-demo.tsx │ │ │ │ ├── input-demo.tsx │ │ │ │ ├── input-group-demo.tsx │ │ │ │ ├── input-otp-demo.tsx │ │ │ │ ├── item-demo.tsx │ │ │ │ ├── kbd-demo.tsx │ │ │ │ ├── label-demo.tsx │ │ │ │ ├── menubar-demo.tsx │ │ │ │ ├── native-select-demo.tsx │ │ │ │ ├── navigation-menu-demo.tsx │ │ │ │ ├── pagination-demo.tsx │ │ │ │ ├── popover-demo.tsx │ │ │ │ ├── progress-demo.tsx │ │ │ │ ├── radio-group-demo.tsx │ │ │ │ ├── resizable-demo.tsx │ │ │ │ ├── scroll-area-demo.tsx │ │ │ │ ├── select-demo.tsx │ │ │ │ ├── separator-demo.tsx │ │ │ │ ├── sheet-demo.tsx │ │ │ │ ├── skeleton-demo.tsx │ │ │ │ ├── slider-demo.tsx │ │ │ │ ├── sonner-demo.tsx │ │ │ │ ├── spinner-demo.tsx │ │ │ │ ├── switch-demo.tsx │ │ │ │ ├── table-demo.tsx │ │ │ │ ├── tabs-demo.tsx │ │ │ │ ├── textarea-demo.tsx │ │ │ │ ├── theme-selector.tsx │ │ │ │ ├── toggle-demo.tsx │ │ │ │ ├── toggle-group-demo.tsx │ │ │ │ └── tooltip-demo.tsx │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── (view)/ │ │ │ └── view/ │ │ │ └── [style]/ │ │ │ └── [name]/ │ │ │ ├── component-preview.tsx │ │ │ └── page.tsx │ │ ├── api/ │ │ │ └── search/ │ │ │ └── route.ts │ │ ├── layout.tsx │ │ ├── og/ │ │ │ ├── geist-regular-otf.json │ │ │ ├── geist-semibold-otf.json │ │ │ ├── geistmono-regular-otf.json │ │ │ └── route.tsx │ │ └── rss.xml/ │ │ └── route.ts │ ├── components/ │ │ ├── active-theme.tsx │ │ ├── analytics.tsx │ │ ├── announcement.tsx │ │ ├── block-display.tsx │ │ ├── block-image.tsx │ │ ├── block-viewer.tsx │ │ ├── blocks-nav.tsx │ │ ├── callout.tsx │ │ ├── cards/ │ │ │ ├── activity-goal.tsx │ │ │ ├── calendar.tsx │ │ │ ├── chat.tsx │ │ │ ├── cookie-settings.tsx │ │ │ ├── create-account.tsx │ │ │ ├── exercise-minutes.tsx │ │ │ ├── forms.tsx │ │ │ ├── index.tsx │ │ │ ├── payment-method.tsx │ │ │ ├── payments.tsx │ │ │ ├── report-issue.tsx │ │ │ ├── share.tsx │ │ │ ├── stats.tsx │ │ │ └── team-members.tsx │ │ ├── chart-code-viewer.tsx │ │ ├── chart-copy-button.tsx │ │ ├── chart-display.tsx │ │ ├── chart-iframe.tsx │ │ ├── chart-toolbar.tsx │ │ ├── charts-nav.tsx │ │ ├── code-block-command.tsx │ │ ├── code-collapsible-wrapper.tsx │ │ ├── code-tabs.tsx │ │ ├── color-format-selector.tsx │ │ ├── color-palette.tsx │ │ ├── color.tsx │ │ ├── colors-nav.tsx │ │ ├── command-menu.tsx │ │ ├── component-preview-tabs.tsx │ │ ├── component-preview.tsx │ │ ├── component-source.tsx │ │ ├── component-wrapper.tsx │ │ ├── components-list.tsx │ │ ├── copy-button.tsx │ │ ├── directory-add-button.tsx │ │ ├── directory-list.tsx │ │ ├── docs-base-switcher.tsx │ │ ├── docs-breadcrumb.tsx │ │ ├── docs-copy-page.tsx │ │ ├── docs-page-links.tsx │ │ ├── docs-sidebar.tsx │ │ ├── docs-toc.tsx │ │ ├── examples-nav.tsx │ │ ├── github-link.tsx │ │ ├── icons.tsx │ │ ├── language-selector.tsx │ │ ├── lo-fi/ │ │ │ ├── accordion.tsx │ │ │ ├── alert.tsx │ │ │ ├── atom.tsx │ │ │ ├── component.tsx │ │ │ └── index.tsx │ │ ├── main-nav.tsx │ │ ├── mobile-nav.tsx │ │ ├── mode-switcher.tsx │ │ ├── nav-header.tsx │ │ ├── nav-user.tsx │ │ ├── open-in-v0-button.tsx │ │ ├── open-in-v0-cta.tsx │ │ ├── page-header.tsx │ │ ├── page-nav.tsx │ │ ├── search-directory.tsx │ │ ├── site-config.tsx │ │ ├── site-footer.tsx │ │ ├── site-header.tsx │ │ ├── tailwind-indicator.tsx │ │ ├── theme-customizer.tsx │ │ ├── theme-provider.tsx │ │ └── theme-selector.tsx │ ├── components.json │ ├── content/ │ │ └── docs/ │ │ ├── (root)/ │ │ │ ├── _blocks.mdx │ │ │ ├── cli.mdx │ │ │ ├── components-json.mdx │ │ │ ├── directory.mdx │ │ │ ├── figma.mdx │ │ │ ├── index.mdx │ │ │ ├── javascript.mdx │ │ │ ├── legacy.mdx │ │ │ ├── mcp.mdx │ │ │ ├── meta.json │ │ │ ├── monorepo.mdx │ │ │ ├── new.mdx │ │ │ ├── react-19.mdx │ │ │ ├── skills.mdx │ │ │ ├── tailwind-v4.mdx │ │ │ ├── theming.mdx │ │ │ └── v0.mdx │ │ ├── changelog/ │ │ │ ├── 2023-06-new-cli.mdx │ │ │ ├── 2023-07-javascript.mdx │ │ │ ├── 2023-12-new-components.mdx │ │ │ ├── 2024-03-blocks.mdx │ │ │ ├── 2024-03-breadcrumb-otp.mdx │ │ │ ├── 2024-04-lift-mode.mdx │ │ │ ├── 2024-08-npx-shadcn-init.mdx │ │ │ ├── 2024-10-react-19.mdx │ │ │ ├── 2024-10-sidebar.mdx │ │ │ ├── 2024-11-icons.mdx │ │ │ ├── 2024-12-monorepo.mdx │ │ │ ├── 2025-01-blocks.mdx │ │ │ ├── 2025-02-registry-schema.mdx │ │ │ ├── 2025-02-tailwind-v4.mdx │ │ │ ├── 2025-04-cross-framework.mdx │ │ │ ├── 2025-04-mcp.mdx │ │ │ ├── 2025-04-shadcn-2-5.mdx │ │ │ ├── 2025-05-new-site.mdx │ │ │ ├── 2025-06-calendar.mdx │ │ │ ├── 2025-06-radix-ui.mdx │ │ │ ├── 2025-07-local-file-support.mdx │ │ │ ├── 2025-07-universal-registry.mdx │ │ │ ├── 2025-08-cli-3-mcp.mdx │ │ │ ├── 2025-09-registry-index.mdx │ │ │ ├── 2025-10-new-components.mdx │ │ │ ├── 2025-10-registry-directory.mdx │ │ │ ├── 2025-12-shadcn-create.mdx │ │ │ ├── 2026-01-base-ui.mdx │ │ │ ├── 2026-01-inline-side-styles.mdx │ │ │ ├── 2026-01-rtl.mdx │ │ │ ├── 2026-02-blocks.mdx │ │ │ ├── 2026-02-radix-ui.mdx │ │ │ ├── 2026-03-cli-v4.mdx │ │ │ ├── index.mdx │ │ │ └── meta.json │ │ ├── components/ │ │ │ ├── base/ │ │ │ │ ├── accordion.mdx │ │ │ │ ├── alert-dialog.mdx │ │ │ │ ├── alert.mdx │ │ │ │ ├── aspect-ratio.mdx │ │ │ │ ├── avatar.mdx │ │ │ │ ├── badge.mdx │ │ │ │ ├── breadcrumb.mdx │ │ │ │ ├── button-group.mdx │ │ │ │ ├── button.mdx │ │ │ │ ├── calendar.mdx │ │ │ │ ├── card.mdx │ │ │ │ ├── carousel.mdx │ │ │ │ ├── chart.mdx │ │ │ │ ├── checkbox.mdx │ │ │ │ ├── collapsible.mdx │ │ │ │ ├── combobox.mdx │ │ │ │ ├── command.mdx │ │ │ │ ├── context-menu.mdx │ │ │ │ ├── data-table.mdx │ │ │ │ ├── date-picker.mdx │ │ │ │ ├── dialog.mdx │ │ │ │ ├── direction.mdx │ │ │ │ ├── drawer.mdx │ │ │ │ ├── dropdown-menu.mdx │ │ │ │ ├── empty.mdx │ │ │ │ ├── field.mdx │ │ │ │ ├── hover-card.mdx │ │ │ │ ├── input-group.mdx │ │ │ │ ├── input-otp.mdx │ │ │ │ ├── input.mdx │ │ │ │ ├── item.mdx │ │ │ │ ├── kbd.mdx │ │ │ │ ├── label.mdx │ │ │ │ ├── menubar.mdx │ │ │ │ ├── meta.json │ │ │ │ ├── native-select.mdx │ │ │ │ ├── navigation-menu.mdx │ │ │ │ ├── pagination.mdx │ │ │ │ ├── popover.mdx │ │ │ │ ├── progress.mdx │ │ │ │ ├── radio-group.mdx │ │ │ │ ├── resizable.mdx │ │ │ │ ├── scroll-area.mdx │ │ │ │ ├── select.mdx │ │ │ │ ├── separator.mdx │ │ │ │ ├── sheet.mdx │ │ │ │ ├── sidebar.mdx │ │ │ │ ├── skeleton.mdx │ │ │ │ ├── slider.mdx │ │ │ │ ├── sonner.mdx │ │ │ │ ├── spinner.mdx │ │ │ │ ├── switch.mdx │ │ │ │ ├── table.mdx │ │ │ │ ├── tabs.mdx │ │ │ │ ├── textarea.mdx │ │ │ │ ├── toast.mdx │ │ │ │ ├── toggle-group.mdx │ │ │ │ ├── toggle.mdx │ │ │ │ ├── tooltip.mdx │ │ │ │ └── typography.mdx │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ └── radix/ │ │ │ ├── accordion.mdx │ │ │ ├── alert-dialog.mdx │ │ │ ├── alert.mdx │ │ │ ├── aspect-ratio.mdx │ │ │ ├── avatar.mdx │ │ │ ├── badge.mdx │ │ │ ├── breadcrumb.mdx │ │ │ ├── button-group.mdx │ │ │ ├── button.mdx │ │ │ ├── calendar.mdx │ │ │ ├── card.mdx │ │ │ ├── carousel.mdx │ │ │ ├── chart.mdx │ │ │ ├── checkbox.mdx │ │ │ ├── collapsible.mdx │ │ │ ├── combobox.mdx │ │ │ ├── command.mdx │ │ │ ├── context-menu.mdx │ │ │ ├── data-table.mdx │ │ │ ├── date-picker.mdx │ │ │ ├── dialog.mdx │ │ │ ├── direction.mdx │ │ │ ├── drawer.mdx │ │ │ ├── dropdown-menu.mdx │ │ │ ├── empty.mdx │ │ │ ├── field.mdx │ │ │ ├── hover-card.mdx │ │ │ ├── input-group.mdx │ │ │ ├── input-otp.mdx │ │ │ ├── input.mdx │ │ │ ├── item.mdx │ │ │ ├── kbd.mdx │ │ │ ├── label.mdx │ │ │ ├── menubar.mdx │ │ │ ├── meta.json │ │ │ ├── native-select.mdx │ │ │ ├── navigation-menu.mdx │ │ │ ├── pagination.mdx │ │ │ ├── popover.mdx │ │ │ ├── progress.mdx │ │ │ ├── radio-group.mdx │ │ │ ├── resizable.mdx │ │ │ ├── scroll-area.mdx │ │ │ ├── select.mdx │ │ │ ├── separator.mdx │ │ │ ├── sheet.mdx │ │ │ ├── sidebar.mdx │ │ │ ├── skeleton.mdx │ │ │ ├── slider.mdx │ │ │ ├── sonner.mdx │ │ │ ├── spinner.mdx │ │ │ ├── switch.mdx │ │ │ ├── table.mdx │ │ │ ├── tabs.mdx │ │ │ ├── textarea.mdx │ │ │ ├── toast.mdx │ │ │ ├── toggle-group.mdx │ │ │ ├── toggle.mdx │ │ │ ├── tooltip.mdx │ │ │ └── typography.mdx │ │ ├── dark-mode/ │ │ │ ├── astro.mdx │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ ├── next.mdx │ │ │ ├── remix.mdx │ │ │ └── vite.mdx │ │ ├── forms/ │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ ├── next.mdx │ │ │ ├── react-hook-form.mdx │ │ │ └── tanstack-form.mdx │ │ ├── installation/ │ │ │ ├── astro.mdx │ │ │ ├── gatsby.mdx │ │ │ ├── index.mdx │ │ │ ├── laravel.mdx │ │ │ ├── manual.mdx │ │ │ ├── meta.json │ │ │ ├── next.mdx │ │ │ ├── react-router.mdx │ │ │ ├── remix.mdx │ │ │ ├── tanstack-router.mdx │ │ │ ├── tanstack.mdx │ │ │ └── vite.mdx │ │ ├── meta.json │ │ ├── registry/ │ │ │ ├── authentication.mdx │ │ │ ├── examples.mdx │ │ │ ├── faq.mdx │ │ │ ├── getting-started.mdx │ │ │ ├── index.mdx │ │ │ ├── mcp.mdx │ │ │ ├── meta.json │ │ │ ├── namespace.mdx │ │ │ ├── open-in-v0.mdx │ │ │ ├── registry-index.mdx │ │ │ ├── registry-item-json.mdx │ │ │ └── registry-json.mdx │ │ └── rtl/ │ │ ├── index.mdx │ │ ├── meta.json │ │ ├── next.mdx │ │ ├── start.mdx │ │ └── vite.mdx │ ├── eslint.config.mjs │ ├── examples/ │ │ ├── README.md │ │ ├── __index__.tsx │ │ ├── base/ │ │ │ ├── accordion-basic.tsx │ │ │ ├── accordion-borders.tsx │ │ │ ├── accordion-card.tsx │ │ │ ├── accordion-demo.tsx │ │ │ ├── accordion-disabled.tsx │ │ │ ├── accordion-multiple.tsx │ │ │ ├── accordion-rtl.tsx │ │ │ ├── alert-action.tsx │ │ │ ├── alert-basic.tsx │ │ │ ├── alert-colors.tsx │ │ │ ├── alert-demo.tsx │ │ │ ├── alert-destructive.tsx │ │ │ ├── alert-dialog-basic.tsx │ │ │ ├── alert-dialog-demo.tsx │ │ │ ├── alert-dialog-destructive.tsx │ │ │ ├── alert-dialog-media.tsx │ │ │ ├── alert-dialog-rtl.tsx │ │ │ ├── alert-dialog-small-media.tsx │ │ │ ├── alert-dialog-small.tsx │ │ │ ├── alert-rtl.tsx │ │ │ ├── aspect-ratio-demo.tsx │ │ │ ├── aspect-ratio-portrait.tsx │ │ │ ├── aspect-ratio-rtl.tsx │ │ │ ├── aspect-ratio-square.tsx │ │ │ ├── avatar-badge-icon.tsx │ │ │ ├── avatar-badge.tsx │ │ │ ├── avatar-basic.tsx │ │ │ ├── avatar-demo.tsx │ │ │ ├── avatar-dropdown.tsx │ │ │ ├── avatar-group-count-icon.tsx │ │ │ ├── avatar-group-count.tsx │ │ │ ├── avatar-group.tsx │ │ │ ├── avatar-rtl.tsx │ │ │ ├── avatar-size.tsx │ │ │ ├── badge-colors.tsx │ │ │ ├── badge-demo.tsx │ │ │ ├── badge-icon.tsx │ │ │ ├── badge-link.tsx │ │ │ ├── badge-rtl.tsx │ │ │ ├── badge-spinner.tsx │ │ │ ├── badge-variants.tsx │ │ │ ├── breadcrumb-basic.tsx │ │ │ ├── breadcrumb-demo.tsx │ │ │ ├── breadcrumb-dropdown.tsx │ │ │ ├── breadcrumb-ellipsis.tsx │ │ │ ├── breadcrumb-link.tsx │ │ │ ├── breadcrumb-rtl.tsx │ │ │ ├── breadcrumb-separator.tsx │ │ │ ├── button-default.tsx │ │ │ ├── button-demo.tsx │ │ │ ├── button-destructive.tsx │ │ │ ├── button-ghost.tsx │ │ │ ├── button-group-demo.tsx │ │ │ ├── button-group-dropdown.tsx │ │ │ ├── button-group-input-group.tsx │ │ │ ├── button-group-input.tsx │ │ │ ├── button-group-nested.tsx │ │ │ ├── button-group-orientation.tsx │ │ │ ├── button-group-popover.tsx │ │ │ ├── button-group-rtl.tsx │ │ │ ├── button-group-select.tsx │ │ │ ├── button-group-separator.tsx │ │ │ ├── button-group-size.tsx │ │ │ ├── button-group-split.tsx │ │ │ ├── button-icon.tsx │ │ │ ├── button-link.tsx │ │ │ ├── button-outline.tsx │ │ │ ├── button-render.tsx │ │ │ ├── button-rounded.tsx │ │ │ ├── button-rtl.tsx │ │ │ ├── button-secondary.tsx │ │ │ ├── button-size.tsx │ │ │ ├── button-spinner.tsx │ │ │ ├── button-with-icon.tsx │ │ │ ├── calendar-basic.tsx │ │ │ ├── calendar-booked-dates.tsx │ │ │ ├── calendar-caption.tsx │ │ │ ├── calendar-custom-days.tsx │ │ │ ├── calendar-demo.tsx │ │ │ ├── calendar-hijri.tsx │ │ │ ├── calendar-multiple.tsx │ │ │ ├── calendar-presets.tsx │ │ │ ├── calendar-range.tsx │ │ │ ├── calendar-rtl.tsx │ │ │ ├── calendar-time.tsx │ │ │ ├── calendar-week-numbers.tsx │ │ │ ├── card-demo.tsx │ │ │ ├── card-image.tsx │ │ │ ├── card-rtl.tsx │ │ │ ├── card-small.tsx │ │ │ ├── carousel-api.tsx │ │ │ ├── carousel-demo.tsx │ │ │ ├── carousel-multiple.tsx │ │ │ ├── carousel-orientation.tsx │ │ │ ├── carousel-plugin.tsx │ │ │ ├── carousel-rtl.tsx │ │ │ ├── carousel-size.tsx │ │ │ ├── carousel-spacing.tsx │ │ │ ├── chart-demo.tsx │ │ │ ├── chart-example-axis.tsx │ │ │ ├── chart-example-grid.tsx │ │ │ ├── chart-example-legend.tsx │ │ │ ├── chart-example-tooltip.tsx │ │ │ ├── chart-example.tsx │ │ │ ├── chart-rtl.tsx │ │ │ ├── chart-tooltip.tsx │ │ │ ├── checkbox-basic.tsx │ │ │ ├── checkbox-demo.tsx │ │ │ ├── checkbox-description.tsx │ │ │ ├── checkbox-disabled.tsx │ │ │ ├── checkbox-group.tsx │ │ │ ├── checkbox-invalid.tsx │ │ │ ├── checkbox-rtl.tsx │ │ │ ├── checkbox-table.tsx │ │ │ ├── collapsible-basic.tsx │ │ │ ├── collapsible-demo.tsx │ │ │ ├── collapsible-file-tree.tsx │ │ │ ├── collapsible-rtl.tsx │ │ │ ├── collapsible-settings.tsx │ │ │ ├── combobox-auto-highlight.tsx │ │ │ ├── combobox-basic.tsx │ │ │ ├── combobox-clear.tsx │ │ │ ├── combobox-custom.tsx │ │ │ ├── combobox-demo.tsx │ │ │ ├── combobox-disabled.tsx │ │ │ ├── combobox-groups.tsx │ │ │ ├── combobox-input-group.tsx │ │ │ ├── combobox-invalid.tsx │ │ │ ├── combobox-multiple.tsx │ │ │ ├── combobox-popup.tsx │ │ │ ├── combobox-rtl.tsx │ │ │ ├── command-basic.tsx │ │ │ ├── command-demo.tsx │ │ │ ├── command-dialog.tsx │ │ │ ├── command-groups.tsx │ │ │ ├── command-rtl.tsx │ │ │ ├── command-scrollable.tsx │ │ │ ├── command-shortcuts.tsx │ │ │ ├── context-menu-basic.tsx │ │ │ ├── context-menu-checkboxes.tsx │ │ │ ├── context-menu-demo.tsx │ │ │ ├── context-menu-destructive.tsx │ │ │ ├── context-menu-groups.tsx │ │ │ ├── context-menu-icons.tsx │ │ │ ├── context-menu-radio.tsx │ │ │ ├── context-menu-rtl.tsx │ │ │ ├── context-menu-shortcuts.tsx │ │ │ ├── context-menu-sides.tsx │ │ │ ├── context-menu-submenu.tsx │ │ │ ├── data-picker-with-dropdowns.tsx │ │ │ ├── data-table-demo.tsx │ │ │ ├── data-table-rtl.tsx │ │ │ ├── date-picker-basic.tsx │ │ │ ├── date-picker-demo.tsx │ │ │ ├── date-picker-dob.tsx │ │ │ ├── date-picker-input.tsx │ │ │ ├── date-picker-natural-language.tsx │ │ │ ├── date-picker-range.tsx │ │ │ ├── date-picker-rtl.tsx │ │ │ ├── date-picker-time.tsx │ │ │ ├── dialog-close-button.tsx │ │ │ ├── dialog-demo.tsx │ │ │ ├── dialog-no-close-button.tsx │ │ │ ├── dialog-rtl.tsx │ │ │ ├── dialog-scrollable-content.tsx │ │ │ ├── dialog-sticky-footer.tsx │ │ │ ├── drawer-demo.tsx │ │ │ ├── drawer-dialog.tsx │ │ │ ├── drawer-rtl.tsx │ │ │ ├── drawer-scrollable-content.tsx │ │ │ ├── drawer-sides.tsx │ │ │ ├── dropdown-menu-avatar.tsx │ │ │ ├── dropdown-menu-basic.tsx │ │ │ ├── dropdown-menu-checkboxes-icons.tsx │ │ │ ├── dropdown-menu-checkboxes.tsx │ │ │ ├── dropdown-menu-complex.tsx │ │ │ ├── dropdown-menu-demo.tsx │ │ │ ├── dropdown-menu-destructive.tsx │ │ │ ├── dropdown-menu-icons.tsx │ │ │ ├── dropdown-menu-radio-group.tsx │ │ │ ├── dropdown-menu-radio-icons.tsx │ │ │ ├── dropdown-menu-rtl.tsx │ │ │ ├── dropdown-menu-shortcuts.tsx │ │ │ ├── dropdown-menu-submenu.tsx │ │ │ ├── empty-avatar-group.tsx │ │ │ ├── empty-avatar.tsx │ │ │ ├── empty-background.tsx │ │ │ ├── empty-card.tsx │ │ │ ├── empty-demo.tsx │ │ │ ├── empty-input-group.tsx │ │ │ ├── empty-outline.tsx │ │ │ ├── empty-rtl.tsx │ │ │ ├── field-checkbox.tsx │ │ │ ├── field-choice-card.tsx │ │ │ ├── field-demo.tsx │ │ │ ├── field-fieldset.tsx │ │ │ ├── field-group.tsx │ │ │ ├── field-input.tsx │ │ │ ├── field-radio.tsx │ │ │ ├── field-responsive.tsx │ │ │ ├── field-rtl.tsx │ │ │ ├── field-select.tsx │ │ │ ├── field-slider.tsx │ │ │ ├── field-switch.tsx │ │ │ ├── field-textarea.tsx │ │ │ ├── file-upload-list.tsx │ │ │ ├── hooks/ │ │ │ │ └── use-mobile.ts │ │ │ ├── hover-card-demo.tsx │ │ │ ├── hover-card-rtl.tsx │ │ │ ├── hover-card-sides.tsx │ │ │ ├── input-badge.tsx │ │ │ ├── input-basic.tsx │ │ │ ├── input-button-group.tsx │ │ │ ├── input-demo.tsx │ │ │ ├── input-disabled.tsx │ │ │ ├── input-field.tsx │ │ │ ├── input-fieldgroup.tsx │ │ │ ├── input-file.tsx │ │ │ ├── input-form.tsx │ │ │ ├── input-grid.tsx │ │ │ ├── input-group-basic.tsx │ │ │ ├── input-group-block-end.tsx │ │ │ ├── input-group-block-start.tsx │ │ │ ├── input-group-button-group.tsx │ │ │ ├── input-group-button.tsx │ │ │ ├── input-group-custom.tsx │ │ │ ├── input-group-demo.tsx │ │ │ ├── input-group-dropdown.tsx │ │ │ ├── input-group-icon.tsx │ │ │ ├── input-group-in-card.tsx │ │ │ ├── input-group-inline-end.tsx │ │ │ ├── input-group-inline-start.tsx │ │ │ ├── input-group-kbd.tsx │ │ │ ├── input-group-label.tsx │ │ │ ├── input-group-rtl.tsx │ │ │ ├── input-group-spinner.tsx │ │ │ ├── input-group-text.tsx │ │ │ ├── input-group-textarea-examples.tsx │ │ │ ├── input-group-textarea.tsx │ │ │ ├── input-group-tooltip.tsx │ │ │ ├── input-group-with-addons.tsx │ │ │ ├── input-group-with-buttons.tsx │ │ │ ├── input-group-with-kbd.tsx │ │ │ ├── input-group-with-tooltip.tsx │ │ │ ├── input-inline.tsx │ │ │ ├── input-input-group.tsx │ │ │ ├── input-invalid.tsx │ │ │ ├── input-otp-alphanumeric.tsx │ │ │ ├── input-otp-controlled.tsx │ │ │ ├── input-otp-demo.tsx │ │ │ ├── input-otp-disabled.tsx │ │ │ ├── input-otp-form.tsx │ │ │ ├── input-otp-four-digits.tsx │ │ │ ├── input-otp-invalid.tsx │ │ │ ├── input-otp-pattern.tsx │ │ │ ├── input-otp-rtl.tsx │ │ │ ├── input-otp-separator.tsx │ │ │ ├── input-required.tsx │ │ │ ├── input-rtl.tsx │ │ │ ├── item-avatar.tsx │ │ │ ├── item-demo.tsx │ │ │ ├── item-dropdown.tsx │ │ │ ├── item-group.tsx │ │ │ ├── item-header.tsx │ │ │ ├── item-icon.tsx │ │ │ ├── item-image.tsx │ │ │ ├── item-link.tsx │ │ │ ├── item-rtl.tsx │ │ │ ├── item-size.tsx │ │ │ ├── item-variant.tsx │ │ │ ├── kbd-button.tsx │ │ │ ├── kbd-demo.tsx │ │ │ ├── kbd-group.tsx │ │ │ ├── kbd-input-group.tsx │ │ │ ├── kbd-rtl.tsx │ │ │ ├── kbd-tooltip.tsx │ │ │ ├── label-demo.tsx │ │ │ ├── label-rtl.tsx │ │ │ ├── lib/ │ │ │ │ └── utils.ts │ │ │ ├── menubar-checkbox.tsx │ │ │ ├── menubar-demo.tsx │ │ │ ├── menubar-icons.tsx │ │ │ ├── menubar-radio.tsx │ │ │ ├── menubar-rtl.tsx │ │ │ ├── menubar-submenu.tsx │ │ │ ├── muted-item-group.tsx │ │ │ ├── native-select-demo.tsx │ │ │ ├── native-select-disabled.tsx │ │ │ ├── native-select-groups.tsx │ │ │ ├── native-select-invalid.tsx │ │ │ ├── native-select-rtl.tsx │ │ │ ├── navigation-menu-demo.tsx │ │ │ ├── navigation-menu-rtl.tsx │ │ │ ├── outline-item-group.tsx │ │ │ ├── pagination-demo.tsx │ │ │ ├── pagination-icons-only.tsx │ │ │ ├── pagination-rtl.tsx │ │ │ ├── pagination-simple.tsx │ │ │ ├── popover-alignments.tsx │ │ │ ├── popover-basic.tsx │ │ │ ├── popover-demo.tsx │ │ │ ├── popover-form.tsx │ │ │ ├── popover-rtl.tsx │ │ │ ├── progress-controlled.tsx │ │ │ ├── progress-demo.tsx │ │ │ ├── progress-label.tsx │ │ │ ├── progress-rtl.tsx │ │ │ ├── radio-fields.tsx │ │ │ ├── radio-group-choice-card.tsx │ │ │ ├── radio-group-demo.tsx │ │ │ ├── radio-group-description.tsx │ │ │ ├── radio-group-disabled.tsx │ │ │ ├── radio-group-fieldset.tsx │ │ │ ├── radio-group-invalid.tsx │ │ │ ├── radio-group-rtl.tsx │ │ │ ├── resizable-demo.tsx │ │ │ ├── resizable-handle.tsx │ │ │ ├── resizable-rtl.tsx │ │ │ ├── resizable-vertical.tsx │ │ │ ├── scroll-area-demo.tsx │ │ │ ├── scroll-area-horizontal-demo.tsx │ │ │ ├── scroll-area-rtl.tsx │ │ │ ├── select-align-item.tsx │ │ │ ├── select-demo.tsx │ │ │ ├── select-disabled.tsx │ │ │ ├── select-groups.tsx │ │ │ ├── select-invalid.tsx │ │ │ ├── select-rtl.tsx │ │ │ ├── select-scrollable.tsx │ │ │ ├── separator-demo.tsx │ │ │ ├── separator-list.tsx │ │ │ ├── separator-menu.tsx │ │ │ ├── separator-rtl.tsx │ │ │ ├── separator-vertical.tsx │ │ │ ├── sheet-demo.tsx │ │ │ ├── sheet-no-close-button.tsx │ │ │ ├── sheet-rtl.tsx │ │ │ ├── sheet-side.tsx │ │ │ ├── sidebar-controlled.tsx │ │ │ ├── sidebar-demo.tsx │ │ │ ├── sidebar-footer.tsx │ │ │ ├── sidebar-group-action.tsx │ │ │ ├── sidebar-group-collapsible.tsx │ │ │ ├── sidebar-group.tsx │ │ │ ├── sidebar-header.tsx │ │ │ ├── sidebar-menu-action.tsx │ │ │ ├── sidebar-menu-badge.tsx │ │ │ ├── sidebar-menu-collapsible.tsx │ │ │ ├── sidebar-menu-sub.tsx │ │ │ ├── sidebar-menu.tsx │ │ │ ├── sidebar-rsc.tsx │ │ │ ├── sidebar-rtl.tsx │ │ │ ├── skeleton-avatar.tsx │ │ │ ├── skeleton-card.tsx │ │ │ ├── skeleton-demo.tsx │ │ │ ├── skeleton-form.tsx │ │ │ ├── skeleton-rtl.tsx │ │ │ ├── skeleton-table.tsx │ │ │ ├── skeleton-text.tsx │ │ │ ├── slider-controlled.tsx │ │ │ ├── slider-demo.tsx │ │ │ ├── slider-disabled.tsx │ │ │ ├── slider-multiple.tsx │ │ │ ├── slider-range.tsx │ │ │ ├── slider-rtl.tsx │ │ │ ├── slider-vertical.tsx │ │ │ ├── sonner-demo.tsx │ │ │ ├── sonner-description.tsx │ │ │ ├── sonner-position.tsx │ │ │ ├── sonner-types.tsx │ │ │ ├── spinner-badge.tsx │ │ │ ├── spinner-button.tsx │ │ │ ├── spinner-custom.tsx │ │ │ ├── spinner-demo.tsx │ │ │ ├── spinner-empty.tsx │ │ │ ├── spinner-input-group.tsx │ │ │ ├── spinner-rtl.tsx │ │ │ ├── spinner-size.tsx │ │ │ ├── switch-choice-card.tsx │ │ │ ├── switch-demo.tsx │ │ │ ├── switch-description.tsx │ │ │ ├── switch-disabled.tsx │ │ │ ├── switch-invalid.tsx │ │ │ ├── switch-rtl.tsx │ │ │ ├── switch-sizes.tsx │ │ │ ├── table-actions.tsx │ │ │ ├── table-demo.tsx │ │ │ ├── table-footer.tsx │ │ │ ├── table-rtl.tsx │ │ │ ├── tabs-demo.tsx │ │ │ ├── tabs-disabled.tsx │ │ │ ├── tabs-icons.tsx │ │ │ ├── tabs-line.tsx │ │ │ ├── tabs-rtl.tsx │ │ │ ├── tabs-vertical.tsx │ │ │ ├── textarea-button.tsx │ │ │ ├── textarea-demo.tsx │ │ │ ├── textarea-disabled.tsx │ │ │ ├── textarea-field.tsx │ │ │ ├── textarea-invalid.tsx │ │ │ ├── textarea-rtl.tsx │ │ │ ├── toggle-demo.tsx │ │ │ ├── toggle-disabled.tsx │ │ │ ├── toggle-group-demo.tsx │ │ │ ├── toggle-group-disabled.tsx │ │ │ ├── toggle-group-font-weight-selector.tsx │ │ │ ├── toggle-group-outline.tsx │ │ │ ├── toggle-group-rtl.tsx │ │ │ ├── toggle-group-sizes.tsx │ │ │ ├── toggle-group-spacing.tsx │ │ │ ├── toggle-group-vertical.tsx │ │ │ ├── toggle-outline.tsx │ │ │ ├── toggle-rtl.tsx │ │ │ ├── toggle-sizes.tsx │ │ │ ├── toggle-text.tsx │ │ │ ├── tooltip-demo.tsx │ │ │ ├── tooltip-disabled.tsx │ │ │ ├── tooltip-keyboard.tsx │ │ │ ├── tooltip-rtl.tsx │ │ │ ├── tooltip-sides.tsx │ │ │ ├── typography-blockquote.tsx │ │ │ ├── typography-demo.tsx │ │ │ ├── typography-h1.tsx │ │ │ ├── typography-h2.tsx │ │ │ ├── typography-h3.tsx │ │ │ ├── typography-h4.tsx │ │ │ ├── typography-inline-code.tsx │ │ │ ├── typography-large.tsx │ │ │ ├── typography-lead.tsx │ │ │ ├── typography-list.tsx │ │ │ ├── typography-muted.tsx │ │ │ ├── typography-p.tsx │ │ │ ├── typography-rtl.tsx │ │ │ ├── typography-small.tsx │ │ │ ├── typography-table.tsx │ │ │ ├── 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 │ │ │ │ ├── collapsible.tsx │ │ │ │ ├── combobox.tsx │ │ │ │ ├── command.tsx │ │ │ │ ├── context-menu.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── direction.tsx │ │ │ │ ├── drawer.tsx │ │ │ │ ├── dropdown-menu.tsx │ │ │ │ ├── empty.tsx │ │ │ │ ├── field.tsx │ │ │ │ ├── hover-card.tsx │ │ │ │ ├── input-group.tsx │ │ │ │ ├── input-otp.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── item.tsx │ │ │ │ ├── kbd.tsx │ │ │ │ ├── label.tsx │ │ │ │ ├── menubar.tsx │ │ │ │ ├── native-select.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 │ │ │ │ ├── sonner.tsx │ │ │ │ ├── spinner.tsx │ │ │ │ ├── switch.tsx │ │ │ │ ├── table.tsx │ │ │ │ ├── tabs.tsx │ │ │ │ ├── textarea.tsx │ │ │ │ ├── toggle-group.tsx │ │ │ │ ├── toggle.tsx │ │ │ │ └── tooltip.tsx │ │ │ └── ui-rtl/ │ │ │ ├── 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 │ │ │ ├── collapsible.tsx │ │ │ ├── combobox.tsx │ │ │ ├── command.tsx │ │ │ ├── context-menu.tsx │ │ │ ├── dialog.tsx │ │ │ ├── direction.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── empty.tsx │ │ │ ├── field.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── input-group.tsx │ │ │ ├── input-otp.tsx │ │ │ ├── input.tsx │ │ │ ├── item.tsx │ │ │ ├── kbd.tsx │ │ │ ├── label.tsx │ │ │ ├── menubar.tsx │ │ │ ├── native-select.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 │ │ │ ├── sonner.tsx │ │ │ ├── spinner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ │ └── radix/ │ │ ├── accordion-basic.tsx │ │ ├── accordion-borders.tsx │ │ ├── accordion-card.tsx │ │ ├── accordion-demo.tsx │ │ ├── accordion-disabled.tsx │ │ ├── accordion-multiple.tsx │ │ ├── accordion-rtl.tsx │ │ ├── alert-action.tsx │ │ ├── alert-basic.tsx │ │ ├── alert-colors.tsx │ │ ├── alert-demo.tsx │ │ ├── alert-destructive.tsx │ │ ├── alert-dialog-basic.tsx │ │ ├── alert-dialog-demo.tsx │ │ ├── alert-dialog-destructive.tsx │ │ ├── alert-dialog-media.tsx │ │ ├── alert-dialog-rtl.tsx │ │ ├── alert-dialog-small-media.tsx │ │ ├── alert-dialog-small.tsx │ │ ├── alert-rtl.tsx │ │ ├── aspect-ratio-demo.tsx │ │ ├── aspect-ratio-portrait.tsx │ │ ├── aspect-ratio-rtl.tsx │ │ ├── aspect-ratio-square.tsx │ │ ├── avatar-badge-icon.tsx │ │ ├── avatar-badge.tsx │ │ ├── avatar-basic.tsx │ │ ├── avatar-demo.tsx │ │ ├── avatar-dropdown.tsx │ │ ├── avatar-group-count-icon.tsx │ │ ├── avatar-group-count.tsx │ │ ├── avatar-group.tsx │ │ ├── avatar-rtl.tsx │ │ ├── avatar-size.tsx │ │ ├── badge-colors.tsx │ │ ├── badge-demo.tsx │ │ ├── badge-icon.tsx │ │ ├── badge-link.tsx │ │ ├── badge-rtl.tsx │ │ ├── badge-spinner.tsx │ │ ├── badge-variants.tsx │ │ ├── breadcrumb-basic.tsx │ │ ├── breadcrumb-demo.tsx │ │ ├── breadcrumb-dropdown.tsx │ │ ├── breadcrumb-ellipsis.tsx │ │ ├── breadcrumb-link.tsx │ │ ├── breadcrumb-rtl.tsx │ │ ├── breadcrumb-separator.tsx │ │ ├── button-aschild.tsx │ │ ├── button-default.tsx │ │ ├── button-demo.tsx │ │ ├── button-destructive.tsx │ │ ├── button-ghost.tsx │ │ ├── button-group-demo.tsx │ │ ├── button-group-dropdown.tsx │ │ ├── button-group-input-group.tsx │ │ ├── button-group-input.tsx │ │ ├── button-group-nested.tsx │ │ ├── button-group-orientation.tsx │ │ ├── button-group-popover.tsx │ │ ├── button-group-rtl.tsx │ │ ├── button-group-select.tsx │ │ ├── button-group-separator.tsx │ │ ├── button-group-size.tsx │ │ ├── button-group-split.tsx │ │ ├── button-icon.tsx │ │ ├── button-link.tsx │ │ ├── button-outline.tsx │ │ ├── button-rounded.tsx │ │ ├── button-rtl.tsx │ │ ├── button-secondary.tsx │ │ ├── button-size.tsx │ │ ├── button-spinner.tsx │ │ ├── button-with-icon.tsx │ │ ├── calendar-basic.tsx │ │ ├── calendar-booked-dates.tsx │ │ ├── calendar-caption.tsx │ │ ├── calendar-custom-days.tsx │ │ ├── calendar-demo.tsx │ │ ├── calendar-hijri.tsx │ │ ├── calendar-multiple.tsx │ │ ├── calendar-presets.tsx │ │ ├── calendar-range.tsx │ │ ├── calendar-rtl.tsx │ │ ├── calendar-time.tsx │ │ ├── calendar-week-numbers.tsx │ │ ├── card-demo.tsx │ │ ├── card-image.tsx │ │ ├── card-rtl.tsx │ │ ├── card-small.tsx │ │ ├── carousel-api.tsx │ │ ├── carousel-demo.tsx │ │ ├── carousel-multiple.tsx │ │ ├── carousel-orientation.tsx │ │ ├── carousel-plugin.tsx │ │ ├── carousel-rtl.tsx │ │ ├── carousel-size.tsx │ │ ├── carousel-spacing.tsx │ │ ├── chart-demo.tsx │ │ ├── chart-example-axis.tsx │ │ ├── chart-example-grid.tsx │ │ ├── chart-example-legend.tsx │ │ ├── chart-example-tooltip.tsx │ │ ├── chart-example.tsx │ │ ├── chart-rtl.tsx │ │ ├── chart-tooltip.tsx │ │ ├── checkbox-basic.tsx │ │ ├── checkbox-demo.tsx │ │ ├── checkbox-description.tsx │ │ ├── checkbox-disabled.tsx │ │ ├── checkbox-group.tsx │ │ ├── checkbox-invalid.tsx │ │ ├── checkbox-rtl.tsx │ │ ├── checkbox-table.tsx │ │ ├── collapsible-basic.tsx │ │ ├── collapsible-demo.tsx │ │ ├── collapsible-file-tree.tsx │ │ ├── collapsible-rtl.tsx │ │ ├── collapsible-settings.tsx │ │ ├── combobox-auto-highlight.tsx │ │ ├── combobox-basic.tsx │ │ ├── combobox-clear.tsx │ │ ├── combobox-custom.tsx │ │ ├── combobox-demo.tsx │ │ ├── combobox-disabled.tsx │ │ ├── combobox-groups.tsx │ │ ├── combobox-input-group.tsx │ │ ├── combobox-invalid.tsx │ │ ├── combobox-multiple.tsx │ │ ├── combobox-popup.tsx │ │ ├── combobox-rtl.tsx │ │ ├── command-basic.tsx │ │ ├── command-demo.tsx │ │ ├── command-dialog.tsx │ │ ├── command-groups.tsx │ │ ├── command-rtl.tsx │ │ ├── command-scrollable.tsx │ │ ├── command-shortcuts.tsx │ │ ├── context-menu-basic.tsx │ │ ├── context-menu-checkboxes.tsx │ │ ├── context-menu-demo.tsx │ │ ├── context-menu-destructive.tsx │ │ ├── context-menu-groups.tsx │ │ ├── context-menu-icons.tsx │ │ ├── context-menu-radio.tsx │ │ ├── context-menu-rtl.tsx │ │ ├── context-menu-shortcuts.tsx │ │ ├── context-menu-sides.tsx │ │ ├── context-menu-submenu.tsx │ │ ├── data-picker-with-dropdowns.tsx │ │ ├── data-table-demo.tsx │ │ ├── data-table-rtl.tsx │ │ ├── date-picker-basic.tsx │ │ ├── date-picker-demo.tsx │ │ ├── date-picker-dob.tsx │ │ ├── date-picker-input.tsx │ │ ├── date-picker-natural-language.tsx │ │ ├── date-picker-range.tsx │ │ ├── date-picker-rtl.tsx │ │ ├── date-picker-time.tsx │ │ ├── dialog-close-button.tsx │ │ ├── dialog-demo.tsx │ │ ├── dialog-no-close-button.tsx │ │ ├── dialog-rtl.tsx │ │ ├── dialog-scrollable-content.tsx │ │ ├── dialog-sticky-footer.tsx │ │ ├── drawer-demo.tsx │ │ ├── drawer-dialog.tsx │ │ ├── drawer-rtl.tsx │ │ ├── drawer-scrollable-content.tsx │ │ ├── drawer-sides.tsx │ │ ├── dropdown-menu-avatar.tsx │ │ ├── dropdown-menu-basic.tsx │ │ ├── dropdown-menu-checkboxes-icons.tsx │ │ ├── dropdown-menu-checkboxes.tsx │ │ ├── dropdown-menu-complex.tsx │ │ ├── dropdown-menu-demo.tsx │ │ ├── dropdown-menu-destructive.tsx │ │ ├── dropdown-menu-icons.tsx │ │ ├── dropdown-menu-radio-group.tsx │ │ ├── dropdown-menu-radio-icons.tsx │ │ ├── dropdown-menu-rtl.tsx │ │ ├── dropdown-menu-shortcuts.tsx │ │ ├── dropdown-menu-submenu.tsx │ │ ├── empty-avatar-group.tsx │ │ ├── empty-avatar.tsx │ │ ├── empty-background.tsx │ │ ├── empty-card.tsx │ │ ├── empty-demo.tsx │ │ ├── empty-input-group.tsx │ │ ├── empty-outline.tsx │ │ ├── empty-rtl.tsx │ │ ├── field-checkbox.tsx │ │ ├── field-choice-card.tsx │ │ ├── field-demo.tsx │ │ ├── field-fieldset.tsx │ │ ├── field-group.tsx │ │ ├── field-input.tsx │ │ ├── field-radio.tsx │ │ ├── field-responsive.tsx │ │ ├── field-rtl.tsx │ │ ├── field-select.tsx │ │ ├── field-slider.tsx │ │ ├── field-switch.tsx │ │ ├── field-textarea.tsx │ │ ├── file-upload-list.tsx │ │ ├── hooks/ │ │ │ └── use-mobile.ts │ │ ├── hover-card-demo.tsx │ │ ├── hover-card-rtl.tsx │ │ ├── hover-card-sides.tsx │ │ ├── input-badge.tsx │ │ ├── input-basic.tsx │ │ ├── input-button-group.tsx │ │ ├── input-demo.tsx │ │ ├── input-disabled.tsx │ │ ├── input-field.tsx │ │ ├── input-fieldgroup.tsx │ │ ├── input-file.tsx │ │ ├── input-form.tsx │ │ ├── input-grid.tsx │ │ ├── input-group-basic.tsx │ │ ├── input-group-block-end.tsx │ │ ├── input-group-block-start.tsx │ │ ├── input-group-button-group.tsx │ │ ├── input-group-button.tsx │ │ ├── input-group-custom.tsx │ │ ├── input-group-demo.tsx │ │ ├── input-group-dropdown.tsx │ │ ├── input-group-icon.tsx │ │ ├── input-group-in-card.tsx │ │ ├── input-group-inline-end.tsx │ │ ├── input-group-inline-start.tsx │ │ ├── input-group-kbd.tsx │ │ ├── input-group-label.tsx │ │ ├── input-group-rtl.tsx │ │ ├── input-group-spinner.tsx │ │ ├── input-group-text.tsx │ │ ├── input-group-textarea-examples.tsx │ │ ├── input-group-textarea.tsx │ │ ├── input-group-tooltip.tsx │ │ ├── input-group-with-addons.tsx │ │ ├── input-group-with-buttons.tsx │ │ ├── input-group-with-kbd.tsx │ │ ├── input-group-with-tooltip.tsx │ │ ├── input-inline.tsx │ │ ├── input-input-group.tsx │ │ ├── input-invalid.tsx │ │ ├── input-otp-alphanumeric.tsx │ │ ├── input-otp-controlled.tsx │ │ ├── input-otp-demo.tsx │ │ ├── input-otp-disabled.tsx │ │ ├── input-otp-form.tsx │ │ ├── input-otp-four-digits.tsx │ │ ├── input-otp-invalid.tsx │ │ ├── input-otp-pattern.tsx │ │ ├── input-otp-rtl.tsx │ │ ├── input-otp-separator.tsx │ │ ├── input-required.tsx │ │ ├── input-rtl.tsx │ │ ├── item-avatar.tsx │ │ ├── item-demo.tsx │ │ ├── item-dropdown.tsx │ │ ├── item-group.tsx │ │ ├── item-header.tsx │ │ ├── item-icon.tsx │ │ ├── item-image.tsx │ │ ├── item-link.tsx │ │ ├── item-rtl.tsx │ │ ├── item-size.tsx │ │ ├── item-variant.tsx │ │ ├── kbd-button.tsx │ │ ├── kbd-demo.tsx │ │ ├── kbd-group.tsx │ │ ├── kbd-input-group.tsx │ │ ├── kbd-rtl.tsx │ │ ├── kbd-tooltip.tsx │ │ ├── label-demo.tsx │ │ ├── label-rtl.tsx │ │ ├── lib/ │ │ │ └── utils.ts │ │ ├── menubar-checkbox.tsx │ │ ├── menubar-demo.tsx │ │ ├── menubar-icons.tsx │ │ ├── menubar-radio.tsx │ │ ├── menubar-rtl.tsx │ │ ├── menubar-submenu.tsx │ │ ├── muted-item-group.tsx │ │ ├── native-select-demo.tsx │ │ ├── native-select-disabled.tsx │ │ ├── native-select-groups.tsx │ │ ├── native-select-invalid.tsx │ │ ├── native-select-rtl.tsx │ │ ├── navigation-menu-demo.tsx │ │ ├── navigation-menu-rtl.tsx │ │ ├── outline-item-group.tsx │ │ ├── pagination-demo.tsx │ │ ├── pagination-icons-only.tsx │ │ ├── pagination-rtl.tsx │ │ ├── pagination-simple.tsx │ │ ├── popover-alignments.tsx │ │ ├── popover-basic.tsx │ │ ├── popover-demo.tsx │ │ ├── popover-form.tsx │ │ ├── popover-rtl.tsx │ │ ├── progress-controlled.tsx │ │ ├── progress-demo.tsx │ │ ├── progress-label.tsx │ │ ├── progress-rtl.tsx │ │ ├── radio-fields.tsx │ │ ├── radio-group-choice-card.tsx │ │ ├── radio-group-demo.tsx │ │ ├── radio-group-description.tsx │ │ ├── radio-group-disabled.tsx │ │ ├── radio-group-fieldset.tsx │ │ ├── radio-group-invalid.tsx │ │ ├── radio-group-rtl.tsx │ │ ├── resizable-demo.tsx │ │ ├── resizable-handle.tsx │ │ ├── resizable-rtl.tsx │ │ ├── resizable-vertical.tsx │ │ ├── scroll-area-demo.tsx │ │ ├── scroll-area-horizontal-demo.tsx │ │ ├── scroll-area-rtl.tsx │ │ ├── select-align-item.tsx │ │ ├── select-demo.tsx │ │ ├── select-disabled.tsx │ │ ├── select-groups.tsx │ │ ├── select-invalid.tsx │ │ ├── select-rtl.tsx │ │ ├── select-scrollable.tsx │ │ ├── separator-demo.tsx │ │ ├── separator-list.tsx │ │ ├── separator-menu.tsx │ │ ├── separator-rtl.tsx │ │ ├── separator-vertical.tsx │ │ ├── sheet-demo.tsx │ │ ├── sheet-no-close-button.tsx │ │ ├── sheet-rtl.tsx │ │ ├── sheet-side.tsx │ │ ├── sidebar-controlled.tsx │ │ ├── sidebar-demo.tsx │ │ ├── sidebar-footer.tsx │ │ ├── sidebar-group-action.tsx │ │ ├── sidebar-group-collapsible.tsx │ │ ├── sidebar-group.tsx │ │ ├── sidebar-header.tsx │ │ ├── sidebar-menu-action.tsx │ │ ├── sidebar-menu-badge.tsx │ │ ├── sidebar-menu-collapsible.tsx │ │ ├── sidebar-menu-sub.tsx │ │ ├── sidebar-menu.tsx │ │ ├── sidebar-rsc.tsx │ │ ├── sidebar-rtl.tsx │ │ ├── skeleton-avatar.tsx │ │ ├── skeleton-card.tsx │ │ ├── skeleton-demo.tsx │ │ ├── skeleton-form.tsx │ │ ├── skeleton-rtl.tsx │ │ ├── skeleton-table.tsx │ │ ├── skeleton-text.tsx │ │ ├── slider-controlled.tsx │ │ ├── slider-demo.tsx │ │ ├── slider-disabled.tsx │ │ ├── slider-multiple.tsx │ │ ├── slider-range.tsx │ │ ├── slider-rtl.tsx │ │ ├── slider-vertical.tsx │ │ ├── sonner-demo.tsx │ │ ├── sonner-description.tsx │ │ ├── sonner-position.tsx │ │ ├── sonner-types.tsx │ │ ├── spinner-badge.tsx │ │ ├── spinner-button.tsx │ │ ├── spinner-custom.tsx │ │ ├── spinner-demo.tsx │ │ ├── spinner-empty.tsx │ │ ├── spinner-input-group.tsx │ │ ├── spinner-rtl.tsx │ │ ├── spinner-size.tsx │ │ ├── switch-choice-card.tsx │ │ ├── switch-demo.tsx │ │ ├── switch-description.tsx │ │ ├── switch-disabled.tsx │ │ ├── switch-invalid.tsx │ │ ├── switch-rtl.tsx │ │ ├── switch-sizes.tsx │ │ ├── table-actions.tsx │ │ ├── table-demo.tsx │ │ ├── table-footer.tsx │ │ ├── table-rtl.tsx │ │ ├── tabs-demo.tsx │ │ ├── tabs-disabled.tsx │ │ ├── tabs-icons.tsx │ │ ├── tabs-line.tsx │ │ ├── tabs-rtl.tsx │ │ ├── tabs-vertical.tsx │ │ ├── textarea-button.tsx │ │ ├── textarea-demo.tsx │ │ ├── textarea-disabled.tsx │ │ ├── textarea-field.tsx │ │ ├── textarea-invalid.tsx │ │ ├── textarea-rtl.tsx │ │ ├── toggle-demo.tsx │ │ ├── toggle-disabled.tsx │ │ ├── toggle-group-demo.tsx │ │ ├── toggle-group-disabled.tsx │ │ ├── toggle-group-font-weight-selector.tsx │ │ ├── toggle-group-outline.tsx │ │ ├── toggle-group-rtl.tsx │ │ ├── toggle-group-sizes.tsx │ │ ├── toggle-group-spacing.tsx │ │ ├── toggle-group-vertical.tsx │ │ ├── toggle-outline.tsx │ │ ├── toggle-rtl.tsx │ │ ├── toggle-sizes.tsx │ │ ├── toggle-text.tsx │ │ ├── tooltip-demo.tsx │ │ ├── tooltip-disabled.tsx │ │ ├── tooltip-keyboard.tsx │ │ ├── tooltip-rtl.tsx │ │ ├── tooltip-sides.tsx │ │ ├── typography-blockquote.tsx │ │ ├── typography-demo.tsx │ │ ├── typography-h1.tsx │ │ ├── typography-h2.tsx │ │ ├── typography-h3.tsx │ │ ├── typography-h4.tsx │ │ ├── typography-inline-code.tsx │ │ ├── typography-large.tsx │ │ ├── typography-lead.tsx │ │ ├── typography-list.tsx │ │ ├── typography-muted.tsx │ │ ├── typography-p.tsx │ │ ├── typography-rtl.tsx │ │ ├── typography-small.tsx │ │ ├── typography-table.tsx │ │ ├── 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 │ │ │ ├── collapsible.tsx │ │ │ ├── combobox.tsx │ │ │ ├── command.tsx │ │ │ ├── context-menu.tsx │ │ │ ├── dialog.tsx │ │ │ ├── direction.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── empty.tsx │ │ │ ├── field.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── input-group.tsx │ │ │ ├── input-otp.tsx │ │ │ ├── input.tsx │ │ │ ├── item.tsx │ │ │ ├── kbd.tsx │ │ │ ├── label.tsx │ │ │ ├── menubar.tsx │ │ │ ├── native-select.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 │ │ │ ├── sonner.tsx │ │ │ ├── spinner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ │ └── ui-rtl/ │ │ ├── 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 │ │ ├── collapsible.tsx │ │ ├── combobox.tsx │ │ ├── command.tsx │ │ ├── context-menu.tsx │ │ ├── dialog.tsx │ │ ├── direction.tsx │ │ ├── drawer.tsx │ │ ├── dropdown-menu.tsx │ │ ├── empty.tsx │ │ ├── field.tsx │ │ ├── hover-card.tsx │ │ ├── input-group.tsx │ │ ├── input-otp.tsx │ │ ├── input.tsx │ │ ├── item.tsx │ │ ├── kbd.tsx │ │ ├── label.tsx │ │ ├── menubar.tsx │ │ ├── native-select.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 │ │ ├── sonner.tsx │ │ ├── spinner.tsx │ │ ├── switch.tsx │ │ ├── table.tsx │ │ ├── tabs.tsx │ │ ├── textarea.tsx │ │ ├── toggle-group.tsx │ │ ├── toggle.tsx │ │ └── tooltip.tsx │ ├── hooks/ │ │ ├── use-colors.ts │ │ ├── use-config.ts │ │ ├── use-copy-to-clipboard.ts │ │ ├── use-layout.tsx │ │ ├── use-media-query.tsx │ │ ├── use-meta-color.ts │ │ ├── use-mobile.ts │ │ ├── use-mounted.ts │ │ ├── use-mutation-observer.ts │ │ └── use-search-registry.ts │ ├── lib/ │ │ ├── blocks.ts │ │ ├── categories.ts │ │ ├── changelog.ts │ │ ├── colors.ts │ │ ├── components.ts │ │ ├── config.ts │ │ ├── docs.ts │ │ ├── events.ts │ │ ├── explore.ts │ │ ├── flags.ts │ │ ├── font-definitions.ts │ │ ├── fonts.ts │ │ ├── format-code.ts │ │ ├── highlight-code.ts │ │ ├── llm.ts │ │ ├── page-tree.ts │ │ ├── read-file.ts │ │ ├── registry.ts │ │ ├── rehype.ts │ │ ├── source.ts │ │ ├── themes.ts │ │ └── utils.ts │ ├── mdx-components.tsx │ ├── next.config.mjs │ ├── package.json │ ├── postcss.config.mjs │ ├── public/ │ │ ├── llms.txt │ │ ├── r/ │ │ │ ├── colors/ │ │ │ │ ├── gray.json │ │ │ │ ├── index.json │ │ │ │ ├── mauve.json │ │ │ │ ├── mist.json │ │ │ │ ├── neutral.json │ │ │ │ ├── olive.json │ │ │ │ ├── slate.json │ │ │ │ ├── stone.json │ │ │ │ ├── taupe.json │ │ │ │ └── zinc.json │ │ │ ├── config.json │ │ │ ├── icons/ │ │ │ │ └── index.json │ │ │ ├── index.json │ │ │ ├── registries-legacy.json │ │ │ ├── registries.json │ │ │ ├── styles/ │ │ │ │ ├── base-lyra/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── base-maia/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── base-mira/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── base-nova/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── base-vega/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── default/ │ │ │ │ │ ├── accordion-demo.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-demo.json │ │ │ │ │ ├── alert-destructive.json │ │ │ │ │ ├── alert-dialog-demo.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-demo.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-demo.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-demo.json │ │ │ │ │ ├── badge-destructive.json │ │ │ │ │ ├── badge-outline.json │ │ │ │ │ ├── badge-secondary.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-demo.json │ │ │ │ │ ├── breadcrumb-dropdown.json │ │ │ │ │ ├── breadcrumb-ellipsis.json │ │ │ │ │ ├── breadcrumb-link.json │ │ │ │ │ ├── breadcrumb-responsive.json │ │ │ │ │ ├── breadcrumb-separator.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-as-child.json │ │ │ │ │ ├── button-demo.json │ │ │ │ │ ├── button-destructive.json │ │ │ │ │ ├── button-ghost.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button-icon.json │ │ │ │ │ ├── button-link.json │ │ │ │ │ ├── button-loading.json │ │ │ │ │ ├── button-outline.json │ │ │ │ │ ├── button-secondary.json │ │ │ │ │ ├── button-with-icon.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-01.json │ │ │ │ │ ├── calendar-02.json │ │ │ │ │ ├── calendar-03.json │ │ │ │ │ ├── calendar-04.json │ │ │ │ │ ├── calendar-05.json │ │ │ │ │ ├── calendar-06.json │ │ │ │ │ ├── calendar-07.json │ │ │ │ │ ├── calendar-08.json │ │ │ │ │ ├── calendar-09.json │ │ │ │ │ ├── calendar-10.json │ │ │ │ │ ├── calendar-11.json │ │ │ │ │ ├── calendar-12.json │ │ │ │ │ ├── calendar-13.json │ │ │ │ │ ├── calendar-14.json │ │ │ │ │ ├── calendar-15.json │ │ │ │ │ ├── calendar-16.json │ │ │ │ │ ├── calendar-17.json │ │ │ │ │ ├── calendar-18.json │ │ │ │ │ ├── calendar-19.json │ │ │ │ │ ├── calendar-20.json │ │ │ │ │ ├── calendar-21.json │ │ │ │ │ ├── calendar-22.json │ │ │ │ │ ├── calendar-23.json │ │ │ │ │ ├── calendar-24.json │ │ │ │ │ ├── calendar-25.json │ │ │ │ │ ├── calendar-26.json │ │ │ │ │ ├── calendar-27.json │ │ │ │ │ ├── calendar-28.json │ │ │ │ │ ├── calendar-29.json │ │ │ │ │ ├── calendar-30.json │ │ │ │ │ ├── calendar-31.json │ │ │ │ │ ├── calendar-32.json │ │ │ │ │ ├── calendar-demo.json │ │ │ │ │ ├── calendar-form.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-demo.json │ │ │ │ │ ├── card-with-form.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-api.json │ │ │ │ │ ├── carousel-demo.json │ │ │ │ │ ├── carousel-orientation.json │ │ │ │ │ ├── carousel-plugin.json │ │ │ │ │ ├── carousel-size.json │ │ │ │ │ ├── carousel-spacing.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-area-axes.json │ │ │ │ │ ├── chart-area-default.json │ │ │ │ │ ├── chart-area-gradient.json │ │ │ │ │ ├── chart-area-icons.json │ │ │ │ │ ├── chart-area-interactive.json │ │ │ │ │ ├── chart-area-legend.json │ │ │ │ │ ├── chart-area-linear.json │ │ │ │ │ ├── chart-area-stacked-expand.json │ │ │ │ │ ├── chart-area-stacked.json │ │ │ │ │ ├── chart-area-step.json │ │ │ │ │ ├── chart-bar-active.json │ │ │ │ │ ├── chart-bar-default.json │ │ │ │ │ ├── chart-bar-demo-axis.json │ │ │ │ │ ├── chart-bar-demo-grid.json │ │ │ │ │ ├── chart-bar-demo-legend.json │ │ │ │ │ ├── chart-bar-demo-tooltip.json │ │ │ │ │ ├── chart-bar-demo.json │ │ │ │ │ ├── chart-bar-horizontal.json │ │ │ │ │ ├── chart-bar-interactive.json │ │ │ │ │ ├── chart-bar-label-custom.json │ │ │ │ │ ├── chart-bar-label.json │ │ │ │ │ ├── chart-bar-mixed.json │ │ │ │ │ ├── chart-bar-multiple.json │ │ │ │ │ ├── chart-bar-negative.json │ │ │ │ │ ├── chart-bar-stacked.json │ │ │ │ │ ├── chart-line-default.json │ │ │ │ │ ├── chart-line-dots-colors.json │ │ │ │ │ ├── chart-line-dots-custom.json │ │ │ │ │ ├── chart-line-dots.json │ │ │ │ │ ├── chart-line-interactive.json │ │ │ │ │ ├── chart-line-label-custom.json │ │ │ │ │ ├── chart-line-label.json │ │ │ │ │ ├── chart-line-linear.json │ │ │ │ │ ├── chart-line-multiple.json │ │ │ │ │ ├── chart-line-step.json │ │ │ │ │ ├── chart-pie-donut-active.json │ │ │ │ │ ├── chart-pie-donut-text.json │ │ │ │ │ ├── chart-pie-donut.json │ │ │ │ │ ├── chart-pie-interactive.json │ │ │ │ │ ├── chart-pie-label-custom.json │ │ │ │ │ ├── chart-pie-label-list.json │ │ │ │ │ ├── chart-pie-label.json │ │ │ │ │ ├── chart-pie-legend.json │ │ │ │ │ ├── chart-pie-separator-none.json │ │ │ │ │ ├── chart-pie-simple.json │ │ │ │ │ ├── chart-pie-stacked.json │ │ │ │ │ ├── chart-radar-default.json │ │ │ │ │ ├── chart-radar-dots.json │ │ │ │ │ ├── chart-radar-grid-circle-fill.json │ │ │ │ │ ├── chart-radar-grid-circle-no-lines.json │ │ │ │ │ ├── chart-radar-grid-circle.json │ │ │ │ │ ├── chart-radar-grid-custom.json │ │ │ │ │ ├── chart-radar-grid-fill.json │ │ │ │ │ ├── chart-radar-grid-none.json │ │ │ │ │ ├── chart-radar-icons.json │ │ │ │ │ ├── chart-radar-label-custom.json │ │ │ │ │ ├── chart-radar-legend.json │ │ │ │ │ ├── chart-radar-lines-only.json │ │ │ │ │ ├── chart-radar-multiple.json │ │ │ │ │ ├── chart-radar-radius.json │ │ │ │ │ ├── chart-radial-grid.json │ │ │ │ │ ├── chart-radial-label.json │ │ │ │ │ ├── chart-radial-shape.json │ │ │ │ │ ├── chart-radial-simple.json │ │ │ │ │ ├── chart-radial-stacked.json │ │ │ │ │ ├── chart-radial-text.json │ │ │ │ │ ├── chart-tooltip-advanced.json │ │ │ │ │ ├── chart-tooltip-default.json │ │ │ │ │ ├── chart-tooltip-demo.json │ │ │ │ │ ├── chart-tooltip-formatter.json │ │ │ │ │ ├── chart-tooltip-icons.json │ │ │ │ │ ├── chart-tooltip-indicator-line.json │ │ │ │ │ ├── chart-tooltip-indicator-none.json │ │ │ │ │ ├── chart-tooltip-label-custom.json │ │ │ │ │ ├── chart-tooltip-label-formatter.json │ │ │ │ │ ├── chart-tooltip-label-none.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-demo.json │ │ │ │ │ ├── checkbox-disabled.json │ │ │ │ │ ├── checkbox-form-multiple.json │ │ │ │ │ ├── checkbox-form-single.json │ │ │ │ │ ├── checkbox-with-text.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-demo.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-demo.json │ │ │ │ │ ├── combobox-dropdown-menu.json │ │ │ │ │ ├── combobox-form.json │ │ │ │ │ ├── combobox-popover.json │ │ │ │ │ ├── combobox-responsive.json │ │ │ │ │ ├── command-demo.json │ │ │ │ │ ├── command-dialog.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── context-menu-demo.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── data-table-demo.json │ │ │ │ │ ├── date-picker-demo.json │ │ │ │ │ ├── date-picker-form.json │ │ │ │ │ ├── date-picker-with-presets.json │ │ │ │ │ ├── date-picker-with-range.json │ │ │ │ │ ├── dialog-close-button.json │ │ │ │ │ ├── dialog-demo.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── drawer-demo.json │ │ │ │ │ ├── drawer-dialog.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-checkboxes.json │ │ │ │ │ ├── dropdown-menu-demo.json │ │ │ │ │ ├── dropdown-menu-radio-group.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-demo.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-demo.json │ │ │ │ │ ├── input-disabled.json │ │ │ │ │ ├── input-file.json │ │ │ │ │ ├── input-form.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-controlled.json │ │ │ │ │ ├── input-otp-demo.json │ │ │ │ │ ├── input-otp-form.json │ │ │ │ │ ├── input-otp-pattern.json │ │ │ │ │ ├── input-otp-separator.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input-with-button.json │ │ │ │ │ ├── input-with-label.json │ │ │ │ │ ├── input-with-text.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-demo.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-demo.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── mode-toggle.json │ │ │ │ │ ├── navigation-menu-demo.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-demo.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-demo.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── progress-demo.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-demo.json │ │ │ │ │ ├── radio-group-form.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-demo-with-handle.json │ │ │ │ │ ├── resizable-demo.json │ │ │ │ │ ├── resizable-handle.json │ │ │ │ │ ├── resizable-vertical.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-demo.json │ │ │ │ │ ├── scroll-area-horizontal-demo.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-demo.json │ │ │ │ │ ├── select-form.json │ │ │ │ │ ├── select-scrollable.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-demo.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-demo.json │ │ │ │ │ ├── sheet-side.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-controlled.json │ │ │ │ │ ├── sidebar-demo.json │ │ │ │ │ ├── sidebar-footer.json │ │ │ │ │ ├── sidebar-group-action.json │ │ │ │ │ ├── sidebar-group-collapsible.json │ │ │ │ │ ├── sidebar-group.json │ │ │ │ │ ├── sidebar-header.json │ │ │ │ │ ├── sidebar-menu-action.json │ │ │ │ │ ├── sidebar-menu-badge.json │ │ │ │ │ ├── sidebar-menu-collapsible.json │ │ │ │ │ ├── sidebar-menu-sub.json │ │ │ │ │ ├── sidebar-menu.json │ │ │ │ │ ├── sidebar-rsc.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── sink.json │ │ │ │ │ ├── skeleton-card.json │ │ │ │ │ ├── skeleton-demo.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-demo.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-demo.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-demo.json │ │ │ │ │ ├── switch-form.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-demo.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-demo.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-demo.json │ │ │ │ │ ├── textarea-disabled.json │ │ │ │ │ ├── textarea-form.json │ │ │ │ │ ├── textarea-with-button.json │ │ │ │ │ ├── textarea-with-label.json │ │ │ │ │ ├── textarea-with-text.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── theme-daylight.json │ │ │ │ │ ├── theme-emerald.json │ │ │ │ │ ├── theme-midnight.json │ │ │ │ │ ├── toast-demo.json │ │ │ │ │ ├── toast-destructive.json │ │ │ │ │ ├── toast-simple.json │ │ │ │ │ ├── toast-with-action.json │ │ │ │ │ ├── toast-with-title.json │ │ │ │ │ ├── toast.json │ │ │ │ │ ├── toggle-demo.json │ │ │ │ │ ├── toggle-disabled.json │ │ │ │ │ ├── toggle-group-demo.json │ │ │ │ │ ├── toggle-group-disabled.json │ │ │ │ │ ├── toggle-group-lg.json │ │ │ │ │ ├── toggle-group-outline.json │ │ │ │ │ ├── toggle-group-single.json │ │ │ │ │ ├── toggle-group-sm.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle-lg.json │ │ │ │ │ ├── toggle-outline.json │ │ │ │ │ ├── toggle-sm.json │ │ │ │ │ ├── toggle-with-text.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-demo.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── typography-blockquote.json │ │ │ │ │ ├── typography-demo.json │ │ │ │ │ ├── typography-h1.json │ │ │ │ │ ├── typography-h2.json │ │ │ │ │ ├── typography-h3.json │ │ │ │ │ ├── typography-h4.json │ │ │ │ │ ├── typography-inline-code.json │ │ │ │ │ ├── typography-large.json │ │ │ │ │ ├── typography-lead.json │ │ │ │ │ ├── typography-list.json │ │ │ │ │ ├── typography-muted.json │ │ │ │ │ ├── typography-p.json │ │ │ │ │ ├── typography-small.json │ │ │ │ │ ├── typography-table.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ ├── use-toast.json │ │ │ │ │ ├── utils.json │ │ │ │ │ ├── v0-login-01.json │ │ │ │ │ ├── v0-sidebar-01.json │ │ │ │ │ ├── v0-sidebar-02.json │ │ │ │ │ ├── v0-sidebar-03.json │ │ │ │ │ ├── v0-sidebar-04.json │ │ │ │ │ ├── v0-sidebar-05.json │ │ │ │ │ ├── v0-sidebar-06.json │ │ │ │ │ ├── v0-sidebar-07.json │ │ │ │ │ ├── v0-sidebar-08.json │ │ │ │ │ ├── v0-sidebar-09.json │ │ │ │ │ ├── v0-sidebar-10.json │ │ │ │ │ ├── v0-sidebar-11.json │ │ │ │ │ ├── v0-sidebar-12.json │ │ │ │ │ ├── v0-sidebar-13.json │ │ │ │ │ ├── v0-sidebar-14.json │ │ │ │ │ ├── v0-sidebar-15.json │ │ │ │ │ └── v0-sidebar-16.json │ │ │ │ ├── index.json │ │ │ │ ├── new-york/ │ │ │ │ │ ├── accordion-demo.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-demo.json │ │ │ │ │ ├── alert-destructive.json │ │ │ │ │ ├── alert-dialog-demo.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── app-01.json │ │ │ │ │ ├── aspect-ratio-demo.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-demo.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-demo.json │ │ │ │ │ ├── badge-destructive.json │ │ │ │ │ ├── badge-outline.json │ │ │ │ │ ├── badge-secondary.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-demo.json │ │ │ │ │ ├── breadcrumb-dropdown.json │ │ │ │ │ ├── breadcrumb-ellipsis.json │ │ │ │ │ ├── breadcrumb-link.json │ │ │ │ │ ├── breadcrumb-responsive.json │ │ │ │ │ ├── breadcrumb-separator.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-01.json │ │ │ │ │ ├── button-as-child.json │ │ │ │ │ ├── button-demo.json │ │ │ │ │ ├── button-destructive.json │ │ │ │ │ ├── button-ghost.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button-icon.json │ │ │ │ │ ├── button-link.json │ │ │ │ │ ├── button-loading.json │ │ │ │ │ ├── button-outline.json │ │ │ │ │ ├── button-secondary.json │ │ │ │ │ ├── button-with-icon.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-01.json │ │ │ │ │ ├── calendar-02.json │ │ │ │ │ ├── calendar-03.json │ │ │ │ │ ├── calendar-04.json │ │ │ │ │ ├── calendar-05.json │ │ │ │ │ ├── calendar-06.json │ │ │ │ │ ├── calendar-07.json │ │ │ │ │ ├── calendar-08.json │ │ │ │ │ ├── calendar-09.json │ │ │ │ │ ├── calendar-10.json │ │ │ │ │ ├── calendar-11.json │ │ │ │ │ ├── calendar-12.json │ │ │ │ │ ├── calendar-13.json │ │ │ │ │ ├── calendar-14.json │ │ │ │ │ ├── calendar-15.json │ │ │ │ │ ├── calendar-16.json │ │ │ │ │ ├── calendar-17.json │ │ │ │ │ ├── calendar-18.json │ │ │ │ │ ├── calendar-19.json │ │ │ │ │ ├── calendar-20.json │ │ │ │ │ ├── calendar-21.json │ │ │ │ │ ├── calendar-22.json │ │ │ │ │ ├── calendar-23.json │ │ │ │ │ ├── calendar-24.json │ │ │ │ │ ├── calendar-25.json │ │ │ │ │ ├── calendar-26.json │ │ │ │ │ ├── calendar-27.json │ │ │ │ │ ├── calendar-28.json │ │ │ │ │ ├── calendar-29.json │ │ │ │ │ ├── calendar-30.json │ │ │ │ │ ├── calendar-31.json │ │ │ │ │ ├── calendar-32.json │ │ │ │ │ ├── calendar-demo.json │ │ │ │ │ ├── calendar-form.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-demo.json │ │ │ │ │ ├── card-with-form.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-api.json │ │ │ │ │ ├── carousel-demo.json │ │ │ │ │ ├── carousel-orientation.json │ │ │ │ │ ├── carousel-plugin.json │ │ │ │ │ ├── carousel-size.json │ │ │ │ │ ├── carousel-spacing.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-area-axes.json │ │ │ │ │ ├── chart-area-default.json │ │ │ │ │ ├── chart-area-gradient.json │ │ │ │ │ ├── chart-area-icons.json │ │ │ │ │ ├── chart-area-interactive.json │ │ │ │ │ ├── chart-area-legend.json │ │ │ │ │ ├── chart-area-linear.json │ │ │ │ │ ├── chart-area-stacked-expand.json │ │ │ │ │ ├── chart-area-stacked.json │ │ │ │ │ ├── chart-area-step.json │ │ │ │ │ ├── chart-bar-active.json │ │ │ │ │ ├── chart-bar-default.json │ │ │ │ │ ├── chart-bar-demo-axis.json │ │ │ │ │ ├── chart-bar-demo-grid.json │ │ │ │ │ ├── chart-bar-demo-legend.json │ │ │ │ │ ├── chart-bar-demo-tooltip.json │ │ │ │ │ ├── chart-bar-demo.json │ │ │ │ │ ├── chart-bar-horizontal.json │ │ │ │ │ ├── chart-bar-interactive.json │ │ │ │ │ ├── chart-bar-label-custom.json │ │ │ │ │ ├── chart-bar-label.json │ │ │ │ │ ├── chart-bar-mixed.json │ │ │ │ │ ├── chart-bar-multiple.json │ │ │ │ │ ├── chart-bar-negative.json │ │ │ │ │ ├── chart-bar-stacked.json │ │ │ │ │ ├── chart-line-default.json │ │ │ │ │ ├── chart-line-dots-colors.json │ │ │ │ │ ├── chart-line-dots-custom.json │ │ │ │ │ ├── chart-line-dots.json │ │ │ │ │ ├── chart-line-interactive.json │ │ │ │ │ ├── chart-line-label-custom.json │ │ │ │ │ ├── chart-line-label.json │ │ │ │ │ ├── chart-line-linear.json │ │ │ │ │ ├── chart-line-multiple.json │ │ │ │ │ ├── chart-line-step.json │ │ │ │ │ ├── chart-pie-donut-active.json │ │ │ │ │ ├── chart-pie-donut-text.json │ │ │ │ │ ├── chart-pie-donut.json │ │ │ │ │ ├── chart-pie-interactive.json │ │ │ │ │ ├── chart-pie-label-custom.json │ │ │ │ │ ├── chart-pie-label-list.json │ │ │ │ │ ├── chart-pie-label.json │ │ │ │ │ ├── chart-pie-legend.json │ │ │ │ │ ├── chart-pie-separator-none.json │ │ │ │ │ ├── chart-pie-simple.json │ │ │ │ │ ├── chart-pie-stacked.json │ │ │ │ │ ├── chart-radar-default.json │ │ │ │ │ ├── chart-radar-dots.json │ │ │ │ │ ├── chart-radar-grid-circle-fill.json │ │ │ │ │ ├── chart-radar-grid-circle-no-lines.json │ │ │ │ │ ├── chart-radar-grid-circle.json │ │ │ │ │ ├── chart-radar-grid-custom.json │ │ │ │ │ ├── chart-radar-grid-fill.json │ │ │ │ │ ├── chart-radar-grid-none.json │ │ │ │ │ ├── chart-radar-icons.json │ │ │ │ │ ├── chart-radar-label-custom.json │ │ │ │ │ ├── chart-radar-legend.json │ │ │ │ │ ├── chart-radar-lines-only.json │ │ │ │ │ ├── chart-radar-multiple.json │ │ │ │ │ ├── chart-radar-radius.json │ │ │ │ │ ├── chart-radial-grid.json │ │ │ │ │ ├── chart-radial-label.json │ │ │ │ │ ├── chart-radial-shape.json │ │ │ │ │ ├── chart-radial-simple.json │ │ │ │ │ ├── chart-radial-stacked.json │ │ │ │ │ ├── chart-radial-text.json │ │ │ │ │ ├── chart-tooltip-advanced.json │ │ │ │ │ ├── chart-tooltip-default.json │ │ │ │ │ ├── chart-tooltip-demo.json │ │ │ │ │ ├── chart-tooltip-formatter.json │ │ │ │ │ ├── chart-tooltip-icons.json │ │ │ │ │ ├── chart-tooltip-indicator-line.json │ │ │ │ │ ├── chart-tooltip-indicator-none.json │ │ │ │ │ ├── chart-tooltip-label-custom.json │ │ │ │ │ ├── chart-tooltip-label-formatter.json │ │ │ │ │ ├── chart-tooltip-label-none.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-demo.json │ │ │ │ │ ├── checkbox-disabled.json │ │ │ │ │ ├── checkbox-form-multiple.json │ │ │ │ │ ├── checkbox-form-single.json │ │ │ │ │ ├── checkbox-with-text.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-demo.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-demo.json │ │ │ │ │ ├── combobox-dropdown-menu.json │ │ │ │ │ ├── combobox-form.json │ │ │ │ │ ├── combobox-popover.json │ │ │ │ │ ├── combobox-responsive.json │ │ │ │ │ ├── command-demo.json │ │ │ │ │ ├── command-dialog.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── context-menu-demo.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── data-table-demo.json │ │ │ │ │ ├── date-picker-demo.json │ │ │ │ │ ├── date-picker-form.json │ │ │ │ │ ├── date-picker-with-presets.json │ │ │ │ │ ├── date-picker-with-range.json │ │ │ │ │ ├── dialog-close-button.json │ │ │ │ │ ├── dialog-demo.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── drawer-demo.json │ │ │ │ │ ├── drawer-dialog.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-checkboxes.json │ │ │ │ │ ├── dropdown-menu-demo.json │ │ │ │ │ ├── dropdown-menu-radio-group.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-demo.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-demo.json │ │ │ │ │ ├── input-disabled.json │ │ │ │ │ ├── input-file.json │ │ │ │ │ ├── input-form.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-controlled.json │ │ │ │ │ ├── input-otp-demo.json │ │ │ │ │ ├── input-otp-form.json │ │ │ │ │ ├── input-otp-pattern.json │ │ │ │ │ ├── input-otp-separator.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input-with-button.json │ │ │ │ │ ├── input-with-label.json │ │ │ │ │ ├── input-with-text.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-demo.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-demo.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── mode-toggle.json │ │ │ │ │ ├── navigation-menu-demo.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-demo.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-demo.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── progress-demo.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-demo.json │ │ │ │ │ ├── radio-group-form.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-demo-with-handle.json │ │ │ │ │ ├── resizable-demo.json │ │ │ │ │ ├── resizable-handle.json │ │ │ │ │ ├── resizable-vertical.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-demo.json │ │ │ │ │ ├── scroll-area-horizontal-demo.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-demo.json │ │ │ │ │ ├── select-form.json │ │ │ │ │ ├── select-scrollable.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-demo.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-demo.json │ │ │ │ │ ├── sheet-side.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-controlled.json │ │ │ │ │ ├── sidebar-demo.json │ │ │ │ │ ├── sidebar-footer.json │ │ │ │ │ ├── sidebar-group-action.json │ │ │ │ │ ├── sidebar-group-collapsible.json │ │ │ │ │ ├── sidebar-group.json │ │ │ │ │ ├── sidebar-header.json │ │ │ │ │ ├── sidebar-menu-action.json │ │ │ │ │ ├── sidebar-menu-badge.json │ │ │ │ │ ├── sidebar-menu-collapsible.json │ │ │ │ │ ├── sidebar-menu-sub.json │ │ │ │ │ ├── sidebar-menu.json │ │ │ │ │ ├── sidebar-rsc.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── sink.json │ │ │ │ │ ├── skeleton-card.json │ │ │ │ │ ├── skeleton-demo.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-demo.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-demo.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-demo.json │ │ │ │ │ ├── switch-form.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-demo.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-demo.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-demo.json │ │ │ │ │ ├── textarea-disabled.json │ │ │ │ │ ├── textarea-form.json │ │ │ │ │ ├── textarea-with-button.json │ │ │ │ │ ├── textarea-with-label.json │ │ │ │ │ ├── textarea-with-text.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── theme-daylight.json │ │ │ │ │ ├── theme-emerald.json │ │ │ │ │ ├── theme-midnight.json │ │ │ │ │ ├── toast-demo.json │ │ │ │ │ ├── toast-destructive.json │ │ │ │ │ ├── toast-simple.json │ │ │ │ │ ├── toast-with-action.json │ │ │ │ │ ├── toast-with-title.json │ │ │ │ │ ├── toast.json │ │ │ │ │ ├── toggle-demo.json │ │ │ │ │ ├── toggle-disabled.json │ │ │ │ │ ├── toggle-group-demo.json │ │ │ │ │ ├── toggle-group-disabled.json │ │ │ │ │ ├── toggle-group-lg.json │ │ │ │ │ ├── toggle-group-outline.json │ │ │ │ │ ├── toggle-group-single.json │ │ │ │ │ ├── toggle-group-sm.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle-lg.json │ │ │ │ │ ├── toggle-outline.json │ │ │ │ │ ├── toggle-sm.json │ │ │ │ │ ├── toggle-with-text.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-demo.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── typography-blockquote.json │ │ │ │ │ ├── typography-demo.json │ │ │ │ │ ├── typography-h1.json │ │ │ │ │ ├── typography-h2.json │ │ │ │ │ ├── typography-h3.json │ │ │ │ │ ├── typography-h4.json │ │ │ │ │ ├── typography-inline-code.json │ │ │ │ │ ├── typography-large.json │ │ │ │ │ ├── typography-lead.json │ │ │ │ │ ├── typography-list.json │ │ │ │ │ ├── typography-muted.json │ │ │ │ │ ├── typography-p.json │ │ │ │ │ ├── typography-small.json │ │ │ │ │ ├── typography-table.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ ├── use-toast.json │ │ │ │ │ ├── utils.json │ │ │ │ │ ├── v0-login-01.json │ │ │ │ │ ├── v0-sidebar-01.json │ │ │ │ │ ├── v0-sidebar-02.json │ │ │ │ │ ├── v0-sidebar-03.json │ │ │ │ │ ├── v0-sidebar-04.json │ │ │ │ │ ├── v0-sidebar-05.json │ │ │ │ │ ├── v0-sidebar-06.json │ │ │ │ │ ├── v0-sidebar-07.json │ │ │ │ │ ├── v0-sidebar-08.json │ │ │ │ │ ├── v0-sidebar-09.json │ │ │ │ │ ├── v0-sidebar-10.json │ │ │ │ │ ├── v0-sidebar-11.json │ │ │ │ │ ├── v0-sidebar-12.json │ │ │ │ │ ├── v0-sidebar-13.json │ │ │ │ │ ├── v0-sidebar-14.json │ │ │ │ │ ├── v0-sidebar-15.json │ │ │ │ │ └── v0-sidebar-16.json │ │ │ │ ├── new-york-v4/ │ │ │ │ │ ├── accordion-demo.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-demo.json │ │ │ │ │ ├── alert-destructive.json │ │ │ │ │ ├── alert-dialog-demo.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-demo.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-demo.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-demo.json │ │ │ │ │ ├── badge-destructive.json │ │ │ │ │ ├── badge-outline.json │ │ │ │ │ ├── badge-secondary.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-demo.json │ │ │ │ │ ├── breadcrumb-dropdown.json │ │ │ │ │ ├── breadcrumb-ellipsis.json │ │ │ │ │ ├── breadcrumb-link.json │ │ │ │ │ ├── breadcrumb-responsive.json │ │ │ │ │ ├── breadcrumb-separator.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-as-child.json │ │ │ │ │ ├── button-default.json │ │ │ │ │ ├── button-demo.json │ │ │ │ │ ├── button-destructive.json │ │ │ │ │ ├── button-ghost.json │ │ │ │ │ ├── button-group-demo.json │ │ │ │ │ ├── button-group-dropdown.json │ │ │ │ │ ├── button-group-input-group.json │ │ │ │ │ ├── button-group-input.json │ │ │ │ │ ├── button-group-nested.json │ │ │ │ │ ├── button-group-orientation.json │ │ │ │ │ ├── button-group-popover.json │ │ │ │ │ ├── button-group-select.json │ │ │ │ │ ├── button-group-separator.json │ │ │ │ │ ├── button-group-size.json │ │ │ │ │ ├── button-group-split.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button-icon.json │ │ │ │ │ ├── button-link.json │ │ │ │ │ ├── button-loading.json │ │ │ │ │ ├── button-outline.json │ │ │ │ │ ├── button-rounded.json │ │ │ │ │ ├── button-secondary.json │ │ │ │ │ ├── button-size.json │ │ │ │ │ ├── button-with-icon.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-01.json │ │ │ │ │ ├── calendar-02.json │ │ │ │ │ ├── calendar-03.json │ │ │ │ │ ├── calendar-04.json │ │ │ │ │ ├── calendar-05.json │ │ │ │ │ ├── calendar-06.json │ │ │ │ │ ├── calendar-07.json │ │ │ │ │ ├── calendar-08.json │ │ │ │ │ ├── calendar-09.json │ │ │ │ │ ├── calendar-10.json │ │ │ │ │ ├── calendar-11.json │ │ │ │ │ ├── calendar-12.json │ │ │ │ │ ├── calendar-13.json │ │ │ │ │ ├── calendar-14.json │ │ │ │ │ ├── calendar-15.json │ │ │ │ │ ├── calendar-16.json │ │ │ │ │ ├── calendar-17.json │ │ │ │ │ ├── calendar-18.json │ │ │ │ │ ├── calendar-19.json │ │ │ │ │ ├── calendar-20.json │ │ │ │ │ ├── calendar-21.json │ │ │ │ │ ├── calendar-22.json │ │ │ │ │ ├── calendar-23.json │ │ │ │ │ ├── calendar-24.json │ │ │ │ │ ├── calendar-25.json │ │ │ │ │ ├── calendar-26.json │ │ │ │ │ ├── calendar-27.json │ │ │ │ │ ├── calendar-28.json │ │ │ │ │ ├── calendar-29.json │ │ │ │ │ ├── calendar-30.json │ │ │ │ │ ├── calendar-31.json │ │ │ │ │ ├── calendar-32.json │ │ │ │ │ ├── calendar-demo.json │ │ │ │ │ ├── calendar-form.json │ │ │ │ │ ├── calendar-hijri.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-demo.json │ │ │ │ │ ├── card-with-form.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── carousel-api.json │ │ │ │ │ ├── carousel-demo.json │ │ │ │ │ ├── carousel-orientation.json │ │ │ │ │ ├── carousel-plugin.json │ │ │ │ │ ├── carousel-size.json │ │ │ │ │ ├── carousel-spacing.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-area-axes.json │ │ │ │ │ ├── chart-area-default.json │ │ │ │ │ ├── chart-area-gradient.json │ │ │ │ │ ├── chart-area-icons.json │ │ │ │ │ ├── chart-area-interactive.json │ │ │ │ │ ├── chart-area-legend.json │ │ │ │ │ ├── chart-area-linear.json │ │ │ │ │ ├── chart-area-stacked-expand.json │ │ │ │ │ ├── chart-area-stacked.json │ │ │ │ │ ├── chart-area-step.json │ │ │ │ │ ├── chart-bar-active.json │ │ │ │ │ ├── chart-bar-default.json │ │ │ │ │ ├── chart-bar-demo-axis.json │ │ │ │ │ ├── chart-bar-demo-grid.json │ │ │ │ │ ├── chart-bar-demo-legend.json │ │ │ │ │ ├── chart-bar-demo-tooltip.json │ │ │ │ │ ├── chart-bar-demo.json │ │ │ │ │ ├── chart-bar-horizontal.json │ │ │ │ │ ├── chart-bar-interactive.json │ │ │ │ │ ├── chart-bar-label-custom.json │ │ │ │ │ ├── chart-bar-label.json │ │ │ │ │ ├── chart-bar-mixed.json │ │ │ │ │ ├── chart-bar-multiple.json │ │ │ │ │ ├── chart-bar-negative.json │ │ │ │ │ ├── chart-bar-stacked.json │ │ │ │ │ ├── chart-line-default.json │ │ │ │ │ ├── chart-line-dots-colors.json │ │ │ │ │ ├── chart-line-dots-custom.json │ │ │ │ │ ├── chart-line-dots.json │ │ │ │ │ ├── chart-line-interactive.json │ │ │ │ │ ├── chart-line-label-custom.json │ │ │ │ │ ├── chart-line-label.json │ │ │ │ │ ├── chart-line-linear.json │ │ │ │ │ ├── chart-line-multiple.json │ │ │ │ │ ├── chart-line-step.json │ │ │ │ │ ├── chart-pie-donut-active.json │ │ │ │ │ ├── chart-pie-donut-text.json │ │ │ │ │ ├── chart-pie-donut.json │ │ │ │ │ ├── chart-pie-interactive.json │ │ │ │ │ ├── chart-pie-label-custom.json │ │ │ │ │ ├── chart-pie-label-list.json │ │ │ │ │ ├── chart-pie-label.json │ │ │ │ │ ├── chart-pie-legend.json │ │ │ │ │ ├── chart-pie-separator-none.json │ │ │ │ │ ├── chart-pie-simple.json │ │ │ │ │ ├── chart-pie-stacked.json │ │ │ │ │ ├── chart-radar-default.json │ │ │ │ │ ├── chart-radar-dots.json │ │ │ │ │ ├── chart-radar-grid-circle-fill.json │ │ │ │ │ ├── chart-radar-grid-circle-no-lines.json │ │ │ │ │ ├── chart-radar-grid-circle.json │ │ │ │ │ ├── chart-radar-grid-custom.json │ │ │ │ │ ├── chart-radar-grid-fill.json │ │ │ │ │ ├── chart-radar-grid-none.json │ │ │ │ │ ├── chart-radar-icons.json │ │ │ │ │ ├── chart-radar-label-custom.json │ │ │ │ │ ├── chart-radar-legend.json │ │ │ │ │ ├── chart-radar-lines-only.json │ │ │ │ │ ├── chart-radar-multiple.json │ │ │ │ │ ├── chart-radar-radius.json │ │ │ │ │ ├── chart-radial-grid.json │ │ │ │ │ ├── chart-radial-label.json │ │ │ │ │ ├── chart-radial-shape.json │ │ │ │ │ ├── chart-radial-simple.json │ │ │ │ │ ├── chart-radial-stacked.json │ │ │ │ │ ├── chart-radial-text.json │ │ │ │ │ ├── chart-tooltip-advanced.json │ │ │ │ │ ├── chart-tooltip-default.json │ │ │ │ │ ├── chart-tooltip-demo.json │ │ │ │ │ ├── chart-tooltip-formatter.json │ │ │ │ │ ├── chart-tooltip-icons.json │ │ │ │ │ ├── chart-tooltip-indicator-line.json │ │ │ │ │ ├── chart-tooltip-indicator-none.json │ │ │ │ │ ├── chart-tooltip-label-custom.json │ │ │ │ │ ├── chart-tooltip-label-formatter.json │ │ │ │ │ ├── chart-tooltip-label-none.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-demo.json │ │ │ │ │ ├── checkbox-disabled.json │ │ │ │ │ ├── checkbox-form-multiple.json │ │ │ │ │ ├── checkbox-form-single.json │ │ │ │ │ ├── checkbox-with-text.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-demo.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-demo.json │ │ │ │ │ ├── combobox-dropdown-menu.json │ │ │ │ │ ├── combobox-form.json │ │ │ │ │ ├── combobox-popover.json │ │ │ │ │ ├── combobox-responsive.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-demo.json │ │ │ │ │ ├── command-dialog.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── context-menu-demo.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── data-table-demo.json │ │ │ │ │ ├── date-picker-demo.json │ │ │ │ │ ├── date-picker-form.json │ │ │ │ │ ├── date-picker-with-presets.json │ │ │ │ │ ├── date-picker-with-range.json │ │ │ │ │ ├── dialog-close-button.json │ │ │ │ │ ├── dialog-demo.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-demo.json │ │ │ │ │ ├── drawer-dialog.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-checkboxes.json │ │ │ │ │ ├── dropdown-menu-demo.json │ │ │ │ │ ├── dropdown-menu-dialog.json │ │ │ │ │ ├── dropdown-menu-radio-group.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-avatar-group.json │ │ │ │ │ ├── empty-avatar.json │ │ │ │ │ ├── empty-background.json │ │ │ │ │ ├── empty-demo.json │ │ │ │ │ ├── empty-icon.json │ │ │ │ │ ├── empty-image.json │ │ │ │ │ ├── empty-input-group.json │ │ │ │ │ ├── empty-muted.json │ │ │ │ │ ├── empty-outline.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── field-badge.json │ │ │ │ │ ├── field-checkbox.json │ │ │ │ │ ├── field-choice-card.json │ │ │ │ │ ├── field-demo.json │ │ │ │ │ ├── field-fieldset.json │ │ │ │ │ ├── field-group.json │ │ │ │ │ ├── field-input.json │ │ │ │ │ ├── field-radio.json │ │ │ │ │ ├── field-responsive.json │ │ │ │ │ ├── field-select.json │ │ │ │ │ ├── field-slider.json │ │ │ │ │ ├── field-switch.json │ │ │ │ │ ├── field-textarea.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── form-next-complex.json │ │ │ │ │ ├── form-next-demo.json │ │ │ │ │ ├── form-rhf-array.json │ │ │ │ │ ├── form-rhf-checkbox.json │ │ │ │ │ ├── form-rhf-complex.json │ │ │ │ │ ├── form-rhf-demo.json │ │ │ │ │ ├── form-rhf-input.json │ │ │ │ │ ├── form-rhf-password.json │ │ │ │ │ ├── form-rhf-radiogroup.json │ │ │ │ │ ├── form-rhf-select.json │ │ │ │ │ ├── form-rhf-switch.json │ │ │ │ │ ├── form-rhf-textarea.json │ │ │ │ │ ├── form-tanstack-array.json │ │ │ │ │ ├── form-tanstack-checkbox.json │ │ │ │ │ ├── form-tanstack-complex.json │ │ │ │ │ ├── form-tanstack-demo.json │ │ │ │ │ ├── form-tanstack-input.json │ │ │ │ │ ├── form-tanstack-radiogroup.json │ │ │ │ │ ├── form-tanstack-select.json │ │ │ │ │ ├── form-tanstack-switch.json │ │ │ │ │ ├── form-tanstack-textarea.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-demo.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-demo.json │ │ │ │ │ ├── input-disabled.json │ │ │ │ │ ├── input-file.json │ │ │ │ │ ├── input-form.json │ │ │ │ │ ├── input-group-align.json │ │ │ │ │ ├── input-group-button-group.json │ │ │ │ │ ├── input-group-button.json │ │ │ │ │ ├── input-group-custom.json │ │ │ │ │ ├── input-group-demo.json │ │ │ │ │ ├── input-group-dropdown.json │ │ │ │ │ ├── input-group-icon.json │ │ │ │ │ ├── input-group-label.json │ │ │ │ │ ├── input-group-select.json │ │ │ │ │ ├── input-group-spinner.json │ │ │ │ │ ├── input-group-text.json │ │ │ │ │ ├── input-group-textarea.json │ │ │ │ │ ├── input-group-tooltip.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-controlled.json │ │ │ │ │ ├── input-otp-demo.json │ │ │ │ │ ├── input-otp-form.json │ │ │ │ │ ├── input-otp-pattern.json │ │ │ │ │ ├── input-otp-separator.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input-with-button.json │ │ │ │ │ ├── input-with-label.json │ │ │ │ │ ├── input-with-text.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-avatar.json │ │ │ │ │ ├── item-demo.json │ │ │ │ │ ├── item-dropdown.json │ │ │ │ │ ├── item-group.json │ │ │ │ │ ├── item-header.json │ │ │ │ │ ├── item-icon.json │ │ │ │ │ ├── item-image.json │ │ │ │ │ ├── item-link.json │ │ │ │ │ ├── item-select.json │ │ │ │ │ ├── item-size.json │ │ │ │ │ ├── item-variant.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-button.json │ │ │ │ │ ├── kbd-demo.json │ │ │ │ │ ├── kbd-group.json │ │ │ │ │ ├── kbd-input-group.json │ │ │ │ │ ├── kbd-tooltip.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-demo.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-demo.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── mode-toggle.json │ │ │ │ │ ├── native-select-demo.json │ │ │ │ │ ├── native-select-disabled.json │ │ │ │ │ ├── native-select-groups.json │ │ │ │ │ ├── native-select-invalid.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-demo.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── otp-01.json │ │ │ │ │ ├── otp-02.json │ │ │ │ │ ├── otp-03.json │ │ │ │ │ ├── otp-04.json │ │ │ │ │ ├── otp-05.json │ │ │ │ │ ├── pagination-demo.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-demo.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── products-01.json │ │ │ │ │ ├── progress-demo.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-demo.json │ │ │ │ │ ├── radio-group-form.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-demo-with-handle.json │ │ │ │ │ ├── resizable-demo.json │ │ │ │ │ ├── resizable-handle.json │ │ │ │ │ ├── resizable-vertical.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-demo.json │ │ │ │ │ ├── scroll-area-horizontal-demo.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-demo.json │ │ │ │ │ ├── select-form.json │ │ │ │ │ ├── select-scrollable.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-demo.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-demo.json │ │ │ │ │ ├── sheet-side.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-controlled.json │ │ │ │ │ ├── sidebar-demo.json │ │ │ │ │ ├── sidebar-footer.json │ │ │ │ │ ├── sidebar-group-action.json │ │ │ │ │ ├── sidebar-group-collapsible.json │ │ │ │ │ ├── sidebar-group.json │ │ │ │ │ ├── sidebar-header.json │ │ │ │ │ ├── sidebar-menu-action.json │ │ │ │ │ ├── sidebar-menu-badge.json │ │ │ │ │ ├── sidebar-menu-collapsible.json │ │ │ │ │ ├── sidebar-menu-sub.json │ │ │ │ │ ├── sidebar-menu.json │ │ │ │ │ ├── sidebar-rsc.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-card.json │ │ │ │ │ ├── skeleton-demo.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-demo.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-demo.json │ │ │ │ │ ├── sonner-types.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-badge.json │ │ │ │ │ ├── spinner-basic.json │ │ │ │ │ ├── spinner-button.json │ │ │ │ │ ├── spinner-color.json │ │ │ │ │ ├── spinner-custom.json │ │ │ │ │ ├── spinner-demo.json │ │ │ │ │ ├── spinner-empty.json │ │ │ │ │ ├── spinner-input-group.json │ │ │ │ │ ├── spinner-item.json │ │ │ │ │ ├── spinner-size.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-demo.json │ │ │ │ │ ├── switch-form.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-demo.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-demo.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-demo.json │ │ │ │ │ ├── textarea-disabled.json │ │ │ │ │ ├── textarea-form.json │ │ │ │ │ ├── textarea-with-button.json │ │ │ │ │ ├── textarea-with-label.json │ │ │ │ │ ├── textarea-with-text.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── theme-gray.json │ │ │ │ │ ├── theme-neutral.json │ │ │ │ │ ├── theme-slate.json │ │ │ │ │ ├── theme-stone.json │ │ │ │ │ ├── theme-zinc.json │ │ │ │ │ ├── toast-demo.json │ │ │ │ │ ├── toast-destructive.json │ │ │ │ │ ├── toast-simple.json │ │ │ │ │ ├── toast-with-action.json │ │ │ │ │ ├── toast-with-title.json │ │ │ │ │ ├── toggle-demo.json │ │ │ │ │ ├── toggle-disabled.json │ │ │ │ │ ├── toggle-group-demo.json │ │ │ │ │ ├── toggle-group-disabled.json │ │ │ │ │ ├── toggle-group-lg.json │ │ │ │ │ ├── toggle-group-outline.json │ │ │ │ │ ├── toggle-group-single.json │ │ │ │ │ ├── toggle-group-sm.json │ │ │ │ │ ├── toggle-group-spacing.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle-lg.json │ │ │ │ │ ├── toggle-outline.json │ │ │ │ │ ├── toggle-sm.json │ │ │ │ │ ├── toggle-with-text.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-demo.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── typography-blockquote.json │ │ │ │ │ ├── typography-demo.json │ │ │ │ │ ├── typography-h1.json │ │ │ │ │ ├── typography-h2.json │ │ │ │ │ ├── typography-h3.json │ │ │ │ │ ├── typography-h4.json │ │ │ │ │ ├── typography-inline-code.json │ │ │ │ │ ├── typography-large.json │ │ │ │ │ ├── typography-lead.json │ │ │ │ │ ├── typography-list.json │ │ │ │ │ ├── typography-muted.json │ │ │ │ │ ├── typography-p.json │ │ │ │ │ ├── typography-small.json │ │ │ │ │ ├── typography-table.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── radix-lyra/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── cards.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── radix-maia/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── cards.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── radix-mira/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── cards.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ ├── radix-nova/ │ │ │ │ │ ├── accordion-example.json │ │ │ │ │ ├── accordion.json │ │ │ │ │ ├── alert-dialog-example.json │ │ │ │ │ ├── alert-dialog.json │ │ │ │ │ ├── alert-example.json │ │ │ │ │ ├── alert.json │ │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ │ ├── aspect-ratio.json │ │ │ │ │ ├── avatar-example.json │ │ │ │ │ ├── avatar.json │ │ │ │ │ ├── badge-example.json │ │ │ │ │ ├── badge.json │ │ │ │ │ ├── breadcrumb-example.json │ │ │ │ │ ├── breadcrumb.json │ │ │ │ │ ├── button-example.json │ │ │ │ │ ├── button-group-example.json │ │ │ │ │ ├── button-group.json │ │ │ │ │ ├── button.json │ │ │ │ │ ├── calendar-example.json │ │ │ │ │ ├── calendar.json │ │ │ │ │ ├── card-example.json │ │ │ │ │ ├── card.json │ │ │ │ │ ├── cards.json │ │ │ │ │ ├── carousel-example.json │ │ │ │ │ ├── carousel.json │ │ │ │ │ ├── chart-example.json │ │ │ │ │ ├── chart.json │ │ │ │ │ ├── checkbox-example.json │ │ │ │ │ ├── checkbox.json │ │ │ │ │ ├── collapsible-example.json │ │ │ │ │ ├── collapsible.json │ │ │ │ │ ├── combobox-example.json │ │ │ │ │ ├── combobox.json │ │ │ │ │ ├── command-example.json │ │ │ │ │ ├── command.json │ │ │ │ │ ├── component-example.json │ │ │ │ │ ├── context-menu-example.json │ │ │ │ │ ├── context-menu.json │ │ │ │ │ ├── dashboard-01.json │ │ │ │ │ ├── demo.json │ │ │ │ │ ├── dialog-example.json │ │ │ │ │ ├── dialog.json │ │ │ │ │ ├── direction.json │ │ │ │ │ ├── drawer-example.json │ │ │ │ │ ├── drawer.json │ │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ │ ├── dropdown-menu.json │ │ │ │ │ ├── empty-example.json │ │ │ │ │ ├── empty.json │ │ │ │ │ ├── example.json │ │ │ │ │ ├── field-example.json │ │ │ │ │ ├── field.json │ │ │ │ │ ├── font-dm-sans.json │ │ │ │ │ ├── font-figtree.json │ │ │ │ │ ├── font-geist-mono.json │ │ │ │ │ ├── font-geist.json │ │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ │ ├── font-heading-figtree.json │ │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ │ ├── font-heading-geist.json │ │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ │ ├── font-heading-inter.json │ │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ │ ├── font-heading-lora.json │ │ │ │ │ ├── font-heading-manrope.json │ │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ │ ├── font-heading-outfit.json │ │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ │ ├── font-heading-raleway.json │ │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ │ ├── font-heading-roboto.json │ │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ │ ├── font-instrument-sans.json │ │ │ │ │ ├── font-inter.json │ │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ │ ├── font-lora.json │ │ │ │ │ ├── font-manrope.json │ │ │ │ │ ├── font-merriweather.json │ │ │ │ │ ├── font-montserrat.json │ │ │ │ │ ├── font-noto-sans.json │ │ │ │ │ ├── font-noto-serif.json │ │ │ │ │ ├── font-nunito-sans.json │ │ │ │ │ ├── font-outfit.json │ │ │ │ │ ├── font-oxanium.json │ │ │ │ │ ├── font-playfair-display.json │ │ │ │ │ ├── font-public-sans.json │ │ │ │ │ ├── font-raleway.json │ │ │ │ │ ├── font-roboto-slab.json │ │ │ │ │ ├── font-roboto.json │ │ │ │ │ ├── font-source-sans-3.json │ │ │ │ │ ├── font-space-grotesk.json │ │ │ │ │ ├── font-tomorrow.json │ │ │ │ │ ├── form.json │ │ │ │ │ ├── hover-card-example.json │ │ │ │ │ ├── hover-card.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── input-example.json │ │ │ │ │ ├── input-group-example.json │ │ │ │ │ ├── input-group.json │ │ │ │ │ ├── input-otp-example.json │ │ │ │ │ ├── input-otp.json │ │ │ │ │ ├── input.json │ │ │ │ │ ├── item-example.json │ │ │ │ │ ├── item.json │ │ │ │ │ ├── kbd-example.json │ │ │ │ │ ├── kbd.json │ │ │ │ │ ├── label-example.json │ │ │ │ │ ├── label.json │ │ │ │ │ ├── login-01.json │ │ │ │ │ ├── login-02.json │ │ │ │ │ ├── login-03.json │ │ │ │ │ ├── login-04.json │ │ │ │ │ ├── login-05.json │ │ │ │ │ ├── menubar-example.json │ │ │ │ │ ├── menubar.json │ │ │ │ │ ├── native-select-example.json │ │ │ │ │ ├── native-select.json │ │ │ │ │ ├── navigation-menu-example.json │ │ │ │ │ ├── navigation-menu.json │ │ │ │ │ ├── pagination-example.json │ │ │ │ │ ├── pagination.json │ │ │ │ │ ├── popover-example.json │ │ │ │ │ ├── popover.json │ │ │ │ │ ├── preview.json │ │ │ │ │ ├── progress-example.json │ │ │ │ │ ├── progress.json │ │ │ │ │ ├── radio-group-example.json │ │ │ │ │ ├── radio-group.json │ │ │ │ │ ├── registry.json │ │ │ │ │ ├── resizable-example.json │ │ │ │ │ ├── resizable.json │ │ │ │ │ ├── scroll-area-example.json │ │ │ │ │ ├── scroll-area.json │ │ │ │ │ ├── select-example.json │ │ │ │ │ ├── select.json │ │ │ │ │ ├── separator-example.json │ │ │ │ │ ├── separator.json │ │ │ │ │ ├── sheet-example.json │ │ │ │ │ ├── sheet.json │ │ │ │ │ ├── sidebar-01.json │ │ │ │ │ ├── sidebar-02.json │ │ │ │ │ ├── sidebar-03.json │ │ │ │ │ ├── sidebar-04.json │ │ │ │ │ ├── sidebar-05.json │ │ │ │ │ ├── sidebar-06.json │ │ │ │ │ ├── sidebar-07.json │ │ │ │ │ ├── sidebar-08.json │ │ │ │ │ ├── sidebar-09.json │ │ │ │ │ ├── sidebar-10.json │ │ │ │ │ ├── sidebar-11.json │ │ │ │ │ ├── sidebar-12.json │ │ │ │ │ ├── sidebar-13.json │ │ │ │ │ ├── sidebar-14.json │ │ │ │ │ ├── sidebar-15.json │ │ │ │ │ ├── sidebar-16.json │ │ │ │ │ ├── sidebar-example.json │ │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ │ ├── sidebar.json │ │ │ │ │ ├── signup-01.json │ │ │ │ │ ├── signup-02.json │ │ │ │ │ ├── signup-03.json │ │ │ │ │ ├── signup-04.json │ │ │ │ │ ├── signup-05.json │ │ │ │ │ ├── skeleton-example.json │ │ │ │ │ ├── skeleton.json │ │ │ │ │ ├── slider-example.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── sonner-example.json │ │ │ │ │ ├── sonner.json │ │ │ │ │ ├── spinner-example.json │ │ │ │ │ ├── spinner.json │ │ │ │ │ ├── style.json │ │ │ │ │ ├── switch-example.json │ │ │ │ │ ├── switch.json │ │ │ │ │ ├── table-example.json │ │ │ │ │ ├── table.json │ │ │ │ │ ├── tabs-example.json │ │ │ │ │ ├── tabs.json │ │ │ │ │ ├── textarea-example.json │ │ │ │ │ ├── textarea.json │ │ │ │ │ ├── toggle-example.json │ │ │ │ │ ├── toggle-group-example.json │ │ │ │ │ ├── toggle-group.json │ │ │ │ │ ├── toggle.json │ │ │ │ │ ├── tooltip-example.json │ │ │ │ │ ├── tooltip.json │ │ │ │ │ ├── use-mobile.json │ │ │ │ │ └── utils.json │ │ │ │ └── radix-vega/ │ │ │ │ ├── accordion-example.json │ │ │ │ ├── accordion.json │ │ │ │ ├── alert-dialog-example.json │ │ │ │ ├── alert-dialog.json │ │ │ │ ├── alert-example.json │ │ │ │ ├── alert.json │ │ │ │ ├── aspect-ratio-example.json │ │ │ │ ├── aspect-ratio.json │ │ │ │ ├── avatar-example.json │ │ │ │ ├── avatar.json │ │ │ │ ├── badge-example.json │ │ │ │ ├── badge.json │ │ │ │ ├── breadcrumb-example.json │ │ │ │ ├── breadcrumb.json │ │ │ │ ├── button-example.json │ │ │ │ ├── button-group-example.json │ │ │ │ ├── button-group.json │ │ │ │ ├── button.json │ │ │ │ ├── calendar-example.json │ │ │ │ ├── calendar.json │ │ │ │ ├── card-example.json │ │ │ │ ├── card.json │ │ │ │ ├── cards.json │ │ │ │ ├── carousel-example.json │ │ │ │ ├── carousel.json │ │ │ │ ├── chart-example.json │ │ │ │ ├── chart.json │ │ │ │ ├── checkbox-example.json │ │ │ │ ├── checkbox.json │ │ │ │ ├── collapsible-example.json │ │ │ │ ├── collapsible.json │ │ │ │ ├── combobox-example.json │ │ │ │ ├── combobox.json │ │ │ │ ├── command-example.json │ │ │ │ ├── command.json │ │ │ │ ├── component-example.json │ │ │ │ ├── context-menu-example.json │ │ │ │ ├── context-menu.json │ │ │ │ ├── dashboard-01.json │ │ │ │ ├── demo.json │ │ │ │ ├── dialog-example.json │ │ │ │ ├── dialog.json │ │ │ │ ├── direction.json │ │ │ │ ├── drawer-example.json │ │ │ │ ├── drawer.json │ │ │ │ ├── dropdown-menu-example.json │ │ │ │ ├── dropdown-menu.json │ │ │ │ ├── empty-example.json │ │ │ │ ├── empty.json │ │ │ │ ├── example.json │ │ │ │ ├── field-example.json │ │ │ │ ├── field.json │ │ │ │ ├── font-dm-sans.json │ │ │ │ ├── font-figtree.json │ │ │ │ ├── font-geist-mono.json │ │ │ │ ├── font-geist.json │ │ │ │ ├── font-heading-dm-sans.json │ │ │ │ ├── font-heading-figtree.json │ │ │ │ ├── font-heading-geist-mono.json │ │ │ │ ├── font-heading-geist.json │ │ │ │ ├── font-heading-ibm-plex-sans.json │ │ │ │ ├── font-heading-instrument-sans.json │ │ │ │ ├── font-heading-inter.json │ │ │ │ ├── font-heading-jetbrains-mono.json │ │ │ │ ├── font-heading-lora.json │ │ │ │ ├── font-heading-manrope.json │ │ │ │ ├── font-heading-merriweather.json │ │ │ │ ├── font-heading-montserrat.json │ │ │ │ ├── font-heading-noto-sans.json │ │ │ │ ├── font-heading-noto-serif.json │ │ │ │ ├── font-heading-nunito-sans.json │ │ │ │ ├── font-heading-outfit.json │ │ │ │ ├── font-heading-oxanium.json │ │ │ │ ├── font-heading-playfair-display.json │ │ │ │ ├── font-heading-public-sans.json │ │ │ │ ├── font-heading-raleway.json │ │ │ │ ├── font-heading-roboto-slab.json │ │ │ │ ├── font-heading-roboto.json │ │ │ │ ├── font-heading-source-sans-3.json │ │ │ │ ├── font-heading-space-grotesk.json │ │ │ │ ├── font-heading-tomorrow.json │ │ │ │ ├── font-ibm-plex-sans.json │ │ │ │ ├── font-instrument-sans.json │ │ │ │ ├── font-inter.json │ │ │ │ ├── font-jetbrains-mono.json │ │ │ │ ├── font-lora.json │ │ │ │ ├── font-manrope.json │ │ │ │ ├── font-merriweather.json │ │ │ │ ├── font-montserrat.json │ │ │ │ ├── font-noto-sans.json │ │ │ │ ├── font-noto-serif.json │ │ │ │ ├── font-nunito-sans.json │ │ │ │ ├── font-outfit.json │ │ │ │ ├── font-oxanium.json │ │ │ │ ├── font-playfair-display.json │ │ │ │ ├── font-public-sans.json │ │ │ │ ├── font-raleway.json │ │ │ │ ├── font-roboto-slab.json │ │ │ │ ├── font-roboto.json │ │ │ │ ├── font-source-sans-3.json │ │ │ │ ├── font-space-grotesk.json │ │ │ │ ├── font-tomorrow.json │ │ │ │ ├── form.json │ │ │ │ ├── hover-card-example.json │ │ │ │ ├── hover-card.json │ │ │ │ ├── index.json │ │ │ │ ├── input-example.json │ │ │ │ ├── input-group-example.json │ │ │ │ ├── input-group.json │ │ │ │ ├── input-otp-example.json │ │ │ │ ├── input-otp.json │ │ │ │ ├── input.json │ │ │ │ ├── item-example.json │ │ │ │ ├── item.json │ │ │ │ ├── kbd-example.json │ │ │ │ ├── kbd.json │ │ │ │ ├── label-example.json │ │ │ │ ├── label.json │ │ │ │ ├── login-01.json │ │ │ │ ├── login-02.json │ │ │ │ ├── login-03.json │ │ │ │ ├── login-04.json │ │ │ │ ├── login-05.json │ │ │ │ ├── menubar-example.json │ │ │ │ ├── menubar.json │ │ │ │ ├── native-select-example.json │ │ │ │ ├── native-select.json │ │ │ │ ├── navigation-menu-example.json │ │ │ │ ├── navigation-menu.json │ │ │ │ ├── pagination-example.json │ │ │ │ ├── pagination.json │ │ │ │ ├── popover-example.json │ │ │ │ ├── popover.json │ │ │ │ ├── preview.json │ │ │ │ ├── progress-example.json │ │ │ │ ├── progress.json │ │ │ │ ├── radio-group-example.json │ │ │ │ ├── radio-group.json │ │ │ │ ├── registry.json │ │ │ │ ├── resizable-example.json │ │ │ │ ├── resizable.json │ │ │ │ ├── scroll-area-example.json │ │ │ │ ├── scroll-area.json │ │ │ │ ├── select-example.json │ │ │ │ ├── select.json │ │ │ │ ├── separator-example.json │ │ │ │ ├── separator.json │ │ │ │ ├── sheet-example.json │ │ │ │ ├── sheet.json │ │ │ │ ├── sidebar-01.json │ │ │ │ ├── sidebar-02.json │ │ │ │ ├── sidebar-03.json │ │ │ │ ├── sidebar-04.json │ │ │ │ ├── sidebar-05.json │ │ │ │ ├── sidebar-06.json │ │ │ │ ├── sidebar-07.json │ │ │ │ ├── sidebar-08.json │ │ │ │ ├── sidebar-09.json │ │ │ │ ├── sidebar-10.json │ │ │ │ ├── sidebar-11.json │ │ │ │ ├── sidebar-12.json │ │ │ │ ├── sidebar-13.json │ │ │ │ ├── sidebar-14.json │ │ │ │ ├── sidebar-15.json │ │ │ │ ├── sidebar-16.json │ │ │ │ ├── sidebar-example.json │ │ │ │ ├── sidebar-floating-example.json │ │ │ │ ├── sidebar-icon-example.json │ │ │ │ ├── sidebar-inset-example.json │ │ │ │ ├── sidebar.json │ │ │ │ ├── signup-01.json │ │ │ │ ├── signup-02.json │ │ │ │ ├── signup-03.json │ │ │ │ ├── signup-04.json │ │ │ │ ├── signup-05.json │ │ │ │ ├── skeleton-example.json │ │ │ │ ├── skeleton.json │ │ │ │ ├── slider-example.json │ │ │ │ ├── slider.json │ │ │ │ ├── sonner-example.json │ │ │ │ ├── sonner.json │ │ │ │ ├── spinner-example.json │ │ │ │ ├── spinner.json │ │ │ │ ├── style.json │ │ │ │ ├── switch-example.json │ │ │ │ ├── switch.json │ │ │ │ ├── table-example.json │ │ │ │ ├── table.json │ │ │ │ ├── tabs-example.json │ │ │ │ ├── tabs.json │ │ │ │ ├── textarea-example.json │ │ │ │ ├── textarea.json │ │ │ │ ├── toggle-example.json │ │ │ │ ├── toggle-group-example.json │ │ │ │ ├── toggle-group.json │ │ │ │ ├── toggle.json │ │ │ │ ├── tooltip-example.json │ │ │ │ ├── tooltip.json │ │ │ │ ├── use-mobile.json │ │ │ │ └── utils.json │ │ │ ├── themes/ │ │ │ │ ├── gray.json │ │ │ │ ├── neutral.json │ │ │ │ ├── slate.json │ │ │ │ ├── stone.json │ │ │ │ └── zinc.json │ │ │ └── themes.css │ │ ├── schema/ │ │ │ ├── registry-item.json │ │ │ └── registry.json │ │ ├── schema.json │ │ └── site.webmanifest │ ├── registry/ │ │ ├── __blocks__.json │ │ ├── __index__.tsx │ │ ├── _legacy-base-colors.ts │ │ ├── _legacy-colors.ts │ │ ├── _legacy-styles.ts │ │ ├── _legacy-themes.ts │ │ ├── base-colors.ts │ │ ├── bases/ │ │ │ ├── README.md │ │ │ ├── __index__.tsx │ │ │ ├── base/ │ │ │ │ ├── blocks/ │ │ │ │ │ ├── _registry.ts │ │ │ │ │ ├── dashboard-01/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── chart-area-interactive.tsx │ │ │ │ │ │ │ ├── data-table.tsx │ │ │ │ │ │ │ ├── nav-documents.tsx │ │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ │ ├── section-cards.tsx │ │ │ │ │ │ │ └── site-header.tsx │ │ │ │ │ │ ├── data.json │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── login-01/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── login-02/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── login-03/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── login-04/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── login-05/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── preview/ │ │ │ │ │ │ ├── cards/ │ │ │ │ │ │ │ ├── activate-agent-dialog.tsx │ │ │ │ │ │ │ ├── analytics-card.tsx │ │ │ │ │ │ │ ├── anomaly-alert.tsx │ │ │ │ │ │ │ ├── assign-issue.tsx │ │ │ │ │ │ │ ├── bar-chart-card.tsx │ │ │ │ │ │ │ ├── bar-visualizer.tsx │ │ │ │ │ │ │ ├── book-appointment.tsx │ │ │ │ │ │ │ ├── codespaces-card.tsx │ │ │ │ │ │ │ ├── contributions-activity.tsx │ │ │ │ │ │ │ ├── contributors.tsx │ │ │ │ │ │ │ ├── environment-variables.tsx │ │ │ │ │ │ │ ├── feedback-form.tsx │ │ │ │ │ │ │ ├── file-upload.tsx │ │ │ │ │ │ │ ├── github-profile.tsx │ │ │ │ │ │ │ ├── icon-preview-grid.tsx │ │ │ │ │ │ │ ├── invite-team.tsx │ │ │ │ │ │ │ ├── invoice.tsx │ │ │ │ │ │ │ ├── live-waveform.tsx │ │ │ │ │ │ │ ├── no-team-members.tsx │ │ │ │ │ │ │ ├── not-found.tsx │ │ │ │ │ │ │ ├── observability-card.tsx │ │ │ │ │ │ │ ├── pie-chart-card.tsx │ │ │ │ │ │ │ ├── report-bug.tsx │ │ │ │ │ │ │ ├── shipping-address.tsx │ │ │ │ │ │ │ ├── shortcuts.tsx │ │ │ │ │ │ │ ├── skeleton-loading.tsx │ │ │ │ │ │ │ ├── sleep-report.tsx │ │ │ │ │ │ │ ├── style-overview.tsx │ │ │ │ │ │ │ ├── typography-specimen.tsx │ │ │ │ │ │ │ ├── ui-elements.tsx │ │ │ │ │ │ │ ├── usage-card.tsx │ │ │ │ │ │ │ ├── visitors.tsx │ │ │ │ │ │ │ └── weekly-fitness-summary.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── sidebar-01/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ │ └── version-switcher.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-02/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ │ └── version-switcher.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-03/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-04/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-05/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ └── search-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-06/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ │ └── sidebar-opt-in-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-07/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-08/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-09/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-10/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── nav-actions.tsx │ │ │ │ │ │ │ ├── nav-favorites.tsx │ │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ │ ├── nav-workspaces.tsx │ │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-11/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-12/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── calendars.tsx │ │ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-13/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── settings-dialog.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-14/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-15/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── calendars.tsx │ │ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ │ │ ├── nav-favorites.tsx │ │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ │ ├── nav-workspaces.tsx │ │ │ │ │ │ │ ├── sidebar-left.tsx │ │ │ │ │ │ │ ├── sidebar-right.tsx │ │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── sidebar-16/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ │ └── site-header.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── signup-01/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── signup-02/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── signup-03/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── signup-04/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── signup-05/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── _registry.ts │ │ │ │ │ └── example.tsx │ │ │ │ ├── examples/ │ │ │ │ │ ├── _registry.ts │ │ │ │ │ ├── accordion-example.tsx │ │ │ │ │ ├── alert-dialog-example.tsx │ │ │ │ │ ├── alert-example.tsx │ │ │ │ │ ├── aspect-ratio-example.tsx │ │ │ │ │ ├── avatar-example.tsx │ │ │ │ │ ├── badge-example.tsx │ │ │ │ │ ├── breadcrumb-example.tsx │ │ │ │ │ ├── button-example.tsx │ │ │ │ │ ├── button-group-example.tsx │ │ │ │ │ ├── calendar-example.tsx │ │ │ │ │ ├── card-example.tsx │ │ │ │ │ ├── carousel-example.tsx │ │ │ │ │ ├── chart-example.tsx │ │ │ │ │ ├── checkbox-example.tsx │ │ │ │ │ ├── collapsible-example.tsx │ │ │ │ │ ├── combobox-example.tsx │ │ │ │ │ ├── command-example.tsx │ │ │ │ │ ├── component-example.tsx │ │ │ │ │ ├── context-menu-example.tsx │ │ │ │ │ ├── demo.tsx │ │ │ │ │ ├── dialog-example.tsx │ │ │ │ │ ├── drawer-example.tsx │ │ │ │ │ ├── dropdown-menu-example.tsx │ │ │ │ │ ├── empty-example.tsx │ │ │ │ │ ├── field-example.tsx │ │ │ │ │ ├── hover-card-example.tsx │ │ │ │ │ ├── input-example.tsx │ │ │ │ │ ├── input-group-example.tsx │ │ │ │ │ ├── input-otp-example.tsx │ │ │ │ │ ├── item-example.tsx │ │ │ │ │ ├── kbd-example.tsx │ │ │ │ │ ├── label-example.tsx │ │ │ │ │ ├── menubar-example.tsx │ │ │ │ │ ├── native-select-example.tsx │ │ │ │ │ ├── navigation-menu-example.tsx │ │ │ │ │ ├── pagination-example.tsx │ │ │ │ │ ├── popover-example.tsx │ │ │ │ │ ├── progress-example.tsx │ │ │ │ │ ├── radio-group-example.tsx │ │ │ │ │ ├── resizable-example.tsx │ │ │ │ │ ├── scroll-area-example.tsx │ │ │ │ │ ├── select-example.tsx │ │ │ │ │ ├── separator-example.tsx │ │ │ │ │ ├── sheet-example.tsx │ │ │ │ │ ├── sidebar-example.tsx │ │ │ │ │ ├── sidebar-floating-example.tsx │ │ │ │ │ ├── sidebar-icon-example.tsx │ │ │ │ │ ├── sidebar-inset-example.tsx │ │ │ │ │ ├── skeleton-example.tsx │ │ │ │ │ ├── slider-example.tsx │ │ │ │ │ ├── sonner-example.tsx │ │ │ │ │ ├── spinner-example.tsx │ │ │ │ │ ├── switch-example.tsx │ │ │ │ │ ├── table-example.tsx │ │ │ │ │ ├── tabs-example.tsx │ │ │ │ │ ├── textarea-example.tsx │ │ │ │ │ ├── toggle-example.tsx │ │ │ │ │ ├── toggle-group-example.tsx │ │ │ │ │ └── tooltip-example.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── _registry.ts │ │ │ │ │ └── use-mobile.ts │ │ │ │ ├── internal/ │ │ │ │ │ ├── _registry.ts │ │ │ │ │ └── sink.tsx │ │ │ │ ├── lib/ │ │ │ │ │ ├── _registry.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── registry.ts │ │ │ │ └── ui/ │ │ │ │ ├── _registry.ts │ │ │ │ ├── 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 │ │ │ │ ├── collapsible.tsx │ │ │ │ ├── combobox.tsx │ │ │ │ ├── command.tsx │ │ │ │ ├── context-menu.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── direction.tsx │ │ │ │ ├── drawer.tsx │ │ │ │ ├── dropdown-menu.tsx │ │ │ │ ├── empty.tsx │ │ │ │ ├── field.tsx │ │ │ │ ├── hover-card.tsx │ │ │ │ ├── input-group.tsx │ │ │ │ ├── input-otp.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── item.tsx │ │ │ │ ├── kbd.tsx │ │ │ │ ├── label.tsx │ │ │ │ ├── menubar.tsx │ │ │ │ ├── native-select.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 │ │ │ │ ├── sonner.tsx │ │ │ │ ├── spinner.tsx │ │ │ │ ├── switch.tsx │ │ │ │ ├── table.tsx │ │ │ │ ├── tabs.tsx │ │ │ │ ├── textarea.tsx │ │ │ │ ├── toggle-group.tsx │ │ │ │ ├── toggle.tsx │ │ │ │ └── tooltip.tsx │ │ │ └── radix/ │ │ │ ├── blocks/ │ │ │ │ ├── _registry.ts │ │ │ │ ├── dashboard-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── chart-area-interactive.tsx │ │ │ │ │ │ ├── data-table.tsx │ │ │ │ │ │ ├── nav-documents.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ ├── section-cards.tsx │ │ │ │ │ │ └── site-header.tsx │ │ │ │ │ ├── data.json │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-02/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-03/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-04/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-05/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── preview/ │ │ │ │ │ ├── cards/ │ │ │ │ │ │ ├── activate-agent-dialog.tsx │ │ │ │ │ │ ├── analytics-card.tsx │ │ │ │ │ │ ├── anomaly-alert.tsx │ │ │ │ │ │ ├── assign-issue.tsx │ │ │ │ │ │ ├── bar-chart-card.tsx │ │ │ │ │ │ ├── bar-visualizer.tsx │ │ │ │ │ │ ├── book-appointment.tsx │ │ │ │ │ │ ├── codespaces-card.tsx │ │ │ │ │ │ ├── contributions-activity.tsx │ │ │ │ │ │ ├── contributors.tsx │ │ │ │ │ │ ├── environment-variables.tsx │ │ │ │ │ │ ├── feedback-form.tsx │ │ │ │ │ │ ├── file-upload.tsx │ │ │ │ │ │ ├── github-profile.tsx │ │ │ │ │ │ ├── icon-preview-grid.tsx │ │ │ │ │ │ ├── invite-team.tsx │ │ │ │ │ │ ├── invoice.tsx │ │ │ │ │ │ ├── live-waveform.tsx │ │ │ │ │ │ ├── no-team-members.tsx │ │ │ │ │ │ ├── not-found.tsx │ │ │ │ │ │ ├── observability-card.tsx │ │ │ │ │ │ ├── pie-chart-card.tsx │ │ │ │ │ │ ├── report-bug.tsx │ │ │ │ │ │ ├── shipping-address.tsx │ │ │ │ │ │ ├── shortcuts.tsx │ │ │ │ │ │ ├── skeleton-loading.tsx │ │ │ │ │ │ ├── sleep-report.tsx │ │ │ │ │ │ ├── style-overview.tsx │ │ │ │ │ │ ├── typography-specimen.tsx │ │ │ │ │ │ ├── ui-elements.tsx │ │ │ │ │ │ ├── usage-card.tsx │ │ │ │ │ │ ├── visitors.tsx │ │ │ │ │ │ └── weekly-fitness-summary.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── sidebar-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ └── version-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-02/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ └── version-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-03/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-04/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-05/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ └── search-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-06/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ └── sidebar-opt-in-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-07/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-08/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-09/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-10/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-actions.tsx │ │ │ │ │ │ ├── nav-favorites.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-workspaces.tsx │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-11/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-12/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── calendars.tsx │ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-13/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── settings-dialog.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-14/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-15/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── calendars.tsx │ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ │ ├── nav-favorites.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ ├── nav-workspaces.tsx │ │ │ │ │ │ ├── sidebar-left.tsx │ │ │ │ │ │ ├── sidebar-right.tsx │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-16/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ └── site-header.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-02/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-03/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-04/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── signup-05/ │ │ │ │ ├── components/ │ │ │ │ │ └── signup-form.tsx │ │ │ │ └── page.tsx │ │ │ ├── components/ │ │ │ │ ├── _registry.ts │ │ │ │ └── example.tsx │ │ │ ├── examples/ │ │ │ │ ├── _registry.ts │ │ │ │ ├── accordion-example.tsx │ │ │ │ ├── alert-dialog-example.tsx │ │ │ │ ├── alert-example.tsx │ │ │ │ ├── aspect-ratio-example.tsx │ │ │ │ ├── avatar-example.tsx │ │ │ │ ├── badge-example.tsx │ │ │ │ ├── breadcrumb-example.tsx │ │ │ │ ├── button-example.tsx │ │ │ │ ├── button-group-example.tsx │ │ │ │ ├── calendar-example.tsx │ │ │ │ ├── card-example.tsx │ │ │ │ ├── carousel-example.tsx │ │ │ │ ├── chart-example.tsx │ │ │ │ ├── checkbox-example.tsx │ │ │ │ ├── collapsible-example.tsx │ │ │ │ ├── combobox-example.tsx │ │ │ │ ├── command-example.tsx │ │ │ │ ├── component-example.tsx │ │ │ │ ├── context-menu-example.tsx │ │ │ │ ├── demo.tsx │ │ │ │ ├── dialog-example.tsx │ │ │ │ ├── drawer-example.tsx │ │ │ │ ├── dropdown-menu-example.tsx │ │ │ │ ├── empty-example.tsx │ │ │ │ ├── field-example.tsx │ │ │ │ ├── hover-card-example.tsx │ │ │ │ ├── input-example.tsx │ │ │ │ ├── input-group-example.tsx │ │ │ │ ├── input-otp-example.tsx │ │ │ │ ├── item-example.tsx │ │ │ │ ├── kbd-example.tsx │ │ │ │ ├── label-example.tsx │ │ │ │ ├── menubar-example.tsx │ │ │ │ ├── native-select-example.tsx │ │ │ │ ├── navigation-menu-example.tsx │ │ │ │ ├── pagination-example.tsx │ │ │ │ ├── popover-example.tsx │ │ │ │ ├── progress-example.tsx │ │ │ │ ├── radio-group-example.tsx │ │ │ │ ├── resizable-example.tsx │ │ │ │ ├── scroll-area-example.tsx │ │ │ │ ├── select-example.tsx │ │ │ │ ├── separator-example.tsx │ │ │ │ ├── sheet-example.tsx │ │ │ │ ├── sidebar-example.tsx │ │ │ │ ├── sidebar-floating-example.tsx │ │ │ │ ├── sidebar-icon-example.tsx │ │ │ │ ├── sidebar-inset-example.tsx │ │ │ │ ├── skeleton-example.tsx │ │ │ │ ├── slider-example.tsx │ │ │ │ ├── sonner-example.tsx │ │ │ │ ├── spinner-example.tsx │ │ │ │ ├── switch-example.tsx │ │ │ │ ├── table-example.tsx │ │ │ │ ├── tabs-example.tsx │ │ │ │ ├── textarea-example.tsx │ │ │ │ ├── toggle-example.tsx │ │ │ │ ├── toggle-group-example.tsx │ │ │ │ └── tooltip-example.tsx │ │ │ ├── hooks/ │ │ │ │ ├── _registry.ts │ │ │ │ └── use-mobile.ts │ │ │ ├── internal/ │ │ │ │ ├── _registry.ts │ │ │ │ └── sink.tsx │ │ │ ├── lib/ │ │ │ │ ├── _registry.ts │ │ │ │ └── utils.ts │ │ │ ├── registry.ts │ │ │ └── ui/ │ │ │ ├── _registry.ts │ │ │ ├── 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 │ │ │ ├── collapsible.tsx │ │ │ ├── combobox.tsx │ │ │ ├── command.tsx │ │ │ ├── context-menu.tsx │ │ │ ├── dialog.tsx │ │ │ ├── direction.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── empty.tsx │ │ │ ├── field.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── input-group.tsx │ │ │ ├── input-otp.tsx │ │ │ ├── input.tsx │ │ │ ├── item.tsx │ │ │ ├── kbd.tsx │ │ │ ├── label.tsx │ │ │ ├── menubar.tsx │ │ │ ├── native-select.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 │ │ │ ├── sonner.tsx │ │ │ ├── spinner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ │ ├── bases.ts │ │ ├── config.test.ts │ │ ├── config.ts │ │ ├── directory.json │ │ ├── fonts.ts │ │ ├── icons/ │ │ │ ├── __hugeicons__.ts │ │ │ ├── __lucide__.ts │ │ │ ├── __phosphor__.ts │ │ │ ├── __remixicon__.ts │ │ │ ├── __tabler__.ts │ │ │ ├── create-icon-loader.tsx │ │ │ ├── icon-hugeicons.tsx │ │ │ ├── icon-lucide.tsx │ │ │ ├── icon-phosphor.tsx │ │ │ ├── icon-remixicon.tsx │ │ │ └── icon-tabler.tsx │ │ ├── new-york-v4/ │ │ │ ├── blocks/ │ │ │ │ ├── _registry.ts │ │ │ │ ├── dashboard-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── chart-area-interactive.tsx │ │ │ │ │ │ ├── data-table.tsx │ │ │ │ │ │ ├── nav-documents.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ ├── section-cards.tsx │ │ │ │ │ │ └── site-header.tsx │ │ │ │ │ ├── data.json │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-02/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-03/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-04/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── login-05/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── login-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ └── version-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-02/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ └── version-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-03/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-04/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-05/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ └── search-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-06/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ └── sidebar-opt-in-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-07/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-08/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-09/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-10/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-actions.tsx │ │ │ │ │ │ ├── nav-favorites.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-workspaces.tsx │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-11/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-12/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── calendars.tsx │ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ │ └── nav-user.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-13/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── settings-dialog.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-14/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── app-sidebar.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-15/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── calendars.tsx │ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ │ ├── nav-favorites.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ ├── nav-workspaces.tsx │ │ │ │ │ │ ├── sidebar-left.tsx │ │ │ │ │ │ ├── sidebar-right.tsx │ │ │ │ │ │ └── team-switcher.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sidebar-16/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── app-sidebar.tsx │ │ │ │ │ │ ├── nav-main.tsx │ │ │ │ │ │ ├── nav-projects.tsx │ │ │ │ │ │ ├── nav-secondary.tsx │ │ │ │ │ │ ├── nav-user.tsx │ │ │ │ │ │ ├── search-form.tsx │ │ │ │ │ │ └── site-header.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-01/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-02/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-03/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── signup-04/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── signup-form.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── signup-05/ │ │ │ │ ├── components/ │ │ │ │ │ └── signup-form.tsx │ │ │ │ └── page.tsx │ │ │ ├── charts/ │ │ │ │ ├── _registry.ts │ │ │ │ ├── chart-area-axes.tsx │ │ │ │ ├── chart-area-default.tsx │ │ │ │ ├── chart-area-gradient.tsx │ │ │ │ ├── chart-area-icons.tsx │ │ │ │ ├── chart-area-interactive.tsx │ │ │ │ ├── chart-area-legend.tsx │ │ │ │ ├── chart-area-linear.tsx │ │ │ │ ├── chart-area-stacked-expand.tsx │ │ │ │ ├── chart-area-stacked.tsx │ │ │ │ ├── chart-area-step.tsx │ │ │ │ ├── chart-bar-active.tsx │ │ │ │ ├── chart-bar-default.tsx │ │ │ │ ├── chart-bar-horizontal.tsx │ │ │ │ ├── chart-bar-interactive.tsx │ │ │ │ ├── chart-bar-label-custom.tsx │ │ │ │ ├── chart-bar-label.tsx │ │ │ │ ├── chart-bar-mixed.tsx │ │ │ │ ├── chart-bar-multiple.tsx │ │ │ │ ├── chart-bar-negative.tsx │ │ │ │ ├── chart-bar-stacked.tsx │ │ │ │ ├── chart-line-default.tsx │ │ │ │ ├── chart-line-dots-colors.tsx │ │ │ │ ├── chart-line-dots-custom.tsx │ │ │ │ ├── chart-line-dots.tsx │ │ │ │ ├── chart-line-interactive.tsx │ │ │ │ ├── chart-line-label-custom.tsx │ │ │ │ ├── chart-line-label.tsx │ │ │ │ ├── chart-line-linear.tsx │ │ │ │ ├── chart-line-multiple.tsx │ │ │ │ ├── chart-line-step.tsx │ │ │ │ ├── chart-pie-donut-active.tsx │ │ │ │ ├── chart-pie-donut-text.tsx │ │ │ │ ├── chart-pie-donut.tsx │ │ │ │ ├── chart-pie-interactive.tsx │ │ │ │ ├── chart-pie-label-custom.tsx │ │ │ │ ├── chart-pie-label-list.tsx │ │ │ │ ├── chart-pie-label.tsx │ │ │ │ ├── chart-pie-legend.tsx │ │ │ │ ├── chart-pie-separator-none.tsx │ │ │ │ ├── chart-pie-simple.tsx │ │ │ │ ├── chart-pie-stacked.tsx │ │ │ │ ├── chart-radar-default.tsx │ │ │ │ ├── chart-radar-dots.tsx │ │ │ │ ├── chart-radar-grid-circle-fill.tsx │ │ │ │ ├── chart-radar-grid-circle-no-lines.tsx │ │ │ │ ├── chart-radar-grid-circle.tsx │ │ │ │ ├── chart-radar-grid-custom.tsx │ │ │ │ ├── chart-radar-grid-fill.tsx │ │ │ │ ├── chart-radar-grid-none.tsx │ │ │ │ ├── chart-radar-icons.tsx │ │ │ │ ├── chart-radar-label-custom.tsx │ │ │ │ ├── chart-radar-legend.tsx │ │ │ │ ├── chart-radar-lines-only.tsx │ │ │ │ ├── chart-radar-multiple.tsx │ │ │ │ ├── chart-radar-radius.tsx │ │ │ │ ├── chart-radial-grid.tsx │ │ │ │ ├── chart-radial-label.tsx │ │ │ │ ├── chart-radial-shape.tsx │ │ │ │ ├── chart-radial-simple.tsx │ │ │ │ ├── chart-radial-stacked.tsx │ │ │ │ ├── chart-radial-text.tsx │ │ │ │ ├── chart-tooltip-advanced.tsx │ │ │ │ ├── chart-tooltip-default.tsx │ │ │ │ ├── chart-tooltip-formatter.tsx │ │ │ │ ├── chart-tooltip-icons.tsx │ │ │ │ ├── chart-tooltip-indicator-line.tsx │ │ │ │ ├── chart-tooltip-indicator-none.tsx │ │ │ │ ├── chart-tooltip-label-custom.tsx │ │ │ │ ├── chart-tooltip-label-formatter.tsx │ │ │ │ └── chart-tooltip-label-none.tsx │ │ │ ├── examples/ │ │ │ │ ├── _registry.ts │ │ │ │ ├── accordion-demo.tsx │ │ │ │ ├── alert-demo.tsx │ │ │ │ ├── alert-destructive.tsx │ │ │ │ ├── alert-dialog-demo.tsx │ │ │ │ ├── aspect-ratio-demo.tsx │ │ │ │ ├── avatar-demo.tsx │ │ │ │ ├── badge-demo.tsx │ │ │ │ ├── badge-destructive.tsx │ │ │ │ ├── badge-outline.tsx │ │ │ │ ├── badge-secondary.tsx │ │ │ │ ├── breadcrumb-demo.tsx │ │ │ │ ├── breadcrumb-dropdown.tsx │ │ │ │ ├── breadcrumb-ellipsis.tsx │ │ │ │ ├── breadcrumb-link.tsx │ │ │ │ ├── breadcrumb-responsive.tsx │ │ │ │ ├── breadcrumb-separator.tsx │ │ │ │ ├── button-as-child.tsx │ │ │ │ ├── button-default.tsx │ │ │ │ ├── button-demo.tsx │ │ │ │ ├── button-destructive.tsx │ │ │ │ ├── button-ghost.tsx │ │ │ │ ├── button-group-demo.tsx │ │ │ │ ├── button-group-dropdown.tsx │ │ │ │ ├── button-group-input-group.tsx │ │ │ │ ├── button-group-input.tsx │ │ │ │ ├── button-group-nested.tsx │ │ │ │ ├── button-group-orientation.tsx │ │ │ │ ├── button-group-popover.tsx │ │ │ │ ├── button-group-select.tsx │ │ │ │ ├── button-group-separator.tsx │ │ │ │ ├── button-group-size.tsx │ │ │ │ ├── button-group-split.tsx │ │ │ │ ├── button-icon.tsx │ │ │ │ ├── button-link.tsx │ │ │ │ ├── button-loading.tsx │ │ │ │ ├── button-outline.tsx │ │ │ │ ├── button-rounded.tsx │ │ │ │ ├── button-secondary.tsx │ │ │ │ ├── button-size.tsx │ │ │ │ ├── button-with-icon.tsx │ │ │ │ ├── calendar-demo.tsx │ │ │ │ ├── calendar-hijri.tsx │ │ │ │ ├── card-demo.tsx │ │ │ │ ├── card-with-form.tsx │ │ │ │ ├── carousel-api.tsx │ │ │ │ ├── carousel-demo.tsx │ │ │ │ ├── carousel-orientation.tsx │ │ │ │ ├── carousel-plugin.tsx │ │ │ │ ├── carousel-size.tsx │ │ │ │ ├── carousel-spacing.tsx │ │ │ │ ├── chart-bar-demo-axis.tsx │ │ │ │ ├── chart-bar-demo-grid.tsx │ │ │ │ ├── chart-bar-demo-legend.tsx │ │ │ │ ├── chart-bar-demo-tooltip.tsx │ │ │ │ ├── chart-bar-demo.tsx │ │ │ │ ├── chart-tooltip-demo.tsx │ │ │ │ ├── checkbox-demo.tsx │ │ │ │ ├── checkbox-disabled.tsx │ │ │ │ ├── checkbox-with-text.tsx │ │ │ │ ├── collapsible-demo.tsx │ │ │ │ ├── combobox-demo.tsx │ │ │ │ ├── combobox-dropdown-menu.tsx │ │ │ │ ├── combobox-popover.tsx │ │ │ │ ├── combobox-responsive.tsx │ │ │ │ ├── command-demo.tsx │ │ │ │ ├── command-dialog.tsx │ │ │ │ ├── context-menu-demo.tsx │ │ │ │ ├── data-table-demo.tsx │ │ │ │ ├── date-picker-demo.tsx │ │ │ │ ├── date-picker-with-presets.tsx │ │ │ │ ├── date-picker-with-range.tsx │ │ │ │ ├── dialog-close-button.tsx │ │ │ │ ├── dialog-demo.tsx │ │ │ │ ├── drawer-demo.tsx │ │ │ │ ├── drawer-dialog.tsx │ │ │ │ ├── dropdown-menu-checkboxes.tsx │ │ │ │ ├── dropdown-menu-demo.tsx │ │ │ │ ├── dropdown-menu-dialog.tsx │ │ │ │ ├── dropdown-menu-radio-group.tsx │ │ │ │ ├── empty-avatar-group.tsx │ │ │ │ ├── empty-avatar.tsx │ │ │ │ ├── empty-background.tsx │ │ │ │ ├── empty-demo.tsx │ │ │ │ ├── empty-icon.tsx │ │ │ │ ├── empty-input-group.tsx │ │ │ │ ├── empty-outline.tsx │ │ │ │ ├── field-checkbox.tsx │ │ │ │ ├── field-choice-card.tsx │ │ │ │ ├── field-demo.tsx │ │ │ │ ├── field-fieldset.tsx │ │ │ │ ├── field-group.tsx │ │ │ │ ├── field-input.tsx │ │ │ │ ├── field-radio.tsx │ │ │ │ ├── field-responsive.tsx │ │ │ │ ├── field-select.tsx │ │ │ │ ├── field-slider.tsx │ │ │ │ ├── field-switch.tsx │ │ │ │ ├── field-textarea.tsx │ │ │ │ ├── form-next-complex-action.ts │ │ │ │ ├── form-next-complex-schema.ts │ │ │ │ ├── form-next-complex.tsx │ │ │ │ ├── form-next-demo-action.ts │ │ │ │ ├── form-next-demo-schema.ts │ │ │ │ ├── form-next-demo.tsx │ │ │ │ ├── form-rhf-array.tsx │ │ │ │ ├── form-rhf-checkbox.tsx │ │ │ │ ├── form-rhf-complex.tsx │ │ │ │ ├── form-rhf-demo.tsx │ │ │ │ ├── form-rhf-input.tsx │ │ │ │ ├── form-rhf-password.tsx │ │ │ │ ├── form-rhf-radiogroup.tsx │ │ │ │ ├── form-rhf-select.tsx │ │ │ │ ├── form-rhf-switch.tsx │ │ │ │ ├── form-rhf-textarea.tsx │ │ │ │ ├── form-tanstack-array.tsx │ │ │ │ ├── form-tanstack-checkbox.tsx │ │ │ │ ├── form-tanstack-complex.tsx │ │ │ │ ├── form-tanstack-demo.tsx │ │ │ │ ├── form-tanstack-input.tsx │ │ │ │ ├── form-tanstack-radiogroup.tsx │ │ │ │ ├── form-tanstack-select.tsx │ │ │ │ ├── form-tanstack-switch.tsx │ │ │ │ ├── form-tanstack-textarea.tsx │ │ │ │ ├── hover-card-demo.tsx │ │ │ │ ├── input-demo.tsx │ │ │ │ ├── input-disabled.tsx │ │ │ │ ├── input-file.tsx │ │ │ │ ├── input-group-button-group.tsx │ │ │ │ ├── input-group-button.tsx │ │ │ │ ├── input-group-custom.tsx │ │ │ │ ├── input-group-demo.tsx │ │ │ │ ├── input-group-dropdown.tsx │ │ │ │ ├── input-group-icon.tsx │ │ │ │ ├── input-group-label.tsx │ │ │ │ ├── input-group-spinner.tsx │ │ │ │ ├── input-group-text.tsx │ │ │ │ ├── input-group-textarea.tsx │ │ │ │ ├── input-group-tooltip.tsx │ │ │ │ ├── input-otp-controlled.tsx │ │ │ │ ├── input-otp-demo.tsx │ │ │ │ ├── input-otp-pattern.tsx │ │ │ │ ├── input-otp-separator.tsx │ │ │ │ ├── input-with-button.tsx │ │ │ │ ├── input-with-label.tsx │ │ │ │ ├── input-with-text.tsx │ │ │ │ ├── item-avatar.tsx │ │ │ │ ├── item-demo.tsx │ │ │ │ ├── item-dropdown.tsx │ │ │ │ ├── item-group.tsx │ │ │ │ ├── item-header.tsx │ │ │ │ ├── item-icon.tsx │ │ │ │ ├── item-image.tsx │ │ │ │ ├── item-link.tsx │ │ │ │ ├── item-size.tsx │ │ │ │ ├── item-variant.tsx │ │ │ │ ├── kbd-button.tsx │ │ │ │ ├── kbd-demo.tsx │ │ │ │ ├── kbd-group.tsx │ │ │ │ ├── kbd-input-group.tsx │ │ │ │ ├── kbd-tooltip.tsx │ │ │ │ ├── label-demo.tsx │ │ │ │ ├── menubar-demo.tsx │ │ │ │ ├── mode-toggle.tsx │ │ │ │ ├── native-select-demo.tsx │ │ │ │ ├── native-select-disabled.tsx │ │ │ │ ├── native-select-groups.tsx │ │ │ │ ├── native-select-invalid.tsx │ │ │ │ ├── navigation-menu-demo.tsx │ │ │ │ ├── pagination-demo.tsx │ │ │ │ ├── popover-demo.tsx │ │ │ │ ├── progress-demo.tsx │ │ │ │ ├── radio-group-demo.tsx │ │ │ │ ├── resizable-demo-with-handle.tsx │ │ │ │ ├── resizable-demo.tsx │ │ │ │ ├── resizable-handle.tsx │ │ │ │ ├── resizable-vertical.tsx │ │ │ │ ├── scroll-area-demo.tsx │ │ │ │ ├── scroll-area-horizontal-demo.tsx │ │ │ │ ├── select-demo.tsx │ │ │ │ ├── select-scrollable.tsx │ │ │ │ ├── separator-demo.tsx │ │ │ │ ├── sheet-demo.tsx │ │ │ │ ├── sheet-side.tsx │ │ │ │ ├── skeleton-card.tsx │ │ │ │ ├── skeleton-demo.tsx │ │ │ │ ├── slider-demo.tsx │ │ │ │ ├── sonner-demo.tsx │ │ │ │ ├── sonner-types.tsx │ │ │ │ ├── spinner-badge.tsx │ │ │ │ ├── spinner-basic.tsx │ │ │ │ ├── spinner-button.tsx │ │ │ │ ├── spinner-color.tsx │ │ │ │ ├── spinner-custom.tsx │ │ │ │ ├── spinner-demo.tsx │ │ │ │ ├── spinner-empty.tsx │ │ │ │ ├── spinner-input-group.tsx │ │ │ │ ├── spinner-item.tsx │ │ │ │ ├── spinner-size.tsx │ │ │ │ ├── switch-demo.tsx │ │ │ │ ├── table-demo.tsx │ │ │ │ ├── tabs-demo.tsx │ │ │ │ ├── textarea-demo.tsx │ │ │ │ ├── textarea-disabled.tsx │ │ │ │ ├── textarea-with-button.tsx │ │ │ │ ├── textarea-with-label.tsx │ │ │ │ ├── textarea-with-text.tsx │ │ │ │ ├── toggle-demo.tsx │ │ │ │ ├── toggle-disabled.tsx │ │ │ │ ├── toggle-group-demo.tsx │ │ │ │ ├── toggle-group-disabled.tsx │ │ │ │ ├── toggle-group-lg.tsx │ │ │ │ ├── toggle-group-outline.tsx │ │ │ │ ├── toggle-group-single.tsx │ │ │ │ ├── toggle-group-sm.tsx │ │ │ │ ├── toggle-group-spacing.tsx │ │ │ │ ├── toggle-lg.tsx │ │ │ │ ├── toggle-outline.tsx │ │ │ │ ├── toggle-sm.tsx │ │ │ │ ├── toggle-with-text.tsx │ │ │ │ ├── tooltip-demo.tsx │ │ │ │ ├── typography-blockquote.tsx │ │ │ │ ├── typography-demo.tsx │ │ │ │ ├── typography-h1.tsx │ │ │ │ ├── typography-h2.tsx │ │ │ │ ├── typography-h3.tsx │ │ │ │ ├── typography-h4.tsx │ │ │ │ ├── typography-inline-code.tsx │ │ │ │ ├── typography-large.tsx │ │ │ │ ├── typography-lead.tsx │ │ │ │ ├── typography-list.tsx │ │ │ │ ├── typography-muted.tsx │ │ │ │ ├── typography-p.tsx │ │ │ │ ├── typography-small.tsx │ │ │ │ └── typography-table.tsx │ │ │ ├── hooks/ │ │ │ │ ├── _registry.ts │ │ │ │ └── use-mobile.ts │ │ │ ├── internal/ │ │ │ │ ├── _registry.ts │ │ │ │ ├── sidebar-controlled.tsx │ │ │ │ ├── sidebar-demo.tsx │ │ │ │ ├── sidebar-footer.tsx │ │ │ │ ├── sidebar-group-action.tsx │ │ │ │ ├── sidebar-group-collapsible.tsx │ │ │ │ ├── sidebar-group.tsx │ │ │ │ ├── sidebar-header.tsx │ │ │ │ ├── sidebar-menu-action.tsx │ │ │ │ ├── sidebar-menu-badge.tsx │ │ │ │ ├── sidebar-menu-collapsible.tsx │ │ │ │ ├── sidebar-menu-sub.tsx │ │ │ │ ├── sidebar-menu.tsx │ │ │ │ └── sidebar-rsc.tsx │ │ │ ├── lib/ │ │ │ │ ├── _registry.ts │ │ │ │ └── utils.ts │ │ │ ├── registry.ts │ │ │ └── ui/ │ │ │ ├── _registry.ts │ │ │ ├── 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 │ │ │ ├── collapsible.tsx │ │ │ ├── combobox.tsx │ │ │ ├── command.tsx │ │ │ ├── context-menu.tsx │ │ │ ├── dialog.tsx │ │ │ ├── direction.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── empty.tsx │ │ │ ├── field.tsx │ │ │ ├── form.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── input-group.tsx │ │ │ ├── input-otp.tsx │ │ │ ├── input.tsx │ │ │ ├── item.tsx │ │ │ ├── kbd.tsx │ │ │ ├── label.tsx │ │ │ ├── menubar.tsx │ │ │ ├── native-select.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 │ │ │ ├── sonner.tsx │ │ │ ├── spinner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ │ ├── styles/ │ │ │ ├── style-lyra.css │ │ │ ├── style-maia.css │ │ │ ├── style-mira.css │ │ │ ├── style-nova.css │ │ │ └── style-vega.css │ │ ├── styles.tsx │ │ └── themes.ts │ ├── registry.json │ ├── scripts/ │ │ ├── build-examples.ts │ │ ├── build-icons.ts │ │ ├── build-registry.mts │ │ ├── build-test-app.mts │ │ ├── capture-explore.mts │ │ ├── capture-registry.mts │ │ └── validate-registries.mts │ ├── source.config.ts │ ├── styles/ │ │ ├── globals.css │ │ └── legacy-themes.css │ ├── tsconfig.json │ └── tsconfig.scripts.json ├── package.json ├── packages/ │ ├── shadcn/ │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── commands/ │ │ │ │ ├── add.ts │ │ │ │ ├── build.ts │ │ │ │ ├── diff.ts │ │ │ │ ├── docs.ts │ │ │ │ ├── info.ts │ │ │ │ ├── init.ts │ │ │ │ ├── mcp.ts │ │ │ │ ├── migrate.ts │ │ │ │ ├── registry/ │ │ │ │ │ ├── add.ts │ │ │ │ │ ├── build.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── mcp.ts │ │ │ │ ├── search.ts │ │ │ │ └── view.ts │ │ │ ├── icons/ │ │ │ │ ├── index.ts │ │ │ │ └── libraries.ts │ │ │ ├── index.ts │ │ │ ├── mcp/ │ │ │ │ ├── index.ts │ │ │ │ └── utils.ts │ │ │ ├── migrations/ │ │ │ │ ├── migrate-icons.test.ts │ │ │ │ ├── migrate-icons.ts │ │ │ │ ├── migrate-radix.test.ts │ │ │ │ ├── migrate-radix.ts │ │ │ │ ├── migrate-rtl.test.ts │ │ │ │ └── migrate-rtl.ts │ │ │ ├── preflights/ │ │ │ │ ├── preflight-add.ts │ │ │ │ ├── preflight-build.ts │ │ │ │ ├── preflight-init.ts │ │ │ │ ├── preflight-migrate.ts │ │ │ │ └── preflight-registry.ts │ │ │ ├── preset/ │ │ │ │ ├── index.ts │ │ │ │ ├── preset.test.ts │ │ │ │ ├── preset.ts │ │ │ │ ├── presets.test.ts │ │ │ │ └── presets.ts │ │ │ ├── registry/ │ │ │ │ ├── api.test.ts │ │ │ │ ├── api.ts │ │ │ │ ├── builder.test.ts │ │ │ │ ├── builder.ts │ │ │ │ ├── config.test.ts │ │ │ │ ├── config.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── context.ts │ │ │ │ ├── env.test.ts │ │ │ │ ├── env.ts │ │ │ │ ├── errors.ts │ │ │ │ ├── fetcher.test.ts │ │ │ │ ├── fetcher.ts │ │ │ │ ├── index.ts │ │ │ │ ├── namespaces.test.ts │ │ │ │ ├── namespaces.ts │ │ │ │ ├── parser.test.ts │ │ │ │ ├── parser.ts │ │ │ │ ├── resolver.test.ts │ │ │ │ ├── resolver.ts │ │ │ │ ├── schema.test.ts │ │ │ │ ├── schema.ts │ │ │ │ ├── search.test.ts │ │ │ │ ├── search.ts │ │ │ │ ├── utils.test.ts │ │ │ │ ├── utils.ts │ │ │ │ ├── validator.test.ts │ │ │ │ └── validator.ts │ │ │ ├── schema/ │ │ │ │ └── index.ts │ │ │ ├── styles/ │ │ │ │ ├── create-style-map.test.ts │ │ │ │ ├── create-style-map.ts │ │ │ │ ├── transform-style-map.test.ts │ │ │ │ ├── transform-style-map.ts │ │ │ │ └── transform.ts │ │ │ ├── tailwind.css │ │ │ ├── templates/ │ │ │ │ ├── astro.ts │ │ │ │ ├── create-template.ts │ │ │ │ ├── index.ts │ │ │ │ ├── laravel.ts │ │ │ │ ├── monorepo.ts │ │ │ │ ├── next.ts │ │ │ │ ├── react-router.ts │ │ │ │ ├── start.ts │ │ │ │ └── vite.ts │ │ │ └── utils/ │ │ │ ├── add-components.test.ts │ │ │ ├── add-components.ts │ │ │ ├── compare.test.ts │ │ │ ├── compare.ts │ │ │ ├── create-project.test.ts │ │ │ ├── create-project.ts │ │ │ ├── dry-run-formatter.ts │ │ │ ├── dry-run.ts │ │ │ ├── env-helpers.test.ts │ │ │ ├── env-helpers.ts │ │ │ ├── env-loader.ts │ │ │ ├── errors.ts │ │ │ ├── file-helper.ts │ │ │ ├── font-markers.ts │ │ │ ├── frameworks.ts │ │ │ ├── get-config.ts │ │ │ ├── get-monorepo-info.test.ts │ │ │ ├── get-monorepo-info.ts │ │ │ ├── get-package-info.ts │ │ │ ├── get-package-manager.ts │ │ │ ├── get-project-info.ts │ │ │ ├── handle-error.ts │ │ │ ├── highlighter.ts │ │ │ ├── index.ts │ │ │ ├── is-safe-target.test.ts │ │ │ ├── is-safe-target.ts │ │ │ ├── legacy-icon-libraries.ts │ │ │ ├── logger.ts │ │ │ ├── registries.ts │ │ │ ├── resolve-import.ts │ │ │ ├── scaffold.test.ts │ │ │ ├── spinner.ts │ │ │ ├── templates.ts │ │ │ ├── transformers/ │ │ │ │ ├── index.ts │ │ │ │ ├── transform-aschild.test.ts │ │ │ │ ├── transform-aschild.ts │ │ │ │ ├── transform-cleanup.test.ts │ │ │ │ ├── transform-cleanup.ts │ │ │ │ ├── transform-css-vars.ts │ │ │ │ ├── transform-font.test.ts │ │ │ │ ├── transform-font.ts │ │ │ │ ├── transform-icons.test.ts │ │ │ │ ├── transform-icons.ts │ │ │ │ ├── transform-import.ts │ │ │ │ ├── transform-jsx.ts │ │ │ │ ├── transform-legacy-icons.test.ts │ │ │ │ ├── transform-legacy-icons.ts │ │ │ │ ├── transform-menu.test.ts │ │ │ │ ├── transform-menu.ts │ │ │ │ ├── transform-next.test.ts │ │ │ │ ├── transform-next.ts │ │ │ │ ├── transform-render.test.ts │ │ │ │ ├── transform-render.ts │ │ │ │ ├── transform-rsc.ts │ │ │ │ ├── transform-rtl.ts │ │ │ │ └── transform-tw-prefix.ts │ │ │ ├── update-app-index.ts │ │ │ └── updaters/ │ │ │ ├── update-css-vars.ts │ │ │ ├── update-css.ts │ │ │ ├── update-dependencies.ts │ │ │ ├── update-env-vars.test.ts │ │ │ ├── update-env-vars.ts │ │ │ ├── update-files.ts │ │ │ ├── update-fonts.test.ts │ │ │ ├── update-fonts.ts │ │ │ ├── update-tailwind-config.ts │ │ │ └── update-tailwind-content.ts │ │ ├── test/ │ │ │ ├── fixtures/ │ │ │ │ ├── colors/ │ │ │ │ │ ├── neutral.json │ │ │ │ │ ├── slate.json │ │ │ │ │ ├── stone.json │ │ │ │ │ └── zinc.json │ │ │ │ ├── config-full/ │ │ │ │ │ ├── components.json │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── app/ │ │ │ │ │ │ └── globals.css │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── config-invalid/ │ │ │ │ │ ├── components.json │ │ │ │ │ └── package.json │ │ │ │ ├── config-jsx/ │ │ │ │ │ ├── components.json │ │ │ │ │ ├── jsconfig.json │ │ │ │ │ └── package.json │ │ │ │ ├── config-none/ │ │ │ │ │ └── package.json │ │ │ │ ├── config-partial/ │ │ │ │ │ ├── components.json │ │ │ │ │ ├── package.json │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── config-ui/ │ │ │ │ │ ├── components.json │ │ │ │ │ ├── package.json │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── frameworks/ │ │ │ │ │ ├── next-app/ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── globals.css │ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ │ ├── other.css │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── next-env.d.ts │ │ │ │ │ │ ├── next.config.ts │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ ├── next-app-custom-alias/ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── globals.css │ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ │ ├── other.css │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── next-env.d.ts │ │ │ │ │ │ ├── next.config.ts │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ ├── next-app-src/ │ │ │ │ │ │ ├── next-env.d.ts │ │ │ │ │ │ ├── next.config.js │ │ │ │ │ │ ├── other.css │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ │ │ ├── other.css │ │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ │ └── styles.css │ │ │ │ │ │ │ └── other.css │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ ├── next-monorepo/ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── packages/ │ │ │ │ │ │ └── ui/ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ └── globals.css │ │ │ │ │ ├── next-pages/ │ │ │ │ │ │ ├── next.config.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── pages/ │ │ │ │ │ │ │ ├── _app.tsx │ │ │ │ │ │ │ ├── _document.tsx │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ └── hello.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── other.css │ │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ ├── globals.css │ │ │ │ │ │ │ └── other.css │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ ├── next-pages-src/ │ │ │ │ │ │ ├── next-env.d.ts │ │ │ │ │ │ ├── next.config.js │ │ │ │ │ │ ├── other.css │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ ├── other.css │ │ │ │ │ │ │ ├── pages/ │ │ │ │ │ │ │ │ ├── _app.tsx │ │ │ │ │ │ │ │ ├── _document.tsx │ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ │ └── hello.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── other.css │ │ │ │ │ │ │ └── styles/ │ │ │ │ │ │ │ ├── globals.css │ │ │ │ │ │ │ └── other.css │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ ├── remix/ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── entry.client.tsx │ │ │ │ │ │ │ ├── entry.server.tsx │ │ │ │ │ │ │ ├── root.tsx │ │ │ │ │ │ │ ├── routes/ │ │ │ │ │ │ │ │ └── _index.tsx │ │ │ │ │ │ │ └── tailwind.css │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ │ └── vite.config.ts │ │ │ │ │ ├── remix-indie-stack/ │ │ │ │ │ │ ├── .dockerignore │ │ │ │ │ │ ├── .eslintrc.js │ │ │ │ │ │ ├── .github/ │ │ │ │ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ │ │ │ │ ├── bug_report.yml │ │ │ │ │ │ │ │ └── config.yml │ │ │ │ │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ │ │ │ │ ├── dependabot.yml │ │ │ │ │ │ │ └── workflows/ │ │ │ │ │ │ │ ├── deploy.yml │ │ │ │ │ │ │ ├── format-repo.yml │ │ │ │ │ │ │ ├── lint-repo.yml │ │ │ │ │ │ │ └── no-response.yml │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitpod.Dockerfile │ │ │ │ │ │ ├── .gitpod.yml │ │ │ │ │ │ ├── .npmrc │ │ │ │ │ │ ├── .prettierignore │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── db.server.ts │ │ │ │ │ │ │ ├── entry.client.tsx │ │ │ │ │ │ │ ├── entry.server.tsx │ │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ │ ├── note.server.ts │ │ │ │ │ │ │ │ └── user.server.ts │ │ │ │ │ │ │ ├── root.tsx │ │ │ │ │ │ │ ├── routes/ │ │ │ │ │ │ │ │ ├── _index.tsx │ │ │ │ │ │ │ │ ├── healthcheck.tsx │ │ │ │ │ │ │ │ ├── join.tsx │ │ │ │ │ │ │ │ ├── login.tsx │ │ │ │ │ │ │ │ ├── logout.tsx │ │ │ │ │ │ │ │ ├── notes.$noteId.tsx │ │ │ │ │ │ │ │ ├── notes._index.tsx │ │ │ │ │ │ │ │ ├── notes.new.tsx │ │ │ │ │ │ │ │ └── notes.tsx │ │ │ │ │ │ │ ├── session.server.ts │ │ │ │ │ │ │ ├── singleton.server.ts │ │ │ │ │ │ │ ├── tailwind.css │ │ │ │ │ │ │ ├── utils.test.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── cypress/ │ │ │ │ │ │ │ ├── .eslintrc.js │ │ │ │ │ │ │ ├── e2e/ │ │ │ │ │ │ │ │ └── smoke.cy.ts │ │ │ │ │ │ │ ├── fixtures/ │ │ │ │ │ │ │ │ └── example.json │ │ │ │ │ │ │ ├── support/ │ │ │ │ │ │ │ │ ├── commands.ts │ │ │ │ │ │ │ │ ├── create-user.ts │ │ │ │ │ │ │ │ ├── delete-user.ts │ │ │ │ │ │ │ │ └── e2e.ts │ │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ │ ├── cypress.config.ts │ │ │ │ │ │ ├── fly.toml │ │ │ │ │ │ ├── mocks/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ │ ├── prettier.config.js │ │ │ │ │ │ ├── prisma/ │ │ │ │ │ │ │ ├── migrations/ │ │ │ │ │ │ │ │ ├── 20220713162558_init/ │ │ │ │ │ │ │ │ │ └── migration.sql │ │ │ │ │ │ │ │ └── migration_lock.toml │ │ │ │ │ │ │ ├── schema.prisma │ │ │ │ │ │ │ └── seed.ts │ │ │ │ │ │ ├── remix.config.js │ │ │ │ │ │ ├── remix.env.d.ts │ │ │ │ │ │ ├── remix.init/ │ │ │ │ │ │ │ ├── gitignore │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── start.sh │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ ├── test/ │ │ │ │ │ │ │ └── setup-test-env.ts │ │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ │ └── vitest.config.ts │ │ │ │ │ ├── t3-app/ │ │ │ │ │ │ ├── next.config.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── postcss.config.cjs │ │ │ │ │ │ ├── prettier.config.js │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── env.js │ │ │ │ │ │ │ └── styles/ │ │ │ │ │ │ │ └── globals.css │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ ├── t3-pages/ │ │ │ │ │ │ ├── .eslintrc.cjs │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── next.config.mjs │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ ├── env.mjs │ │ │ │ │ │ │ ├── pages/ │ │ │ │ │ │ │ │ ├── _app.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── styles/ │ │ │ │ │ │ │ └── globals.css │ │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ └── vite/ │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── index.html │ │ │ │ │ ├── package.json │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── App.css │ │ │ │ │ │ ├── App.tsx │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ └── vite-env.d.ts │ │ │ │ │ ├── tailwind.config.js │ │ │ │ │ ├── tsconfig.app.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.node.json │ │ │ │ │ └── vite.config.ts │ │ │ │ ├── next/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── app/ │ │ │ │ │ │ └── globals.css │ │ │ │ │ ├── next.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── tailwind.config.js │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── next-app-js/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── globals.css │ │ │ │ │ │ ├── layout.js │ │ │ │ │ │ └── page.js │ │ │ │ │ ├── jsconfig.json │ │ │ │ │ ├── next.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── postcss.config.js │ │ │ │ │ └── tailwind.config.js │ │ │ │ ├── next-src/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── next.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── app/ │ │ │ │ │ │ └── globals.css │ │ │ │ │ ├── tailwind.config.js │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── project/ │ │ │ │ │ ├── components.json │ │ │ │ │ └── package.json │ │ │ │ ├── project-bun/ │ │ │ │ │ ├── bun.lockb │ │ │ │ │ └── package.json │ │ │ │ ├── project-bun-lock/ │ │ │ │ │ └── package.json │ │ │ │ ├── project-deno/ │ │ │ │ │ └── deno.json │ │ │ │ ├── project-npm/ │ │ │ │ │ └── package.json │ │ │ │ ├── project-npm-react19/ │ │ │ │ │ └── package.json │ │ │ │ ├── project-pnpm/ │ │ │ │ │ └── package.json │ │ │ │ ├── project-src/ │ │ │ │ │ ├── components.json │ │ │ │ │ └── package.json │ │ │ │ ├── project-yarn/ │ │ │ │ │ └── package.json │ │ │ │ ├── vite-with-tailwind/ │ │ │ │ │ ├── .eslintrc.cjs │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── components.json │ │ │ │ │ ├── index.html │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── App.css │ │ │ │ │ │ ├── App.tsx │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ ├── lib/ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ └── vite-env.d.ts │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.node.json │ │ │ │ │ └── vite.config.ts │ │ │ │ ├── with-base-url/ │ │ │ │ │ └── tsconfig.json │ │ │ │ └── without-base-url/ │ │ │ │ └── tsconfig.json │ │ │ └── utils/ │ │ │ ├── __snapshots__/ │ │ │ │ ├── transform-css-vars.test.ts.snap │ │ │ │ ├── transform-import.test.ts.snap │ │ │ │ ├── transform-rsc.test.ts.snap │ │ │ │ └── transform-tw-prefix.test.ts.snap │ │ │ ├── add-components.test.ts │ │ │ ├── add-registries.test.ts │ │ │ ├── apply-color-mapping.test.ts │ │ │ ├── apply-prefix.test.ts │ │ │ ├── dry-run.test.ts │ │ │ ├── get-config.test.ts │ │ │ ├── get-item-target-path.test.ts │ │ │ ├── get-package-manager.test.ts │ │ │ ├── get-project-info.test.ts │ │ │ ├── get-tailwind-css-file.test.ts │ │ │ ├── get-ts-config-alias-prefix.test.ts │ │ │ ├── is-typescript-project.test.ts │ │ │ ├── registries.test.ts │ │ │ ├── registry.test.ts │ │ │ ├── resolve-import.test.ts │ │ │ ├── transform-css-vars.test.ts │ │ │ ├── transform-import.test.ts │ │ │ ├── transform-rsc.test.ts │ │ │ ├── transform-rtl.test.ts │ │ │ ├── transform-tw-prefix.test.ts │ │ │ └── updaters/ │ │ │ ├── __snapshots__/ │ │ │ │ ├── initialize-tailwind-config.test.ts.snap │ │ │ │ ├── update-tailwind-config.test.ts.snap │ │ │ │ └── update-tailwind-content.test.ts.snap │ │ │ ├── update-css-vars.test.ts │ │ │ ├── update-css.test.ts │ │ │ ├── update-dependencies.test.ts │ │ │ ├── update-files.test.ts │ │ │ ├── update-tailwind-config.test.ts │ │ │ └── update-tailwind-content.test.ts │ │ ├── tsconfig.json │ │ ├── tsup.config.ts │ │ └── vitest.config.ts │ └── tests/ │ ├── .eslintignore │ ├── .gitignore │ ├── .prettierignore │ ├── README.md │ ├── fixtures/ │ │ ├── next-app/ │ │ │ ├── app/ │ │ │ │ ├── globals.css │ │ │ │ ├── layout.tsx │ │ │ │ ├── other.css │ │ │ │ └── page.tsx │ │ │ ├── next.config.ts │ │ │ ├── package.json │ │ │ ├── postcss.config.mjs │ │ │ └── tsconfig.json │ │ ├── next-app-init/ │ │ │ ├── app/ │ │ │ │ ├── globals.css │ │ │ │ ├── layout.tsx │ │ │ │ ├── other.css │ │ │ │ └── page.tsx │ │ │ ├── components.json │ │ │ ├── lib/ │ │ │ │ └── utils.ts │ │ │ ├── next.config.ts │ │ │ ├── package.json │ │ │ ├── postcss.config.mjs │ │ │ └── tsconfig.json │ │ ├── no-framework/ │ │ │ └── .gitkeep │ │ ├── registry/ │ │ │ ├── example-at-property.json │ │ │ ├── example-component.json │ │ │ ├── example-env-vars.json │ │ │ ├── example-item-to-root.json │ │ │ ├── example-item.json │ │ │ └── example-style.json │ │ ├── remix-app/ │ │ │ ├── app/ │ │ │ │ └── globals.css │ │ │ ├── package.json │ │ │ ├── postcss.config.mjs │ │ │ └── tsconfig.json │ │ └── vite-app/ │ │ ├── eslint.config.js │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.css │ │ │ ├── App.tsx │ │ │ ├── index.css │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── package.json │ ├── src/ │ │ ├── tests/ │ │ │ ├── add.test.ts │ │ │ ├── init.test.ts │ │ │ ├── registries.test.ts │ │ │ ├── search.test.ts │ │ │ └── view.test.ts │ │ └── utils/ │ │ ├── helpers.ts │ │ ├── registry.ts │ │ └── setup.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── pnpm-workspace.yaml ├── prettier.config.cjs ├── scripts/ │ └── sync-templates.sh ├── skills/ │ └── shadcn/ │ ├── SKILL.md │ ├── agents/ │ │ └── openai.yml │ ├── cli.md │ ├── customization.md │ ├── evals/ │ │ └── evals.json │ ├── mcp.md │ └── rules/ │ ├── base-vs-radix.md │ ├── composition.md │ ├── forms.md │ ├── icons.md │ └── styling.md ├── templates/ │ ├── astro-app/ │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── astro.config.mjs │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── layouts/ │ │ │ │ └── main.astro │ │ │ ├── pages/ │ │ │ │ └── index.astro │ │ │ └── styles/ │ │ │ └── global.css │ │ └── tsconfig.json │ ├── astro-monorepo/ │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── apps/ │ │ │ └── web/ │ │ │ ├── astro.config.mjs │ │ │ ├── components.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── layouts/ │ │ │ │ │ └── main.astro │ │ │ │ ├── lib/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── pages/ │ │ │ │ └── index.astro │ │ │ └── tsconfig.json │ │ ├── package.json │ │ ├── packages/ │ │ │ └── ui/ │ │ │ ├── components.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── hooks/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── lib/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── styles/ │ │ │ │ └── globals.css │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.lint.json │ │ ├── pnpm-workspace.yaml │ │ ├── tsconfig.json │ │ └── turbo.json │ ├── next-app/ │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── app/ │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── .gitkeep │ │ │ └── theme-provider.tsx │ │ ├── eslint.config.mjs │ │ ├── hooks/ │ │ │ └── .gitkeep │ │ ├── lib/ │ │ │ └── .gitkeep │ │ ├── next.config.mjs │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ ├── public/ │ │ │ └── .gitkeep │ │ └── tsconfig.json │ ├── next-monorepo/ │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── apps/ │ │ │ └── web/ │ │ │ ├── app/ │ │ │ │ ├── layout.tsx │ │ │ │ └── page.tsx │ │ │ ├── components/ │ │ │ │ ├── .gitkeep │ │ │ │ └── theme-provider.tsx │ │ │ ├── components.json │ │ │ ├── eslint.config.js │ │ │ ├── hooks/ │ │ │ │ └── .gitkeep │ │ │ ├── lib/ │ │ │ │ └── .gitkeep │ │ │ ├── next-env.d.ts │ │ │ ├── next.config.mjs │ │ │ ├── package.json │ │ │ ├── postcss.config.mjs │ │ │ └── tsconfig.json │ │ ├── package.json │ │ ├── packages/ │ │ │ ├── eslint-config/ │ │ │ │ ├── README.md │ │ │ │ ├── base.js │ │ │ │ ├── next.js │ │ │ │ ├── package.json │ │ │ │ └── react-internal.js │ │ │ ├── typescript-config/ │ │ │ │ ├── README.md │ │ │ │ ├── base.json │ │ │ │ ├── nextjs.json │ │ │ │ ├── package.json │ │ │ │ └── react-library.json │ │ │ └── ui/ │ │ │ ├── components.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── postcss.config.mjs │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── hooks/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── lib/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── styles/ │ │ │ │ └── globals.css │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.lint.json │ │ ├── pnpm-workspace.yaml │ │ ├── tsconfig.json │ │ └── turbo.json │ ├── react-router-app/ │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── app/ │ │ │ ├── app.css │ │ │ ├── root.tsx │ │ │ ├── routes/ │ │ │ │ └── home.tsx │ │ │ └── routes.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── react-router-monorepo/ │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── apps/ │ │ │ └── web/ │ │ │ ├── .dockerignore │ │ │ ├── Dockerfile │ │ │ ├── app/ │ │ │ │ ├── root.tsx │ │ │ │ ├── routes/ │ │ │ │ │ └── home.tsx │ │ │ │ └── routes.ts │ │ │ ├── components/ │ │ │ │ └── .gitkeep │ │ │ ├── components.json │ │ │ ├── hooks/ │ │ │ │ └── .gitkeep │ │ │ ├── lib/ │ │ │ │ └── .gitkeep │ │ │ ├── package.json │ │ │ ├── react-router.config.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── package.json │ │ ├── packages/ │ │ │ └── ui/ │ │ │ ├── components.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── hooks/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── lib/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── utils.ts │ │ │ │ └── styles/ │ │ │ │ └── globals.css │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.lint.json │ │ ├── pnpm-workspace.yaml │ │ ├── tsconfig.json │ │ └── turbo.json │ ├── start-app/ │ │ ├── .cta.json │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── public/ │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ ├── src/ │ │ │ ├── lib/ │ │ │ │ └── utils.ts │ │ │ ├── routeTree.gen.ts │ │ │ ├── router.tsx │ │ │ ├── routes/ │ │ │ │ ├── __root.tsx │ │ │ │ └── index.tsx │ │ │ └── styles.css │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── start-monorepo/ │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── apps/ │ │ │ └── web/ │ │ │ ├── components.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── public/ │ │ │ │ ├── manifest.json │ │ │ │ └── robots.txt │ │ │ ├── src/ │ │ │ │ ├── routeTree.gen.ts │ │ │ │ ├── router.tsx │ │ │ │ └── routes/ │ │ │ │ ├── __root.tsx │ │ │ │ └── index.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── package.json │ │ ├── packages/ │ │ │ └── ui/ │ │ │ ├── components.json │ │ │ ├── eslint.config.ts │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── hooks/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── lib/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── styles/ │ │ │ │ └── globals.css │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.lint.json │ │ ├── pnpm-workspace.yaml │ │ ├── tsconfig.json │ │ └── turbo.json │ ├── vite-app/ │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── eslint.config.js │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ └── theme-provider.tsx │ │ │ ├── index.css │ │ │ └── main.tsx │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ └── vite-monorepo/ │ ├── .gitignore │ ├── .npmrc │ ├── .prettierignore │ ├── .prettierrc │ ├── README.md │ ├── apps/ │ │ └── web/ │ │ ├── components.json │ │ ├── eslint.config.js │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ ├── .gitkeep │ │ │ │ └── theme-provider.tsx │ │ │ └── main.tsx │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── package.json │ ├── packages/ │ │ └── ui/ │ │ ├── components.json │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ └── .gitkeep │ │ │ ├── hooks/ │ │ │ │ └── .gitkeep │ │ │ ├── lib/ │ │ │ │ └── .gitkeep │ │ │ └── styles/ │ │ │ └── globals.css │ │ ├── tsconfig.json │ │ └── tsconfig.lint.json │ ├── pnpm-workspace.yaml │ ├── tsconfig.json │ └── turbo.json ├── tsconfig.json ├── turbo.json ├── vitest.config.ts └── vitest.workspace.ts ================================================ FILE CONTENTS ================================================ ================================================ FILE: .changeset/README.md ================================================ # Changesets Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets) We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) ================================================ FILE: .changeset/config.json ================================================ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", "changelog": ["@changesets/changelog-github", { "repo": "shadcn-ui/ui" }], "commit": false, "fixed": [], "linked": [], "access": "public", "baseBranch": "main", "updateInternalDependencies": "patch", "ignore": ["v4", "tests"] } ================================================ FILE: .claude/settings.local.json ================================================ { "permissions": { "allow": [ "Bash(npm test:*)", "Bash(npm run typecheck:*)", "Bash(ls:*)", "Bash(cat:*)", "WebSearch", "WebFetch(domain:github.com)" ], "deny": [] } } ================================================ FILE: .commitlintrc.json ================================================ { "extends": ["@commitlint/config-conventional"] } ================================================ FILE: .cursor/rules/registry-bases-parity.mdc ================================================ --- description: Keep registry base and radix trees in sync when editing shared UI globs: apps/v4/registry/bases/**/* alwaysApply: false --- # Registry bases: Base UI ↔ Radix parity `apps/v4/registry/bases/base` and `apps/v4/registry/bases/radix` are **parallel registries**. Anything that exists in both trees for the same purpose (preview blocks, mirrored examples, shared card layouts, etc.) **must stay in sync**. ## When editing - If you change a file under **`bases/base/...`**, apply the **same behavioral and visual change** to the matching path under **`bases/radix/...`** (and the reverse). - Only diverge where APIs differ (e.g. import paths like `@/registry/bases/base/ui/*` vs `@/registry/bases/radix/ui/*`, or Base UI vs Radix component props). - Do **not** update only one side unless the user explicitly asks for a single-base change. ## Typical mirrored paths - `blocks/preview/**` — preview cards and blocks - Parallel `ui/*` components when both exist for the same component After edits, briefly confirm both trees were updated (or state why one side is intentionally unchanged). ================================================ 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: .github/DISCUSSION_TEMPLATE/blocks-request.yml ================================================ title: "[blocks]: " labels: ["Blocks Request"] body: - type: markdown attributes: value: | ### Thanks for taking the time to create a block request! Please search open/closed requests before submitting, as the block or a similar one may have already been requested. - type: textarea id: block-description attributes: label: Description description: Tell us about your block request placeholder: "A dashboard for an e-commerce website showing sales, orders, and customers..." validations: required: true - type: input id: block-example-url attributes: label: Example description: Link to an example of the block placeholder: ex. https://example.com validations: required: false ================================================ FILE: .github/FUNDING.yml ================================================ # These are supported funding model platforms github: [shadcn] ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.yml ================================================ name: "Bug report" description: Report an issue title: '[bug]: ' labels: ["bug"] body: - type: markdown attributes: value: | ### Thanks for taking the time to create a bug report. Please search open/closed issues before submitting, as the issue may have already been reported/addressed. - type: markdown attributes: value: | #### If you aren't sure this is a bug or not, please open a discussion instead: - [Discussions](https://github.com/shadcn-ui/ui/discussions/new?category=general) - type: textarea id: bug-description attributes: label: Describe the bug description: A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us how in the description. Thanks! placeholder: Bug description validations: required: true - type: input id: components-affected attributes: label: Affected component/components description: Which shadcn/ui components are affected? placeholder: ex. Button, Checkbox... validations: required: true - type: textarea id: reproduction attributes: label: How to reproduce description: A step-by-step description of how to reproduce the bug. placeholder: | 1. Go to '...' 2. Click on '....' 3. See error validations: required: true - type: input id: codesandbox-stackblitz attributes: label: Codesandbox/StackBlitz link description: | A link to a CodeSandbox or StackBlitz that includes a minimal reproduction of the problem. In rare cases when not applicable, you can link to a GitHub repository that we can easily run to recreate the issue. If a report is vague and does not have a reproduction, it will be closed without warning. > [!CAUTION] > If you skip this step, this issue might be **labeled** with `please add a reproduction` and **closed**. validations: required: false - type: textarea id: logs attributes: label: Logs description: "Please include browser console and server logs around the time this bug occurred. Optional if provided reproduction. Please try not to insert an image but copy paste the log text." render: bash - type: textarea id: system-info attributes: label: System Info description: Information about browsers, system or binaries that's relevant. render: bash placeholder: System, Binaries, Browsers validations: required: true - type: checkboxes id: terms attributes: label: Before submitting description: By submitting this issue, you agree to follow our [Contributing Guidelines](https://github.com/shadcn-ui/ui/blob/main/CONTRIBUTING.md). options: - label: I've made research efforts and searched the documentation required: true - label: I've searched for existing issues required: true ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false contact_links: - name: Get Help url: https://github.com/shadcn-ui/ui/discussions/new?category=general about: If you can't get something to work the way you expect, open a question in our discussion forums. ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.yml ================================================ name: "Feature request" description: Create a feature request for shadcn/ui title: '[feat]: ' labels: ['area: request'] body: - type: markdown attributes: value: | ### Thanks for taking the time to create a feature request! Please search open/closed issues before submitting, as the issue may have already been reported/addressed. - type: markdown attributes: value: | #### If you aren't sure this is a bug or not, please open a discussion instead: - [Discussions](https://github.com/shadcn-ui/ui/discussions/new?category=general) - type: textarea id: feature-description attributes: label: Feature description description: Tell us about your feature request placeholder: 'I think this feature would be great because...' value: 'Describe your feature request...' validations: required: true - type: input id: components-affected attributes: label: Affected component/components description: Is this feature request relevant to any of the already existing components? placeholder: ex. Button, Checkbox... validations: required: false - type: textarea id: context attributes: label: Additional Context description: Add any other context about the feature here. placeholder: ex. screenshots, Stack Overflow links, forum links, etc. value: 'Additional details here...' validations: required: false - type: checkboxes id: terms attributes: label: Before submitting description: By submitting this issue, you agree to follow our [Contributing Guidelines](https://github.com/shadcn-ui/ui/blob/main/CONTRIBUTING.md). options: - label: I've made research efforts and searched the documentation required: true - label: I've searched for existing issues and PRs required: true ================================================ FILE: .github/changeset-version.js ================================================ // ORIGINALLY FROM CLOUDFLARE WRANGLER: // https://github.com/cloudflare/wrangler2/blob/main/.github/changeset-version.js import { execSync } from "child_process" // This script is used by the `release.yml` workflow to update the version of the packages being released. // The standard step is only to run `changeset version` but this does not update the pnpm-lock.yaml file. // So we also run `pnpm install`, which does this update. // This is a workaround until this is handled automatically by `changeset version`. // See https://github.com/changesets/changesets/issues/421. execSync("npx changeset version", { stdio: "inherit" }) execSync("pnpm install --lockfile-only", { stdio: "inherit" }) ================================================ FILE: .github/dependabot.yml ================================================ version: 2 updates: - package-ecosystem: "npm" directory: "/" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/astro-app" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/astro-monorepo" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/next-app" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/next-monorepo" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/react-router-app" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/react-router-monorepo" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/start-app" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/start-monorepo" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/vite-app" schedule: interval: "weekly" - package-ecosystem: "npm" directory: "/templates/vite-monorepo" schedule: interval: "weekly" ================================================ FILE: .github/version-script-beta.js ================================================ // ORIGINALLY FROM CLOUDFLARE WRANGLER: // https://github.com/cloudflare/wrangler2/blob/main/.github/version-script.js import { exec } from "child_process" import fs from "fs" const pkgJsonPath = "packages/shadcn/package.json" try { const pkg = JSON.parse(fs.readFileSync(pkgJsonPath)) exec("git rev-parse --short HEAD", (err, stdout) => { if (err) { console.log(err) process.exit(1) } pkg.version = "0.0.0-beta." + stdout.trim() fs.writeFileSync(pkgJsonPath, JSON.stringify(pkg, null, "\t") + "\n") }) } catch (error) { console.error(error) process.exit(1) } ================================================ FILE: .github/version-script-next.js ================================================ // ORIGINALLY FROM CLOUDFLARE WRANGLER: // https://github.com/cloudflare/wrangler2/blob/main/.github/version-script.js import { exec } from "child_process" import fs from "fs" const pkgJsonPath = "packages/shadcn/package.json" try { const pkg = JSON.parse(fs.readFileSync(pkgJsonPath)) exec("git rev-parse --short HEAD", (err, stdout) => { if (err) { console.log(err) process.exit(1) } pkg.version = "0.0.0-next." + stdout.trim() fs.writeFileSync(pkgJsonPath, JSON.stringify(pkg, null, "\t") + "\n") }) } catch (error) { console.error(error) process.exit(1) } ================================================ FILE: .github/workflows/code-check.yml ================================================ name: Code check on: pull_request: branches: ["*"] jobs: lint: runs-on: ubuntu-latest name: pnpm lint steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - run: pnpm lint format: runs-on: ubuntu-latest name: pnpm format:check steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - name: Build packages run: pnpm --filter=shadcn build - run: pnpm format:check tsc: runs-on: ubuntu-latest name: pnpm typecheck steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - name: Build packages run: pnpm --filter=shadcn build - run: pnpm typecheck ================================================ FILE: .github/workflows/issue-stale.yml ================================================ # Adapted from vercel/next.js name: "Stale issue handler" on: workflow_dispatch: schedule: # This runs every day 20 minutes before midnight: https://crontab.guru/#40_23_*_*_* - cron: "40 23 * * *" jobs: stale: runs-on: ubuntu-latest if: github.repository_owner == 'shadcn-ui' steps: - uses: actions/stale@v9 id: issue-stale name: "Mark stale issues, close stale issues" with: repo-token: ${{ secrets.STALE_TOKEN }} ascending: true days-before-issue-close: 7 days-before-issue-stale: 365 days-before-pr-stale: -1 days-before-pr-close: -1 remove-issue-stale-when-updated: true stale-issue-label: "stale?" exempt-issue-labels: "roadmap,next" stale-issue-message: "This issue has been automatically marked as stale due to one year of inactivity. It will be closed in 7 days unless there’s further input. If you believe this issue is still relevant, please leave a comment or provide updated details. Thank you. (This is an automated message)" close-issue-message: "This issue has been automatically closed due to one year of inactivity. If you’re still experiencing a similar problem or have additional details to share, please open a new issue following our current issue template. Your updated report helps us investigate and address concerns more efficiently. Thank you for your understanding! (This is an automated message)" operations-per-run: 300 - uses: actions/stale@v9 id: pr-state name: "Mark stale PRs, close stale PRs" with: repo-token: ${{ secrets.STALE_TOKEN }} ascending: true days-before-issue-close: -1 days-before-issue-stale: -1 days-before-pr-close: 7 days-before-pr-stale: 365 remove-pr-stale-when-updated: true exempt-pr-labels: "roadmap,next,bug" stale-pr-label: "stale?" stale-pr-message: "This PR has been automatically marked as stale due to one year of inactivity. It will be closed in 7 days unless there’s further input. If you believe this PR is still relevant, please leave a comment or provide updated details. Thank you. (This is an automated message)" close-pr-message: "This PR has been automatically closed due to one year of inactivity. Thank you for your understanding! (This is an automated message)" operations-per-run: 300 ================================================ FILE: .github/workflows/prerelease-comment.yml ================================================ # Adapted from create-t3-app. name: Write Beta Release comment on: workflow_run: workflows: ["Release - Beta"] types: - completed jobs: comment: if: | github.repository_owner == 'shadcn-ui' && ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest name: Write comment to the PR steps: - name: "Comment on PR" uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ owner: context.repo.owner, repo: context.repo.repo, run_id: context.payload.workflow_run.id, }); for (const artifact of allArtifacts.data.artifacts) { // Extract the PR number and package version from the artifact name const match = /^npm-package-shadcn@(.*?)-pr-(\d+)/.exec(artifact.name); if (match) { require("fs").appendFileSync( process.env.GITHUB_ENV, `\nBETA_PACKAGE_VERSION=${match[1]}` + `\nWORKFLOW_RUN_PR=${match[2]}` + `\nWORKFLOW_RUN_ID=${context.payload.workflow_run.id}` ); break; } } - name: "Comment on PR with Link" uses: marocchino/sticky-pull-request-comment@v2 with: number: ${{ env.WORKFLOW_RUN_PR }} message: | A new prerelease is available for testing: ```sh pnpm dlx shadcn@${{ env.BETA_PACKAGE_VERSION }} ``` - name: "Remove the autorelease label once published" uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | github.rest.issues.removeLabel({ owner: context.repo.owner, repo: context.repo.repo, issue_number: '${{ env.WORKFLOW_RUN_PR }}', name: '🚀 autorelease', }); ================================================ FILE: .github/workflows/prerelease.yml ================================================ # Adapted from create-t3-app. name: Release - Beta on: pull_request: types: [labeled] branches: - main permissions: id-token: write contents: read jobs: prerelease: if: | github.repository_owner == 'shadcn-ui' && contains(github.event.pull_request.labels.*.name, '🚀 autorelease') name: Build & Publish a beta release to NPM runs-on: ubuntu-latest environment: Preview steps: - name: Checkout Repo uses: actions/checkout@v4 with: fetch-depth: 0 - name: Use PNPM uses: pnpm/action-setup@v4 with: version: 9.0.6 - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 registry-url: "https://registry.npmjs.org" cache: "pnpm" - name: Update npm for OIDC support run: npm install -g npm@latest - name: Install NPM Dependencies run: pnpm install - name: Modify package.json version run: node .github/version-script-beta.js - name: Publish Beta to NPM run: pnpm pub:beta - name: get-npm-version id: package-version uses: martinbeentjes/npm-get-version-action@main with: path: packages/shadcn - name: Upload packaged artifact uses: actions/upload-artifact@v4 with: name: npm-package-shadcn@${{ steps.package-version.outputs.current-version }}-pr-${{ github.event.number }} # encode the PR number into the artifact name path: packages/shadcn/dist/index.js ================================================ FILE: .github/workflows/release.yml ================================================ # Adapted from create-t3-app. name: Release on: push: branches: - main permissions: id-token: write contents: write pull-requests: write jobs: release: if: ${{ github.repository_owner == 'shadcn-ui' }} name: Create a PR for release workflow runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Use PNPM uses: pnpm/action-setup@v4 with: version: 9.0.6 - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 registry-url: "https://registry.npmjs.org" cache: "pnpm" - name: Update npm for OIDC support run: npm install -g npm@latest - name: Install NPM Dependencies run: pnpm install # - name: Check for errors # run: pnpm check - name: Build the package run: pnpm shadcn:build - name: Create Version PR or Publish to NPM id: changesets uses: changesets/action@v1 with: commit: "chore(release): version packages" title: "chore(release): version packages" version: node .github/changeset-version.js publish: npx changeset publish env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_ENV: "production" ================================================ FILE: .github/workflows/test.yml ================================================ name: Test on: pull_request: branches: ["*"] jobs: test: runs-on: ubuntu-latest name: pnpm test env: NEXT_PUBLIC_APP_URL: http://localhost:4000 NEXT_PUBLIC_V0_URL: https://v0.dev steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 22 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - run: pnpm test ================================================ FILE: .github/workflows/validate-registries.yml ================================================ name: Validate Registries on: pull_request: paths: - "apps/v4/public/r/registries.json" - "apps/v4/registry/directory.json" push: branches: - main paths: - "apps/v4/public/r/registries.json" - "apps/v4/registry/directory.json" jobs: check-registry-sync: if: github.event_name == 'pull_request' runs-on: ubuntu-latest name: check-registry-sync permissions: contents: read pull-requests: write steps: - name: Check changed files id: changed env: GH_TOKEN: ${{ github.token }} run: | CHANGED_FILES=$(gh pr diff ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --name-only) DIRECTORY_CHANGED=false REGISTRIES_CHANGED=false if echo "$CHANGED_FILES" | grep -q "^apps/v4/registry/directory.json$"; then DIRECTORY_CHANGED=true fi if echo "$CHANGED_FILES" | grep -q "^apps/v4/public/r/registries.json$"; then REGISTRIES_CHANGED=true fi echo "directory_changed=$DIRECTORY_CHANGED" >> $GITHUB_OUTPUT echo "registries_changed=$REGISTRIES_CHANGED" >> $GITHUB_OUTPUT - name: Flag missing registries.json update if: steps.changed.outputs.directory_changed == 'true' && steps.changed.outputs.registries_changed == 'false' env: GH_TOKEN: ${{ github.token }} run: | gh pr edit ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --add-label "registries: invalid" gh pr comment ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --body "can you run \`pnpm registry:build\` and commit the json files please?" exit 1 validate: runs-on: ubuntu-latest name: pnpm validate:registries permissions: contents: read steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - name: Block reserved registry namespaces env: RESERVED_NAMESPACES: "@shadcn,@ui,@blocks,@components,@block,@component,@util,@utils,@registry,@lib,@hook,@hooks,@theme,@themes,@chart,@charts" run: | node <<'EOF' const fs = require("node:fs") const files = [ "apps/v4/public/r/registries.json", "apps/v4/registry/directory.json", ] const reservedNamespaces = new Set( process.env.RESERVED_NAMESPACES.split(",").filter(Boolean) ) function readNames(filePath) { return JSON.parse(fs.readFileSync(filePath, "utf8")).map( (entry) => entry.name ) } const violations = files.flatMap((filePath) => { return readNames(filePath) .filter((name) => reservedNamespaces.has(name)) .map((name) => `${filePath}: ${name}`) }) if (violations.length > 0) { console.error("Reserved registry namespaces are not allowed:") for (const violation of violations) { console.error(`- ${violation}`) } process.exit(1) } EOF - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - name: Validate registries run: pnpm --filter=v4 validate:registries ================================================ FILE: .gitignore ================================================ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies node_modules .pnp .pnp.js # testing coverage # next.js .next/ out/ build # misc .DS_Store *.pem # 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 .notes .playwright-mcp shadcn-workspace ================================================ 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: .npmrc ================================================ auto-install-peers=true link-workspace-packages=true ================================================ FILE: .nvmrc ================================================ v20.5.1 ================================================ FILE: .prettierignore ================================================ dist node_modules .next build .contentlayer **/fixtures deprecated apps/v4/registry/styles/**/*.css ================================================ FILE: CONTRIBUTING.md ================================================ # Contributing Thanks for your interest in contributing to ui.shadcn.com. We're happy to have you here. 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 [@shadcn](https://twitter.com/shadcn). ## 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. - We use [changesets](https://github.com/changesets/changesets) for managing releases. ## Structure This repository is structured as follows: ``` apps └── v4 ├── app ├── components ├── content └── registry └── new-york-v4 ├── example └── ui packages └── shadcn ``` | Path | Description | | -------------------- | ---------------------------------------- | | `apps/v4/app` | The Next.js application for the website. | | `apps/v4/components` | The React components for the website. | | `apps/v4/content` | The content for the website. | | `apps/v4/registry` | The registry for the components. | | `packages/shadcn` | The `shadcn` package. | ## 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/your-username/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 `ui.shadcn.com` website: ```bash pnpm --filter=v4 dev ``` 2. To run the `shadcn` package: ```bash pnpm --filter=shadcn dev ``` ## Running the CLI Locally To run the CLI locally, you can follow the workflow: 1. Start by running the dev server: ```bash pnpm dev ``` 2. In another terminal tab, test the CLI by running: ```bash pnpm shadcn ``` To test the CLI in a specific app, use a command like: ```bash pnpm shadcn -c ~/Desktop/my-app ``` This workflow ensures that you are running the most recent version of the registry and testing the CLI properly in your local environment. ## Documentation The documentation for this project is located in the `v4` workspace. You can run the documentation locally by running the following command: ```bash pnpm --filter=v4 dev ``` Documentation is written using [MDX](https://mdxjs.com). You can find the documentation files in the `apps/v4/content/docs` directory. ## Components We use a registry system for developing components. You can find the source code for the components under `apps/v4/registry`. The components are organized by styles. ```bash apps └── v4 └── registry └── new-york-v4 ├── example └── 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 registry:build` 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. ## CLI The `shadcn` package is a CLI for adding components to your project. You can find the documentation for the CLI [here](https://ui.shadcn.com/docs/cli). Any changes to the CLI should be made in the `packages/shadcn` directory. If you can, it would be great if you could add tests for your changes. ## Testing Tests are written using [Vitest](https://vitest.dev). You can run all the tests from the root of the repository. ```bash pnpm test ``` 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) 2023 shadcn 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 ================================================ # shadcn/ui A set of beautifully designed components that you can customize, extend, and build on. Start here then make it your own. Open Source. Open Code. **Use this to build your own component library**. ![hero](apps/v4/public/opengraph-image.png) ## Documentation Visit https://ui.shadcn.com/docs to view the documentation. ## Contributing Please read the [contributing guide](/CONTRIBUTING.md). ## License Licensed under the [MIT license](./LICENSE.md). ================================================ FILE: SECURITY.md ================================================ # Security Policy If you believe you have found a security vulnerability, we encourage you to let us know right away. We will investigate all legitimate reports and do our best to quickly fix the problem. Our preference is that you make use of GitHub's private vulnerability reporting feature to disclose potential security vulnerabilities in our Open Source Software. To do this, please visit the security tab of the repository and click the [Report a vulnerability](https://github.com/shadcn-ui/ui/security/advisories/new) button. ================================================ FILE: apps/v4/.env.example ================================================ NEXT_PUBLIC_V0_URL=https://v0.dev NEXT_PUBLIC_APP_URL=http://localhost:4000 ================================================ FILE: apps/v4/.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/v4/.prettierignore ================================================ dist node_modules .next build .contentlayer registry/__index__.tsx content/docs/components/calendar.mdx registry/styles/**/*.css ================================================ FILE: apps/v4/README.md ================================================ This is a wip registry for the `shadcn` canary version. It has React 19 and Tailwind v4 components. ================================================ FILE: apps/v4/app/(app)/(root)/components/appearance-settings.tsx ================================================ "use client" import * as React from "react" import { Button } from "@/examples/radix/ui/button" import { ButtonGroup } from "@/examples/radix/ui/button-group" import { Field, FieldContent, FieldDescription, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, } from "@/examples/radix/ui/field" import { Input } from "@/examples/radix/ui/input" import { RadioGroup, RadioGroupItem } from "@/examples/radix/ui/radio-group" import { Switch } from "@/examples/radix/ui/switch" import { IconMinus, IconPlus } from "@tabler/icons-react" export function AppearanceSettings() { const [gpuCount, setGpuCount] = React.useState(8) const handleGpuAdjustment = React.useCallback((adjustment: number) => { setGpuCount((prevCount) => Math.max(1, Math.min(99, prevCount + adjustment)) ) }, []) const handleGpuInputChange = React.useCallback( (e: React.ChangeEvent) => { const value = parseInt(e.target.value, 10) if (!isNaN(value) && value >= 1 && value <= 99) { setGpuCount(value) } }, [] ) return (
Compute Environment Select the compute environment for your cluster. Kubernetes Run GPU workloads on a K8s configured cluster. This is the default. Virtual Machine Access a VM configured cluster to run workloads. (Coming soon)
Number of GPUs You can add more later. Wallpaper Tinting Allow the wallpaper to be tinted.
) } ================================================ FILE: apps/v4/app/(app)/(root)/components/button-group-demo.tsx ================================================ "use client" import * as React from "react" import { Button } from "@/examples/radix/ui/button" import { ButtonGroup } from "@/examples/radix/ui/button-group" import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "@/examples/radix/ui/dropdown-menu" import { ArchiveIcon, ArrowLeftIcon, CalendarPlusIcon, ClockIcon, ListFilterIcon, MailCheckIcon, MoreHorizontalIcon, TagIcon, Trash2Icon, } from "lucide-react" export function ButtonGroupDemo() { const [label, setLabel] = React.useState("personal") return ( Mark as Read Archive Snooze Add to Calendar Add to List Label As... Personal Work Other Trash ) } ================================================ FILE: apps/v4/app/(app)/(root)/components/button-group-input-group.tsx ================================================ "use client" import * as React from "react" import { Button } from "@/examples/radix/ui/button" import { ButtonGroup } from "@/examples/radix/ui/button-group" import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from "@/examples/radix/ui/input-group" import { Tooltip, TooltipContent, TooltipTrigger, } from "@/examples/radix/ui/tooltip" import { AudioLinesIcon, PlusIcon } from "lucide-react" export function ButtonGroupInputGroup() { const [voiceEnabled, setVoiceEnabled] = React.useState(false) return ( setVoiceEnabled(!voiceEnabled)} data-active={voiceEnabled} className="data-[active=true]:bg-primary data-[active=true]:text-primary-foreground" aria-pressed={voiceEnabled} size="icon-xs" aria-label="Voice Mode" > Voice Mode ) } ================================================ FILE: apps/v4/app/(app)/(root)/components/button-group-nested.tsx ================================================ "use client" import { Button } from "@/examples/radix/ui/button" import { ButtonGroup } from "@/examples/radix/ui/button-group" import { ArrowLeftIcon, ArrowRightIcon } from "lucide-react" export function ButtonGroupNested() { return ( ) } ================================================ FILE: apps/v4/app/(app)/(root)/components/button-group-popover.tsx ================================================ import { Button } from "@/examples/radix/ui/button" import { ButtonGroup } from "@/examples/radix/ui/button-group" import { Popover, PopoverContent, PopoverTrigger, } from "@/examples/radix/ui/popover" import { Separator } from "@/examples/radix/ui/separator" import { Textarea } from "@/examples/radix/ui/textarea" import { BotIcon, ChevronDownIcon } from "lucide-react" export function ButtonGroupPopover() { return (
Agent Tasks