@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,156 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import {
|
|
3
|
+
NavigationMenu,
|
|
4
|
+
NavigationMenuContent,
|
|
5
|
+
NavigationMenuItem,
|
|
6
|
+
NavigationMenuLink,
|
|
7
|
+
NavigationMenuList,
|
|
8
|
+
NavigationMenuTrigger,
|
|
9
|
+
navigationMenuTriggerStyle,
|
|
10
|
+
} from '@/components/ui/navigation-menu';
|
|
11
|
+
import { cn } from '@/lib/utils';
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
|
|
14
|
+
const components: { title: string; href: string; description: string }[] = [
|
|
15
|
+
{
|
|
16
|
+
title: 'Alert Dialog',
|
|
17
|
+
href: '#',
|
|
18
|
+
description: 'A modal dialog that interrupts the user with important content.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: 'Hover Card',
|
|
22
|
+
href: '#',
|
|
23
|
+
description: 'For sighted users to preview content available behind a link.',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
title: 'Progress',
|
|
27
|
+
href: '#',
|
|
28
|
+
description: 'Displays an indicator showing the completion progress of a task.',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const ListItem = React.forwardRef<React.ComponentRef<'a'>, React.ComponentPropsWithoutRef<'a'>>(
|
|
33
|
+
({ className, title, children, ...props }, ref) => {
|
|
34
|
+
return (
|
|
35
|
+
<li>
|
|
36
|
+
<NavigationMenuLink asChild>
|
|
37
|
+
<a
|
|
38
|
+
ref={ref}
|
|
39
|
+
className={cn(
|
|
40
|
+
'block select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground',
|
|
41
|
+
className,
|
|
42
|
+
)}
|
|
43
|
+
{...props}
|
|
44
|
+
>
|
|
45
|
+
<div className="text-sm font-medium leading-none">{title}</div>
|
|
46
|
+
<p className="line-clamp-2 text-sm leading-snug text-muted-foreground">{children}</p>
|
|
47
|
+
</a>
|
|
48
|
+
</NavigationMenuLink>
|
|
49
|
+
</li>
|
|
50
|
+
);
|
|
51
|
+
},
|
|
52
|
+
);
|
|
53
|
+
ListItem.displayName = 'ListItem';
|
|
54
|
+
|
|
55
|
+
export function NavigationMenuDocs() {
|
|
56
|
+
return (
|
|
57
|
+
<ComponentSection title="Navigation Menu" description="A collection of links for navigating websites.">
|
|
58
|
+
<ComponentShowcase
|
|
59
|
+
title="Default"
|
|
60
|
+
description="A navigation menu with dropdown content."
|
|
61
|
+
code={`<NavigationMenu>
|
|
62
|
+
<NavigationMenuList>
|
|
63
|
+
<NavigationMenuItem>
|
|
64
|
+
<NavigationMenuTrigger>Getting started</NavigationMenuTrigger>
|
|
65
|
+
<NavigationMenuContent>
|
|
66
|
+
<ul className="grid gap-3 p-6 md:w-[400px] lg:w-[500px] lg:grid-cols-[.75fr_1fr]">
|
|
67
|
+
<li className="row-span-3">
|
|
68
|
+
<NavigationMenuLink asChild>
|
|
69
|
+
<a className="flex h-full w-full select-none flex-col justify-end rounded-md bg-gradient-to-b from-muted/50 to-muted p-6 no-underline outline-none focus:shadow-md" href="#">
|
|
70
|
+
<div className="mb-2 mt-4 text-lg font-medium">shadcn/ui</div>
|
|
71
|
+
<p className="text-sm leading-tight text-muted-foreground">
|
|
72
|
+
Beautifully designed components built with Radix UI.
|
|
73
|
+
</p>
|
|
74
|
+
</a>
|
|
75
|
+
</NavigationMenuLink>
|
|
76
|
+
</li>
|
|
77
|
+
<ListItem href="#" title="Introduction">Re-usable components.</ListItem>
|
|
78
|
+
<ListItem href="#" title="Installation">How to install dependencies.</ListItem>
|
|
79
|
+
<ListItem href="#" title="Typography">Styles for headings.</ListItem>
|
|
80
|
+
</ul>
|
|
81
|
+
</NavigationMenuContent>
|
|
82
|
+
</NavigationMenuItem>
|
|
83
|
+
<NavigationMenuItem>
|
|
84
|
+
<NavigationMenuTrigger>Components</NavigationMenuTrigger>
|
|
85
|
+
<NavigationMenuContent>
|
|
86
|
+
<ul className="grid w-[400px] gap-3 p-4 md:w-[500px] md:grid-cols-2">
|
|
87
|
+
{components.map((component) => (
|
|
88
|
+
<ListItem key={component.title} title={component.title} href={component.href}>
|
|
89
|
+
{component.description}
|
|
90
|
+
</ListItem>
|
|
91
|
+
))}
|
|
92
|
+
</ul>
|
|
93
|
+
</NavigationMenuContent>
|
|
94
|
+
</NavigationMenuItem>
|
|
95
|
+
<NavigationMenuItem>
|
|
96
|
+
<NavigationMenuLink className={navigationMenuTriggerStyle()} href="#">
|
|
97
|
+
Documentation
|
|
98
|
+
</NavigationMenuLink>
|
|
99
|
+
</NavigationMenuItem>
|
|
100
|
+
</NavigationMenuList>
|
|
101
|
+
</NavigationMenu>`}
|
|
102
|
+
>
|
|
103
|
+
<NavigationMenu>
|
|
104
|
+
<NavigationMenuList>
|
|
105
|
+
<NavigationMenuItem>
|
|
106
|
+
<NavigationMenuTrigger>Getting started</NavigationMenuTrigger>
|
|
107
|
+
<NavigationMenuContent>
|
|
108
|
+
<ul className="grid gap-3 p-6 md:w-[400px] lg:w-[500px] lg:grid-cols-[.75fr_1fr]">
|
|
109
|
+
<li className="row-span-3">
|
|
110
|
+
<NavigationMenuLink asChild>
|
|
111
|
+
<a
|
|
112
|
+
className="flex h-full w-full select-none flex-col justify-end rounded-md bg-gradient-to-b from-muted/50 to-muted p-6 no-underline outline-none focus:shadow-md"
|
|
113
|
+
href="#"
|
|
114
|
+
>
|
|
115
|
+
<div className="mb-2 mt-4 text-lg font-medium">shadcn/ui</div>
|
|
116
|
+
<p className="text-sm leading-tight text-muted-foreground">
|
|
117
|
+
Beautifully designed components built with Radix UI and Tailwind CSS.
|
|
118
|
+
</p>
|
|
119
|
+
</a>
|
|
120
|
+
</NavigationMenuLink>
|
|
121
|
+
</li>
|
|
122
|
+
<ListItem href="#" title="Introduction">
|
|
123
|
+
Re-usable components built using Radix UI.
|
|
124
|
+
</ListItem>
|
|
125
|
+
<ListItem href="#" title="Installation">
|
|
126
|
+
How to install dependencies and structure your app.
|
|
127
|
+
</ListItem>
|
|
128
|
+
<ListItem href="#" title="Typography">
|
|
129
|
+
Styles for headings, paragraphs, lists...etc.
|
|
130
|
+
</ListItem>
|
|
131
|
+
</ul>
|
|
132
|
+
</NavigationMenuContent>
|
|
133
|
+
</NavigationMenuItem>
|
|
134
|
+
<NavigationMenuItem>
|
|
135
|
+
<NavigationMenuTrigger>Components</NavigationMenuTrigger>
|
|
136
|
+
<NavigationMenuContent>
|
|
137
|
+
<ul className="grid w-[400px] gap-3 p-4 md:w-[500px] md:grid-cols-2">
|
|
138
|
+
{components.map((component) => (
|
|
139
|
+
<ListItem key={component.title} title={component.title} href={component.href}>
|
|
140
|
+
{component.description}
|
|
141
|
+
</ListItem>
|
|
142
|
+
))}
|
|
143
|
+
</ul>
|
|
144
|
+
</NavigationMenuContent>
|
|
145
|
+
</NavigationMenuItem>
|
|
146
|
+
<NavigationMenuItem>
|
|
147
|
+
<NavigationMenuLink className={navigationMenuTriggerStyle()} href="#">
|
|
148
|
+
Documentation
|
|
149
|
+
</NavigationMenuLink>
|
|
150
|
+
</NavigationMenuItem>
|
|
151
|
+
</NavigationMenuList>
|
|
152
|
+
</NavigationMenu>
|
|
153
|
+
</ComponentShowcase>
|
|
154
|
+
</ComponentSection>
|
|
155
|
+
);
|
|
156
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import {
|
|
3
|
+
Pagination,
|
|
4
|
+
PaginationContent,
|
|
5
|
+
PaginationEllipsis,
|
|
6
|
+
PaginationItem,
|
|
7
|
+
PaginationLink,
|
|
8
|
+
PaginationNext,
|
|
9
|
+
PaginationPrevious,
|
|
10
|
+
} from '@/components/ui/pagination';
|
|
11
|
+
|
|
12
|
+
export function PaginationDocs() {
|
|
13
|
+
return (
|
|
14
|
+
<ComponentSection title="Pagination" description="Pagination with page navigation, next and previous links.">
|
|
15
|
+
<ComponentShowcase
|
|
16
|
+
title="Default"
|
|
17
|
+
description="Standard pagination component."
|
|
18
|
+
code={`<Pagination>
|
|
19
|
+
<PaginationContent>
|
|
20
|
+
<PaginationItem>
|
|
21
|
+
<PaginationPrevious href="#" />
|
|
22
|
+
</PaginationItem>
|
|
23
|
+
<PaginationItem>
|
|
24
|
+
<PaginationLink href="#">1</PaginationLink>
|
|
25
|
+
</PaginationItem>
|
|
26
|
+
<PaginationItem>
|
|
27
|
+
<PaginationLink href="#" isActive>2</PaginationLink>
|
|
28
|
+
</PaginationItem>
|
|
29
|
+
<PaginationItem>
|
|
30
|
+
<PaginationLink href="#">3</PaginationLink>
|
|
31
|
+
</PaginationItem>
|
|
32
|
+
<PaginationItem>
|
|
33
|
+
<PaginationEllipsis />
|
|
34
|
+
</PaginationItem>
|
|
35
|
+
<PaginationItem>
|
|
36
|
+
<PaginationNext href="#" />
|
|
37
|
+
</PaginationItem>
|
|
38
|
+
</PaginationContent>
|
|
39
|
+
</Pagination>`}
|
|
40
|
+
>
|
|
41
|
+
<Pagination>
|
|
42
|
+
<PaginationContent>
|
|
43
|
+
<PaginationItem>
|
|
44
|
+
<PaginationPrevious href="#" />
|
|
45
|
+
</PaginationItem>
|
|
46
|
+
<PaginationItem>
|
|
47
|
+
<PaginationLink href="#">1</PaginationLink>
|
|
48
|
+
</PaginationItem>
|
|
49
|
+
<PaginationItem>
|
|
50
|
+
<PaginationLink href="#" isActive>
|
|
51
|
+
2
|
|
52
|
+
</PaginationLink>
|
|
53
|
+
</PaginationItem>
|
|
54
|
+
<PaginationItem>
|
|
55
|
+
<PaginationLink href="#">3</PaginationLink>
|
|
56
|
+
</PaginationItem>
|
|
57
|
+
<PaginationItem>
|
|
58
|
+
<PaginationEllipsis />
|
|
59
|
+
</PaginationItem>
|
|
60
|
+
<PaginationItem>
|
|
61
|
+
<PaginationNext href="#" />
|
|
62
|
+
</PaginationItem>
|
|
63
|
+
</PaginationContent>
|
|
64
|
+
</Pagination>
|
|
65
|
+
</ComponentShowcase>
|
|
66
|
+
</ComponentSection>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Button } from '@/components/ui/button';
|
|
3
|
+
import { Input } from '@/components/ui/input';
|
|
4
|
+
import { Label } from '@/components/ui/label';
|
|
5
|
+
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';
|
|
6
|
+
|
|
7
|
+
export function PopoverDocs() {
|
|
8
|
+
return (
|
|
9
|
+
<ComponentSection title="Popover" description="Displays rich content in a portal, triggered by a button.">
|
|
10
|
+
<ComponentShowcase
|
|
11
|
+
title="Default"
|
|
12
|
+
description="A basic popover."
|
|
13
|
+
code={`<Popover>
|
|
14
|
+
<PopoverTrigger asChild>
|
|
15
|
+
<Button variant="outline">Open popover</Button>
|
|
16
|
+
</PopoverTrigger>
|
|
17
|
+
<PopoverContent className="w-80">
|
|
18
|
+
<div className="grid gap-4">
|
|
19
|
+
<div className="space-y-2">
|
|
20
|
+
<h4 className="font-medium leading-none">Dimensions</h4>
|
|
21
|
+
<p className="text-sm text-muted-foreground">
|
|
22
|
+
Set the dimensions for the layer.
|
|
23
|
+
</p>
|
|
24
|
+
</div>
|
|
25
|
+
<div className="grid gap-2">
|
|
26
|
+
<div className="grid grid-cols-3 items-center gap-4">
|
|
27
|
+
<Label htmlFor="width">Width</Label>
|
|
28
|
+
<Input id="width" defaultValue="100%" className="col-span-2 h-8" />
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</PopoverContent>
|
|
33
|
+
</Popover>`}
|
|
34
|
+
>
|
|
35
|
+
<Popover>
|
|
36
|
+
<PopoverTrigger asChild>
|
|
37
|
+
<Button variant="outline">Open popover</Button>
|
|
38
|
+
</PopoverTrigger>
|
|
39
|
+
<PopoverContent className="w-80">
|
|
40
|
+
<div className="grid gap-4">
|
|
41
|
+
<div className="space-y-2">
|
|
42
|
+
<h4 className="font-medium leading-none">Dimensions</h4>
|
|
43
|
+
<p className="text-sm text-muted-foreground">Set the dimensions for the layer.</p>
|
|
44
|
+
</div>
|
|
45
|
+
<div className="grid gap-2">
|
|
46
|
+
<div className="grid grid-cols-3 items-center gap-4">
|
|
47
|
+
<Label htmlFor="width">Width</Label>
|
|
48
|
+
<Input id="width" defaultValue="100%" className="col-span-2 h-8" />
|
|
49
|
+
</div>
|
|
50
|
+
<div className="grid grid-cols-3 items-center gap-4">
|
|
51
|
+
<Label htmlFor="height">Height</Label>
|
|
52
|
+
<Input id="height" defaultValue="25px" className="col-span-2 h-8" />
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</PopoverContent>
|
|
57
|
+
</Popover>
|
|
58
|
+
</ComponentShowcase>
|
|
59
|
+
</ComponentSection>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Progress } from '@/components/ui/progress';
|
|
3
|
+
|
|
4
|
+
export function ProgressDocs() {
|
|
5
|
+
return (
|
|
6
|
+
<ComponentSection title="Progress" description="Displays an indicator showing the completion progress of a task.">
|
|
7
|
+
<ComponentShowcase
|
|
8
|
+
title="Default"
|
|
9
|
+
description="A basic progress bar."
|
|
10
|
+
code={`<Progress value={33} className="w-[60%]" />`}
|
|
11
|
+
>
|
|
12
|
+
<Progress value={33} className="w-full max-w-md" />
|
|
13
|
+
</ComponentShowcase>
|
|
14
|
+
|
|
15
|
+
<ComponentShowcase
|
|
16
|
+
title="Various Values"
|
|
17
|
+
description="Progress bars with different completion values."
|
|
18
|
+
code={`<Progress value={0} />
|
|
19
|
+
<Progress value={25} />
|
|
20
|
+
<Progress value={50} />
|
|
21
|
+
<Progress value={75} />
|
|
22
|
+
<Progress value={100} />`}
|
|
23
|
+
>
|
|
24
|
+
<div className="space-y-4 w-full max-w-md">
|
|
25
|
+
<Progress value={0} />
|
|
26
|
+
<Progress value={25} />
|
|
27
|
+
<Progress value={50} />
|
|
28
|
+
<Progress value={75} />
|
|
29
|
+
<Progress value={100} />
|
|
30
|
+
</div>
|
|
31
|
+
</ComponentShowcase>
|
|
32
|
+
</ComponentSection>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Label } from '@/components/ui/label';
|
|
3
|
+
import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
|
|
4
|
+
|
|
5
|
+
export function RadioGroupDocs() {
|
|
6
|
+
return (
|
|
7
|
+
<ComponentSection
|
|
8
|
+
title="Radio Group"
|
|
9
|
+
description="A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time."
|
|
10
|
+
>
|
|
11
|
+
<ComponentShowcase
|
|
12
|
+
title="Default"
|
|
13
|
+
description="A basic radio group."
|
|
14
|
+
code={`<RadioGroup defaultValue="option-one">
|
|
15
|
+
<div className="flex items-center space-x-2">
|
|
16
|
+
<RadioGroupItem value="option-one" id="option-one" />
|
|
17
|
+
<Label htmlFor="option-one">Option One</Label>
|
|
18
|
+
</div>
|
|
19
|
+
<div className="flex items-center space-x-2">
|
|
20
|
+
<RadioGroupItem value="option-two" id="option-two" />
|
|
21
|
+
<Label htmlFor="option-two">Option Two</Label>
|
|
22
|
+
</div>
|
|
23
|
+
</RadioGroup>`}
|
|
24
|
+
>
|
|
25
|
+
<RadioGroup defaultValue="option-one">
|
|
26
|
+
<div className="flex items-center space-x-2">
|
|
27
|
+
<RadioGroupItem value="option-one" id="option-one" />
|
|
28
|
+
<Label htmlFor="option-one">Option One</Label>
|
|
29
|
+
</div>
|
|
30
|
+
<div className="flex items-center space-x-2">
|
|
31
|
+
<RadioGroupItem value="option-two" id="option-two" />
|
|
32
|
+
<Label htmlFor="option-two">Option Two</Label>
|
|
33
|
+
</div>
|
|
34
|
+
</RadioGroup>
|
|
35
|
+
</ComponentShowcase>
|
|
36
|
+
</ComponentSection>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable';
|
|
3
|
+
|
|
4
|
+
export function ResizableDocs() {
|
|
5
|
+
return (
|
|
6
|
+
<ComponentSection
|
|
7
|
+
title="Resizable"
|
|
8
|
+
description="Accessible resizable panel groups and layouts with keyboard support."
|
|
9
|
+
>
|
|
10
|
+
<ComponentShowcase
|
|
11
|
+
title="Horizontal"
|
|
12
|
+
description="A horizontally resizable panel group."
|
|
13
|
+
code={`<ResizablePanelGroup direction="horizontal" className="min-h-[200px] max-w-md rounded-lg border md:min-w-[450px]">
|
|
14
|
+
<ResizablePanel defaultSize={50}>
|
|
15
|
+
<div className="flex h-[200px] items-center justify-center p-6">
|
|
16
|
+
<span className="font-semibold">One</span>
|
|
17
|
+
</div>
|
|
18
|
+
</ResizablePanel>
|
|
19
|
+
<ResizableHandle />
|
|
20
|
+
<ResizablePanel defaultSize={50}>
|
|
21
|
+
<div className="flex h-[200px] items-center justify-center p-6">
|
|
22
|
+
<span className="font-semibold">Two</span>
|
|
23
|
+
</div>
|
|
24
|
+
</ResizablePanel>
|
|
25
|
+
</ResizablePanelGroup>`}
|
|
26
|
+
>
|
|
27
|
+
<ResizablePanelGroup
|
|
28
|
+
direction="horizontal"
|
|
29
|
+
className="min-h-[200px] max-w-md rounded-lg border md:min-w-[450px]"
|
|
30
|
+
>
|
|
31
|
+
<ResizablePanel defaultSize={50}>
|
|
32
|
+
<div className="flex h-[200px] items-center justify-center p-6">
|
|
33
|
+
<span className="font-semibold">One</span>
|
|
34
|
+
</div>
|
|
35
|
+
</ResizablePanel>
|
|
36
|
+
<ResizableHandle />
|
|
37
|
+
<ResizablePanel defaultSize={50}>
|
|
38
|
+
<div className="flex h-[200px] items-center justify-center p-6">
|
|
39
|
+
<span className="font-semibold">Two</span>
|
|
40
|
+
</div>
|
|
41
|
+
</ResizablePanel>
|
|
42
|
+
</ResizablePanelGroup>
|
|
43
|
+
</ComponentShowcase>
|
|
44
|
+
|
|
45
|
+
<ComponentShowcase
|
|
46
|
+
title="Vertical"
|
|
47
|
+
description="A vertically resizable panel group."
|
|
48
|
+
code={`<ResizablePanelGroup direction="vertical" className="min-h-[300px] max-w-md rounded-lg border">
|
|
49
|
+
<ResizablePanel defaultSize={25}>
|
|
50
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
51
|
+
<span className="font-semibold">Header</span>
|
|
52
|
+
</div>
|
|
53
|
+
</ResizablePanel>
|
|
54
|
+
<ResizableHandle />
|
|
55
|
+
<ResizablePanel defaultSize={75}>
|
|
56
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
57
|
+
<span className="font-semibold">Content</span>
|
|
58
|
+
</div>
|
|
59
|
+
</ResizablePanel>
|
|
60
|
+
</ResizablePanelGroup>`}
|
|
61
|
+
>
|
|
62
|
+
<ResizablePanelGroup direction="vertical" className="min-h-[300px] max-w-md rounded-lg border">
|
|
63
|
+
<ResizablePanel defaultSize={25}>
|
|
64
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
65
|
+
<span className="font-semibold">Header</span>
|
|
66
|
+
</div>
|
|
67
|
+
</ResizablePanel>
|
|
68
|
+
<ResizableHandle />
|
|
69
|
+
<ResizablePanel defaultSize={75}>
|
|
70
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
71
|
+
<span className="font-semibold">Content</span>
|
|
72
|
+
</div>
|
|
73
|
+
</ResizablePanel>
|
|
74
|
+
</ResizablePanelGroup>
|
|
75
|
+
</ComponentShowcase>
|
|
76
|
+
|
|
77
|
+
<ComponentShowcase
|
|
78
|
+
title="With Handle"
|
|
79
|
+
description="Resizable panels with a visible handle."
|
|
80
|
+
code={`<ResizablePanelGroup direction="horizontal" className="min-h-[200px] max-w-md rounded-lg border">
|
|
81
|
+
<ResizablePanel defaultSize={25}>
|
|
82
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
83
|
+
<span className="font-semibold">Sidebar</span>
|
|
84
|
+
</div>
|
|
85
|
+
</ResizablePanel>
|
|
86
|
+
<ResizableHandle withHandle />
|
|
87
|
+
<ResizablePanel defaultSize={75}>
|
|
88
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
89
|
+
<span className="font-semibold">Content</span>
|
|
90
|
+
</div>
|
|
91
|
+
</ResizablePanel>
|
|
92
|
+
</ResizablePanelGroup>`}
|
|
93
|
+
>
|
|
94
|
+
<ResizablePanelGroup direction="horizontal" className="min-h-[200px] max-w-md rounded-lg border">
|
|
95
|
+
<ResizablePanel defaultSize={25}>
|
|
96
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
97
|
+
<span className="font-semibold">Sidebar</span>
|
|
98
|
+
</div>
|
|
99
|
+
</ResizablePanel>
|
|
100
|
+
<ResizableHandle withHandle />
|
|
101
|
+
<ResizablePanel defaultSize={75}>
|
|
102
|
+
<div className="flex h-full items-center justify-center p-6">
|
|
103
|
+
<span className="font-semibold">Content</span>
|
|
104
|
+
</div>
|
|
105
|
+
</ResizablePanel>
|
|
106
|
+
</ResizablePanelGroup>
|
|
107
|
+
</ComponentShowcase>
|
|
108
|
+
</ComponentSection>
|
|
109
|
+
);
|
|
110
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { ScrollArea, ScrollBar } from '@/components/ui/scroll-area';
|
|
3
|
+
import { Separator } from '@/components/ui/separator';
|
|
4
|
+
|
|
5
|
+
const tags = Array.from({ length: 50 }).map((_, i, a) => `v1.2.0-beta.${a.length - i}`);
|
|
6
|
+
|
|
7
|
+
const works = [
|
|
8
|
+
{ artist: 'Ornella Binni', art: 'Reflection' },
|
|
9
|
+
{ artist: 'Tom Byrom', art: 'Mountain View' },
|
|
10
|
+
{ artist: 'Vladimir Malyavko', art: 'Harmony' },
|
|
11
|
+
{ artist: 'Magicle', art: 'Dreams' },
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
export function ScrollAreaDocs() {
|
|
15
|
+
return (
|
|
16
|
+
<ComponentSection
|
|
17
|
+
title="Scroll Area"
|
|
18
|
+
description="Augments native scroll functionality for custom, cross-browser styling."
|
|
19
|
+
>
|
|
20
|
+
<ComponentShowcase
|
|
21
|
+
title="Vertical"
|
|
22
|
+
description="A vertically scrolling area."
|
|
23
|
+
code={`<ScrollArea className="h-72 w-48 rounded-md border">
|
|
24
|
+
<div className="p-4">
|
|
25
|
+
<h4 className="mb-4 text-sm font-medium leading-none">Tags</h4>
|
|
26
|
+
{tags.map((tag) => (
|
|
27
|
+
<>
|
|
28
|
+
<div key={tag} className="text-sm">{tag}</div>
|
|
29
|
+
<Separator className="my-2" />
|
|
30
|
+
</>
|
|
31
|
+
))}
|
|
32
|
+
</div>
|
|
33
|
+
</ScrollArea>`}
|
|
34
|
+
>
|
|
35
|
+
<ScrollArea className="h-72 w-48 rounded-md border">
|
|
36
|
+
<div className="p-4">
|
|
37
|
+
<h4 className="mb-4 text-sm font-medium leading-none">Tags</h4>
|
|
38
|
+
{tags.map((tag) => (
|
|
39
|
+
<div key={tag}>
|
|
40
|
+
<div className="text-sm">{tag}</div>
|
|
41
|
+
<Separator className="my-2" />
|
|
42
|
+
</div>
|
|
43
|
+
))}
|
|
44
|
+
</div>
|
|
45
|
+
</ScrollArea>
|
|
46
|
+
</ComponentShowcase>
|
|
47
|
+
|
|
48
|
+
<ComponentShowcase
|
|
49
|
+
title="Horizontal"
|
|
50
|
+
description="A horizontally scrolling area."
|
|
51
|
+
code={`<ScrollArea className="w-96 whitespace-nowrap rounded-md border">
|
|
52
|
+
<div className="flex w-max space-x-4 p-4">
|
|
53
|
+
{works.map((work) => (
|
|
54
|
+
<figure key={work.artist} className="shrink-0">
|
|
55
|
+
<div className="overflow-hidden rounded-md">
|
|
56
|
+
<div className="h-[150px] w-[150px] bg-muted flex items-center justify-center">
|
|
57
|
+
{work.art}
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<figcaption className="pt-2 text-xs text-muted-foreground">
|
|
61
|
+
Photo by <span className="font-semibold text-foreground">{work.artist}</span>
|
|
62
|
+
</figcaption>
|
|
63
|
+
</figure>
|
|
64
|
+
))}
|
|
65
|
+
</div>
|
|
66
|
+
<ScrollBar orientation="horizontal" />
|
|
67
|
+
</ScrollArea>`}
|
|
68
|
+
>
|
|
69
|
+
<ScrollArea className="w-96 whitespace-nowrap rounded-md border">
|
|
70
|
+
<div className="flex w-max space-x-4 p-4">
|
|
71
|
+
{works.map((work) => (
|
|
72
|
+
<figure key={work.artist} className="shrink-0">
|
|
73
|
+
<div className="overflow-hidden rounded-md">
|
|
74
|
+
<div className="h-[150px] w-[150px] bg-muted flex items-center justify-center text-sm">
|
|
75
|
+
{work.art}
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
<figcaption className="pt-2 text-xs text-muted-foreground">
|
|
79
|
+
Photo by <span className="font-semibold text-foreground">{work.artist}</span>
|
|
80
|
+
</figcaption>
|
|
81
|
+
</figure>
|
|
82
|
+
))}
|
|
83
|
+
</div>
|
|
84
|
+
<ScrollBar orientation="horizontal" />
|
|
85
|
+
</ScrollArea>
|
|
86
|
+
</ComponentShowcase>
|
|
87
|
+
</ComponentSection>
|
|
88
|
+
);
|
|
89
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import {
|
|
3
|
+
Select,
|
|
4
|
+
SelectContent,
|
|
5
|
+
SelectGroup,
|
|
6
|
+
SelectItem,
|
|
7
|
+
SelectLabel,
|
|
8
|
+
SelectTrigger,
|
|
9
|
+
SelectValue,
|
|
10
|
+
} from '@/components/ui/select';
|
|
11
|
+
|
|
12
|
+
export function SelectDocs() {
|
|
13
|
+
return (
|
|
14
|
+
<ComponentSection
|
|
15
|
+
title="Select"
|
|
16
|
+
description="Displays a list of options for the user to pick from, triggered by a button."
|
|
17
|
+
>
|
|
18
|
+
<ComponentShowcase
|
|
19
|
+
title="Default"
|
|
20
|
+
description="A basic select component."
|
|
21
|
+
code={`<Select>
|
|
22
|
+
<SelectTrigger className="w-[180px]">
|
|
23
|
+
<SelectValue placeholder="Select a fruit" />
|
|
24
|
+
</SelectTrigger>
|
|
25
|
+
<SelectContent>
|
|
26
|
+
<SelectItem value="apple">Apple</SelectItem>
|
|
27
|
+
<SelectItem value="banana">Banana</SelectItem>
|
|
28
|
+
<SelectItem value="orange">Orange</SelectItem>
|
|
29
|
+
</SelectContent>
|
|
30
|
+
</Select>`}
|
|
31
|
+
>
|
|
32
|
+
<Select>
|
|
33
|
+
<SelectTrigger className="w-[180px]">
|
|
34
|
+
<SelectValue placeholder="Select a fruit" />
|
|
35
|
+
</SelectTrigger>
|
|
36
|
+
<SelectContent>
|
|
37
|
+
<SelectItem value="apple">Apple</SelectItem>
|
|
38
|
+
<SelectItem value="banana">Banana</SelectItem>
|
|
39
|
+
<SelectItem value="orange">Orange</SelectItem>
|
|
40
|
+
</SelectContent>
|
|
41
|
+
</Select>
|
|
42
|
+
</ComponentShowcase>
|
|
43
|
+
|
|
44
|
+
<ComponentShowcase
|
|
45
|
+
title="With Groups"
|
|
46
|
+
description="Options can be organized into groups with labels."
|
|
47
|
+
code={`<Select>
|
|
48
|
+
<SelectTrigger className="w-[180px]">
|
|
49
|
+
<SelectValue placeholder="Select a timezone" />
|
|
50
|
+
</SelectTrigger>
|
|
51
|
+
<SelectContent>
|
|
52
|
+
<SelectGroup>
|
|
53
|
+
<SelectLabel>North America</SelectLabel>
|
|
54
|
+
<SelectItem value="est">Eastern Time (EST)</SelectItem>
|
|
55
|
+
<SelectItem value="cst">Central Time (CST)</SelectItem>
|
|
56
|
+
<SelectItem value="pst">Pacific Time (PST)</SelectItem>
|
|
57
|
+
</SelectGroup>
|
|
58
|
+
<SelectGroup>
|
|
59
|
+
<SelectLabel>Europe</SelectLabel>
|
|
60
|
+
<SelectItem value="gmt">GMT</SelectItem>
|
|
61
|
+
<SelectItem value="cet">Central European Time (CET)</SelectItem>
|
|
62
|
+
</SelectGroup>
|
|
63
|
+
</SelectContent>
|
|
64
|
+
</Select>`}
|
|
65
|
+
>
|
|
66
|
+
<Select>
|
|
67
|
+
<SelectTrigger className="w-[220px]">
|
|
68
|
+
<SelectValue placeholder="Select a timezone" />
|
|
69
|
+
</SelectTrigger>
|
|
70
|
+
<SelectContent>
|
|
71
|
+
<SelectGroup>
|
|
72
|
+
<SelectLabel>North America</SelectLabel>
|
|
73
|
+
<SelectItem value="est">Eastern Time (EST)</SelectItem>
|
|
74
|
+
<SelectItem value="cst">Central Time (CST)</SelectItem>
|
|
75
|
+
<SelectItem value="pst">Pacific Time (PST)</SelectItem>
|
|
76
|
+
</SelectGroup>
|
|
77
|
+
<SelectGroup>
|
|
78
|
+
<SelectLabel>Europe</SelectLabel>
|
|
79
|
+
<SelectItem value="gmt">GMT</SelectItem>
|
|
80
|
+
<SelectItem value="cet">Central European Time (CET)</SelectItem>
|
|
81
|
+
</SelectGroup>
|
|
82
|
+
</SelectContent>
|
|
83
|
+
</Select>
|
|
84
|
+
</ComponentShowcase>
|
|
85
|
+
</ComponentSection>
|
|
86
|
+
);
|
|
87
|
+
}
|