From 47c47eaed21524b5263011e080d0cd52bc794a6f Mon Sep 17 00:00:00 2001 From: shadcn Date: Tue, 20 Jan 2026 19:31:38 +0400 Subject: [PATCH] feat: add docs for base-ui components (#9304) * feat: add base and radix docs * feat: transform code for display * fix * fix * fix * fix * fix * chore: remove claude files * fix * fix * fix * chore: run format:write * fix * feat: add more examples * fix * feat: add aspect-ratio * feat: add avatar * feat: add badge * feat: add breadcrumb * fix * feat: add button * fix * fix * fix * feat: add calendar and card * feat: add carousel * fix: chart * feat: add checkbox * feat: add collapsible * feat: add combobox * feat: add command * feat: add context menu * feat: add data-table dialog and drawer * feat: dropdown-menu * feat: add date-picker * feat: add empty * feat: add field and hover-card * fix: input * feat: add input * feat: add input-group * feat: add input-otp * feat: add item * feat: add kbd and label * feat: add menubar * feat: add native-select * feat: add more components * feat: more components * feat: more components * feat: add skeleton, slider and sonner * feat: add spinner and switch * feat: add more components * fix: tabs * fix: tabs * feat: add docs for sidebar * fix * fix * fi * docs: update * fix: create page * fix * fix * chore: add changelog * fix --- .../(root)/components/appearance-settings.tsx | 18 +- .../(root)/components/button-group-demo.tsx | 29 +- .../components/button-group-input-group.tsx | 11 +- .../(root)/components/button-group-nested.tsx | 5 +- .../components/button-group-popover.tsx | 13 +- .../(root)/components/empty-avatar-group.tsx | 13 +- .../(root)/components/field-checkbox.tsx | 4 +- .../(app)/(root)/components/field-demo.tsx | 12 +- .../(app)/(root)/components/field-hear.tsx | 6 +- .../(app)/(root)/components/field-slider.tsx | 9 +- apps/v4/app/(app)/(root)/components/index.tsx | 2 +- .../(root)/components/input-group-button.tsx | 9 +- .../(root)/components/input-group-demo.tsx | 13 +- .../app/(app)/(root)/components/item-demo.tsx | 7 +- .../(root)/components/notion-prompt-form.tsx | 45 +- .../(app)/(root)/components/spinner-badge.tsx | 4 +- .../(app)/(root)/components/spinner-empty.tsx | 6 +- apps/v4/app/(app)/charts/layout.tsx | 2 +- apps/v4/app/(app)/docs/[[...slug]]/page.tsx | 180 +- apps/v4/app/(app)/docs/layout.tsx | 5 +- apps/v4/app/(app)/llm/[[...slug]]/route.ts | 19 +- .../app/(create)/components/item-picker.tsx | 6 +- .../app/(create)/components/share-button.tsx | 4 +- apps/v4/app/(create)/components/v0-button.tsx | 7 +- apps/v4/app/(create)/create/page.tsx | 39 +- .../app/(view)/view/[style]/[name]/page.tsx | 58 +- apps/v4/components/announcement.tsx | 19 +- apps/v4/components/chart-display.tsx | 2 +- apps/v4/components/code-tabs.tsx | 2 +- apps/v4/components/command-menu.tsx | 116 +- apps/v4/components/component-preview-tabs.tsx | 37 +- apps/v4/components/component-preview.tsx | 62 +- apps/v4/components/component-source.tsx | 17 +- apps/v4/components/components-list.tsx | 22 +- apps/v4/components/docs-base-switcher.tsx | 39 + apps/v4/components/docs-copy-page.tsx | 9 +- apps/v4/components/docs-page-links.tsx | 179 + apps/v4/components/docs-sidebar.tsx | 65 +- apps/v4/components/docs-toc.tsx | 2 +- apps/v4/components/mobile-nav.tsx | 50 +- apps/v4/components/site-footer.tsx | 2 +- apps/v4/components/tailwind-indicator.tsx | 2 +- apps/v4/content/docs/(root)/changelog.mdx | 44 + apps/v4/content/docs/(root)/directory.mdx | 8 +- apps/v4/content/docs/components/accordion.mdx | 76 - .../content/docs/components/alert-dialog.mdx | 88 - apps/v4/content/docs/components/alert.mdx | 59 - .../content/docs/components/aspect-ratio.mdx | 64 - apps/v4/content/docs/components/avatar.mdx | 65 - apps/v4/content/docs/components/badge.mdx | 71 - .../docs/components/base/accordion.mdx | 142 + .../docs/components/base/alert-dialog.mdx | 159 + .../v4/content/docs/components/base/alert.mdx | 144 + .../docs/components/base/aspect-ratio.mdx | 93 + .../content/docs/components/base/avatar.mdx | 185 + .../v4/content/docs/components/base/badge.mdx | 97 + .../docs/components/base/breadcrumb.mdx | 176 + .../components/{ => base}/button-group.mdx | 35 +- .../content/docs/components/base/button.mdx | 153 + .../docs/components/{ => base}/calendar.mdx | 115 +- apps/v4/content/docs/components/base/card.mdx | 159 + .../docs/components/{ => base}/carousel.mdx | 53 +- .../docs/components/{ => base}/chart.mdx | 127 +- .../content/docs/components/base/checkbox.mdx | 127 + .../docs/components/base/collapsible.mdx | 123 + .../content/docs/components/base/combobox.mdx | 261 + .../content/docs/components/base/command.mdx | 125 + .../docs/components/base/context-menu.mdx | 140 + .../docs/components/{ => base}/data-table.mdx | 34 +- .../docs/components/base/date-picker.mdx | 97 + .../content/docs/components/base/dialog.mdx | 116 + .../docs/components/{ => base}/drawer.mdx | 31 +- .../docs/components/base/dropdown-menu.mdx | 165 + .../docs/components/{ => base}/empty.mdx | 44 +- .../docs/components/{ => base}/field.mdx | 45 +- .../docs/components/base/hover-card.mdx | 125 + .../docs/components/base/input-group.mdx | 295 + .../docs/components/base/input-otp.mdx | 147 + .../v4/content/docs/components/base/input.mdx | 190 + apps/v4/content/docs/components/base/item.mdx | 276 + .../docs/components/{ => base}/kbd.mdx | 21 +- .../v4/content/docs/components/base/label.mdx | 90 + .../content/docs/components/base/menubar.mdx | 117 + .../v4/content/docs/components/base/meta.json | 64 + .../docs/components/base/native-select.mdx | 134 + .../docs/components/base/navigation-menu.mdx | 113 + .../docs/components/{ => base}/pagination.mdx | 40 +- .../content/docs/components/base/popover.mdx | 104 + .../content/docs/components/base/progress.mdx | 81 + .../docs/components/base/radio-group.mdx | 109 + .../docs/components/{ => base}/resizable.mdx | 64 +- .../docs/components/base/scroll-area.mdx | 81 + .../content/docs/components/base/select.mdx | 122 + .../docs/components/base/separator.mdx | 87 + .../v4/content/docs/components/base/sheet.mdx | 98 + .../content/docs/components/base/sidebar.mdx | 1325 +++ .../docs/components/{ => base}/skeleton.mdx | 32 +- .../content/docs/components/base/slider.mdx | 97 + .../content/docs/components/base/sonner.mdx | 126 + .../docs/components/{ => base}/spinner.mdx | 57 +- .../content/docs/components/base/switch.mdx | 97 + .../docs/components/{ => base}/table.mdx | 31 +- apps/v4/content/docs/components/base/tabs.mdx | 100 + .../content/docs/components/base/textarea.mdx | 100 + .../v4/content/docs/components/base/toast.mdx | 8 + .../docs/components/base/toggle-group.mdx | 101 + .../content/docs/components/base/toggle.mdx | 89 + .../content/docs/components/base/tooltip.mdx | 94 + .../docs/components/base/typography.mdx | 67 + .../v4/content/docs/components/breadcrumb.mdx | 211 - apps/v4/content/docs/components/button.mdx | 323 - apps/v4/content/docs/components/card.mdx | 69 - apps/v4/content/docs/components/checkbox.mdx | 58 - .../content/docs/components/collapsible.mdx | 72 - apps/v4/content/docs/components/combobox.mdx | 145 - apps/v4/content/docs/components/command.mdx | 138 - .../content/docs/components/context-menu.mdx | 74 - .../content/docs/components/dropdown-menu.mdx | 111 - apps/v4/content/docs/components/form.mdx | 241 - .../v4/content/docs/components/hover-card.mdx | 67 - apps/v4/content/docs/components/input-otp.mdx | 230 - apps/v4/content/docs/components/input.mdx | 101 - apps/v4/content/docs/components/item.mdx | 317 - apps/v4/content/docs/components/label.mdx | 58 - apps/v4/content/docs/components/menubar.mdx | 80 - apps/v4/content/docs/components/meta.json | 4 + .../content/docs/components/native-select.mdx | 205 - apps/v4/content/docs/components/popover.mdx | 68 - .../content/docs/components/radio-group.mdx | 71 - .../docs/components/radix/accordion.mdx | 142 + .../docs/components/radix/alert-dialog.mdx | 159 + .../content/docs/components/radix/alert.mdx | 148 + .../docs/components/radix/aspect-ratio.mdx | 96 + .../content/docs/components/radix/avatar.mdx | 201 + .../content/docs/components/radix/badge.mdx | 93 + .../docs/components/radix/breadcrumb.mdx | 170 + .../docs/components/radix/button-group.mdx | 224 + .../content/docs/components/radix/button.mdx | 154 + .../docs/components/radix/calendar.mdx | 506 + .../v4/content/docs/components/radix/card.mdx | 159 + .../docs/components/radix/carousel.mdx | 290 + .../content/docs/components/radix/chart.mdx | 582 + .../docs/components/radix/checkbox.mdx | 127 + .../docs/components/radix/collapsible.mdx | 127 + .../docs/components/radix/combobox.mdx | 261 + .../content/docs/components/radix/command.mdx | 125 + .../docs/components/radix/context-menu.mdx | 140 + .../docs/components/radix/data-table.mdx | 885 ++ .../components/{ => radix}/date-picker.mdx | 57 +- .../docs/components/{ => radix}/dialog.mdx | 70 +- .../content/docs/components/radix/drawer.mdx | 113 + .../docs/components/radix/dropdown-menu.mdx | 168 + .../content/docs/components/radix/empty.mdx | 223 + .../content/docs/components/radix/field.mdx | 346 + .../docs/components/radix/hover-card.mdx | 123 + .../components/{ => radix}/input-group.mdx | 172 +- .../docs/components/radix/input-otp.mdx | 147 + .../content/docs/components/radix/input.mdx | 190 + .../v4/content/docs/components/radix/item.mdx | 278 + apps/v4/content/docs/components/radix/kbd.mdx | 109 + .../content/docs/components/radix/label.mdx | 90 + .../content/docs/components/radix/menubar.mdx | 117 + .../content/docs/components/radix/meta.json | 64 + .../docs/components/radix/native-select.mdx | 134 + .../{ => radix}/navigation-menu.mdx | 30 +- .../docs/components/radix/pagination.mdx | 129 + .../content/docs/components/radix/popover.mdx | 104 + .../docs/components/{ => radix}/progress.mdx | 36 +- .../docs/components/radix/radio-group.mdx | 109 + .../docs/components/radix/resizable.mdx | 97 + .../components/{ => radix}/scroll-area.mdx | 33 +- .../content/docs/components/radix/select.mdx | 122 + .../docs/components/{ => radix}/separator.mdx | 40 +- .../docs/components/{ => radix}/sheet.mdx | 51 +- .../docs/components/{ => radix}/sidebar.mdx | 35 +- .../docs/components/radix/skeleton.mdx | 80 + .../content/docs/components/radix/slider.mdx | 97 + .../content/docs/components/radix/sonner.mdx | 126 + .../content/docs/components/radix/spinner.mdx | 107 + .../content/docs/components/radix/switch.mdx | 97 + .../content/docs/components/radix/table.mdx | 106 + .../docs/components/{ => radix}/tabs.mdx | 42 +- .../docs/components/radix/textarea.mdx | 100 + .../content/docs/components/radix/toast.mdx | 8 + .../docs/components/radix/toggle-group.mdx | 101 + .../docs/components/{ => radix}/toggle.mdx | 48 +- .../docs/components/{ => radix}/tooltip.mdx | 37 +- .../docs/components/radix/typography.mdx | 67 + apps/v4/content/docs/components/select.mdx | 86 - apps/v4/content/docs/components/slider.mdx | 58 - apps/v4/content/docs/components/sonner.mdx | 154 - apps/v4/content/docs/components/switch.mdx | 58 - apps/v4/content/docs/components/textarea.mdx | 81 - apps/v4/content/docs/components/toast.mdx | 14 - .../content/docs/components/toggle-group.mdx | 138 - .../v4/content/docs/components/typography.mdx | 66 - apps/v4/content/docs/forms/index.mdx | 7 +- apps/v4/content/docs/meta.json | 2 +- .../content/docs/registry/registry-index.mdx | 3 +- apps/v4/examples/README.md | 53 + apps/v4/examples/__index__.tsx | 9787 +++++++++++++++++ apps/v4/examples/base/accordion-basic.tsx | 40 + apps/v4/examples/base/accordion-borders.tsx | 47 + apps/v4/examples/base/accordion-card.tsx | 58 + apps/v4/examples/base/accordion-demo.tsx | 34 + apps/v4/examples/base/accordion-disabled.tsx | 36 + apps/v4/examples/base/accordion-multiple.tsx | 40 + apps/v4/examples/base/alert-action.tsx | 23 + apps/v4/examples/base/alert-basic.tsx | 15 + apps/v4/examples/base/alert-colors.tsx | 15 + apps/v4/examples/base/alert-demo.tsx | 25 + apps/v4/examples/base/alert-destructive.tsx | 15 + apps/v4/examples/base/alert-dialog-basic.tsx | 35 + apps/v4/examples/base/alert-dialog-demo.tsx | 35 + .../base/alert-dialog-destructive.tsx | 40 + apps/v4/examples/base/alert-dialog-media.tsx | 39 + .../base/alert-dialog-small-media.tsx | 40 + apps/v4/examples/base/alert-dialog-small.tsx | 34 + apps/v4/examples/base/aspect-ratio-demo.tsx | 15 + .../examples/base/aspect-ratio-portrait.tsx | 18 + apps/v4/examples/base/aspect-ratio-square.tsx | 18 + apps/v4/examples/base/avatar-badge-icon.tsx | 19 + apps/v4/examples/base/avatar-badge.tsx | 16 + apps/v4/examples/base/avatar-basic.tsx | 14 + apps/v4/examples/base/avatar-demo.tsx | 52 + apps/v4/examples/base/avatar-dropdown.tsx | 36 + .../examples/base/avatar-group-count-icon.tsx | 33 + apps/v4/examples/base/avatar-group-count.tsx | 30 + apps/v4/examples/base/avatar-group.tsx | 28 + apps/v4/examples/base/avatar-size.tsx | 20 + apps/v4/examples/base/badge-colors.tsx | 23 + apps/v4/examples/base/badge-demo.tsx | 12 + apps/v4/examples/base/badge-icon.tsx | 17 + apps/v4/examples/base/badge-link.tsx | 10 + apps/v4/examples/base/badge-spinner.tsx | 17 + apps/v4/examples/base/badge-variants.tsx | 13 + apps/v4/examples/base/breadcrumb-basic.tsx | 28 + apps/v4/examples/base/breadcrumb-demo.tsx | 56 + apps/v4/examples/base/breadcrumb-dropdown.tsx | 55 + apps/v4/examples/base/breadcrumb-ellipsis.tsx | 36 + apps/v4/examples/base/breadcrumb-link.tsx | 33 + .../v4/examples/base/breadcrumb-separator.tsx | 36 + apps/v4/examples/base/button-default.tsx | 5 + apps/v4/examples/base/button-demo.tsx | 13 + apps/v4/examples/base/button-destructive.tsx | 5 + apps/v4/examples/base/button-ghost.tsx | 5 + apps/v4/examples/base/button-group-demo.tsx | 115 + .../examples/base/button-group-dropdown.tsx | 72 + .../base/button-group-input-group.tsx | 59 + apps/v4/examples/base/button-group-input.tsx | 15 + apps/v4/examples/base/button-group-nested.tsx | 37 + .../base/button-group-orientation.tsx | 20 + .../v4/examples/base/button-group-popover.tsx | 53 + apps/v4/examples/base/button-group-select.tsx | 54 + .../examples/base/button-group-separator.tsx | 19 + apps/v4/examples/base/button-group-size.tsx | 46 + apps/v4/examples/base/button-group-split.tsx | 18 + apps/v4/examples/base/button-icon.tsx | 10 + apps/v4/examples/base/button-link.tsx | 5 + apps/v4/examples/base/button-outline.tsx | 5 + apps/v4/examples/base/button-render.tsx | 6 + apps/v4/examples/base/button-rounded.tsx | 13 + apps/v4/examples/base/button-secondary.tsx | 5 + apps/v4/examples/base/button-size.tsx | 39 + apps/v4/examples/base/button-spinner.tsx | 17 + apps/v4/examples/base/button-with-icon.tsx | 16 + apps/v4/examples/base/calendar-basic.tsx | 7 + .../examples/base/calendar-booked-dates.tsx | 35 + apps/v4/examples/base/calendar-caption.tsx | 13 + .../v4/examples/base/calendar-custom-days.tsx | 50 + apps/v4/examples/base/calendar-demo.tsx | 18 + apps/v4/examples/base/calendar-hijri.tsx | 228 + apps/v4/examples/base/calendar-multiple.tsx | 12 + apps/v4/examples/base/calendar-presets.tsx | 57 + apps/v4/examples/base/calendar-range.tsx | 25 + apps/v4/examples/base/calendar-time.tsx | 65 + .../examples/base/calendar-week-numbers.tsx | 25 + apps/v4/examples/base/card-demo.tsx | 63 + apps/v4/examples/base/card-image.tsx | 36 + apps/v4/examples/base/card-small.tsx | 49 + apps/v4/examples/base/carousel-api.tsx | 54 + apps/v4/examples/base/carousel-demo.tsx | 31 + apps/v4/examples/base/carousel-multiple.tsx | 35 + .../v4/examples/base/carousel-orientation.tsx | 37 + apps/v4/examples/base/carousel-plugin.tsx | 43 + apps/v4/examples/base/carousel-size.tsx | 36 + apps/v4/examples/base/carousel-spacing.tsx | 31 + apps/v4/examples/base/chart-demo.tsx | 160 + apps/v4/examples/base/chart-example-axis.tsx | 43 + apps/v4/examples/base/chart-example-grid.tsx | 36 + .../v4/examples/base/chart-example-legend.tsx | 52 + .../examples/base/chart-example-tooltip.tsx | 49 + apps/v4/examples/base/chart-example.tsx | 35 + apps/v4/examples/base/chart-tooltip.tsx | 214 + apps/v4/examples/base/checkbox-basic.tsx | 15 + apps/v4/examples/base/checkbox-demo.tsx | 53 + .../v4/examples/base/checkbox-description.tsx | 30 + apps/v4/examples/base/checkbox-disabled.tsx | 19 + apps/v4/examples/base/checkbox-group.tsx | 74 + apps/v4/examples/base/checkbox-invalid.tsx | 19 + apps/v4/examples/base/checkbox-table.tsx | 107 + apps/v4/examples/base/collapsible-basic.tsx | 33 + apps/v4/examples/base/collapsible-demo.tsx | 46 + .../examples/base/collapsible-file-tree.tsx | 121 + .../v4/examples/base/collapsible-settings.tsx | 71 + .../examples/base/combobox-auto-highlight.tsx | 36 + apps/v4/examples/base/combobox-basic.tsx | 36 + apps/v4/examples/base/combobox-clear.tsx | 36 + apps/v4/examples/base/combobox-custom.tsx | 99 + apps/v4/examples/base/combobox-demo.tsx | 36 + apps/v4/examples/base/combobox-disabled.tsx | 36 + apps/v4/examples/base/combobox-groups.tsx | 76 + .../v4/examples/base/combobox-input-group.tsx | 80 + apps/v4/examples/base/combobox-invalid.tsx | 36 + apps/v4/examples/base/combobox-multiple.tsx | 59 + apps/v4/examples/base/combobox-popup.tsx | 96 + apps/v4/examples/base/command-basic.tsx | 38 + apps/v4/examples/base/command-demo.tsx | 61 + apps/v4/examples/base/command-dialog.tsx | 86 + apps/v4/examples/base/command-groups.tsx | 75 + apps/v4/examples/base/command-scrollable.tsx | 181 + apps/v4/examples/base/command-shortcuts.tsx | 52 + apps/v4/examples/base/context-menu-basic.tsx | 29 + .../examples/base/context-menu-checkboxes.tsx | 33 + apps/v4/examples/base/context-menu-demo.tsx | 82 + .../base/context-menu-destructive.tsx | 43 + apps/v4/examples/base/context-menu-groups.tsx | 76 + apps/v4/examples/base/context-menu-icons.tsx | 52 + apps/v4/examples/base/context-menu-radio.tsx | 51 + .../examples/base/context-menu-shortcuts.tsx | 51 + apps/v4/examples/base/context-menu-sides.tsx | 82 + .../v4/examples/base/context-menu-submenu.tsx | 57 + .../base/data-picker-with-dropdowns.tsx | 58 + apps/v4/examples/base/data-table-demo.tsx | 318 + apps/v4/examples/base/date-picker-basic.tsx | 43 + apps/v4/examples/base/date-picker-demo.tsx | 41 + apps/v4/examples/base/date-picker-dob.tsx | 47 + apps/v4/examples/base/date-picker-input.tsx | 107 + .../base/date-picker-natural-language.tsx | 102 + apps/v4/examples/base/date-picker-range.tsx | 61 + apps/v4/examples/base/date-picker-time.tsx | 63 + apps/v4/examples/base/dialog-close-button.tsx | 44 + apps/v4/examples/base/dialog-demo.tsx | 50 + .../examples/base/dialog-no-close-button.tsx | 30 + .../base/dialog-scrollable-content.tsx | 40 + .../v4/examples/base/dialog-sticky-footer.tsx | 46 + apps/v4/examples/base/drawer-demo.tsx | 134 + apps/v4/examples/base/drawer-dialog.tsx | 90 + .../base/drawer-scrollable-content.tsx | 46 + apps/v4/examples/base/drawer-sides.tsx | 62 + .../v4/examples/base/dropdown-menu-avatar.tsx | 52 + apps/v4/examples/base/dropdown-menu-basic.tsx | 32 + .../base/dropdown-menu-checkboxes-icons.tsx | 61 + .../base/dropdown-menu-checkboxes.tsx | 50 + .../examples/base/dropdown-menu-complex.tsx | 288 + apps/v4/examples/base/dropdown-menu-demo.tsx | 74 + .../base/dropdown-menu-destructive.tsx | 39 + apps/v4/examples/base/dropdown-menu-icons.tsx | 43 + .../base/dropdown-menu-radio-group.tsx | 35 + .../base/dropdown-menu-radio-icons.tsx | 48 + .../examples/base/dropdown-menu-shortcuts.tsx | 43 + .../examples/base/dropdown-menu-submenu.tsx | 55 + apps/v4/examples/base/empty-avatar-group.tsx | 52 + apps/v4/examples/base/empty-avatar.tsx | 36 + apps/v4/examples/base/empty-background.tsx | 33 + apps/v4/examples/base/empty-card.tsx | 43 + apps/v4/examples/base/empty-demo.tsx | 41 + apps/v4/examples/base/empty-input-group.tsx | 42 + apps/v4/examples/base/empty-outline.tsx | 31 + apps/v4/examples/base/field-checkbox.tsx | 78 + apps/v4/examples/base/field-choice-card.tsx | 48 + apps/v4/examples/base/field-demo.tsx | 174 + apps/v4/examples/base/field-fieldset.tsx | 36 + apps/v4/examples/base/field-group.tsx | 53 + apps/v4/examples/base/field-input.tsx | 31 + apps/v4/examples/base/field-radio.tsx | 39 + apps/v4/examples/base/field-responsive.tsx | 41 + apps/v4/examples/base/field-select.tsx | 46 + apps/v4/examples/base/field-slider.tsx | 29 + apps/v4/examples/base/field-switch.tsx | 11 + apps/v4/examples/base/field-textarea.tsx | 28 + apps/v4/examples/base/file-upload-list.tsx | 68 + apps/v4/examples/base/hooks/use-mobile.ts | 19 + apps/v4/examples/base/hover-card-demo.tsx | 28 + apps/v4/examples/base/hover-card-sides.tsx | 32 + apps/v4/examples/base/input-badge.tsx | 21 + apps/v4/examples/base/input-basic.tsx | 5 + apps/v4/examples/base/input-button-group.tsx | 16 + apps/v4/examples/base/input-demo.tsx | 14 + apps/v4/examples/base/input-disabled.tsx | 17 + apps/v4/examples/base/input-field.tsx | 18 + apps/v4/examples/base/input-fieldgroup.tsx | 36 + apps/v4/examples/base/input-file.tsx | 12 + apps/v4/examples/base/input-form.tsx | 79 + apps/v4/examples/base/input-grid.tsx | 17 + apps/v4/examples/base/input-group-basic.tsx | 42 + .../examples/base/input-group-block-end.tsx | 49 + .../examples/base/input-group-block-start.tsx | 56 + .../base/input-group-button-group.tsx | 27 + apps/v4/examples/base/input-group-button.tsx | 84 + apps/v4/examples/base/input-group-custom.tsx | 27 + apps/v4/examples/base/input-group-demo.tsx | 18 + .../v4/examples/base/input-group-dropdown.tsx | 69 + apps/v4/examples/base/input-group-icon.tsx | 48 + apps/v4/examples/base/input-group-in-card.tsx | 78 + .../examples/base/input-group-inline-end.tsx | 26 + .../base/input-group-inline-start.tsx | 22 + apps/v4/examples/base/input-group-kbd.tsx | 21 + apps/v4/examples/base/input-group-label.tsx | 51 + apps/v4/examples/base/input-group-spinner.tsx | 45 + apps/v4/examples/base/input-group-text.tsx | 46 + .../base/input-group-textarea-examples.tsx | 155 + .../v4/examples/base/input-group-textarea.tsx | 45 + apps/v4/examples/base/input-group-tooltip.tsx | 74 + .../examples/base/input-group-with-addons.tsx | 133 + .../base/input-group-with-buttons.tsx | 60 + .../v4/examples/base/input-group-with-kbd.tsx | 131 + .../base/input-group-with-tooltip.tsx | 159 + apps/v4/examples/base/input-inline.tsx | 12 + apps/v4/examples/base/input-input-group.tsx | 25 + apps/v4/examples/base/input-invalid.tsx | 14 + .../examples/base/input-otp-alphanumeric.tsx | 27 + .../v4/examples/base/input-otp-controlled.tsx | 38 + apps/v4/examples/base/input-otp-demo.tsx | 20 + apps/v4/examples/base/input-otp-disabled.tsx | 25 + apps/v4/examples/base/input-otp-form.tsx | 76 + .../examples/base/input-otp-four-digits.tsx | 21 + apps/v4/examples/base/input-otp-invalid.tsx | 32 + apps/v4/examples/base/input-otp-pattern.tsx | 27 + apps/v4/examples/base/input-otp-separator.tsx | 27 + apps/v4/examples/base/input-required.tsx | 18 + apps/v4/examples/base/item-avatar.tsx | 75 + apps/v4/examples/base/item-demo.tsx | 41 + apps/v4/examples/base/item-dropdown.tsx | 69 + apps/v4/examples/base/item-group.tsx | 58 + apps/v4/examples/base/item-header.tsx | 59 + apps/v4/examples/base/item-icon.tsx | 33 + apps/v4/examples/base/item-image.tsx | 67 + apps/v4/examples/base/item-link.tsx | 40 + apps/v4/examples/base/item-size.tsx | 44 + apps/v4/examples/base/item-variant.tsx | 48 + apps/v4/examples/base/kbd-button.tsx | 13 + apps/v4/examples/base/kbd-demo.tsx | 19 + apps/v4/examples/base/kbd-group.tsx | 16 + apps/v4/examples/base/kbd-input-group.tsx | 24 + apps/v4/examples/base/kbd-tooltip.tsx | 41 + apps/v4/examples/base/label-demo.tsx | 11 + apps/v4/examples/base/lib/utils.ts | 6 + apps/v4/examples/base/menubar-checkbox.tsx | 41 + apps/v4/examples/base/menubar-demo.tsx | 136 + apps/v4/examples/base/menubar-icons.tsx | 63 + apps/v4/examples/base/menubar-radio.tsx | 46 + apps/v4/examples/base/menubar-submenu.tsx | 60 + apps/v4/examples/base/muted-item-group.tsx | 49 + apps/v4/examples/base/native-select-demo.tsx | 16 + .../examples/base/native-select-disabled.tsx | 15 + .../v4/examples/base/native-select-groups.tsx | 38 + .../examples/base/native-select-invalid.tsx | 15 + .../v4/examples/base/navigation-menu-demo.tsx | 152 + apps/v4/examples/base/outline-item-group.tsx | 43 + apps/v4/examples/base/pagination-demo.tsx | 38 + .../examples/base/pagination-icons-only.tsx | 49 + apps/v4/examples/base/pagination-simple.tsx | 32 + apps/v4/examples/base/popover-alignments.tsx | 39 + apps/v4/examples/base/popover-basic.tsx | 29 + apps/v4/examples/base/popover-demo.tsx | 62 + apps/v4/examples/base/popover-form.tsx | 45 + apps/v4/examples/base/progress-controlled.tsx | 22 + apps/v4/examples/base/progress-demo.tsx | 15 + apps/v4/examples/base/progress-label.tsx | 14 + apps/v4/examples/base/radio-fields.tsx | 149 + .../examples/base/radio-group-choice-card.tsx | 46 + apps/v4/examples/base/radio-group-demo.tsx | 21 + .../examples/base/radio-group-description.tsx | 39 + .../v4/examples/base/radio-group-disabled.tsx | 27 + .../v4/examples/base/radio-group-fieldset.tsx | 39 + apps/v4/examples/base/radio-group-invalid.tsx | 39 + apps/v4/examples/base/resizable-demo.tsx | 36 + apps/v4/examples/base/resizable-handle.tsx | 26 + apps/v4/examples/base/resizable-vertical.tsx | 26 + apps/v4/examples/base/scroll-area-demo.tsx | 23 + .../base/scroll-area-horizontal-demo.tsx | 52 + apps/v4/examples/base/select-align-item.tsx | 67 + apps/v4/examples/base/select-demo.tsx | 38 + apps/v4/examples/base/select-disabled.tsx | 39 + apps/v4/examples/base/select-groups.tsx | 54 + apps/v4/examples/base/select-invalid.tsx | 39 + apps/v4/examples/base/select-scrollable.tsx | 112 + apps/v4/examples/base/separator-demo.tsx | 19 + apps/v4/examples/base/separator-list.tsx | 22 + apps/v4/examples/base/separator-menu.tsx | 26 + apps/v4/examples/base/separator-vertical.tsx | 13 + apps/v4/examples/base/sheet-demo.tsx | 43 + .../examples/base/sheet-no-close-button.tsx | 28 + apps/v4/examples/base/sheet-side.tsx | 61 + apps/v4/examples/base/sidebar-controlled.tsx | 93 + apps/v4/examples/base/sidebar-demo.tsx | 81 + apps/v4/examples/base/sidebar-footer.tsx | 67 + .../v4/examples/base/sidebar-group-action.tsx | 64 + .../base/sidebar-group-collapsible.tsx | 59 + apps/v4/examples/base/sidebar-group.tsx | 44 + apps/v4/examples/base/sidebar-header.tsx | 57 + apps/v4/examples/base/sidebar-menu-action.tsx | 99 + apps/v4/examples/base/sidebar-menu-badge.tsx | 84 + .../base/sidebar-menu-collapsible.tsx | 193 + apps/v4/examples/base/sidebar-menu-sub.tsx | 178 + apps/v4/examples/base/sidebar-menu.tsx | 74 + apps/v4/examples/base/sidebar-rsc.tsx | 107 + apps/v4/examples/base/skeleton-avatar.tsx | 13 + apps/v4/examples/base/skeleton-card.tsx | 16 + apps/v4/examples/base/skeleton-demo.tsx | 13 + apps/v4/examples/base/skeleton-form.tsx | 17 + apps/v4/examples/base/skeleton-table.tsx | 15 + apps/v4/examples/base/skeleton-text.tsx | 11 + apps/v4/examples/base/slider-controlled.tsx | 28 + apps/v4/examples/base/slider-demo.tsx | 12 + apps/v4/examples/base/slider-disabled.tsx | 13 + apps/v4/examples/base/slider-multiple.tsx | 12 + apps/v4/examples/base/slider-range.tsx | 12 + apps/v4/examples/base/slider-vertical.tsx | 22 + apps/v4/examples/base/sonner-demo.tsx | 23 + apps/v4/examples/base/sonner-description.tsx | 20 + apps/v4/examples/base/sonner-position.tsx | 59 + apps/v4/examples/base/sonner-types.tsx | 60 + apps/v4/examples/base/spinner-badge.tsx | 21 + apps/v4/examples/base/spinner-button.tsx | 21 + apps/v4/examples/base/spinner-custom.tsx | 22 + apps/v4/examples/base/spinner-demo.tsx | 25 + apps/v4/examples/base/spinner-empty.tsx | 31 + apps/v4/examples/base/spinner-input-group.tsx | 32 + apps/v4/examples/base/spinner-size.tsx | 12 + apps/v4/examples/base/switch-choice-card.tsx | 39 + apps/v4/examples/base/switch-demo.tsx | 11 + apps/v4/examples/base/switch-description.tsx | 23 + apps/v4/examples/base/switch-disabled.tsx | 11 + apps/v4/examples/base/switch-invalid.tsx | 23 + apps/v4/examples/base/switch-sizes.tsx | 17 + apps/v4/examples/base/table-actions.tsx | 105 + apps/v4/examples/base/table-demo.tsx | 87 + apps/v4/examples/base/table-footer.tsx | 87 + apps/v4/examples/base/tabs-demo.tsx | 82 + apps/v4/examples/base/tabs-disabled.tsx | 14 + apps/v4/examples/base/tabs-icons.tsx | 19 + apps/v4/examples/base/tabs-line.tsx | 13 + apps/v4/examples/base/tabs-vertical.tsx | 13 + apps/v4/examples/base/textarea-button.tsx | 11 + apps/v4/examples/base/textarea-demo.tsx | 5 + apps/v4/examples/base/textarea-disabled.tsx | 15 + apps/v4/examples/base/textarea-field.tsx | 12 + apps/v4/examples/base/textarea-invalid.tsx | 16 + apps/v4/examples/base/toggle-demo.tsx | 11 + apps/v4/examples/base/toggle-disabled.tsx | 14 + apps/v4/examples/base/toggle-group-demo.tsx | 18 + .../examples/base/toggle-group-disabled.tsx | 18 + .../v4/examples/base/toggle-group-outline.tsx | 14 + apps/v4/examples/base/toggle-group-sizes.tsx | 36 + .../v4/examples/base/toggle-group-spacing.tsx | 20 + .../examples/base/toggle-group-vertical.tsx | 23 + apps/v4/examples/base/toggle-outline.tsx | 17 + apps/v4/examples/base/toggle-sizes.tsx | 17 + apps/v4/examples/base/toggle-text.tsx | 11 + apps/v4/examples/base/tooltip-demo.tsx | 19 + apps/v4/examples/base/tooltip-disabled.tsx | 23 + apps/v4/examples/base/tooltip-keyboard.tsx | 23 + apps/v4/examples/base/tooltip-sides.tsx | 25 + .../examples/base/typography-blockquote.tsx | 8 + apps/v4/examples/base/typography-demo.tsx | 119 + apps/v4/examples/base/typography-h1.tsx | 7 + apps/v4/examples/base/typography-h2.tsx | 7 + apps/v4/examples/base/typography-h3.tsx | 7 + apps/v4/examples/base/typography-h4.tsx | 7 + .../examples/base/typography-inline-code.tsx | 7 + apps/v4/examples/base/typography-large.tsx | 3 + apps/v4/examples/base/typography-lead.tsx | 8 + apps/v4/examples/base/typography-list.tsx | 9 + apps/v4/examples/base/typography-muted.tsx | 5 + apps/v4/examples/base/typography-p.tsx | 8 + apps/v4/examples/base/typography-small.tsx | 5 + apps/v4/examples/base/typography-table.tsx | 44 + apps/v4/examples/base/ui/accordion.tsx | 90 + apps/v4/examples/base/ui/alert-dialog.tsx | 186 + apps/v4/examples/base/ui/alert.tsx | 75 + apps/v4/examples/base/ui/aspect-ratio.tsx | 22 + apps/v4/examples/base/ui/avatar.tsx | 108 + apps/v4/examples/base/ui/badge.tsx | 51 + apps/v4/examples/base/ui/breadcrumb.tsx | 136 + apps/v4/examples/base/ui/button-group.tsx | 86 + apps/v4/examples/base/ui/button.tsx | 59 + apps/v4/examples/base/ui/calendar.tsx | 239 + apps/v4/examples/base/ui/card.tsx | 102 + apps/v4/examples/base/ui/carousel.tsx | 254 + apps/v4/examples/base/ui/chart.tsx | 355 + apps/v4/examples/base/ui/checkbox.tsx | 34 + apps/v4/examples/base/ui/collapsible.tsx | 21 + apps/v4/examples/base/ui/combobox.tsx | 328 + apps/v4/examples/base/ui/command.tsx | 207 + apps/v4/examples/base/ui/context-menu.tsx | 283 + apps/v4/examples/base/ui/dialog.tsx | 162 + apps/v4/examples/base/ui/drawer.tsx | 130 + apps/v4/examples/base/ui/dropdown-menu.tsx | 283 + apps/v4/examples/base/ui/empty.tsx | 100 + apps/v4/examples/base/ui/field.tsx | 237 + apps/v4/examples/base/ui/hover-card.tsx | 50 + apps/v4/examples/base/ui/input-group.tsx | 157 + apps/v4/examples/base/ui/input-otp.tsx | 92 + apps/v4/examples/base/ui/input.tsx | 19 + apps/v4/examples/base/ui/item.tsx | 200 + apps/v4/examples/base/ui/kbd.tsx | 26 + apps/v4/examples/base/ui/label.tsx | 19 + apps/v4/examples/base/ui/menubar.tsx | 286 + apps/v4/examples/base/ui/native-select.tsx | 61 + apps/v4/examples/base/ui/navigation-menu.tsx | 174 + apps/v4/examples/base/ui/pagination.tsx | 147 + apps/v4/examples/base/ui/popover.tsx | 89 + apps/v4/examples/base/ui/progress.tsx | 82 + apps/v4/examples/base/ui/radio-group.tsx | 46 + apps/v4/examples/base/ui/resizable.tsx | 52 + apps/v4/examples/base/ui/scroll-area.tsx | 54 + apps/v4/examples/base/ui/select.tsx | 227 + apps/v4/examples/base/ui/separator.tsx | 24 + apps/v4/examples/base/ui/sheet.tsx | 140 + apps/v4/examples/base/ui/sidebar.tsx | 729 ++ apps/v4/examples/base/ui/skeleton.tsx | 13 + apps/v4/examples/base/ui/slider.tsx | 58 + apps/v4/examples/base/ui/sonner.tsx | 85 + apps/v4/examples/base/ui/spinner.tsx | 21 + apps/v4/examples/base/ui/switch.tsx | 31 + apps/v4/examples/base/ui/table.tsx | 115 + apps/v4/examples/base/ui/tabs.tsx | 81 + apps/v4/examples/base/ui/textarea.tsx | 17 + apps/v4/examples/base/ui/toggle-group.tsx | 88 + apps/v4/examples/base/ui/toggle.tsx | 43 + apps/v4/examples/base/ui/tooltip.tsx | 69 + apps/v4/examples/radix/accordion-basic.tsx | 45 + apps/v4/examples/radix/accordion-borders.tsx | 49 + apps/v4/examples/radix/accordion-card.tsx | 58 + apps/v4/examples/radix/accordion-demo.tsx | 39 + apps/v4/examples/radix/accordion-disabled.tsx | 36 + apps/v4/examples/radix/accordion-multiple.tsx | 44 + apps/v4/examples/radix/alert-action.tsx | 23 + apps/v4/examples/radix/alert-basic.tsx | 15 + apps/v4/examples/radix/alert-colors.tsx | 15 + apps/v4/examples/radix/alert-demo.tsx | 25 + apps/v4/examples/radix/alert-destructive.tsx | 15 + apps/v4/examples/radix/alert-dialog-basic.tsx | 35 + apps/v4/examples/radix/alert-dialog-demo.tsx | 35 + .../radix/alert-dialog-destructive.tsx | 40 + apps/v4/examples/radix/alert-dialog-media.tsx | 39 + .../radix/alert-dialog-small-media.tsx | 40 + apps/v4/examples/radix/alert-dialog-small.tsx | 34 + apps/v4/examples/radix/aspect-ratio-demo.tsx | 17 + .../examples/radix/aspect-ratio-portrait.tsx | 17 + .../v4/examples/radix/aspect-ratio-square.tsx | 17 + apps/v4/examples/radix/avatar-badge-icon.tsx | 19 + apps/v4/examples/radix/avatar-badge.tsx | 16 + apps/v4/examples/radix/avatar-basic.tsx | 14 + apps/v4/examples/radix/avatar-demo.tsx | 52 + apps/v4/examples/radix/avatar-dropdown.tsx | 36 + .../radix/avatar-group-count-icon.tsx | 33 + apps/v4/examples/radix/avatar-group-count.tsx | 30 + apps/v4/examples/radix/avatar-group.tsx | 28 + apps/v4/examples/radix/avatar-size.tsx | 20 + apps/v4/examples/radix/badge-colors.tsx | 23 + apps/v4/examples/radix/badge-demo.tsx | 12 + apps/v4/examples/radix/badge-icon.tsx | 17 + apps/v4/examples/radix/badge-link.tsx | 12 + apps/v4/examples/radix/badge-spinner.tsx | 17 + apps/v4/examples/radix/badge-variants.tsx | 13 + apps/v4/examples/radix/breadcrumb-basic.tsx | 28 + apps/v4/examples/radix/breadcrumb-demo.tsx | 60 + .../v4/examples/radix/breadcrumb-dropdown.tsx | 57 + .../v4/examples/radix/breadcrumb-ellipsis.tsx | 38 + apps/v4/examples/radix/breadcrumb-link.tsx | 33 + .../examples/radix/breadcrumb-separator.tsx | 38 + apps/v4/examples/radix/button-aschild.tsx | 10 + apps/v4/examples/radix/button-default.tsx | 5 + apps/v4/examples/radix/button-demo.tsx | 13 + apps/v4/examples/radix/button-destructive.tsx | 5 + apps/v4/examples/radix/button-ghost.tsx | 5 + apps/v4/examples/radix/button-group-demo.tsx | 113 + .../examples/radix/button-group-dropdown.tsx | 72 + .../radix/button-group-input-group.tsx | 57 + apps/v4/examples/radix/button-group-input.tsx | 15 + .../v4/examples/radix/button-group-nested.tsx | 39 + .../radix/button-group-orientation.tsx | 20 + .../examples/radix/button-group-popover.tsx | 51 + .../v4/examples/radix/button-group-select.tsx | 61 + .../examples/radix/button-group-separator.tsx | 19 + apps/v4/examples/radix/button-group-size.tsx | 46 + apps/v4/examples/radix/button-group-split.tsx | 18 + apps/v4/examples/radix/button-icon.tsx | 10 + apps/v4/examples/radix/button-link.tsx | 5 + apps/v4/examples/radix/button-outline.tsx | 5 + apps/v4/examples/radix/button-rounded.tsx | 12 + apps/v4/examples/radix/button-secondary.tsx | 5 + apps/v4/examples/radix/button-size.tsx | 39 + apps/v4/examples/radix/button-spinner.tsx | 17 + apps/v4/examples/radix/button-with-icon.tsx | 10 + apps/v4/examples/radix/calendar-basic.tsx | 7 + .../examples/radix/calendar-booked-dates.tsx | 36 + apps/v4/examples/radix/calendar-caption.tsx | 13 + .../examples/radix/calendar-custom-days.tsx | 50 + apps/v4/examples/radix/calendar-demo.tsx | 18 + apps/v4/examples/radix/calendar-hijri.tsx | 229 + apps/v4/examples/radix/calendar-multiple.tsx | 12 + apps/v4/examples/radix/calendar-presets.tsx | 57 + apps/v4/examples/radix/calendar-range.tsx | 31 + apps/v4/examples/radix/calendar-time.tsx | 65 + .../examples/radix/calendar-week-numbers.tsx | 25 + apps/v4/examples/radix/card-demo.tsx | 63 + apps/v4/examples/radix/card-image.tsx | 36 + apps/v4/examples/radix/card-small.tsx | 33 + apps/v4/examples/radix/carousel-api.tsx | 54 + apps/v4/examples/radix/carousel-demo.tsx | 31 + apps/v4/examples/radix/carousel-multiple.tsx | 35 + .../examples/radix/carousel-orientation.tsx | 37 + apps/v4/examples/radix/carousel-plugin.tsx | 43 + apps/v4/examples/radix/carousel-size.tsx | 36 + apps/v4/examples/radix/carousel-spacing.tsx | 31 + apps/v4/examples/radix/chart-demo.tsx | 160 + apps/v4/examples/radix/chart-example-axis.tsx | 43 + apps/v4/examples/radix/chart-example-grid.tsx | 36 + .../examples/radix/chart-example-legend.tsx | 52 + .../examples/radix/chart-example-tooltip.tsx | 49 + apps/v4/examples/radix/chart-example.tsx | 35 + apps/v4/examples/radix/chart-tooltip.tsx | 214 + apps/v4/examples/radix/checkbox-basic.tsx | 15 + apps/v4/examples/radix/checkbox-demo.tsx | 53 + .../examples/radix/checkbox-description.tsx | 30 + apps/v4/examples/radix/checkbox-disabled.tsx | 19 + apps/v4/examples/radix/checkbox-group.tsx | 74 + apps/v4/examples/radix/checkbox-invalid.tsx | 19 + apps/v4/examples/radix/checkbox-table.tsx | 107 + apps/v4/examples/radix/collapsible-basic.tsx | 33 + apps/v4/examples/radix/collapsible-demo.tsx | 46 + .../examples/radix/collapsible-file-tree.tsx | 119 + .../examples/radix/collapsible-settings.tsx | 73 + .../radix/combobox-auto-highlight.tsx | 36 + apps/v4/examples/radix/combobox-basic.tsx | 36 + apps/v4/examples/radix/combobox-clear.tsx | 36 + apps/v4/examples/radix/combobox-custom.tsx | 99 + apps/v4/examples/radix/combobox-demo.tsx | 36 + apps/v4/examples/radix/combobox-disabled.tsx | 36 + apps/v4/examples/radix/combobox-groups.tsx | 76 + .../examples/radix/combobox-input-group.tsx | 80 + apps/v4/examples/radix/combobox-invalid.tsx | 36 + apps/v4/examples/radix/combobox-multiple.tsx | 59 + apps/v4/examples/radix/combobox-popup.tsx | 96 + apps/v4/examples/radix/command-basic.tsx | 38 + apps/v4/examples/radix/command-demo.tsx | 61 + apps/v4/examples/radix/command-dialog.tsx | 86 + apps/v4/examples/radix/command-groups.tsx | 75 + apps/v4/examples/radix/command-scrollable.tsx | 181 + apps/v4/examples/radix/command-shortcuts.tsx | 52 + apps/v4/examples/radix/context-menu-basic.tsx | 29 + .../radix/context-menu-checkboxes.tsx | 33 + apps/v4/examples/radix/context-menu-demo.tsx | 82 + .../radix/context-menu-destructive.tsx | 43 + .../v4/examples/radix/context-menu-groups.tsx | 76 + apps/v4/examples/radix/context-menu-icons.tsx | 52 + apps/v4/examples/radix/context-menu-radio.tsx | 51 + .../examples/radix/context-menu-shortcuts.tsx | 51 + apps/v4/examples/radix/context-menu-sides.tsx | 82 + .../examples/radix/context-menu-submenu.tsx | 57 + .../radix/data-picker-with-dropdowns.tsx | 56 + apps/v4/examples/radix/data-table-demo.tsx | 316 + apps/v4/examples/radix/date-picker-basic.tsx | 41 + apps/v4/examples/radix/date-picker-demo.tsx | 39 + apps/v4/examples/radix/date-picker-dob.tsx | 45 + apps/v4/examples/radix/date-picker-input.tsx | 105 + .../radix/date-picker-natural-language.tsx | 100 + apps/v4/examples/radix/date-picker-range.tsx | 59 + apps/v4/examples/radix/date-picker-time.tsx | 61 + .../v4/examples/radix/dialog-close-button.tsx | 48 + apps/v4/examples/radix/dialog-demo.tsx | 50 + .../examples/radix/dialog-no-close-button.tsx | 28 + .../radix/dialog-scrollable-content.tsx | 40 + .../examples/radix/dialog-sticky-footer.tsx | 48 + apps/v4/examples/radix/drawer-demo.tsx | 134 + apps/v4/examples/radix/drawer-dialog.tsx | 90 + .../radix/drawer-scrollable-content.tsx | 49 + apps/v4/examples/radix/drawer-sides.tsx | 65 + .../examples/radix/dropdown-menu-avatar.tsx | 52 + .../v4/examples/radix/dropdown-menu-basic.tsx | 32 + .../radix/dropdown-menu-checkboxes-icons.tsx | 61 + .../radix/dropdown-menu-checkboxes.tsx | 50 + .../examples/radix/dropdown-menu-complex.tsx | 288 + apps/v4/examples/radix/dropdown-menu-demo.tsx | 74 + .../radix/dropdown-menu-destructive.tsx | 39 + .../v4/examples/radix/dropdown-menu-icons.tsx | 43 + .../radix/dropdown-menu-radio-group.tsx | 35 + .../radix/dropdown-menu-radio-icons.tsx | 48 + .../radix/dropdown-menu-shortcuts.tsx | 43 + .../examples/radix/dropdown-menu-submenu.tsx | 55 + apps/v4/examples/radix/empty-avatar-group.tsx | 52 + apps/v4/examples/radix/empty-avatar.tsx | 36 + apps/v4/examples/radix/empty-background.tsx | 33 + apps/v4/examples/radix/empty-card.tsx | 40 + apps/v4/examples/radix/empty-demo.tsx | 42 + apps/v4/examples/radix/empty-input-group.tsx | 42 + apps/v4/examples/radix/empty-outline.tsx | 31 + apps/v4/examples/radix/field-checkbox.tsx | 78 + apps/v4/examples/radix/field-choice-card.tsx | 48 + apps/v4/examples/radix/field-demo.tsx | 156 + apps/v4/examples/radix/field-fieldset.tsx | 36 + apps/v4/examples/radix/field-group.tsx | 53 + apps/v4/examples/radix/field-input.tsx | 31 + apps/v4/examples/radix/field-radio.tsx | 39 + apps/v4/examples/radix/field-responsive.tsx | 41 + apps/v4/examples/radix/field-select.tsx | 37 + apps/v4/examples/radix/field-slider.tsx | 29 + apps/v4/examples/radix/field-switch.tsx | 11 + apps/v4/examples/radix/field-textarea.tsx | 28 + apps/v4/examples/radix/file-upload-list.tsx | 68 + apps/v4/examples/radix/hooks/use-mobile.ts | 19 + apps/v4/examples/radix/hover-card-demo.tsx | 23 + apps/v4/examples/radix/hover-card-sides.tsx | 30 + apps/v4/examples/radix/input-badge.tsx | 21 + apps/v4/examples/radix/input-basic.tsx | 5 + apps/v4/examples/radix/input-button-group.tsx | 16 + apps/v4/examples/radix/input-demo.tsx | 14 + apps/v4/examples/radix/input-disabled.tsx | 17 + apps/v4/examples/radix/input-field.tsx | 18 + apps/v4/examples/radix/input-fieldgroup.tsx | 36 + apps/v4/examples/radix/input-file.tsx | 12 + apps/v4/examples/radix/input-form.tsx | 69 + apps/v4/examples/radix/input-grid.tsx | 17 + apps/v4/examples/radix/input-group-basic.tsx | 42 + .../examples/radix/input-group-block-end.tsx | 49 + .../radix/input-group-block-start.tsx | 56 + .../radix/input-group-button-group.tsx | 27 + apps/v4/examples/radix/input-group-button.tsx | 86 + apps/v4/examples/radix/input-group-custom.tsx | 27 + apps/v4/examples/radix/input-group-demo.tsx | 18 + .../examples/radix/input-group-dropdown.tsx | 63 + apps/v4/examples/radix/input-group-icon.tsx | 48 + .../v4/examples/radix/input-group-in-card.tsx | 78 + .../examples/radix/input-group-inline-end.tsx | 26 + .../radix/input-group-inline-start.tsx | 22 + apps/v4/examples/radix/input-group-kbd.tsx | 21 + apps/v4/examples/radix/input-group-label.tsx | 49 + .../v4/examples/radix/input-group-spinner.tsx | 45 + apps/v4/examples/radix/input-group-text.tsx | 46 + .../radix/input-group-textarea-examples.tsx | 155 + .../examples/radix/input-group-textarea.tsx | 45 + .../v4/examples/radix/input-group-tooltip.tsx | 76 + .../radix/input-group-with-addons.tsx | 133 + .../radix/input-group-with-buttons.tsx | 60 + .../examples/radix/input-group-with-kbd.tsx | 131 + .../radix/input-group-with-tooltip.tsx | 157 + apps/v4/examples/radix/input-inline.tsx | 12 + apps/v4/examples/radix/input-input-group.tsx | 25 + apps/v4/examples/radix/input-invalid.tsx | 14 + .../examples/radix/input-otp-alphanumeric.tsx | 27 + .../examples/radix/input-otp-controlled.tsx | 38 + apps/v4/examples/radix/input-otp-demo.tsx | 20 + apps/v4/examples/radix/input-otp-disabled.tsx | 24 + apps/v4/examples/radix/input-otp-form.tsx | 76 + .../examples/radix/input-otp-four-digits.tsx | 21 + apps/v4/examples/radix/input-otp-invalid.tsx | 32 + apps/v4/examples/radix/input-otp-pattern.tsx | 27 + .../v4/examples/radix/input-otp-separator.tsx | 27 + apps/v4/examples/radix/input-required.tsx | 18 + apps/v4/examples/radix/item-avatar.tsx | 75 + apps/v4/examples/radix/item-demo.tsx | 43 + apps/v4/examples/radix/item-dropdown.tsx | 71 + apps/v4/examples/radix/item-group.tsx | 58 + apps/v4/examples/radix/item-header.tsx | 59 + apps/v4/examples/radix/item-icon.tsx | 33 + apps/v4/examples/radix/item-image.tsx | 64 + apps/v4/examples/radix/item-link.tsx | 41 + apps/v4/examples/radix/item-size.tsx | 44 + apps/v4/examples/radix/item-variant.tsx | 48 + apps/v4/examples/radix/kbd-button.tsx | 13 + apps/v4/examples/radix/kbd-demo.tsx | 19 + apps/v4/examples/radix/kbd-group.tsx | 16 + apps/v4/examples/radix/kbd-input-group.tsx | 24 + apps/v4/examples/radix/kbd-tooltip.tsx | 41 + apps/v4/examples/radix/label-demo.tsx | 11 + apps/v4/examples/radix/lib/utils.ts | 6 + apps/v4/examples/radix/menubar-checkbox.tsx | 41 + apps/v4/examples/radix/menubar-demo.tsx | 136 + apps/v4/examples/radix/menubar-icons.tsx | 63 + apps/v4/examples/radix/menubar-radio.tsx | 46 + apps/v4/examples/radix/menubar-submenu.tsx | 60 + apps/v4/examples/radix/muted-item-group.tsx | 49 + apps/v4/examples/radix/native-select-demo.tsx | 16 + .../examples/radix/native-select-disabled.tsx | 15 + .../examples/radix/native-select-groups.tsx | 38 + .../examples/radix/native-select-invalid.tsx | 15 + .../examples/radix/navigation-menu-demo.tsx | 145 + apps/v4/examples/radix/outline-item-group.tsx | 43 + apps/v4/examples/radix/pagination-demo.tsx | 38 + .../examples/radix/pagination-icons-only.tsx | 49 + apps/v4/examples/radix/pagination-simple.tsx | 32 + apps/v4/examples/radix/popover-alignments.tsx | 43 + apps/v4/examples/radix/popover-basic.tsx | 27 + apps/v4/examples/radix/popover-demo.tsx | 62 + apps/v4/examples/radix/popover-form.tsx | 43 + .../v4/examples/radix/progress-controlled.tsx | 22 + apps/v4/examples/radix/progress-demo.tsx | 15 + apps/v4/examples/radix/progress-label.tsx | 14 + apps/v4/examples/radix/radio-fields.tsx | 149 + .../radix/radio-group-choice-card.tsx | 46 + apps/v4/examples/radix/radio-group-demo.tsx | 21 + .../radix/radio-group-description.tsx | 39 + .../examples/radix/radio-group-disabled.tsx | 27 + .../examples/radix/radio-group-fieldset.tsx | 39 + .../v4/examples/radix/radio-group-invalid.tsx | 39 + apps/v4/examples/radix/resizable-demo.tsx | 36 + apps/v4/examples/radix/resizable-handle.tsx | 26 + apps/v4/examples/radix/resizable-vertical.tsx | 26 + apps/v4/examples/radix/scroll-area-demo.tsx | 23 + .../radix/scroll-area-horizontal-demo.tsx | 52 + apps/v4/examples/radix/select-align-item.tsx | 59 + apps/v4/examples/radix/select-demo.tsx | 29 + apps/v4/examples/radix/select-disabled.tsx | 29 + apps/v4/examples/radix/select-groups.tsx | 35 + apps/v4/examples/radix/select-invalid.tsx | 30 + apps/v4/examples/radix/select-scrollable.tsx | 65 + apps/v4/examples/radix/separator-demo.tsx | 19 + apps/v4/examples/radix/separator-list.tsx | 22 + apps/v4/examples/radix/separator-menu.tsx | 26 + apps/v4/examples/radix/separator-vertical.tsx | 13 + apps/v4/examples/radix/sheet-demo.tsx | 47 + .../examples/radix/sheet-no-close-button.tsx | 28 + apps/v4/examples/radix/sheet-side.tsx | 61 + apps/v4/examples/radix/sidebar-controlled.tsx | 95 + apps/v4/examples/radix/sidebar-demo.tsx | 83 + apps/v4/examples/radix/sidebar-footer.tsx | 65 + .../examples/radix/sidebar-group-action.tsx | 70 + .../radix/sidebar-group-collapsible.tsx | 61 + apps/v4/examples/radix/sidebar-group.tsx | 44 + apps/v4/examples/radix/sidebar-header.tsx | 55 + .../v4/examples/radix/sidebar-menu-action.tsx | 103 + apps/v4/examples/radix/sidebar-menu-badge.tsx | 86 + .../radix/sidebar-menu-collapsible.tsx | 195 + apps/v4/examples/radix/sidebar-menu-sub.tsx | 180 + apps/v4/examples/radix/sidebar-menu.tsx | 76 + apps/v4/examples/radix/sidebar-rsc.tsx | 109 + apps/v4/examples/radix/skeleton-avatar.tsx | 13 + apps/v4/examples/radix/skeleton-card.tsx | 16 + apps/v4/examples/radix/skeleton-demo.tsx | 13 + apps/v4/examples/radix/skeleton-form.tsx | 17 + apps/v4/examples/radix/skeleton-table.tsx | 15 + apps/v4/examples/radix/skeleton-text.tsx | 11 + apps/v4/examples/radix/slider-controlled.tsx | 28 + apps/v4/examples/radix/slider-demo.tsx | 12 + apps/v4/examples/radix/slider-disabled.tsx | 13 + apps/v4/examples/radix/slider-multiple.tsx | 12 + apps/v4/examples/radix/slider-range.tsx | 12 + apps/v4/examples/radix/slider-vertical.tsx | 22 + apps/v4/examples/radix/sonner-demo.tsx | 23 + apps/v4/examples/radix/sonner-description.tsx | 20 + apps/v4/examples/radix/sonner-position.tsx | 59 + apps/v4/examples/radix/sonner-types.tsx | 60 + apps/v4/examples/radix/spinner-badge.tsx | 21 + apps/v4/examples/radix/spinner-button.tsx | 21 + apps/v4/examples/radix/spinner-custom.tsx | 22 + apps/v4/examples/radix/spinner-demo.tsx | 25 + apps/v4/examples/radix/spinner-empty.tsx | 31 + .../v4/examples/radix/spinner-input-group.tsx | 32 + apps/v4/examples/radix/spinner-size.tsx | 12 + apps/v4/examples/radix/switch-choice-card.tsx | 39 + apps/v4/examples/radix/switch-demo.tsx | 11 + apps/v4/examples/radix/switch-description.tsx | 23 + apps/v4/examples/radix/switch-disabled.tsx | 11 + apps/v4/examples/radix/switch-invalid.tsx | 23 + apps/v4/examples/radix/switch-sizes.tsx | 17 + apps/v4/examples/radix/table-actions.tsx | 99 + apps/v4/examples/radix/table-demo.tsx | 87 + apps/v4/examples/radix/table-footer.tsx | 87 + apps/v4/examples/radix/tabs-demo.tsx | 82 + apps/v4/examples/radix/tabs-disabled.tsx | 14 + apps/v4/examples/radix/tabs-icons.tsx | 19 + apps/v4/examples/radix/tabs-line.tsx | 13 + apps/v4/examples/radix/tabs-vertical.tsx | 13 + apps/v4/examples/radix/textarea-button.tsx | 11 + apps/v4/examples/radix/textarea-demo.tsx | 5 + apps/v4/examples/radix/textarea-disabled.tsx | 15 + apps/v4/examples/radix/textarea-field.tsx | 12 + apps/v4/examples/radix/textarea-invalid.tsx | 16 + apps/v4/examples/radix/toggle-demo.tsx | 11 + apps/v4/examples/radix/toggle-disabled.tsx | 14 + apps/v4/examples/radix/toggle-group-demo.tsx | 18 + .../examples/radix/toggle-group-disabled.tsx | 18 + .../examples/radix/toggle-group-outline.tsx | 14 + apps/v4/examples/radix/toggle-group-sizes.tsx | 36 + .../examples/radix/toggle-group-spacing.tsx | 26 + .../examples/radix/toggle-group-vertical.tsx | 23 + apps/v4/examples/radix/toggle-outline.tsx | 17 + apps/v4/examples/radix/toggle-sizes.tsx | 17 + apps/v4/examples/radix/toggle-text.tsx | 11 + apps/v4/examples/radix/tooltip-demo.tsx | 19 + apps/v4/examples/radix/tooltip-disabled.tsx | 23 + apps/v4/examples/radix/tooltip-keyboard.tsx | 25 + apps/v4/examples/radix/tooltip-sides.tsx | 25 + .../examples/radix/typography-blockquote.tsx | 8 + apps/v4/examples/radix/typography-demo.tsx | 119 + apps/v4/examples/radix/typography-h1.tsx | 7 + apps/v4/examples/radix/typography-h2.tsx | 7 + apps/v4/examples/radix/typography-h3.tsx | 7 + apps/v4/examples/radix/typography-h4.tsx | 7 + .../examples/radix/typography-inline-code.tsx | 7 + apps/v4/examples/radix/typography-large.tsx | 3 + apps/v4/examples/radix/typography-lead.tsx | 8 + apps/v4/examples/radix/typography-list.tsx | 9 + apps/v4/examples/radix/typography-muted.tsx | 5 + apps/v4/examples/radix/typography-p.tsx | 8 + apps/v4/examples/radix/typography-small.tsx | 5 + apps/v4/examples/radix/typography-table.tsx | 44 + apps/v4/examples/radix/ui/accordion.tsx | 97 + apps/v4/examples/radix/ui/alert-dialog.tsx | 198 + apps/v4/examples/radix/ui/alert.tsx | 75 + apps/v4/examples/radix/ui/aspect-ratio.tsx | 11 + apps/v4/examples/radix/ui/avatar.tsx | 111 + apps/v4/examples/radix/ui/badge.tsx | 48 + apps/v4/examples/radix/ui/breadcrumb.tsx | 133 + apps/v4/examples/radix/ui/button-group.tsx | 82 + apps/v4/examples/radix/ui/button.tsx | 66 + apps/v4/examples/radix/ui/calendar.tsx | 240 + apps/v4/examples/radix/ui/card.tsx | 102 + apps/v4/examples/radix/ui/carousel.tsx | 254 + apps/v4/examples/radix/ui/chart.tsx | 355 + apps/v4/examples/radix/ui/checkbox.tsx | 38 + apps/v4/examples/radix/ui/collapsible.tsx | 33 + apps/v4/examples/radix/ui/combobox.tsx | 330 + apps/v4/examples/radix/ui/command.tsx | 206 + apps/v4/examples/radix/ui/context-menu.tsx | 278 + apps/v4/examples/radix/ui/dialog.tsx | 170 + apps/v4/examples/radix/ui/drawer.tsx | 130 + apps/v4/examples/radix/ui/dropdown-menu.tsx | 284 + apps/v4/examples/radix/ui/empty.tsx | 100 + apps/v4/examples/radix/ui/field.tsx | 237 + apps/v4/examples/radix/ui/hover-card.tsx | 43 + apps/v4/examples/radix/ui/input-group.tsx | 155 + apps/v4/examples/radix/ui/input-otp.tsx | 92 + apps/v4/examples/radix/ui/input.tsx | 18 + apps/v4/examples/radix/ui/item.tsx | 195 + apps/v4/examples/radix/ui/kbd.tsx | 26 + apps/v4/examples/radix/ui/label.tsx | 23 + apps/v4/examples/radix/ui/menubar.tsx | 295 + apps/v4/examples/radix/ui/native-select.tsx | 61 + apps/v4/examples/radix/ui/navigation-menu.tsx | 172 + apps/v4/examples/radix/ui/pagination.tsx | 146 + apps/v4/examples/radix/ui/popover.tsx | 88 + apps/v4/examples/radix/ui/progress.tsx | 30 + apps/v4/examples/radix/ui/radio-group.tsx | 52 + apps/v4/examples/radix/ui/resizable.tsx | 52 + apps/v4/examples/radix/ui/scroll-area.tsx | 54 + apps/v4/examples/radix/ui/select.tsx | 220 + apps/v4/examples/radix/ui/separator.tsx | 27 + apps/v4/examples/radix/ui/sheet.tsx | 149 + apps/v4/examples/radix/ui/sidebar.tsx | 708 ++ apps/v4/examples/radix/ui/skeleton.tsx | 13 + apps/v4/examples/radix/ui/slider.tsx | 58 + apps/v4/examples/radix/ui/sonner.tsx | 85 + apps/v4/examples/radix/ui/spinner.tsx | 21 + apps/v4/examples/radix/ui/switch.tsx | 32 + apps/v4/examples/radix/ui/table.tsx | 115 + apps/v4/examples/radix/ui/tabs.tsx | 89 + apps/v4/examples/radix/ui/textarea.tsx | 17 + apps/v4/examples/radix/ui/toggle-group.tsx | 88 + apps/v4/examples/radix/ui/toggle.tsx | 45 + apps/v4/examples/radix/ui/tooltip.tsx | 60 + apps/v4/lib/highlight-code.ts | 2 +- apps/v4/lib/llm.ts | 70 +- apps/v4/lib/page-tree.ts | 62 + apps/v4/lib/registry.ts | 81 +- apps/v4/lib/rehype.ts | 289 +- apps/v4/mdx-components.tsx | 36 +- apps/v4/next.config.mjs | 28 + apps/v4/package.json | 7 +- .../public/r/styles/base-lyra/Elevenlabs.json | 2 +- .../r/styles/base-lyra/accordion-example.json | 2 +- .../public/r/styles/base-lyra/accordion.json | 2 +- .../base-lyra/alert-dialog-example.json | 2 +- .../r/styles/base-lyra/alert-dialog.json | 2 +- .../r/styles/base-lyra/alert-example.json | 2 +- apps/v4/public/r/styles/base-lyra/alert.json | 2 +- .../base-lyra/aspect-ratio-example.json | 2 +- .../r/styles/base-lyra/aspect-ratio.json | 2 +- .../r/styles/base-lyra/avatar-example.json | 2 +- apps/v4/public/r/styles/base-lyra/avatar.json | 2 +- .../r/styles/base-lyra/badge-example.json | 2 +- apps/v4/public/r/styles/base-lyra/badge.json | 2 +- apps/v4/public/r/styles/base-lyra/blocks.json | 40 - .../styles/base-lyra/breadcrumb-example.json | 2 +- .../public/r/styles/base-lyra/breadcrumb.json | 2 +- .../r/styles/base-lyra/button-example.json | 2 +- .../base-lyra/button-group-example.json | 2 +- .../r/styles/base-lyra/button-group.json | 2 +- apps/v4/public/r/styles/base-lyra/button.json | 2 +- .../r/styles/base-lyra/calendar-example.json | 2 +- .../public/r/styles/base-lyra/calendar.json | 2 +- .../r/styles/base-lyra/card-example.json | 2 +- apps/v4/public/r/styles/base-lyra/card.json | 2 +- .../r/styles/base-lyra/carousel-example.json | 2 +- .../public/r/styles/base-lyra/carousel.json | 2 +- .../r/styles/base-lyra/chart-example.json | 2 +- apps/v4/public/r/styles/base-lyra/chart.json | 2 +- .../v4/public/r/styles/base-lyra/chatgpt.json | 2 +- .../r/styles/base-lyra/checkbox-example.json | 2 +- .../public/r/styles/base-lyra/checkbox.json | 2 +- .../styles/base-lyra/collapsible-example.json | 2 +- .../r/styles/base-lyra/combobox-example.json | 2 +- .../public/r/styles/base-lyra/combobox.json | 2 +- .../r/styles/base-lyra/command-example.json | 2 +- .../v4/public/r/styles/base-lyra/command.json | 2 +- .../r/styles/base-lyra/component-example.json | 2 +- .../base-lyra/context-menu-example.json | 2 +- .../r/styles/base-lyra/context-menu.json | 2 +- .../r/styles/base-lyra/dashboard-01.json | 32 - .../r/styles/base-lyra/dialog-example.json | 2 +- apps/v4/public/r/styles/base-lyra/dialog.json | 2 +- .../r/styles/base-lyra/drawer-example.json | 2 +- apps/v4/public/r/styles/base-lyra/drawer.json | 2 +- .../base-lyra/dropdown-menu-example.json | 2 +- .../r/styles/base-lyra/dropdown-menu.json | 2 +- .../r/styles/base-lyra/empty-example.json | 2 +- apps/v4/public/r/styles/base-lyra/empty.json | 2 +- .../v4/public/r/styles/base-lyra/example.json | 2 +- .../r/styles/base-lyra/field-example.json | 2 +- apps/v4/public/r/styles/base-lyra/field.json | 2 +- .../r/styles/base-lyra/font-geist-mono.json | 15 - apps/v4/public/r/styles/base-lyra/github.json | 2 +- .../styles/base-lyra/hover-card-example.json | 2 +- .../public/r/styles/base-lyra/hover-card.json | 2 +- .../r/styles/base-lyra/input-example.json | 2 +- .../styles/base-lyra/input-group-example.json | 2 +- .../r/styles/base-lyra/input-group.json | 2 +- .../r/styles/base-lyra/input-otp-example.json | 2 +- .../public/r/styles/base-lyra/input-otp.json | 2 +- apps/v4/public/r/styles/base-lyra/input.json | 2 +- .../r/styles/base-lyra/item-example.json | 2 +- apps/v4/public/r/styles/base-lyra/item.json | 2 +- .../r/styles/base-lyra/kbd-example.json | 2 +- apps/v4/public/r/styles/base-lyra/kbd.json | 2 +- .../r/styles/base-lyra/label-example.json | 2 +- apps/v4/public/r/styles/base-lyra/label.json | 2 +- .../r/styles/base-lyra/menubar-example.json | 2 +- .../v4/public/r/styles/base-lyra/menubar.json | 2 +- .../base-lyra/native-select-example.json | 2 +- .../r/styles/base-lyra/native-select.json | 2 +- .../base-lyra/navigation-menu-example.json | 2 +- .../r/styles/base-lyra/navigation-menu.json | 2 +- .../styles/base-lyra/pagination-example.json | 2 +- .../public/r/styles/base-lyra/pagination.json | 2 +- .../r/styles/base-lyra/popover-example.json | 2 +- .../v4/public/r/styles/base-lyra/popover.json | 2 +- .../v4/public/r/styles/base-lyra/preview.json | 2 +- .../r/styles/base-lyra/progress-example.json | 2 +- .../public/r/styles/base-lyra/progress.json | 2 +- .../styles/base-lyra/radio-group-example.json | 2 +- .../r/styles/base-lyra/radio-group.json | 2 +- .../public/r/styles/base-lyra/registry.json | 66 - .../r/styles/base-lyra/resizable-example.json | 2 +- .../public/r/styles/base-lyra/resizable.json | 2 +- .../styles/base-lyra/scroll-area-example.json | 2 +- .../r/styles/base-lyra/scroll-area.json | 2 +- .../r/styles/base-lyra/select-example.json | 2 +- apps/v4/public/r/styles/base-lyra/select.json | 2 +- .../r/styles/base-lyra/separator-example.json | 2 +- .../public/r/styles/base-lyra/separator.json | 2 +- .../r/styles/base-lyra/sheet-example.json | 2 +- apps/v4/public/r/styles/base-lyra/sheet.json | 2 +- .../r/styles/base-lyra/sidebar-example.json | 2 +- .../base-lyra/sidebar-floating-example.json | 2 +- .../base-lyra/sidebar-icon-example.json | 2 +- .../base-lyra/sidebar-inset-example.json | 2 +- .../v4/public/r/styles/base-lyra/sidebar.json | 2 +- apps/v4/public/r/styles/base-lyra/sink.json | 68 - .../r/styles/base-lyra/skeleton-example.json | 2 +- .../public/r/styles/base-lyra/skeleton.json | 2 +- .../r/styles/base-lyra/slider-example.json | 2 +- apps/v4/public/r/styles/base-lyra/slider.json | 2 +- .../r/styles/base-lyra/sonner-example.json | 2 +- .../r/styles/base-lyra/spinner-example.json | 2 +- .../v4/public/r/styles/base-lyra/spinner.json | 2 +- .../r/styles/base-lyra/switch-example.json | 2 +- apps/v4/public/r/styles/base-lyra/switch.json | 2 +- .../r/styles/base-lyra/table-example.json | 2 +- apps/v4/public/r/styles/base-lyra/table.json | 2 +- .../r/styles/base-lyra/tabs-example.json | 2 +- apps/v4/public/r/styles/base-lyra/tabs.json | 2 +- .../r/styles/base-lyra/textarea-example.json | 2 +- .../public/r/styles/base-lyra/textarea.json | 2 +- .../r/styles/base-lyra/toggle-example.json | 2 +- .../base-lyra/toggle-group-example.json | 2 +- .../r/styles/base-lyra/toggle-group.json | 2 +- apps/v4/public/r/styles/base-lyra/toggle.json | 2 +- .../r/styles/base-lyra/tooltip-example.json | 2 +- .../v4/public/r/styles/base-lyra/tooltip.json | 2 +- apps/v4/public/r/styles/base-lyra/vercel.json | 2 +- .../r/styles/base-maia/accordion-example.json | 2 +- .../public/r/styles/base-maia/accordion.json | 2 +- .../base-maia/alert-dialog-example.json | 2 +- .../r/styles/base-maia/alert-dialog.json | 2 +- .../r/styles/base-maia/alert-example.json | 2 +- apps/v4/public/r/styles/base-maia/alert.json | 2 +- .../base-maia/aspect-ratio-example.json | 2 +- .../r/styles/base-maia/aspect-ratio.json | 2 +- .../r/styles/base-maia/avatar-example.json | 2 +- apps/v4/public/r/styles/base-maia/avatar.json | 2 +- .../r/styles/base-maia/badge-example.json | 2 +- apps/v4/public/r/styles/base-maia/badge.json | 2 +- apps/v4/public/r/styles/base-maia/blocks.json | 40 - .../styles/base-maia/breadcrumb-example.json | 2 +- .../public/r/styles/base-maia/breadcrumb.json | 2 +- .../r/styles/base-maia/button-example.json | 2 +- .../base-maia/button-group-example.json | 2 +- .../r/styles/base-maia/button-group.json | 2 +- apps/v4/public/r/styles/base-maia/button.json | 2 +- .../r/styles/base-maia/calendar-example.json | 2 +- .../public/r/styles/base-maia/calendar.json | 2 +- .../r/styles/base-maia/card-example.json | 2 +- apps/v4/public/r/styles/base-maia/card.json | 2 +- .../r/styles/base-maia/carousel-example.json | 2 +- .../public/r/styles/base-maia/carousel.json | 2 +- .../r/styles/base-maia/chart-example.json | 2 +- apps/v4/public/r/styles/base-maia/chart.json | 2 +- .../v4/public/r/styles/base-maia/chatgpt.json | 2 +- .../r/styles/base-maia/checkbox-example.json | 2 +- .../public/r/styles/base-maia/checkbox.json | 2 +- .../styles/base-maia/collapsible-example.json | 2 +- .../r/styles/base-maia/combobox-example.json | 2 +- .../public/r/styles/base-maia/combobox.json | 2 +- .../r/styles/base-maia/command-example.json | 2 +- .../v4/public/r/styles/base-maia/command.json | 2 +- .../r/styles/base-maia/component-example.json | 2 +- .../base-maia/context-menu-example.json | 2 +- .../r/styles/base-maia/context-menu.json | 2 +- .../r/styles/base-maia/dialog-example.json | 2 +- apps/v4/public/r/styles/base-maia/dialog.json | 2 +- .../r/styles/base-maia/drawer-example.json | 2 +- apps/v4/public/r/styles/base-maia/drawer.json | 2 +- .../base-maia/dropdown-menu-example.json | 2 +- .../r/styles/base-maia/dropdown-menu.json | 2 +- .../public/r/styles/base-maia/elevenlabs.json | 2 +- .../r/styles/base-maia/empty-example.json | 2 +- apps/v4/public/r/styles/base-maia/empty.json | 2 +- .../v4/public/r/styles/base-maia/example.json | 2 +- .../r/styles/base-maia/field-example.json | 2 +- apps/v4/public/r/styles/base-maia/field.json | 2 +- .../r/styles/base-maia/font-geist-mono.json | 15 - apps/v4/public/r/styles/base-maia/github.json | 2 +- .../styles/base-maia/hover-card-example.json | 2 +- .../public/r/styles/base-maia/hover-card.json | 2 +- .../r/styles/base-maia/input-example.json | 2 +- .../styles/base-maia/input-group-example.json | 2 +- .../r/styles/base-maia/input-group.json | 2 +- .../r/styles/base-maia/input-otp-example.json | 2 +- .../public/r/styles/base-maia/input-otp.json | 2 +- apps/v4/public/r/styles/base-maia/input.json | 2 +- .../r/styles/base-maia/item-example.json | 2 +- apps/v4/public/r/styles/base-maia/item.json | 2 +- .../r/styles/base-maia/kbd-example.json | 2 +- apps/v4/public/r/styles/base-maia/kbd.json | 2 +- .../r/styles/base-maia/label-example.json | 2 +- apps/v4/public/r/styles/base-maia/label.json | 2 +- .../r/styles/base-maia/menubar-example.json | 2 +- .../v4/public/r/styles/base-maia/menubar.json | 2 +- .../base-maia/native-select-example.json | 2 +- .../r/styles/base-maia/native-select.json | 2 +- .../base-maia/navigation-menu-example.json | 2 +- .../r/styles/base-maia/navigation-menu.json | 2 +- .../styles/base-maia/pagination-example.json | 2 +- .../public/r/styles/base-maia/pagination.json | 2 +- .../r/styles/base-maia/popover-example.json | 2 +- .../v4/public/r/styles/base-maia/popover.json | 2 +- .../v4/public/r/styles/base-maia/preview.json | 2 +- .../r/styles/base-maia/progress-example.json | 2 +- .../public/r/styles/base-maia/progress.json | 2 +- .../styles/base-maia/radio-group-example.json | 2 +- .../r/styles/base-maia/radio-group.json | 2 +- .../public/r/styles/base-maia/registry.json | 66 - .../r/styles/base-maia/resizable-example.json | 2 +- .../public/r/styles/base-maia/resizable.json | 2 +- .../styles/base-maia/scroll-area-example.json | 2 +- .../r/styles/base-maia/scroll-area.json | 2 +- .../r/styles/base-maia/select-example.json | 2 +- apps/v4/public/r/styles/base-maia/select.json | 2 +- .../r/styles/base-maia/separator-example.json | 2 +- .../public/r/styles/base-maia/separator.json | 2 +- .../r/styles/base-maia/sheet-example.json | 2 +- apps/v4/public/r/styles/base-maia/sheet.json | 2 +- .../r/styles/base-maia/sidebar-example.json | 2 +- .../base-maia/sidebar-floating-example.json | 2 +- .../base-maia/sidebar-icon-example.json | 2 +- .../base-maia/sidebar-inset-example.json | 2 +- .../v4/public/r/styles/base-maia/sidebar.json | 2 +- apps/v4/public/r/styles/base-maia/sink.json | 68 - .../r/styles/base-maia/skeleton-example.json | 2 +- .../public/r/styles/base-maia/skeleton.json | 2 +- .../r/styles/base-maia/slider-example.json | 2 +- apps/v4/public/r/styles/base-maia/slider.json | 2 +- .../r/styles/base-maia/sonner-example.json | 2 +- .../r/styles/base-maia/spinner-example.json | 2 +- .../v4/public/r/styles/base-maia/spinner.json | 2 +- .../r/styles/base-maia/switch-example.json | 2 +- apps/v4/public/r/styles/base-maia/switch.json | 2 +- .../r/styles/base-maia/table-example.json | 2 +- apps/v4/public/r/styles/base-maia/table.json | 2 +- .../r/styles/base-maia/tabs-example.json | 2 +- apps/v4/public/r/styles/base-maia/tabs.json | 2 +- .../r/styles/base-maia/textarea-example.json | 2 +- .../public/r/styles/base-maia/textarea.json | 2 +- .../r/styles/base-maia/toggle-example.json | 2 +- .../base-maia/toggle-group-example.json | 2 +- .../r/styles/base-maia/toggle-group.json | 2 +- apps/v4/public/r/styles/base-maia/toggle.json | 2 +- .../r/styles/base-maia/tooltip-example.json | 2 +- .../v4/public/r/styles/base-maia/tooltip.json | 2 +- apps/v4/public/r/styles/base-maia/vercel.json | 2 +- .../r/styles/base-mira/accordion-example.json | 2 +- .../public/r/styles/base-mira/accordion.json | 2 +- .../base-mira/alert-dialog-example.json | 2 +- .../r/styles/base-mira/alert-dialog.json | 2 +- .../r/styles/base-mira/alert-example.json | 2 +- apps/v4/public/r/styles/base-mira/alert.json | 2 +- .../base-mira/aspect-ratio-example.json | 2 +- .../r/styles/base-mira/aspect-ratio.json | 2 +- .../r/styles/base-mira/avatar-example.json | 2 +- apps/v4/public/r/styles/base-mira/avatar.json | 2 +- .../r/styles/base-mira/badge-example.json | 2 +- apps/v4/public/r/styles/base-mira/badge.json | 2 +- apps/v4/public/r/styles/base-mira/blocks.json | 40 - .../styles/base-mira/breadcrumb-example.json | 2 +- .../public/r/styles/base-mira/breadcrumb.json | 2 +- .../r/styles/base-mira/button-example.json | 2 +- .../base-mira/button-group-example.json | 2 +- .../r/styles/base-mira/button-group.json | 2 +- apps/v4/public/r/styles/base-mira/button.json | 2 +- .../r/styles/base-mira/calendar-example.json | 2 +- .../public/r/styles/base-mira/calendar.json | 2 +- .../r/styles/base-mira/card-example.json | 2 +- apps/v4/public/r/styles/base-mira/card.json | 2 +- .../r/styles/base-mira/carousel-example.json | 2 +- .../public/r/styles/base-mira/carousel.json | 2 +- .../r/styles/base-mira/chart-example.json | 2 +- apps/v4/public/r/styles/base-mira/chart.json | 2 +- .../v4/public/r/styles/base-mira/chatgpt.json | 2 +- .../r/styles/base-mira/checkbox-example.json | 2 +- .../public/r/styles/base-mira/checkbox.json | 2 +- .../styles/base-mira/collapsible-example.json | 2 +- .../r/styles/base-mira/combobox-example.json | 2 +- .../public/r/styles/base-mira/combobox.json | 2 +- .../r/styles/base-mira/command-example.json | 2 +- .../v4/public/r/styles/base-mira/command.json | 2 +- .../r/styles/base-mira/component-example.json | 2 +- .../base-mira/context-menu-example.json | 2 +- .../r/styles/base-mira/context-menu.json | 2 +- .../r/styles/base-mira/dialog-example.json | 2 +- apps/v4/public/r/styles/base-mira/dialog.json | 2 +- .../r/styles/base-mira/drawer-example.json | 2 +- apps/v4/public/r/styles/base-mira/drawer.json | 2 +- .../base-mira/dropdown-menu-example.json | 2 +- .../r/styles/base-mira/dropdown-menu.json | 2 +- .../public/r/styles/base-mira/elevenlabs.json | 2 +- .../r/styles/base-mira/empty-example.json | 2 +- apps/v4/public/r/styles/base-mira/empty.json | 2 +- .../v4/public/r/styles/base-mira/example.json | 2 +- .../r/styles/base-mira/field-example.json | 2 +- apps/v4/public/r/styles/base-mira/field.json | 2 +- .../r/styles/base-mira/font-geist-mono.json | 15 - apps/v4/public/r/styles/base-mira/github.json | 2 +- .../styles/base-mira/hover-card-example.json | 2 +- .../public/r/styles/base-mira/hover-card.json | 2 +- .../r/styles/base-mira/input-example.json | 2 +- .../styles/base-mira/input-group-example.json | 2 +- .../r/styles/base-mira/input-group.json | 2 +- .../r/styles/base-mira/input-otp-example.json | 2 +- .../public/r/styles/base-mira/input-otp.json | 2 +- apps/v4/public/r/styles/base-mira/input.json | 2 +- .../r/styles/base-mira/item-example.json | 2 +- apps/v4/public/r/styles/base-mira/item.json | 2 +- .../r/styles/base-mira/kbd-example.json | 2 +- apps/v4/public/r/styles/base-mira/kbd.json | 2 +- .../r/styles/base-mira/label-example.json | 2 +- apps/v4/public/r/styles/base-mira/label.json | 2 +- .../r/styles/base-mira/menubar-example.json | 2 +- .../v4/public/r/styles/base-mira/menubar.json | 2 +- .../base-mira/native-select-example.json | 2 +- .../r/styles/base-mira/native-select.json | 2 +- .../base-mira/navigation-menu-example.json | 2 +- .../r/styles/base-mira/navigation-menu.json | 2 +- .../styles/base-mira/pagination-example.json | 2 +- .../public/r/styles/base-mira/pagination.json | 2 +- .../r/styles/base-mira/popover-example.json | 2 +- .../v4/public/r/styles/base-mira/popover.json | 2 +- .../v4/public/r/styles/base-mira/preview.json | 2 +- .../r/styles/base-mira/progress-example.json | 2 +- .../public/r/styles/base-mira/progress.json | 2 +- .../styles/base-mira/radio-group-example.json | 2 +- .../r/styles/base-mira/radio-group.json | 2 +- .../public/r/styles/base-mira/registry.json | 66 - .../r/styles/base-mira/resizable-example.json | 2 +- .../public/r/styles/base-mira/resizable.json | 2 +- .../styles/base-mira/scroll-area-example.json | 2 +- .../r/styles/base-mira/scroll-area.json | 2 +- .../r/styles/base-mira/select-example.json | 2 +- apps/v4/public/r/styles/base-mira/select.json | 2 +- .../r/styles/base-mira/separator-example.json | 2 +- .../public/r/styles/base-mira/separator.json | 2 +- .../r/styles/base-mira/sheet-example.json | 2 +- apps/v4/public/r/styles/base-mira/sheet.json | 2 +- .../r/styles/base-mira/sidebar-example.json | 2 +- .../base-mira/sidebar-floating-example.json | 2 +- .../base-mira/sidebar-icon-example.json | 2 +- .../base-mira/sidebar-inset-example.json | 2 +- .../v4/public/r/styles/base-mira/sidebar.json | 2 +- apps/v4/public/r/styles/base-mira/sink.json | 68 - .../r/styles/base-mira/skeleton-example.json | 2 +- .../public/r/styles/base-mira/skeleton.json | 2 +- .../r/styles/base-mira/slider-example.json | 2 +- apps/v4/public/r/styles/base-mira/slider.json | 2 +- .../r/styles/base-mira/sonner-example.json | 2 +- .../r/styles/base-mira/spinner-example.json | 2 +- .../v4/public/r/styles/base-mira/spinner.json | 2 +- .../r/styles/base-mira/switch-example.json | 2 +- apps/v4/public/r/styles/base-mira/switch.json | 2 +- .../r/styles/base-mira/table-example.json | 2 +- apps/v4/public/r/styles/base-mira/table.json | 2 +- .../r/styles/base-mira/tabs-example.json | 2 +- apps/v4/public/r/styles/base-mira/tabs.json | 2 +- .../r/styles/base-mira/textarea-example.json | 2 +- .../public/r/styles/base-mira/textarea.json | 2 +- .../r/styles/base-mira/toggle-example.json | 2 +- .../base-mira/toggle-group-example.json | 2 +- .../r/styles/base-mira/toggle-group.json | 2 +- apps/v4/public/r/styles/base-mira/toggle.json | 2 +- .../r/styles/base-mira/tooltip-example.json | 2 +- .../v4/public/r/styles/base-mira/tooltip.json | 2 +- apps/v4/public/r/styles/base-mira/vercel.json | 2 +- .../public/r/styles/base-nova/Elevenlabs.json | 2 +- .../r/styles/base-nova/accordion-example.json | 2 +- .../public/r/styles/base-nova/accordion.json | 2 +- .../base-nova/alert-dialog-example.json | 2 +- .../r/styles/base-nova/alert-dialog.json | 2 +- .../r/styles/base-nova/alert-example.json | 2 +- apps/v4/public/r/styles/base-nova/alert.json | 2 +- .../base-nova/aspect-ratio-example.json | 2 +- .../r/styles/base-nova/aspect-ratio.json | 2 +- .../r/styles/base-nova/avatar-example.json | 2 +- apps/v4/public/r/styles/base-nova/avatar.json | 2 +- .../r/styles/base-nova/badge-example.json | 2 +- apps/v4/public/r/styles/base-nova/badge.json | 2 +- apps/v4/public/r/styles/base-nova/blocks.json | 40 - .../styles/base-nova/breadcrumb-example.json | 2 +- .../public/r/styles/base-nova/breadcrumb.json | 2 +- .../r/styles/base-nova/button-example.json | 2 +- .../base-nova/button-group-example.json | 2 +- .../r/styles/base-nova/button-group.json | 2 +- apps/v4/public/r/styles/base-nova/button.json | 2 +- .../r/styles/base-nova/calendar-example.json | 2 +- .../public/r/styles/base-nova/calendar.json | 2 +- .../r/styles/base-nova/card-example.json | 2 +- apps/v4/public/r/styles/base-nova/card.json | 2 +- .../r/styles/base-nova/carousel-example.json | 2 +- .../public/r/styles/base-nova/carousel.json | 2 +- .../r/styles/base-nova/chart-example.json | 2 +- apps/v4/public/r/styles/base-nova/chart.json | 2 +- .../v4/public/r/styles/base-nova/chatgpt.json | 2 +- .../r/styles/base-nova/checkbox-example.json | 2 +- .../public/r/styles/base-nova/checkbox.json | 2 +- apps/v4/public/r/styles/base-nova/cn.json | 16 - .../styles/base-nova/collapsible-example.json | 2 +- .../r/styles/base-nova/combobox-example.json | 2 +- .../public/r/styles/base-nova/combobox.json | 2 +- .../r/styles/base-nova/command-example.json | 2 +- .../v4/public/r/styles/base-nova/command.json | 2 +- .../r/styles/base-nova/component-example.json | 2 +- .../base-nova/context-menu-example.json | 2 +- .../r/styles/base-nova/context-menu.json | 2 +- apps/v4/public/r/styles/base-nova/cover.json | 40 - .../r/styles/base-nova/dashboard-01.json | 32 - .../r/styles/base-nova/dialog-example.json | 2 +- apps/v4/public/r/styles/base-nova/dialog.json | 2 +- .../r/styles/base-nova/drawer-example.json | 2 +- apps/v4/public/r/styles/base-nova/drawer.json | 2 +- .../base-nova/dropdown-menu-example.json | 2 +- .../r/styles/base-nova/dropdown-menu.json | 2 +- .../r/styles/base-nova/empty-example.json | 2 +- apps/v4/public/r/styles/base-nova/empty.json | 2 +- .../v4/public/r/styles/base-nova/example.json | 2 +- .../r/styles/base-nova/field-example.json | 2 +- apps/v4/public/r/styles/base-nova/field.json | 2 +- .../r/styles/base-nova/font-geist-mono.json | 15 - apps/v4/public/r/styles/base-nova/github.json | 2 +- .../styles/base-nova/hover-card-example.json | 2 +- .../public/r/styles/base-nova/hover-card.json | 2 +- .../r/styles/base-nova/input-example.json | 2 +- .../styles/base-nova/input-group-example.json | 2 +- .../r/styles/base-nova/input-group.json | 2 +- .../r/styles/base-nova/input-otp-example.json | 2 +- .../public/r/styles/base-nova/input-otp.json | 2 +- apps/v4/public/r/styles/base-nova/input.json | 2 +- .../r/styles/base-nova/item-example.json | 2 +- apps/v4/public/r/styles/base-nova/item.json | 2 +- .../r/styles/base-nova/kbd-example.json | 2 +- apps/v4/public/r/styles/base-nova/kbd.json | 2 +- .../r/styles/base-nova/label-example.json | 2 +- apps/v4/public/r/styles/base-nova/label.json | 2 +- .../r/styles/base-nova/menubar-example.json | 2 +- .../v4/public/r/styles/base-nova/menubar.json | 2 +- .../base-nova/native-select-example.json | 2 +- .../r/styles/base-nova/native-select.json | 2 +- .../base-nova/navigation-menu-example.json | 2 +- .../r/styles/base-nova/navigation-menu.json | 2 +- .../styles/base-nova/pagination-example.json | 2 +- .../public/r/styles/base-nova/pagination.json | 2 +- .../r/styles/base-nova/popover-example.json | 2 +- .../v4/public/r/styles/base-nova/popover.json | 2 +- .../v4/public/r/styles/base-nova/preview.json | 2 +- .../r/styles/base-nova/progress-example.json | 2 +- .../public/r/styles/base-nova/progress.json | 2 +- .../styles/base-nova/radio-group-example.json | 2 +- .../r/styles/base-nova/radio-group.json | 2 +- .../public/r/styles/base-nova/registry.json | 66 - .../r/styles/base-nova/resizable-example.json | 2 +- .../public/r/styles/base-nova/resizable.json | 2 +- .../styles/base-nova/scroll-area-example.json | 2 +- .../r/styles/base-nova/scroll-area.json | 2 +- .../r/styles/base-nova/select-example.json | 2 +- apps/v4/public/r/styles/base-nova/select.json | 2 +- .../r/styles/base-nova/separator-example.json | 2 +- .../public/r/styles/base-nova/separator.json | 2 +- .../r/styles/base-nova/sheet-example.json | 2 +- apps/v4/public/r/styles/base-nova/sheet.json | 2 +- .../base-nova/sidebar-basic-example.json | 21 - .../base-nova/sidebar-dropdowns-example.json | 22 - .../r/styles/base-nova/sidebar-example.json | 2 +- .../base-nova/sidebar-floating-example.json | 2 +- .../base-nova/sidebar-icon-example.json | 2 +- .../base-nova/sidebar-inset-example.json | 2 +- .../base-nova/sidebar-submenus-example.json | 18 - .../v4/public/r/styles/base-nova/sidebar.json | 2 +- apps/v4/public/r/styles/base-nova/sink.json | 68 - .../r/styles/base-nova/skeleton-example.json | 2 +- .../public/r/styles/base-nova/skeleton.json | 2 +- .../r/styles/base-nova/slider-example.json | 2 +- apps/v4/public/r/styles/base-nova/slider.json | 2 +- .../r/styles/base-nova/sonner-example.json | 2 +- .../r/styles/base-nova/spinner-example.json | 2 +- .../v4/public/r/styles/base-nova/spinner.json | 2 +- .../r/styles/base-nova/switch-example.json | 2 +- apps/v4/public/r/styles/base-nova/switch.json | 2 +- .../r/styles/base-nova/table-example.json | 2 +- apps/v4/public/r/styles/base-nova/table.json | 2 +- .../r/styles/base-nova/tabs-example.json | 2 +- apps/v4/public/r/styles/base-nova/tabs.json | 2 +- .../r/styles/base-nova/textarea-example.json | 2 +- .../public/r/styles/base-nova/textarea.json | 2 +- .../r/styles/base-nova/toggle-example.json | 2 +- .../base-nova/toggle-group-example.json | 2 +- .../r/styles/base-nova/toggle-group.json | 2 +- apps/v4/public/r/styles/base-nova/toggle.json | 2 +- .../r/styles/base-nova/tooltip-example.json | 2 +- .../v4/public/r/styles/base-nova/tooltip.json | 2 +- apps/v4/public/r/styles/base-nova/vercel.json | 2 +- .../public/r/styles/base-vega/Elevenlabs.json | 2 +- .../r/styles/base-vega/accordion-example.json | 2 +- .../public/r/styles/base-vega/accordion.json | 2 +- .../base-vega/alert-dialog-example.json | 2 +- .../r/styles/base-vega/alert-dialog.json | 2 +- .../r/styles/base-vega/alert-example.json | 2 +- apps/v4/public/r/styles/base-vega/alert.json | 2 +- .../base-vega/aspect-ratio-example.json | 2 +- .../r/styles/base-vega/aspect-ratio.json | 2 +- .../r/styles/base-vega/avatar-example.json | 2 +- apps/v4/public/r/styles/base-vega/avatar.json | 2 +- .../r/styles/base-vega/badge-example.json | 2 +- apps/v4/public/r/styles/base-vega/badge.json | 2 +- apps/v4/public/r/styles/base-vega/blocks.json | 40 - .../styles/base-vega/breadcrumb-example.json | 2 +- .../public/r/styles/base-vega/breadcrumb.json | 2 +- .../r/styles/base-vega/button-example.json | 2 +- .../base-vega/button-group-example.json | 2 +- .../r/styles/base-vega/button-group.json | 2 +- apps/v4/public/r/styles/base-vega/button.json | 2 +- .../r/styles/base-vega/calendar-example.json | 2 +- .../public/r/styles/base-vega/calendar.json | 2 +- .../r/styles/base-vega/card-example.json | 2 +- apps/v4/public/r/styles/base-vega/card.json | 2 +- .../r/styles/base-vega/carousel-example.json | 2 +- .../public/r/styles/base-vega/carousel.json | 2 +- .../r/styles/base-vega/chart-example.json | 2 +- apps/v4/public/r/styles/base-vega/chart.json | 2 +- .../v4/public/r/styles/base-vega/chatgpt.json | 2 +- .../r/styles/base-vega/checkbox-example.json | 2 +- .../public/r/styles/base-vega/checkbox.json | 2 +- apps/v4/public/r/styles/base-vega/cn.json | 16 - .../styles/base-vega/collapsible-example.json | 2 +- .../r/styles/base-vega/combobox-example.json | 2 +- .../public/r/styles/base-vega/combobox.json | 2 +- .../r/styles/base-vega/command-example.json | 2 +- .../v4/public/r/styles/base-vega/command.json | 2 +- .../r/styles/base-vega/component-example.json | 2 +- .../base-vega/context-menu-example.json | 2 +- .../r/styles/base-vega/context-menu.json | 2 +- apps/v4/public/r/styles/base-vega/cover.json | 40 - .../r/styles/base-vega/dashboard-01.json | 32 - .../r/styles/base-vega/dialog-example.json | 2 +- apps/v4/public/r/styles/base-vega/dialog.json | 2 +- .../r/styles/base-vega/drawer-example.json | 2 +- apps/v4/public/r/styles/base-vega/drawer.json | 2 +- .../base-vega/dropdown-menu-example.json | 2 +- .../r/styles/base-vega/dropdown-menu.json | 2 +- .../r/styles/base-vega/empty-example.json | 2 +- apps/v4/public/r/styles/base-vega/empty.json | 2 +- .../v4/public/r/styles/base-vega/example.json | 2 +- .../r/styles/base-vega/field-example.json | 2 +- apps/v4/public/r/styles/base-vega/field.json | 2 +- .../r/styles/base-vega/font-geist-mono.json | 15 - apps/v4/public/r/styles/base-vega/github.json | 2 +- .../styles/base-vega/hover-card-example.json | 2 +- .../public/r/styles/base-vega/hover-card.json | 2 +- .../r/styles/base-vega/input-example.json | 2 +- .../styles/base-vega/input-group-example.json | 2 +- .../r/styles/base-vega/input-group.json | 2 +- .../r/styles/base-vega/input-otp-example.json | 2 +- .../public/r/styles/base-vega/input-otp.json | 2 +- apps/v4/public/r/styles/base-vega/input.json | 2 +- .../r/styles/base-vega/item-example.json | 2 +- apps/v4/public/r/styles/base-vega/item.json | 2 +- .../r/styles/base-vega/kbd-example.json | 2 +- apps/v4/public/r/styles/base-vega/kbd.json | 2 +- .../r/styles/base-vega/label-example.json | 2 +- apps/v4/public/r/styles/base-vega/label.json | 2 +- .../r/styles/base-vega/menubar-example.json | 2 +- .../v4/public/r/styles/base-vega/menubar.json | 2 +- .../base-vega/native-select-example.json | 2 +- .../r/styles/base-vega/native-select.json | 2 +- .../base-vega/navigation-menu-example.json | 2 +- .../r/styles/base-vega/navigation-menu.json | 2 +- .../styles/base-vega/pagination-example.json | 2 +- .../public/r/styles/base-vega/pagination.json | 2 +- .../r/styles/base-vega/popover-example.json | 2 +- .../v4/public/r/styles/base-vega/popover.json | 2 +- .../v4/public/r/styles/base-vega/preview.json | 2 +- .../r/styles/base-vega/progress-example.json | 2 +- .../public/r/styles/base-vega/progress.json | 2 +- .../styles/base-vega/radio-group-example.json | 2 +- .../r/styles/base-vega/radio-group.json | 2 +- .../public/r/styles/base-vega/registry.json | 66 - .../r/styles/base-vega/resizable-example.json | 2 +- .../public/r/styles/base-vega/resizable.json | 2 +- .../styles/base-vega/scroll-area-example.json | 2 +- .../r/styles/base-vega/scroll-area.json | 2 +- .../r/styles/base-vega/select-example.json | 2 +- apps/v4/public/r/styles/base-vega/select.json | 2 +- .../r/styles/base-vega/separator-example.json | 2 +- .../public/r/styles/base-vega/separator.json | 2 +- .../r/styles/base-vega/sheet-example.json | 2 +- apps/v4/public/r/styles/base-vega/sheet.json | 2 +- .../base-vega/sidebar-basic-example.json | 21 - .../base-vega/sidebar-dropdowns-example.json | 22 - .../r/styles/base-vega/sidebar-example.json | 2 +- .../base-vega/sidebar-floating-example.json | 2 +- .../base-vega/sidebar-icon-example.json | 2 +- .../base-vega/sidebar-inset-example.json | 2 +- .../base-vega/sidebar-submenus-example.json | 18 - .../v4/public/r/styles/base-vega/sidebar.json | 2 +- apps/v4/public/r/styles/base-vega/sink.json | 68 - .../r/styles/base-vega/skeleton-example.json | 2 +- .../public/r/styles/base-vega/skeleton.json | 2 +- .../r/styles/base-vega/slider-example.json | 2 +- apps/v4/public/r/styles/base-vega/slider.json | 2 +- .../r/styles/base-vega/sonner-example.json | 2 +- .../r/styles/base-vega/spinner-example.json | 2 +- .../v4/public/r/styles/base-vega/spinner.json | 2 +- .../r/styles/base-vega/switch-example.json | 2 +- apps/v4/public/r/styles/base-vega/switch.json | 2 +- .../r/styles/base-vega/table-example.json | 2 +- apps/v4/public/r/styles/base-vega/table.json | 2 +- .../r/styles/base-vega/tabs-example.json | 2 +- apps/v4/public/r/styles/base-vega/tabs.json | 2 +- .../r/styles/base-vega/textarea-example.json | 2 +- .../public/r/styles/base-vega/textarea.json | 2 +- .../r/styles/base-vega/toggle-example.json | 2 +- .../base-vega/toggle-group-example.json | 2 +- .../r/styles/base-vega/toggle-group.json | 2 +- apps/v4/public/r/styles/base-vega/toggle.json | 2 +- .../r/styles/base-vega/tooltip-example.json | 2 +- .../v4/public/r/styles/base-vega/tooltip.json | 2 +- apps/v4/public/r/styles/base-vega/vercel.json | 2 +- .../new-york-v4/chart-radar-legend.json | 2 +- .../styles/radix-lyra/accordion-example.json | 2 +- .../public/r/styles/radix-lyra/accordion.json | 2 +- .../radix-lyra/alert-dialog-example.json | 2 +- .../r/styles/radix-lyra/alert-dialog.json | 2 +- .../r/styles/radix-lyra/alert-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/alert.json | 2 +- .../radix-lyra/aspect-ratio-example.json | 2 +- .../r/styles/radix-lyra/avatar-example.json | 2 +- .../v4/public/r/styles/radix-lyra/avatar.json | 2 +- .../r/styles/radix-lyra/badge-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/badge.json | 2 +- .../v4/public/r/styles/radix-lyra/blocks.json | 40 - .../styles/radix-lyra/breadcrumb-example.json | 2 +- .../r/styles/radix-lyra/breadcrumb.json | 2 +- .../r/styles/radix-lyra/button-example.json | 2 +- .../radix-lyra/button-group-example.json | 2 +- .../r/styles/radix-lyra/button-group.json | 2 +- .../v4/public/r/styles/radix-lyra/button.json | 2 +- .../r/styles/radix-lyra/calendar-example.json | 2 +- .../public/r/styles/radix-lyra/calendar.json | 2 +- .../r/styles/radix-lyra/card-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/card.json | 2 +- .../r/styles/radix-lyra/carousel-example.json | 2 +- .../public/r/styles/radix-lyra/carousel.json | 2 +- .../r/styles/radix-lyra/chart-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/chart.json | 2 +- .../public/r/styles/radix-lyra/chatgpt.json | 2 +- .../r/styles/radix-lyra/checkbox-example.json | 2 +- .../public/r/styles/radix-lyra/checkbox.json | 2 +- .../radix-lyra/collapsible-example.json | 2 +- .../r/styles/radix-lyra/combobox-example.json | 2 +- .../public/r/styles/radix-lyra/combobox.json | 2 +- .../r/styles/radix-lyra/command-example.json | 2 +- .../public/r/styles/radix-lyra/command.json | 2 +- .../styles/radix-lyra/component-example.json | 2 +- .../radix-lyra/context-menu-example.json | 2 +- .../r/styles/radix-lyra/context-menu.json | 2 +- .../r/styles/radix-lyra/dashboard-01.json | 32 - .../r/styles/radix-lyra/dialog-example.json | 2 +- .../v4/public/r/styles/radix-lyra/dialog.json | 2 +- .../r/styles/radix-lyra/drawer-example.json | 2 +- .../v4/public/r/styles/radix-lyra/drawer.json | 2 +- .../radix-lyra/dropdown-menu-example.json | 2 +- .../r/styles/radix-lyra/dropdown-menu.json | 2 +- .../r/styles/radix-lyra/elevenlabs.json | 2 +- .../r/styles/radix-lyra/empty-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/empty.json | 2 +- .../public/r/styles/radix-lyra/example.json | 2 +- .../r/styles/radix-lyra/field-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/field.json | 2 +- .../r/styles/radix-lyra/font-geist-mono.json | 15 - .../v4/public/r/styles/radix-lyra/github.json | 2 +- .../styles/radix-lyra/hover-card-example.json | 2 +- .../r/styles/radix-lyra/hover-card.json | 2 +- .../r/styles/radix-lyra/input-example.json | 2 +- .../radix-lyra/input-group-example.json | 2 +- .../r/styles/radix-lyra/input-group.json | 2 +- .../styles/radix-lyra/input-otp-example.json | 2 +- .../public/r/styles/radix-lyra/input-otp.json | 2 +- apps/v4/public/r/styles/radix-lyra/input.json | 2 +- .../r/styles/radix-lyra/item-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/item.json | 2 +- .../r/styles/radix-lyra/kbd-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/kbd.json | 2 +- .../r/styles/radix-lyra/label-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/label.json | 2 +- .../r/styles/radix-lyra/menubar-example.json | 2 +- .../public/r/styles/radix-lyra/menubar.json | 2 +- .../radix-lyra/native-select-example.json | 2 +- .../r/styles/radix-lyra/native-select.json | 2 +- .../radix-lyra/navigation-menu-example.json | 2 +- .../r/styles/radix-lyra/navigation-menu.json | 2 +- .../styles/radix-lyra/pagination-example.json | 2 +- .../r/styles/radix-lyra/pagination.json | 2 +- .../r/styles/radix-lyra/popover-example.json | 2 +- .../public/r/styles/radix-lyra/popover.json | 2 +- .../public/r/styles/radix-lyra/preview.json | 2 +- .../r/styles/radix-lyra/progress-example.json | 2 +- .../public/r/styles/radix-lyra/progress.json | 2 +- .../radix-lyra/radio-group-example.json | 2 +- .../r/styles/radix-lyra/radio-group.json | 2 +- .../public/r/styles/radix-lyra/registry.json | 66 - .../styles/radix-lyra/resizable-example.json | 2 +- .../public/r/styles/radix-lyra/resizable.json | 2 +- .../radix-lyra/scroll-area-example.json | 2 +- .../r/styles/radix-lyra/scroll-area.json | 2 +- .../r/styles/radix-lyra/select-example.json | 2 +- .../v4/public/r/styles/radix-lyra/select.json | 2 +- .../styles/radix-lyra/separator-example.json | 2 +- .../public/r/styles/radix-lyra/separator.json | 2 +- .../r/styles/radix-lyra/sheet-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/sheet.json | 2 +- .../r/styles/radix-lyra/sidebar-example.json | 2 +- .../radix-lyra/sidebar-floating-example.json | 2 +- .../radix-lyra/sidebar-icon-example.json | 2 +- .../radix-lyra/sidebar-inset-example.json | 2 +- .../public/r/styles/radix-lyra/sidebar.json | 2 +- apps/v4/public/r/styles/radix-lyra/sink.json | 68 - .../r/styles/radix-lyra/skeleton-example.json | 2 +- .../public/r/styles/radix-lyra/skeleton.json | 2 +- .../r/styles/radix-lyra/slider-example.json | 2 +- .../v4/public/r/styles/radix-lyra/slider.json | 2 +- .../r/styles/radix-lyra/sonner-example.json | 2 +- .../r/styles/radix-lyra/spinner-example.json | 2 +- .../public/r/styles/radix-lyra/spinner.json | 2 +- .../r/styles/radix-lyra/switch-example.json | 2 +- .../v4/public/r/styles/radix-lyra/switch.json | 2 +- .../r/styles/radix-lyra/table-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/table.json | 2 +- .../r/styles/radix-lyra/tabs-example.json | 2 +- apps/v4/public/r/styles/radix-lyra/tabs.json | 2 +- .../r/styles/radix-lyra/textarea-example.json | 2 +- .../public/r/styles/radix-lyra/textarea.json | 2 +- .../r/styles/radix-lyra/toggle-example.json | 2 +- .../radix-lyra/toggle-group-example.json | 2 +- .../r/styles/radix-lyra/toggle-group.json | 2 +- .../v4/public/r/styles/radix-lyra/toggle.json | 2 +- .../r/styles/radix-lyra/tooltip-example.json | 2 +- .../public/r/styles/radix-lyra/tooltip.json | 2 +- .../v4/public/r/styles/radix-lyra/vercel.json | 2 +- .../styles/radix-maia/accordion-example.json | 2 +- .../public/r/styles/radix-maia/accordion.json | 2 +- .../radix-maia/alert-dialog-example.json | 2 +- .../r/styles/radix-maia/alert-dialog.json | 2 +- .../r/styles/radix-maia/alert-example.json | 2 +- apps/v4/public/r/styles/radix-maia/alert.json | 2 +- .../radix-maia/aspect-ratio-example.json | 2 +- .../r/styles/radix-maia/avatar-example.json | 2 +- .../v4/public/r/styles/radix-maia/avatar.json | 2 +- .../r/styles/radix-maia/badge-example.json | 2 +- apps/v4/public/r/styles/radix-maia/badge.json | 2 +- .../v4/public/r/styles/radix-maia/blocks.json | 40 - .../styles/radix-maia/breadcrumb-example.json | 2 +- .../r/styles/radix-maia/breadcrumb.json | 2 +- .../r/styles/radix-maia/button-example.json | 2 +- .../radix-maia/button-group-example.json | 2 +- .../r/styles/radix-maia/button-group.json | 2 +- .../v4/public/r/styles/radix-maia/button.json | 2 +- .../r/styles/radix-maia/calendar-example.json | 2 +- .../public/r/styles/radix-maia/calendar.json | 2 +- .../r/styles/radix-maia/card-example.json | 2 +- apps/v4/public/r/styles/radix-maia/card.json | 2 +- .../r/styles/radix-maia/carousel-example.json | 2 +- .../public/r/styles/radix-maia/carousel.json | 2 +- .../r/styles/radix-maia/chart-example.json | 2 +- apps/v4/public/r/styles/radix-maia/chart.json | 2 +- .../public/r/styles/radix-maia/chatgpt.json | 2 +- .../r/styles/radix-maia/checkbox-example.json | 2 +- .../public/r/styles/radix-maia/checkbox.json | 2 +- .../radix-maia/collapsible-example.json | 2 +- .../r/styles/radix-maia/combobox-example.json | 2 +- .../public/r/styles/radix-maia/combobox.json | 2 +- .../r/styles/radix-maia/command-example.json | 2 +- .../public/r/styles/radix-maia/command.json | 2 +- .../styles/radix-maia/component-example.json | 2 +- .../radix-maia/context-menu-example.json | 2 +- .../r/styles/radix-maia/context-menu.json | 2 +- .../r/styles/radix-maia/dialog-example.json | 2 +- .../v4/public/r/styles/radix-maia/dialog.json | 2 +- .../r/styles/radix-maia/drawer-example.json | 2 +- .../v4/public/r/styles/radix-maia/drawer.json | 2 +- .../radix-maia/dropdown-menu-example.json | 2 +- .../r/styles/radix-maia/dropdown-menu.json | 2 +- .../r/styles/radix-maia/elevenlabs.json | 2 +- .../r/styles/radix-maia/empty-example.json | 2 +- apps/v4/public/r/styles/radix-maia/empty.json | 2 +- .../public/r/styles/radix-maia/example.json | 2 +- .../r/styles/radix-maia/field-example.json | 2 +- apps/v4/public/r/styles/radix-maia/field.json | 2 +- .../r/styles/radix-maia/font-geist-mono.json | 15 - .../v4/public/r/styles/radix-maia/github.json | 2 +- .../styles/radix-maia/hover-card-example.json | 2 +- .../r/styles/radix-maia/hover-card.json | 2 +- .../r/styles/radix-maia/input-example.json | 2 +- .../radix-maia/input-group-example.json | 2 +- .../r/styles/radix-maia/input-group.json | 2 +- .../styles/radix-maia/input-otp-example.json | 2 +- .../public/r/styles/radix-maia/input-otp.json | 2 +- apps/v4/public/r/styles/radix-maia/input.json | 2 +- .../r/styles/radix-maia/item-example.json | 2 +- apps/v4/public/r/styles/radix-maia/item.json | 2 +- .../r/styles/radix-maia/kbd-example.json | 2 +- apps/v4/public/r/styles/radix-maia/kbd.json | 2 +- .../r/styles/radix-maia/label-example.json | 2 +- apps/v4/public/r/styles/radix-maia/label.json | 2 +- .../r/styles/radix-maia/menubar-example.json | 2 +- .../public/r/styles/radix-maia/menubar.json | 2 +- .../radix-maia/native-select-example.json | 2 +- .../r/styles/radix-maia/native-select.json | 2 +- .../radix-maia/navigation-menu-example.json | 2 +- .../r/styles/radix-maia/navigation-menu.json | 2 +- .../styles/radix-maia/pagination-example.json | 2 +- .../r/styles/radix-maia/pagination.json | 2 +- .../r/styles/radix-maia/popover-example.json | 2 +- .../public/r/styles/radix-maia/popover.json | 2 +- .../public/r/styles/radix-maia/preview.json | 2 +- .../r/styles/radix-maia/progress-example.json | 2 +- .../public/r/styles/radix-maia/progress.json | 2 +- .../radix-maia/radio-group-example.json | 2 +- .../r/styles/radix-maia/radio-group.json | 2 +- .../public/r/styles/radix-maia/registry.json | 66 - .../styles/radix-maia/resizable-example.json | 2 +- .../public/r/styles/radix-maia/resizable.json | 2 +- .../radix-maia/scroll-area-example.json | 2 +- .../r/styles/radix-maia/scroll-area.json | 2 +- .../r/styles/radix-maia/select-example.json | 2 +- .../v4/public/r/styles/radix-maia/select.json | 2 +- .../styles/radix-maia/separator-example.json | 2 +- .../public/r/styles/radix-maia/separator.json | 2 +- .../r/styles/radix-maia/sheet-example.json | 2 +- apps/v4/public/r/styles/radix-maia/sheet.json | 2 +- .../r/styles/radix-maia/sidebar-example.json | 2 +- .../radix-maia/sidebar-floating-example.json | 2 +- .../radix-maia/sidebar-icon-example.json | 2 +- .../radix-maia/sidebar-inset-example.json | 2 +- .../public/r/styles/radix-maia/sidebar.json | 2 +- apps/v4/public/r/styles/radix-maia/sink.json | 68 - .../r/styles/radix-maia/skeleton-example.json | 2 +- .../public/r/styles/radix-maia/skeleton.json | 2 +- .../r/styles/radix-maia/slider-example.json | 2 +- .../v4/public/r/styles/radix-maia/slider.json | 2 +- .../r/styles/radix-maia/sonner-example.json | 2 +- .../r/styles/radix-maia/spinner-example.json | 2 +- .../public/r/styles/radix-maia/spinner.json | 2 +- .../r/styles/radix-maia/switch-example.json | 2 +- .../v4/public/r/styles/radix-maia/switch.json | 2 +- .../r/styles/radix-maia/table-example.json | 2 +- apps/v4/public/r/styles/radix-maia/table.json | 2 +- .../r/styles/radix-maia/tabs-example.json | 2 +- apps/v4/public/r/styles/radix-maia/tabs.json | 2 +- .../r/styles/radix-maia/textarea-example.json | 2 +- .../public/r/styles/radix-maia/textarea.json | 2 +- .../r/styles/radix-maia/toggle-example.json | 2 +- .../radix-maia/toggle-group-example.json | 2 +- .../r/styles/radix-maia/toggle-group.json | 2 +- .../v4/public/r/styles/radix-maia/toggle.json | 2 +- .../r/styles/radix-maia/tooltip-example.json | 2 +- .../public/r/styles/radix-maia/tooltip.json | 2 +- .../v4/public/r/styles/radix-maia/vercel.json | 2 +- .../styles/radix-mira/accordion-example.json | 2 +- .../public/r/styles/radix-mira/accordion.json | 2 +- .../radix-mira/alert-dialog-example.json | 2 +- .../r/styles/radix-mira/alert-dialog.json | 2 +- .../r/styles/radix-mira/alert-example.json | 2 +- apps/v4/public/r/styles/radix-mira/alert.json | 2 +- .../radix-mira/aspect-ratio-example.json | 2 +- .../r/styles/radix-mira/avatar-example.json | 2 +- .../v4/public/r/styles/radix-mira/avatar.json | 2 +- .../r/styles/radix-mira/badge-example.json | 2 +- apps/v4/public/r/styles/radix-mira/badge.json | 2 +- .../v4/public/r/styles/radix-mira/blocks.json | 40 - .../styles/radix-mira/breadcrumb-example.json | 2 +- .../r/styles/radix-mira/breadcrumb.json | 2 +- .../r/styles/radix-mira/button-example.json | 2 +- .../radix-mira/button-group-example.json | 2 +- .../r/styles/radix-mira/button-group.json | 2 +- .../v4/public/r/styles/radix-mira/button.json | 2 +- .../r/styles/radix-mira/calendar-example.json | 2 +- .../public/r/styles/radix-mira/calendar.json | 2 +- .../r/styles/radix-mira/card-example.json | 2 +- apps/v4/public/r/styles/radix-mira/card.json | 2 +- .../r/styles/radix-mira/carousel-example.json | 2 +- .../public/r/styles/radix-mira/carousel.json | 2 +- .../r/styles/radix-mira/chart-example.json | 2 +- apps/v4/public/r/styles/radix-mira/chart.json | 2 +- .../public/r/styles/radix-mira/chatgpt.json | 2 +- .../r/styles/radix-mira/checkbox-example.json | 2 +- .../public/r/styles/radix-mira/checkbox.json | 2 +- .../radix-mira/collapsible-example.json | 2 +- .../r/styles/radix-mira/combobox-example.json | 2 +- .../public/r/styles/radix-mira/combobox.json | 2 +- .../r/styles/radix-mira/command-example.json | 2 +- .../public/r/styles/radix-mira/command.json | 2 +- .../styles/radix-mira/component-example.json | 2 +- .../radix-mira/context-menu-example.json | 2 +- .../r/styles/radix-mira/context-menu.json | 2 +- .../r/styles/radix-mira/dialog-example.json | 2 +- .../v4/public/r/styles/radix-mira/dialog.json | 2 +- .../r/styles/radix-mira/drawer-example.json | 2 +- .../v4/public/r/styles/radix-mira/drawer.json | 2 +- .../radix-mira/dropdown-menu-example.json | 2 +- .../r/styles/radix-mira/dropdown-menu.json | 2 +- .../r/styles/radix-mira/elevenlabs.json | 2 +- .../r/styles/radix-mira/empty-example.json | 2 +- apps/v4/public/r/styles/radix-mira/empty.json | 2 +- .../public/r/styles/radix-mira/example.json | 2 +- .../r/styles/radix-mira/field-example.json | 2 +- apps/v4/public/r/styles/radix-mira/field.json | 2 +- .../r/styles/radix-mira/font-geist-mono.json | 15 - .../v4/public/r/styles/radix-mira/github.json | 2 +- .../styles/radix-mira/hover-card-example.json | 2 +- .../r/styles/radix-mira/hover-card.json | 2 +- .../r/styles/radix-mira/input-example.json | 2 +- .../radix-mira/input-group-example.json | 2 +- .../r/styles/radix-mira/input-group.json | 2 +- .../styles/radix-mira/input-otp-example.json | 2 +- .../public/r/styles/radix-mira/input-otp.json | 2 +- apps/v4/public/r/styles/radix-mira/input.json | 2 +- .../r/styles/radix-mira/item-example.json | 2 +- apps/v4/public/r/styles/radix-mira/item.json | 2 +- .../r/styles/radix-mira/kbd-example.json | 2 +- apps/v4/public/r/styles/radix-mira/kbd.json | 2 +- .../r/styles/radix-mira/label-example.json | 2 +- apps/v4/public/r/styles/radix-mira/label.json | 2 +- .../r/styles/radix-mira/menubar-example.json | 2 +- .../public/r/styles/radix-mira/menubar.json | 2 +- .../radix-mira/native-select-example.json | 2 +- .../r/styles/radix-mira/native-select.json | 2 +- .../radix-mira/navigation-menu-example.json | 2 +- .../r/styles/radix-mira/navigation-menu.json | 2 +- .../styles/radix-mira/pagination-example.json | 2 +- .../r/styles/radix-mira/pagination.json | 2 +- .../r/styles/radix-mira/popover-example.json | 2 +- .../public/r/styles/radix-mira/popover.json | 2 +- .../public/r/styles/radix-mira/preview.json | 2 +- .../r/styles/radix-mira/progress-example.json | 2 +- .../public/r/styles/radix-mira/progress.json | 2 +- .../radix-mira/radio-group-example.json | 2 +- .../r/styles/radix-mira/radio-group.json | 2 +- .../public/r/styles/radix-mira/registry.json | 66 - .../styles/radix-mira/resizable-example.json | 2 +- .../public/r/styles/radix-mira/resizable.json | 2 +- .../radix-mira/scroll-area-example.json | 2 +- .../r/styles/radix-mira/scroll-area.json | 2 +- .../r/styles/radix-mira/select-example.json | 2 +- .../v4/public/r/styles/radix-mira/select.json | 2 +- .../styles/radix-mira/separator-example.json | 2 +- .../public/r/styles/radix-mira/separator.json | 2 +- .../r/styles/radix-mira/sheet-example.json | 2 +- apps/v4/public/r/styles/radix-mira/sheet.json | 2 +- .../r/styles/radix-mira/sidebar-example.json | 2 +- .../radix-mira/sidebar-floating-example.json | 2 +- .../radix-mira/sidebar-icon-example.json | 2 +- .../radix-mira/sidebar-inset-example.json | 2 +- .../public/r/styles/radix-mira/sidebar.json | 2 +- apps/v4/public/r/styles/radix-mira/sink.json | 68 - .../r/styles/radix-mira/skeleton-example.json | 2 +- .../public/r/styles/radix-mira/skeleton.json | 2 +- .../r/styles/radix-mira/slider-example.json | 2 +- .../v4/public/r/styles/radix-mira/slider.json | 2 +- .../r/styles/radix-mira/sonner-example.json | 2 +- .../r/styles/radix-mira/spinner-example.json | 2 +- .../public/r/styles/radix-mira/spinner.json | 2 +- .../r/styles/radix-mira/switch-example.json | 2 +- .../v4/public/r/styles/radix-mira/switch.json | 2 +- .../r/styles/radix-mira/table-example.json | 2 +- apps/v4/public/r/styles/radix-mira/table.json | 2 +- .../r/styles/radix-mira/tabs-example.json | 2 +- apps/v4/public/r/styles/radix-mira/tabs.json | 2 +- .../r/styles/radix-mira/textarea-example.json | 2 +- .../public/r/styles/radix-mira/textarea.json | 2 +- .../r/styles/radix-mira/toggle-example.json | 2 +- .../radix-mira/toggle-group-example.json | 2 +- .../r/styles/radix-mira/toggle-group.json | 2 +- .../v4/public/r/styles/radix-mira/toggle.json | 2 +- .../r/styles/radix-mira/tooltip-example.json | 2 +- .../public/r/styles/radix-mira/tooltip.json | 2 +- .../v4/public/r/styles/radix-mira/vercel.json | 2 +- .../styles/radix-nova/accordion-example.json | 2 +- .../public/r/styles/radix-nova/accordion.json | 2 +- .../radix-nova/alert-dialog-example.json | 2 +- .../r/styles/radix-nova/alert-dialog.json | 2 +- .../r/styles/radix-nova/alert-example.json | 2 +- apps/v4/public/r/styles/radix-nova/alert.json | 2 +- .../radix-nova/aspect-ratio-example.json | 2 +- .../r/styles/radix-nova/avatar-example.json | 2 +- .../v4/public/r/styles/radix-nova/avatar.json | 2 +- .../r/styles/radix-nova/badge-example.json | 2 +- apps/v4/public/r/styles/radix-nova/badge.json | 2 +- .../v4/public/r/styles/radix-nova/blocks.json | 40 - .../styles/radix-nova/breadcrumb-example.json | 2 +- .../r/styles/radix-nova/breadcrumb.json | 2 +- .../r/styles/radix-nova/button-example.json | 2 +- .../radix-nova/button-group-example.json | 2 +- .../r/styles/radix-nova/button-group.json | 2 +- .../v4/public/r/styles/radix-nova/button.json | 2 +- .../r/styles/radix-nova/calendar-example.json | 2 +- .../public/r/styles/radix-nova/calendar.json | 2 +- .../r/styles/radix-nova/card-example.json | 2 +- apps/v4/public/r/styles/radix-nova/card.json | 2 +- .../r/styles/radix-nova/carousel-example.json | 2 +- .../public/r/styles/radix-nova/carousel.json | 2 +- .../r/styles/radix-nova/chart-example.json | 2 +- apps/v4/public/r/styles/radix-nova/chart.json | 2 +- .../public/r/styles/radix-nova/chatgpt.json | 2 +- .../r/styles/radix-nova/checkbox-example.json | 2 +- .../public/r/styles/radix-nova/checkbox.json | 2 +- apps/v4/public/r/styles/radix-nova/cn.json | 16 - .../radix-nova/collapsible-example.json | 2 +- .../r/styles/radix-nova/combobox-example.json | 2 +- .../public/r/styles/radix-nova/combobox.json | 2 +- .../r/styles/radix-nova/command-example.json | 2 +- .../public/r/styles/radix-nova/command.json | 2 +- .../styles/radix-nova/component-example.json | 2 +- .../radix-nova/context-menu-example.json | 2 +- .../r/styles/radix-nova/context-menu.json | 2 +- apps/v4/public/r/styles/radix-nova/cover.json | 40 - .../r/styles/radix-nova/dashboard-01.json | 32 - .../r/styles/radix-nova/dialog-example.json | 2 +- .../v4/public/r/styles/radix-nova/dialog.json | 2 +- .../r/styles/radix-nova/drawer-example.json | 2 +- .../v4/public/r/styles/radix-nova/drawer.json | 2 +- .../radix-nova/dropdown-menu-example.json | 2 +- .../r/styles/radix-nova/dropdown-menu.json | 2 +- .../r/styles/radix-nova/elevenlabs.json | 2 +- .../r/styles/radix-nova/empty-example.json | 2 +- apps/v4/public/r/styles/radix-nova/empty.json | 2 +- .../public/r/styles/radix-nova/example.json | 2 +- .../r/styles/radix-nova/field-example.json | 2 +- apps/v4/public/r/styles/radix-nova/field.json | 2 +- .../r/styles/radix-nova/font-geist-mono.json | 15 - .../v4/public/r/styles/radix-nova/github.json | 2 +- .../styles/radix-nova/hover-card-example.json | 2 +- .../r/styles/radix-nova/hover-card.json | 2 +- .../r/styles/radix-nova/input-example.json | 2 +- .../radix-nova/input-group-example.json | 2 +- .../r/styles/radix-nova/input-group.json | 2 +- .../styles/radix-nova/input-otp-example.json | 2 +- .../public/r/styles/radix-nova/input-otp.json | 2 +- apps/v4/public/r/styles/radix-nova/input.json | 2 +- .../r/styles/radix-nova/item-example.json | 2 +- apps/v4/public/r/styles/radix-nova/item.json | 2 +- .../r/styles/radix-nova/kbd-example.json | 2 +- apps/v4/public/r/styles/radix-nova/kbd.json | 2 +- .../r/styles/radix-nova/label-example.json | 2 +- apps/v4/public/r/styles/radix-nova/label.json | 2 +- .../r/styles/radix-nova/menubar-example.json | 2 +- .../public/r/styles/radix-nova/menubar.json | 2 +- .../radix-nova/native-select-example.json | 2 +- .../r/styles/radix-nova/native-select.json | 2 +- .../radix-nova/navigation-menu-example.json | 2 +- .../r/styles/radix-nova/navigation-menu.json | 2 +- .../styles/radix-nova/pagination-example.json | 2 +- .../r/styles/radix-nova/pagination.json | 2 +- .../r/styles/radix-nova/popover-example.json | 2 +- .../public/r/styles/radix-nova/popover.json | 2 +- .../public/r/styles/radix-nova/preview.json | 2 +- .../r/styles/radix-nova/progress-example.json | 2 +- .../public/r/styles/radix-nova/progress.json | 2 +- .../radix-nova/radio-group-example.json | 2 +- .../r/styles/radix-nova/radio-group.json | 2 +- .../public/r/styles/radix-nova/registry.json | 66 - .../styles/radix-nova/resizable-example.json | 2 +- .../public/r/styles/radix-nova/resizable.json | 2 +- .../radix-nova/scroll-area-example.json | 2 +- .../r/styles/radix-nova/scroll-area.json | 2 +- .../r/styles/radix-nova/select-example.json | 2 +- .../v4/public/r/styles/radix-nova/select.json | 2 +- .../styles/radix-nova/separator-example.json | 2 +- .../public/r/styles/radix-nova/separator.json | 2 +- .../r/styles/radix-nova/sheet-example.json | 2 +- apps/v4/public/r/styles/radix-nova/sheet.json | 2 +- .../r/styles/radix-nova/sidebar-example.json | 2 +- .../radix-nova/sidebar-floating-example.json | 2 +- .../radix-nova/sidebar-icon-example.json | 2 +- .../radix-nova/sidebar-inset-example.json | 2 +- .../public/r/styles/radix-nova/sidebar.json | 2 +- apps/v4/public/r/styles/radix-nova/sink.json | 68 - .../r/styles/radix-nova/skeleton-example.json | 2 +- .../public/r/styles/radix-nova/skeleton.json | 2 +- .../r/styles/radix-nova/slider-example.json | 2 +- .../v4/public/r/styles/radix-nova/slider.json | 2 +- .../r/styles/radix-nova/sonner-example.json | 2 +- .../r/styles/radix-nova/spinner-example.json | 2 +- .../public/r/styles/radix-nova/spinner.json | 2 +- .../r/styles/radix-nova/switch-example.json | 2 +- .../v4/public/r/styles/radix-nova/switch.json | 2 +- .../r/styles/radix-nova/table-example.json | 2 +- apps/v4/public/r/styles/radix-nova/table.json | 2 +- .../r/styles/radix-nova/tabs-example.json | 2 +- apps/v4/public/r/styles/radix-nova/tabs.json | 2 +- .../r/styles/radix-nova/textarea-example.json | 2 +- .../public/r/styles/radix-nova/textarea.json | 2 +- .../r/styles/radix-nova/toggle-example.json | 2 +- .../radix-nova/toggle-group-example.json | 2 +- .../r/styles/radix-nova/toggle-group.json | 2 +- .../v4/public/r/styles/radix-nova/toggle.json | 2 +- .../r/styles/radix-nova/tooltip-example.json | 2 +- .../public/r/styles/radix-nova/tooltip.json | 2 +- .../v4/public/r/styles/radix-nova/vercel.json | 2 +- .../styles/radix-vega/accordion-example.json | 2 +- .../public/r/styles/radix-vega/accordion.json | 2 +- .../radix-vega/alert-dialog-example.json | 2 +- .../r/styles/radix-vega/alert-dialog.json | 2 +- .../r/styles/radix-vega/alert-example.json | 2 +- apps/v4/public/r/styles/radix-vega/alert.json | 2 +- .../radix-vega/aspect-ratio-example.json | 2 +- .../r/styles/radix-vega/avatar-example.json | 2 +- .../v4/public/r/styles/radix-vega/avatar.json | 2 +- .../r/styles/radix-vega/badge-example.json | 2 +- apps/v4/public/r/styles/radix-vega/badge.json | 2 +- .../v4/public/r/styles/radix-vega/blocks.json | 40 - .../styles/radix-vega/breadcrumb-example.json | 2 +- .../r/styles/radix-vega/breadcrumb.json | 2 +- .../r/styles/radix-vega/button-example.json | 2 +- .../radix-vega/button-group-example.json | 2 +- .../r/styles/radix-vega/button-group.json | 2 +- .../v4/public/r/styles/radix-vega/button.json | 2 +- .../r/styles/radix-vega/calendar-example.json | 2 +- .../public/r/styles/radix-vega/calendar.json | 2 +- .../r/styles/radix-vega/card-example.json | 2 +- apps/v4/public/r/styles/radix-vega/card.json | 2 +- .../r/styles/radix-vega/carousel-example.json | 2 +- .../public/r/styles/radix-vega/carousel.json | 2 +- .../r/styles/radix-vega/chart-example.json | 2 +- apps/v4/public/r/styles/radix-vega/chart.json | 2 +- .../public/r/styles/radix-vega/chatgpt.json | 2 +- .../r/styles/radix-vega/checkbox-example.json | 2 +- .../public/r/styles/radix-vega/checkbox.json | 2 +- apps/v4/public/r/styles/radix-vega/cn.json | 16 - .../radix-vega/collapsible-example.json | 2 +- .../r/styles/radix-vega/combobox-example.json | 2 +- .../public/r/styles/radix-vega/combobox.json | 2 +- .../r/styles/radix-vega/command-example.json | 2 +- .../public/r/styles/radix-vega/command.json | 2 +- .../styles/radix-vega/component-example.json | 2 +- .../radix-vega/context-menu-example.json | 2 +- .../r/styles/radix-vega/context-menu.json | 2 +- apps/v4/public/r/styles/radix-vega/cover.json | 40 - .../r/styles/radix-vega/dashboard-01.json | 32 - .../r/styles/radix-vega/dialog-example.json | 2 +- .../v4/public/r/styles/radix-vega/dialog.json | 2 +- .../r/styles/radix-vega/drawer-example.json | 2 +- .../v4/public/r/styles/radix-vega/drawer.json | 2 +- .../radix-vega/dropdown-menu-example.json | 2 +- .../r/styles/radix-vega/dropdown-menu.json | 2 +- .../r/styles/radix-vega/elevenlabs.json | 2 +- .../r/styles/radix-vega/empty-example.json | 2 +- apps/v4/public/r/styles/radix-vega/empty.json | 2 +- .../public/r/styles/radix-vega/example.json | 2 +- .../r/styles/radix-vega/field-example.json | 2 +- apps/v4/public/r/styles/radix-vega/field.json | 2 +- .../r/styles/radix-vega/font-geist-mono.json | 15 - .../v4/public/r/styles/radix-vega/github.json | 2 +- .../styles/radix-vega/hover-card-example.json | 2 +- .../r/styles/radix-vega/hover-card.json | 2 +- .../r/styles/radix-vega/input-example.json | 2 +- .../radix-vega/input-group-example.json | 2 +- .../r/styles/radix-vega/input-group.json | 2 +- .../styles/radix-vega/input-otp-example.json | 2 +- .../public/r/styles/radix-vega/input-otp.json | 2 +- apps/v4/public/r/styles/radix-vega/input.json | 2 +- .../r/styles/radix-vega/item-example.json | 2 +- apps/v4/public/r/styles/radix-vega/item.json | 2 +- .../r/styles/radix-vega/kbd-example.json | 2 +- apps/v4/public/r/styles/radix-vega/kbd.json | 2 +- .../r/styles/radix-vega/label-example.json | 2 +- apps/v4/public/r/styles/radix-vega/label.json | 2 +- .../r/styles/radix-vega/menubar-example.json | 2 +- .../public/r/styles/radix-vega/menubar.json | 2 +- .../radix-vega/native-select-example.json | 2 +- .../r/styles/radix-vega/native-select.json | 2 +- .../radix-vega/navigation-menu-example.json | 2 +- .../r/styles/radix-vega/navigation-menu.json | 2 +- .../styles/radix-vega/pagination-example.json | 2 +- .../r/styles/radix-vega/pagination.json | 2 +- .../r/styles/radix-vega/popover-example.json | 2 +- .../public/r/styles/radix-vega/popover.json | 2 +- .../public/r/styles/radix-vega/preview.json | 2 +- .../r/styles/radix-vega/progress-example.json | 2 +- .../public/r/styles/radix-vega/progress.json | 2 +- .../radix-vega/radio-group-example.json | 2 +- .../r/styles/radix-vega/radio-group.json | 2 +- .../public/r/styles/radix-vega/registry.json | 66 - .../styles/radix-vega/resizable-example.json | 2 +- .../public/r/styles/radix-vega/resizable.json | 2 +- .../radix-vega/scroll-area-example.json | 2 +- .../r/styles/radix-vega/scroll-area.json | 2 +- .../r/styles/radix-vega/select-example.json | 2 +- .../v4/public/r/styles/radix-vega/select.json | 2 +- .../styles/radix-vega/separator-example.json | 2 +- .../public/r/styles/radix-vega/separator.json | 2 +- .../r/styles/radix-vega/sheet-example.json | 2 +- apps/v4/public/r/styles/radix-vega/sheet.json | 2 +- .../r/styles/radix-vega/sidebar-example.json | 2 +- .../radix-vega/sidebar-floating-example.json | 2 +- .../radix-vega/sidebar-icon-example.json | 2 +- .../radix-vega/sidebar-inset-example.json | 2 +- .../public/r/styles/radix-vega/sidebar.json | 2 +- apps/v4/public/r/styles/radix-vega/sink.json | 68 - .../r/styles/radix-vega/skeleton-example.json | 2 +- .../public/r/styles/radix-vega/skeleton.json | 2 +- .../r/styles/radix-vega/slider-example.json | 2 +- .../v4/public/r/styles/radix-vega/slider.json | 2 +- .../r/styles/radix-vega/sonner-example.json | 2 +- .../r/styles/radix-vega/spinner-example.json | 2 +- .../public/r/styles/radix-vega/spinner.json | 2 +- .../r/styles/radix-vega/switch-example.json | 2 +- .../v4/public/r/styles/radix-vega/switch.json | 2 +- .../r/styles/radix-vega/table-example.json | 2 +- apps/v4/public/r/styles/radix-vega/table.json | 2 +- .../r/styles/radix-vega/tabs-example.json | 2 +- apps/v4/public/r/styles/radix-vega/tabs.json | 2 +- .../r/styles/radix-vega/textarea-example.json | 2 +- .../public/r/styles/radix-vega/textarea.json | 2 +- .../r/styles/radix-vega/toggle-example.json | 2 +- .../radix-vega/toggle-group-example.json | 2 +- .../r/styles/radix-vega/toggle-group.json | 2 +- .../v4/public/r/styles/radix-vega/toggle.json | 2 +- .../r/styles/radix-vega/tooltip-example.json | 2 +- .../public/r/styles/radix-vega/tooltip.json | 2 +- .../v4/public/r/styles/radix-vega/vercel.json | 2 +- apps/v4/registry/__index__.tsx | 247 - apps/v4/registry/_legacy-styles.ts | 8 + apps/v4/registry/bases/__index__.tsx | 158 - .../bases/base/components/example.tsx | 10 +- apps/v4/registry/bases/base/ui/badge.tsx | 2 +- apps/v4/registry/bases/base/ui/command.tsx | 5 +- .../registry/bases/base/ui/dropdown-menu.tsx | 2 +- .../bases/base/ui/navigation-menu.tsx | 6 +- apps/v4/registry/bases/base/ui/slider.tsx | 11 +- apps/v4/registry/bases/base/ui/tabs.tsx | 2 +- .../bases/radix/components/example.tsx | 10 +- apps/v4/registry/bases/radix/ui/badge.tsx | 2 +- apps/v4/registry/bases/radix/ui/command.tsx | 5 +- .../new-york-v4/charts/chart-radar-legend.tsx | 2 +- apps/v4/registry/styles/style-nova.css | 2 +- apps/v4/scripts/build-examples.ts | 72 + apps/v4/scripts/build-registry.mts | 91 +- apps/v4/styles/globals.css | 9 +- package.json | 1 + pnpm-lock.yaml | 144 +- 2309 files changed, 75081 insertions(+), 8903 deletions(-) create mode 100644 apps/v4/components/docs-base-switcher.tsx create mode 100644 apps/v4/components/docs-page-links.tsx delete mode 100644 apps/v4/content/docs/components/accordion.mdx delete mode 100644 apps/v4/content/docs/components/alert-dialog.mdx delete mode 100644 apps/v4/content/docs/components/alert.mdx delete mode 100644 apps/v4/content/docs/components/aspect-ratio.mdx delete mode 100644 apps/v4/content/docs/components/avatar.mdx delete mode 100644 apps/v4/content/docs/components/badge.mdx create mode 100644 apps/v4/content/docs/components/base/accordion.mdx create mode 100644 apps/v4/content/docs/components/base/alert-dialog.mdx create mode 100644 apps/v4/content/docs/components/base/alert.mdx create mode 100644 apps/v4/content/docs/components/base/aspect-ratio.mdx create mode 100644 apps/v4/content/docs/components/base/avatar.mdx create mode 100644 apps/v4/content/docs/components/base/badge.mdx create mode 100644 apps/v4/content/docs/components/base/breadcrumb.mdx rename apps/v4/content/docs/components/{ => base}/button-group.mdx (80%) create mode 100644 apps/v4/content/docs/components/base/button.mdx rename apps/v4/content/docs/components/{ => base}/calendar.mdx (83%) create mode 100644 apps/v4/content/docs/components/base/card.mdx rename apps/v4/content/docs/components/{ => base}/carousel.mdx (84%) rename apps/v4/content/docs/components/{ => base}/chart.mdx (88%) create mode 100644 apps/v4/content/docs/components/base/checkbox.mdx create mode 100644 apps/v4/content/docs/components/base/collapsible.mdx create mode 100644 apps/v4/content/docs/components/base/combobox.mdx create mode 100644 apps/v4/content/docs/components/base/command.mdx create mode 100644 apps/v4/content/docs/components/base/context-menu.mdx rename apps/v4/content/docs/components/{ => base}/data-table.mdx (97%) create mode 100644 apps/v4/content/docs/components/base/date-picker.mdx create mode 100644 apps/v4/content/docs/components/base/dialog.mdx rename apps/v4/content/docs/components/{ => base}/drawer.mdx (67%) create mode 100644 apps/v4/content/docs/components/base/dropdown-menu.mdx rename apps/v4/content/docs/components/{ => base}/empty.mdx (82%) rename apps/v4/content/docs/components/{ => base}/field.mdx (89%) create mode 100644 apps/v4/content/docs/components/base/hover-card.mdx create mode 100644 apps/v4/content/docs/components/base/input-group.mdx create mode 100644 apps/v4/content/docs/components/base/input-otp.mdx create mode 100644 apps/v4/content/docs/components/base/input.mdx create mode 100644 apps/v4/content/docs/components/base/item.mdx rename apps/v4/content/docs/components/{ => base}/kbd.mdx (75%) create mode 100644 apps/v4/content/docs/components/base/label.mdx create mode 100644 apps/v4/content/docs/components/base/menubar.mdx create mode 100644 apps/v4/content/docs/components/base/meta.json create mode 100644 apps/v4/content/docs/components/base/native-select.mdx create mode 100644 apps/v4/content/docs/components/base/navigation-menu.mdx rename apps/v4/content/docs/components/{ => base}/pagination.mdx (68%) create mode 100644 apps/v4/content/docs/components/base/popover.mdx create mode 100644 apps/v4/content/docs/components/base/progress.mdx create mode 100644 apps/v4/content/docs/components/base/radio-group.mdx rename apps/v4/content/docs/components/{ => base}/resizable.mdx (51%) create mode 100644 apps/v4/content/docs/components/base/scroll-area.mdx create mode 100644 apps/v4/content/docs/components/base/select.mdx create mode 100644 apps/v4/content/docs/components/base/separator.mdx create mode 100644 apps/v4/content/docs/components/base/sheet.mdx create mode 100644 apps/v4/content/docs/components/base/sidebar.mdx rename apps/v4/content/docs/components/{ => base}/skeleton.mdx (53%) create mode 100644 apps/v4/content/docs/components/base/slider.mdx create mode 100644 apps/v4/content/docs/components/base/sonner.mdx rename apps/v4/content/docs/components/{ => base}/spinner.mdx (52%) create mode 100644 apps/v4/content/docs/components/base/switch.mdx rename apps/v4/content/docs/components/{ => base}/table.mdx (73%) create mode 100644 apps/v4/content/docs/components/base/tabs.mdx create mode 100644 apps/v4/content/docs/components/base/textarea.mdx create mode 100644 apps/v4/content/docs/components/base/toast.mdx create mode 100644 apps/v4/content/docs/components/base/toggle-group.mdx create mode 100644 apps/v4/content/docs/components/base/toggle.mdx create mode 100644 apps/v4/content/docs/components/base/tooltip.mdx create mode 100644 apps/v4/content/docs/components/base/typography.mdx delete mode 100644 apps/v4/content/docs/components/breadcrumb.mdx delete mode 100644 apps/v4/content/docs/components/button.mdx delete mode 100644 apps/v4/content/docs/components/card.mdx delete mode 100644 apps/v4/content/docs/components/checkbox.mdx delete mode 100644 apps/v4/content/docs/components/collapsible.mdx delete mode 100644 apps/v4/content/docs/components/combobox.mdx delete mode 100644 apps/v4/content/docs/components/command.mdx delete mode 100644 apps/v4/content/docs/components/context-menu.mdx delete mode 100644 apps/v4/content/docs/components/dropdown-menu.mdx delete mode 100644 apps/v4/content/docs/components/form.mdx delete mode 100644 apps/v4/content/docs/components/hover-card.mdx delete mode 100644 apps/v4/content/docs/components/input-otp.mdx delete mode 100644 apps/v4/content/docs/components/input.mdx delete mode 100644 apps/v4/content/docs/components/item.mdx delete mode 100644 apps/v4/content/docs/components/label.mdx delete mode 100644 apps/v4/content/docs/components/menubar.mdx create mode 100644 apps/v4/content/docs/components/meta.json delete mode 100644 apps/v4/content/docs/components/native-select.mdx delete mode 100644 apps/v4/content/docs/components/popover.mdx delete mode 100644 apps/v4/content/docs/components/radio-group.mdx create mode 100644 apps/v4/content/docs/components/radix/accordion.mdx create mode 100644 apps/v4/content/docs/components/radix/alert-dialog.mdx create mode 100644 apps/v4/content/docs/components/radix/alert.mdx create mode 100644 apps/v4/content/docs/components/radix/aspect-ratio.mdx create mode 100644 apps/v4/content/docs/components/radix/avatar.mdx create mode 100644 apps/v4/content/docs/components/radix/badge.mdx create mode 100644 apps/v4/content/docs/components/radix/breadcrumb.mdx create mode 100644 apps/v4/content/docs/components/radix/button-group.mdx create mode 100644 apps/v4/content/docs/components/radix/button.mdx create mode 100644 apps/v4/content/docs/components/radix/calendar.mdx create mode 100644 apps/v4/content/docs/components/radix/card.mdx create mode 100644 apps/v4/content/docs/components/radix/carousel.mdx create mode 100644 apps/v4/content/docs/components/radix/chart.mdx create mode 100644 apps/v4/content/docs/components/radix/checkbox.mdx create mode 100644 apps/v4/content/docs/components/radix/collapsible.mdx create mode 100644 apps/v4/content/docs/components/radix/combobox.mdx create mode 100644 apps/v4/content/docs/components/radix/command.mdx create mode 100644 apps/v4/content/docs/components/radix/context-menu.mdx create mode 100644 apps/v4/content/docs/components/radix/data-table.mdx rename apps/v4/content/docs/components/{ => radix}/date-picker.mdx (60%) rename apps/v4/content/docs/components/{ => radix}/dialog.mdx (53%) create mode 100644 apps/v4/content/docs/components/radix/drawer.mdx create mode 100644 apps/v4/content/docs/components/radix/dropdown-menu.mdx create mode 100644 apps/v4/content/docs/components/radix/empty.mdx create mode 100644 apps/v4/content/docs/components/radix/field.mdx create mode 100644 apps/v4/content/docs/components/radix/hover-card.mdx rename apps/v4/content/docs/components/{ => radix}/input-group.mdx (66%) create mode 100644 apps/v4/content/docs/components/radix/input-otp.mdx create mode 100644 apps/v4/content/docs/components/radix/input.mdx create mode 100644 apps/v4/content/docs/components/radix/item.mdx create mode 100644 apps/v4/content/docs/components/radix/kbd.mdx create mode 100644 apps/v4/content/docs/components/radix/label.mdx create mode 100644 apps/v4/content/docs/components/radix/menubar.mdx create mode 100644 apps/v4/content/docs/components/radix/meta.json create mode 100644 apps/v4/content/docs/components/radix/native-select.mdx rename apps/v4/content/docs/components/{ => radix}/navigation-menu.mdx (71%) create mode 100644 apps/v4/content/docs/components/radix/pagination.mdx create mode 100644 apps/v4/content/docs/components/radix/popover.mdx rename apps/v4/content/docs/components/{ => radix}/progress.mdx (56%) create mode 100644 apps/v4/content/docs/components/radix/radio-group.mdx create mode 100644 apps/v4/content/docs/components/radix/resizable.mdx rename apps/v4/content/docs/components/{ => radix}/scroll-area.mdx (58%) create mode 100644 apps/v4/content/docs/components/radix/select.mdx rename apps/v4/content/docs/components/{ => radix}/separator.mdx (50%) rename apps/v4/content/docs/components/{ => radix}/sheet.mdx (51%) rename apps/v4/content/docs/components/{ => radix}/sidebar.mdx (98%) create mode 100644 apps/v4/content/docs/components/radix/skeleton.mdx create mode 100644 apps/v4/content/docs/components/radix/slider.mdx create mode 100644 apps/v4/content/docs/components/radix/sonner.mdx create mode 100644 apps/v4/content/docs/components/radix/spinner.mdx create mode 100644 apps/v4/content/docs/components/radix/switch.mdx create mode 100644 apps/v4/content/docs/components/radix/table.mdx rename apps/v4/content/docs/components/{ => radix}/tabs.mdx (61%) create mode 100644 apps/v4/content/docs/components/radix/textarea.mdx create mode 100644 apps/v4/content/docs/components/radix/toast.mdx create mode 100644 apps/v4/content/docs/components/radix/toggle-group.mdx rename apps/v4/content/docs/components/{ => radix}/toggle.mdx (53%) rename apps/v4/content/docs/components/{ => radix}/tooltip.mdx (57%) create mode 100644 apps/v4/content/docs/components/radix/typography.mdx delete mode 100644 apps/v4/content/docs/components/select.mdx delete mode 100644 apps/v4/content/docs/components/slider.mdx delete mode 100644 apps/v4/content/docs/components/sonner.mdx delete mode 100644 apps/v4/content/docs/components/switch.mdx delete mode 100644 apps/v4/content/docs/components/textarea.mdx delete mode 100644 apps/v4/content/docs/components/toast.mdx delete mode 100644 apps/v4/content/docs/components/toggle-group.mdx delete mode 100644 apps/v4/content/docs/components/typography.mdx create mode 100644 apps/v4/examples/README.md create mode 100644 apps/v4/examples/__index__.tsx create mode 100644 apps/v4/examples/base/accordion-basic.tsx create mode 100644 apps/v4/examples/base/accordion-borders.tsx create mode 100644 apps/v4/examples/base/accordion-card.tsx create mode 100644 apps/v4/examples/base/accordion-demo.tsx create mode 100644 apps/v4/examples/base/accordion-disabled.tsx create mode 100644 apps/v4/examples/base/accordion-multiple.tsx create mode 100644 apps/v4/examples/base/alert-action.tsx create mode 100644 apps/v4/examples/base/alert-basic.tsx create mode 100644 apps/v4/examples/base/alert-colors.tsx create mode 100644 apps/v4/examples/base/alert-demo.tsx create mode 100644 apps/v4/examples/base/alert-destructive.tsx create mode 100644 apps/v4/examples/base/alert-dialog-basic.tsx create mode 100644 apps/v4/examples/base/alert-dialog-demo.tsx create mode 100644 apps/v4/examples/base/alert-dialog-destructive.tsx create mode 100644 apps/v4/examples/base/alert-dialog-media.tsx create mode 100644 apps/v4/examples/base/alert-dialog-small-media.tsx create mode 100644 apps/v4/examples/base/alert-dialog-small.tsx create mode 100644 apps/v4/examples/base/aspect-ratio-demo.tsx create mode 100644 apps/v4/examples/base/aspect-ratio-portrait.tsx create mode 100644 apps/v4/examples/base/aspect-ratio-square.tsx create mode 100644 apps/v4/examples/base/avatar-badge-icon.tsx create mode 100644 apps/v4/examples/base/avatar-badge.tsx create mode 100644 apps/v4/examples/base/avatar-basic.tsx create mode 100644 apps/v4/examples/base/avatar-demo.tsx create mode 100644 apps/v4/examples/base/avatar-dropdown.tsx create mode 100644 apps/v4/examples/base/avatar-group-count-icon.tsx create mode 100644 apps/v4/examples/base/avatar-group-count.tsx create mode 100644 apps/v4/examples/base/avatar-group.tsx create mode 100644 apps/v4/examples/base/avatar-size.tsx create mode 100644 apps/v4/examples/base/badge-colors.tsx create mode 100644 apps/v4/examples/base/badge-demo.tsx create mode 100644 apps/v4/examples/base/badge-icon.tsx create mode 100644 apps/v4/examples/base/badge-link.tsx create mode 100644 apps/v4/examples/base/badge-spinner.tsx create mode 100644 apps/v4/examples/base/badge-variants.tsx create mode 100644 apps/v4/examples/base/breadcrumb-basic.tsx create mode 100644 apps/v4/examples/base/breadcrumb-demo.tsx create mode 100644 apps/v4/examples/base/breadcrumb-dropdown.tsx create mode 100644 apps/v4/examples/base/breadcrumb-ellipsis.tsx create mode 100644 apps/v4/examples/base/breadcrumb-link.tsx create mode 100644 apps/v4/examples/base/breadcrumb-separator.tsx create mode 100644 apps/v4/examples/base/button-default.tsx create mode 100644 apps/v4/examples/base/button-demo.tsx create mode 100644 apps/v4/examples/base/button-destructive.tsx create mode 100644 apps/v4/examples/base/button-ghost.tsx create mode 100644 apps/v4/examples/base/button-group-demo.tsx create mode 100644 apps/v4/examples/base/button-group-dropdown.tsx create mode 100644 apps/v4/examples/base/button-group-input-group.tsx create mode 100644 apps/v4/examples/base/button-group-input.tsx create mode 100644 apps/v4/examples/base/button-group-nested.tsx create mode 100644 apps/v4/examples/base/button-group-orientation.tsx create mode 100644 apps/v4/examples/base/button-group-popover.tsx create mode 100644 apps/v4/examples/base/button-group-select.tsx create mode 100644 apps/v4/examples/base/button-group-separator.tsx create mode 100644 apps/v4/examples/base/button-group-size.tsx create mode 100644 apps/v4/examples/base/button-group-split.tsx create mode 100644 apps/v4/examples/base/button-icon.tsx create mode 100644 apps/v4/examples/base/button-link.tsx create mode 100644 apps/v4/examples/base/button-outline.tsx create mode 100644 apps/v4/examples/base/button-render.tsx create mode 100644 apps/v4/examples/base/button-rounded.tsx create mode 100644 apps/v4/examples/base/button-secondary.tsx create mode 100644 apps/v4/examples/base/button-size.tsx create mode 100644 apps/v4/examples/base/button-spinner.tsx create mode 100644 apps/v4/examples/base/button-with-icon.tsx create mode 100644 apps/v4/examples/base/calendar-basic.tsx create mode 100644 apps/v4/examples/base/calendar-booked-dates.tsx create mode 100644 apps/v4/examples/base/calendar-caption.tsx create mode 100644 apps/v4/examples/base/calendar-custom-days.tsx create mode 100644 apps/v4/examples/base/calendar-demo.tsx create mode 100644 apps/v4/examples/base/calendar-hijri.tsx create mode 100644 apps/v4/examples/base/calendar-multiple.tsx create mode 100644 apps/v4/examples/base/calendar-presets.tsx create mode 100644 apps/v4/examples/base/calendar-range.tsx create mode 100644 apps/v4/examples/base/calendar-time.tsx create mode 100644 apps/v4/examples/base/calendar-week-numbers.tsx create mode 100644 apps/v4/examples/base/card-demo.tsx create mode 100644 apps/v4/examples/base/card-image.tsx create mode 100644 apps/v4/examples/base/card-small.tsx create mode 100644 apps/v4/examples/base/carousel-api.tsx create mode 100644 apps/v4/examples/base/carousel-demo.tsx create mode 100644 apps/v4/examples/base/carousel-multiple.tsx create mode 100644 apps/v4/examples/base/carousel-orientation.tsx create mode 100644 apps/v4/examples/base/carousel-plugin.tsx create mode 100644 apps/v4/examples/base/carousel-size.tsx create mode 100644 apps/v4/examples/base/carousel-spacing.tsx create mode 100644 apps/v4/examples/base/chart-demo.tsx create mode 100644 apps/v4/examples/base/chart-example-axis.tsx create mode 100644 apps/v4/examples/base/chart-example-grid.tsx create mode 100644 apps/v4/examples/base/chart-example-legend.tsx create mode 100644 apps/v4/examples/base/chart-example-tooltip.tsx create mode 100644 apps/v4/examples/base/chart-example.tsx create mode 100644 apps/v4/examples/base/chart-tooltip.tsx create mode 100644 apps/v4/examples/base/checkbox-basic.tsx create mode 100644 apps/v4/examples/base/checkbox-demo.tsx create mode 100644 apps/v4/examples/base/checkbox-description.tsx create mode 100644 apps/v4/examples/base/checkbox-disabled.tsx create mode 100644 apps/v4/examples/base/checkbox-group.tsx create mode 100644 apps/v4/examples/base/checkbox-invalid.tsx create mode 100644 apps/v4/examples/base/checkbox-table.tsx create mode 100644 apps/v4/examples/base/collapsible-basic.tsx create mode 100644 apps/v4/examples/base/collapsible-demo.tsx create mode 100644 apps/v4/examples/base/collapsible-file-tree.tsx create mode 100644 apps/v4/examples/base/collapsible-settings.tsx create mode 100644 apps/v4/examples/base/combobox-auto-highlight.tsx create mode 100644 apps/v4/examples/base/combobox-basic.tsx create mode 100644 apps/v4/examples/base/combobox-clear.tsx create mode 100644 apps/v4/examples/base/combobox-custom.tsx create mode 100644 apps/v4/examples/base/combobox-demo.tsx create mode 100644 apps/v4/examples/base/combobox-disabled.tsx create mode 100644 apps/v4/examples/base/combobox-groups.tsx create mode 100644 apps/v4/examples/base/combobox-input-group.tsx create mode 100644 apps/v4/examples/base/combobox-invalid.tsx create mode 100644 apps/v4/examples/base/combobox-multiple.tsx create mode 100644 apps/v4/examples/base/combobox-popup.tsx create mode 100644 apps/v4/examples/base/command-basic.tsx create mode 100644 apps/v4/examples/base/command-demo.tsx create mode 100644 apps/v4/examples/base/command-dialog.tsx create mode 100644 apps/v4/examples/base/command-groups.tsx create mode 100644 apps/v4/examples/base/command-scrollable.tsx create mode 100644 apps/v4/examples/base/command-shortcuts.tsx create mode 100644 apps/v4/examples/base/context-menu-basic.tsx create mode 100644 apps/v4/examples/base/context-menu-checkboxes.tsx create mode 100644 apps/v4/examples/base/context-menu-demo.tsx create mode 100644 apps/v4/examples/base/context-menu-destructive.tsx create mode 100644 apps/v4/examples/base/context-menu-groups.tsx create mode 100644 apps/v4/examples/base/context-menu-icons.tsx create mode 100644 apps/v4/examples/base/context-menu-radio.tsx create mode 100644 apps/v4/examples/base/context-menu-shortcuts.tsx create mode 100644 apps/v4/examples/base/context-menu-sides.tsx create mode 100644 apps/v4/examples/base/context-menu-submenu.tsx create mode 100644 apps/v4/examples/base/data-picker-with-dropdowns.tsx create mode 100644 apps/v4/examples/base/data-table-demo.tsx create mode 100644 apps/v4/examples/base/date-picker-basic.tsx create mode 100644 apps/v4/examples/base/date-picker-demo.tsx create mode 100644 apps/v4/examples/base/date-picker-dob.tsx create mode 100644 apps/v4/examples/base/date-picker-input.tsx create mode 100644 apps/v4/examples/base/date-picker-natural-language.tsx create mode 100644 apps/v4/examples/base/date-picker-range.tsx create mode 100644 apps/v4/examples/base/date-picker-time.tsx create mode 100644 apps/v4/examples/base/dialog-close-button.tsx create mode 100644 apps/v4/examples/base/dialog-demo.tsx create mode 100644 apps/v4/examples/base/dialog-no-close-button.tsx create mode 100644 apps/v4/examples/base/dialog-scrollable-content.tsx create mode 100644 apps/v4/examples/base/dialog-sticky-footer.tsx create mode 100644 apps/v4/examples/base/drawer-demo.tsx create mode 100644 apps/v4/examples/base/drawer-dialog.tsx create mode 100644 apps/v4/examples/base/drawer-scrollable-content.tsx create mode 100644 apps/v4/examples/base/drawer-sides.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-avatar.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-basic.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-checkboxes-icons.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-checkboxes.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-complex.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-demo.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-destructive.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-icons.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-radio-group.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-radio-icons.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-shortcuts.tsx create mode 100644 apps/v4/examples/base/dropdown-menu-submenu.tsx create mode 100644 apps/v4/examples/base/empty-avatar-group.tsx create mode 100644 apps/v4/examples/base/empty-avatar.tsx create mode 100644 apps/v4/examples/base/empty-background.tsx create mode 100644 apps/v4/examples/base/empty-card.tsx create mode 100644 apps/v4/examples/base/empty-demo.tsx create mode 100644 apps/v4/examples/base/empty-input-group.tsx create mode 100644 apps/v4/examples/base/empty-outline.tsx create mode 100644 apps/v4/examples/base/field-checkbox.tsx create mode 100644 apps/v4/examples/base/field-choice-card.tsx create mode 100644 apps/v4/examples/base/field-demo.tsx create mode 100644 apps/v4/examples/base/field-fieldset.tsx create mode 100644 apps/v4/examples/base/field-group.tsx create mode 100644 apps/v4/examples/base/field-input.tsx create mode 100644 apps/v4/examples/base/field-radio.tsx create mode 100644 apps/v4/examples/base/field-responsive.tsx create mode 100644 apps/v4/examples/base/field-select.tsx create mode 100644 apps/v4/examples/base/field-slider.tsx create mode 100644 apps/v4/examples/base/field-switch.tsx create mode 100644 apps/v4/examples/base/field-textarea.tsx create mode 100644 apps/v4/examples/base/file-upload-list.tsx create mode 100644 apps/v4/examples/base/hooks/use-mobile.ts create mode 100644 apps/v4/examples/base/hover-card-demo.tsx create mode 100644 apps/v4/examples/base/hover-card-sides.tsx create mode 100644 apps/v4/examples/base/input-badge.tsx create mode 100644 apps/v4/examples/base/input-basic.tsx create mode 100644 apps/v4/examples/base/input-button-group.tsx create mode 100644 apps/v4/examples/base/input-demo.tsx create mode 100644 apps/v4/examples/base/input-disabled.tsx create mode 100644 apps/v4/examples/base/input-field.tsx create mode 100644 apps/v4/examples/base/input-fieldgroup.tsx create mode 100644 apps/v4/examples/base/input-file.tsx create mode 100644 apps/v4/examples/base/input-form.tsx create mode 100644 apps/v4/examples/base/input-grid.tsx create mode 100644 apps/v4/examples/base/input-group-basic.tsx create mode 100644 apps/v4/examples/base/input-group-block-end.tsx create mode 100644 apps/v4/examples/base/input-group-block-start.tsx create mode 100644 apps/v4/examples/base/input-group-button-group.tsx create mode 100644 apps/v4/examples/base/input-group-button.tsx create mode 100644 apps/v4/examples/base/input-group-custom.tsx create mode 100644 apps/v4/examples/base/input-group-demo.tsx create mode 100644 apps/v4/examples/base/input-group-dropdown.tsx create mode 100644 apps/v4/examples/base/input-group-icon.tsx create mode 100644 apps/v4/examples/base/input-group-in-card.tsx create mode 100644 apps/v4/examples/base/input-group-inline-end.tsx create mode 100644 apps/v4/examples/base/input-group-inline-start.tsx create mode 100644 apps/v4/examples/base/input-group-kbd.tsx create mode 100644 apps/v4/examples/base/input-group-label.tsx create mode 100644 apps/v4/examples/base/input-group-spinner.tsx create mode 100644 apps/v4/examples/base/input-group-text.tsx create mode 100644 apps/v4/examples/base/input-group-textarea-examples.tsx create mode 100644 apps/v4/examples/base/input-group-textarea.tsx create mode 100644 apps/v4/examples/base/input-group-tooltip.tsx create mode 100644 apps/v4/examples/base/input-group-with-addons.tsx create mode 100644 apps/v4/examples/base/input-group-with-buttons.tsx create mode 100644 apps/v4/examples/base/input-group-with-kbd.tsx create mode 100644 apps/v4/examples/base/input-group-with-tooltip.tsx create mode 100644 apps/v4/examples/base/input-inline.tsx create mode 100644 apps/v4/examples/base/input-input-group.tsx create mode 100644 apps/v4/examples/base/input-invalid.tsx create mode 100644 apps/v4/examples/base/input-otp-alphanumeric.tsx create mode 100644 apps/v4/examples/base/input-otp-controlled.tsx create mode 100644 apps/v4/examples/base/input-otp-demo.tsx create mode 100644 apps/v4/examples/base/input-otp-disabled.tsx create mode 100644 apps/v4/examples/base/input-otp-form.tsx create mode 100644 apps/v4/examples/base/input-otp-four-digits.tsx create mode 100644 apps/v4/examples/base/input-otp-invalid.tsx create mode 100644 apps/v4/examples/base/input-otp-pattern.tsx create mode 100644 apps/v4/examples/base/input-otp-separator.tsx create mode 100644 apps/v4/examples/base/input-required.tsx create mode 100644 apps/v4/examples/base/item-avatar.tsx create mode 100644 apps/v4/examples/base/item-demo.tsx create mode 100644 apps/v4/examples/base/item-dropdown.tsx create mode 100644 apps/v4/examples/base/item-group.tsx create mode 100644 apps/v4/examples/base/item-header.tsx create mode 100644 apps/v4/examples/base/item-icon.tsx create mode 100644 apps/v4/examples/base/item-image.tsx create mode 100644 apps/v4/examples/base/item-link.tsx create mode 100644 apps/v4/examples/base/item-size.tsx create mode 100644 apps/v4/examples/base/item-variant.tsx create mode 100644 apps/v4/examples/base/kbd-button.tsx create mode 100644 apps/v4/examples/base/kbd-demo.tsx create mode 100644 apps/v4/examples/base/kbd-group.tsx create mode 100644 apps/v4/examples/base/kbd-input-group.tsx create mode 100644 apps/v4/examples/base/kbd-tooltip.tsx create mode 100644 apps/v4/examples/base/label-demo.tsx create mode 100644 apps/v4/examples/base/lib/utils.ts create mode 100644 apps/v4/examples/base/menubar-checkbox.tsx create mode 100644 apps/v4/examples/base/menubar-demo.tsx create mode 100644 apps/v4/examples/base/menubar-icons.tsx create mode 100644 apps/v4/examples/base/menubar-radio.tsx create mode 100644 apps/v4/examples/base/menubar-submenu.tsx create mode 100644 apps/v4/examples/base/muted-item-group.tsx create mode 100644 apps/v4/examples/base/native-select-demo.tsx create mode 100644 apps/v4/examples/base/native-select-disabled.tsx create mode 100644 apps/v4/examples/base/native-select-groups.tsx create mode 100644 apps/v4/examples/base/native-select-invalid.tsx create mode 100644 apps/v4/examples/base/navigation-menu-demo.tsx create mode 100644 apps/v4/examples/base/outline-item-group.tsx create mode 100644 apps/v4/examples/base/pagination-demo.tsx create mode 100644 apps/v4/examples/base/pagination-icons-only.tsx create mode 100644 apps/v4/examples/base/pagination-simple.tsx create mode 100644 apps/v4/examples/base/popover-alignments.tsx create mode 100644 apps/v4/examples/base/popover-basic.tsx create mode 100644 apps/v4/examples/base/popover-demo.tsx create mode 100644 apps/v4/examples/base/popover-form.tsx create mode 100644 apps/v4/examples/base/progress-controlled.tsx create mode 100644 apps/v4/examples/base/progress-demo.tsx create mode 100644 apps/v4/examples/base/progress-label.tsx create mode 100644 apps/v4/examples/base/radio-fields.tsx create mode 100644 apps/v4/examples/base/radio-group-choice-card.tsx create mode 100644 apps/v4/examples/base/radio-group-demo.tsx create mode 100644 apps/v4/examples/base/radio-group-description.tsx create mode 100644 apps/v4/examples/base/radio-group-disabled.tsx create mode 100644 apps/v4/examples/base/radio-group-fieldset.tsx create mode 100644 apps/v4/examples/base/radio-group-invalid.tsx create mode 100644 apps/v4/examples/base/resizable-demo.tsx create mode 100644 apps/v4/examples/base/resizable-handle.tsx create mode 100644 apps/v4/examples/base/resizable-vertical.tsx create mode 100644 apps/v4/examples/base/scroll-area-demo.tsx create mode 100644 apps/v4/examples/base/scroll-area-horizontal-demo.tsx create mode 100644 apps/v4/examples/base/select-align-item.tsx create mode 100644 apps/v4/examples/base/select-demo.tsx create mode 100644 apps/v4/examples/base/select-disabled.tsx create mode 100644 apps/v4/examples/base/select-groups.tsx create mode 100644 apps/v4/examples/base/select-invalid.tsx create mode 100644 apps/v4/examples/base/select-scrollable.tsx create mode 100644 apps/v4/examples/base/separator-demo.tsx create mode 100644 apps/v4/examples/base/separator-list.tsx create mode 100644 apps/v4/examples/base/separator-menu.tsx create mode 100644 apps/v4/examples/base/separator-vertical.tsx create mode 100644 apps/v4/examples/base/sheet-demo.tsx create mode 100644 apps/v4/examples/base/sheet-no-close-button.tsx create mode 100644 apps/v4/examples/base/sheet-side.tsx create mode 100644 apps/v4/examples/base/sidebar-controlled.tsx create mode 100644 apps/v4/examples/base/sidebar-demo.tsx create mode 100644 apps/v4/examples/base/sidebar-footer.tsx create mode 100644 apps/v4/examples/base/sidebar-group-action.tsx create mode 100644 apps/v4/examples/base/sidebar-group-collapsible.tsx create mode 100644 apps/v4/examples/base/sidebar-group.tsx create mode 100644 apps/v4/examples/base/sidebar-header.tsx create mode 100644 apps/v4/examples/base/sidebar-menu-action.tsx create mode 100644 apps/v4/examples/base/sidebar-menu-badge.tsx create mode 100644 apps/v4/examples/base/sidebar-menu-collapsible.tsx create mode 100644 apps/v4/examples/base/sidebar-menu-sub.tsx create mode 100644 apps/v4/examples/base/sidebar-menu.tsx create mode 100644 apps/v4/examples/base/sidebar-rsc.tsx create mode 100644 apps/v4/examples/base/skeleton-avatar.tsx create mode 100644 apps/v4/examples/base/skeleton-card.tsx create mode 100644 apps/v4/examples/base/skeleton-demo.tsx create mode 100644 apps/v4/examples/base/skeleton-form.tsx create mode 100644 apps/v4/examples/base/skeleton-table.tsx create mode 100644 apps/v4/examples/base/skeleton-text.tsx create mode 100644 apps/v4/examples/base/slider-controlled.tsx create mode 100644 apps/v4/examples/base/slider-demo.tsx create mode 100644 apps/v4/examples/base/slider-disabled.tsx create mode 100644 apps/v4/examples/base/slider-multiple.tsx create mode 100644 apps/v4/examples/base/slider-range.tsx create mode 100644 apps/v4/examples/base/slider-vertical.tsx create mode 100644 apps/v4/examples/base/sonner-demo.tsx create mode 100644 apps/v4/examples/base/sonner-description.tsx create mode 100644 apps/v4/examples/base/sonner-position.tsx create mode 100644 apps/v4/examples/base/sonner-types.tsx create mode 100644 apps/v4/examples/base/spinner-badge.tsx create mode 100644 apps/v4/examples/base/spinner-button.tsx create mode 100644 apps/v4/examples/base/spinner-custom.tsx create mode 100644 apps/v4/examples/base/spinner-demo.tsx create mode 100644 apps/v4/examples/base/spinner-empty.tsx create mode 100644 apps/v4/examples/base/spinner-input-group.tsx create mode 100644 apps/v4/examples/base/spinner-size.tsx create mode 100644 apps/v4/examples/base/switch-choice-card.tsx create mode 100644 apps/v4/examples/base/switch-demo.tsx create mode 100644 apps/v4/examples/base/switch-description.tsx create mode 100644 apps/v4/examples/base/switch-disabled.tsx create mode 100644 apps/v4/examples/base/switch-invalid.tsx create mode 100644 apps/v4/examples/base/switch-sizes.tsx create mode 100644 apps/v4/examples/base/table-actions.tsx create mode 100644 apps/v4/examples/base/table-demo.tsx create mode 100644 apps/v4/examples/base/table-footer.tsx create mode 100644 apps/v4/examples/base/tabs-demo.tsx create mode 100644 apps/v4/examples/base/tabs-disabled.tsx create mode 100644 apps/v4/examples/base/tabs-icons.tsx create mode 100644 apps/v4/examples/base/tabs-line.tsx create mode 100644 apps/v4/examples/base/tabs-vertical.tsx create mode 100644 apps/v4/examples/base/textarea-button.tsx create mode 100644 apps/v4/examples/base/textarea-demo.tsx create mode 100644 apps/v4/examples/base/textarea-disabled.tsx create mode 100644 apps/v4/examples/base/textarea-field.tsx create mode 100644 apps/v4/examples/base/textarea-invalid.tsx create mode 100644 apps/v4/examples/base/toggle-demo.tsx create mode 100644 apps/v4/examples/base/toggle-disabled.tsx create mode 100644 apps/v4/examples/base/toggle-group-demo.tsx create mode 100644 apps/v4/examples/base/toggle-group-disabled.tsx create mode 100644 apps/v4/examples/base/toggle-group-outline.tsx create mode 100644 apps/v4/examples/base/toggle-group-sizes.tsx create mode 100644 apps/v4/examples/base/toggle-group-spacing.tsx create mode 100644 apps/v4/examples/base/toggle-group-vertical.tsx create mode 100644 apps/v4/examples/base/toggle-outline.tsx create mode 100644 apps/v4/examples/base/toggle-sizes.tsx create mode 100644 apps/v4/examples/base/toggle-text.tsx create mode 100644 apps/v4/examples/base/tooltip-demo.tsx create mode 100644 apps/v4/examples/base/tooltip-disabled.tsx create mode 100644 apps/v4/examples/base/tooltip-keyboard.tsx create mode 100644 apps/v4/examples/base/tooltip-sides.tsx create mode 100644 apps/v4/examples/base/typography-blockquote.tsx create mode 100644 apps/v4/examples/base/typography-demo.tsx create mode 100644 apps/v4/examples/base/typography-h1.tsx create mode 100644 apps/v4/examples/base/typography-h2.tsx create mode 100644 apps/v4/examples/base/typography-h3.tsx create mode 100644 apps/v4/examples/base/typography-h4.tsx create mode 100644 apps/v4/examples/base/typography-inline-code.tsx create mode 100644 apps/v4/examples/base/typography-large.tsx create mode 100644 apps/v4/examples/base/typography-lead.tsx create mode 100644 apps/v4/examples/base/typography-list.tsx create mode 100644 apps/v4/examples/base/typography-muted.tsx create mode 100644 apps/v4/examples/base/typography-p.tsx create mode 100644 apps/v4/examples/base/typography-small.tsx create mode 100644 apps/v4/examples/base/typography-table.tsx create mode 100644 apps/v4/examples/base/ui/accordion.tsx create mode 100644 apps/v4/examples/base/ui/alert-dialog.tsx create mode 100644 apps/v4/examples/base/ui/alert.tsx create mode 100644 apps/v4/examples/base/ui/aspect-ratio.tsx create mode 100644 apps/v4/examples/base/ui/avatar.tsx create mode 100644 apps/v4/examples/base/ui/badge.tsx create mode 100644 apps/v4/examples/base/ui/breadcrumb.tsx create mode 100644 apps/v4/examples/base/ui/button-group.tsx create mode 100644 apps/v4/examples/base/ui/button.tsx create mode 100644 apps/v4/examples/base/ui/calendar.tsx create mode 100644 apps/v4/examples/base/ui/card.tsx create mode 100644 apps/v4/examples/base/ui/carousel.tsx create mode 100644 apps/v4/examples/base/ui/chart.tsx create mode 100644 apps/v4/examples/base/ui/checkbox.tsx create mode 100644 apps/v4/examples/base/ui/collapsible.tsx create mode 100644 apps/v4/examples/base/ui/combobox.tsx create mode 100644 apps/v4/examples/base/ui/command.tsx create mode 100644 apps/v4/examples/base/ui/context-menu.tsx create mode 100644 apps/v4/examples/base/ui/dialog.tsx create mode 100644 apps/v4/examples/base/ui/drawer.tsx create mode 100644 apps/v4/examples/base/ui/dropdown-menu.tsx create mode 100644 apps/v4/examples/base/ui/empty.tsx create mode 100644 apps/v4/examples/base/ui/field.tsx create mode 100644 apps/v4/examples/base/ui/hover-card.tsx create mode 100644 apps/v4/examples/base/ui/input-group.tsx create mode 100644 apps/v4/examples/base/ui/input-otp.tsx create mode 100644 apps/v4/examples/base/ui/input.tsx create mode 100644 apps/v4/examples/base/ui/item.tsx create mode 100644 apps/v4/examples/base/ui/kbd.tsx create mode 100644 apps/v4/examples/base/ui/label.tsx create mode 100644 apps/v4/examples/base/ui/menubar.tsx create mode 100644 apps/v4/examples/base/ui/native-select.tsx create mode 100644 apps/v4/examples/base/ui/navigation-menu.tsx create mode 100644 apps/v4/examples/base/ui/pagination.tsx create mode 100644 apps/v4/examples/base/ui/popover.tsx create mode 100644 apps/v4/examples/base/ui/progress.tsx create mode 100644 apps/v4/examples/base/ui/radio-group.tsx create mode 100644 apps/v4/examples/base/ui/resizable.tsx create mode 100644 apps/v4/examples/base/ui/scroll-area.tsx create mode 100644 apps/v4/examples/base/ui/select.tsx create mode 100644 apps/v4/examples/base/ui/separator.tsx create mode 100644 apps/v4/examples/base/ui/sheet.tsx create mode 100644 apps/v4/examples/base/ui/sidebar.tsx create mode 100644 apps/v4/examples/base/ui/skeleton.tsx create mode 100644 apps/v4/examples/base/ui/slider.tsx create mode 100644 apps/v4/examples/base/ui/sonner.tsx create mode 100644 apps/v4/examples/base/ui/spinner.tsx create mode 100644 apps/v4/examples/base/ui/switch.tsx create mode 100644 apps/v4/examples/base/ui/table.tsx create mode 100644 apps/v4/examples/base/ui/tabs.tsx create mode 100644 apps/v4/examples/base/ui/textarea.tsx create mode 100644 apps/v4/examples/base/ui/toggle-group.tsx create mode 100644 apps/v4/examples/base/ui/toggle.tsx create mode 100644 apps/v4/examples/base/ui/tooltip.tsx create mode 100644 apps/v4/examples/radix/accordion-basic.tsx create mode 100644 apps/v4/examples/radix/accordion-borders.tsx create mode 100644 apps/v4/examples/radix/accordion-card.tsx create mode 100644 apps/v4/examples/radix/accordion-demo.tsx create mode 100644 apps/v4/examples/radix/accordion-disabled.tsx create mode 100644 apps/v4/examples/radix/accordion-multiple.tsx create mode 100644 apps/v4/examples/radix/alert-action.tsx create mode 100644 apps/v4/examples/radix/alert-basic.tsx create mode 100644 apps/v4/examples/radix/alert-colors.tsx create mode 100644 apps/v4/examples/radix/alert-demo.tsx create mode 100644 apps/v4/examples/radix/alert-destructive.tsx create mode 100644 apps/v4/examples/radix/alert-dialog-basic.tsx create mode 100644 apps/v4/examples/radix/alert-dialog-demo.tsx create mode 100644 apps/v4/examples/radix/alert-dialog-destructive.tsx create mode 100644 apps/v4/examples/radix/alert-dialog-media.tsx create mode 100644 apps/v4/examples/radix/alert-dialog-small-media.tsx create mode 100644 apps/v4/examples/radix/alert-dialog-small.tsx create mode 100644 apps/v4/examples/radix/aspect-ratio-demo.tsx create mode 100644 apps/v4/examples/radix/aspect-ratio-portrait.tsx create mode 100644 apps/v4/examples/radix/aspect-ratio-square.tsx create mode 100644 apps/v4/examples/radix/avatar-badge-icon.tsx create mode 100644 apps/v4/examples/radix/avatar-badge.tsx create mode 100644 apps/v4/examples/radix/avatar-basic.tsx create mode 100644 apps/v4/examples/radix/avatar-demo.tsx create mode 100644 apps/v4/examples/radix/avatar-dropdown.tsx create mode 100644 apps/v4/examples/radix/avatar-group-count-icon.tsx create mode 100644 apps/v4/examples/radix/avatar-group-count.tsx create mode 100644 apps/v4/examples/radix/avatar-group.tsx create mode 100644 apps/v4/examples/radix/avatar-size.tsx create mode 100644 apps/v4/examples/radix/badge-colors.tsx create mode 100644 apps/v4/examples/radix/badge-demo.tsx create mode 100644 apps/v4/examples/radix/badge-icon.tsx create mode 100644 apps/v4/examples/radix/badge-link.tsx create mode 100644 apps/v4/examples/radix/badge-spinner.tsx create mode 100644 apps/v4/examples/radix/badge-variants.tsx create mode 100644 apps/v4/examples/radix/breadcrumb-basic.tsx create mode 100644 apps/v4/examples/radix/breadcrumb-demo.tsx create mode 100644 apps/v4/examples/radix/breadcrumb-dropdown.tsx create mode 100644 apps/v4/examples/radix/breadcrumb-ellipsis.tsx create mode 100644 apps/v4/examples/radix/breadcrumb-link.tsx create mode 100644 apps/v4/examples/radix/breadcrumb-separator.tsx create mode 100644 apps/v4/examples/radix/button-aschild.tsx create mode 100644 apps/v4/examples/radix/button-default.tsx create mode 100644 apps/v4/examples/radix/button-demo.tsx create mode 100644 apps/v4/examples/radix/button-destructive.tsx create mode 100644 apps/v4/examples/radix/button-ghost.tsx create mode 100644 apps/v4/examples/radix/button-group-demo.tsx create mode 100644 apps/v4/examples/radix/button-group-dropdown.tsx create mode 100644 apps/v4/examples/radix/button-group-input-group.tsx create mode 100644 apps/v4/examples/radix/button-group-input.tsx create mode 100644 apps/v4/examples/radix/button-group-nested.tsx create mode 100644 apps/v4/examples/radix/button-group-orientation.tsx create mode 100644 apps/v4/examples/radix/button-group-popover.tsx create mode 100644 apps/v4/examples/radix/button-group-select.tsx create mode 100644 apps/v4/examples/radix/button-group-separator.tsx create mode 100644 apps/v4/examples/radix/button-group-size.tsx create mode 100644 apps/v4/examples/radix/button-group-split.tsx create mode 100644 apps/v4/examples/radix/button-icon.tsx create mode 100644 apps/v4/examples/radix/button-link.tsx create mode 100644 apps/v4/examples/radix/button-outline.tsx create mode 100644 apps/v4/examples/radix/button-rounded.tsx create mode 100644 apps/v4/examples/radix/button-secondary.tsx create mode 100644 apps/v4/examples/radix/button-size.tsx create mode 100644 apps/v4/examples/radix/button-spinner.tsx create mode 100644 apps/v4/examples/radix/button-with-icon.tsx create mode 100644 apps/v4/examples/radix/calendar-basic.tsx create mode 100644 apps/v4/examples/radix/calendar-booked-dates.tsx create mode 100644 apps/v4/examples/radix/calendar-caption.tsx create mode 100644 apps/v4/examples/radix/calendar-custom-days.tsx create mode 100644 apps/v4/examples/radix/calendar-demo.tsx create mode 100644 apps/v4/examples/radix/calendar-hijri.tsx create mode 100644 apps/v4/examples/radix/calendar-multiple.tsx create mode 100644 apps/v4/examples/radix/calendar-presets.tsx create mode 100644 apps/v4/examples/radix/calendar-range.tsx create mode 100644 apps/v4/examples/radix/calendar-time.tsx create mode 100644 apps/v4/examples/radix/calendar-week-numbers.tsx create mode 100644 apps/v4/examples/radix/card-demo.tsx create mode 100644 apps/v4/examples/radix/card-image.tsx create mode 100644 apps/v4/examples/radix/card-small.tsx create mode 100644 apps/v4/examples/radix/carousel-api.tsx create mode 100644 apps/v4/examples/radix/carousel-demo.tsx create mode 100644 apps/v4/examples/radix/carousel-multiple.tsx create mode 100644 apps/v4/examples/radix/carousel-orientation.tsx create mode 100644 apps/v4/examples/radix/carousel-plugin.tsx create mode 100644 apps/v4/examples/radix/carousel-size.tsx create mode 100644 apps/v4/examples/radix/carousel-spacing.tsx create mode 100644 apps/v4/examples/radix/chart-demo.tsx create mode 100644 apps/v4/examples/radix/chart-example-axis.tsx create mode 100644 apps/v4/examples/radix/chart-example-grid.tsx create mode 100644 apps/v4/examples/radix/chart-example-legend.tsx create mode 100644 apps/v4/examples/radix/chart-example-tooltip.tsx create mode 100644 apps/v4/examples/radix/chart-example.tsx create mode 100644 apps/v4/examples/radix/chart-tooltip.tsx create mode 100644 apps/v4/examples/radix/checkbox-basic.tsx create mode 100644 apps/v4/examples/radix/checkbox-demo.tsx create mode 100644 apps/v4/examples/radix/checkbox-description.tsx create mode 100644 apps/v4/examples/radix/checkbox-disabled.tsx create mode 100644 apps/v4/examples/radix/checkbox-group.tsx create mode 100644 apps/v4/examples/radix/checkbox-invalid.tsx create mode 100644 apps/v4/examples/radix/checkbox-table.tsx create mode 100644 apps/v4/examples/radix/collapsible-basic.tsx create mode 100644 apps/v4/examples/radix/collapsible-demo.tsx create mode 100644 apps/v4/examples/radix/collapsible-file-tree.tsx create mode 100644 apps/v4/examples/radix/collapsible-settings.tsx create mode 100644 apps/v4/examples/radix/combobox-auto-highlight.tsx create mode 100644 apps/v4/examples/radix/combobox-basic.tsx create mode 100644 apps/v4/examples/radix/combobox-clear.tsx create mode 100644 apps/v4/examples/radix/combobox-custom.tsx create mode 100644 apps/v4/examples/radix/combobox-demo.tsx create mode 100644 apps/v4/examples/radix/combobox-disabled.tsx create mode 100644 apps/v4/examples/radix/combobox-groups.tsx create mode 100644 apps/v4/examples/radix/combobox-input-group.tsx create mode 100644 apps/v4/examples/radix/combobox-invalid.tsx create mode 100644 apps/v4/examples/radix/combobox-multiple.tsx create mode 100644 apps/v4/examples/radix/combobox-popup.tsx create mode 100644 apps/v4/examples/radix/command-basic.tsx create mode 100644 apps/v4/examples/radix/command-demo.tsx create mode 100644 apps/v4/examples/radix/command-dialog.tsx create mode 100644 apps/v4/examples/radix/command-groups.tsx create mode 100644 apps/v4/examples/radix/command-scrollable.tsx create mode 100644 apps/v4/examples/radix/command-shortcuts.tsx create mode 100644 apps/v4/examples/radix/context-menu-basic.tsx create mode 100644 apps/v4/examples/radix/context-menu-checkboxes.tsx create mode 100644 apps/v4/examples/radix/context-menu-demo.tsx create mode 100644 apps/v4/examples/radix/context-menu-destructive.tsx create mode 100644 apps/v4/examples/radix/context-menu-groups.tsx create mode 100644 apps/v4/examples/radix/context-menu-icons.tsx create mode 100644 apps/v4/examples/radix/context-menu-radio.tsx create mode 100644 apps/v4/examples/radix/context-menu-shortcuts.tsx create mode 100644 apps/v4/examples/radix/context-menu-sides.tsx create mode 100644 apps/v4/examples/radix/context-menu-submenu.tsx create mode 100644 apps/v4/examples/radix/data-picker-with-dropdowns.tsx create mode 100644 apps/v4/examples/radix/data-table-demo.tsx create mode 100644 apps/v4/examples/radix/date-picker-basic.tsx create mode 100644 apps/v4/examples/radix/date-picker-demo.tsx create mode 100644 apps/v4/examples/radix/date-picker-dob.tsx create mode 100644 apps/v4/examples/radix/date-picker-input.tsx create mode 100644 apps/v4/examples/radix/date-picker-natural-language.tsx create mode 100644 apps/v4/examples/radix/date-picker-range.tsx create mode 100644 apps/v4/examples/radix/date-picker-time.tsx create mode 100644 apps/v4/examples/radix/dialog-close-button.tsx create mode 100644 apps/v4/examples/radix/dialog-demo.tsx create mode 100644 apps/v4/examples/radix/dialog-no-close-button.tsx create mode 100644 apps/v4/examples/radix/dialog-scrollable-content.tsx create mode 100644 apps/v4/examples/radix/dialog-sticky-footer.tsx create mode 100644 apps/v4/examples/radix/drawer-demo.tsx create mode 100644 apps/v4/examples/radix/drawer-dialog.tsx create mode 100644 apps/v4/examples/radix/drawer-scrollable-content.tsx create mode 100644 apps/v4/examples/radix/drawer-sides.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-avatar.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-basic.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-checkboxes-icons.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-checkboxes.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-complex.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-demo.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-destructive.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-icons.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-radio-group.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-radio-icons.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-shortcuts.tsx create mode 100644 apps/v4/examples/radix/dropdown-menu-submenu.tsx create mode 100644 apps/v4/examples/radix/empty-avatar-group.tsx create mode 100644 apps/v4/examples/radix/empty-avatar.tsx create mode 100644 apps/v4/examples/radix/empty-background.tsx create mode 100644 apps/v4/examples/radix/empty-card.tsx create mode 100644 apps/v4/examples/radix/empty-demo.tsx create mode 100644 apps/v4/examples/radix/empty-input-group.tsx create mode 100644 apps/v4/examples/radix/empty-outline.tsx create mode 100644 apps/v4/examples/radix/field-checkbox.tsx create mode 100644 apps/v4/examples/radix/field-choice-card.tsx create mode 100644 apps/v4/examples/radix/field-demo.tsx create mode 100644 apps/v4/examples/radix/field-fieldset.tsx create mode 100644 apps/v4/examples/radix/field-group.tsx create mode 100644 apps/v4/examples/radix/field-input.tsx create mode 100644 apps/v4/examples/radix/field-radio.tsx create mode 100644 apps/v4/examples/radix/field-responsive.tsx create mode 100644 apps/v4/examples/radix/field-select.tsx create mode 100644 apps/v4/examples/radix/field-slider.tsx create mode 100644 apps/v4/examples/radix/field-switch.tsx create mode 100644 apps/v4/examples/radix/field-textarea.tsx create mode 100644 apps/v4/examples/radix/file-upload-list.tsx create mode 100644 apps/v4/examples/radix/hooks/use-mobile.ts create mode 100644 apps/v4/examples/radix/hover-card-demo.tsx create mode 100644 apps/v4/examples/radix/hover-card-sides.tsx create mode 100644 apps/v4/examples/radix/input-badge.tsx create mode 100644 apps/v4/examples/radix/input-basic.tsx create mode 100644 apps/v4/examples/radix/input-button-group.tsx create mode 100644 apps/v4/examples/radix/input-demo.tsx create mode 100644 apps/v4/examples/radix/input-disabled.tsx create mode 100644 apps/v4/examples/radix/input-field.tsx create mode 100644 apps/v4/examples/radix/input-fieldgroup.tsx create mode 100644 apps/v4/examples/radix/input-file.tsx create mode 100644 apps/v4/examples/radix/input-form.tsx create mode 100644 apps/v4/examples/radix/input-grid.tsx create mode 100644 apps/v4/examples/radix/input-group-basic.tsx create mode 100644 apps/v4/examples/radix/input-group-block-end.tsx create mode 100644 apps/v4/examples/radix/input-group-block-start.tsx create mode 100644 apps/v4/examples/radix/input-group-button-group.tsx create mode 100644 apps/v4/examples/radix/input-group-button.tsx create mode 100644 apps/v4/examples/radix/input-group-custom.tsx create mode 100644 apps/v4/examples/radix/input-group-demo.tsx create mode 100644 apps/v4/examples/radix/input-group-dropdown.tsx create mode 100644 apps/v4/examples/radix/input-group-icon.tsx create mode 100644 apps/v4/examples/radix/input-group-in-card.tsx create mode 100644 apps/v4/examples/radix/input-group-inline-end.tsx create mode 100644 apps/v4/examples/radix/input-group-inline-start.tsx create mode 100644 apps/v4/examples/radix/input-group-kbd.tsx create mode 100644 apps/v4/examples/radix/input-group-label.tsx create mode 100644 apps/v4/examples/radix/input-group-spinner.tsx create mode 100644 apps/v4/examples/radix/input-group-text.tsx create mode 100644 apps/v4/examples/radix/input-group-textarea-examples.tsx create mode 100644 apps/v4/examples/radix/input-group-textarea.tsx create mode 100644 apps/v4/examples/radix/input-group-tooltip.tsx create mode 100644 apps/v4/examples/radix/input-group-with-addons.tsx create mode 100644 apps/v4/examples/radix/input-group-with-buttons.tsx create mode 100644 apps/v4/examples/radix/input-group-with-kbd.tsx create mode 100644 apps/v4/examples/radix/input-group-with-tooltip.tsx create mode 100644 apps/v4/examples/radix/input-inline.tsx create mode 100644 apps/v4/examples/radix/input-input-group.tsx create mode 100644 apps/v4/examples/radix/input-invalid.tsx create mode 100644 apps/v4/examples/radix/input-otp-alphanumeric.tsx create mode 100644 apps/v4/examples/radix/input-otp-controlled.tsx create mode 100644 apps/v4/examples/radix/input-otp-demo.tsx create mode 100644 apps/v4/examples/radix/input-otp-disabled.tsx create mode 100644 apps/v4/examples/radix/input-otp-form.tsx create mode 100644 apps/v4/examples/radix/input-otp-four-digits.tsx create mode 100644 apps/v4/examples/radix/input-otp-invalid.tsx create mode 100644 apps/v4/examples/radix/input-otp-pattern.tsx create mode 100644 apps/v4/examples/radix/input-otp-separator.tsx create mode 100644 apps/v4/examples/radix/input-required.tsx create mode 100644 apps/v4/examples/radix/item-avatar.tsx create mode 100644 apps/v4/examples/radix/item-demo.tsx create mode 100644 apps/v4/examples/radix/item-dropdown.tsx create mode 100644 apps/v4/examples/radix/item-group.tsx create mode 100644 apps/v4/examples/radix/item-header.tsx create mode 100644 apps/v4/examples/radix/item-icon.tsx create mode 100644 apps/v4/examples/radix/item-image.tsx create mode 100644 apps/v4/examples/radix/item-link.tsx create mode 100644 apps/v4/examples/radix/item-size.tsx create mode 100644 apps/v4/examples/radix/item-variant.tsx create mode 100644 apps/v4/examples/radix/kbd-button.tsx create mode 100644 apps/v4/examples/radix/kbd-demo.tsx create mode 100644 apps/v4/examples/radix/kbd-group.tsx create mode 100644 apps/v4/examples/radix/kbd-input-group.tsx create mode 100644 apps/v4/examples/radix/kbd-tooltip.tsx create mode 100644 apps/v4/examples/radix/label-demo.tsx create mode 100644 apps/v4/examples/radix/lib/utils.ts create mode 100644 apps/v4/examples/radix/menubar-checkbox.tsx create mode 100644 apps/v4/examples/radix/menubar-demo.tsx create mode 100644 apps/v4/examples/radix/menubar-icons.tsx create mode 100644 apps/v4/examples/radix/menubar-radio.tsx create mode 100644 apps/v4/examples/radix/menubar-submenu.tsx create mode 100644 apps/v4/examples/radix/muted-item-group.tsx create mode 100644 apps/v4/examples/radix/native-select-demo.tsx create mode 100644 apps/v4/examples/radix/native-select-disabled.tsx create mode 100644 apps/v4/examples/radix/native-select-groups.tsx create mode 100644 apps/v4/examples/radix/native-select-invalid.tsx create mode 100644 apps/v4/examples/radix/navigation-menu-demo.tsx create mode 100644 apps/v4/examples/radix/outline-item-group.tsx create mode 100644 apps/v4/examples/radix/pagination-demo.tsx create mode 100644 apps/v4/examples/radix/pagination-icons-only.tsx create mode 100644 apps/v4/examples/radix/pagination-simple.tsx create mode 100644 apps/v4/examples/radix/popover-alignments.tsx create mode 100644 apps/v4/examples/radix/popover-basic.tsx create mode 100644 apps/v4/examples/radix/popover-demo.tsx create mode 100644 apps/v4/examples/radix/popover-form.tsx create mode 100644 apps/v4/examples/radix/progress-controlled.tsx create mode 100644 apps/v4/examples/radix/progress-demo.tsx create mode 100644 apps/v4/examples/radix/progress-label.tsx create mode 100644 apps/v4/examples/radix/radio-fields.tsx create mode 100644 apps/v4/examples/radix/radio-group-choice-card.tsx create mode 100644 apps/v4/examples/radix/radio-group-demo.tsx create mode 100644 apps/v4/examples/radix/radio-group-description.tsx create mode 100644 apps/v4/examples/radix/radio-group-disabled.tsx create mode 100644 apps/v4/examples/radix/radio-group-fieldset.tsx create mode 100644 apps/v4/examples/radix/radio-group-invalid.tsx create mode 100644 apps/v4/examples/radix/resizable-demo.tsx create mode 100644 apps/v4/examples/radix/resizable-handle.tsx create mode 100644 apps/v4/examples/radix/resizable-vertical.tsx create mode 100644 apps/v4/examples/radix/scroll-area-demo.tsx create mode 100644 apps/v4/examples/radix/scroll-area-horizontal-demo.tsx create mode 100644 apps/v4/examples/radix/select-align-item.tsx create mode 100644 apps/v4/examples/radix/select-demo.tsx create mode 100644 apps/v4/examples/radix/select-disabled.tsx create mode 100644 apps/v4/examples/radix/select-groups.tsx create mode 100644 apps/v4/examples/radix/select-invalid.tsx create mode 100644 apps/v4/examples/radix/select-scrollable.tsx create mode 100644 apps/v4/examples/radix/separator-demo.tsx create mode 100644 apps/v4/examples/radix/separator-list.tsx create mode 100644 apps/v4/examples/radix/separator-menu.tsx create mode 100644 apps/v4/examples/radix/separator-vertical.tsx create mode 100644 apps/v4/examples/radix/sheet-demo.tsx create mode 100644 apps/v4/examples/radix/sheet-no-close-button.tsx create mode 100644 apps/v4/examples/radix/sheet-side.tsx create mode 100644 apps/v4/examples/radix/sidebar-controlled.tsx create mode 100644 apps/v4/examples/radix/sidebar-demo.tsx create mode 100644 apps/v4/examples/radix/sidebar-footer.tsx create mode 100644 apps/v4/examples/radix/sidebar-group-action.tsx create mode 100644 apps/v4/examples/radix/sidebar-group-collapsible.tsx create mode 100644 apps/v4/examples/radix/sidebar-group.tsx create mode 100644 apps/v4/examples/radix/sidebar-header.tsx create mode 100644 apps/v4/examples/radix/sidebar-menu-action.tsx create mode 100644 apps/v4/examples/radix/sidebar-menu-badge.tsx create mode 100644 apps/v4/examples/radix/sidebar-menu-collapsible.tsx create mode 100644 apps/v4/examples/radix/sidebar-menu-sub.tsx create mode 100644 apps/v4/examples/radix/sidebar-menu.tsx create mode 100644 apps/v4/examples/radix/sidebar-rsc.tsx create mode 100644 apps/v4/examples/radix/skeleton-avatar.tsx create mode 100644 apps/v4/examples/radix/skeleton-card.tsx create mode 100644 apps/v4/examples/radix/skeleton-demo.tsx create mode 100644 apps/v4/examples/radix/skeleton-form.tsx create mode 100644 apps/v4/examples/radix/skeleton-table.tsx create mode 100644 apps/v4/examples/radix/skeleton-text.tsx create mode 100644 apps/v4/examples/radix/slider-controlled.tsx create mode 100644 apps/v4/examples/radix/slider-demo.tsx create mode 100644 apps/v4/examples/radix/slider-disabled.tsx create mode 100644 apps/v4/examples/radix/slider-multiple.tsx create mode 100644 apps/v4/examples/radix/slider-range.tsx create mode 100644 apps/v4/examples/radix/slider-vertical.tsx create mode 100644 apps/v4/examples/radix/sonner-demo.tsx create mode 100644 apps/v4/examples/radix/sonner-description.tsx create mode 100644 apps/v4/examples/radix/sonner-position.tsx create mode 100644 apps/v4/examples/radix/sonner-types.tsx create mode 100644 apps/v4/examples/radix/spinner-badge.tsx create mode 100644 apps/v4/examples/radix/spinner-button.tsx create mode 100644 apps/v4/examples/radix/spinner-custom.tsx create mode 100644 apps/v4/examples/radix/spinner-demo.tsx create mode 100644 apps/v4/examples/radix/spinner-empty.tsx create mode 100644 apps/v4/examples/radix/spinner-input-group.tsx create mode 100644 apps/v4/examples/radix/spinner-size.tsx create mode 100644 apps/v4/examples/radix/switch-choice-card.tsx create mode 100644 apps/v4/examples/radix/switch-demo.tsx create mode 100644 apps/v4/examples/radix/switch-description.tsx create mode 100644 apps/v4/examples/radix/switch-disabled.tsx create mode 100644 apps/v4/examples/radix/switch-invalid.tsx create mode 100644 apps/v4/examples/radix/switch-sizes.tsx create mode 100644 apps/v4/examples/radix/table-actions.tsx create mode 100644 apps/v4/examples/radix/table-demo.tsx create mode 100644 apps/v4/examples/radix/table-footer.tsx create mode 100644 apps/v4/examples/radix/tabs-demo.tsx create mode 100644 apps/v4/examples/radix/tabs-disabled.tsx create mode 100644 apps/v4/examples/radix/tabs-icons.tsx create mode 100644 apps/v4/examples/radix/tabs-line.tsx create mode 100644 apps/v4/examples/radix/tabs-vertical.tsx create mode 100644 apps/v4/examples/radix/textarea-button.tsx create mode 100644 apps/v4/examples/radix/textarea-demo.tsx create mode 100644 apps/v4/examples/radix/textarea-disabled.tsx create mode 100644 apps/v4/examples/radix/textarea-field.tsx create mode 100644 apps/v4/examples/radix/textarea-invalid.tsx create mode 100644 apps/v4/examples/radix/toggle-demo.tsx create mode 100644 apps/v4/examples/radix/toggle-disabled.tsx create mode 100644 apps/v4/examples/radix/toggle-group-demo.tsx create mode 100644 apps/v4/examples/radix/toggle-group-disabled.tsx create mode 100644 apps/v4/examples/radix/toggle-group-outline.tsx create mode 100644 apps/v4/examples/radix/toggle-group-sizes.tsx create mode 100644 apps/v4/examples/radix/toggle-group-spacing.tsx create mode 100644 apps/v4/examples/radix/toggle-group-vertical.tsx create mode 100644 apps/v4/examples/radix/toggle-outline.tsx create mode 100644 apps/v4/examples/radix/toggle-sizes.tsx create mode 100644 apps/v4/examples/radix/toggle-text.tsx create mode 100644 apps/v4/examples/radix/tooltip-demo.tsx create mode 100644 apps/v4/examples/radix/tooltip-disabled.tsx create mode 100644 apps/v4/examples/radix/tooltip-keyboard.tsx create mode 100644 apps/v4/examples/radix/tooltip-sides.tsx create mode 100644 apps/v4/examples/radix/typography-blockquote.tsx create mode 100644 apps/v4/examples/radix/typography-demo.tsx create mode 100644 apps/v4/examples/radix/typography-h1.tsx create mode 100644 apps/v4/examples/radix/typography-h2.tsx create mode 100644 apps/v4/examples/radix/typography-h3.tsx create mode 100644 apps/v4/examples/radix/typography-h4.tsx create mode 100644 apps/v4/examples/radix/typography-inline-code.tsx create mode 100644 apps/v4/examples/radix/typography-large.tsx create mode 100644 apps/v4/examples/radix/typography-lead.tsx create mode 100644 apps/v4/examples/radix/typography-list.tsx create mode 100644 apps/v4/examples/radix/typography-muted.tsx create mode 100644 apps/v4/examples/radix/typography-p.tsx create mode 100644 apps/v4/examples/radix/typography-small.tsx create mode 100644 apps/v4/examples/radix/typography-table.tsx create mode 100644 apps/v4/examples/radix/ui/accordion.tsx create mode 100644 apps/v4/examples/radix/ui/alert-dialog.tsx create mode 100644 apps/v4/examples/radix/ui/alert.tsx create mode 100644 apps/v4/examples/radix/ui/aspect-ratio.tsx create mode 100644 apps/v4/examples/radix/ui/avatar.tsx create mode 100644 apps/v4/examples/radix/ui/badge.tsx create mode 100644 apps/v4/examples/radix/ui/breadcrumb.tsx create mode 100644 apps/v4/examples/radix/ui/button-group.tsx create mode 100644 apps/v4/examples/radix/ui/button.tsx create mode 100644 apps/v4/examples/radix/ui/calendar.tsx create mode 100644 apps/v4/examples/radix/ui/card.tsx create mode 100644 apps/v4/examples/radix/ui/carousel.tsx create mode 100644 apps/v4/examples/radix/ui/chart.tsx create mode 100644 apps/v4/examples/radix/ui/checkbox.tsx create mode 100644 apps/v4/examples/radix/ui/collapsible.tsx create mode 100644 apps/v4/examples/radix/ui/combobox.tsx create mode 100644 apps/v4/examples/radix/ui/command.tsx create mode 100644 apps/v4/examples/radix/ui/context-menu.tsx create mode 100644 apps/v4/examples/radix/ui/dialog.tsx create mode 100644 apps/v4/examples/radix/ui/drawer.tsx create mode 100644 apps/v4/examples/radix/ui/dropdown-menu.tsx create mode 100644 apps/v4/examples/radix/ui/empty.tsx create mode 100644 apps/v4/examples/radix/ui/field.tsx create mode 100644 apps/v4/examples/radix/ui/hover-card.tsx create mode 100644 apps/v4/examples/radix/ui/input-group.tsx create mode 100644 apps/v4/examples/radix/ui/input-otp.tsx create mode 100644 apps/v4/examples/radix/ui/input.tsx create mode 100644 apps/v4/examples/radix/ui/item.tsx create mode 100644 apps/v4/examples/radix/ui/kbd.tsx create mode 100644 apps/v4/examples/radix/ui/label.tsx create mode 100644 apps/v4/examples/radix/ui/menubar.tsx create mode 100644 apps/v4/examples/radix/ui/native-select.tsx create mode 100644 apps/v4/examples/radix/ui/navigation-menu.tsx create mode 100644 apps/v4/examples/radix/ui/pagination.tsx create mode 100644 apps/v4/examples/radix/ui/popover.tsx create mode 100644 apps/v4/examples/radix/ui/progress.tsx create mode 100644 apps/v4/examples/radix/ui/radio-group.tsx create mode 100644 apps/v4/examples/radix/ui/resizable.tsx create mode 100644 apps/v4/examples/radix/ui/scroll-area.tsx create mode 100644 apps/v4/examples/radix/ui/select.tsx create mode 100644 apps/v4/examples/radix/ui/separator.tsx create mode 100644 apps/v4/examples/radix/ui/sheet.tsx create mode 100644 apps/v4/examples/radix/ui/sidebar.tsx create mode 100644 apps/v4/examples/radix/ui/skeleton.tsx create mode 100644 apps/v4/examples/radix/ui/slider.tsx create mode 100644 apps/v4/examples/radix/ui/sonner.tsx create mode 100644 apps/v4/examples/radix/ui/spinner.tsx create mode 100644 apps/v4/examples/radix/ui/switch.tsx create mode 100644 apps/v4/examples/radix/ui/table.tsx create mode 100644 apps/v4/examples/radix/ui/tabs.tsx create mode 100644 apps/v4/examples/radix/ui/textarea.tsx create mode 100644 apps/v4/examples/radix/ui/toggle-group.tsx create mode 100644 apps/v4/examples/radix/ui/toggle.tsx create mode 100644 apps/v4/examples/radix/ui/tooltip.tsx create mode 100644 apps/v4/lib/page-tree.ts delete mode 100644 apps/v4/public/r/styles/base-lyra/blocks.json delete mode 100644 apps/v4/public/r/styles/base-lyra/dashboard-01.json delete mode 100644 apps/v4/public/r/styles/base-lyra/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/base-lyra/sink.json delete mode 100644 apps/v4/public/r/styles/base-maia/blocks.json delete mode 100644 apps/v4/public/r/styles/base-maia/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/base-maia/sink.json delete mode 100644 apps/v4/public/r/styles/base-mira/blocks.json delete mode 100644 apps/v4/public/r/styles/base-mira/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/base-mira/sink.json delete mode 100644 apps/v4/public/r/styles/base-nova/blocks.json delete mode 100644 apps/v4/public/r/styles/base-nova/cn.json delete mode 100644 apps/v4/public/r/styles/base-nova/cover.json delete mode 100644 apps/v4/public/r/styles/base-nova/dashboard-01.json delete mode 100644 apps/v4/public/r/styles/base-nova/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/base-nova/sidebar-basic-example.json delete mode 100644 apps/v4/public/r/styles/base-nova/sidebar-dropdowns-example.json delete mode 100644 apps/v4/public/r/styles/base-nova/sidebar-submenus-example.json delete mode 100644 apps/v4/public/r/styles/base-nova/sink.json delete mode 100644 apps/v4/public/r/styles/base-vega/blocks.json delete mode 100644 apps/v4/public/r/styles/base-vega/cn.json delete mode 100644 apps/v4/public/r/styles/base-vega/cover.json delete mode 100644 apps/v4/public/r/styles/base-vega/dashboard-01.json delete mode 100644 apps/v4/public/r/styles/base-vega/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/base-vega/sidebar-basic-example.json delete mode 100644 apps/v4/public/r/styles/base-vega/sidebar-dropdowns-example.json delete mode 100644 apps/v4/public/r/styles/base-vega/sidebar-submenus-example.json delete mode 100644 apps/v4/public/r/styles/base-vega/sink.json delete mode 100644 apps/v4/public/r/styles/radix-lyra/blocks.json delete mode 100644 apps/v4/public/r/styles/radix-lyra/dashboard-01.json delete mode 100644 apps/v4/public/r/styles/radix-lyra/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/radix-lyra/sink.json delete mode 100644 apps/v4/public/r/styles/radix-maia/blocks.json delete mode 100644 apps/v4/public/r/styles/radix-maia/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/radix-maia/sink.json delete mode 100644 apps/v4/public/r/styles/radix-mira/blocks.json delete mode 100644 apps/v4/public/r/styles/radix-mira/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/radix-mira/sink.json delete mode 100644 apps/v4/public/r/styles/radix-nova/blocks.json delete mode 100644 apps/v4/public/r/styles/radix-nova/cn.json delete mode 100644 apps/v4/public/r/styles/radix-nova/cover.json delete mode 100644 apps/v4/public/r/styles/radix-nova/dashboard-01.json delete mode 100644 apps/v4/public/r/styles/radix-nova/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/radix-nova/sink.json delete mode 100644 apps/v4/public/r/styles/radix-vega/blocks.json delete mode 100644 apps/v4/public/r/styles/radix-vega/cn.json delete mode 100644 apps/v4/public/r/styles/radix-vega/cover.json delete mode 100644 apps/v4/public/r/styles/radix-vega/dashboard-01.json delete mode 100644 apps/v4/public/r/styles/radix-vega/font-geist-mono.json delete mode 100644 apps/v4/public/r/styles/radix-vega/sink.json create mode 100644 apps/v4/scripts/build-examples.ts diff --git a/apps/v4/app/(app)/(root)/components/appearance-settings.tsx b/apps/v4/app/(app)/(root)/components/appearance-settings.tsx index ea0df5091..782129ec7 100644 --- a/apps/v4/app/(app)/(root)/components/appearance-settings.tsx +++ b/apps/v4/app/(app)/(root)/components/appearance-settings.tsx @@ -1,10 +1,8 @@ "use client" import * as React from "react" -import { IconMinus, IconPlus } from "@tabler/icons-react" - -import { Button } from "@/registry/new-york-v4/ui/button" -import { ButtonGroup } from "@/registry/new-york-v4/ui/button-group" +import { Button } from "@/examples/radix/ui/button" +import { ButtonGroup } from "@/examples/radix/ui/button-group" import { Field, FieldContent, @@ -15,13 +13,11 @@ import { FieldSeparator, FieldSet, FieldTitle, -} from "@/registry/new-york-v4/ui/field" -import { Input } from "@/registry/new-york-v4/ui/input" -import { - RadioGroup, - RadioGroupItem, -} from "@/registry/new-york-v4/ui/radio-group" -import { Switch } from "@/registry/new-york-v4/ui/switch" +} 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) diff --git a/apps/v4/app/(app)/(root)/components/button-group-demo.tsx b/apps/v4/app/(app)/(root)/components/button-group-demo.tsx index 2f50d8ac8..bdf259d1d 100644 --- a/apps/v4/app/(app)/(root)/components/button-group-demo.tsx +++ b/apps/v4/app/(app)/(root)/components/button-group-demo.tsx @@ -1,20 +1,8 @@ "use client" import * as React from "react" -import { - ArchiveIcon, - ArrowLeftIcon, - CalendarPlusIcon, - ClockIcon, - ListFilterIcon, - MailCheckIcon, - MoreHorizontalIcon, - TagIcon, - Trash2Icon, -} from "lucide-react" - -import { Button } from "@/registry/new-york-v4/ui/button" -import { ButtonGroup } from "@/registry/new-york-v4/ui/button-group" +import { Button } from "@/examples/radix/ui/button" +import { ButtonGroup } from "@/examples/radix/ui/button-group" import { DropdownMenu, DropdownMenuContent, @@ -27,7 +15,18 @@ import { DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, -} from "@/registry/new-york-v4/ui/dropdown-menu" +} 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") diff --git a/apps/v4/app/(app)/(root)/components/button-group-input-group.tsx b/apps/v4/app/(app)/(root)/components/button-group-input-group.tsx index 0120a2290..4fd4a4d96 100644 --- a/apps/v4/app/(app)/(root)/components/button-group-input-group.tsx +++ b/apps/v4/app/(app)/(root)/components/button-group-input-group.tsx @@ -1,21 +1,20 @@ "use client" import * as React from "react" -import { AudioLinesIcon, PlusIcon } from "lucide-react" - -import { Button } from "@/registry/new-york-v4/ui/button" -import { ButtonGroup } from "@/registry/new-york-v4/ui/button-group" +import { Button } from "@/examples/radix/ui/button" +import { ButtonGroup } from "@/examples/radix/ui/button-group" import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, -} from "@/registry/new-york-v4/ui/input-group" +} from "@/examples/radix/ui/input-group" import { Tooltip, TooltipContent, TooltipTrigger, -} from "@/registry/new-york-v4/ui/tooltip" +} from "@/examples/radix/ui/tooltip" +import { AudioLinesIcon, PlusIcon } from "lucide-react" export function ButtonGroupInputGroup() { const [voiceEnabled, setVoiceEnabled] = React.useState(false) diff --git a/apps/v4/app/(app)/(root)/components/button-group-nested.tsx b/apps/v4/app/(app)/(root)/components/button-group-nested.tsx index 44718e472..e612ea740 100644 --- a/apps/v4/app/(app)/(root)/components/button-group-nested.tsx +++ b/apps/v4/app/(app)/(root)/components/button-group-nested.tsx @@ -1,10 +1,9 @@ "use client" +import { Button } from "@/examples/radix/ui/button" +import { ButtonGroup } from "@/examples/radix/ui/button-group" import { ArrowLeftIcon, ArrowRightIcon } from "lucide-react" -import { Button } from "@/registry/new-york-v4/ui/button" -import { ButtonGroup } from "@/registry/new-york-v4/ui/button-group" - export function ButtonGroupNested() { return ( diff --git a/apps/v4/app/(app)/(root)/components/button-group-popover.tsx b/apps/v4/app/(app)/(root)/components/button-group-popover.tsx index 972aa0b4c..cbc11df9d 100644 --- a/apps/v4/app/(app)/(root)/components/button-group-popover.tsx +++ b/apps/v4/app/(app)/(root)/components/button-group-popover.tsx @@ -1,14 +1,13 @@ -import { BotIcon, ChevronDownIcon } from "lucide-react" - -import { Button } from "@/registry/new-york-v4/ui/button" -import { ButtonGroup } from "@/registry/new-york-v4/ui/button-group" +import { Button } from "@/examples/radix/ui/button" +import { ButtonGroup } from "@/examples/radix/ui/button-group" import { Popover, PopoverContent, PopoverTrigger, -} from "@/registry/new-york-v4/ui/popover" -import { Separator } from "@/registry/new-york-v4/ui/separator" -import { Textarea } from "@/registry/new-york-v4/ui/textarea" +} 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 ( diff --git a/apps/v4/app/(app)/(root)/components/empty-avatar-group.tsx b/apps/v4/app/(app)/(root)/components/empty-avatar-group.tsx index fdc0b9606..1fb96e473 100644 --- a/apps/v4/app/(app)/(root)/components/empty-avatar-group.tsx +++ b/apps/v4/app/(app)/(root)/components/empty-avatar-group.tsx @@ -1,11 +1,5 @@ -import { PlusIcon } from "lucide-react" - -import { - Avatar, - AvatarFallback, - AvatarImage, -} from "@/registry/new-york-v4/ui/avatar" -import { Button } from "@/registry/new-york-v4/ui/button" +import { Avatar, AvatarFallback, AvatarImage } from "@/examples/radix/ui/avatar" +import { Button } from "@/examples/radix/ui/button" import { Empty, EmptyContent, @@ -13,7 +7,8 @@ import { EmptyHeader, EmptyMedia, EmptyTitle, -} from "@/registry/new-york-v4/ui/empty" +} from "@/examples/radix/ui/empty" +import { PlusIcon } from "lucide-react" export function EmptyAvatarGroup() { return ( diff --git a/apps/v4/app/(app)/(root)/components/field-checkbox.tsx b/apps/v4/app/(app)/(root)/components/field-checkbox.tsx index e7d9778ad..595cac1f4 100644 --- a/apps/v4/app/(app)/(root)/components/field-checkbox.tsx +++ b/apps/v4/app/(app)/(root)/components/field-checkbox.tsx @@ -1,5 +1,5 @@ -import { Checkbox } from "@/registry/new-york-v4/ui/checkbox" -import { Field, FieldLabel } from "@/registry/new-york-v4/ui/field" +import { Checkbox } from "@/examples/radix/ui/checkbox" +import { Field, FieldLabel } from "@/examples/radix/ui/field" export function FieldCheckbox() { return ( diff --git a/apps/v4/app/(app)/(root)/components/field-demo.tsx b/apps/v4/app/(app)/(root)/components/field-demo.tsx index 426f09a14..795129225 100644 --- a/apps/v4/app/(app)/(root)/components/field-demo.tsx +++ b/apps/v4/app/(app)/(root)/components/field-demo.tsx @@ -1,5 +1,5 @@ -import { Button } from "@/registry/new-york-v4/ui/button" -import { Checkbox } from "@/registry/new-york-v4/ui/checkbox" +import { Button } from "@/examples/radix/ui/button" +import { Checkbox } from "@/examples/radix/ui/checkbox" import { Field, FieldDescription, @@ -8,16 +8,16 @@ import { FieldLegend, FieldSeparator, FieldSet, -} from "@/registry/new-york-v4/ui/field" -import { Input } from "@/registry/new-york-v4/ui/input" +} from "@/examples/radix/ui/field" +import { Input } from "@/examples/radix/ui/input" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, -} from "@/registry/new-york-v4/ui/select" -import { Textarea } from "@/registry/new-york-v4/ui/textarea" +} from "@/examples/radix/ui/select" +import { Textarea } from "@/examples/radix/ui/textarea" export function FieldDemo() { return ( diff --git a/apps/v4/app/(app)/(root)/components/field-hear.tsx b/apps/v4/app/(app)/(root)/components/field-hear.tsx index 824df31cc..ad28d3128 100644 --- a/apps/v4/app/(app)/(root)/components/field-hear.tsx +++ b/apps/v4/app/(app)/(root)/components/field-hear.tsx @@ -1,5 +1,5 @@ -import { Card, CardContent } from "@/registry/new-york-v4/ui/card" -import { Checkbox } from "@/registry/new-york-v4/ui/checkbox" +import { Card, CardContent } from "@/examples/radix/ui/card" +import { Checkbox } from "@/examples/radix/ui/checkbox" import { Field, FieldDescription, @@ -8,7 +8,7 @@ import { FieldLegend, FieldSet, FieldTitle, -} from "@/registry/new-york-v4/ui/field" +} from "@/examples/radix/ui/field" const options = [ { diff --git a/apps/v4/app/(app)/(root)/components/field-slider.tsx b/apps/v4/app/(app)/(root)/components/field-slider.tsx index 20dec76e3..b2ab12306 100644 --- a/apps/v4/app/(app)/(root)/components/field-slider.tsx +++ b/apps/v4/app/(app)/(root)/components/field-slider.tsx @@ -1,13 +1,8 @@ "use client" import { useState } from "react" - -import { - Field, - FieldDescription, - FieldTitle, -} from "@/registry/new-york-v4/ui/field" -import { Slider } from "@/registry/new-york-v4/ui/slider" +import { Field, FieldDescription, FieldTitle } from "@/examples/radix/ui/field" +import { Slider } from "@/examples/radix/ui/slider" export function FieldSlider() { const [value, setValue] = useState([200, 800]) diff --git a/apps/v4/app/(app)/(root)/components/index.tsx b/apps/v4/app/(app)/(root)/components/index.tsx index 6439367be..4c8bc4488 100644 --- a/apps/v4/app/(app)/(root)/components/index.tsx +++ b/apps/v4/app/(app)/(root)/components/index.tsx @@ -1,4 +1,4 @@ -import { FieldSeparator } from "@/registry/new-york-v4/ui/field" +import { FieldSeparator } from "@/examples/radix/ui/field" import { AppearanceSettings } from "./appearance-settings" import { ButtonGroupDemo } from "./button-group-demo" diff --git a/apps/v4/app/(app)/(root)/components/input-group-button.tsx b/apps/v4/app/(app)/(root)/components/input-group-button.tsx index dfe639afe..f6fcf4db6 100644 --- a/apps/v4/app/(app)/(root)/components/input-group-button.tsx +++ b/apps/v4/app/(app)/(root)/components/input-group-button.tsx @@ -1,20 +1,19 @@ "use client" import * as React from "react" -import { IconInfoCircle, IconStar } from "@tabler/icons-react" - import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, -} from "@/registry/new-york-v4/ui/input-group" -import { Label } from "@/registry/new-york-v4/ui/label" +} from "@/examples/radix/ui/input-group" +import { Label } from "@/examples/radix/ui/label" import { Popover, PopoverContent, PopoverTrigger, -} from "@/registry/new-york-v4/ui/popover" +} from "@/examples/radix/ui/popover" +import { IconInfoCircle, IconStar } from "@tabler/icons-react" export function InputGroupButtonExample() { const [isFavorite, setIsFavorite] = React.useState(false) diff --git a/apps/v4/app/(app)/(root)/components/input-group-demo.tsx b/apps/v4/app/(app)/(root)/components/input-group-demo.tsx index f0bab1fdd..1321c001e 100644 --- a/apps/v4/app/(app)/(root)/components/input-group-demo.tsx +++ b/apps/v4/app/(app)/(root)/components/input-group-demo.tsx @@ -1,12 +1,9 @@ -import { IconCheck, IconInfoCircle, IconPlus } from "@tabler/icons-react" -import { ArrowUpIcon, Search } from "lucide-react" - import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, -} from "@/registry/new-york-v4/ui/dropdown-menu" +} from "@/examples/radix/ui/dropdown-menu" import { InputGroup, InputGroupAddon, @@ -14,13 +11,15 @@ import { InputGroupInput, InputGroupText, InputGroupTextarea, -} from "@/registry/new-york-v4/ui/input-group" -import { Separator } from "@/registry/new-york-v4/ui/separator" +} from "@/examples/radix/ui/input-group" +import { Separator } from "@/examples/radix/ui/separator" import { Tooltip, TooltipContent, TooltipTrigger, -} from "@/registry/new-york-v4/ui/tooltip" +} from "@/examples/radix/ui/tooltip" +import { IconCheck, IconInfoCircle, IconPlus } from "@tabler/icons-react" +import { ArrowUpIcon, Search } from "lucide-react" export function InputGroupDemo() { return ( diff --git a/apps/v4/app/(app)/(root)/components/item-demo.tsx b/apps/v4/app/(app)/(root)/components/item-demo.tsx index 75d125f47..2c97c53e9 100644 --- a/apps/v4/app/(app)/(root)/components/item-demo.tsx +++ b/apps/v4/app/(app)/(root)/components/item-demo.tsx @@ -1,6 +1,4 @@ -import { BadgeCheckIcon, ChevronRightIcon } from "lucide-react" - -import { Button } from "@/registry/new-york-v4/ui/button" +import { Button } from "@/examples/radix/ui/button" import { Item, ItemActions, @@ -8,7 +6,8 @@ import { ItemDescription, ItemMedia, ItemTitle, -} from "@/registry/new-york-v4/ui/item" +} from "@/examples/radix/ui/item" +import { BadgeCheckIcon, ChevronRightIcon } from "lucide-react" export function ItemDemo() { return ( diff --git a/apps/v4/app/(app)/(root)/components/notion-prompt-form.tsx b/apps/v4/app/(app)/(root)/components/notion-prompt-form.tsx index cd56c7bf1..242878f8a 100644 --- a/apps/v4/app/(app)/(root)/components/notion-prompt-form.tsx +++ b/apps/v4/app/(app)/(root)/components/notion-prompt-form.tsx @@ -1,24 +1,8 @@ "use client" import { useMemo, useState } from "react" -import { - IconApps, - IconArrowUp, - IconAt, - IconBook, - IconCircleDashedPlus, - IconPaperclip, - IconPlus, - IconWorld, - IconX, -} from "@tabler/icons-react" - -import { - Avatar, - AvatarFallback, - AvatarImage, -} from "@/registry/new-york-v4/ui/avatar" -import { Badge } from "@/registry/new-york-v4/ui/badge" +import { Avatar, AvatarFallback, AvatarImage } from "@/examples/radix/ui/avatar" +import { Badge } from "@/examples/radix/ui/badge" import { Command, CommandEmpty, @@ -26,7 +10,7 @@ import { CommandInput, CommandItem, CommandList, -} from "@/registry/new-york-v4/ui/command" +} from "@/examples/radix/ui/command" import { DropdownMenu, DropdownMenuCheckboxItem, @@ -39,25 +23,36 @@ import { DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, -} from "@/registry/new-york-v4/ui/dropdown-menu" -import { Field, FieldLabel } from "@/registry/new-york-v4/ui/field" +} from "@/examples/radix/ui/dropdown-menu" +import { Field, FieldLabel } from "@/examples/radix/ui/field" import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupTextarea, -} from "@/registry/new-york-v4/ui/input-group" +} from "@/examples/radix/ui/input-group" import { Popover, PopoverContent, PopoverTrigger, -} from "@/registry/new-york-v4/ui/popover" -import { Switch } from "@/registry/new-york-v4/ui/switch" +} from "@/examples/radix/ui/popover" +import { Switch } from "@/examples/radix/ui/switch" import { Tooltip, TooltipContent, TooltipTrigger, -} from "@/registry/new-york-v4/ui/tooltip" +} from "@/examples/radix/ui/tooltip" +import { + IconApps, + IconArrowUp, + IconAt, + IconBook, + IconCircleDashedPlus, + IconPaperclip, + IconPlus, + IconWorld, + IconX, +} from "@tabler/icons-react" const SAMPLE_DATA = { mentionable: [ diff --git a/apps/v4/app/(app)/(root)/components/spinner-badge.tsx b/apps/v4/app/(app)/(root)/components/spinner-badge.tsx index b6116547b..3bff54711 100644 --- a/apps/v4/app/(app)/(root)/components/spinner-badge.tsx +++ b/apps/v4/app/(app)/(root)/components/spinner-badge.tsx @@ -1,5 +1,5 @@ -import { Badge } from "@/registry/new-york-v4/ui/badge" -import { Spinner } from "@/registry/new-york-v4/ui/spinner" +import { Badge } from "@/examples/radix/ui/badge" +import { Spinner } from "@/examples/radix/ui/spinner" export function SpinnerBadge() { return ( diff --git a/apps/v4/app/(app)/(root)/components/spinner-empty.tsx b/apps/v4/app/(app)/(root)/components/spinner-empty.tsx index b1f1a6f54..1ff6b0b8b 100644 --- a/apps/v4/app/(app)/(root)/components/spinner-empty.tsx +++ b/apps/v4/app/(app)/(root)/components/spinner-empty.tsx @@ -1,4 +1,4 @@ -import { Button } from "@/registry/new-york-v4/ui/button" +import { Button } from "@/examples/radix/ui/button" import { Empty, EmptyContent, @@ -6,8 +6,8 @@ import { EmptyHeader, EmptyMedia, EmptyTitle, -} from "@/registry/new-york-v4/ui/empty" -import { Spinner } from "@/registry/new-york-v4/ui/spinner" +} from "@/examples/radix/ui/empty" +import { Spinner } from "@/examples/radix/ui/spinner" export function SpinnerEmpty() { return ( diff --git a/apps/v4/app/(app)/charts/layout.tsx b/apps/v4/app/(app)/charts/layout.tsx index 3c5746b7f..52bfd82dc 100644 --- a/apps/v4/app/(app)/charts/layout.tsx +++ b/apps/v4/app/(app)/charts/layout.tsx @@ -64,7 +64,7 @@ export default function ChartsLayout({ -
+
{children}
diff --git a/apps/v4/app/(app)/docs/[[...slug]]/page.tsx b/apps/v4/app/(app)/docs/[[...slug]]/page.tsx index f700a3c5b..34aa1e0f0 100644 --- a/apps/v4/app/(app)/docs/[[...slug]]/page.tsx +++ b/apps/v4/app/(app)/docs/[[...slug]]/page.tsx @@ -1,21 +1,15 @@ import Link from "next/link" import { notFound } from "next/navigation" import { mdxComponents } from "@/mdx-components" -import { - IconArrowLeft, - IconArrowRight, - IconArrowUpRight, -} from "@tabler/icons-react" -import fm from "front-matter" +import { IconArrowLeft, IconArrowRight } from "@tabler/icons-react" import { findNeighbour } from "fumadocs-core/page-tree" -import z from "zod" import { source } from "@/lib/source" import { absoluteUrl } from "@/lib/utils" +import { DocsBaseSwitcher } from "@/components/docs-base-switcher" import { DocsCopyPage } from "@/components/docs-copy-page" import { DocsTableOfContents } from "@/components/docs-toc" import { OpenInV0Cta } from "@/components/open-in-v0-cta" -import { Badge } from "@/registry/new-york-v4/ui/badge" import { Button } from "@/registry/new-york-v4/ui/button" export const revalidate = false @@ -86,126 +80,110 @@ export default async function Page(props: { const doc = page.data const MDX = doc.body const neighbours = findNeighbour(source.pageTree, page.url) - const raw = await page.data.getText("raw") - const { attributes } = fm(raw) - const { links } = z - .object({ - links: z - .object({ - doc: z.string().optional(), - api: z.string().optional(), - }) - .optional(), - }) - .parse(attributes) return ( -
+
-
+
-

+

{doc.title}

-
+
- {neighbours.previous && ( - - )} - {neighbours.next && ( - - )} +
+ {neighbours.previous && ( + + )} + {neighbours.next && ( + + )} +
{doc.description && ( -

+

{doc.description}

)}
- {links ? ( -
- {links?.doc && ( - - - Docs - - - )} - {links?.api && ( - - - API Reference - - - )} -
- ) : null}
-
+
+ {params.slug && + params.slug[0] === "components" && + params.slug[1] && + params.slug[2] && ( + + )}
-
-
- {neighbours.previous && ( - - )} - {neighbours.next && ( - - )} +
+ {neighbours.previous && ( + + )} + {neighbours.next && ( + + )} +
-
-
+
+
{doc.toc?.length ? ( -
+
-
) : null} -
+
diff --git a/apps/v4/app/(app)/docs/layout.tsx b/apps/v4/app/(app)/docs/layout.tsx index 65e202a98..339c2ca80 100644 --- a/apps/v4/app/(app)/docs/layout.tsx +++ b/apps/v4/app/(app)/docs/layout.tsx @@ -9,7 +9,10 @@ export default function DocsLayout({ }) { return (
- +
{children}
diff --git a/apps/v4/app/(app)/llm/[[...slug]]/route.ts b/apps/v4/app/(app)/llm/[[...slug]]/route.ts index b50339de4..78390a5d1 100644 --- a/apps/v4/app/(app)/llm/[[...slug]]/route.ts +++ b/apps/v4/app/(app)/llm/[[...slug]]/route.ts @@ -3,10 +3,23 @@ import { NextResponse, type NextRequest } from "next/server" import { processMdxForLLMs } from "@/lib/llm" import { source } from "@/lib/source" -import { getActiveStyle } from "@/registry/_legacy-styles" +import { getActiveStyle, type Style } from "@/registry/_legacy-styles" export const revalidate = false +function getStyleFromSlug(slug: string[] | undefined, fallbackStyle: string) { + // Detect base from URL: /docs/components/base/... or /docs/components/radix/... + if (slug && slug[0] === "components" && slug[1]) { + if (slug[1] === "base") { + return "base-nova" + } + if (slug[1] === "radix") { + return "new-york-v4" + } + } + return fallbackStyle +} + export async function GET( _req: NextRequest, { params }: { params: Promise<{ slug?: string[] }> } @@ -19,9 +32,11 @@ export async function GET( notFound() } + const effectiveStyle = getStyleFromSlug(slug, activeStyle.name) + const processedContent = processMdxForLLMs( await page.data.getText("raw"), - activeStyle.name + effectiveStyle as Style["name"] ) return new NextResponse(processedContent, { diff --git a/apps/v4/app/(create)/components/item-picker.tsx b/apps/v4/app/(create)/components/item-picker.tsx index 7dcf9bd73..e742c11a8 100644 --- a/apps/v4/app/(create)/components/item-picker.tsx +++ b/apps/v4/app/(create)/components/item-picker.tsx @@ -99,7 +99,7 @@ export function ItemPicker({ variant="outline" aria-label="Select item" size="sm" - className="data-popup-open:bg-muted dark:data-popup-open:bg-muted/50 bg-muted/50 sm:bg-background md:dark:bg-background border-foreground/10 dark:bg-muted/50 h-[calc(--spacing(13.5))] flex-1 touch-manipulation justify-between gap-2 rounded-xl pr-4! pl-2.5 text-left shadow-none select-none *:data-[slot=combobox-trigger-icon]:hidden sm:h-8 sm:max-w-56 sm:rounded-lg sm:pr-2! xl:max-w-md" + className="data-popup-open:bg-muted dark:data-popup-open:bg-muted/50 bg-muted/50 sm:bg-background md:dark:bg-background border-foreground/10 dark:bg-muted/50 h-[calc(--spacing(13.5))] flex-1 touch-manipulation justify-between gap-2 rounded-xl pr-4! pl-2.5 text-left shadow-none select-none *:data-[slot=combobox-trigger-icon]:hidden sm:h-8 sm:max-w-56 sm:rounded-lg sm:pr-2! xl:max-w-64" /> } > @@ -123,9 +123,9 @@ export function ItemPicker({ {hasCopied ? ( @@ -64,7 +64,7 @@ export function ShareButton() { ) : ( )} - Share + Share Copy Link diff --git a/apps/v4/app/(create)/components/v0-button.tsx b/apps/v4/app/(create)/components/v0-button.tsx index cdf7ea36b..f716e31ca 100644 --- a/apps/v4/app/(create)/components/v0-button.tsx +++ b/apps/v4/app/(create)/components/v0-button.tsx @@ -14,7 +14,7 @@ import { import { useDesignSystemSearchParams } from "@/app/(create)/lib/search-params" export function V0Button({ className }: { className?: string }) { - const [params, setParams] = useDesignSystemSearchParams() + const [params] = useDesignSystemSearchParams() const isMobile = useIsMobile() const isMounted = useMounted() @@ -32,7 +32,7 @@ export function V0Button({ className }: { className?: string }) { size="sm" variant={isMobile ? "default" : "outline"} className={cn( - "w-24 rounded-lg shadow-none data-[variant=default]:h-[31px]", + "w-24 rounded-lg shadow-none data-[variant=default]:h-[31px] lg:w-8 xl:w-24", className )} asChild @@ -41,7 +41,8 @@ export function V0Button({ className }: { className?: string }) { href={`${process.env.NEXT_PUBLIC_V0_URL}/chat/api/open?url=${encodeURIComponent(url)}&title=${params.item}`} target="_blank" > - Open in + Open in + diff --git a/apps/v4/app/(create)/create/page.tsx b/apps/v4/app/(create)/create/page.tsx index 81887852b..b3d69ac57 100644 --- a/apps/v4/app/(create)/create/page.tsx +++ b/apps/v4/app/(create)/create/page.tsx @@ -4,7 +4,11 @@ import { ArrowLeftIcon } from "lucide-react" import type { SearchParams } from "nuqs/server" import { siteConfig } from "@/lib/config" +import { source } from "@/lib/source" import { absoluteUrl } from "@/lib/utils" +import { Icons } from "@/components/icons" +import { MainNav } from "@/components/main-nav" +import { MobileNav } from "@/components/mobile-nav" import { ModeSwitcher } from "@/components/mode-switcher" import { SiteConfig } from "@/components/site-config" import { BASES } from "@/registry/config" @@ -64,6 +68,7 @@ export default async function CreatePage({ const params = await loadDesignSystemSearchParams(searchParams) const base = BASES.find((b) => b.name === params.base) ?? BASES[0] + const pageTree = source.pageTree const items = await getItemsForBase(base.name) const filteredItems = items @@ -82,38 +87,34 @@ export default async function CreatePage({
-
+
+ - -
- New Project -
+
-
+
- +
-
+
diff --git a/apps/v4/app/(view)/view/[style]/[name]/page.tsx b/apps/v4/app/(view)/view/[style]/[name]/page.tsx index 77761346d..f0ee545d5 100644 --- a/apps/v4/app/(view)/view/[style]/[name]/page.tsx +++ b/apps/v4/app/(view)/view/[style]/[name]/page.tsx @@ -4,7 +4,11 @@ import { type Metadata } from "next" import { notFound } from "next/navigation" import { siteConfig } from "@/lib/config" -import { getRegistryComponent, getRegistryItem } from "@/lib/registry" +import { + getDemoItem, + getRegistryComponent, + getRegistryItem, +} from "@/lib/registry" import { absoluteUrl } from "@/lib/utils" import { getStyle, legacyStyles, type Style } from "@/registry/_legacy-styles" @@ -18,7 +22,12 @@ export const dynamicParams = false const getCachedRegistryItem = React.cache( async (name: string, styleName: Style["name"]) => { - return await getRegistryItem(name, styleName) + // Try registry item first, then fallback to demo item (for examples). + const item = await getRegistryItem(name, styleName) + if (item) { + return item + } + return await getDemoItem(name, styleName) } ) @@ -75,9 +84,54 @@ export async function generateMetadata({ export async function generateStaticParams() { const { Index } = await import("@/registry/__index__") + // const { Index: BasesIndex } = await import("@/registry/bases/__index__") + const { ExamplesIndex } = await import("@/examples/__index__") const params: Array<{ style: string; name: string }> = [] for (const style of legacyStyles) { + // Check if this is a base-prefixed style (e.g., base-nova, radix-nova). + const baseMatch = style.name.match(/^(base|radix)-/) + if (baseMatch) { + const baseName = baseMatch[1] + + // Add examples from ExamplesIndex. + const examples = ExamplesIndex[baseName] + if (examples) { + for (const exampleName of Object.keys(examples)) { + if (exampleName.startsWith("sidebar-")) { + params.push({ + style: style.name, + name: exampleName, + }) + } + } + } + + // // Add UI components from BasesIndex. + // const baseIndex = BasesIndex[baseName] + // if (baseIndex) { + // for (const itemName in baseIndex) { + // const item = baseIndex[itemName] + // if ( + // [ + // "registry:block", + // "registry:component", + // "registry:example", + // "registry:internal", + // ].includes(item.type) + // ) { + // params.push({ + // style: style.name, + // name: item.name, + // }) + // } + // } + // } + + continue + } + + // Handle legacy styles (e.g., new-york-v4). if (!Index[style.name]) { continue } diff --git a/apps/v4/components/announcement.tsx b/apps/v4/components/announcement.tsx index bf85673ed..34d6e0e2b 100644 --- a/apps/v4/components/announcement.tsx +++ b/apps/v4/components/announcement.tsx @@ -3,12 +3,27 @@ import { ArrowRightIcon } from "lucide-react" import { Badge } from "@/registry/new-york-v4/ui/badge" +function BaseUILogo() { + return ( + + + + + ) +} + export function Announcement() { return ( - - npx shadcn create + + Base UI Documentation ) diff --git a/apps/v4/components/chart-display.tsx b/apps/v4/components/chart-display.tsx index 26bc60fa1..637da1c87 100644 --- a/apps/v4/components/chart-display.tsx +++ b/apps/v4/components/chart-display.tsx @@ -35,7 +35,7 @@ export function ChartDisplay({
diff --git a/apps/v4/components/code-tabs.tsx b/apps/v4/components/code-tabs.tsx index 98c48bf76..e6b928958 100644 --- a/apps/v4/components/code-tabs.tsx +++ b/apps/v4/components/code-tabs.tsx @@ -18,7 +18,7 @@ export function CodeTabs({ children }: React.ComponentProps) { onValueChange={(value) => setConfig({ ...config, installationType: value as "cli" | "manual" }) } - className="relative mt-6 w-full" + className="relative mt-6 w-full *:data-[slot=tabs-list]:gap-6" > {children} diff --git a/apps/v4/components/command-menu.tsx b/apps/v4/components/command-menu.tsx index 7d7fbb60c..cd6d65b12 100644 --- a/apps/v4/components/command-menu.tsx +++ b/apps/v4/components/command-menu.tsx @@ -1,15 +1,17 @@ "use client" import * as React from "react" -import { useRouter } from "next/navigation" +import { usePathname, useRouter } from "next/navigation" import { type DialogProps } from "@radix-ui/react-dialog" +import * as DialogPrimitive from "@radix-ui/react-dialog" import { IconArrowRight } from "@tabler/icons-react" import { useDocsSearch } from "fumadocs-core/search/client" -import { CornerDownLeftIcon, SquareDashedIcon } from "lucide-react" +import { CornerDownLeftIcon, SquareDashedIcon, XIcon } from "lucide-react" import { type Color, type ColorPalette } from "@/lib/colors" import { trackEvent } from "@/lib/events" import { showMcpDocs } from "@/lib/flags" +import { getCurrentBase, getPagesFromFolder } from "@/lib/page-tree" import { type source } from "@/lib/source" import { cn } from "@/lib/utils" import { useConfig } from "@/hooks/use-config" @@ -26,13 +28,13 @@ import { } from "@/registry/new-york-v4/ui/command" import { Dialog, - DialogContent, DialogDescription, DialogHeader, + DialogPortal, DialogTitle, DialogTrigger, } from "@/registry/new-york-v4/ui/dialog" -import { Kbd, KbdGroup } from "@/registry/new-york-v4/ui/kbd" +import { Kbd } from "@/registry/new-york-v4/ui/kbd" import { Separator } from "@/registry/new-york-v4/ui/separator" import { Spinner } from "@/registry/new-york-v4/ui/spinner" @@ -49,7 +51,9 @@ export function CommandMenu({ navItems?: { href: string; label: string }[] }) { const router = useRouter() + const pathname = usePathname() const [config] = useConfig() + const currentBase = getCurrentBase(pathname) const [open, setOpen] = React.useState(false) const [selectedType, setSelectedType] = React.useState< "color" | "page" | "component" | "block" | null @@ -138,10 +142,13 @@ export function CommandMenu({ [setSelectedType, setCopyPayload, packageManager] ) - const runCommand = React.useCallback((command: () => unknown) => { - setOpen(false) - command() - }, []) + const runCommand = React.useCallback( + (command: () => unknown) => { + setOpen(false) + command() + }, + [setOpen] + ) React.useEffect(() => { const down = (e: KeyboardEvent) => { @@ -207,10 +214,7 @@ export function CommandMenu({
- + Search documentation... Search for a command to run... @@ -269,40 +273,37 @@ export function CommandMenu({ className="!p-0 [&_[cmdk-group-heading]]:scroll-mt-16 [&_[cmdk-group-heading]]:!p-3 [&_[cmdk-group-heading]]:!pb-1" > {group.type === "folder" && - group.children.map((item) => { - if (item.type === "page") { - const isComponent = item.url.includes("/components/") + getPagesFromFolder(group, currentBase).map((item) => { + const isComponent = item.url.includes("/components/") - if (!showMcpDocs && item.url.includes("/mcp")) { - return null - } - - return ( - - handlePageHighlight(isComponent, item) - } - onSelect={() => { - runCommand(() => router.push(item.url)) - }} - > - {isComponent ? ( -
- ) : ( - - )} - {item.name} - - ) + if (!showMcpDocs && item.url.includes("/mcp")) { + return null } - return null + + return ( + + handlePageHighlight(isComponent, item) + } + onSelect={() => { + runCommand(() => router.push(item.url)) + }} + > + {isComponent ? ( +
+ ) : ( + + )} + {item.name} + + ) })} ))} @@ -523,3 +524,30 @@ function SearchResults({ ) } + +function DialogContent({ + className, + children, + ...props +}: React.ComponentProps & { + showCloseButton?: boolean +}) { + return ( + + + + {children} + + + ) +} diff --git a/apps/v4/components/component-preview-tabs.tsx b/apps/v4/components/component-preview-tabs.tsx index 50394234b..ab53af6f7 100644 --- a/apps/v4/components/component-preview-tabs.tsx +++ b/apps/v4/components/component-preview-tabs.tsx @@ -3,9 +3,11 @@ import * as React from "react" import { cn } from "@/lib/utils" +import { Button } from "@/registry/new-york-v4/ui/button" export function ComponentPreviewTabs({ className, + previewClassName, align = "center", hideCode = false, chromeLessOnMobile = false, @@ -13,16 +15,19 @@ export function ComponentPreviewTabs({ source, ...props }: React.ComponentProps<"div"> & { + previewClassName?: string align?: "center" | "start" | "end" hideCode?: boolean chromeLessOnMobile?: boolean component: React.ReactNode source: React.ReactNode }) { + const [isMobileCodeVisible, setIsMobileCodeVisible] = React.useState(false) + return (
{component} @@ -40,9 +46,32 @@ export function ComponentPreviewTabs({ {!hideCode && (
{source} + {!isMobileCodeVisible && ( +
+
+ +
+ )}
)}
diff --git a/apps/v4/components/component-preview.tsx b/apps/v4/components/component-preview.tsx index a207dcb80..b09cd6897 100644 --- a/apps/v4/components/component-preview.tsx +++ b/apps/v4/components/component-preview.tsx @@ -1,45 +1,33 @@ +import * as React from "react" import Image from "next/image" +import { getRegistryComponent } from "@/lib/registry" import { ComponentPreviewTabs } from "@/components/component-preview-tabs" import { ComponentSource } from "@/components/component-source" -import { Index } from "@/registry/__index__" -import { type Style } from "@/registry/_legacy-styles" export function ComponentPreview({ name, - styleName = "new-york-v4", type, className, + previewClassName, align = "center", hideCode = false, chromeLessOnMobile = false, + styleName = "new-york-v4", ...props }: React.ComponentProps<"div"> & { name: string - styleName?: Style["name"] + styleName?: string align?: "center" | "start" | "end" description?: string hideCode?: boolean type?: "block" | "component" | "example" chromeLessOnMobile?: boolean + previewClassName?: string }) { - const Component = Index[styleName]?.[name]?.component - - if (!Component) { - return ( -

- Component{" "} - - {name} - {" "} - not found in registry. -

- ) - } - if (type === "block") { return ( -
+
{name} + Component{" "} + + {name} + {" "} + not found in registry. +

+ ) + } + return ( } + component={} source={ ) } + +function DynamicComponent({ + name, + styleName, +}: { + name: string + styleName: string +}) { + const Component = React.useMemo( + () => getRegistryComponent(name, styleName), + [name, styleName] + ) + + if (!Component) { + return null + } + + return React.createElement(Component) +} diff --git a/apps/v4/components/component-source.tsx b/apps/v4/components/component-source.tsx index 55bf3acca..a90555724 100644 --- a/apps/v4/components/component-source.tsx +++ b/apps/v4/components/component-source.tsx @@ -3,12 +3,12 @@ import path from "node:path" import * as React from "react" import { highlightCode } from "@/lib/highlight-code" -import { getRegistryItem } from "@/lib/registry" +import { getDemoItem, getRegistryItem } from "@/lib/registry" +import { formatCode } from "@/lib/rehype" import { cn } from "@/lib/utils" import { CodeCollapsibleWrapper } from "@/components/code-collapsible-wrapper" import { CopyButton } from "@/components/copy-button" import { getIconForLanguageExtension } from "@/components/icons" -import { type Style } from "@/registry/_legacy-styles" export async function ComponentSource({ name, @@ -24,7 +24,7 @@ export async function ComponentSource({ title?: string language?: string collapsible?: boolean - styleName?: Style["name"] + styleName?: string }) { if (!name && !src) { return null @@ -33,7 +33,9 @@ export async function ComponentSource({ let code: string | undefined if (name) { - const item = await getRegistryItem(name, styleName) + const item = + (await getDemoItem(name, styleName)) ?? + (await getRegistryItem(name, styleName)) code = item?.files?.[0]?.content } @@ -46,12 +48,7 @@ export async function ComponentSource({ return null } - // Fix imports. - // Replace @/registry/${style}/ with @/components/. - code = code.replaceAll(`@/registry/${styleName}/`, "@/components/") - - // Replace export default with export. - code = code.replaceAll("export default", "export") + code = await formatCode(code, styleName) code = code.replaceAll("/* eslint-disable react/no-children-prop */\n", "") const lang = language ?? title?.split(".").pop() ?? "tsx" diff --git a/apps/v4/components/components-list.tsx b/apps/v4/components/components-list.tsx index 6b3447f08..fb0e7ecd6 100644 --- a/apps/v4/components/components-list.tsx +++ b/apps/v4/components/components-list.tsx @@ -1,20 +1,16 @@ import Link from "next/link" import { PAGES_NEW } from "@/lib/docs" -import { source } from "@/lib/source" +import { getPagesFromFolder, type PageTreeFolder } from "@/lib/page-tree" -export function ComponentsList() { - const components = source.pageTree.children.find( - (page) => page.$id === "components" - ) - - if (components?.type !== "folder") { - return - } - - const list = components.children.filter( - (component) => component.type === "page" - ) +export function ComponentsList({ + componentsFolder, + currentBase, +}: { + componentsFolder: PageTreeFolder + currentBase: string +}) { + const list = getPagesFromFolder(componentsFolder, currentBase) return (
diff --git a/apps/v4/components/docs-base-switcher.tsx b/apps/v4/components/docs-base-switcher.tsx new file mode 100644 index 000000000..e8c348734 --- /dev/null +++ b/apps/v4/components/docs-base-switcher.tsx @@ -0,0 +1,39 @@ +import Link from "next/link" + +import { cn } from "@/lib/utils" +import { BASES } from "@/registry/bases" + +export function DocsBaseSwitcher({ + base, + component, + className, +}: { + base: string + component: string + className?: string +}) { + const activeBase = BASES.find((baseItem) => base === baseItem.name) + + return ( +
+ {BASES.map((baseItem) => ( + + {baseItem.title} + + ))} + {activeBase?.meta?.logo && ( +
+ )} +
+ ) +} diff --git a/apps/v4/components/docs-copy-page.tsx b/apps/v4/components/docs-copy-page.tsx index 0e5387029..4f8840e8d 100644 --- a/apps/v4/components/docs-copy-page.tsx +++ b/apps/v4/components/docs-copy-page.tsx @@ -183,7 +183,10 @@ export function DocsCopyPage({ page, url }: { page: string; url: string }) { {trigger} - + {Object.entries(menuItems).map(([key, value]) => ( {value(url)} @@ -193,13 +196,13 @@ export function DocsCopyPage({ page, url }: { page: string; url: string }) { {trigger} {Object.entries(menuItems).map(([key, value]) => ( diff --git a/apps/v4/components/docs-page-links.tsx b/apps/v4/components/docs-page-links.tsx new file mode 100644 index 000000000..5eb332938 --- /dev/null +++ b/apps/v4/components/docs-page-links.tsx @@ -0,0 +1,179 @@ +"use client" + +import { IconCheck, IconCopy } from "@tabler/icons-react" + +import { useCopyToClipboard } from "@/hooks/use-copy-to-clipboard" + +function getPromptUrl(baseURL: string, url: string) { + return `${baseURL}?q=${encodeURIComponent( + `I'm looking at this shadcn/ui documentation: ${url}. +Help me understand how to use it. Be ready to explain concepts, give examples, or help debug based on it. + ` + )}` +} + +export function DocsPageLinks({ page, url }: { page: string; url: string }) { + const { copyToClipboard, isCopied } = useCopyToClipboard() + + return ( +
+ +
+ ) +} diff --git a/apps/v4/components/docs-sidebar.tsx b/apps/v4/components/docs-sidebar.tsx index 79dce7005..e944be29e 100644 --- a/apps/v4/components/docs-sidebar.tsx +++ b/apps/v4/components/docs-sidebar.tsx @@ -5,6 +5,7 @@ import { usePathname } from "next/navigation" import { PAGES_NEW } from "@/lib/docs" import { showMcpDocs } from "@/lib/flags" +import { getCurrentBase, getPagesFromFolder } from "@/lib/page-tree" import type { source } from "@/lib/source" import { Sidebar, @@ -18,11 +19,15 @@ import { } from "@/registry/new-york-v4/ui/sidebar" const TOP_LEVEL_SECTIONS = [ - { name: "Get Started", href: "/docs" }, + { name: "Introduction", href: "/docs" }, { name: "Components", href: "/docs/components", }, + { + name: "Installation", + href: "/docs/installation", + }, { name: "Directory", href: "/docs/directory", @@ -31,6 +36,10 @@ const TOP_LEVEL_SECTIONS = [ name: "MCP Server", href: "/docs/mcp", }, + { + name: "Registry", + href: "/docs/registry", + }, { name: "Forms", href: "/docs/forms", @@ -48,10 +57,11 @@ export function DocsSidebar({ ...props }: React.ComponentProps & { tree: typeof source.pageTree }) { const pathname = usePathname() + const currentBase = getCurrentBase(pathname) return ( @@ -102,37 +112,34 @@ export function DocsSidebar({ {item.type === "folder" && ( - {item.children.map((item) => { - if ( - !showMcpDocs && - item.type === "page" && - item.url?.includes("/mcp") - ) { + {getPagesFromFolder(item, currentBase).map((page) => { + if (!showMcpDocs && page.url.includes("/mcp")) { + return null + } + + if (EXCLUDED_PAGES.includes(page.url)) { return null } return ( - item.type === "page" && - !EXCLUDED_PAGES.includes(item.url) && ( - - - - - {item.name} - {PAGES_NEW.includes(item.url) && ( - - )} - - - - ) + + + + + {page.name} + {PAGES_NEW.includes(page.url) && ( + + )} + + + ) })} diff --git a/apps/v4/components/docs-toc.tsx b/apps/v4/components/docs-toc.tsx index ff0803035..555d049b5 100644 --- a/apps/v4/components/docs-toc.tsx +++ b/apps/v4/components/docs-toc.tsx @@ -107,7 +107,7 @@ export function DocsTableOfContents({ return (
-

+

On This Page

{toc.map((item) => ( diff --git a/apps/v4/components/mobile-nav.tsx b/apps/v4/components/mobile-nav.tsx index c9f425d05..87237b324 100644 --- a/apps/v4/components/mobile-nav.tsx +++ b/apps/v4/components/mobile-nav.tsx @@ -2,10 +2,11 @@ import * as React from "react" import Link, { type LinkProps } from "next/link" -import { useRouter } from "next/navigation" +import { usePathname, useRouter } from "next/navigation" import { PAGES_NEW } from "@/lib/docs" import { showMcpDocs } from "@/lib/flags" +import { getCurrentBase, getPagesFromFolder } from "@/lib/page-tree" import { type source } from "@/lib/source" import { cn } from "@/lib/utils" import { Button } from "@/registry/new-york-v4/ui/button" @@ -16,11 +17,15 @@ import { } from "@/registry/new-york-v4/ui/popover" const TOP_LEVEL_SECTIONS = [ - { name: "Get Started", href: "/docs" }, + { name: "Introduction", href: "/docs" }, { name: "Components", href: "/docs/components", }, + { + name: "Installation", + href: "/docs/installation", + }, { name: "Directory", href: "/docs/directory", @@ -29,6 +34,10 @@ const TOP_LEVEL_SECTIONS = [ name: "MCP Server", href: "/docs/mcp", }, + { + name: "Registry", + href: "/docs/registry", + }, { name: "Forms", href: "/docs/forms", @@ -49,6 +58,8 @@ export function MobileNav({ className?: string }) { const [open, setOpen] = React.useState(false) + const pathname = usePathname() + const currentBase = getCurrentBase(pathname) return ( @@ -125,31 +136,30 @@ export function MobileNav({
{tree?.children?.map((group, index) => { if (group.type === "folder") { + const pages = getPagesFromFolder(group, currentBase) return (
{group.name}
- {group.children.map((item) => { - if (item.type === "page") { - if (!showMcpDocs && item.url.includes("/mcp")) { - return null - } - return ( - - {item.name}{" "} - {PAGES_NEW.includes(item.url) && ( - - )} - - ) + {pages.map((item) => { + if (!showMcpDocs && item.url.includes("/mcp")) { + return null } + return ( + + {item.name}{" "} + {PAGES_NEW.includes(item.url) && ( + + )} + + ) })}
diff --git a/apps/v4/components/site-footer.tsx b/apps/v4/components/site-footer.tsx index b4d2e01e9..0db63d25a 100644 --- a/apps/v4/components/site-footer.tsx +++ b/apps/v4/components/site-footer.tsx @@ -2,7 +2,7 @@ import { siteConfig } from "@/lib/config" export function SiteFooter() { return ( -