@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,93 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import {
|
|
3
|
+
ContextMenu,
|
|
4
|
+
ContextMenuContent,
|
|
5
|
+
ContextMenuItem,
|
|
6
|
+
ContextMenuSeparator,
|
|
7
|
+
ContextMenuShortcut,
|
|
8
|
+
ContextMenuSub,
|
|
9
|
+
ContextMenuSubContent,
|
|
10
|
+
ContextMenuSubTrigger,
|
|
11
|
+
ContextMenuTrigger,
|
|
12
|
+
} from '@/components/ui/context-menu';
|
|
13
|
+
|
|
14
|
+
export function ContextMenuDocs() {
|
|
15
|
+
return (
|
|
16
|
+
<ComponentSection
|
|
17
|
+
title="Context Menu"
|
|
18
|
+
description="Displays a menu to the user—such as a set of actions or functions—triggered by right-click."
|
|
19
|
+
>
|
|
20
|
+
<ComponentShowcase
|
|
21
|
+
title="Default"
|
|
22
|
+
description="Right-click to open the context menu."
|
|
23
|
+
code={`<ContextMenu>
|
|
24
|
+
<ContextMenuTrigger className="flex h-[150px] w-[300px] items-center justify-center rounded-md border border-dashed text-sm">
|
|
25
|
+
Right click here
|
|
26
|
+
</ContextMenuTrigger>
|
|
27
|
+
<ContextMenuContent className="w-64">
|
|
28
|
+
<ContextMenuItem>
|
|
29
|
+
Back
|
|
30
|
+
<ContextMenuShortcut>⌘[</ContextMenuShortcut>
|
|
31
|
+
</ContextMenuItem>
|
|
32
|
+
<ContextMenuItem disabled>
|
|
33
|
+
Forward
|
|
34
|
+
<ContextMenuShortcut>⌘]</ContextMenuShortcut>
|
|
35
|
+
</ContextMenuItem>
|
|
36
|
+
<ContextMenuItem>
|
|
37
|
+
Reload
|
|
38
|
+
<ContextMenuShortcut>⌘R</ContextMenuShortcut>
|
|
39
|
+
</ContextMenuItem>
|
|
40
|
+
<ContextMenuSub>
|
|
41
|
+
<ContextMenuSubTrigger>More Tools</ContextMenuSubTrigger>
|
|
42
|
+
<ContextMenuSubContent className="w-48">
|
|
43
|
+
<ContextMenuItem>Save Page As...</ContextMenuItem>
|
|
44
|
+
<ContextMenuItem>Create Shortcut...</ContextMenuItem>
|
|
45
|
+
<ContextMenuSeparator />
|
|
46
|
+
<ContextMenuItem>Developer Tools</ContextMenuItem>
|
|
47
|
+
</ContextMenuSubContent>
|
|
48
|
+
</ContextMenuSub>
|
|
49
|
+
<ContextMenuSeparator />
|
|
50
|
+
<ContextMenuItem>
|
|
51
|
+
View Page Source
|
|
52
|
+
<ContextMenuShortcut>⌘U</ContextMenuShortcut>
|
|
53
|
+
</ContextMenuItem>
|
|
54
|
+
</ContextMenuContent>
|
|
55
|
+
</ContextMenu>`}
|
|
56
|
+
>
|
|
57
|
+
<ContextMenu>
|
|
58
|
+
<ContextMenuTrigger className="flex h-[150px] w-[300px] items-center justify-center rounded-md border border-dashed text-sm">
|
|
59
|
+
Right click here
|
|
60
|
+
</ContextMenuTrigger>
|
|
61
|
+
<ContextMenuContent className="w-64">
|
|
62
|
+
<ContextMenuItem>
|
|
63
|
+
Back
|
|
64
|
+
<ContextMenuShortcut>⌘[</ContextMenuShortcut>
|
|
65
|
+
</ContextMenuItem>
|
|
66
|
+
<ContextMenuItem disabled>
|
|
67
|
+
Forward
|
|
68
|
+
<ContextMenuShortcut>⌘]</ContextMenuShortcut>
|
|
69
|
+
</ContextMenuItem>
|
|
70
|
+
<ContextMenuItem>
|
|
71
|
+
Reload
|
|
72
|
+
<ContextMenuShortcut>⌘R</ContextMenuShortcut>
|
|
73
|
+
</ContextMenuItem>
|
|
74
|
+
<ContextMenuSub>
|
|
75
|
+
<ContextMenuSubTrigger>More Tools</ContextMenuSubTrigger>
|
|
76
|
+
<ContextMenuSubContent className="w-48">
|
|
77
|
+
<ContextMenuItem>Save Page As...</ContextMenuItem>
|
|
78
|
+
<ContextMenuItem>Create Shortcut...</ContextMenuItem>
|
|
79
|
+
<ContextMenuSeparator />
|
|
80
|
+
<ContextMenuItem>Developer Tools</ContextMenuItem>
|
|
81
|
+
</ContextMenuSubContent>
|
|
82
|
+
</ContextMenuSub>
|
|
83
|
+
<ContextMenuSeparator />
|
|
84
|
+
<ContextMenuItem>
|
|
85
|
+
View Page Source
|
|
86
|
+
<ContextMenuShortcut>⌘U</ContextMenuShortcut>
|
|
87
|
+
</ContextMenuItem>
|
|
88
|
+
</ContextMenuContent>
|
|
89
|
+
</ContextMenu>
|
|
90
|
+
</ComponentShowcase>
|
|
91
|
+
</ComponentSection>
|
|
92
|
+
);
|
|
93
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Button } from '@/components/ui/button';
|
|
3
|
+
import {
|
|
4
|
+
Dialog,
|
|
5
|
+
DialogContent,
|
|
6
|
+
DialogDescription,
|
|
7
|
+
DialogFooter,
|
|
8
|
+
DialogHeader,
|
|
9
|
+
DialogTitle,
|
|
10
|
+
DialogTrigger,
|
|
11
|
+
} from '@/components/ui/dialog';
|
|
12
|
+
import { Input } from '@/components/ui/input';
|
|
13
|
+
import { Label } from '@/components/ui/label';
|
|
14
|
+
|
|
15
|
+
export function DialogDocs() {
|
|
16
|
+
return (
|
|
17
|
+
<ComponentSection
|
|
18
|
+
title="Dialog"
|
|
19
|
+
description="A modal dialog that interrupts the user with important content and expects a response."
|
|
20
|
+
>
|
|
21
|
+
<ComponentShowcase
|
|
22
|
+
title="Default"
|
|
23
|
+
description="A basic dialog with a trigger button."
|
|
24
|
+
code={`<Dialog>
|
|
25
|
+
<DialogTrigger asChild>
|
|
26
|
+
<Button variant="outline">Open Dialog</Button>
|
|
27
|
+
</DialogTrigger>
|
|
28
|
+
<DialogContent>
|
|
29
|
+
<DialogHeader>
|
|
30
|
+
<DialogTitle>Edit profile</DialogTitle>
|
|
31
|
+
<DialogDescription>
|
|
32
|
+
Make changes to your profile here.
|
|
33
|
+
</DialogDescription>
|
|
34
|
+
</DialogHeader>
|
|
35
|
+
<div className="grid gap-4 py-4">
|
|
36
|
+
<div className="grid grid-cols-4 items-center gap-4">
|
|
37
|
+
<Label htmlFor="name" className="text-right">Name</Label>
|
|
38
|
+
<Input id="name" className="col-span-3" />
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<DialogFooter>
|
|
42
|
+
<Button type="submit">Save changes</Button>
|
|
43
|
+
</DialogFooter>
|
|
44
|
+
</DialogContent>
|
|
45
|
+
</Dialog>`}
|
|
46
|
+
>
|
|
47
|
+
<Dialog>
|
|
48
|
+
<DialogTrigger asChild>
|
|
49
|
+
<Button variant="outline">Open Dialog</Button>
|
|
50
|
+
</DialogTrigger>
|
|
51
|
+
<DialogContent className="sm:max-w-[425px]">
|
|
52
|
+
<DialogHeader>
|
|
53
|
+
<DialogTitle>Edit profile</DialogTitle>
|
|
54
|
+
<DialogDescription>
|
|
55
|
+
Make changes to your profile here. Click save when you're done.
|
|
56
|
+
</DialogDescription>
|
|
57
|
+
</DialogHeader>
|
|
58
|
+
<div className="grid gap-4 py-4">
|
|
59
|
+
<div className="grid grid-cols-4 items-center gap-4">
|
|
60
|
+
<Label htmlFor="name" className="text-right">
|
|
61
|
+
Name
|
|
62
|
+
</Label>
|
|
63
|
+
<Input id="name" defaultValue="Pedro Duarte" className="col-span-3" />
|
|
64
|
+
</div>
|
|
65
|
+
<div className="grid grid-cols-4 items-center gap-4">
|
|
66
|
+
<Label htmlFor="username" className="text-right">
|
|
67
|
+
Username
|
|
68
|
+
</Label>
|
|
69
|
+
<Input id="username" defaultValue="@peduarte" className="col-span-3" />
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<DialogFooter>
|
|
73
|
+
<Button type="submit">Save changes</Button>
|
|
74
|
+
</DialogFooter>
|
|
75
|
+
</DialogContent>
|
|
76
|
+
</Dialog>
|
|
77
|
+
</ComponentShowcase>
|
|
78
|
+
</ComponentSection>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Button } from '@/components/ui/button';
|
|
3
|
+
import {
|
|
4
|
+
Drawer,
|
|
5
|
+
DrawerClose,
|
|
6
|
+
DrawerContent,
|
|
7
|
+
DrawerDescription,
|
|
8
|
+
DrawerFooter,
|
|
9
|
+
DrawerHeader,
|
|
10
|
+
DrawerTitle,
|
|
11
|
+
DrawerTrigger,
|
|
12
|
+
} from '@/components/ui/drawer';
|
|
13
|
+
import { Input } from '@/components/ui/input';
|
|
14
|
+
import { Label } from '@/components/ui/label';
|
|
15
|
+
|
|
16
|
+
export function DrawerDocs() {
|
|
17
|
+
return (
|
|
18
|
+
<ComponentSection
|
|
19
|
+
title="Drawer"
|
|
20
|
+
description="A drawer component that slides up from the bottom of the screen on mobile devices."
|
|
21
|
+
>
|
|
22
|
+
<ComponentShowcase
|
|
23
|
+
title="Default"
|
|
24
|
+
description="A bottom drawer with form content."
|
|
25
|
+
code={`<Drawer>
|
|
26
|
+
<DrawerTrigger asChild>
|
|
27
|
+
<Button variant="outline">Open Drawer</Button>
|
|
28
|
+
</DrawerTrigger>
|
|
29
|
+
<DrawerContent>
|
|
30
|
+
<div className="mx-auto w-full max-w-sm">
|
|
31
|
+
<DrawerHeader>
|
|
32
|
+
<DrawerTitle>Move Goal</DrawerTitle>
|
|
33
|
+
<DrawerDescription>Set your daily activity goal.</DrawerDescription>
|
|
34
|
+
</DrawerHeader>
|
|
35
|
+
<div className="p-4">
|
|
36
|
+
<div className="grid gap-4">
|
|
37
|
+
<Label htmlFor="goal">Goal</Label>
|
|
38
|
+
<Input id="goal" type="number" defaultValue="350" />
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<DrawerFooter>
|
|
42
|
+
<Button>Submit</Button>
|
|
43
|
+
<DrawerClose asChild>
|
|
44
|
+
<Button variant="outline">Cancel</Button>
|
|
45
|
+
</DrawerClose>
|
|
46
|
+
</DrawerFooter>
|
|
47
|
+
</div>
|
|
48
|
+
</DrawerContent>
|
|
49
|
+
</Drawer>`}
|
|
50
|
+
>
|
|
51
|
+
<Drawer>
|
|
52
|
+
<DrawerTrigger asChild>
|
|
53
|
+
<Button variant="outline">Open Drawer</Button>
|
|
54
|
+
</DrawerTrigger>
|
|
55
|
+
<DrawerContent>
|
|
56
|
+
<div className="mx-auto w-full max-w-sm">
|
|
57
|
+
<DrawerHeader>
|
|
58
|
+
<DrawerTitle>Move Goal</DrawerTitle>
|
|
59
|
+
<DrawerDescription>Set your daily activity goal.</DrawerDescription>
|
|
60
|
+
</DrawerHeader>
|
|
61
|
+
<div className="p-4">
|
|
62
|
+
<div className="grid gap-4">
|
|
63
|
+
<Label htmlFor="goal">Goal</Label>
|
|
64
|
+
<Input id="goal" type="number" defaultValue="350" />
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
<DrawerFooter>
|
|
68
|
+
<Button>Submit</Button>
|
|
69
|
+
<DrawerClose asChild>
|
|
70
|
+
<Button variant="outline">Cancel</Button>
|
|
71
|
+
</DrawerClose>
|
|
72
|
+
</DrawerFooter>
|
|
73
|
+
</div>
|
|
74
|
+
</DrawerContent>
|
|
75
|
+
</Drawer>
|
|
76
|
+
</ComponentShowcase>
|
|
77
|
+
</ComponentSection>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Button } from '@/components/ui/button';
|
|
3
|
+
import {
|
|
4
|
+
DropdownMenu,
|
|
5
|
+
DropdownMenuContent,
|
|
6
|
+
DropdownMenuItem,
|
|
7
|
+
DropdownMenuLabel,
|
|
8
|
+
DropdownMenuSeparator,
|
|
9
|
+
DropdownMenuTrigger,
|
|
10
|
+
} from '@/components/ui/dropdown-menu';
|
|
11
|
+
|
|
12
|
+
export function DropdownMenuDocs() {
|
|
13
|
+
return (
|
|
14
|
+
<ComponentSection
|
|
15
|
+
title="Dropdown Menu"
|
|
16
|
+
description="Displays a menu to the user—such as a set of actions or functions—triggered by a button."
|
|
17
|
+
>
|
|
18
|
+
<ComponentShowcase
|
|
19
|
+
title="Default"
|
|
20
|
+
description="A basic dropdown menu."
|
|
21
|
+
code={`<DropdownMenu>
|
|
22
|
+
<DropdownMenuTrigger asChild>
|
|
23
|
+
<Button variant="outline">Open</Button>
|
|
24
|
+
</DropdownMenuTrigger>
|
|
25
|
+
<DropdownMenuContent>
|
|
26
|
+
<DropdownMenuLabel>My Account</DropdownMenuLabel>
|
|
27
|
+
<DropdownMenuSeparator />
|
|
28
|
+
<DropdownMenuItem>Profile</DropdownMenuItem>
|
|
29
|
+
<DropdownMenuItem>Billing</DropdownMenuItem>
|
|
30
|
+
<DropdownMenuItem>Team</DropdownMenuItem>
|
|
31
|
+
<DropdownMenuItem>Subscription</DropdownMenuItem>
|
|
32
|
+
</DropdownMenuContent>
|
|
33
|
+
</DropdownMenu>`}
|
|
34
|
+
>
|
|
35
|
+
<DropdownMenu>
|
|
36
|
+
<DropdownMenuTrigger asChild>
|
|
37
|
+
<Button variant="outline">Open</Button>
|
|
38
|
+
</DropdownMenuTrigger>
|
|
39
|
+
<DropdownMenuContent>
|
|
40
|
+
<DropdownMenuLabel>My Account</DropdownMenuLabel>
|
|
41
|
+
<DropdownMenuSeparator />
|
|
42
|
+
<DropdownMenuItem>Profile</DropdownMenuItem>
|
|
43
|
+
<DropdownMenuItem>Billing</DropdownMenuItem>
|
|
44
|
+
<DropdownMenuItem>Team</DropdownMenuItem>
|
|
45
|
+
<DropdownMenuItem>Subscription</DropdownMenuItem>
|
|
46
|
+
</DropdownMenuContent>
|
|
47
|
+
</DropdownMenu>
|
|
48
|
+
</ComponentShowcase>
|
|
49
|
+
</ComponentSection>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
|
|
6
|
+
export function FormDocs() {
|
|
7
|
+
return (
|
|
8
|
+
<ComponentSection title="Form" description="Building forms with React Hook Form and Zod validation.">
|
|
9
|
+
<ComponentShowcase
|
|
10
|
+
title="Basic Form"
|
|
11
|
+
description="A simple form layout with labels and inputs."
|
|
12
|
+
code={`<form className="space-y-4 w-full max-w-sm">
|
|
13
|
+
<div className="space-y-2">
|
|
14
|
+
<Label htmlFor="email">Email</Label>
|
|
15
|
+
<Input type="email" id="email" placeholder="Enter your email" />
|
|
16
|
+
</div>
|
|
17
|
+
<div className="space-y-2">
|
|
18
|
+
<Label htmlFor="password">Password</Label>
|
|
19
|
+
<Input type="password" id="password" placeholder="Enter your password" />
|
|
20
|
+
</div>
|
|
21
|
+
<Button type="submit" className="w-full">Submit</Button>
|
|
22
|
+
</form>`}
|
|
23
|
+
>
|
|
24
|
+
<form className="space-y-4 w-full max-w-sm">
|
|
25
|
+
<div className="space-y-2">
|
|
26
|
+
<Label htmlFor="email">Email</Label>
|
|
27
|
+
<Input type="email" id="email" placeholder="Enter your email" />
|
|
28
|
+
</div>
|
|
29
|
+
<div className="space-y-2">
|
|
30
|
+
<Label htmlFor="password">Password</Label>
|
|
31
|
+
<Input type="password" id="password" placeholder="Enter your password" />
|
|
32
|
+
</div>
|
|
33
|
+
<Button type="submit" className="w-full">
|
|
34
|
+
Submit
|
|
35
|
+
</Button>
|
|
36
|
+
</form>
|
|
37
|
+
</ComponentShowcase>
|
|
38
|
+
|
|
39
|
+
<ComponentShowcase
|
|
40
|
+
title="Inline Form"
|
|
41
|
+
description="A horizontal form layout for compact displays."
|
|
42
|
+
code={`<form className="flex gap-2 items-end w-full max-w-md">
|
|
43
|
+
<div className="flex-1 space-y-2">
|
|
44
|
+
<Label htmlFor="inline-email">Email</Label>
|
|
45
|
+
<Input type="email" id="inline-email" placeholder="Enter your email" />
|
|
46
|
+
</div>
|
|
47
|
+
<Button type="submit">Subscribe</Button>
|
|
48
|
+
</form>`}
|
|
49
|
+
>
|
|
50
|
+
<form className="flex gap-2 items-end w-full max-w-md">
|
|
51
|
+
<div className="flex-1 space-y-2">
|
|
52
|
+
<Label htmlFor="inline-email">Email</Label>
|
|
53
|
+
<Input type="email" id="inline-email" placeholder="Enter your email" />
|
|
54
|
+
</div>
|
|
55
|
+
<Button type="submit">Subscribe</Button>
|
|
56
|
+
</form>
|
|
57
|
+
</ComponentShowcase>
|
|
58
|
+
|
|
59
|
+
<ComponentShowcase
|
|
60
|
+
title="Form with Description"
|
|
61
|
+
description="Form fields with helper text below."
|
|
62
|
+
code={`<form className="space-y-4 w-full max-w-sm">
|
|
63
|
+
<div className="space-y-2">
|
|
64
|
+
<Label htmlFor="username">Username</Label>
|
|
65
|
+
<Input id="username" placeholder="johndoe" />
|
|
66
|
+
<p className="text-sm text-muted-foreground">
|
|
67
|
+
This is your public display name.
|
|
68
|
+
</p>
|
|
69
|
+
</div>
|
|
70
|
+
<Button type="submit">Save changes</Button>
|
|
71
|
+
</form>`}
|
|
72
|
+
>
|
|
73
|
+
<form className="space-y-4 w-full max-w-sm">
|
|
74
|
+
<div className="space-y-2">
|
|
75
|
+
<Label htmlFor="username">Username</Label>
|
|
76
|
+
<Input id="username" placeholder="johndoe" />
|
|
77
|
+
<p className="text-sm text-muted-foreground">This is your public display name.</p>
|
|
78
|
+
</div>
|
|
79
|
+
<Button type="submit">Save changes</Button>
|
|
80
|
+
</form>
|
|
81
|
+
</ComponentShowcase>
|
|
82
|
+
</ComponentSection>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
|
|
3
|
+
import { Button } from '@/components/ui/button';
|
|
4
|
+
import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/components/ui/hover-card';
|
|
5
|
+
import { CalendarDays } from 'lucide-react';
|
|
6
|
+
|
|
7
|
+
export function HoverCardDocs() {
|
|
8
|
+
return (
|
|
9
|
+
<ComponentSection title="Hover Card" description="For sighted users to preview content available behind a link.">
|
|
10
|
+
<ComponentShowcase
|
|
11
|
+
title="Default"
|
|
12
|
+
description="A hover card showing user profile information."
|
|
13
|
+
code={`<HoverCard>
|
|
14
|
+
<HoverCardTrigger asChild>
|
|
15
|
+
<Button variant="link">@nextjs</Button>
|
|
16
|
+
</HoverCardTrigger>
|
|
17
|
+
<HoverCardContent className="w-80">
|
|
18
|
+
<div className="flex justify-between space-x-4">
|
|
19
|
+
<Avatar>
|
|
20
|
+
<AvatarImage src="https://github.com/vercel.png" />
|
|
21
|
+
<AvatarFallback>VC</AvatarFallback>
|
|
22
|
+
</Avatar>
|
|
23
|
+
<div className="space-y-1">
|
|
24
|
+
<h4 className="text-sm font-semibold">@nextjs</h4>
|
|
25
|
+
<p className="text-sm">The React Framework – created and maintained by @vercel.</p>
|
|
26
|
+
<div className="flex items-center pt-2">
|
|
27
|
+
<CalendarDays className="mr-2 h-4 w-4 opacity-70" />
|
|
28
|
+
<span className="text-xs text-muted-foreground">Joined December 2021</span>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</HoverCardContent>
|
|
33
|
+
</HoverCard>`}
|
|
34
|
+
>
|
|
35
|
+
<HoverCard>
|
|
36
|
+
<HoverCardTrigger asChild>
|
|
37
|
+
<Button variant="link">@nextjs</Button>
|
|
38
|
+
</HoverCardTrigger>
|
|
39
|
+
<HoverCardContent className="w-80">
|
|
40
|
+
<div className="flex justify-between space-x-4">
|
|
41
|
+
<Avatar>
|
|
42
|
+
<AvatarImage src="https://github.com/vercel.png" />
|
|
43
|
+
<AvatarFallback>VC</AvatarFallback>
|
|
44
|
+
</Avatar>
|
|
45
|
+
<div className="space-y-1">
|
|
46
|
+
<h4 className="text-sm font-semibold">@nextjs</h4>
|
|
47
|
+
<p className="text-sm">The React Framework – created and maintained by @vercel.</p>
|
|
48
|
+
<div className="flex items-center pt-2">
|
|
49
|
+
<CalendarDays className="mr-2 h-4 w-4 opacity-70" />
|
|
50
|
+
<span className="text-xs text-muted-foreground">Joined December 2021</span>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</HoverCardContent>
|
|
55
|
+
</HoverCard>
|
|
56
|
+
</ComponentShowcase>
|
|
57
|
+
</ComponentSection>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
|
|
6
|
+
export function InputDocs() {
|
|
7
|
+
return (
|
|
8
|
+
<ComponentSection title="Input" description="Displays a form input field for collecting user text input.">
|
|
9
|
+
<ComponentShowcase
|
|
10
|
+
title="Default"
|
|
11
|
+
description="The default input field."
|
|
12
|
+
code={`<Input type="text" placeholder="Enter text..." />`}
|
|
13
|
+
>
|
|
14
|
+
<Input type="text" placeholder="Enter text..." className="max-w-xs" />
|
|
15
|
+
</ComponentShowcase>
|
|
16
|
+
|
|
17
|
+
<ComponentShowcase
|
|
18
|
+
title="With Label"
|
|
19
|
+
description="Pair inputs with labels for accessibility."
|
|
20
|
+
code={`<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
21
|
+
<Label htmlFor="email">Email</Label>
|
|
22
|
+
<Input type="email" id="email" placeholder="Email" />
|
|
23
|
+
</div>`}
|
|
24
|
+
>
|
|
25
|
+
<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
26
|
+
<Label htmlFor="email">Email</Label>
|
|
27
|
+
<Input type="email" id="email" placeholder="Email" />
|
|
28
|
+
</div>
|
|
29
|
+
</ComponentShowcase>
|
|
30
|
+
|
|
31
|
+
<ComponentShowcase
|
|
32
|
+
title="File Input"
|
|
33
|
+
description="Input for file uploads."
|
|
34
|
+
code={`<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
35
|
+
<Label htmlFor="picture">Picture</Label>
|
|
36
|
+
<Input id="picture" type="file" />
|
|
37
|
+
</div>`}
|
|
38
|
+
>
|
|
39
|
+
<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
40
|
+
<Label htmlFor="picture">Picture</Label>
|
|
41
|
+
<Input id="picture" type="file" />
|
|
42
|
+
</div>
|
|
43
|
+
</ComponentShowcase>
|
|
44
|
+
|
|
45
|
+
<ComponentShowcase
|
|
46
|
+
title="Disabled"
|
|
47
|
+
description="Disabled state prevents user interaction."
|
|
48
|
+
code={`<Input disabled type="text" placeholder="Disabled" />`}
|
|
49
|
+
>
|
|
50
|
+
<Input disabled type="text" placeholder="Disabled" className="max-w-xs" />
|
|
51
|
+
</ComponentShowcase>
|
|
52
|
+
|
|
53
|
+
<ComponentShowcase
|
|
54
|
+
title="With Button"
|
|
55
|
+
description="Combine input with a button for search patterns."
|
|
56
|
+
code={`<div className="flex w-full max-w-sm items-center space-x-2">
|
|
57
|
+
<Input type="email" placeholder="Email" />
|
|
58
|
+
<Button type="submit">Subscribe</Button>
|
|
59
|
+
</div>`}
|
|
60
|
+
>
|
|
61
|
+
<div className="flex w-full max-w-sm items-center space-x-2">
|
|
62
|
+
<Input type="email" placeholder="Email" />
|
|
63
|
+
<Button type="submit">Subscribe</Button>
|
|
64
|
+
</div>
|
|
65
|
+
</ComponentShowcase>
|
|
66
|
+
</ComponentSection>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import { Input } from '@/components/ui/input';
|
|
3
|
+
import { Label } from '@/components/ui/label';
|
|
4
|
+
|
|
5
|
+
export function LabelDocs() {
|
|
6
|
+
return (
|
|
7
|
+
<ComponentSection title="Label" description="Renders an accessible label associated with form controls.">
|
|
8
|
+
<ComponentShowcase
|
|
9
|
+
title="Default"
|
|
10
|
+
description="A basic label with an input."
|
|
11
|
+
code={`<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
12
|
+
<Label htmlFor="email">Email</Label>
|
|
13
|
+
<Input type="email" id="email" placeholder="Email" />
|
|
14
|
+
</div>`}
|
|
15
|
+
>
|
|
16
|
+
<div className="grid w-full max-w-sm items-center gap-1.5">
|
|
17
|
+
<Label htmlFor="email-label">Email</Label>
|
|
18
|
+
<Input type="email" id="email-label" placeholder="Email" />
|
|
19
|
+
</div>
|
|
20
|
+
</ComponentShowcase>
|
|
21
|
+
</ComponentSection>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
+
import {
|
|
3
|
+
Menubar,
|
|
4
|
+
MenubarContent,
|
|
5
|
+
MenubarItem,
|
|
6
|
+
MenubarMenu,
|
|
7
|
+
MenubarSeparator,
|
|
8
|
+
MenubarShortcut,
|
|
9
|
+
MenubarSub,
|
|
10
|
+
MenubarSubContent,
|
|
11
|
+
MenubarSubTrigger,
|
|
12
|
+
MenubarTrigger,
|
|
13
|
+
} from '@/components/ui/menubar';
|
|
14
|
+
|
|
15
|
+
export function MenubarDocs() {
|
|
16
|
+
return (
|
|
17
|
+
<ComponentSection title="Menubar" description="A visually persistent menu common in desktop applications.">
|
|
18
|
+
<ComponentShowcase
|
|
19
|
+
title="Default"
|
|
20
|
+
description="A menubar with submenus and shortcuts."
|
|
21
|
+
code={`<Menubar>
|
|
22
|
+
<MenubarMenu>
|
|
23
|
+
<MenubarTrigger>File</MenubarTrigger>
|
|
24
|
+
<MenubarContent>
|
|
25
|
+
<MenubarItem>
|
|
26
|
+
New Tab <MenubarShortcut>⌘T</MenubarShortcut>
|
|
27
|
+
</MenubarItem>
|
|
28
|
+
<MenubarItem>New Window</MenubarItem>
|
|
29
|
+
<MenubarSeparator />
|
|
30
|
+
<MenubarItem>Share</MenubarItem>
|
|
31
|
+
<MenubarSeparator />
|
|
32
|
+
<MenubarItem>Print</MenubarItem>
|
|
33
|
+
</MenubarContent>
|
|
34
|
+
</MenubarMenu>
|
|
35
|
+
<MenubarMenu>
|
|
36
|
+
<MenubarTrigger>Edit</MenubarTrigger>
|
|
37
|
+
<MenubarContent>
|
|
38
|
+
<MenubarItem>
|
|
39
|
+
Undo <MenubarShortcut>⌘Z</MenubarShortcut>
|
|
40
|
+
</MenubarItem>
|
|
41
|
+
<MenubarItem>
|
|
42
|
+
Redo <MenubarShortcut>⇧⌘Z</MenubarShortcut>
|
|
43
|
+
</MenubarItem>
|
|
44
|
+
<MenubarSeparator />
|
|
45
|
+
<MenubarSub>
|
|
46
|
+
<MenubarSubTrigger>Find</MenubarSubTrigger>
|
|
47
|
+
<MenubarSubContent>
|
|
48
|
+
<MenubarItem>Search the web</MenubarItem>
|
|
49
|
+
<MenubarItem>Find...</MenubarItem>
|
|
50
|
+
<MenubarItem>Find and Replace</MenubarItem>
|
|
51
|
+
</MenubarSubContent>
|
|
52
|
+
</MenubarSub>
|
|
53
|
+
</MenubarContent>
|
|
54
|
+
</MenubarMenu>
|
|
55
|
+
<MenubarMenu>
|
|
56
|
+
<MenubarTrigger>View</MenubarTrigger>
|
|
57
|
+
<MenubarContent>
|
|
58
|
+
<MenubarItem>
|
|
59
|
+
Zoom In <MenubarShortcut>⌘+</MenubarShortcut>
|
|
60
|
+
</MenubarItem>
|
|
61
|
+
<MenubarItem>
|
|
62
|
+
Zoom Out <MenubarShortcut>⌘-</MenubarShortcut>
|
|
63
|
+
</MenubarItem>
|
|
64
|
+
</MenubarContent>
|
|
65
|
+
</MenubarMenu>
|
|
66
|
+
</Menubar>`}
|
|
67
|
+
>
|
|
68
|
+
<Menubar>
|
|
69
|
+
<MenubarMenu>
|
|
70
|
+
<MenubarTrigger>File</MenubarTrigger>
|
|
71
|
+
<MenubarContent>
|
|
72
|
+
<MenubarItem>
|
|
73
|
+
New Tab <MenubarShortcut>⌘T</MenubarShortcut>
|
|
74
|
+
</MenubarItem>
|
|
75
|
+
<MenubarItem>New Window</MenubarItem>
|
|
76
|
+
<MenubarSeparator />
|
|
77
|
+
<MenubarItem>Share</MenubarItem>
|
|
78
|
+
<MenubarSeparator />
|
|
79
|
+
<MenubarItem>Print</MenubarItem>
|
|
80
|
+
</MenubarContent>
|
|
81
|
+
</MenubarMenu>
|
|
82
|
+
<MenubarMenu>
|
|
83
|
+
<MenubarTrigger>Edit</MenubarTrigger>
|
|
84
|
+
<MenubarContent>
|
|
85
|
+
<MenubarItem>
|
|
86
|
+
Undo <MenubarShortcut>⌘Z</MenubarShortcut>
|
|
87
|
+
</MenubarItem>
|
|
88
|
+
<MenubarItem>
|
|
89
|
+
Redo <MenubarShortcut>⇧⌘Z</MenubarShortcut>
|
|
90
|
+
</MenubarItem>
|
|
91
|
+
<MenubarSeparator />
|
|
92
|
+
<MenubarSub>
|
|
93
|
+
<MenubarSubTrigger>Find</MenubarSubTrigger>
|
|
94
|
+
<MenubarSubContent>
|
|
95
|
+
<MenubarItem>Search the web</MenubarItem>
|
|
96
|
+
<MenubarItem>Find...</MenubarItem>
|
|
97
|
+
<MenubarItem>Find and Replace</MenubarItem>
|
|
98
|
+
</MenubarSubContent>
|
|
99
|
+
</MenubarSub>
|
|
100
|
+
</MenubarContent>
|
|
101
|
+
</MenubarMenu>
|
|
102
|
+
<MenubarMenu>
|
|
103
|
+
<MenubarTrigger>View</MenubarTrigger>
|
|
104
|
+
<MenubarContent>
|
|
105
|
+
<MenubarItem>
|
|
106
|
+
Zoom In <MenubarShortcut>⌘+</MenubarShortcut>
|
|
107
|
+
</MenubarItem>
|
|
108
|
+
<MenubarItem>
|
|
109
|
+
Zoom Out <MenubarShortcut>⌘-</MenubarShortcut>
|
|
110
|
+
</MenubarItem>
|
|
111
|
+
</MenubarContent>
|
|
112
|
+
</MenubarMenu>
|
|
113
|
+
</Menubar>
|
|
114
|
+
</ComponentShowcase>
|
|
115
|
+
</ComponentSection>
|
|
116
|
+
);
|
|
117
|
+
}
|