@gv-tech/design-system 0.9.0 → 1.1.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/.github/workflows/ci.yml +3 -12
- package/.github/workflows/release-please.yml +2 -2
- package/.vscode/mcp.json +8 -0
- package/CHANGELOG.md +32 -0
- package/components.json +20 -0
- package/dist/App.d.ts +3 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/components/docs/CodeBlock.d.ts +8 -0
- package/dist/components/docs/CodeBlock.d.ts.map +1 -0
- package/dist/components/docs/ComponentShowcase.d.ts +17 -0
- package/dist/components/docs/ComponentShowcase.d.ts.map +1 -0
- package/dist/components/docs/Footer.d.ts +2 -0
- package/dist/components/docs/Footer.d.ts.map +1 -0
- package/dist/components/docs/Sidebar.d.ts +14 -0
- package/dist/components/docs/Sidebar.d.ts.map +1 -0
- package/dist/components/docs/ThemeToggle.d.ts +2 -0
- package/dist/components/docs/ThemeToggle.d.ts.map +1 -0
- package/dist/components/docs/index.d.ts +6 -0
- package/dist/components/docs/index.d.ts.map +1 -0
- package/dist/components/ui/accordion.d.ts +8 -0
- package/dist/components/ui/accordion.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +21 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert.d.ts +9 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/aspect-ratio.d.ts +4 -0
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/components/ui/avatar.d.ts +7 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +20 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/card.d.ts +9 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/carousel.d.ts +19 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/chart.d.ts +63 -0
- package/dist/components/ui/chart.d.ts.map +1 -0
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/collapsible.d.ts +6 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/command.d.ts +81 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/context-menu.d.ts +28 -0
- package/dist/components/ui/context-menu.d.ts.map +1 -0
- package/dist/components/ui/dialog.d.ts +20 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/drawer.d.ts +23 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/form.d.ts +24 -0
- package/dist/components/ui/form.d.ts.map +1 -0
- package/dist/components/ui/hover-card.d.ts +7 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +4 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/label.d.ts +6 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/menubar.d.ts +29 -0
- package/dist/components/ui/menubar.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +13 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/pagination.d.ts +29 -0
- package/dist/components/ui/pagination.d.ts.map +1 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/progress.d.ts +5 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/radio-group.d.ts +6 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/resizable.d.ts +11 -0
- package/dist/components/ui/resizable.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/select.d.ts +14 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/separator.d.ts +5 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/sheet.d.ts +26 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/skeleton.d.ts +4 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/slider.d.ts +5 -0
- package/dist/components/ui/slider.d.ts.map +1 -0
- package/dist/components/ui/sonner.d.ts +6 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/table.d.ts +11 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/tabs.d.ts +8 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/textarea.d.ts +4 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/toast.d.ts +16 -0
- package/dist/components/ui/toast.d.ts.map +1 -0
- package/dist/components/ui/toaster.d.ts +2 -0
- package/dist/components/ui/toaster.d.ts.map +1 -0
- package/dist/components/ui/toggle-group.d.ts +13 -0
- package/dist/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/components/ui/toggle.d.ts +13 -0
- package/dist/components/ui/toggle.d.ts.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/hooks/use-toast.d.ts +45 -0
- package/dist/hooks/use-toast.d.ts.map +1 -0
- package/dist/index.cjs.js +8 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +2275 -0
- package/dist/index.es.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/pages/GettingStarted.d.ts +3 -0
- package/dist/pages/GettingStarted.d.ts.map +1 -0
- package/dist/pages/components/AccordionDocs.d.ts +2 -0
- package/dist/pages/components/AccordionDocs.d.ts.map +1 -0
- package/dist/pages/components/AlertDialogDocs.d.ts +2 -0
- package/dist/pages/components/AlertDialogDocs.d.ts.map +1 -0
- package/dist/pages/components/AlertDocs.d.ts +2 -0
- package/dist/pages/components/AlertDocs.d.ts.map +1 -0
- package/dist/pages/components/AspectRatioDocs.d.ts +2 -0
- package/dist/pages/components/AspectRatioDocs.d.ts.map +1 -0
- package/dist/pages/components/AvatarDocs.d.ts +2 -0
- package/dist/pages/components/AvatarDocs.d.ts.map +1 -0
- package/dist/pages/components/BadgeDocs.d.ts +2 -0
- package/dist/pages/components/BadgeDocs.d.ts.map +1 -0
- package/dist/pages/components/BreadcrumbDocs.d.ts +2 -0
- package/dist/pages/components/BreadcrumbDocs.d.ts.map +1 -0
- package/dist/pages/components/ButtonDocs.d.ts +2 -0
- package/dist/pages/components/ButtonDocs.d.ts.map +1 -0
- package/dist/pages/components/CalendarDocs.d.ts +2 -0
- package/dist/pages/components/CalendarDocs.d.ts.map +1 -0
- package/dist/pages/components/CardDocs.d.ts +2 -0
- package/dist/pages/components/CardDocs.d.ts.map +1 -0
- package/dist/pages/components/CarouselDocs.d.ts +2 -0
- package/dist/pages/components/CarouselDocs.d.ts.map +1 -0
- package/dist/pages/components/ChartDocs.d.ts +2 -0
- package/dist/pages/components/ChartDocs.d.ts.map +1 -0
- package/dist/pages/components/CheckboxDocs.d.ts +2 -0
- package/dist/pages/components/CheckboxDocs.d.ts.map +1 -0
- package/dist/pages/components/CollapsibleDocs.d.ts +2 -0
- package/dist/pages/components/CollapsibleDocs.d.ts.map +1 -0
- package/dist/pages/components/CommandDocs.d.ts +2 -0
- package/dist/pages/components/CommandDocs.d.ts.map +1 -0
- package/dist/pages/components/ContextMenuDocs.d.ts +2 -0
- package/dist/pages/components/ContextMenuDocs.d.ts.map +1 -0
- package/dist/pages/components/DialogDocs.d.ts +2 -0
- package/dist/pages/components/DialogDocs.d.ts.map +1 -0
- package/dist/pages/components/DrawerDocs.d.ts +2 -0
- package/dist/pages/components/DrawerDocs.d.ts.map +1 -0
- package/dist/pages/components/DropdownMenuDocs.d.ts +2 -0
- package/dist/pages/components/DropdownMenuDocs.d.ts.map +1 -0
- package/dist/pages/components/FormDocs.d.ts +2 -0
- package/dist/pages/components/FormDocs.d.ts.map +1 -0
- package/dist/pages/components/HoverCardDocs.d.ts +2 -0
- package/dist/pages/components/HoverCardDocs.d.ts.map +1 -0
- package/dist/pages/components/InputDocs.d.ts +2 -0
- package/dist/pages/components/InputDocs.d.ts.map +1 -0
- package/dist/pages/components/LabelDocs.d.ts +2 -0
- package/dist/pages/components/LabelDocs.d.ts.map +1 -0
- package/dist/pages/components/MenubarDocs.d.ts +2 -0
- package/dist/pages/components/MenubarDocs.d.ts.map +1 -0
- package/dist/pages/components/NavigationMenuDocs.d.ts +2 -0
- package/dist/pages/components/NavigationMenuDocs.d.ts.map +1 -0
- package/dist/pages/components/PaginationDocs.d.ts +2 -0
- package/dist/pages/components/PaginationDocs.d.ts.map +1 -0
- package/dist/pages/components/PopoverDocs.d.ts +2 -0
- package/dist/pages/components/PopoverDocs.d.ts.map +1 -0
- package/dist/pages/components/ProgressDocs.d.ts +2 -0
- package/dist/pages/components/ProgressDocs.d.ts.map +1 -0
- package/dist/pages/components/RadioGroupDocs.d.ts +2 -0
- package/dist/pages/components/RadioGroupDocs.d.ts.map +1 -0
- package/dist/pages/components/ResizableDocs.d.ts +2 -0
- package/dist/pages/components/ResizableDocs.d.ts.map +1 -0
- package/dist/pages/components/ScrollAreaDocs.d.ts +2 -0
- package/dist/pages/components/ScrollAreaDocs.d.ts.map +1 -0
- package/dist/pages/components/SelectDocs.d.ts +2 -0
- package/dist/pages/components/SelectDocs.d.ts.map +1 -0
- package/dist/pages/components/SeparatorDocs.d.ts +2 -0
- package/dist/pages/components/SeparatorDocs.d.ts.map +1 -0
- package/dist/pages/components/SheetDocs.d.ts +2 -0
- package/dist/pages/components/SheetDocs.d.ts.map +1 -0
- package/dist/pages/components/SkeletonDocs.d.ts +2 -0
- package/dist/pages/components/SkeletonDocs.d.ts.map +1 -0
- package/dist/pages/components/SliderDocs.d.ts +2 -0
- package/dist/pages/components/SliderDocs.d.ts.map +1 -0
- package/dist/pages/components/SonnerDocs.d.ts +2 -0
- package/dist/pages/components/SonnerDocs.d.ts.map +1 -0
- package/dist/pages/components/SwitchDocs.d.ts +2 -0
- package/dist/pages/components/SwitchDocs.d.ts.map +1 -0
- package/dist/pages/components/TableDocs.d.ts +2 -0
- package/dist/pages/components/TableDocs.d.ts.map +1 -0
- package/dist/pages/components/TabsDocs.d.ts +2 -0
- package/dist/pages/components/TabsDocs.d.ts.map +1 -0
- package/dist/pages/components/TextareaDocs.d.ts +2 -0
- package/dist/pages/components/TextareaDocs.d.ts.map +1 -0
- package/dist/pages/components/ToastDocs.d.ts +2 -0
- package/dist/pages/components/ToastDocs.d.ts.map +1 -0
- package/dist/pages/components/ToggleDocs.d.ts +2 -0
- package/dist/pages/components/ToggleDocs.d.ts.map +1 -0
- package/dist/pages/components/ToggleGroupDocs.d.ts +2 -0
- package/dist/pages/components/ToggleGroupDocs.d.ts.map +1 -0
- package/dist/pages/components/TooltipDocs.d.ts +2 -0
- package/dist/pages/components/TooltipDocs.d.ts.map +1 -0
- package/dist/pages/index.d.ts +47 -0
- package/dist/pages/index.d.ts.map +1 -0
- package/dist/registry/accordion.json +13 -0
- package/dist/registry/alert-dialog.json +13 -0
- package/dist/registry/alert.json +13 -0
- package/dist/registry/aspect-ratio.json +13 -0
- package/dist/registry/avatar.json +13 -0
- package/dist/registry/badge.json +13 -0
- package/dist/registry/breadcrumb.json +13 -0
- package/dist/registry/button.json +13 -0
- package/dist/registry/calendar.json +13 -0
- package/dist/registry/card.json +13 -0
- package/dist/registry/carousel.json +13 -0
- package/dist/registry/chart.json +13 -0
- package/dist/registry/checkbox.json +13 -0
- package/dist/registry/collapsible.json +13 -0
- package/dist/registry/command.json +13 -0
- package/dist/registry/context-menu.json +13 -0
- package/dist/registry/dialog.json +13 -0
- package/dist/registry/drawer.json +13 -0
- package/dist/registry/dropdown-menu.json +13 -0
- package/dist/registry/form.json +13 -0
- package/dist/registry/hover-card.json +13 -0
- package/dist/registry/index.json +324 -0
- package/dist/registry/input.json +13 -0
- package/dist/registry/label.json +13 -0
- package/dist/registry/menubar.json +13 -0
- package/dist/registry/navigation-menu.json +13 -0
- package/dist/registry/pagination.json +13 -0
- package/dist/registry/popover.json +13 -0
- package/dist/registry/progress.json +13 -0
- package/dist/registry/radio-group.json +13 -0
- package/dist/registry/resizable.json +13 -0
- package/dist/registry/scroll-area.json +13 -0
- package/dist/registry/select.json +13 -0
- package/dist/registry/separator.json +13 -0
- package/dist/registry/sheet.json +13 -0
- package/dist/registry/skeleton.json +13 -0
- package/dist/registry/slider.json +13 -0
- package/dist/registry/sonner.json +13 -0
- package/dist/registry/switch.json +13 -0
- package/dist/registry/table.json +13 -0
- package/dist/registry/tabs.json +13 -0
- package/dist/registry/textarea.json +13 -0
- package/dist/registry/toast.json +13 -0
- package/dist/registry/toaster.json +13 -0
- package/dist/registry/toggle-group.json +13 -0
- package/dist/registry/toggle.json +13 -0
- package/dist/registry/tooltip.json +13 -0
- package/dist/vendor-CMSUBoIg.js +73 -0
- package/dist/vendor-CMSUBoIg.js.map +1 -0
- package/dist/vendor-ZhQmrf1h.mjs +25737 -0
- package/dist/vendor-ZhQmrf1h.mjs.map +1 -0
- package/eslint.config.mjs +34 -43
- package/index.html +13 -0
- package/package.json +75 -52
- package/postcss.config.mjs +5 -0
- package/scripts/build-registry.ts +47 -0
- package/scripts/import-all-shadcn.ts +68 -0
- package/scripts/validate.js +0 -2
- package/src/App.tsx +211 -0
- package/src/components/docs/CodeBlock.tsx +34 -0
- package/src/components/docs/ComponentShowcase.tsx +68 -0
- package/src/components/docs/Footer.tsx +117 -0
- package/src/components/docs/Sidebar.tsx +189 -0
- package/src/components/docs/ThemeToggle.tsx +19 -0
- package/src/components/docs/index.ts +5 -0
- package/src/components/ui/accordion.tsx +51 -0
- package/src/components/ui/alert-dialog.tsx +104 -0
- package/src/components/ui/alert.tsx +43 -0
- package/src/components/ui/aspect-ratio.tsx +5 -0
- package/src/components/ui/avatar.tsx +38 -0
- package/src/components/ui/badge.tsx +29 -0
- package/src/components/ui/breadcrumb.tsx +90 -0
- package/src/components/ui/button.tsx +46 -0
- package/src/components/ui/calendar.tsx +156 -0
- package/src/components/ui/card.tsx +43 -0
- package/src/components/ui/carousel.tsx +224 -0
- package/src/components/ui/chart.tsx +307 -0
- package/src/components/ui/checkbox.tsx +26 -0
- package/src/components/ui/collapsible.tsx +9 -0
- package/src/components/ui/command.tsx +132 -0
- package/src/components/ui/context-menu.tsx +178 -0
- package/src/components/ui/dialog.tsx +95 -0
- package/src/components/ui/drawer.tsx +87 -0
- package/src/components/ui/dropdown-menu.tsx +180 -0
- package/src/components/ui/form.tsx +149 -0
- package/src/components/ui/hover-card.tsx +27 -0
- package/src/components/ui/input.tsx +22 -0
- package/src/components/ui/label.tsx +17 -0
- package/src/components/ui/menubar.tsx +217 -0
- package/src/components/ui/navigation-menu.tsx +120 -0
- package/src/components/ui/pagination.tsx +81 -0
- package/src/components/ui/popover.tsx +31 -0
- package/src/components/ui/progress.tsx +23 -0
- package/src/components/ui/radio-group.tsx +36 -0
- package/src/components/ui/resizable.tsx +45 -0
- package/src/components/ui/scroll-area.tsx +38 -0
- package/src/components/ui/select.tsx +142 -0
- package/src/components/ui/separator.tsx +20 -0
- package/src/components/ui/sheet.tsx +106 -0
- package/src/components/ui/skeleton.tsx +8 -0
- package/src/components/ui/slider.tsx +23 -0
- package/src/components/ui/sonner.tsx +28 -0
- package/src/components/ui/switch.tsx +27 -0
- package/src/components/ui/table.tsx +76 -0
- package/src/components/ui/tabs.tsx +53 -0
- package/src/components/ui/textarea.tsx +21 -0
- package/src/components/ui/toast.tsx +111 -0
- package/src/components/ui/toaster.tsx +24 -0
- package/src/components/ui/toggle-group.tsx +51 -0
- package/src/components/ui/toggle.tsx +37 -0
- package/src/components/ui/tooltip.tsx +30 -0
- package/src/globals.css +118 -0
- package/src/hooks/use-toast.ts +189 -0
- package/src/index.ts +50 -11
- package/src/lib/utils.ts +6 -0
- package/src/main.tsx +10 -0
- package/src/pages/GettingStarted.tsx +251 -0
- package/src/pages/components/AccordionDocs.tsx +55 -0
- package/src/pages/components/AlertDialogDocs.tsx +63 -0
- package/src/pages/components/AlertDocs.tsx +45 -0
- package/src/pages/components/AspectRatioDocs.tsx +64 -0
- package/src/pages/components/AvatarDocs.tsx +34 -0
- package/src/pages/components/BadgeDocs.tsx +36 -0
- package/src/pages/components/BreadcrumbDocs.tsx +54 -0
- package/src/pages/components/ButtonDocs.tsx +77 -0
- package/src/pages/components/CalendarDocs.tsx +29 -0
- package/src/pages/components/CardDocs.tsx +81 -0
- package/src/pages/components/CarouselDocs.tsx +132 -0
- package/src/pages/components/ChartDocs.tsx +115 -0
- package/src/pages/components/CheckboxDocs.tsx +49 -0
- package/src/pages/components/CollapsibleDocs.tsx +52 -0
- package/src/pages/components/CommandDocs.tsx +100 -0
- package/src/pages/components/ContextMenuDocs.tsx +93 -0
- package/src/pages/components/DialogDocs.tsx +80 -0
- package/src/pages/components/DrawerDocs.tsx +79 -0
- package/src/pages/components/DropdownMenuDocs.tsx +51 -0
- package/src/pages/components/FormDocs.tsx +84 -0
- package/src/pages/components/HoverCardDocs.tsx +59 -0
- package/src/pages/components/InputDocs.tsx +68 -0
- package/src/pages/components/LabelDocs.tsx +23 -0
- package/src/pages/components/MenubarDocs.tsx +117 -0
- package/src/pages/components/NavigationMenuDocs.tsx +156 -0
- package/src/pages/components/PaginationDocs.tsx +68 -0
- package/src/pages/components/PopoverDocs.tsx +61 -0
- package/src/pages/components/ProgressDocs.tsx +34 -0
- package/src/pages/components/RadioGroupDocs.tsx +38 -0
- package/src/pages/components/ResizableDocs.tsx +110 -0
- package/src/pages/components/ScrollAreaDocs.tsx +89 -0
- package/src/pages/components/SelectDocs.tsx +87 -0
- package/src/pages/components/SeparatorDocs.tsx +44 -0
- package/src/pages/components/SheetDocs.tsx +104 -0
- package/src/pages/components/SkeletonDocs.tsx +48 -0
- package/src/pages/components/SliderDocs.tsx +24 -0
- package/src/pages/components/SonnerDocs.tsx +89 -0
- package/src/pages/components/SwitchDocs.tsx +31 -0
- package/src/pages/components/TableDocs.tsx +64 -0
- package/src/pages/components/TabsDocs.tsx +111 -0
- package/src/pages/components/TextareaDocs.tsx +54 -0
- package/src/pages/components/ToastDocs.tsx +102 -0
- package/src/pages/components/ToggleDocs.tsx +59 -0
- package/src/pages/components/ToggleGroupDocs.tsx +93 -0
- package/src/pages/components/TooltipDocs.tsx +38 -0
- package/src/pages/index.ts +49 -0
- package/tsconfig.json +8 -4
- package/tsconfig.node.json +2 -1
- package/vite.config.ts +30 -16
- package/wrangler.toml +22 -0
- package/.storybook/.preview-head.html +0 -1
- package/.storybook/main.ts +0 -38
- package/.storybook/preview.tsx +0 -30
- package/dist/index.js +0 -647
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -1053
- package/dist/index.mjs.map +0 -1
- package/dist/vendor-DXgJBoQh.mjs +0 -265
- package/dist/vendor-DXgJBoQh.mjs.map +0 -1
- package/dist/vendor-nZSsnGb7.js +0 -7
- package/dist/vendor-nZSsnGb7.js.map +0 -1
- package/src/Avatar.stories.tsx +0 -67
- package/src/Avatar.tsx +0 -174
- package/src/Badge.stories.tsx +0 -87
- package/src/Badge.tsx +0 -76
- package/src/Button.stories.tsx +0 -244
- package/src/Button.tsx +0 -384
- package/src/Icon.stories.tsx +0 -101
- package/src/Icon.tsx +0 -64
- package/src/Intro.stories.tsx +0 -20
- package/src/Link.stories.tsx +0 -69
- package/src/Link.tsx +0 -252
- package/src/StoryLinkWrapper.d.ts +0 -1
- package/src/StoryLinkWrapper.tsx +0 -33
- package/src/__tests__/Avatar.test.tsx +0 -28
- package/src/__tests__/Badge.test.tsx +0 -25
- package/src/__tests__/Button.test.tsx +0 -38
- package/src/__tests__/Icon.test.tsx +0 -26
- package/src/__tests__/Link.test.tsx +0 -31
- package/src/mdx.d.ts +0 -5
- package/src/setupTests.ts +0 -1
- package/src/shared/animation.d.ts +0 -18
- package/src/shared/animation.js +0 -60
- package/src/shared/global.d.ts +0 -12
- package/src/shared/global.js +0 -120
- package/src/shared/icons.d.ts +0 -34
- package/src/shared/icons.js +0 -282
- package/src/shared/styles.d.ts +0 -86
- package/src/shared/styles.js +0 -98
- package/src/test-utils/axe.ts +0 -25
- package/src/types.ts +0 -316
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Button } from '@/components/ui/button';
|
|
3
|
+
import { ChevronRight, Loader2, Mail } from 'lucide-react';
|
|
4
|
+
|
|
5
|
+
export function ButtonDocs() {
|
|
6
|
+
return (
|
|
7
|
+
<ComponentSection title="Button" description="Displays a button or a component that looks like a button.">
|
|
8
|
+
<ComponentShowcase
|
|
9
|
+
title="Variants"
|
|
10
|
+
description="The button comes in 6 different variants."
|
|
11
|
+
code={`<Button variant="default">Default</Button>
|
|
12
|
+
<Button variant="secondary">Secondary</Button>
|
|
13
|
+
<Button variant="destructive">Destructive</Button>
|
|
14
|
+
<Button variant="outline">Outline</Button>
|
|
15
|
+
<Button variant="ghost">Ghost</Button>
|
|
16
|
+
<Button variant="link">Link</Button>`}
|
|
17
|
+
>
|
|
18
|
+
<Button variant="default">Default</Button>
|
|
19
|
+
<Button variant="secondary">Secondary</Button>
|
|
20
|
+
<Button variant="destructive">Destructive</Button>
|
|
21
|
+
<Button variant="outline">Outline</Button>
|
|
22
|
+
<Button variant="ghost">Ghost</Button>
|
|
23
|
+
<Button variant="link">Link</Button>
|
|
24
|
+
</ComponentShowcase>
|
|
25
|
+
|
|
26
|
+
<ComponentShowcase
|
|
27
|
+
title="Sizes"
|
|
28
|
+
description="Buttons come in default, small, large, and icon sizes."
|
|
29
|
+
code={`<Button size="default">Default</Button>
|
|
30
|
+
<Button size="sm">Small</Button>
|
|
31
|
+
<Button size="lg">Large</Button>
|
|
32
|
+
<Button size="icon"><ChevronRight className="h-4 w-4" /></Button>`}
|
|
33
|
+
>
|
|
34
|
+
<Button size="default">Default</Button>
|
|
35
|
+
<Button size="sm">Small</Button>
|
|
36
|
+
<Button size="lg">Large</Button>
|
|
37
|
+
<Button size="icon">
|
|
38
|
+
<ChevronRight className="h-4 w-4" />
|
|
39
|
+
</Button>
|
|
40
|
+
</ComponentShowcase>
|
|
41
|
+
|
|
42
|
+
<ComponentShowcase
|
|
43
|
+
title="With Icon"
|
|
44
|
+
description="You can add icons to buttons for additional context."
|
|
45
|
+
code={`<Button>
|
|
46
|
+
<Mail className="mr-2 h-4 w-4" /> Login with Email
|
|
47
|
+
</Button>`}
|
|
48
|
+
>
|
|
49
|
+
<Button>
|
|
50
|
+
<Mail className="mr-2 h-4 w-4" /> Login with Email
|
|
51
|
+
</Button>
|
|
52
|
+
</ComponentShowcase>
|
|
53
|
+
|
|
54
|
+
<ComponentShowcase
|
|
55
|
+
title="Loading State"
|
|
56
|
+
description="Use the disabled attribute with a spinner for loading states."
|
|
57
|
+
code={`<Button disabled>
|
|
58
|
+
<Loader2 className="mr-2 h-4 w-4 animate-spin" />
|
|
59
|
+
Please wait
|
|
60
|
+
</Button>`}
|
|
61
|
+
>
|
|
62
|
+
<Button disabled>
|
|
63
|
+
<Loader2 className="mr-2 h-4 w-4 animate-spin" />
|
|
64
|
+
Please wait
|
|
65
|
+
</Button>
|
|
66
|
+
</ComponentShowcase>
|
|
67
|
+
|
|
68
|
+
<ComponentShowcase
|
|
69
|
+
title="Disabled"
|
|
70
|
+
description="Buttons can be disabled to prevent interaction."
|
|
71
|
+
code={`<Button disabled>Disabled</Button>`}
|
|
72
|
+
>
|
|
73
|
+
<Button disabled>Disabled</Button>
|
|
74
|
+
</ComponentShowcase>
|
|
75
|
+
</ComponentSection>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Calendar } from '@/components/ui/calendar';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
|
|
5
|
+
export function CalendarDocs() {
|
|
6
|
+
const [date, setDate] = React.useState<Date | undefined>(new Date());
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<ComponentSection
|
|
10
|
+
title="Calendar"
|
|
11
|
+
description="A date picker component with support for single and range selection."
|
|
12
|
+
>
|
|
13
|
+
<ComponentShowcase
|
|
14
|
+
title="Default"
|
|
15
|
+
description="A basic calendar for date selection."
|
|
16
|
+
code={`const [date, setDate] = React.useState<Date | undefined>(new Date());
|
|
17
|
+
|
|
18
|
+
<Calendar
|
|
19
|
+
mode="single"
|
|
20
|
+
selected={date}
|
|
21
|
+
onSelect={setDate}
|
|
22
|
+
className="rounded-md border"
|
|
23
|
+
/>`}
|
|
24
|
+
>
|
|
25
|
+
<Calendar mode="single" selected={date} onSelect={setDate} className="rounded-md border" />
|
|
26
|
+
</ComponentShowcase>
|
|
27
|
+
</ComponentSection>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Button } from '@/components/ui/button';
|
|
3
|
+
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card';
|
|
4
|
+
import { Input } from '@/components/ui/input';
|
|
5
|
+
import { Label } from '@/components/ui/label';
|
|
6
|
+
|
|
7
|
+
export function CardDocs() {
|
|
8
|
+
return (
|
|
9
|
+
<ComponentSection title="Card" description="Displays a card with header, content, and footer sections.">
|
|
10
|
+
<ComponentShowcase
|
|
11
|
+
title="Basic Card"
|
|
12
|
+
description="A simple card with header and content."
|
|
13
|
+
code={`<Card className="w-[350px]">
|
|
14
|
+
<CardHeader>
|
|
15
|
+
<CardTitle>Card Title</CardTitle>
|
|
16
|
+
<CardDescription>Card Description</CardDescription>
|
|
17
|
+
</CardHeader>
|
|
18
|
+
<CardContent>
|
|
19
|
+
<p>Card Content goes here.</p>
|
|
20
|
+
</CardContent>
|
|
21
|
+
</Card>`}
|
|
22
|
+
>
|
|
23
|
+
<Card className="w-[350px]">
|
|
24
|
+
<CardHeader>
|
|
25
|
+
<CardTitle>Card Title</CardTitle>
|
|
26
|
+
<CardDescription>Card Description</CardDescription>
|
|
27
|
+
</CardHeader>
|
|
28
|
+
<CardContent>
|
|
29
|
+
<p>Card Content goes here.</p>
|
|
30
|
+
</CardContent>
|
|
31
|
+
</Card>
|
|
32
|
+
</ComponentShowcase>
|
|
33
|
+
|
|
34
|
+
<ComponentShowcase
|
|
35
|
+
title="Card with Footer"
|
|
36
|
+
description="Cards can include a footer for actions."
|
|
37
|
+
code={`<Card className="w-[350px]">
|
|
38
|
+
<CardHeader>
|
|
39
|
+
<CardTitle>Create Project</CardTitle>
|
|
40
|
+
<CardDescription>Deploy your new project in one-click.</CardDescription>
|
|
41
|
+
</CardHeader>
|
|
42
|
+
<CardContent>
|
|
43
|
+
<form>
|
|
44
|
+
<div className="grid w-full items-center gap-4">
|
|
45
|
+
<div className="flex flex-col space-y-1.5">
|
|
46
|
+
<Label htmlFor="name">Name</Label>
|
|
47
|
+
<Input id="name" placeholder="Name of your project" />
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</form>
|
|
51
|
+
</CardContent>
|
|
52
|
+
<CardFooter className="flex justify-between">
|
|
53
|
+
<Button variant="outline">Cancel</Button>
|
|
54
|
+
<Button>Deploy</Button>
|
|
55
|
+
</CardFooter>
|
|
56
|
+
</Card>`}
|
|
57
|
+
>
|
|
58
|
+
<Card className="w-[350px]">
|
|
59
|
+
<CardHeader>
|
|
60
|
+
<CardTitle>Create Project</CardTitle>
|
|
61
|
+
<CardDescription>Deploy your new project in one-click.</CardDescription>
|
|
62
|
+
</CardHeader>
|
|
63
|
+
<CardContent>
|
|
64
|
+
<form>
|
|
65
|
+
<div className="grid w-full items-center gap-4">
|
|
66
|
+
<div className="flex flex-col space-y-1.5">
|
|
67
|
+
<Label htmlFor="name">Name</Label>
|
|
68
|
+
<Input id="name" placeholder="Name of your project" />
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</form>
|
|
72
|
+
</CardContent>
|
|
73
|
+
<CardFooter className="flex justify-between">
|
|
74
|
+
<Button variant="outline">Cancel</Button>
|
|
75
|
+
<Button>Deploy</Button>
|
|
76
|
+
</CardFooter>
|
|
77
|
+
</Card>
|
|
78
|
+
</ComponentShowcase>
|
|
79
|
+
</ComponentSection>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Card, CardContent } from '@/components/ui/card';
|
|
3
|
+
import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from '@/components/ui/carousel';
|
|
4
|
+
|
|
5
|
+
export function CarouselDocs() {
|
|
6
|
+
return (
|
|
7
|
+
<ComponentSection
|
|
8
|
+
title="Carousel"
|
|
9
|
+
description="A carousel with motion and swipe gestures built on top of Embla Carousel."
|
|
10
|
+
>
|
|
11
|
+
<ComponentShowcase
|
|
12
|
+
title="Default"
|
|
13
|
+
description="A basic carousel with numbered cards."
|
|
14
|
+
code={`<Carousel className="w-full max-w-xs">
|
|
15
|
+
<CarouselContent>
|
|
16
|
+
{Array.from({ length: 5 }).map((_, index) => (
|
|
17
|
+
<CarouselItem key={index}>
|
|
18
|
+
<div className="p-1">
|
|
19
|
+
<Card>
|
|
20
|
+
<CardContent className="flex aspect-square items-center justify-center p-6">
|
|
21
|
+
<span className="text-4xl font-semibold">{index + 1}</span>
|
|
22
|
+
</CardContent>
|
|
23
|
+
</Card>
|
|
24
|
+
</div>
|
|
25
|
+
</CarouselItem>
|
|
26
|
+
))}
|
|
27
|
+
</CarouselContent>
|
|
28
|
+
<CarouselPrevious />
|
|
29
|
+
<CarouselNext />
|
|
30
|
+
</Carousel>`}
|
|
31
|
+
>
|
|
32
|
+
<Carousel className="w-full max-w-xs">
|
|
33
|
+
<CarouselContent>
|
|
34
|
+
{Array.from({ length: 5 }).map((_, index) => (
|
|
35
|
+
<CarouselItem key={index}>
|
|
36
|
+
<div className="p-1">
|
|
37
|
+
<Card>
|
|
38
|
+
<CardContent className="flex aspect-square items-center justify-center p-6">
|
|
39
|
+
<span className="text-4xl font-semibold">{index + 1}</span>
|
|
40
|
+
</CardContent>
|
|
41
|
+
</Card>
|
|
42
|
+
</div>
|
|
43
|
+
</CarouselItem>
|
|
44
|
+
))}
|
|
45
|
+
</CarouselContent>
|
|
46
|
+
<CarouselPrevious />
|
|
47
|
+
<CarouselNext />
|
|
48
|
+
</Carousel>
|
|
49
|
+
</ComponentShowcase>
|
|
50
|
+
|
|
51
|
+
<ComponentShowcase
|
|
52
|
+
title="Partial Visible Items"
|
|
53
|
+
description="A carousel showing partial items using basis classes."
|
|
54
|
+
code={`<Carousel className="w-full max-w-sm" opts={{ align: "start" }}>
|
|
55
|
+
<CarouselContent>
|
|
56
|
+
{Array.from({ length: 5 }).map((_, index) => (
|
|
57
|
+
<CarouselItem key={index} className="basis-1/3">
|
|
58
|
+
<div className="p-1">
|
|
59
|
+
<Card>
|
|
60
|
+
<CardContent className="flex aspect-square items-center justify-center p-6">
|
|
61
|
+
<span className="text-2xl font-semibold">{index + 1}</span>
|
|
62
|
+
</CardContent>
|
|
63
|
+
</Card>
|
|
64
|
+
</div>
|
|
65
|
+
</CarouselItem>
|
|
66
|
+
))}
|
|
67
|
+
</CarouselContent>
|
|
68
|
+
<CarouselPrevious />
|
|
69
|
+
<CarouselNext />
|
|
70
|
+
</Carousel>`}
|
|
71
|
+
>
|
|
72
|
+
<Carousel className="w-full max-w-sm" opts={{ align: 'start' }}>
|
|
73
|
+
<CarouselContent>
|
|
74
|
+
{Array.from({ length: 5 }).map((_, index) => (
|
|
75
|
+
<CarouselItem key={index} className="basis-1/3">
|
|
76
|
+
<div className="p-1">
|
|
77
|
+
<Card>
|
|
78
|
+
<CardContent className="flex aspect-square items-center justify-center p-6">
|
|
79
|
+
<span className="text-2xl font-semibold">{index + 1}</span>
|
|
80
|
+
</CardContent>
|
|
81
|
+
</Card>
|
|
82
|
+
</div>
|
|
83
|
+
</CarouselItem>
|
|
84
|
+
))}
|
|
85
|
+
</CarouselContent>
|
|
86
|
+
<CarouselPrevious />
|
|
87
|
+
<CarouselNext />
|
|
88
|
+
</Carousel>
|
|
89
|
+
</ComponentShowcase>
|
|
90
|
+
|
|
91
|
+
<ComponentShowcase
|
|
92
|
+
title="Orientation"
|
|
93
|
+
description="A vertically oriented carousel."
|
|
94
|
+
code={`<Carousel orientation="vertical" className="w-full max-w-xs" opts={{ align: "start" }}>
|
|
95
|
+
<CarouselContent className="-mt-1 h-[200px]">
|
|
96
|
+
{Array.from({ length: 5 }).map((_, index) => (
|
|
97
|
+
<CarouselItem key={index} className="pt-1 md:basis-1/2">
|
|
98
|
+
<div className="p-1">
|
|
99
|
+
<Card>
|
|
100
|
+
<CardContent className="flex items-center justify-center p-6">
|
|
101
|
+
<span className="text-3xl font-semibold">{index + 1}</span>
|
|
102
|
+
</CardContent>
|
|
103
|
+
</Card>
|
|
104
|
+
</div>
|
|
105
|
+
</CarouselItem>
|
|
106
|
+
))}
|
|
107
|
+
</CarouselContent>
|
|
108
|
+
<CarouselPrevious />
|
|
109
|
+
<CarouselNext />
|
|
110
|
+
</Carousel>`}
|
|
111
|
+
>
|
|
112
|
+
<Carousel orientation="vertical" className="w-full max-w-xs" opts={{ align: 'start' }}>
|
|
113
|
+
<CarouselContent className="-mt-1 h-[200px]">
|
|
114
|
+
{Array.from({ length: 5 }).map((_, index) => (
|
|
115
|
+
<CarouselItem key={index} className="pt-1 md:basis-1/2">
|
|
116
|
+
<div className="p-1">
|
|
117
|
+
<Card>
|
|
118
|
+
<CardContent className="flex items-center justify-center p-6">
|
|
119
|
+
<span className="text-3xl font-semibold">{index + 1}</span>
|
|
120
|
+
</CardContent>
|
|
121
|
+
</Card>
|
|
122
|
+
</div>
|
|
123
|
+
</CarouselItem>
|
|
124
|
+
))}
|
|
125
|
+
</CarouselContent>
|
|
126
|
+
<CarouselPrevious />
|
|
127
|
+
<CarouselNext />
|
|
128
|
+
</Carousel>
|
|
129
|
+
</ComponentShowcase>
|
|
130
|
+
</ComponentSection>
|
|
131
|
+
);
|
|
132
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
|
3
|
+
import { TrendingUp } from 'lucide-react';
|
|
4
|
+
|
|
5
|
+
export function ChartDocs() {
|
|
6
|
+
return (
|
|
7
|
+
<ComponentSection title="Chart" description="Beautiful charts built using Recharts and styled with CSS variables.">
|
|
8
|
+
<ComponentShowcase
|
|
9
|
+
title="Overview"
|
|
10
|
+
description="Charts are built using Recharts. The chart components use CSS variables for theming."
|
|
11
|
+
code={`// Install recharts
|
|
12
|
+
npm install recharts
|
|
13
|
+
|
|
14
|
+
// Import and use
|
|
15
|
+
import { Bar, BarChart, XAxis, YAxis, ResponsiveContainer } from "recharts";
|
|
16
|
+
|
|
17
|
+
const data = [
|
|
18
|
+
{ name: "Jan", total: 1200 },
|
|
19
|
+
{ name: "Feb", total: 2100 },
|
|
20
|
+
{ name: "Mar", total: 800 },
|
|
21
|
+
{ name: "Apr", total: 1600 },
|
|
22
|
+
{ name: "May", total: 900 },
|
|
23
|
+
{ name: "Jun", total: 1700 },
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
<ResponsiveContainer width="100%" height={350}>
|
|
27
|
+
<BarChart data={data}>
|
|
28
|
+
<XAxis dataKey="name" />
|
|
29
|
+
<YAxis />
|
|
30
|
+
<Bar dataKey="total" fill="hsl(var(--primary))" radius={[4, 4, 0, 0]} />
|
|
31
|
+
</BarChart>
|
|
32
|
+
</ResponsiveContainer>`}
|
|
33
|
+
>
|
|
34
|
+
<Card className="w-full max-w-md">
|
|
35
|
+
<CardHeader>
|
|
36
|
+
<CardTitle>Chart Example</CardTitle>
|
|
37
|
+
<CardDescription>A preview of chart styling</CardDescription>
|
|
38
|
+
</CardHeader>
|
|
39
|
+
<CardContent>
|
|
40
|
+
<div className="space-y-4">
|
|
41
|
+
<div className="flex items-center gap-2 text-sm text-muted-foreground">
|
|
42
|
+
<TrendingUp className="h-4 w-4" />
|
|
43
|
+
<span>Charts use CSS variables for consistent theming</span>
|
|
44
|
+
</div>
|
|
45
|
+
<div className="grid grid-cols-6 gap-2 h-32 items-end">
|
|
46
|
+
{[40, 70, 30, 60, 35, 65].map((height, i) => (
|
|
47
|
+
<div
|
|
48
|
+
key={i}
|
|
49
|
+
className="bg-primary rounded-t-sm transition-all hover:bg-primary/80"
|
|
50
|
+
style={{ height: `${height}%` }}
|
|
51
|
+
/>
|
|
52
|
+
))}
|
|
53
|
+
</div>
|
|
54
|
+
<div className="grid grid-cols-6 gap-2 text-xs text-center text-muted-foreground">
|
|
55
|
+
{['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'].map((month) => (
|
|
56
|
+
<span key={month}>{month}</span>
|
|
57
|
+
))}
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</CardContent>
|
|
61
|
+
</Card>
|
|
62
|
+
</ComponentShowcase>
|
|
63
|
+
|
|
64
|
+
<ComponentShowcase
|
|
65
|
+
title="CSS Variables"
|
|
66
|
+
description="Use CSS variables to theme your charts."
|
|
67
|
+
code={`/* In your CSS */
|
|
68
|
+
:root {
|
|
69
|
+
--chart-1: 12 76% 61%;
|
|
70
|
+
--chart-2: 173 58% 39%;
|
|
71
|
+
--chart-3: 197 37% 24%;
|
|
72
|
+
--chart-4: 43 74% 66%;
|
|
73
|
+
--chart-5: 27 87% 67%;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.dark {
|
|
77
|
+
--chart-1: 220 70% 50%;
|
|
78
|
+
--chart-2: 160 60% 45%;
|
|
79
|
+
--chart-3: 30 80% 55%;
|
|
80
|
+
--chart-4: 280 65% 60%;
|
|
81
|
+
--chart-5: 340 75% 55%;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* Use in your chart */
|
|
85
|
+
<Bar fill="hsl(var(--chart-1))" />
|
|
86
|
+
<Line stroke="hsl(var(--chart-2))" />`}
|
|
87
|
+
>
|
|
88
|
+
<div className="flex gap-4 items-center">
|
|
89
|
+
<div className="flex flex-col gap-2">
|
|
90
|
+
<div className="flex items-center gap-2">
|
|
91
|
+
<div className="w-4 h-4 rounded bg-[hsl(12,76%,61%)]" />
|
|
92
|
+
<span className="text-sm">--chart-1</span>
|
|
93
|
+
</div>
|
|
94
|
+
<div className="flex items-center gap-2">
|
|
95
|
+
<div className="w-4 h-4 rounded bg-[hsl(173,58%,39%)]" />
|
|
96
|
+
<span className="text-sm">--chart-2</span>
|
|
97
|
+
</div>
|
|
98
|
+
<div className="flex items-center gap-2">
|
|
99
|
+
<div className="w-4 h-4 rounded bg-[hsl(197,37%,24%)]" />
|
|
100
|
+
<span className="text-sm">--chart-3</span>
|
|
101
|
+
</div>
|
|
102
|
+
<div className="flex items-center gap-2">
|
|
103
|
+
<div className="w-4 h-4 rounded bg-[hsl(43,74%,66%)]" />
|
|
104
|
+
<span className="text-sm">--chart-4</span>
|
|
105
|
+
</div>
|
|
106
|
+
<div className="flex items-center gap-2">
|
|
107
|
+
<div className="w-4 h-4 rounded bg-[hsl(27,87%,67%)]" />
|
|
108
|
+
<span className="text-sm">--chart-5</span>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
</ComponentShowcase>
|
|
113
|
+
</ComponentSection>
|
|
114
|
+
);
|
|
115
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Checkbox } from '@/components/ui/checkbox';
|
|
3
|
+
import { Label } from '@/components/ui/label';
|
|
4
|
+
|
|
5
|
+
export function CheckboxDocs() {
|
|
6
|
+
return (
|
|
7
|
+
<ComponentSection
|
|
8
|
+
title="Checkbox"
|
|
9
|
+
description="A control that allows the user to toggle between checked and not checked."
|
|
10
|
+
>
|
|
11
|
+
<ComponentShowcase title="Default" description="A basic checkbox." code={`<Checkbox id="terms" />`}>
|
|
12
|
+
<div className="flex items-center space-x-2">
|
|
13
|
+
<Checkbox id="terms" />
|
|
14
|
+
<Label htmlFor="terms">Accept terms and conditions</Label>
|
|
15
|
+
</div>
|
|
16
|
+
</ComponentShowcase>
|
|
17
|
+
|
|
18
|
+
<ComponentShowcase
|
|
19
|
+
title="With Label"
|
|
20
|
+
description="A checkbox with a label."
|
|
21
|
+
code={`<div className="flex items-center space-x-2">
|
|
22
|
+
<Checkbox id="terms" />
|
|
23
|
+
<Label htmlFor="terms">Accept terms and conditions</Label>
|
|
24
|
+
</div>`}
|
|
25
|
+
>
|
|
26
|
+
<div className="flex items-center space-x-2">
|
|
27
|
+
<Checkbox id="terms2" />
|
|
28
|
+
<Label htmlFor="terms2">Accept terms and conditions</Label>
|
|
29
|
+
</div>
|
|
30
|
+
</ComponentShowcase>
|
|
31
|
+
|
|
32
|
+
<ComponentShowcase
|
|
33
|
+
title="Disabled"
|
|
34
|
+
description="A disabled checkbox."
|
|
35
|
+
code={`<div className="flex items-center space-x-2">
|
|
36
|
+
<Checkbox id="terms-disabled" disabled />
|
|
37
|
+
<Label htmlFor="terms-disabled">Accept terms and conditions</Label>
|
|
38
|
+
</div>`}
|
|
39
|
+
>
|
|
40
|
+
<div className="flex items-center space-x-2">
|
|
41
|
+
<Checkbox id="terms-disabled" disabled />
|
|
42
|
+
<Label htmlFor="terms-disabled" className="text-muted-foreground">
|
|
43
|
+
Accept terms and conditions
|
|
44
|
+
</Label>
|
|
45
|
+
</div>
|
|
46
|
+
</ComponentShowcase>
|
|
47
|
+
</ComponentSection>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Button } from '@/components/ui/button';
|
|
3
|
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';
|
|
4
|
+
import { ChevronsUpDown } from 'lucide-react';
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
|
|
7
|
+
export function CollapsibleDocs() {
|
|
8
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<ComponentSection title="Collapsible" description="An interactive component which expands/collapses a panel.">
|
|
12
|
+
<ComponentShowcase
|
|
13
|
+
title="Default"
|
|
14
|
+
description="A collapsible panel with animation."
|
|
15
|
+
code={`const [isOpen, setIsOpen] = React.useState(false);
|
|
16
|
+
|
|
17
|
+
<Collapsible open={isOpen} onOpenChange={setIsOpen} className="w-[350px] space-y-2">
|
|
18
|
+
<div className="flex items-center justify-between space-x-4 px-4">
|
|
19
|
+
<h4 className="text-sm font-semibold">@peduarte starred 3 repositories</h4>
|
|
20
|
+
<CollapsibleTrigger asChild>
|
|
21
|
+
<Button variant="ghost" size="sm" className="w-9 p-0">
|
|
22
|
+
<ChevronsUpDown className="h-4 w-4" />
|
|
23
|
+
</Button>
|
|
24
|
+
</CollapsibleTrigger>
|
|
25
|
+
</div>
|
|
26
|
+
<div className="rounded-md border px-4 py-3 font-mono text-sm">@radix-ui/primitives</div>
|
|
27
|
+
<CollapsibleContent className="space-y-2">
|
|
28
|
+
<div className="rounded-md border px-4 py-3 font-mono text-sm">@radix-ui/colors</div>
|
|
29
|
+
<div className="rounded-md border px-4 py-3 font-mono text-sm">@stitches/react</div>
|
|
30
|
+
</CollapsibleContent>
|
|
31
|
+
</Collapsible>`}
|
|
32
|
+
>
|
|
33
|
+
<Collapsible open={isOpen} onOpenChange={setIsOpen} className="w-[350px] space-y-2">
|
|
34
|
+
<div className="flex items-center justify-between space-x-4 px-4">
|
|
35
|
+
<h4 className="text-sm font-semibold">@peduarte starred 3 repositories</h4>
|
|
36
|
+
<CollapsibleTrigger asChild>
|
|
37
|
+
<Button variant="ghost" size="sm" className="w-9 p-0">
|
|
38
|
+
<ChevronsUpDown className="h-4 w-4" />
|
|
39
|
+
<span className="sr-only">Toggle</span>
|
|
40
|
+
</Button>
|
|
41
|
+
</CollapsibleTrigger>
|
|
42
|
+
</div>
|
|
43
|
+
<div className="rounded-md border px-4 py-3 font-mono text-sm">@radix-ui/primitives</div>
|
|
44
|
+
<CollapsibleContent className="space-y-2">
|
|
45
|
+
<div className="rounded-md border px-4 py-3 font-mono text-sm">@radix-ui/colors</div>
|
|
46
|
+
<div className="rounded-md border px-4 py-3 font-mono text-sm">@stitches/react</div>
|
|
47
|
+
</CollapsibleContent>
|
|
48
|
+
</Collapsible>
|
|
49
|
+
</ComponentShowcase>
|
|
50
|
+
</ComponentSection>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import {
|
|
3
|
+
Command,
|
|
4
|
+
CommandEmpty,
|
|
5
|
+
CommandGroup,
|
|
6
|
+
CommandInput,
|
|
7
|
+
CommandItem,
|
|
8
|
+
CommandList,
|
|
9
|
+
CommandSeparator,
|
|
10
|
+
CommandShortcut,
|
|
11
|
+
} from '@/components/ui/command';
|
|
12
|
+
import { Calculator, Calendar, CreditCard, Settings, Smile, User } from 'lucide-react';
|
|
13
|
+
|
|
14
|
+
export function CommandDocs() {
|
|
15
|
+
return (
|
|
16
|
+
<ComponentSection title="Command" description="A fast, composable command menu for React.">
|
|
17
|
+
<ComponentShowcase
|
|
18
|
+
title="Default"
|
|
19
|
+
description="A command palette with search and groups."
|
|
20
|
+
code={`<Command className="rounded-lg border shadow-md md:min-w-[450px]">
|
|
21
|
+
<CommandInput placeholder="Type a command or search..." />
|
|
22
|
+
<CommandList>
|
|
23
|
+
<CommandEmpty>No results found.</CommandEmpty>
|
|
24
|
+
<CommandGroup heading="Suggestions">
|
|
25
|
+
<CommandItem>
|
|
26
|
+
<Calendar className="mr-2 h-4 w-4" />
|
|
27
|
+
<span>Calendar</span>
|
|
28
|
+
</CommandItem>
|
|
29
|
+
<CommandItem>
|
|
30
|
+
<Smile className="mr-2 h-4 w-4" />
|
|
31
|
+
<span>Search Emoji</span>
|
|
32
|
+
</CommandItem>
|
|
33
|
+
<CommandItem>
|
|
34
|
+
<Calculator className="mr-2 h-4 w-4" />
|
|
35
|
+
<span>Calculator</span>
|
|
36
|
+
</CommandItem>
|
|
37
|
+
</CommandGroup>
|
|
38
|
+
<CommandSeparator />
|
|
39
|
+
<CommandGroup heading="Settings">
|
|
40
|
+
<CommandItem>
|
|
41
|
+
<User className="mr-2 h-4 w-4" />
|
|
42
|
+
<span>Profile</span>
|
|
43
|
+
<CommandShortcut>⌘P</CommandShortcut>
|
|
44
|
+
</CommandItem>
|
|
45
|
+
<CommandItem>
|
|
46
|
+
<CreditCard className="mr-2 h-4 w-4" />
|
|
47
|
+
<span>Billing</span>
|
|
48
|
+
<CommandShortcut>⌘B</CommandShortcut>
|
|
49
|
+
</CommandItem>
|
|
50
|
+
<CommandItem>
|
|
51
|
+
<Settings className="mr-2 h-4 w-4" />
|
|
52
|
+
<span>Settings</span>
|
|
53
|
+
<CommandShortcut>⌘S</CommandShortcut>
|
|
54
|
+
</CommandItem>
|
|
55
|
+
</CommandGroup>
|
|
56
|
+
</CommandList>
|
|
57
|
+
</Command>`}
|
|
58
|
+
>
|
|
59
|
+
<Command className="rounded-lg border shadow-md md:min-w-[450px]">
|
|
60
|
+
<CommandInput placeholder="Type a command or search..." />
|
|
61
|
+
<CommandList>
|
|
62
|
+
<CommandEmpty>No results found.</CommandEmpty>
|
|
63
|
+
<CommandGroup heading="Suggestions">
|
|
64
|
+
<CommandItem>
|
|
65
|
+
<Calendar className="mr-2 h-4 w-4" />
|
|
66
|
+
<span>Calendar</span>
|
|
67
|
+
</CommandItem>
|
|
68
|
+
<CommandItem>
|
|
69
|
+
<Smile className="mr-2 h-4 w-4" />
|
|
70
|
+
<span>Search Emoji</span>
|
|
71
|
+
</CommandItem>
|
|
72
|
+
<CommandItem>
|
|
73
|
+
<Calculator className="mr-2 h-4 w-4" />
|
|
74
|
+
<span>Calculator</span>
|
|
75
|
+
</CommandItem>
|
|
76
|
+
</CommandGroup>
|
|
77
|
+
<CommandSeparator />
|
|
78
|
+
<CommandGroup heading="Settings">
|
|
79
|
+
<CommandItem>
|
|
80
|
+
<User className="mr-2 h-4 w-4" />
|
|
81
|
+
<span>Profile</span>
|
|
82
|
+
<CommandShortcut>⌘P</CommandShortcut>
|
|
83
|
+
</CommandItem>
|
|
84
|
+
<CommandItem>
|
|
85
|
+
<CreditCard className="mr-2 h-4 w-4" />
|
|
86
|
+
<span>Billing</span>
|
|
87
|
+
<CommandShortcut>⌘B</CommandShortcut>
|
|
88
|
+
</CommandItem>
|
|
89
|
+
<CommandItem>
|
|
90
|
+
<Settings className="mr-2 h-4 w-4" />
|
|
91
|
+
<span>Settings</span>
|
|
92
|
+
<CommandShortcut>⌘S</CommandShortcut>
|
|
93
|
+
</CommandItem>
|
|
94
|
+
</CommandGroup>
|
|
95
|
+
</CommandList>
|
|
96
|
+
</Command>
|
|
97
|
+
</ComponentShowcase>
|
|
98
|
+
</ComponentSection>
|
|
99
|
+
);
|
|
100
|
+
}
|