@gv-tech/design-system 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/skills/dogfood-components/SKILL.md +6 -6
- package/.agent/skills/maintain-component/SKILL.md +59 -24
- package/.agent/workflows/native-playground.md +93 -0
- package/.github/workflows/ci.yml +19 -1
- package/.github/workflows/release-please.yml +32 -6
- package/.release-please-manifest.json +7 -1
- package/.tool-versions +1 -1
- package/CHANGELOG.md +15 -0
- package/apps/.gitkeep +0 -0
- package/apps/native-playground/CHANGELOG.md +8 -0
- package/apps/native-playground/app.json +37 -0
- package/apps/native-playground/assets/fonts/.gitkeep +0 -0
- package/apps/native-playground/assets/images/adaptive-icon.png +0 -0
- package/apps/native-playground/assets/images/favicon.png +0 -0
- package/apps/native-playground/assets/images/icon.png +0 -0
- package/apps/native-playground/assets/images/splash-icon.png +0 -0
- package/apps/native-playground/babel.config.js +6 -0
- package/apps/native-playground/eas.json +25 -0
- package/apps/native-playground/index.js +8 -0
- package/apps/native-playground/metro.config.js +26 -0
- package/apps/native-playground/nativewind-env.d.ts +1 -0
- package/apps/native-playground/package.json +23 -0
- package/apps/native-playground/project.json +15 -0
- package/apps/native-playground/src/app/App.tsx +842 -0
- package/apps/native-playground/src/global.css +49 -0
- package/apps/native-playground/tailwind.config.js +49 -0
- package/apps/native-playground/tsconfig.app.json +24 -0
- package/apps/native-playground/tsconfig.json +23 -0
- package/apps/native-playground/tsconfig.spec.json +24 -0
- package/apps/playground-web/CHANGELOG.md +8 -0
- package/apps/playground-web/package.json +31 -0
- package/apps/playground-web/src/App.tsx +179 -0
- package/apps/playground-web/src/components/docs/CodeBlock.tsx +34 -0
- package/apps/playground-web/src/components/docs/CombinedDocsLayout.tsx +103 -0
- package/apps/playground-web/src/components/docs/ComponentShowcase.tsx +96 -0
- package/apps/playground-web/src/components/docs/ErrorBoundary.tsx +55 -0
- package/apps/playground-web/src/components/docs/Footer.tsx +146 -0
- package/apps/playground-web/src/components/docs/PropsTable.tsx +43 -0
- package/apps/playground-web/src/components/docs/Search.tsx +75 -0
- package/apps/playground-web/src/components/docs/Sidebar.tsx +77 -0
- package/apps/playground-web/src/components/docs/ThemeToggle.tsx +19 -0
- package/apps/playground-web/src/components/docs/index.ts +9 -0
- package/apps/playground-web/src/config/docs.ts +293 -0
- package/apps/playground-web/src/globals.css +148 -0
- package/apps/playground-web/src/hooks/useDocMetadata.ts +34 -0
- package/apps/playground-web/src/hooks/usePackageManager.tsx +42 -0
- package/apps/playground-web/src/lib/react-native-shim.js +34 -0
- package/apps/playground-web/src/main.tsx +11 -0
- package/apps/playground-web/src/pages/index.ts +4 -0
- package/apps/playground-web/src/pages/native/AccordionDocs.tsx +85 -0
- package/apps/playground-web/src/pages/native/AlertDialogDocs.tsx +128 -0
- package/apps/playground-web/src/pages/native/AlertDocs.tsx +89 -0
- package/apps/playground-web/src/pages/native/AspectRatioDocs.tsx +52 -0
- package/apps/playground-web/src/pages/native/AvatarDocs.tsx +92 -0
- package/apps/playground-web/src/pages/native/BadgeDocs.tsx +63 -0
- package/apps/playground-web/src/pages/native/BreadcrumbDocs.tsx +71 -0
- package/apps/playground-web/src/pages/native/ButtonDocs.tsx +103 -0
- package/apps/playground-web/src/pages/native/CalendarDocs.tsx +74 -0
- package/apps/playground-web/src/pages/native/CardDocs.tsx +75 -0
- package/apps/playground-web/src/pages/native/CarouselDocs.tsx +113 -0
- package/apps/playground-web/src/pages/native/ChartDocs.tsx +115 -0
- package/apps/playground-web/src/pages/native/CheckboxDocs.tsx +38 -0
- package/apps/playground-web/src/pages/native/CollapsibleDocs.tsx +89 -0
- package/apps/playground-web/src/pages/native/CommandDocs.tsx +170 -0
- package/apps/playground-web/src/pages/native/ContextMenuDocs.tsx +121 -0
- package/apps/playground-web/src/pages/native/DialogDocs.tsx +132 -0
- package/apps/playground-web/src/pages/native/DrawerDocs.tsx +158 -0
- package/apps/playground-web/src/pages/native/DropdownMenuDocs.tsx +168 -0
- package/apps/playground-web/src/pages/native/HoverCardDocs.tsx +119 -0
- package/apps/playground-web/src/pages/native/InputDocs.tsx +86 -0
- package/apps/playground-web/src/pages/native/LabelDocs.tsx +55 -0
- package/apps/playground-web/src/pages/native/MenubarDocs.tsx +197 -0
- package/apps/playground-web/src/pages/native/NavigationMenuDocs.tsx +190 -0
- package/apps/playground-web/src/pages/native/PaginationDocs.tsx +70 -0
- package/apps/playground-web/src/pages/native/PopoverDocs.tsx +156 -0
- package/apps/playground-web/src/pages/native/ProgressDocs.tsx +61 -0
- package/apps/playground-web/src/pages/native/RadioGroupDocs.tsx +125 -0
- package/apps/playground-web/src/pages/native/ResizableDocs.tsx +118 -0
- package/apps/playground-web/src/pages/native/ScrollAreaDocs.tsx +92 -0
- package/apps/playground-web/src/pages/native/SearchDocs.tsx +150 -0
- package/apps/playground-web/src/pages/native/SelectDocs.tsx +141 -0
- package/apps/playground-web/src/pages/native/SeparatorDocs.tsx +72 -0
- package/apps/playground-web/src/pages/native/SheetDocs.tsx +140 -0
- package/apps/playground-web/src/pages/native/SkeletonDocs.tsx +44 -0
- package/apps/playground-web/src/pages/native/SliderDocs.tsx +118 -0
- package/apps/playground-web/src/pages/native/SonnerDocs.tsx +111 -0
- package/apps/playground-web/src/pages/native/SwitchDocs.tsx +87 -0
- package/apps/playground-web/src/pages/native/TableDocs.tsx +67 -0
- package/apps/playground-web/src/pages/native/TabsDocs.tsx +175 -0
- package/apps/playground-web/src/pages/native/TextareaDocs.tsx +61 -0
- package/apps/playground-web/src/pages/native/ThemeToggleDocs.tsx +288 -0
- package/apps/playground-web/src/pages/native/ToastDocs.tsx +124 -0
- package/apps/playground-web/src/pages/native/ToggleDocs.tsx +81 -0
- package/apps/playground-web/src/pages/native/ToggleGroupDocs.tsx +128 -0
- package/apps/playground-web/src/pages/native/TooltipDocs.tsx +140 -0
- package/apps/playground-web/src/pages/native/index.ts +47 -0
- package/apps/playground-web/src/pages/shared/ColorTokensDocs.tsx +234 -0
- package/apps/playground-web/src/pages/shared/GettingStarted.tsx +413 -0
- package/apps/playground-web/src/pages/web/AccordionDocs.tsx +194 -0
- package/apps/playground-web/src/pages/web/AlertDialogDocs.tsx +157 -0
- package/apps/playground-web/src/pages/web/AlertDocs.tsx +110 -0
- package/apps/playground-web/src/pages/web/AspectRatioDocs.tsx +94 -0
- package/apps/playground-web/src/pages/web/AvatarDocs.tsx +81 -0
- package/apps/playground-web/src/pages/web/BadgeDocs.tsx +66 -0
- package/apps/playground-web/src/pages/web/BreadcrumbDocs.tsx +93 -0
- package/apps/playground-web/src/pages/web/ButtonDocs.tsx +129 -0
- package/apps/playground-web/src/pages/web/CalendarDocs.tsx +78 -0
- package/apps/playground-web/src/pages/web/CardDocs.tsx +115 -0
- package/apps/playground-web/src/pages/web/CarouselDocs.tsx +176 -0
- package/apps/playground-web/src/pages/web/ChartDocs.tsx +151 -0
- package/apps/playground-web/src/pages/web/CheckboxDocs.tsx +95 -0
- package/apps/playground-web/src/pages/web/CollapsibleDocs.tsx +111 -0
- package/apps/playground-web/src/pages/web/CommandDocs.tsx +219 -0
- package/apps/playground-web/src/pages/web/ContextMenuDocs.tsx +164 -0
- package/apps/playground-web/src/pages/web/DialogDocs.tsx +175 -0
- package/apps/playground-web/src/pages/web/DrawerDocs.tsx +283 -0
- package/apps/playground-web/src/pages/web/DropdownMenuDocs.tsx +319 -0
- package/apps/playground-web/src/pages/web/FormDocs.tsx +175 -0
- package/apps/playground-web/src/pages/web/HoverCardDocs.tsx +151 -0
- package/apps/playground-web/src/pages/web/InputDocs.tsx +118 -0
- package/apps/playground-web/src/pages/web/LabelDocs.tsx +59 -0
- package/apps/playground-web/src/pages/web/MenubarDocs.tsx +296 -0
- package/apps/playground-web/src/pages/web/NavigationMenuDocs.tsx +263 -0
- package/apps/playground-web/src/pages/web/PaginationDocs.tsx +102 -0
- package/apps/playground-web/src/pages/web/PopoverDocs.tsx +189 -0
- package/apps/playground-web/src/pages/web/ProgressDocs.tsx +70 -0
- package/apps/playground-web/src/pages/web/RadioGroupDocs.tsx +137 -0
- package/apps/playground-web/src/pages/web/ResizableDocs.tsx +143 -0
- package/apps/playground-web/src/pages/web/ScrollAreaDocs.tsx +107 -0
- package/apps/playground-web/src/pages/web/SearchDocs.tsx +203 -0
- package/apps/playground-web/src/pages/web/SelectDocs.tsx +164 -0
- package/apps/playground-web/src/pages/web/SeparatorDocs.tsx +88 -0
- package/apps/playground-web/src/pages/web/SheetDocs.tsx +186 -0
- package/apps/playground-web/src/pages/web/SkeletonDocs.tsx +53 -0
- package/apps/playground-web/src/pages/web/SliderDocs.tsx +119 -0
- package/apps/playground-web/src/pages/web/SonnerDocs.tsx +126 -0
- package/apps/playground-web/src/pages/web/SwitchDocs.tsx +91 -0
- package/apps/playground-web/src/pages/web/TableDocs.tsx +148 -0
- package/apps/playground-web/src/pages/web/TabsDocs.tsx +241 -0
- package/apps/playground-web/src/pages/web/TextareaDocs.tsx +65 -0
- package/apps/playground-web/src/pages/web/ThemeToggleDocs.tsx +303 -0
- package/apps/playground-web/src/pages/web/ToastDocs.tsx +149 -0
- package/apps/playground-web/src/pages/web/ToggleDocs.tsx +85 -0
- package/apps/playground-web/src/pages/web/ToggleGroupDocs.tsx +140 -0
- package/apps/playground-web/src/pages/web/TooltipDocs.tsx +150 -0
- package/apps/playground-web/src/pages/web/index.ts +47 -0
- package/apps/playground-web/src/routes/doc-routes.tsx +363 -0
- package/apps/playground-web/tailwind.config.js +47 -0
- package/apps/playground-web/tsconfig.app.json +16 -0
- package/apps/playground-web/tsconfig.json +4 -0
- package/apps/playground-web/tsconfig.node.json +13 -0
- package/apps/playground-web/vite.config.ts +41 -0
- package/dist/accordion.cjs.js +2 -0
- package/dist/accordion.cjs.js.map +1 -0
- package/dist/accordion.es.js +38 -0
- package/dist/accordion.es.js.map +1 -0
- package/dist/alert-dialog.cjs.js +2 -0
- package/dist/alert-dialog.cjs.js.map +1 -0
- package/dist/alert-dialog.es.js +70 -0
- package/dist/alert-dialog.es.js.map +1 -0
- package/dist/alert.cjs.js +2 -0
- package/dist/alert.cjs.js.map +1 -0
- package/dist/alert.es.js +32 -0
- package/dist/alert.es.js.map +1 -0
- package/dist/aspect-ratio.cjs.js +2 -0
- package/dist/aspect-ratio.cjs.js.map +1 -0
- package/dist/aspect-ratio.es.js +6 -0
- package/dist/aspect-ratio.es.js.map +1 -0
- package/dist/avatar.cjs.js +2 -0
- package/dist/avatar.cjs.js.map +1 -0
- package/dist/avatar.es.js +29 -0
- package/dist/avatar.es.js.map +1 -0
- package/dist/badge.cjs.js +2 -0
- package/dist/badge.cjs.js.map +1 -0
- package/dist/badge.es.js +26 -0
- package/dist/badge.es.js.map +1 -0
- package/dist/breadcrumb.cjs.js +2 -0
- package/dist/breadcrumb.cjs.js.map +1 -0
- package/dist/breadcrumb.es.js +68 -0
- package/dist/breadcrumb.es.js.map +1 -0
- package/dist/button.cjs.js +2 -0
- package/dist/button.cjs.js.map +1 -0
- package/dist/button.es.js +39 -0
- package/dist/button.es.js.map +1 -0
- package/dist/calendar.cjs.js +2 -0
- package/dist/calendar.cjs.js.map +1 -0
- package/dist/calendar.es.js +132 -0
- package/dist/calendar.es.js.map +1 -0
- package/dist/card.cjs.js +2 -0
- package/dist/card.cjs.js.map +1 -0
- package/dist/card.es.js +34 -0
- package/dist/card.es.js.map +1 -0
- package/dist/carousel.cjs.js +2 -0
- package/dist/carousel.cjs.js.map +1 -0
- package/dist/carousel.es.js +154 -0
- package/dist/carousel.es.js.map +1 -0
- package/dist/chart.cjs.js +8 -0
- package/dist/chart.cjs.js.map +1 -0
- package/dist/chart.es.js +187 -0
- package/dist/chart.es.js.map +1 -0
- package/dist/checkbox.cjs.js +2 -0
- package/dist/checkbox.cjs.js.map +1 -0
- package/dist/checkbox.es.js +22 -0
- package/dist/checkbox.es.js.map +1 -0
- package/dist/collapsible.cjs.js +2 -0
- package/dist/collapsible.cjs.js.map +1 -0
- package/dist/collapsible.es.js +8 -0
- package/dist/collapsible.es.js.map +1 -0
- package/dist/command.cjs.js +2 -0
- package/dist/command.cjs.js.map +1 -0
- package/dist/command.es.js +86 -0
- package/dist/command.es.js.map +1 -0
- package/dist/context-menu.cjs.js +2 -0
- package/dist/context-menu.cjs.js.map +1 -0
- package/dist/context-menu.es.js +124 -0
- package/dist/context-menu.es.js.map +1 -0
- package/dist/design-system.css +1 -1
- package/dist/dialog.cjs.js +2 -0
- package/dist/dialog.cjs.js.map +1 -0
- package/dist/dialog.es.js +65 -0
- package/dist/dialog.es.js.map +1 -0
- package/dist/drawer.cjs.js +2 -0
- package/dist/drawer.cjs.js.map +1 -0
- package/dist/drawer.es.js +54 -0
- package/dist/drawer.es.js.map +1 -0
- package/dist/dropdown-menu.cjs.js +2 -0
- package/dist/dropdown-menu.cjs.js.map +1 -0
- package/dist/dropdown-menu.es.js +126 -0
- package/dist/dropdown-menu.es.js.map +1 -0
- package/dist/form.cjs.js +2 -0
- package/dist/form.cjs.js.map +1 -0
- package/dist/form.es.js +70 -0
- package/dist/form.es.js.map +1 -0
- package/dist/hover-card.cjs.js +2 -0
- package/dist/hover-card.cjs.js.map +1 -0
- package/dist/hover-card.es.js +23 -0
- package/dist/hover-card.es.js.map +1 -0
- package/dist/index.cjs.js +1 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +418 -2449
- package/dist/index.es.js.map +1 -1
- package/dist/input.cjs.js +2 -0
- package/dist/input.cjs.js.map +1 -0
- package/dist/input.es.js +20 -0
- package/dist/input.es.js.map +1 -0
- package/dist/label.cjs.js +2 -0
- package/dist/label.cjs.js.map +1 -0
- package/dist/label.es.js +9 -0
- package/dist/label.es.js.map +1 -0
- package/dist/menubar.cjs.js +2 -0
- package/dist/menubar.cjs.js.map +1 -0
- package/dist/menubar.es.js +161 -0
- package/dist/menubar.es.js.map +1 -0
- package/dist/navigation-menu.cjs.js +2 -0
- package/dist/navigation-menu.cjs.js.map +1 -0
- package/dist/navigation-menu.es.js +96 -0
- package/dist/navigation-menu.es.js.map +1 -0
- package/dist/packages/design-tokens/src/index.d.ts +91 -0
- package/dist/packages/design-tokens/src/index.d.ts.map +1 -0
- package/dist/packages/design-tokens/src/index.js +21 -0
- package/dist/packages/design-tokens/src/palette.d.ts +32 -0
- package/dist/packages/design-tokens/src/palette.d.ts.map +1 -0
- package/dist/packages/design-tokens/src/palette.js +33 -0
- package/dist/packages/design-tokens/src/radii.d.ts +21 -0
- package/dist/packages/design-tokens/src/radii.d.ts.map +1 -0
- package/dist/packages/design-tokens/src/radii.js +21 -0
- package/dist/packages/design-tokens/src/shadows.d.ts +12 -0
- package/dist/packages/design-tokens/src/shadows.d.ts.map +1 -0
- package/dist/packages/design-tokens/src/shadows.js +13 -0
- package/dist/packages/design-tokens/src/spacing.d.ts +30 -0
- package/dist/packages/design-tokens/src/spacing.d.ts.map +1 -0
- package/dist/packages/design-tokens/src/spacing.js +30 -0
- package/dist/packages/design-tokens/src/theme.d.ts +48 -0
- package/dist/packages/design-tokens/src/theme.d.ts.map +1 -0
- package/dist/packages/design-tokens/src/theme.js +50 -0
- package/dist/packages/design-tokens/src/typography.d.ts +33 -0
- package/dist/packages/design-tokens/src/typography.d.ts.map +1 -0
- package/dist/packages/design-tokens/src/typography.js +33 -0
- package/dist/packages/ui-core/src/contracts/accordion.d.ts +20 -0
- package/dist/packages/ui-core/src/contracts/accordion.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/accordion.js +1 -0
- package/dist/packages/ui-core/src/contracts/alert-dialog.d.ts +40 -0
- package/dist/packages/ui-core/src/contracts/alert-dialog.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/alert-dialog.js +1 -0
- package/dist/packages/ui-core/src/contracts/alert.d.ts +15 -0
- package/dist/packages/ui-core/src/contracts/alert.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/alert.js +1 -0
- package/dist/packages/ui-core/src/contracts/aspect-ratio.d.ts +7 -0
- package/dist/packages/ui-core/src/contracts/aspect-ratio.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/aspect-ratio.js +1 -0
- package/dist/packages/ui-core/src/contracts/avatar.d.ts +15 -0
- package/dist/packages/ui-core/src/contracts/avatar.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/avatar.js +1 -0
- package/dist/packages/ui-core/src/contracts/badge.d.ts +7 -0
- package/dist/packages/ui-core/src/contracts/badge.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/badge.js +1 -0
- package/dist/packages/ui-core/src/contracts/breadcrumb.d.ts +31 -0
- package/dist/packages/ui-core/src/contracts/breadcrumb.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/breadcrumb.js +1 -0
- package/dist/packages/ui-core/src/contracts/button.d.ts +10 -0
- package/dist/packages/ui-core/src/contracts/button.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/button.js +4 -0
- package/dist/packages/ui-core/src/contracts/calendar.d.ts +5 -0
- package/dist/packages/ui-core/src/contracts/calendar.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/calendar.js +1 -0
- package/dist/packages/ui-core/src/contracts/card.d.ts +6 -0
- package/dist/packages/ui-core/src/contracts/card.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/card.js +3 -0
- package/dist/packages/ui-core/src/contracts/carousel.d.ts +25 -0
- package/dist/packages/ui-core/src/contracts/carousel.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/carousel.js +1 -0
- package/dist/packages/ui-core/src/contracts/chart.d.ts +34 -0
- package/dist/packages/ui-core/src/contracts/chart.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/chart.js +1 -0
- package/dist/packages/ui-core/src/contracts/checkbox.d.ts +8 -0
- package/dist/packages/ui-core/src/contracts/checkbox.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/checkbox.js +3 -0
- package/dist/packages/ui-core/src/contracts/collapsible.d.ts +19 -0
- package/dist/packages/ui-core/src/contracts/collapsible.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/collapsible.js +1 -0
- package/dist/packages/ui-core/src/contracts/command.d.ts +36 -0
- package/dist/packages/ui-core/src/contracts/command.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/command.js +1 -0
- package/dist/packages/ui-core/src/contracts/context-menu.d.ts +65 -0
- package/dist/packages/ui-core/src/contracts/context-menu.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/context-menu.js +1 -0
- package/dist/packages/ui-core/src/contracts/dialog.d.ts +14 -0
- package/dist/packages/ui-core/src/contracts/dialog.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/dialog.js +3 -0
- package/dist/packages/ui-core/src/contracts/drawer.d.ts +32 -0
- package/dist/packages/ui-core/src/contracts/drawer.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/drawer.js +1 -0
- package/dist/packages/ui-core/src/contracts/dropdown-menu.d.ts +74 -0
- package/dist/packages/ui-core/src/contracts/dropdown-menu.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/dropdown-menu.js +1 -0
- package/dist/packages/ui-core/src/contracts/form.d.ts +24 -0
- package/dist/packages/ui-core/src/contracts/form.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/form.js +1 -0
- package/dist/packages/ui-core/src/contracts/hover-card.d.ts +19 -0
- package/dist/packages/ui-core/src/contracts/hover-card.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/hover-card.js +1 -0
- package/dist/packages/ui-core/src/contracts/input.d.ts +6 -0
- package/dist/packages/ui-core/src/contracts/input.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/input.js +3 -0
- package/dist/packages/ui-core/src/contracts/label.d.ts +7 -0
- package/dist/packages/ui-core/src/contracts/label.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/label.js +1 -0
- package/dist/packages/ui-core/src/contracts/menubar.d.ts +74 -0
- package/dist/packages/ui-core/src/contracts/menubar.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/menubar.js +1 -0
- package/dist/packages/ui-core/src/contracts/navigation-menu.d.ts +48 -0
- package/dist/packages/ui-core/src/contracts/navigation-menu.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/navigation-menu.js +1 -0
- package/dist/packages/ui-core/src/contracts/pagination.d.ts +32 -0
- package/dist/packages/ui-core/src/contracts/pagination.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/pagination.js +1 -0
- package/dist/packages/ui-core/src/contracts/popover.d.ts +25 -0
- package/dist/packages/ui-core/src/contracts/popover.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/popover.js +1 -0
- package/dist/packages/ui-core/src/contracts/progress.d.ts +5 -0
- package/dist/packages/ui-core/src/contracts/progress.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/progress.js +1 -0
- package/dist/packages/ui-core/src/contracts/radio.d.ts +10 -0
- package/dist/packages/ui-core/src/contracts/radio.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/radio.js +3 -0
- package/dist/packages/ui-core/src/contracts/resizable.d.ts +39 -0
- package/dist/packages/ui-core/src/contracts/resizable.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/resizable.js +1 -0
- package/dist/packages/ui-core/src/contracts/scroll-area.d.ts +14 -0
- package/dist/packages/ui-core/src/contracts/scroll-area.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/scroll-area.js +1 -0
- package/dist/packages/ui-core/src/contracts/search.d.ts +12 -0
- package/dist/packages/ui-core/src/contracts/search.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/search.js +1 -0
- package/dist/packages/ui-core/src/contracts/select.d.ts +55 -0
- package/dist/packages/ui-core/src/contracts/select.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/select.js +1 -0
- package/dist/packages/ui-core/src/contracts/separator.d.ts +6 -0
- package/dist/packages/ui-core/src/contracts/separator.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/separator.js +1 -0
- package/dist/packages/ui-core/src/contracts/sheet.d.ts +49 -0
- package/dist/packages/ui-core/src/contracts/sheet.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/sheet.js +1 -0
- package/dist/packages/ui-core/src/contracts/skeleton.d.ts +6 -0
- package/dist/packages/ui-core/src/contracts/skeleton.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/skeleton.js +1 -0
- package/dist/packages/ui-core/src/contracts/slider.d.ts +16 -0
- package/dist/packages/ui-core/src/contracts/slider.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/slider.js +1 -0
- package/dist/packages/ui-core/src/contracts/sonner.d.ts +16 -0
- package/dist/packages/ui-core/src/contracts/sonner.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/sonner.js +1 -0
- package/dist/packages/ui-core/src/contracts/switch.d.ts +12 -0
- package/dist/packages/ui-core/src/contracts/switch.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/switch.js +1 -0
- package/dist/packages/ui-core/src/contracts/table.d.ts +34 -0
- package/dist/packages/ui-core/src/contracts/table.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/table.js +1 -0
- package/dist/packages/ui-core/src/contracts/tabs.d.ts +28 -0
- package/dist/packages/ui-core/src/contracts/tabs.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/tabs.js +1 -0
- package/dist/packages/ui-core/src/contracts/text.d.ts +7 -0
- package/dist/packages/ui-core/src/contracts/text.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/text.js +3 -0
- package/dist/packages/ui-core/src/contracts/textarea.d.ts +8 -0
- package/dist/packages/ui-core/src/contracts/textarea.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/textarea.js +1 -0
- package/dist/packages/ui-core/src/contracts/theme-provider.d.ts +14 -0
- package/dist/packages/ui-core/src/contracts/theme-provider.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/theme-provider.js +1 -0
- package/dist/packages/ui-core/src/contracts/theme-toggle.d.ts +16 -0
- package/dist/packages/ui-core/src/contracts/theme-toggle.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/theme-toggle.js +1 -0
- package/dist/packages/ui-core/src/contracts/toast.d.ts +11 -0
- package/dist/packages/ui-core/src/contracts/toast.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/toast.js +3 -0
- package/dist/packages/ui-core/src/contracts/toaster.d.ts +4 -0
- package/dist/packages/ui-core/src/contracts/toaster.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/toaster.js +1 -0
- package/dist/packages/ui-core/src/contracts/toggle-group.d.ts +22 -0
- package/dist/packages/ui-core/src/contracts/toggle-group.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/toggle-group.js +1 -0
- package/dist/packages/ui-core/src/contracts/toggle.d.ts +29 -0
- package/dist/packages/ui-core/src/contracts/toggle.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/toggle.js +29 -0
- package/dist/packages/ui-core/src/contracts/tooltip.d.ts +25 -0
- package/dist/packages/ui-core/src/contracts/tooltip.d.ts.map +1 -0
- package/dist/packages/ui-core/src/contracts/tooltip.js +1 -0
- package/dist/packages/ui-core/src/index.d.ts +55 -0
- package/dist/packages/ui-core/src/index.d.ts.map +1 -0
- package/dist/packages/ui-core/src/index.js +12 -0
- package/dist/packages/ui-native/src/accordion.d.ts +46 -0
- package/dist/packages/ui-native/src/accordion.d.ts.map +1 -0
- package/dist/packages/ui-native/src/accordion.js +34 -0
- package/dist/packages/ui-native/src/alert-dialog.d.ts +59 -0
- package/dist/packages/ui-native/src/alert-dialog.d.ts.map +1 -0
- package/dist/packages/ui-native/src/alert-dialog.js +31 -0
- package/dist/packages/ui-native/src/alert.d.ts +10 -0
- package/dist/packages/ui-native/src/alert.d.ts.map +1 -0
- package/dist/packages/ui-native/src/alert.js +26 -0
- package/dist/packages/ui-native/src/aspect-ratio.d.ts +2 -0
- package/dist/packages/ui-native/src/aspect-ratio.d.ts.map +1 -0
- package/dist/packages/ui-native/src/aspect-ratio.js +5 -0
- package/dist/packages/ui-native/src/avatar.d.ts +15 -0
- package/dist/packages/ui-native/src/avatar.d.ts.map +1 -0
- package/dist/packages/ui-native/src/avatar.js +11 -0
- package/dist/packages/ui-native/src/badge.d.ts +12 -0
- package/dist/packages/ui-native/src/badge.d.ts.map +1 -0
- package/dist/packages/ui-native/src/badge.js +37 -0
- package/dist/packages/ui-native/src/breadcrumb.d.ts +2 -0
- package/dist/packages/ui-native/src/breadcrumb.d.ts.map +1 -0
- package/dist/packages/ui-native/src/breadcrumb.js +5 -0
- package/dist/packages/ui-native/src/button.d.ts +14 -0
- package/dist/packages/ui-native/src/button.d.ts.map +1 -0
- package/dist/packages/ui-native/src/button.js +50 -0
- package/dist/packages/ui-native/src/calendar.d.ts +2 -0
- package/dist/packages/ui-native/src/calendar.d.ts.map +1 -0
- package/dist/packages/ui-native/src/calendar.js +5 -0
- package/dist/packages/ui-native/src/card.d.ts +13 -0
- package/dist/packages/ui-native/src/card.d.ts.map +1 -0
- package/dist/packages/ui-native/src/card.js +18 -0
- package/dist/packages/ui-native/src/carousel.d.ts +2 -0
- package/dist/packages/ui-native/src/carousel.d.ts.map +1 -0
- package/dist/packages/ui-native/src/carousel.js +5 -0
- package/dist/packages/ui-native/src/chart.d.ts +2 -0
- package/dist/packages/ui-native/src/chart.d.ts.map +1 -0
- package/dist/packages/ui-native/src/chart.js +5 -0
- package/dist/packages/ui-native/src/checkbox.d.ts +15 -0
- package/dist/packages/ui-native/src/checkbox.d.ts.map +1 -0
- package/dist/packages/ui-native/src/checkbox.js +11 -0
- package/dist/packages/ui-native/src/collapsible.d.ts +21 -0
- package/dist/packages/ui-native/src/collapsible.d.ts.map +1 -0
- package/dist/packages/ui-native/src/collapsible.js +5 -0
- package/dist/packages/ui-native/src/command.d.ts +2 -0
- package/dist/packages/ui-native/src/command.d.ts.map +1 -0
- package/dist/packages/ui-native/src/command.js +5 -0
- package/dist/packages/ui-native/src/context-menu.d.ts +2 -0
- package/dist/packages/ui-native/src/context-menu.d.ts.map +1 -0
- package/dist/packages/ui-native/src/context-menu.js +5 -0
- package/dist/packages/ui-native/src/dialog.d.ts +56 -0
- package/dist/packages/ui-native/src/dialog.d.ts.map +1 -0
- package/dist/packages/ui-native/src/dialog.js +28 -0
- package/dist/packages/ui-native/src/drawer.d.ts +2 -0
- package/dist/packages/ui-native/src/drawer.d.ts.map +1 -0
- package/dist/packages/ui-native/src/drawer.js +5 -0
- package/dist/packages/ui-native/src/dropdown-menu.d.ts +2 -0
- package/dist/packages/ui-native/src/dropdown-menu.d.ts.map +1 -0
- package/dist/packages/ui-native/src/dropdown-menu.js +5 -0
- package/dist/packages/ui-native/src/form.d.ts +2 -0
- package/dist/packages/ui-native/src/form.d.ts.map +1 -0
- package/dist/packages/ui-native/src/form.js +5 -0
- package/dist/packages/ui-native/src/hover-card.d.ts +2 -0
- package/dist/packages/ui-native/src/hover-card.d.ts.map +1 -0
- package/dist/packages/ui-native/src/hover-card.js +5 -0
- package/dist/packages/ui-native/src/index.d.ts +61 -0
- package/dist/packages/ui-native/src/index.d.ts.map +1 -0
- package/dist/packages/ui-native/src/index.js +107 -0
- package/dist/packages/ui-native/src/input.d.ts +8 -0
- package/dist/packages/ui-native/src/input.d.ts.map +1 -0
- package/dist/packages/ui-native/src/input.js +9 -0
- package/dist/packages/ui-native/src/label.d.ts +9 -0
- package/dist/packages/ui-native/src/label.d.ts.map +1 -0
- package/dist/packages/ui-native/src/label.js +7 -0
- package/dist/packages/ui-native/src/lib/render-native.d.ts +4 -0
- package/dist/packages/ui-native/src/lib/render-native.d.ts.map +1 -0
- package/dist/packages/ui-native/src/lib/render-native.js +13 -0
- package/dist/packages/ui-native/src/lib/utils.d.ts.map +1 -0
- package/dist/packages/ui-native/src/lib/utils.js +5 -0
- package/dist/packages/ui-native/src/menubar.d.ts +2 -0
- package/dist/packages/ui-native/src/menubar.d.ts.map +1 -0
- package/dist/packages/ui-native/src/menubar.js +5 -0
- package/dist/packages/ui-native/src/navigation-menu.d.ts +2 -0
- package/dist/packages/ui-native/src/navigation-menu.d.ts.map +1 -0
- package/dist/packages/ui-native/src/navigation-menu.js +5 -0
- package/dist/packages/ui-native/src/pagination.d.ts +2 -0
- package/dist/packages/ui-native/src/pagination.d.ts.map +1 -0
- package/dist/packages/ui-native/src/pagination.js +5 -0
- package/dist/packages/ui-native/src/popover.d.ts +2 -0
- package/dist/packages/ui-native/src/popover.d.ts.map +1 -0
- package/dist/packages/ui-native/src/popover.js +5 -0
- package/dist/packages/ui-native/src/progress.d.ts +2 -0
- package/dist/packages/ui-native/src/progress.d.ts.map +1 -0
- package/dist/packages/ui-native/src/progress.js +5 -0
- package/dist/packages/ui-native/src/radio-group.d.ts +11 -0
- package/dist/packages/ui-native/src/radio-group.d.ts.map +1 -0
- package/dist/packages/ui-native/src/radio-group.js +14 -0
- package/dist/packages/ui-native/src/resizable.d.ts +4 -0
- package/dist/packages/ui-native/src/resizable.d.ts.map +1 -0
- package/dist/packages/ui-native/src/resizable.js +11 -0
- package/dist/packages/ui-native/src/scroll-area.d.ts +2 -0
- package/dist/packages/ui-native/src/scroll-area.d.ts.map +1 -0
- package/dist/packages/ui-native/src/scroll-area.js +5 -0
- package/dist/packages/ui-native/src/search.d.ts +3 -0
- package/dist/packages/ui-native/src/search.d.ts.map +1 -0
- package/dist/packages/ui-native/src/search.js +8 -0
- package/dist/packages/ui-native/src/select.d.ts +57 -0
- package/dist/packages/ui-native/src/select.d.ts.map +1 -0
- package/dist/packages/ui-native/src/select.js +45 -0
- package/dist/packages/ui-native/src/separator.d.ts +9 -0
- package/dist/packages/ui-native/src/separator.d.ts.map +1 -0
- package/dist/packages/ui-native/src/separator.js +7 -0
- package/dist/packages/ui-native/src/sheet.d.ts +53 -0
- package/dist/packages/ui-native/src/sheet.d.ts.map +1 -0
- package/dist/packages/ui-native/src/sheet.js +37 -0
- package/dist/packages/ui-native/src/skeleton.d.ts +5 -0
- package/dist/packages/ui-native/src/skeleton.d.ts.map +1 -0
- package/dist/packages/ui-native/src/skeleton.js +15 -0
- package/dist/packages/ui-native/src/slider.d.ts +2 -0
- package/dist/packages/ui-native/src/slider.d.ts.map +1 -0
- package/dist/packages/ui-native/src/slider.js +5 -0
- package/dist/packages/ui-native/src/sonner.d.ts +2 -0
- package/dist/packages/ui-native/src/sonner.d.ts.map +1 -0
- package/dist/packages/ui-native/src/sonner.js +5 -0
- package/dist/packages/ui-native/src/switch.d.ts +8 -0
- package/dist/packages/ui-native/src/switch.d.ts.map +1 -0
- package/dist/packages/ui-native/src/switch.js +7 -0
- package/dist/packages/ui-native/src/table.d.ts +12 -0
- package/dist/packages/ui-native/src/table.d.ts.map +1 -0
- package/dist/packages/ui-native/src/table.js +22 -0
- package/dist/packages/ui-native/src/tabs.d.ts +25 -0
- package/dist/packages/ui-native/src/tabs.d.ts.map +1 -0
- package/dist/packages/ui-native/src/tabs.js +16 -0
- package/dist/packages/ui-native/src/text.d.ts +13 -0
- package/dist/packages/ui-native/src/text.d.ts.map +1 -0
- package/dist/packages/ui-native/src/text.js +29 -0
- package/dist/packages/ui-native/src/textarea.d.ts +6 -0
- package/dist/packages/ui-native/src/textarea.d.ts.map +1 -0
- package/dist/packages/ui-native/src/textarea.js +9 -0
- package/dist/packages/ui-native/src/theme-provider.d.ts +5 -0
- package/dist/packages/ui-native/src/theme-provider.d.ts.map +1 -0
- package/dist/packages/ui-native/src/theme-provider.js +5 -0
- package/dist/packages/ui-native/src/theme-toggle.d.ts +2 -0
- package/dist/packages/ui-native/src/theme-toggle.d.ts.map +1 -0
- package/dist/packages/ui-native/src/theme-toggle.js +5 -0
- package/dist/packages/ui-native/src/toast.d.ts +35 -0
- package/dist/packages/ui-native/src/toast.d.ts.map +1 -0
- package/dist/packages/ui-native/src/toast.js +23 -0
- package/dist/packages/ui-native/src/toaster.d.ts.map +1 -0
- package/dist/packages/ui-native/src/toaster.js +5 -0
- package/dist/packages/ui-native/src/toggle-group.d.ts +11 -0
- package/dist/packages/ui-native/src/toggle-group.d.ts.map +1 -0
- package/dist/packages/ui-native/src/toggle-group.js +25 -0
- package/dist/packages/ui-native/src/toggle.d.ts +8 -0
- package/dist/packages/ui-native/src/toggle.d.ts.map +1 -0
- package/dist/packages/ui-native/src/toggle.js +9 -0
- package/dist/packages/ui-native/src/tooltip.d.ts +27 -0
- package/dist/packages/ui-native/src/tooltip.d.ts.map +1 -0
- package/dist/packages/ui-native/src/tooltip.js +15 -0
- package/dist/packages/ui-web/src/accordion.d.ts +10 -0
- package/dist/packages/ui-web/src/accordion.d.ts.map +1 -0
- package/dist/packages/ui-web/src/accordion.js +13 -0
- package/dist/packages/ui-web/src/alert-dialog.d.ts +23 -0
- package/dist/packages/ui-web/src/alert-dialog.d.ts.map +1 -0
- package/dist/packages/ui-web/src/alert-dialog.js +25 -0
- package/dist/packages/ui-web/src/alert.d.ts +11 -0
- package/dist/packages/ui-web/src/alert.d.ts.map +1 -0
- package/dist/packages/ui-web/src/alert.js +24 -0
- package/dist/packages/ui-web/src/aspect-ratio.d.ts +6 -0
- package/dist/packages/ui-web/src/aspect-ratio.d.ts.map +1 -0
- package/dist/packages/ui-web/src/aspect-ratio.js +3 -0
- package/dist/packages/ui-web/src/avatar.d.ts +9 -0
- package/dist/packages/ui-web/src/avatar.d.ts.map +1 -0
- package/dist/packages/ui-web/src/avatar.js +11 -0
- package/dist/packages/ui-web/src/badge.d.ts +11 -0
- package/dist/packages/ui-web/src/badge.d.ts.map +1 -0
- package/dist/packages/ui-web/src/badge.js +20 -0
- package/dist/packages/ui-web/src/breadcrumb.d.ts +20 -0
- package/dist/packages/ui-web/src/breadcrumb.d.ts.map +1 -0
- package/dist/packages/ui-web/src/breadcrumb.js +23 -0
- package/dist/packages/ui-web/src/button.d.ts +13 -0
- package/dist/packages/ui-web/src/button.d.ts.map +1 -0
- package/dist/packages/ui-web/src/button.js +33 -0
- package/dist/packages/ui-web/src/calendar.d.ts +11 -0
- package/dist/packages/ui-web/src/calendar.d.ts.map +1 -0
- package/dist/packages/ui-web/src/calendar.js +70 -0
- package/dist/packages/ui-web/src/card.d.ts +12 -0
- package/dist/packages/ui-web/src/card.d.ts.map +1 -0
- package/dist/packages/ui-web/src/card.js +16 -0
- package/dist/packages/ui-web/src/carousel.d.ts +24 -0
- package/dist/packages/ui-web/src/carousel.d.ts.map +1 -0
- package/dist/packages/ui-web/src/carousel.js +98 -0
- package/dist/packages/ui-web/src/chart.d.ts +39 -0
- package/dist/packages/ui-web/src/chart.d.ts.map +1 -0
- package/dist/packages/ui-web/src/chart.js +120 -0
- package/dist/packages/ui-web/src/checkbox.d.ts +8 -0
- package/dist/packages/ui-web/src/checkbox.d.ts.map +1 -0
- package/dist/packages/ui-web/src/checkbox.js +8 -0
- package/dist/packages/ui-web/src/collapsible.d.ts +8 -0
- package/dist/packages/ui-web/src/collapsible.d.ts.map +1 -0
- package/dist/packages/ui-web/src/collapsible.js +5 -0
- package/dist/packages/ui-web/src/command.d.ts +83 -0
- package/dist/packages/ui-web/src/command.d.ts.map +1 -0
- package/dist/packages/ui-web/src/command.js +29 -0
- package/dist/packages/ui-web/src/context-menu.d.ts +24 -0
- package/dist/packages/ui-web/src/context-menu.d.ts.map +1 -0
- package/dist/packages/ui-web/src/context-menu.js +32 -0
- package/dist/packages/ui-web/src/dialog.d.ts.map +1 -0
- package/dist/packages/ui-web/src/dialog.js +22 -0
- package/dist/packages/ui-web/src/drawer.d.ts +25 -0
- package/dist/packages/ui-web/src/drawer.d.ts.map +1 -0
- package/dist/packages/ui-web/src/drawer.js +23 -0
- package/dist/packages/ui-web/src/dropdown-menu.d.ts +24 -0
- package/dist/packages/ui-web/src/dropdown-menu.d.ts.map +1 -0
- package/dist/packages/ui-web/src/dropdown-menu.js +33 -0
- package/dist/packages/ui-web/src/form.d.ts +26 -0
- package/dist/packages/ui-web/src/form.d.ts.map +1 -0
- package/dist/packages/ui-web/src/form.js +64 -0
- package/dist/packages/ui-web/src/hooks/use-theme.d.ts.map +1 -0
- package/dist/packages/ui-web/src/hooks/use-theme.js +12 -0
- package/dist/packages/ui-web/src/hooks/use-toast.d.ts +45 -0
- package/dist/packages/ui-web/src/hooks/use-toast.d.ts.map +1 -0
- package/dist/packages/ui-web/src/hooks/use-toast.js +128 -0
- package/dist/packages/ui-web/src/hover-card.d.ts +9 -0
- package/dist/packages/ui-web/src/hover-card.d.ts.map +1 -0
- package/dist/packages/ui-web/src/hover-card.js +10 -0
- package/dist/packages/ui-web/src/index.d.ts +101 -0
- package/dist/packages/ui-web/src/index.d.ts.map +1 -0
- package/dist/packages/ui-web/src/index.js +106 -0
- package/dist/packages/ui-web/src/input.d.ts +7 -0
- package/dist/packages/ui-web/src/input.d.ts.map +1 -0
- package/dist/packages/ui-web/src/input.js +8 -0
- package/dist/packages/ui-web/src/label.d.ts +8 -0
- package/dist/packages/ui-web/src/label.d.ts.map +1 -0
- package/dist/packages/ui-web/src/label.js +10 -0
- package/dist/packages/ui-web/src/lib/utils.d.ts +3 -0
- package/dist/packages/ui-web/src/lib/utils.d.ts.map +1 -0
- package/dist/packages/ui-web/src/lib/utils.js +5 -0
- package/dist/packages/ui-web/src/menubar.d.ts +25 -0
- package/dist/packages/ui-web/src/menubar.d.ts.map +1 -0
- package/dist/packages/ui-web/src/menubar.js +46 -0
- package/dist/packages/ui-web/src/navigation-menu.d.ts +15 -0
- package/dist/packages/ui-web/src/navigation-menu.d.ts.map +1 -0
- package/dist/packages/ui-web/src/navigation-menu.js +23 -0
- package/dist/packages/ui-web/src/pagination.d.ts +31 -0
- package/dist/packages/ui-web/src/pagination.d.ts.map +1 -0
- package/dist/packages/ui-web/src/pagination.js +23 -0
- package/dist/packages/ui-web/src/popover.d.ts +10 -0
- package/dist/packages/ui-web/src/popover.d.ts.map +1 -0
- package/dist/packages/ui-web/src/popover.js +11 -0
- package/dist/packages/ui-web/src/progress.d.ts +7 -0
- package/dist/packages/ui-web/src/progress.d.ts.map +1 -0
- package/dist/packages/ui-web/src/progress.js +8 -0
- package/dist/packages/ui-web/src/radio-group.d.ts +11 -0
- package/dist/packages/ui-web/src/radio-group.d.ts.map +1 -0
- package/dist/packages/ui-web/src/radio-group.js +14 -0
- package/dist/packages/ui-web/src/resizable.d.ts +9 -0
- package/dist/packages/ui-web/src/resizable.d.ts.map +1 -0
- package/dist/packages/ui-web/src/resizable.js +17 -0
- package/dist/packages/ui-web/src/scroll-area.d.ts +8 -0
- package/dist/packages/ui-web/src/scroll-area.d.ts.map +1 -0
- package/dist/packages/ui-web/src/scroll-area.js +10 -0
- package/dist/packages/ui-web/src/search.d.ts +8 -0
- package/dist/packages/ui-web/src/search.d.ts.map +1 -0
- package/dist/packages/ui-web/src/search.js +48 -0
- package/dist/packages/ui-web/src/select.d.ts +16 -0
- package/dist/packages/ui-web/src/select.d.ts.map +1 -0
- package/dist/packages/ui-web/src/select.js +26 -0
- package/dist/packages/ui-web/src/separator.d.ts +7 -0
- package/dist/packages/ui-web/src/separator.d.ts.map +1 -0
- package/dist/packages/ui-web/src/separator.js +8 -0
- package/dist/packages/ui-web/src/sheet.d.ts +28 -0
- package/dist/packages/ui-web/src/sheet.d.ts.map +1 -0
- package/dist/packages/ui-web/src/sheet.js +37 -0
- package/dist/packages/ui-web/src/skeleton.d.ts +6 -0
- package/dist/packages/ui-web/src/skeleton.d.ts.map +1 -0
- package/dist/packages/ui-web/src/skeleton.js +6 -0
- package/dist/packages/ui-web/src/slider.d.ts +7 -0
- package/dist/packages/ui-web/src/slider.d.ts.map +1 -0
- package/dist/packages/ui-web/src/slider.js +8 -0
- package/dist/packages/ui-web/src/sonner.d.ts +8 -0
- package/dist/packages/ui-web/src/sonner.d.ts.map +1 -0
- package/dist/packages/ui-web/src/sonner.js +16 -0
- package/dist/packages/ui-web/src/switch.d.ts +7 -0
- package/dist/packages/ui-web/src/switch.d.ts.map +1 -0
- package/dist/packages/ui-web/src/switch.js +8 -0
- package/dist/packages/ui-web/src/table.d.ts +13 -0
- package/dist/packages/ui-web/src/table.d.ts.map +1 -0
- package/dist/packages/ui-web/src/table.js +21 -0
- package/dist/packages/ui-web/src/tabs.d.ts +10 -0
- package/dist/packages/ui-web/src/tabs.d.ts.map +1 -0
- package/dist/packages/ui-web/src/tabs.js +13 -0
- package/dist/packages/ui-web/src/text.d.ts +12 -0
- package/dist/packages/ui-web/src/text.d.ts.map +1 -0
- package/dist/packages/ui-web/src/text.js +40 -0
- package/dist/packages/ui-web/src/textarea.d.ts +7 -0
- package/dist/packages/ui-web/src/textarea.d.ts.map +1 -0
- package/dist/packages/ui-web/src/textarea.js +9 -0
- package/dist/packages/ui-web/src/theme-provider.d.ts +5 -0
- package/dist/packages/ui-web/src/theme-provider.d.ts.map +1 -0
- package/dist/packages/ui-web/src/theme-provider.js +6 -0
- package/dist/packages/ui-web/src/theme-toggle.d.ts +4 -0
- package/dist/packages/ui-web/src/theme-toggle.d.ts.map +1 -0
- package/dist/packages/ui-web/src/theme-toggle.js +29 -0
- package/dist/packages/ui-web/src/toast.d.ts.map +1 -0
- package/dist/packages/ui-web/src/toast.js +33 -0
- package/dist/packages/ui-web/src/toaster.d.ts +3 -0
- package/dist/packages/ui-web/src/toaster.d.ts.map +1 -0
- package/dist/packages/ui-web/src/toaster.js +10 -0
- package/dist/packages/ui-web/src/toggle-group.d.ts +13 -0
- package/dist/packages/ui-web/src/toggle-group.d.ts.map +1 -0
- package/dist/packages/ui-web/src/toggle-group.js +21 -0
- package/dist/packages/ui-web/src/toggle.d.ts +9 -0
- package/dist/packages/ui-web/src/toggle.d.ts.map +1 -0
- package/dist/packages/ui-web/src/toggle.js +9 -0
- package/dist/packages/ui-web/src/tooltip.d.ts +13 -0
- package/dist/packages/ui-web/src/tooltip.d.ts.map +1 -0
- package/dist/packages/ui-web/src/tooltip.js +12 -0
- package/dist/pagination.cjs.js +2 -0
- package/dist/pagination.cjs.js.map +1 -0
- package/dist/pagination.es.js +68 -0
- package/dist/pagination.es.js.map +1 -0
- package/dist/popover.cjs.js +2 -0
- package/dist/popover.cjs.js.map +1 -0
- package/dist/popover.es.js +24 -0
- package/dist/popover.es.js.map +1 -0
- package/dist/progress.cjs.js +2 -0
- package/dist/progress.cjs.js.map +1 -0
- package/dist/progress.es.js +24 -0
- package/dist/progress.es.js.map +1 -0
- package/dist/radio-group.cjs.js +2 -0
- package/dist/radio-group.cjs.js.map +1 -0
- package/dist/radio-group.es.js +27 -0
- package/dist/radio-group.es.js.map +1 -0
- package/dist/resizable.cjs.js +2 -0
- package/dist/resizable.cjs.js.map +1 -0
- package/dist/resizable.es.js +34 -0
- package/dist/resizable.es.js.map +1 -0
- package/dist/scroll-area.cjs.js +2 -0
- package/dist/scroll-area.cjs.js.map +1 -0
- package/dist/scroll-area.es.js +30 -0
- package/dist/scroll-area.es.js.map +1 -0
- package/dist/search.cjs.js +2 -0
- package/dist/search.cjs.js.map +1 -0
- package/dist/search.es.js +51 -0
- package/dist/search.es.js.map +1 -0
- package/dist/select.cjs.js +2 -0
- package/dist/select.cjs.js.map +1 -0
- package/dist/select.es.js +100 -0
- package/dist/select.es.js.map +1 -0
- package/dist/separator.cjs.js +2 -0
- package/dist/separator.cjs.js.map +1 -0
- package/dist/separator.es.js +18 -0
- package/dist/separator.es.js.map +1 -0
- package/dist/sheet.cjs.js +2 -0
- package/dist/sheet.cjs.js.map +1 -0
- package/dist/sheet.es.js +64 -0
- package/dist/sheet.es.js.map +1 -0
- package/dist/skeleton.cjs.js +2 -0
- package/dist/skeleton.cjs.js.map +1 -0
- package/dist/skeleton.es.js +9 -0
- package/dist/skeleton.es.js.map +1 -0
- package/dist/slider.cjs.js +2 -0
- package/dist/slider.cjs.js.map +1 -0
- package/dist/slider.es.js +20 -0
- package/dist/slider.es.js.map +1 -0
- package/dist/sonner.cjs.js +2 -0
- package/dist/sonner.cjs.js.map +1 -0
- package/dist/sonner.es.js +25 -0
- package/dist/sonner.es.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +3 -0
- package/dist/switch.cjs.js +2 -0
- package/dist/switch.cjs.js.map +1 -0
- package/dist/switch.es.js +27 -0
- package/dist/switch.es.js.map +1 -0
- package/dist/table.cjs.js +2 -0
- package/dist/table.cjs.js.map +1 -0
- package/dist/table.es.js +58 -0
- package/dist/table.es.js.map +1 -0
- package/dist/tabs.cjs.js +2 -0
- package/dist/tabs.cjs.js.map +1 -0
- package/dist/tabs.es.js +46 -0
- package/dist/tabs.es.js.map +1 -0
- package/dist/text.cjs.js +2 -0
- package/dist/text.cjs.js.map +1 -0
- package/dist/text.es.js +42 -0
- package/dist/text.es.js.map +1 -0
- package/dist/textarea.cjs.js +2 -0
- package/dist/textarea.cjs.js.map +1 -0
- package/dist/textarea.es.js +19 -0
- package/dist/textarea.es.js.map +1 -0
- package/dist/theme-provider.cjs.js +2 -0
- package/dist/theme-provider.cjs.js.map +1 -0
- package/dist/theme-provider.es.js +9 -0
- package/dist/theme-provider.es.js.map +1 -0
- package/dist/theme-toggle-BTT5z37-.js +2 -0
- package/dist/theme-toggle-BTT5z37-.js.map +1 -0
- package/dist/theme-toggle-Dhc53hqa.mjs +176 -0
- package/dist/theme-toggle-Dhc53hqa.mjs.map +1 -0
- package/dist/theme-toggle.cjs.js +2 -0
- package/dist/theme-toggle.cjs.js.map +1 -0
- package/dist/theme-toggle.es.js +9 -0
- package/dist/theme-toggle.es.js.map +1 -0
- package/dist/toast.cjs.js +2 -0
- package/dist/toast.cjs.js.map +1 -0
- package/dist/toast.es.js +70 -0
- package/dist/toast.es.js.map +1 -0
- package/dist/toaster-BOqCGbZ6.js +2 -0
- package/dist/toaster-BOqCGbZ6.js.map +1 -0
- package/dist/toaster-CmNmQ6jI.mjs +119 -0
- package/dist/toaster-CmNmQ6jI.mjs.map +1 -0
- package/dist/toaster.cjs.js +2 -0
- package/dist/toaster.cjs.js.map +1 -0
- package/dist/toaster.es.js +7 -0
- package/dist/toaster.es.js.map +1 -0
- package/dist/toggle-CYawMoye.mjs +25 -0
- package/dist/toggle-CYawMoye.mjs.map +1 -0
- package/dist/toggle-Dmzk_m4r.js +2 -0
- package/dist/toggle-Dmzk_m4r.js.map +1 -0
- package/dist/toggle-group.cjs.js +2 -0
- package/dist/toggle-group.cjs.js.map +1 -0
- package/dist/toggle-group.es.js +37 -0
- package/dist/toggle-group.es.js.map +1 -0
- package/dist/toggle.cjs.js +2 -0
- package/dist/toggle.cjs.js.map +1 -0
- package/dist/toggle.es.js +13 -0
- package/dist/toggle.es.js.map +1 -0
- package/dist/tooltip.cjs.js +2 -0
- package/dist/tooltip.cjs.js.map +1 -0
- package/dist/tooltip.es.js +29 -0
- package/dist/tooltip.es.js.map +1 -0
- package/dist/utils-5NfNUIaP.js +2 -0
- package/dist/utils-5NfNUIaP.js.map +1 -0
- package/dist/utils-BfGqxkzX.mjs +8 -0
- package/dist/utils-BfGqxkzX.mjs.map +1 -0
- package/dist/vendor-B8N-rYkV.mjs +25431 -0
- package/dist/vendor-B8N-rYkV.mjs.map +1 -0
- package/dist/vendor-D51Wvbw-.js +68 -0
- package/dist/vendor-D51Wvbw-.js.map +1 -0
- package/docs/architecture-pivot.md +165 -0
- package/docs/native-setup-decision.md +57 -0
- package/docs/phase-1-tracker.md +144 -0
- package/docs/release-tooling-evaluation.md +67 -0
- package/docs/universal-implementation.md +195 -0
- package/docs/update-plan.md +268 -0
- package/eslint.config.mjs +1 -1
- package/nx.json +50 -0
- package/package.json +68 -60
- package/packages/.gitkeep +0 -0
- package/packages/design-tokens/CHANGELOG.md +8 -0
- package/packages/design-tokens/package.json +20 -0
- package/packages/design-tokens/src/index.ts +35 -0
- package/packages/design-tokens/src/palette.ts +36 -0
- package/packages/design-tokens/src/radii.ts +26 -0
- package/packages/design-tokens/src/shadows.ts +16 -0
- package/packages/design-tokens/src/spacing.ts +33 -0
- package/packages/design-tokens/src/theme.ts +54 -0
- package/packages/design-tokens/src/typography.ts +36 -0
- package/packages/design-tokens/tsconfig.json +17 -0
- package/packages/ui-core/CHANGELOG.md +8 -0
- package/packages/ui-core/package.json +40 -0
- package/packages/ui-core/src/contracts/accordion.ts +23 -0
- package/packages/ui-core/src/contracts/alert-dialog.ts +48 -0
- package/packages/ui-core/src/contracts/alert.ts +17 -0
- package/packages/ui-core/src/contracts/aspect-ratio.ts +7 -0
- package/packages/ui-core/src/contracts/avatar.ts +17 -0
- package/packages/ui-core/src/contracts/badge.ts +7 -0
- package/packages/ui-core/src/contracts/breadcrumb.ts +37 -0
- package/packages/ui-core/src/contracts/button.ts +17 -0
- package/packages/ui-core/src/contracts/calendar.ts +4 -0
- package/packages/ui-core/src/contracts/card.ts +11 -0
- package/packages/ui-core/src/contracts/carousel.ts +29 -0
- package/packages/ui-core/src/contracts/chart.ts +31 -0
- package/packages/ui-core/src/contracts/checkbox.ts +11 -0
- package/packages/ui-core/src/contracts/collapsible.ts +21 -0
- package/packages/ui-core/src/contracts/command.ts +43 -0
- package/packages/ui-core/src/contracts/context-menu.ts +78 -0
- package/packages/ui-core/src/contracts/dialog.ts +29 -0
- package/packages/ui-core/src/contracts/drawer.ts +39 -0
- package/packages/ui-core/src/contracts/dropdown-menu.ts +87 -0
- package/packages/ui-core/src/contracts/form.ts +29 -0
- package/packages/ui-core/src/contracts/hover-card.ts +21 -0
- package/packages/ui-core/src/contracts/input.ts +11 -0
- package/packages/ui-core/src/contracts/label.ts +7 -0
- package/packages/ui-core/src/contracts/menubar.ts +86 -0
- package/packages/ui-core/src/contracts/navigation-menu.ts +55 -0
- package/packages/ui-core/src/contracts/pagination.ts +38 -0
- package/packages/ui-core/src/contracts/popover.ts +28 -0
- package/packages/ui-core/src/contracts/progress.ts +4 -0
- package/packages/ui-core/src/contracts/radio.ts +16 -0
- package/packages/ui-core/src/contracts/resizable.ts +36 -0
- package/packages/ui-core/src/contracts/scroll-area.ts +15 -0
- package/packages/ui-core/src/contracts/search.ts +13 -0
- package/packages/ui-core/src/contracts/select.ts +64 -0
- package/packages/ui-core/src/contracts/separator.ts +5 -0
- package/packages/ui-core/src/contracts/sheet.ts +58 -0
- package/packages/ui-core/src/contracts/skeleton.ts +6 -0
- package/packages/ui-core/src/contracts/slider.ts +15 -0
- package/packages/ui-core/src/contracts/sonner.ts +15 -0
- package/packages/ui-core/src/contracts/switch.ts +11 -0
- package/packages/ui-core/src/contracts/table.ts +41 -0
- package/packages/ui-core/src/contracts/tabs.ts +31 -0
- package/packages/ui-core/src/contracts/text.ts +12 -0
- package/packages/ui-core/src/contracts/textarea.ts +7 -0
- package/packages/ui-core/src/contracts/theme-provider.ts +14 -0
- package/packages/ui-core/src/contracts/theme-toggle.ts +15 -0
- package/packages/ui-core/src/contracts/toast.ts +15 -0
- package/packages/ui-core/src/contracts/toaster.ts +3 -0
- package/packages/ui-core/src/contracts/toggle-group.ts +23 -0
- package/packages/ui-core/src/contracts/toggle.ts +49 -0
- package/packages/ui-core/src/contracts/tooltip.ts +28 -0
- package/packages/ui-core/src/index.ts +327 -0
- package/packages/ui-core/tsconfig.json +18 -0
- package/packages/ui-native/CHANGELOG.md +8 -0
- package/packages/ui-native/package.json +76 -0
- package/packages/ui-native/src/accordion.tsx +93 -0
- package/packages/ui-native/src/alert-dialog.tsx +123 -0
- package/packages/ui-native/src/alert.tsx +50 -0
- package/packages/ui-native/src/aspect-ratio.tsx +9 -0
- package/packages/ui-native/src/avatar.tsx +38 -0
- package/packages/ui-native/src/badge.tsx +51 -0
- package/packages/ui-native/src/breadcrumb.tsx +9 -0
- package/packages/ui-native/src/button.test.tsx +27 -0
- package/packages/ui-native/src/button.tsx +75 -0
- package/packages/ui-native/src/calendar.tsx +9 -0
- package/packages/ui-native/src/card.test.tsx +33 -0
- package/packages/ui-native/src/card.tsx +56 -0
- package/packages/ui-native/src/carousel.tsx +9 -0
- package/packages/ui-native/src/chart.tsx +9 -0
- package/packages/ui-native/src/checkbox.test.tsx +58 -0
- package/packages/ui-native/src/checkbox.tsx +31 -0
- package/packages/ui-native/src/collapsible.test.tsx +50 -0
- package/packages/ui-native/src/collapsible.tsx +15 -0
- package/packages/ui-native/src/command.tsx +9 -0
- package/packages/ui-native/src/context-menu.tsx +9 -0
- package/packages/ui-native/src/dialog.test.tsx +91 -0
- package/packages/ui-native/src/dialog.tsx +121 -0
- package/packages/ui-native/src/drawer.tsx +9 -0
- package/packages/ui-native/src/dropdown-menu.tsx +9 -0
- package/packages/ui-native/src/form.tsx +9 -0
- package/packages/ui-native/src/hover-card.tsx +9 -0
- package/packages/ui-native/src/index.ts +209 -0
- package/packages/ui-native/src/input.test.tsx +27 -0
- package/packages/ui-native/src/input.tsx +27 -0
- package/packages/ui-native/src/label.tsx +29 -0
- package/packages/ui-native/src/lib/render-native.tsx +17 -0
- package/packages/ui-native/src/menubar.tsx +9 -0
- package/packages/ui-native/src/nativewind-env.d.ts +1 -0
- package/packages/ui-native/src/navigation-menu.tsx +9 -0
- package/packages/ui-native/src/pagination.tsx +9 -0
- package/packages/ui-native/src/popover.tsx +9 -0
- package/packages/ui-native/src/progress.tsx +9 -0
- package/packages/ui-native/src/radio-group.test.tsx +77 -0
- package/packages/ui-native/src/radio-group.tsx +42 -0
- package/packages/ui-native/src/resizable.tsx +25 -0
- package/packages/ui-native/src/scroll-area.tsx +9 -0
- package/packages/ui-native/src/search.tsx +17 -0
- package/packages/ui-native/src/select.tsx +229 -0
- package/packages/ui-native/src/separator.tsx +20 -0
- package/packages/ui-native/src/sheet.test.tsx +93 -0
- package/packages/ui-native/src/sheet.tsx +127 -0
- package/packages/ui-native/src/skeleton.test.tsx +29 -0
- package/packages/ui-native/src/skeleton.tsx +31 -0
- package/packages/ui-native/src/slider.tsx +9 -0
- package/packages/ui-native/src/sonner.tsx +9 -0
- package/packages/ui-native/src/switch.tsx +34 -0
- package/packages/ui-native/src/table.tsx +73 -0
- package/packages/ui-native/src/tabs.tsx +74 -0
- package/packages/ui-native/src/text.test.tsx +24 -0
- package/packages/ui-native/src/text.tsx +43 -0
- package/packages/ui-native/src/textarea.test.tsx +27 -0
- package/packages/ui-native/src/textarea.tsx +29 -0
- package/packages/ui-native/src/theme-provider.tsx +6 -0
- package/packages/ui-native/src/theme-toggle.tsx +11 -0
- package/packages/ui-native/src/toast.test.tsx +61 -0
- package/packages/ui-native/src/toast.tsx +88 -0
- package/packages/ui-native/src/toaster.tsx +9 -0
- package/packages/ui-native/src/toggle-group.tsx +78 -0
- package/packages/ui-native/src/toggle.tsx +35 -0
- package/packages/ui-native/src/tooltip.tsx +44 -0
- package/packages/ui-native/tsconfig.json +23 -0
- package/packages/ui-native/vite.config.ts +17 -0
- package/packages/ui-web/CHANGELOG.md +8 -0
- package/packages/ui-web/package.json +84 -0
- package/packages/ui-web/src/accordion.tsx +58 -0
- package/packages/ui-web/src/alert-dialog.test.tsx +91 -0
- package/packages/ui-web/src/alert-dialog.tsx +121 -0
- package/packages/ui-web/src/alert.test.tsx +47 -0
- package/packages/ui-web/src/alert.tsx +49 -0
- package/packages/ui-web/src/aspect-ratio.test.tsx +34 -0
- package/packages/ui-web/src/aspect-ratio.tsx +7 -0
- package/packages/ui-web/src/avatar.tsx +40 -0
- package/packages/ui-web/src/badge.tsx +34 -0
- package/packages/ui-web/src/breadcrumb.tsx +105 -0
- package/packages/ui-web/src/button.test.tsx +62 -0
- package/packages/ui-web/src/button.tsx +47 -0
- package/packages/ui-web/src/calendar.test.tsx +23 -0
- package/packages/ui-web/src/calendar.tsx +163 -0
- package/packages/ui-web/src/card.test.tsx +35 -0
- package/packages/ui-web/src/card.tsx +46 -0
- package/packages/ui-web/src/carousel.test.tsx +37 -0
- package/packages/ui-web/src/carousel.tsx +234 -0
- package/packages/ui-web/src/chart.test.tsx +62 -0
- package/packages/ui-web/src/chart.tsx +296 -0
- package/packages/ui-web/src/checkbox.test.tsx +30 -0
- package/packages/ui-web/src/checkbox.tsx +31 -0
- package/packages/ui-web/src/collapsible.test.tsx +51 -0
- package/packages/ui-web/src/collapsible.tsx +15 -0
- package/packages/ui-web/src/command.test.tsx +79 -0
- package/packages/ui-web/src/command.tsx +154 -0
- package/packages/ui-web/src/context-menu.test.tsx +37 -0
- package/packages/ui-web/src/context-menu.tsx +208 -0
- package/packages/ui-web/src/dialog.test.tsx +66 -0
- package/packages/ui-web/src/dialog.tsx +95 -0
- package/packages/ui-web/src/drawer.test.tsx +68 -0
- package/packages/ui-web/src/drawer.tsx +110 -0
- package/packages/ui-web/src/dropdown-menu.test.tsx +93 -0
- package/packages/ui-web/src/dropdown-menu.tsx +212 -0
- package/packages/ui-web/src/form.test.tsx +84 -0
- package/packages/ui-web/src/form.tsx +160 -0
- package/packages/ui-web/src/hooks/use-theme.ts +15 -0
- package/packages/ui-web/src/hooks/use-toast.ts +189 -0
- package/packages/ui-web/src/hover-card.test.tsx +48 -0
- package/packages/ui-web/src/hover-card.tsx +35 -0
- package/packages/ui-web/src/index.ts +474 -0
- package/packages/ui-web/src/input.test.tsx +33 -0
- package/packages/ui-web/src/input.tsx +23 -0
- package/packages/ui-web/src/label.tsx +21 -0
- package/packages/ui-web/src/lib/utils.ts +6 -0
- package/packages/ui-web/src/menubar.test.tsx +92 -0
- package/packages/ui-web/src/menubar.tsx +244 -0
- package/packages/ui-web/src/navigation-menu.test.tsx +53 -0
- package/packages/ui-web/src/navigation-menu.tsx +143 -0
- package/packages/ui-web/src/pagination.test.tsx +57 -0
- package/packages/ui-web/src/pagination.tsx +107 -0
- package/packages/ui-web/src/popover.test.tsx +31 -0
- package/packages/ui-web/src/popover.tsx +45 -0
- package/packages/ui-web/src/progress.test.tsx +18 -0
- package/packages/ui-web/src/progress.tsx +28 -0
- package/packages/ui-web/src/radio-group.test.tsx +39 -0
- package/packages/ui-web/src/radio-group.tsx +41 -0
- package/packages/ui-web/src/resizable.test.tsx +23 -0
- package/packages/ui-web/src/resizable.tsx +59 -0
- package/packages/ui-web/src/scroll-area.test.tsx +15 -0
- package/packages/ui-web/src/scroll-area.tsx +42 -0
- package/packages/ui-web/src/search.test.tsx +81 -0
- package/packages/ui-web/src/search.tsx +87 -0
- package/packages/ui-web/src/select.test.tsx +42 -0
- package/packages/ui-web/src/select.tsx +169 -0
- package/packages/ui-web/src/separator.test.tsx +16 -0
- package/packages/ui-web/src/separator.tsx +24 -0
- package/packages/ui-web/src/setupTests.ts +114 -0
- package/packages/ui-web/src/sheet.test.tsx +48 -0
- package/packages/ui-web/src/sheet.tsx +136 -0
- package/packages/ui-web/src/skeleton.test.tsx +13 -0
- package/packages/ui-web/src/skeleton.tsx +10 -0
- package/packages/ui-web/src/slider.test.tsx +18 -0
- package/packages/ui-web/src/slider.tsx +27 -0
- package/packages/ui-web/src/sonner.test.tsx +13 -0
- package/packages/ui-web/src/sonner.tsx +32 -0
- package/packages/ui-web/src/switch.test.tsx +22 -0
- package/packages/ui-web/src/switch.tsx +31 -0
- package/packages/ui-web/src/table.test.tsx +29 -0
- package/packages/ui-web/src/table.tsx +104 -0
- package/packages/ui-web/src/tabs.test.tsx +43 -0
- package/packages/ui-web/src/tabs.tsx +62 -0
- package/packages/ui-web/src/text.test.tsx +34 -0
- package/packages/ui-web/src/text.tsx +55 -0
- package/packages/ui-web/src/textarea.test.tsx +21 -0
- package/packages/ui-web/src/textarea.tsx +25 -0
- package/packages/ui-web/src/theme-provider.tsx +15 -0
- package/packages/ui-web/src/theme-toggle.test.tsx +49 -0
- package/packages/ui-web/src/theme-toggle.tsx +92 -0
- package/packages/ui-web/src/toast.test.tsx +42 -0
- package/packages/ui-web/src/toast.tsx +111 -0
- package/packages/ui-web/src/toaster.tsx +27 -0
- package/packages/ui-web/src/toggle-group.test.tsx +40 -0
- package/packages/ui-web/src/toggle-group.tsx +55 -0
- package/packages/ui-web/src/toggle.test.tsx +21 -0
- package/packages/ui-web/src/toggle.tsx +24 -0
- package/packages/ui-web/src/tooltip.tsx +51 -0
- package/packages/ui-web/tsconfig.json +24 -0
- package/packages/ui-web/vite.config.ts +21 -0
- package/release-please-config.json +25 -1
- package/scripts/build-registry.ts +60 -27
- package/scripts/sync-tokens.ts +86 -0
- package/scripts/validate.ts +74 -0
- package/src/globals.css +22 -0
- package/src/index.ts +2 -56
- package/src/types/nativewind.d.ts +19 -0
- package/tailwind.config.js +48 -0
- package/tsconfig.build.json +13 -3
- package/tsconfig.json +8 -2
- package/vite.config.ts +61 -5
- package/vitest.config.ts +7 -1
- package/wrangler.toml +1 -1
- package/.yarn/releases/yarn-4.12.0.cjs +0 -942
- package/dist/App.d.ts +0 -3
- package/dist/App.d.ts.map +0 -1
- package/dist/components/docs/CodeBlock.d.ts +0 -8
- package/dist/components/docs/CodeBlock.d.ts.map +0 -1
- package/dist/components/docs/ComponentShowcase.d.ts +0 -17
- package/dist/components/docs/ComponentShowcase.d.ts.map +0 -1
- package/dist/components/docs/Footer.d.ts +0 -2
- package/dist/components/docs/Footer.d.ts.map +0 -1
- package/dist/components/docs/PropsTable.d.ts +0 -13
- package/dist/components/docs/PropsTable.d.ts.map +0 -1
- package/dist/components/docs/Sidebar.d.ts +0 -14
- package/dist/components/docs/Sidebar.d.ts.map +0 -1
- package/dist/components/docs/ThemeToggle.d.ts +0 -2
- package/dist/components/docs/ThemeToggle.d.ts.map +0 -1
- package/dist/components/docs/index.d.ts +0 -7
- package/dist/components/docs/index.d.ts.map +0 -1
- package/dist/components/ui/accordion.d.ts +0 -8
- package/dist/components/ui/accordion.d.ts.map +0 -1
- package/dist/components/ui/accordion.test.d.ts +0 -2
- package/dist/components/ui/accordion.test.d.ts.map +0 -1
- package/dist/components/ui/alert-dialog.d.ts +0 -21
- package/dist/components/ui/alert-dialog.d.ts.map +0 -1
- package/dist/components/ui/alert-dialog.test.d.ts +0 -2
- package/dist/components/ui/alert-dialog.test.d.ts.map +0 -1
- package/dist/components/ui/alert.d.ts +0 -9
- package/dist/components/ui/alert.d.ts.map +0 -1
- package/dist/components/ui/alert.test.d.ts +0 -2
- package/dist/components/ui/alert.test.d.ts.map +0 -1
- package/dist/components/ui/aspect-ratio.d.ts +0 -4
- package/dist/components/ui/aspect-ratio.d.ts.map +0 -1
- package/dist/components/ui/aspect-ratio.test.d.ts +0 -2
- package/dist/components/ui/aspect-ratio.test.d.ts.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -7
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/avatar.test.d.ts +0 -2
- package/dist/components/ui/avatar.test.d.ts.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -10
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/badge.test.d.ts +0 -2
- package/dist/components/ui/badge.test.d.ts.map +0 -1
- package/dist/components/ui/breadcrumb.d.ts +0 -20
- package/dist/components/ui/breadcrumb.d.ts.map +0 -1
- package/dist/components/ui/breadcrumb.test.d.ts +0 -2
- package/dist/components/ui/breadcrumb.test.d.ts.map +0 -1
- package/dist/components/ui/button.d.ts +0 -12
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/button.test.d.ts +0 -2
- package/dist/components/ui/button.test.d.ts.map +0 -1
- package/dist/components/ui/calendar.d.ts +0 -9
- package/dist/components/ui/calendar.d.ts.map +0 -1
- package/dist/components/ui/calendar.test.d.ts +0 -2
- package/dist/components/ui/calendar.test.d.ts.map +0 -1
- package/dist/components/ui/card.d.ts +0 -9
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/card.test.d.ts +0 -2
- package/dist/components/ui/card.test.d.ts.map +0 -1
- package/dist/components/ui/carousel.d.ts +0 -19
- package/dist/components/ui/carousel.d.ts.map +0 -1
- package/dist/components/ui/carousel.test.d.ts +0 -2
- package/dist/components/ui/carousel.test.d.ts.map +0 -1
- package/dist/components/ui/chart.d.ts +0 -63
- package/dist/components/ui/chart.d.ts.map +0 -1
- package/dist/components/ui/chart.test.d.ts +0 -2
- package/dist/components/ui/chart.test.d.ts.map +0 -1
- package/dist/components/ui/checkbox.d.ts +0 -5
- package/dist/components/ui/checkbox.d.ts.map +0 -1
- package/dist/components/ui/checkbox.test.d.ts +0 -2
- package/dist/components/ui/checkbox.test.d.ts.map +0 -1
- package/dist/components/ui/collapsible.d.ts +0 -6
- package/dist/components/ui/collapsible.d.ts.map +0 -1
- package/dist/components/ui/collapsible.test.d.ts +0 -2
- package/dist/components/ui/collapsible.test.d.ts.map +0 -1
- package/dist/components/ui/command.d.ts +0 -81
- package/dist/components/ui/command.d.ts.map +0 -1
- package/dist/components/ui/command.test.d.ts +0 -2
- package/dist/components/ui/command.test.d.ts.map +0 -1
- package/dist/components/ui/context-menu.d.ts +0 -28
- package/dist/components/ui/context-menu.d.ts.map +0 -1
- package/dist/components/ui/context-menu.test.d.ts +0 -2
- package/dist/components/ui/context-menu.test.d.ts.map +0 -1
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dialog.test.d.ts +0 -2
- package/dist/components/ui/dialog.test.d.ts.map +0 -1
- package/dist/components/ui/drawer.d.ts +0 -23
- package/dist/components/ui/drawer.d.ts.map +0 -1
- package/dist/components/ui/drawer.test.d.ts +0 -2
- package/dist/components/ui/drawer.test.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -28
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.test.d.ts +0 -2
- package/dist/components/ui/dropdown-menu.test.d.ts.map +0 -1
- package/dist/components/ui/form.d.ts +0 -24
- package/dist/components/ui/form.d.ts.map +0 -1
- package/dist/components/ui/form.test.d.ts +0 -2
- package/dist/components/ui/form.test.d.ts.map +0 -1
- package/dist/components/ui/hover-card.d.ts +0 -7
- package/dist/components/ui/hover-card.d.ts.map +0 -1
- package/dist/components/ui/hover-card.test.d.ts +0 -2
- package/dist/components/ui/hover-card.test.d.ts.map +0 -1
- package/dist/components/ui/input.d.ts +0 -4
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/input.test.d.ts +0 -2
- package/dist/components/ui/input.test.d.ts.map +0 -1
- package/dist/components/ui/label.d.ts +0 -6
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/label.test.d.ts +0 -2
- package/dist/components/ui/label.test.d.ts.map +0 -1
- package/dist/components/ui/menubar.d.ts +0 -29
- package/dist/components/ui/menubar.d.ts.map +0 -1
- package/dist/components/ui/menubar.test.d.ts +0 -2
- package/dist/components/ui/menubar.test.d.ts.map +0 -1
- package/dist/components/ui/navigation-menu.d.ts +0 -13
- package/dist/components/ui/navigation-menu.d.ts.map +0 -1
- package/dist/components/ui/navigation-menu.test.d.ts +0 -2
- package/dist/components/ui/navigation-menu.test.d.ts.map +0 -1
- package/dist/components/ui/pagination.d.ts +0 -29
- package/dist/components/ui/pagination.d.ts.map +0 -1
- package/dist/components/ui/pagination.test.d.ts +0 -2
- package/dist/components/ui/pagination.test.d.ts.map +0 -1
- package/dist/components/ui/popover.d.ts +0 -8
- package/dist/components/ui/popover.d.ts.map +0 -1
- package/dist/components/ui/popover.test.d.ts +0 -2
- package/dist/components/ui/popover.test.d.ts.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -5
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/progress.test.d.ts +0 -2
- package/dist/components/ui/progress.test.d.ts.map +0 -1
- package/dist/components/ui/radio-group.d.ts +0 -6
- package/dist/components/ui/radio-group.d.ts.map +0 -1
- package/dist/components/ui/radio-group.test.d.ts +0 -2
- package/dist/components/ui/radio-group.test.d.ts.map +0 -1
- package/dist/components/ui/resizable.d.ts +0 -11
- package/dist/components/ui/resizable.d.ts.map +0 -1
- package/dist/components/ui/resizable.test.d.ts +0 -2
- package/dist/components/ui/resizable.test.d.ts.map +0 -1
- package/dist/components/ui/scroll-area.d.ts +0 -6
- package/dist/components/ui/scroll-area.d.ts.map +0 -1
- package/dist/components/ui/scroll-area.test.d.ts +0 -2
- package/dist/components/ui/scroll-area.test.d.ts.map +0 -1
- package/dist/components/ui/search.d.ts +0 -16
- package/dist/components/ui/search.d.ts.map +0 -1
- package/dist/components/ui/search.test.d.ts +0 -2
- package/dist/components/ui/search.test.d.ts.map +0 -1
- package/dist/components/ui/select.d.ts +0 -14
- package/dist/components/ui/select.d.ts.map +0 -1
- package/dist/components/ui/select.test.d.ts +0 -2
- package/dist/components/ui/select.test.d.ts.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -5
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/separator.test.d.ts +0 -2
- package/dist/components/ui/separator.test.d.ts.map +0 -1
- package/dist/components/ui/sheet.d.ts +0 -26
- package/dist/components/ui/sheet.d.ts.map +0 -1
- package/dist/components/ui/sheet.test.d.ts +0 -2
- package/dist/components/ui/sheet.test.d.ts.map +0 -1
- package/dist/components/ui/skeleton.d.ts +0 -4
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/skeleton.test.d.ts +0 -2
- package/dist/components/ui/skeleton.test.d.ts.map +0 -1
- package/dist/components/ui/slider.d.ts +0 -5
- package/dist/components/ui/slider.d.ts.map +0 -1
- package/dist/components/ui/slider.test.d.ts +0 -2
- package/dist/components/ui/slider.test.d.ts.map +0 -1
- package/dist/components/ui/sonner.d.ts +0 -6
- package/dist/components/ui/sonner.d.ts.map +0 -1
- package/dist/components/ui/sonner.test.d.ts +0 -2
- package/dist/components/ui/sonner.test.d.ts.map +0 -1
- package/dist/components/ui/switch.d.ts +0 -5
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/switch.test.d.ts +0 -2
- package/dist/components/ui/switch.test.d.ts.map +0 -1
- package/dist/components/ui/table.d.ts +0 -11
- package/dist/components/ui/table.d.ts.map +0 -1
- package/dist/components/ui/table.test.d.ts +0 -2
- package/dist/components/ui/table.test.d.ts.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/tabs.test.d.ts +0 -2
- package/dist/components/ui/tabs.test.d.ts.map +0 -1
- package/dist/components/ui/textarea.d.ts +0 -4
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/textarea.test.d.ts +0 -2
- package/dist/components/ui/textarea.test.d.ts.map +0 -1
- package/dist/components/ui/theme-provider.d.ts +0 -4
- package/dist/components/ui/theme-provider.d.ts.map +0 -1
- package/dist/components/ui/theme-provider.test.d.ts +0 -2
- package/dist/components/ui/theme-provider.test.d.ts.map +0 -1
- package/dist/components/ui/theme-toggle.d.ts +0 -17
- package/dist/components/ui/theme-toggle.d.ts.map +0 -1
- package/dist/components/ui/theme-toggle.test.d.ts +0 -2
- package/dist/components/ui/theme-toggle.test.d.ts.map +0 -1
- package/dist/components/ui/toast.d.ts.map +0 -1
- package/dist/components/ui/toast.test.d.ts +0 -2
- package/dist/components/ui/toast.test.d.ts.map +0 -1
- package/dist/components/ui/toaster.d.ts.map +0 -1
- package/dist/components/ui/toggle-group.d.ts +0 -13
- package/dist/components/ui/toggle-group.d.ts.map +0 -1
- package/dist/components/ui/toggle-group.test.d.ts +0 -2
- package/dist/components/ui/toggle-group.test.d.ts.map +0 -1
- package/dist/components/ui/toggle.d.ts +0 -13
- package/dist/components/ui/toggle.d.ts.map +0 -1
- package/dist/components/ui/toggle.test.d.ts +0 -2
- package/dist/components/ui/toggle.test.d.ts.map +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -8
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/components/ui/tooltip.test.d.ts +0 -2
- package/dist/components/ui/tooltip.test.d.ts.map +0 -1
- package/dist/hooks/use-theme.d.ts.map +0 -1
- package/dist/hooks/use-theme.test.d.ts +0 -2
- package/dist/hooks/use-theme.test.d.ts.map +0 -1
- package/dist/hooks/use-toast.d.ts +0 -45
- package/dist/hooks/use-toast.d.ts.map +0 -1
- package/dist/index.d.ts +0 -54
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/main.d.ts +0 -2
- package/dist/main.d.ts.map +0 -1
- package/dist/pages/ColorTokensDocs.d.ts +0 -2
- package/dist/pages/ColorTokensDocs.d.ts.map +0 -1
- package/dist/pages/GettingStarted.d.ts +0 -3
- package/dist/pages/GettingStarted.d.ts.map +0 -1
- package/dist/pages/components/AccordionDocs.d.ts +0 -2
- package/dist/pages/components/AccordionDocs.d.ts.map +0 -1
- package/dist/pages/components/AlertDialogDocs.d.ts +0 -2
- package/dist/pages/components/AlertDialogDocs.d.ts.map +0 -1
- package/dist/pages/components/AlertDocs.d.ts +0 -2
- package/dist/pages/components/AlertDocs.d.ts.map +0 -1
- package/dist/pages/components/AspectRatioDocs.d.ts +0 -2
- package/dist/pages/components/AspectRatioDocs.d.ts.map +0 -1
- package/dist/pages/components/AvatarDocs.d.ts +0 -2
- package/dist/pages/components/AvatarDocs.d.ts.map +0 -1
- package/dist/pages/components/BadgeDocs.d.ts +0 -2
- package/dist/pages/components/BadgeDocs.d.ts.map +0 -1
- package/dist/pages/components/BreadcrumbDocs.d.ts +0 -2
- package/dist/pages/components/BreadcrumbDocs.d.ts.map +0 -1
- package/dist/pages/components/ButtonDocs.d.ts +0 -2
- package/dist/pages/components/ButtonDocs.d.ts.map +0 -1
- package/dist/pages/components/CalendarDocs.d.ts +0 -2
- package/dist/pages/components/CalendarDocs.d.ts.map +0 -1
- package/dist/pages/components/CardDocs.d.ts +0 -2
- package/dist/pages/components/CardDocs.d.ts.map +0 -1
- package/dist/pages/components/CarouselDocs.d.ts +0 -2
- package/dist/pages/components/CarouselDocs.d.ts.map +0 -1
- package/dist/pages/components/ChartDocs.d.ts +0 -2
- package/dist/pages/components/ChartDocs.d.ts.map +0 -1
- package/dist/pages/components/CheckboxDocs.d.ts +0 -2
- package/dist/pages/components/CheckboxDocs.d.ts.map +0 -1
- package/dist/pages/components/CollapsibleDocs.d.ts +0 -2
- package/dist/pages/components/CollapsibleDocs.d.ts.map +0 -1
- package/dist/pages/components/CommandDocs.d.ts +0 -2
- package/dist/pages/components/CommandDocs.d.ts.map +0 -1
- package/dist/pages/components/ContextMenuDocs.d.ts +0 -2
- package/dist/pages/components/ContextMenuDocs.d.ts.map +0 -1
- package/dist/pages/components/DialogDocs.d.ts +0 -2
- package/dist/pages/components/DialogDocs.d.ts.map +0 -1
- package/dist/pages/components/DrawerDocs.d.ts +0 -2
- package/dist/pages/components/DrawerDocs.d.ts.map +0 -1
- package/dist/pages/components/DropdownMenuDocs.d.ts +0 -2
- package/dist/pages/components/DropdownMenuDocs.d.ts.map +0 -1
- package/dist/pages/components/FormDocs.d.ts +0 -2
- package/dist/pages/components/FormDocs.d.ts.map +0 -1
- package/dist/pages/components/HoverCardDocs.d.ts +0 -2
- package/dist/pages/components/HoverCardDocs.d.ts.map +0 -1
- package/dist/pages/components/InputDocs.d.ts +0 -2
- package/dist/pages/components/InputDocs.d.ts.map +0 -1
- package/dist/pages/components/LabelDocs.d.ts +0 -2
- package/dist/pages/components/LabelDocs.d.ts.map +0 -1
- package/dist/pages/components/MenubarDocs.d.ts +0 -2
- package/dist/pages/components/MenubarDocs.d.ts.map +0 -1
- package/dist/pages/components/NavigationMenuDocs.d.ts +0 -2
- package/dist/pages/components/NavigationMenuDocs.d.ts.map +0 -1
- package/dist/pages/components/PaginationDocs.d.ts +0 -2
- package/dist/pages/components/PaginationDocs.d.ts.map +0 -1
- package/dist/pages/components/PopoverDocs.d.ts +0 -2
- package/dist/pages/components/PopoverDocs.d.ts.map +0 -1
- package/dist/pages/components/ProgressDocs.d.ts +0 -2
- package/dist/pages/components/ProgressDocs.d.ts.map +0 -1
- package/dist/pages/components/RadioGroupDocs.d.ts +0 -2
- package/dist/pages/components/RadioGroupDocs.d.ts.map +0 -1
- package/dist/pages/components/ResizableDocs.d.ts +0 -2
- package/dist/pages/components/ResizableDocs.d.ts.map +0 -1
- package/dist/pages/components/ScrollAreaDocs.d.ts +0 -2
- package/dist/pages/components/ScrollAreaDocs.d.ts.map +0 -1
- package/dist/pages/components/SearchDocs.d.ts +0 -2
- package/dist/pages/components/SearchDocs.d.ts.map +0 -1
- package/dist/pages/components/SelectDocs.d.ts +0 -2
- package/dist/pages/components/SelectDocs.d.ts.map +0 -1
- package/dist/pages/components/SeparatorDocs.d.ts +0 -2
- package/dist/pages/components/SeparatorDocs.d.ts.map +0 -1
- package/dist/pages/components/SheetDocs.d.ts +0 -2
- package/dist/pages/components/SheetDocs.d.ts.map +0 -1
- package/dist/pages/components/SkeletonDocs.d.ts +0 -2
- package/dist/pages/components/SkeletonDocs.d.ts.map +0 -1
- package/dist/pages/components/SliderDocs.d.ts +0 -2
- package/dist/pages/components/SliderDocs.d.ts.map +0 -1
- package/dist/pages/components/SonnerDocs.d.ts +0 -2
- package/dist/pages/components/SonnerDocs.d.ts.map +0 -1
- package/dist/pages/components/SwitchDocs.d.ts +0 -2
- package/dist/pages/components/SwitchDocs.d.ts.map +0 -1
- package/dist/pages/components/TableDocs.d.ts +0 -2
- package/dist/pages/components/TableDocs.d.ts.map +0 -1
- package/dist/pages/components/TabsDocs.d.ts +0 -2
- package/dist/pages/components/TabsDocs.d.ts.map +0 -1
- package/dist/pages/components/TextareaDocs.d.ts +0 -2
- package/dist/pages/components/TextareaDocs.d.ts.map +0 -1
- package/dist/pages/components/ThemeToggleDocs.d.ts +0 -2
- package/dist/pages/components/ThemeToggleDocs.d.ts.map +0 -1
- package/dist/pages/components/ToastDocs.d.ts +0 -2
- package/dist/pages/components/ToastDocs.d.ts.map +0 -1
- package/dist/pages/components/ToggleDocs.d.ts +0 -2
- package/dist/pages/components/ToggleDocs.d.ts.map +0 -1
- package/dist/pages/components/ToggleGroupDocs.d.ts +0 -2
- package/dist/pages/components/ToggleGroupDocs.d.ts.map +0 -1
- package/dist/pages/components/TooltipDocs.d.ts +0 -2
- package/dist/pages/components/TooltipDocs.d.ts.map +0 -1
- package/dist/pages/index.d.ts +0 -50
- package/dist/pages/index.d.ts.map +0 -1
- package/dist/registry/accordion.json +0 -13
- package/dist/registry/accordion.test.json +0 -13
- package/dist/registry/alert-dialog.json +0 -13
- package/dist/registry/alert-dialog.test.json +0 -13
- package/dist/registry/alert.json +0 -13
- package/dist/registry/alert.test.json +0 -13
- package/dist/registry/aspect-ratio.json +0 -13
- package/dist/registry/aspect-ratio.test.json +0 -13
- package/dist/registry/avatar.json +0 -13
- package/dist/registry/avatar.test.json +0 -13
- package/dist/registry/badge.json +0 -13
- package/dist/registry/badge.test.json +0 -13
- package/dist/registry/breadcrumb.json +0 -13
- package/dist/registry/breadcrumb.test.json +0 -13
- package/dist/registry/button.json +0 -13
- package/dist/registry/button.test.json +0 -13
- package/dist/registry/calendar.json +0 -13
- package/dist/registry/calendar.test.json +0 -13
- package/dist/registry/card.json +0 -13
- package/dist/registry/card.test.json +0 -13
- package/dist/registry/carousel.json +0 -13
- package/dist/registry/carousel.test.json +0 -13
- package/dist/registry/chart.json +0 -13
- package/dist/registry/chart.test.json +0 -13
- package/dist/registry/checkbox.json +0 -13
- package/dist/registry/checkbox.test.json +0 -13
- package/dist/registry/collapsible.json +0 -13
- package/dist/registry/collapsible.test.json +0 -13
- package/dist/registry/command.json +0 -13
- package/dist/registry/command.test.json +0 -13
- package/dist/registry/context-menu.json +0 -13
- package/dist/registry/context-menu.test.json +0 -13
- package/dist/registry/dialog.json +0 -13
- package/dist/registry/dialog.test.json +0 -13
- package/dist/registry/drawer.json +0 -13
- package/dist/registry/drawer.test.json +0 -13
- package/dist/registry/dropdown-menu.json +0 -13
- package/dist/registry/dropdown-menu.test.json +0 -13
- package/dist/registry/form.json +0 -13
- package/dist/registry/form.test.json +0 -13
- package/dist/registry/hover-card.json +0 -13
- package/dist/registry/hover-card.test.json +0 -13
- package/dist/registry/index.json +0 -681
- package/dist/registry/input.json +0 -13
- package/dist/registry/input.test.json +0 -13
- package/dist/registry/label.json +0 -13
- package/dist/registry/label.test.json +0 -13
- package/dist/registry/menubar.json +0 -13
- package/dist/registry/menubar.test.json +0 -13
- package/dist/registry/navigation-menu.json +0 -13
- package/dist/registry/navigation-menu.test.json +0 -13
- package/dist/registry/pagination.json +0 -13
- package/dist/registry/pagination.test.json +0 -13
- package/dist/registry/popover.json +0 -13
- package/dist/registry/popover.test.json +0 -13
- package/dist/registry/progress.json +0 -13
- package/dist/registry/progress.test.json +0 -13
- package/dist/registry/radio-group.json +0 -13
- package/dist/registry/radio-group.test.json +0 -13
- package/dist/registry/resizable.json +0 -13
- package/dist/registry/resizable.test.json +0 -13
- package/dist/registry/scroll-area.json +0 -13
- package/dist/registry/scroll-area.test.json +0 -13
- package/dist/registry/search.json +0 -13
- package/dist/registry/search.test.json +0 -13
- package/dist/registry/select.json +0 -13
- package/dist/registry/select.test.json +0 -13
- package/dist/registry/separator.json +0 -13
- package/dist/registry/separator.test.json +0 -13
- package/dist/registry/sheet.json +0 -13
- package/dist/registry/sheet.test.json +0 -13
- package/dist/registry/skeleton.json +0 -13
- package/dist/registry/skeleton.test.json +0 -13
- package/dist/registry/slider.json +0 -13
- package/dist/registry/slider.test.json +0 -13
- package/dist/registry/sonner.json +0 -13
- package/dist/registry/sonner.test.json +0 -13
- package/dist/registry/switch.json +0 -13
- package/dist/registry/switch.test.json +0 -13
- package/dist/registry/table.json +0 -13
- package/dist/registry/table.test.json +0 -13
- package/dist/registry/tabs.json +0 -13
- package/dist/registry/tabs.test.json +0 -13
- package/dist/registry/textarea.json +0 -13
- package/dist/registry/textarea.test.json +0 -13
- package/dist/registry/theme-provider.json +0 -13
- package/dist/registry/theme-provider.test.json +0 -13
- package/dist/registry/theme-toggle.json +0 -13
- package/dist/registry/theme-toggle.test.json +0 -13
- package/dist/registry/toast.json +0 -13
- package/dist/registry/toast.test.json +0 -13
- package/dist/registry/toaster.json +0 -13
- package/dist/registry/toggle-group.json +0 -13
- package/dist/registry/toggle-group.test.json +0 -13
- package/dist/registry/toggle.json +0 -13
- package/dist/registry/toggle.test.json +0 -13
- package/dist/registry/tooltip.json +0 -13
- package/dist/registry/tooltip.test.json +0 -13
- package/dist/setupTests.d.ts +0 -2
- package/dist/setupTests.d.ts.map +0 -1
- package/dist/theme/tokens.d.ts +0 -115
- package/dist/theme/tokens.d.ts.map +0 -1
- package/dist/vendor-Bcg_ARLM.mjs +0 -25810
- package/dist/vendor-Bcg_ARLM.mjs.map +0 -1
- package/dist/vendor-BrqPND3G.js +0 -73
- package/dist/vendor-BrqPND3G.js.map +0 -1
- package/docs/MIGRATE_TO_GVTECH_SCOPE.md +0 -74
- package/public/favicon.png +0 -0
- package/public/index.demo.html +0 -40
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/public/manifest.json +0 -25
- package/public/robots.txt +0 -2
- package/scripts/import-all-shadcn.ts +0 -68
- package/scripts/validate.js +0 -55
- package/src/App.tsx +0 -274
- package/src/components/docs/CodeBlock.tsx +0 -34
- package/src/components/docs/ComponentShowcase.tsx +0 -68
- package/src/components/docs/Footer.tsx +0 -138
- package/src/components/docs/PropsTable.tsx +0 -43
- package/src/components/docs/Sidebar.tsx +0 -175
- package/src/components/docs/ThemeToggle.tsx +0 -19
- package/src/components/docs/index.ts +0 -6
- package/src/components/ui/accordion.tsx +0 -51
- package/src/components/ui/alert-dialog.test.tsx +0 -91
- package/src/components/ui/alert-dialog.tsx +0 -104
- package/src/components/ui/alert.test.tsx +0 -33
- package/src/components/ui/alert.tsx +0 -43
- package/src/components/ui/aspect-ratio.test.tsx +0 -34
- package/src/components/ui/aspect-ratio.tsx +0 -5
- package/src/components/ui/avatar.tsx +0 -38
- package/src/components/ui/badge.tsx +0 -29
- package/src/components/ui/breadcrumb.test.tsx +0 -55
- package/src/components/ui/breadcrumb.tsx +0 -90
- package/src/components/ui/button.test.tsx +0 -62
- package/src/components/ui/button.tsx +0 -46
- package/src/components/ui/calendar.test.tsx +0 -23
- package/src/components/ui/calendar.tsx +0 -160
- package/src/components/ui/card.test.tsx +0 -35
- package/src/components/ui/card.tsx +0 -43
- package/src/components/ui/carousel.test.tsx +0 -37
- package/src/components/ui/carousel.tsx +0 -224
- package/src/components/ui/chart.test.tsx +0 -62
- package/src/components/ui/chart.tsx +0 -307
- package/src/components/ui/checkbox.test.tsx +0 -30
- package/src/components/ui/checkbox.tsx +0 -26
- package/src/components/ui/collapsible.test.tsx +0 -51
- package/src/components/ui/collapsible.tsx +0 -9
- package/src/components/ui/command.test.tsx +0 -79
- package/src/components/ui/command.tsx +0 -132
- package/src/components/ui/context-menu.test.tsx +0 -37
- package/src/components/ui/context-menu.tsx +0 -178
- package/src/components/ui/dialog.test.tsx +0 -66
- package/src/components/ui/dialog.tsx +0 -95
- package/src/components/ui/drawer.test.tsx +0 -68
- package/src/components/ui/drawer.tsx +0 -87
- package/src/components/ui/dropdown-menu.test.tsx +0 -93
- package/src/components/ui/dropdown-menu.tsx +0 -180
- package/src/components/ui/form.test.tsx +0 -85
- package/src/components/ui/form.tsx +0 -149
- package/src/components/ui/hover-card.test.tsx +0 -48
- package/src/components/ui/hover-card.tsx +0 -27
- package/src/components/ui/input.test.tsx +0 -33
- package/src/components/ui/input.tsx +0 -22
- package/src/components/ui/label.tsx +0 -17
- package/src/components/ui/menubar.test.tsx +0 -92
- package/src/components/ui/menubar.tsx +0 -217
- package/src/components/ui/navigation-menu.test.tsx +0 -53
- package/src/components/ui/navigation-menu.tsx +0 -120
- package/src/components/ui/pagination.test.tsx +0 -57
- package/src/components/ui/pagination.tsx +0 -81
- package/src/components/ui/popover.test.tsx +0 -31
- package/src/components/ui/popover.tsx +0 -31
- package/src/components/ui/progress.test.tsx +0 -18
- package/src/components/ui/progress.tsx +0 -24
- package/src/components/ui/radio-group.test.tsx +0 -39
- package/src/components/ui/radio-group.tsx +0 -36
- package/src/components/ui/resizable.test.tsx +0 -23
- package/src/components/ui/resizable.tsx +0 -45
- package/src/components/ui/scroll-area.test.tsx +0 -15
- package/src/components/ui/scroll-area.tsx +0 -38
- package/src/components/ui/search.test.tsx +0 -75
- package/src/components/ui/search.tsx +0 -93
- package/src/components/ui/select.test.tsx +0 -42
- package/src/components/ui/select.tsx +0 -142
- package/src/components/ui/separator.test.tsx +0 -16
- package/src/components/ui/separator.tsx +0 -20
- package/src/components/ui/sheet.test.tsx +0 -48
- package/src/components/ui/sheet.tsx +0 -106
- package/src/components/ui/skeleton.test.tsx +0 -13
- package/src/components/ui/skeleton.tsx +0 -8
- package/src/components/ui/slider.test.tsx +0 -18
- package/src/components/ui/slider.tsx +0 -23
- package/src/components/ui/sonner.test.tsx +0 -13
- package/src/components/ui/sonner.tsx +0 -28
- package/src/components/ui/switch.test.tsx +0 -22
- package/src/components/ui/switch.tsx +0 -27
- package/src/components/ui/table.test.tsx +0 -29
- package/src/components/ui/table.tsx +0 -76
- package/src/components/ui/tabs.test.tsx +0 -43
- package/src/components/ui/tabs.tsx +0 -53
- package/src/components/ui/textarea.test.tsx +0 -21
- package/src/components/ui/textarea.tsx +0 -21
- package/src/components/ui/theme-provider.test.tsx +0 -47
- package/src/components/ui/theme-provider.tsx +0 -12
- package/src/components/ui/theme-toggle.test.tsx +0 -49
- package/src/components/ui/theme-toggle.tsx +0 -108
- package/src/components/ui/toast.test.tsx +0 -42
- package/src/components/ui/toast.tsx +0 -111
- package/src/components/ui/toaster.tsx +0 -24
- package/src/components/ui/toggle-group.test.tsx +0 -40
- package/src/components/ui/toggle-group.tsx +0 -51
- package/src/components/ui/toggle.test.tsx +0 -21
- package/src/components/ui/toggle.tsx +0 -37
- package/src/components/ui/tooltip.test.tsx +0 -25
- package/src/components/ui/tooltip.tsx +0 -30
- package/src/hooks/use-theme.test.tsx +0 -27
- package/src/hooks/use-theme.ts +0 -15
- package/src/hooks/use-toast.ts +0 -189
- package/src/main.tsx +0 -10
- package/src/pages/ColorTokensDocs.tsx +0 -218
- package/src/pages/GettingStarted.tsx +0 -302
- package/src/pages/components/AccordionDocs.tsx +0 -164
- package/src/pages/components/AlertDialogDocs.tsx +0 -151
- package/src/pages/components/AlertDocs.tsx +0 -65
- package/src/pages/components/AspectRatioDocs.tsx +0 -85
- package/src/pages/components/AvatarDocs.tsx +0 -82
- package/src/pages/components/BadgeDocs.tsx +0 -56
- package/src/pages/components/BreadcrumbDocs.tsx +0 -87
- package/src/pages/components/ButtonDocs.tsx +0 -120
- package/src/pages/components/CalendarDocs.tsx +0 -72
- package/src/pages/components/CardDocs.tsx +0 -101
- package/src/pages/components/CarouselDocs.tsx +0 -163
- package/src/pages/components/ChartDocs.tsx +0 -145
- package/src/pages/components/CheckboxDocs.tsx +0 -107
- package/src/pages/components/CollapsibleDocs.tsx +0 -103
- package/src/pages/components/CommandDocs.tsx +0 -209
- package/src/pages/components/ContextMenuDocs.tsx +0 -158
- package/src/pages/components/DialogDocs.tsx +0 -167
- package/src/pages/components/DrawerDocs.tsx +0 -274
- package/src/pages/components/DropdownMenuDocs.tsx +0 -313
- package/src/pages/components/FormDocs.tsx +0 -163
- package/src/pages/components/HoverCardDocs.tsx +0 -136
- package/src/pages/components/InputDocs.tsx +0 -99
- package/src/pages/components/LabelDocs.tsx +0 -54
- package/src/pages/components/MenubarDocs.tsx +0 -290
- package/src/pages/components/NavigationMenuDocs.tsx +0 -254
- package/src/pages/components/PaginationDocs.tsx +0 -93
- package/src/pages/components/PopoverDocs.tsx +0 -183
- package/src/pages/components/ProgressDocs.tsx +0 -64
- package/src/pages/components/RadioGroupDocs.tsx +0 -132
- package/src/pages/components/ResizableDocs.tsx +0 -137
- package/src/pages/components/ScrollAreaDocs.tsx +0 -102
- package/src/pages/components/SearchDocs.tsx +0 -194
- package/src/pages/components/SelectDocs.tsx +0 -158
- package/src/pages/components/SeparatorDocs.tsx +0 -79
- package/src/pages/components/SheetDocs.tsx +0 -178
- package/src/pages/components/SkeletonDocs.tsx +0 -44
- package/src/pages/components/SliderDocs.tsx +0 -110
- package/src/pages/components/SonnerDocs.tsx +0 -117
- package/src/pages/components/SwitchDocs.tsx +0 -86
- package/src/pages/components/TableDocs.tsx +0 -139
- package/src/pages/components/TabsDocs.tsx +0 -223
- package/src/pages/components/TextareaDocs.tsx +0 -60
- package/src/pages/components/ThemeToggleDocs.tsx +0 -296
- package/src/pages/components/ToastDocs.tsx +0 -141
- package/src/pages/components/ToggleDocs.tsx +0 -76
- package/src/pages/components/ToggleGroupDocs.tsx +0 -131
- package/src/pages/components/TooltipDocs.tsx +0 -147
- package/src/pages/index.ts +0 -52
- package/src/theme/tokens.ts +0 -68
- /package/{index.html → apps/playground-web/index.html} +0 -0
- /package/{dist → apps/playground-web/public}/favicon.png +0 -0
- /package/{dist → apps/playground-web/public}/index.demo.html +0 -0
- /package/{dist → apps/playground-web/public}/logo192.png +0 -0
- /package/{dist → apps/playground-web/public}/logo512.png +0 -0
- /package/{dist → apps/playground-web/public}/manifest.json +0 -0
- /package/{dist → apps/playground-web/public}/robots.txt +0 -0
- /package/dist/{lib → packages/ui-native/src/lib}/utils.d.ts +0 -0
- /package/dist/{components/ui → packages/ui-native/src}/toaster.d.ts +0 -0
- /package/dist/{components/ui → packages/ui-web/src}/dialog.d.ts +0 -0
- /package/dist/{hooks → packages/ui-web/src/hooks}/use-theme.d.ts +0 -0
- /package/dist/{components/ui → packages/ui-web/src}/toast.d.ts +0 -0
- /package/{src → packages/ui-native/src}/lib/utils.ts +0 -0
- /package/{src/components/ui → packages/ui-web/src}/accordion.test.tsx +0 -0
- /package/{src/components/ui → packages/ui-web/src}/avatar.test.tsx +0 -0
- /package/{src/components/ui → packages/ui-web/src}/badge.test.tsx +0 -0
- /package/{src/components/ui → packages/ui-web/src}/label.test.tsx +0 -0
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "label.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/label.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Label } from './label';\n\ndescribe('Label', () => {\n it('renders correctly', () => {\n render(<Label>Test Label</Label>);\n expect(screen.getByText('Test Label')).toBeInTheDocument();\n });\n\n it('renders within the DOM', () => {\n const { container } = render(<Label>Test Label</Label>);\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('supports htmlFor attribute', () => {\n render(\n <>\n <Label htmlFor=\"test-input\">Test Input</Label>\n <input id=\"test-input\" />\n </>,\n );\n\n const label = screen.getByText('Test Input');\n expect(label).toHaveAttribute('for', 'test-input');\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "menubar",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/menubar.tsx",
|
|
9
|
-
"content": "import * as MenubarPrimitive from '@radix-ui/react-menubar';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu {...props} />;\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group {...props} />;\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal {...props} />;\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup {...props} />;\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn('flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm', className)}\n {...props}\n />\n));\nMenubar.displayName = MenubarPrimitive.Root.displayName;\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n className,\n )}\n {...props}\n />\n));\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n));\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]',\n className,\n )}\n {...props}\n />\n));\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(({ className, align = 'start', alignOffset = -4, sideOffset = 8, ...props }, ref) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n));\nMenubarContent.displayName = MenubarPrimitive.Content.displayName;\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nMenubarItem.displayName = MenubarPrimitive.Item.displayName;\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n));\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Circle className=\"h-4 w-4 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n));\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName;\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;\n\nconst MenubarShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nMenubarShortcut.displayname = 'MenubarShortcut';\n\nexport {\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarGroup,\n MenubarItem,\n MenubarLabel,\n MenubarMenu,\n MenubarPortal,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSeparator,\n MenubarShortcut,\n MenubarSub,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarTrigger,\n};\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "menubar.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/menubar.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport {\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarItem,\n MenubarMenu,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarTrigger,\n} from './menubar';\n\ndescribe('Menubar', () => {\n it('renders trigger correctly', () => {\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>File</MenubarTrigger>\n <MenubarContent>\n <MenubarItem>New Tab</MenubarItem>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n expect(screen.getByText('File')).toBeInTheDocument();\n });\n\n it('opens menu on click', async () => {\n const user = userEvent.setup();\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>File</MenubarTrigger>\n <MenubarContent>\n <MenubarItem>New Tab</MenubarItem>\n <MenubarItem>New Window</MenubarItem>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n await user.click(screen.getByText('File'));\n\n expect(screen.getByText('New Tab')).toBeVisible();\n expect(screen.getByText('New Window')).toBeVisible();\n });\n\n it('handles checkbox items', async () => {\n const user = userEvent.setup();\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>View</MenubarTrigger>\n <MenubarContent>\n <MenubarCheckboxItem checked>Show Sidebar</MenubarCheckboxItem>\n <MenubarCheckboxItem checked={false}>Show Status Bar</MenubarCheckboxItem>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n await user.click(screen.getByText('View'));\n\n expect(screen.getByRole('menuitemcheckbox', { name: 'Show Sidebar' })).toBeChecked();\n expect(screen.getByRole('menuitemcheckbox', { name: 'Show Status Bar' })).not.toBeChecked();\n });\n\n it('handles radio items', async () => {\n const user = userEvent.setup();\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>Profiles</MenubarTrigger>\n <MenubarContent>\n <MenubarRadioGroup value=\"andy\">\n <MenubarRadioItem value=\"andy\">Andy</MenubarRadioItem>\n <MenubarRadioItem value=\"benoit\">Benoit</MenubarRadioItem>\n </MenubarRadioGroup>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n await user.click(screen.getByText('Profiles'));\n\n expect(screen.getByRole('menuitemradio', { name: 'Andy' })).toBeChecked();\n expect(screen.getByRole('menuitemradio', { name: 'Benoit' })).not.toBeChecked();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "navigation-menu",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/navigation-menu.tsx",
|
|
9
|
-
"content": "import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { cva } from 'class-variance-authority';\nimport { ChevronDown } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn('relative z-10 flex max-w-max flex-1 items-center justify-center', className)}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n));\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn('group flex flex-1 list-none items-center justify-center space-x-1', className)}\n {...props}\n />\n));\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item;\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent',\n);\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), 'group', className)}\n {...props}\n >\n {children}{' '}\n <ChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n));\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n 'left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ',\n className,\n )}\n {...props}\n />\n));\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link;\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn('absolute left-0 top-full flex justify-center')}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n 'origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]',\n className,\n )}\n ref={ref}\n {...props}\n />\n </div>\n));\nNavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n 'top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in',\n className,\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n));\nNavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;\n\nexport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle,\n NavigationMenuViewport,\n};\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "navigation-menu.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/navigation-menu.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n} from './navigation-menu';\n\ndescribe('NavigationMenu', () => {\n it('renders trigger correctly', () => {\n render(\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Item One</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink>Link One</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>,\n );\n\n expect(screen.getByText('Item One')).toBeInTheDocument();\n });\n\n it('shows content on click (or hover depending on implementation)', async () => {\n // Radix Navigation Menu usually works on hover for desktop, click for touch/mobile.\n // In JSDOM, we can simulate clicks.\n const user = userEvent.setup();\n render(\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Item One</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink>Link One</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>,\n );\n\n const trigger = screen.getByText('Item One');\n await user.click(trigger);\n\n expect(screen.getByText('Link One')).toBeVisible();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "pagination",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/pagination.tsx",
|
|
9
|
-
"content": "import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\n\nimport { ButtonProps, buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/lib/utils';\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n />\n);\nPagination.displayName = 'Pagination';\n\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />\n ),\n);\nPaginationContent.displayName = 'PaginationContent';\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn('', className)} {...props} />\n));\nPaginationItem.displayName = 'PaginationItem';\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, 'size'> &\n React.ComponentProps<'a'>;\n\nconst PaginationLink = ({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) => (\n <a\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? 'outline' : 'ghost',\n size,\n }),\n className,\n )}\n {...props}\n />\n);\nPaginationLink.displayName = 'PaginationLink';\n\nconst PaginationPrevious = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink aria-label=\"Go to previous page\" size=\"default\" className={cn('gap-1 pl-2.5', className)} {...props}>\n <ChevronLeft className=\"h-4 w-4\" />\n <span>Previous</span>\n </PaginationLink>\n);\nPaginationPrevious.displayName = 'PaginationPrevious';\n\nconst PaginationNext = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink aria-label=\"Go to next page\" size=\"default\" className={cn('gap-1 pr-2.5', className)} {...props}>\n <span>Next</span>\n <ChevronRight className=\"h-4 w-4\" />\n </PaginationLink>\n);\nPaginationNext.displayName = 'PaginationNext';\n\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n <span aria-hidden className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n);\nPaginationEllipsis.displayName = 'PaginationEllipsis';\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "pagination.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/pagination.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n} from './pagination';\n\ndescribe('Pagination', () => {\n it('renders correctly', () => {\n render(\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious href=\"#\" />\n </PaginationItem>\n <PaginationItem>\n <PaginationLink href=\"#\">1</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n <PaginationItem>\n <PaginationNext href=\"#\" />\n </PaginationItem>\n </PaginationContent>\n </Pagination>,\n );\n\n expect(screen.getByRole('navigation', { name: 'pagination' })).toBeInTheDocument();\n expect(screen.getByText('Previous')).toBeInTheDocument();\n expect(screen.getByText('1')).toBeInTheDocument();\n expect(screen.getByText('Next')).toBeInTheDocument();\n expect(screen.getByText('More pages')).toBeInTheDocument();\n });\n\n it('marks active page correctly', () => {\n render(\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationLink href=\"#\" isActive>\n 1\n </PaginationLink>\n </PaginationItem>\n </PaginationContent>\n </Pagination>,\n );\n\n const link = screen.getByText('1').closest('a');\n expect(link).toHaveAttribute('aria-current', 'page');\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "popover",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/popover.tsx",
|
|
9
|
-
"content": "import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "popover.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/popover.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport { Popover, PopoverContent, PopoverTrigger } from './popover';\n\ndescribe('Popover', () => {\n it('renders trigger correctly', () => {\n render(\n <Popover>\n <PopoverTrigger>Open</PopoverTrigger>\n <PopoverContent>Content</PopoverContent>\n </Popover>,\n );\n\n expect(screen.getByText('Open')).toBeInTheDocument();\n });\n\n it('opens content on click', async () => {\n const user = userEvent.setup();\n render(\n <Popover>\n <PopoverTrigger>Open</PopoverTrigger>\n <PopoverContent>Content</PopoverContent>\n </Popover>,\n );\n\n await user.click(screen.getByText('Open'));\n\n expect(screen.getByText('Content')).toBeVisible();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "progress",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/progress.tsx",
|
|
9
|
-
"content": "import * as ProgressPrimitive from '@radix-ui/react-progress';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn('relative h-2 w-full overflow-hidden rounded-full bg-primary/20', className)}\n value={value}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "progress.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/progress.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Progress } from './progress';\n\ndescribe('Progress', () => {\n it('renders correctly', () => {\n render(<Progress value={50} aria-label=\"progress-bar\" />);\n expect(screen.getByRole('progressbar')).toBeInTheDocument();\n expect(screen.getByRole('progressbar')).toHaveAttribute('aria-valuenow', '50');\n });\n\n it('renders correctly with no value', () => {\n render(<Progress aria-label=\"progress-bar\" />);\n expect(screen.getByRole('progressbar')).toBeInTheDocument();\n // When value is undefined, Radix UI might behave in specific ways, typically indeterminate or 0.\n // Our wrapper: transform: `translateX(-${100 - (value || 0)}%)` -> -100%\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "radio-group",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/radio-group.tsx",
|
|
9
|
-
"content": "import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return <RadioGroupPrimitive.Root className={cn('grid gap-2', className)} {...props} ref={ref} />;\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n 'aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-3.5 w-3.5 fill-primary\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "radio-group.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/radio-group.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport { RadioGroup, RadioGroupItem } from './radio-group';\n\ndescribe('RadioGroup', () => {\n it('renders correctly', () => {\n render(\n <RadioGroup defaultValue=\"option-one\">\n <RadioGroupItem value=\"option-one\" id=\"option-one\" aria-label=\"Option One\" />\n <RadioGroupItem value=\"option-two\" id=\"option-two\" aria-label=\"Option Two\" />\n </RadioGroup>,\n );\n\n expect(screen.getByRole('radio', { name: /Option One/i })).toBeInTheDocument();\n // Radix RadioGroup renders standard inputs visually hidden.\n // Testing library query by role 'radio' should find them.\n // However, since we didn't provide labels, we might need to rely on 'checked' state or IDs.\n\n const radio1 = screen.getByRole('radio', { checked: true });\n expect(radio1).toBeInTheDocument();\n expect(radio1).toHaveValue('option-one');\n });\n\n it('changes value on click', async () => {\n const user = userEvent.setup();\n render(\n <RadioGroup defaultValue=\"option-one\">\n <RadioGroupItem value=\"option-one\" />\n <RadioGroupItem value=\"option-two\" data-testid=\"radio-two\" />\n </RadioGroup>,\n );\n\n const radio2 = screen.getByTestId('radio-two');\n await user.click(radio2);\n\n expect(radio2).toBeChecked();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "resizable",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/resizable.tsx",
|
|
9
|
-
"content": "import { GripVertical } from 'lucide-react';\nimport * as React from 'react';\nimport { Group, Panel, Separator } from 'react-resizable-panels';\n\nimport { cn } from '@/lib/utils';\n\nconst ResizablePanelGroup = ({\n className,\n direction,\n ...props\n}: React.ComponentProps<typeof Group> & {\n direction: 'horizontal' | 'vertical';\n}) => (\n <Group\n orientation={direction}\n className={cn('flex h-full w-full data-[panel-group-direction=vertical]:flex-col', className)}\n {...props}\n />\n);\n\nconst ResizablePanel = Panel;\n\nconst ResizableHandle = ({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof Separator> & {\n withHandle?: boolean;\n}) => (\n <Separator\n className={cn(\n 'relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n <GripVertical className=\"h-2.5 w-2.5\" />\n </div>\n )}\n </Separator>\n);\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "resizable.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/resizable.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './resizable';\n\ndescribe('Resizable', () => {\n it('renders correctly', () => {\n // Basic render test\n render(\n <ResizablePanelGroup direction=\"horizontal\">\n <ResizablePanel defaultSize={50}>\n <div>One</div>\n </ResizablePanel>\n <ResizableHandle />\n <ResizablePanel defaultSize={50}>\n <div>Two</div>\n </ResizablePanel>\n </ResizablePanelGroup>,\n );\n\n expect(screen.getByText('One')).toBeInTheDocument();\n expect(screen.getByText('Two')).toBeInTheDocument();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "scroll-area",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/scroll-area.tsx",
|
|
9
|
-
"content": "import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">{children}</ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "scroll-area.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/scroll-area.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { ScrollArea, ScrollBar } from './scroll-area';\n\ndescribe('ScrollArea', () => {\n it('renders correctly', () => {\n render(\n <ScrollArea className=\"h-[200px] w-[350px]\">\n <div>Content</div>\n <ScrollBar />\n </ScrollArea>,\n );\n expect(screen.getByText('Content')).toBeInTheDocument();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "search",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/search.tsx",
|
|
9
|
-
"content": "'use client';\n\nimport { Button } from '@/components/ui/button';\nimport {\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/ui/command';\nimport { cn } from '@/lib/utils';\nimport { Search as SearchIcon } from 'lucide-react';\nimport * as React from 'react';\n\nexport interface SearchProps {\n children?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\nexport function Search({ children, open: customOpen, onOpenChange }: SearchProps) {\n const [open, setOpen] = React.useState(false);\n\n const isControlled = customOpen !== undefined;\n const isOpen = isControlled ? customOpen : open;\n\n const setIsOpen = React.useCallback(\n (value: boolean | ((prev: boolean) => boolean)) => {\n if (isControlled) {\n const nextValue = typeof value === 'function' ? value(isOpen) : value;\n onOpenChange?.(nextValue);\n } else {\n setOpen(value);\n }\n },\n [isControlled, isOpen, onOpenChange],\n );\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n setIsOpen((prev) => !prev);\n }\n };\n\n document.addEventListener('keydown', down);\n return () => document.removeEventListener('keydown', down);\n }, [setIsOpen]);\n\n return (\n <CommandDialog open={isOpen} onOpenChange={setIsOpen}>\n {children}\n </CommandDialog>\n );\n}\n\nexport interface SearchTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n placeholder?: string;\n variant?: 'default' | 'compact';\n}\n\nexport const SearchTrigger = React.forwardRef<HTMLButtonElement, SearchTriggerProps>(\n ({ className, placeholder = 'Search docs...', variant = 'default', ...props }, ref) => {\n return (\n <Button\n variant=\"outline\"\n className={cn(\n 'relative h-9 text-sm text-muted-foreground transition-all transition-colors',\n variant === 'default'\n ? 'w-full justify-start sm:pr-12 md:w-40 lg:w-64'\n : 'w-9 justify-center px-0 sm:w-24 sm:justify-start sm:px-3 sm:pr-12',\n className,\n )}\n ref={ref}\n {...props}\n >\n <span className=\"inline-flex items-center gap-2\">\n <SearchIcon className=\"h-4 w-4 shrink-0\" />\n {variant === 'default' && <span className=\"truncate\">{placeholder}</span>}\n </span>\n <kbd className=\"pointer-events-none absolute right-1.5 top-1.5 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 sm:flex\">\n <span className=\"text-xs\">⌘</span>K\n </kbd>\n </Button>\n );\n },\n);\nSearchTrigger.displayName = 'SearchTrigger';\n\nexport { CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "search.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/search.test.tsx",
|
|
9
|
-
"content": "import { fireEvent, render, screen } from '@testing-library/react';\nimport * as React from 'react';\nimport { describe, expect, it, vi } from 'vitest';\nimport { CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, Search, SearchTrigger } from './search';\n\n// Mock CommandDialog since it uses Radix Dialog which might need a portal\nvi.mock('@/components/ui/dialog', () => ({\n Dialog: ({ children, open }: { children: React.ReactNode; open: boolean }) => (open ? <div>{children}</div> : null),\n DialogContent: ({ children }: { children: React.ReactNode }) => <div>{children}</div>,\n DialogPortal: ({ children }: { children: React.ReactNode }) => <div>{children}</div>,\n DialogOverlay: () => null,\n}));\n\ndescribe('Search', () => {\n it('renders search trigger', () => {\n render(<SearchTrigger />);\n expect(screen.getByText('Search docs...')).toBeInTheDocument();\n });\n\n it('opens search dialog when trigger is clicked (controlled)', () => {\n const onOpenChange = vi.fn();\n render(\n <Search open={false} onOpenChange={onOpenChange}>\n <CommandInput placeholder=\"Search...\" />\n </Search>,\n );\n\n // The dialog should be closed initially\n expect(screen.queryByPlaceholderText('Search...')).not.toBeInTheDocument();\n });\n\n it('responds to keyboard shortcuts', () => {\n render(\n <Search>\n <CommandInput placeholder=\"Search...\" />\n <CommandList>\n <CommandItem>Result 1</CommandItem>\n </CommandList>\n </Search>,\n );\n\n // Simulate Cmd+K\n fireEvent.keyDown(document, { key: 'k', metaKey: true });\n\n // Check if dialog content is visible\n expect(screen.getByPlaceholderText('Search...')).toBeInTheDocument();\n });\n\n it('filters results correctly', () => {\n render(\n <Search open={true}>\n <CommandInput placeholder=\"Search...\" />\n <CommandList>\n <CommandEmpty>No results.</CommandEmpty>\n <CommandGroup heading=\"Components\">\n <SearchItem>Button</SearchItem>\n <SearchItem>Input</SearchItem>\n </CommandGroup>\n </CommandList>\n </Search>,\n );\n\n const input = screen.getByPlaceholderText('Search...');\n fireEvent.change(input, { target: { value: 'But' } });\n\n expect(screen.getByText('Button')).toBeInTheDocument();\n // cmdk removes non-matching items from the DOM\n expect(screen.queryByText('Input')).not.toBeInTheDocument();\n });\n});\n\n// Helper component for testing\nfunction SearchItem({ children }: { children: React.ReactNode }) {\n return <CommandItem>{children}</CommandItem>;\n}\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "select",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/select.tsx",
|
|
9
|
-
"content": "import * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', className)} {...props} />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "select.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/select.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './select';\n\ndescribe('Select', () => {\n it('renders correctly', () => {\n render(\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select an option\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"option1\">Option 1</SelectItem>\n <SelectItem value=\"option2\">Option 2</SelectItem>\n </SelectContent>\n </Select>,\n );\n expect(screen.getByText('Select an option')).toBeInTheDocument();\n });\n\n it('opens and selects an option', async () => {\n const user = userEvent.setup();\n render(\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select an option\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"option1\">Option 1</SelectItem>\n <SelectItem value=\"option2\">Option 2</SelectItem>\n </SelectContent>\n </Select>,\n );\n\n await user.click(screen.getByRole('combobox'));\n expect(screen.getByText('Option 1')).toBeVisible();\n\n await user.click(screen.getByText('Option 1'));\n expect(screen.getByText('Option 1')).toBeInTheDocument();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "separator",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/separator.tsx",
|
|
9
|
-
"content": "import * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className)}\n {...props}\n />\n));\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "separator.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/separator.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Separator } from './separator';\n\ndescribe('Separator', () => {\n it('renders correctly', () => {\n render(<Separator data-testid=\"separator\" />);\n expect(screen.getByTestId('separator')).toBeInTheDocument();\n expect(screen.getByTestId('separator')).toHaveClass('bg-border');\n });\n\n it('applies orientation classes', () => {\n render(<Separator orientation=\"vertical\" data-testid=\"separator-vertical\" />);\n expect(screen.getByTestId('separator-vertical')).toHaveClass('h-full w-[1px]');\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
package/dist/registry/sheet.json
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "sheet",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/sheet.tsx",
|
|
9
|
-
"content": "import * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n },\n);\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps>(\n ({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n ),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-2 text-center sm:text-left', className)} {...props} />\n);\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title ref={ref} className={cn('text-lg font-semibold text-foreground', className)} {...props} />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n};\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "sheet.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/sheet.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it, vi } from 'vitest';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger } from './sheet';\n\n// Mock ResizeObserver for Radix UI\nglobal.ResizeObserver = vi.fn().mockImplementation(() => ({\n observe: vi.fn(),\n unobserve: vi.fn(),\n disconnect: vi.fn(),\n}));\n\ndescribe('Sheet', () => {\n it('renders trigger correctly', () => {\n render(\n <Sheet>\n <SheetTrigger>Open Sheet</SheetTrigger>\n <SheetContent>\n <SheetHeader>\n <SheetTitle>Title</SheetTitle>\n <SheetDescription>Description</SheetDescription>\n </SheetHeader>\n </SheetContent>\n </Sheet>,\n );\n\n expect(screen.getByText('Open Sheet')).toBeInTheDocument();\n });\n\n it('opens content on click', async () => {\n const user = userEvent.setup();\n render(\n <Sheet>\n <SheetTrigger>Open Sheet</SheetTrigger>\n <SheetContent>\n <SheetHeader>\n <SheetTitle>Title</SheetTitle>\n <SheetDescription>Description</SheetDescription>\n </SheetHeader>\n <div>Sheet Content</div>\n </SheetContent>\n </Sheet>,\n );\n\n await user.click(screen.getByText('Open Sheet'));\n expect(screen.getByText('Sheet Content')).toBeVisible();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "skeleton",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/skeleton.tsx",
|
|
9
|
-
"content": "import { cn } from '@/lib/utils';\nimport * as React from 'react';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('animate-pulse rounded-md bg-primary/10', className)} {...props} />;\n}\n\nexport { Skeleton };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "skeleton.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/skeleton.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Skeleton } from './skeleton';\n\ndescribe('Skeleton', () => {\n it('renders correctly', () => {\n render(<Skeleton data-testid=\"skeleton\" className=\"h-4 w-[250px]\" />);\n const skeleton = screen.getByTestId('skeleton');\n expect(skeleton).toBeInTheDocument();\n expect(skeleton).toHaveClass('animate-pulse');\n expect(skeleton).toHaveClass('h-4');\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "slider",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/slider.tsx",
|
|
9
|
-
"content": "import * as SliderPrimitive from '@radix-ui/react-slider';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn('relative flex w-full touch-none select-none items-center', className)}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n));\nSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport { Slider };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "slider.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/slider.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Slider } from './slider';\n\ndescribe('Slider', () => {\n it('renders correctly', () => {\n // Radix Slider uses ResizeObserver\n global.ResizeObserver = class ResizeObserver {\n observe() {}\n unobserve() {}\n disconnect() {}\n };\n\n render(<Slider defaultValue={[50]} max={100} step={1} />);\n expect(screen.getByRole('slider')).toBeInTheDocument();\n expect(screen.getByRole('slider')).toHaveAttribute('aria-valuenow', '50');\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "sonner",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/sonner.tsx",
|
|
9
|
-
"content": "import { useTheme } from 'next-themes';\nimport * as React from 'react';\nimport { Toaster as Sonner } from 'sonner';\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "sonner.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/sonner.test.tsx",
|
|
9
|
-
"content": "import { render } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Toaster } from './sonner';\n\ndescribe('Sonner Toaster', () => {\n it('renders correctly', () => {\n const { container } = render(<Toaster />);\n // Sonner renders a list/container. Since it's a portal or fixed, we check presence.\n // However, without triggering a toast, it might be empty or hidden.\n // We check if the container renders without crashing.\n expect(container).toBeInTheDocument();\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "switch",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/switch.tsx",
|
|
9
|
-
"content": "import * as SwitchPrimitives from '@radix-ui/react-switch';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n 'peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input',\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n 'pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "switch.test",
|
|
3
|
-
"type": "registry:ui",
|
|
4
|
-
"dependencies": [],
|
|
5
|
-
"registryDependencies": [],
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "ui/switch.test.tsx",
|
|
9
|
-
"content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport { Switch } from './switch';\n\ndescribe('Switch', () => {\n it('renders correctly', () => {\n render(<Switch data-testid=\"switch\" />);\n expect(screen.getByRole('switch')).toBeInTheDocument();\n });\n\n it('toggles state', async () => {\n const user = userEvent.setup();\n render(<Switch />);\n\n const switchEl = screen.getByRole('switch');\n expect(switchEl).toHaveAttribute('aria-checked', 'false');\n\n await user.click(switchEl);\n expect(switchEl).toHaveAttribute('aria-checked', 'true');\n });\n});\n",
|
|
10
|
-
"type": "registry:ui"
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
}
|