@health-samurai/react-components 0.0.0-alpha.1 → 0.0.0-alpha.2
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/dist/bundle.css +100 -7
- package/dist/src/components/code-editor/index.js +53 -29
- package/dist/src/components/code-editor/index.js.map +1 -1
- package/dist/src/components/code-editor.stories.js +22 -7
- package/dist/src/components/code-editor.stories.js.map +1 -1
- package/dist/src/components/copy-icon.js +11 -4
- package/dist/src/components/copy-icon.js.map +1 -1
- package/dist/src/components/request-line-editor.js +56 -14
- package/dist/src/components/request-line-editor.js.map +1 -1
- package/dist/src/components/request-line-editor.stories.js +71 -22
- package/dist/src/components/request-line-editor.stories.js.map +1 -1
- package/dist/src/global.d.js +2 -0
- package/dist/src/global.d.js.map +1 -0
- package/dist/src/index.css +6 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +52 -50
- package/dist/src/index.js.map +1 -1
- package/dist/src/index.stories.js +8 -5
- package/dist/src/index.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.js +34 -5
- package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.stories.js +68 -3
- package/dist/src/shadcn/components/ui/accordion.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.js +61 -14
- package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.stories.js +39 -4
- package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.js +24 -8
- package/dist/src/shadcn/components/ui/alert.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.stories.js +57 -3
- package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.js +5 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.stories.js +12 -3
- package/dist/src/shadcn/components/ui/aspect-ratio.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.js +17 -4
- package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.stories.js +69 -3
- package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/badge.js +13 -6
- package/dist/src/shadcn/components/ui/badge.js.map +1 -1
- package/dist/src/shadcn/components/ui/badge.stories.js +55 -3
- package/dist/src/shadcn/components/ui/badge.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.js +56 -11
- package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.stories.js +69 -4
- package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.js +23 -13
- package/dist/src/shadcn/components/ui/button.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.stories.js +190 -10
- package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/calendar.js +75 -33
- package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
- package/dist/src/shadcn/components/ui/calendar.stories.js +12 -5
- package/dist/src/shadcn/components/ui/calendar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.js +38 -9
- package/dist/src/shadcn/components/ui/card.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.stories.js +91 -6
- package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/carousel.js +99 -39
- package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
- package/dist/src/shadcn/components/ui/carousel.stories.js +30 -6
- package/dist/src/shadcn/components/ui/carousel.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/chart.js +118 -55
- package/dist/src/shadcn/components/ui/chart.js.map +1 -1
- package/dist/src/shadcn/components/ui/chart.stories.js +72 -12
- package/dist/src/shadcn/components/ui/chart.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.js +14 -2
- package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.js +79 -4
- package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/collapsible.js +13 -3
- package/dist/src/shadcn/components/ui/collapsible.js.map +1 -1
- package/dist/src/shadcn/components/ui/collapsible.stories.js +54 -6
- package/dist/src/shadcn/components/ui/collapsible.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/command.js +77 -12
- package/dist/src/shadcn/components/ui/command.js.map +1 -1
- package/dist/src/shadcn/components/ui/command.stories.js +88 -4
- package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/context-menu.js +106 -17
- package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/context-menu.stories.js +101 -3
- package/dist/src/shadcn/components/ui/context-menu.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.js +69 -12
- package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.stories.js +82 -6
- package/dist/src/shadcn/components/ui/dialog.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.js +61 -12
- package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.stories.js +154 -21
- package/dist/src/shadcn/components/ui/drawer.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.js +107 -17
- package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +119 -4
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/form.js +58 -18
- package/dist/src/shadcn/components/ui/form.js.map +1 -1
- package/dist/src/shadcn/components/ui/form.stories.js +45 -11
- package/dist/src/shadcn/components/ui/form.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/hover-card.js +20 -4
- package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
- package/dist/src/shadcn/components/ui/hover-card.stories.js +51 -5
- package/dist/src/shadcn/components/ui/hover-card.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/input-otp.js +35 -7
- package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
- package/dist/src/shadcn/components/ui/input-otp.stories.js +35 -3
- package/dist/src/shadcn/components/ui/input-otp.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/input.js +59 -40
- package/dist/src/shadcn/components/ui/input.js.map +1 -1
- package/dist/src/shadcn/components/ui/input.stories.js +391 -23
- package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/label.js +7 -2
- package/dist/src/shadcn/components/ui/label.js.map +1 -1
- package/dist/src/shadcn/components/ui/label.stories.js +18 -4
- package/dist/src/shadcn/components/ui/label.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.js +116 -19
- package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.stories.js +216 -3
- package/dist/src/shadcn/components/ui/menubar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/navigation-menu.js +62 -10
- package/dist/src/shadcn/components/ui/navigation-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/navigation-menu.stories.js +263 -11
- package/dist/src/shadcn/components/ui/navigation-menu.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.js +73 -16
- package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.stories.js +41 -3
- package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/popover.js +23 -5
- package/dist/src/shadcn/components/ui/popover.js.map +1 -1
- package/dist/src/shadcn/components/ui/popover.stories.js +99 -6
- package/dist/src/shadcn/components/ui/popover.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/progress.js +14 -2
- package/dist/src/shadcn/components/ui/progress.js.map +1 -1
- package/dist/src/shadcn/components/ui/progress.stories.js +12 -8
- package/dist/src/shadcn/components/ui/progress.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.js +19 -3
- package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.js +48 -4
- package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/resizable.js +22 -4
- package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
- package/dist/src/shadcn/components/ui/resizable.stories.js +49 -3
- package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.js +26 -5
- package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.stories.js +30 -5
- package/dist/src/shadcn/components/ui/scroll-area.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.js +98 -19
- package/dist/src/shadcn/components/ui/select.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.stories.js +84 -5
- package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/separator.js +9 -2
- package/dist/src/shadcn/components/ui/separator.js.map +1 -1
- package/dist/src/shadcn/components/ui/separator.stories.js +43 -3
- package/dist/src/shadcn/components/ui/separator.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/sheet.js +69 -16
- package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
- package/dist/src/shadcn/components/ui/sheet.stories.js +77 -6
- package/dist/src/shadcn/components/ui/sheet.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.js +304 -79
- package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.stories.js +321 -59
- package/dist/src/shadcn/components/ui/sidebar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.js +7 -2
- package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.stories.js +22 -3
- package/dist/src/shadcn/components/ui/skeleton.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/slider.js +40 -7
- package/dist/src/shadcn/components/ui/slider.js.map +1 -1
- package/dist/src/shadcn/components/ui/slider.stories.js +11 -3
- package/dist/src/shadcn/components/ui/slider.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.js +10 -4
- package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.stories.js +14 -9
- package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.js +11 -2
- package/dist/src/shadcn/components/ui/switch.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.stories.js +16 -4
- package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.js +47 -10
- package/dist/src/shadcn/components/ui/table.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.stories.js +72 -11
- package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.d.ts +9 -5
- package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.js +75 -18
- package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts +6 -0
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.js +221 -10
- package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.js +7 -2
- package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.stories.js +6 -3
- package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.js +29 -8
- package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.stories.js +30 -3
- package/dist/src/shadcn/components/ui/toggle-group.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.js +16 -7
- package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.stories.js +9 -3
- package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.js +26 -5
- package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.stories.js +20 -4
- package/dist/src/shadcn/components/ui/tooltip.stories.js.map +1 -1
- package/dist/src/shadcn/hooks/use-mobile.js +4 -3
- package/dist/src/shadcn/hooks/use-mobile.js.map +1 -1
- package/dist/src/shadcn/lib/utils.js +1 -0
- package/dist/src/shadcn/lib/utils.js.map +1 -1
- package/package.json +8 -4
- package/src/index.css +6 -0
- package/src/index.tsx +1 -0
- package/src/shadcn/components/ui/tabs.stories.tsx +57 -0
- package/src/shadcn/components/ui/tabs.tsx +76 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/button.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Play, Trash2 } from \"lucide-react\";\nimport { Badge } from \"#shadcn/components/ui/badge\";\nimport { Button } from \"#shadcn/components/ui/button\";\n\nconst meta = {\n\ttitle: \"Component/Button\",\n\tcomponent: Button,\n\targTypes: {\n\t\tvariant: {},\n\t},\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const TextOnly = {\n\targs: {\n\t\tchildren: \"Remove\",\n\t},\n} satisfies Story;\n\nexport const WithIcon = {\n\targs: {\n\t\tchildren: (\n\t\t\t<>\n\t\t\t\t<Trash2 /> Remove{\" \"}\n\t\t\t</>\n\t\t),\n\t},\n} satisfies Story;\n\nexport const Demo = {\n\trender: () => (\n\t\t<div className=\"p-6 min-h-screen flex justify-center items-center\">\n\t\t\t<div className=\" rounded-lg p-6 shadow-sm w-280\">\n\t\t\t\t<div className=\"flex items-center mb-4 justify-between\">\n\t\t\t\t\t<div className=\"w-40 text-center\">Variants</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDanger:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDanger:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDisabled:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{([\"regular\", \"small\"] as const).map((size) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\" items-center gap-3 py-3 border-gray-l00 border-t border-border-separator\"\n\t\t\t\t\t\tkey={size}\n\t\t\t\t\t>\n\t\t\t\t\t\t{([\"primary\", \"secondary\", \"ghost\", \"link\"] as const).map(\n\t\t\t\t\t\t\t(variant) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={variant}\n\t\t\t\t\t\t\t\t\tclassName=\"flex gap-3 items-center py-2 justify-between\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"w-40 text-sm text-text-secondary\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex mb-1\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"w-15\">Variant:</div>\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t{variant}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"w-15\">Size:</div>\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t{size}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t),\n} satisfies Story;\n"],"names":["Play","Trash2","Badge","Button","meta","title","component","argTypes","variant","TextOnly","args","children","WithIcon","Demo","render","div","className","map","size","danger","disabled"],"mappings":";AACA,SAASA,IAAI,EAAEC,MAAM,QAAQ,eAAe;AAC5C,SAASC,KAAK,QAAQ,aAA8B;AACpD,SAASC,MAAM,QAAQ,cAA+B;AAEtD,MAAMC,OAAO;IACZC,OAAO;IACPC,WAAWH;IACXI,UAAU;QACTC,SAAS,CAAC;IACX;AACD;AACA,eAAeJ,KAAK;AAIpB,OAAO,MAAMK,WAAW;IACvBC,MAAM;QACLC,UAAU;IACX;AACD,EAAkB;AAElB,OAAO,MAAMC,WAAW;IACvBF,MAAM;QACLC,wBACC;;8BACC,KAACV;gBAAS;gBAAQ;;;IAGrB;AACD,EAAkB;AAElB,OAAO,MAAMY,OAAO;IACnBC,QAAQ,kBACP,KAACC;YAAIC,WAAU;sBACd,cAAA,MAACD;gBAAIC,WAAU;;kCACd,MAACD;wBAAIC,WAAU;;0CACd,KAACD;gCAAIC,WAAU;0CAAmB;;0CAClC,MAACD;gCAAIC,WAAU;;oCAA+C;kDAE7D,KAACd;wCAAMM,SAAQ;wCAAUQ,WAAU;kDAAU;;;;0CAI9C,MAACD;gCAAIC,WAAU;;oCAA+C;kDAE7D,KAACd;wCAAMM,SAAQ;wCAAUQ,WAAU;kDAAU;;;;0CAI9C,MAACD;gCAAIC,WAAU;;oCAA+C;kDAE7D,KAACd;wCAAMM,SAAQ;wCAAUQ,WAAU;kDAAU;;;;;;oBAM7C;wBAAC;wBAAW;qBAAQ,CAAWC,GAAG,CAAC,CAACC,qBACrC,KAACH;4BACAC,WAAU;sCAGT,AAAC;gCAAC;gCAAW;gCAAa;gCAAS;6BAAO,CAAWC,GAAG,CACxD,CAACT,wBACA,MAACO;oCAEAC,WAAU;;sDAEV,MAACD;4CAAIC,WAAU;;8DACd,MAACD;oDAAIC,WAAU;;sEACd,KAACD;4DAAIC,WAAU;sEAAO;;sEACtB,KAACd;4DAAMM,SAAQ;4DAAUQ,WAAU;sEACjCR;;;;8DAGH,MAACO;oDAAIC,WAAU;;sEACd,KAACD;4DAAIC,WAAU;sEAAO;;sEACtB,KAACd;4DAAMM,SAAQ;4DAAUQ,WAAU;sEACjCE;;;;;;sDAIJ,MAACH;4CAAIC,WAAU;;8DACd,KAACb;oDAAOe,MAAMA;oDAAMV,SAASA;8DAAS;;8DAGtC,MAACL;oDAAOe,MAAMA;oDAAMV,SAASA;;sEAC5B,KAACR;wDAAO;;;8DAET,KAACG;oDAAOe,MAAMA;oDAAMV,SAASA;8DAC5B,cAAA,KAACR;;;;sDAGH,MAACe;4CAAIC,WAAU;;8DACd,KAACb;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASW,MAAM;8DAAC;;8DAG7C,MAAChB;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASW,MAAM;;sEAC3C,KAACnB;wDAAO;;;8DAET,KAACG;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASW,MAAM;8DAC3C,cAAA,KAACnB;;;;sDAGH,MAACe;4CAAIC,WAAU;;8DACd,KAACb;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASY,QAAQ;8DAAC;;8DAG/C,MAACjB;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASY,QAAQ;;sEAC7C,KAACpB;wDAAO;;;8DAET,KAACG;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASY,QAAQ;8DAC7C,cAAA,KAACpB;;;;;mCA/CEQ;2BALHU;;;;AA+DX,EAAkB"}
|
|
@@ -1,28 +1,37 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon
|
|
2
|
+
import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { DayPicker, getDefaultClassNames
|
|
5
|
-
import { Button, buttonVariants } from "
|
|
6
|
-
import { cn } from "
|
|
4
|
+
import { DayPicker, getDefaultClassNames } from "react-day-picker";
|
|
5
|
+
import { Button, buttonVariants } from "./button.js";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
7
|
function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
|
|
8
8
|
const defaultClassNames = getDefaultClassNames();
|
|
9
|
-
return
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
return /*#__PURE__*/ _jsx(DayPicker, {
|
|
10
|
+
showOutsideDays: showOutsideDays,
|
|
11
|
+
className: cn("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
|
|
12
|
+
captionLayout: captionLayout,
|
|
13
|
+
formatters: {
|
|
14
|
+
formatMonthDropdown: (date)=>date.toLocaleString("default", {
|
|
15
|
+
month: "short"
|
|
16
|
+
}),
|
|
17
|
+
...formatters
|
|
18
|
+
},
|
|
19
|
+
classNames: {
|
|
13
20
|
root: cn("w-fit", defaultClassNames.root),
|
|
14
21
|
months: cn("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
|
|
15
22
|
month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
|
|
16
23
|
nav: cn("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", defaultClassNames.nav),
|
|
17
|
-
button_previous: cn(buttonVariants({
|
|
18
|
-
|
|
24
|
+
button_previous: cn(buttonVariants({
|
|
25
|
+
variant: buttonVariant
|
|
26
|
+
}), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_previous),
|
|
27
|
+
button_next: cn(buttonVariants({
|
|
28
|
+
variant: buttonVariant
|
|
29
|
+
}), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_next),
|
|
19
30
|
month_caption: cn("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", defaultClassNames.month_caption),
|
|
20
31
|
dropdowns: cn("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", defaultClassNames.dropdowns),
|
|
21
32
|
dropdown_root: cn("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md", defaultClassNames.dropdown_root),
|
|
22
33
|
dropdown: cn("absolute bg-popover inset-0 opacity-0", defaultClassNames.dropdown),
|
|
23
|
-
caption_label: cn("select-none font-medium", captionLayout === "label"
|
|
24
|
-
? "text-sm"
|
|
25
|
-
: "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5", defaultClassNames.caption_label),
|
|
34
|
+
caption_label: cn("select-none font-medium", captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5", defaultClassNames.caption_label),
|
|
26
35
|
table: "w-full border-collapse",
|
|
27
36
|
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
28
37
|
weekday: cn("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none", defaultClassNames.weekday),
|
|
@@ -37,38 +46,71 @@ function Calendar({ className, classNames, showOutsideDays = true, captionLayout
|
|
|
37
46
|
outside: cn("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
|
|
38
47
|
disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
|
|
39
48
|
hidden: cn("invisible", defaultClassNames.hidden),
|
|
40
|
-
...classNames
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
...classNames
|
|
50
|
+
},
|
|
51
|
+
components: {
|
|
52
|
+
Root: ({ className, rootRef, ...props })=>{
|
|
53
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
54
|
+
"data-slot": "calendar",
|
|
55
|
+
ref: rootRef,
|
|
56
|
+
className: cn(className),
|
|
57
|
+
...props
|
|
58
|
+
});
|
|
44
59
|
},
|
|
45
|
-
Chevron: ({ className, orientation, ...props })
|
|
60
|
+
Chevron: ({ className, orientation, ...props })=>{
|
|
46
61
|
if (orientation === "left") {
|
|
47
|
-
return
|
|
62
|
+
return /*#__PURE__*/ _jsx(ChevronLeftIcon, {
|
|
63
|
+
className: cn("size-4", className),
|
|
64
|
+
...props
|
|
65
|
+
});
|
|
48
66
|
}
|
|
49
67
|
if (orientation === "right") {
|
|
50
|
-
return
|
|
68
|
+
return /*#__PURE__*/ _jsx(ChevronRightIcon, {
|
|
69
|
+
className: cn("size-4", className),
|
|
70
|
+
...props
|
|
71
|
+
});
|
|
51
72
|
}
|
|
52
|
-
return
|
|
73
|
+
return /*#__PURE__*/ _jsx(ChevronDownIcon, {
|
|
74
|
+
className: cn("size-4", className),
|
|
75
|
+
...props
|
|
76
|
+
});
|
|
53
77
|
},
|
|
54
78
|
DayButton: CalendarDayButton,
|
|
55
|
-
WeekNumber: ({ children, ...props })
|
|
56
|
-
return
|
|
79
|
+
WeekNumber: ({ children, ...props })=>{
|
|
80
|
+
return /*#__PURE__*/ _jsx("td", {
|
|
81
|
+
...props,
|
|
82
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
83
|
+
className: "flex size-(--cell-size) items-center justify-center text-center",
|
|
84
|
+
children: children
|
|
85
|
+
})
|
|
86
|
+
});
|
|
57
87
|
},
|
|
58
|
-
...components
|
|
59
|
-
},
|
|
88
|
+
...components
|
|
89
|
+
},
|
|
90
|
+
...props
|
|
91
|
+
});
|
|
60
92
|
}
|
|
61
93
|
function CalendarDayButton({ className, day, modifiers, ...props }) {
|
|
62
94
|
const defaultClassNames = getDefaultClassNames();
|
|
63
95
|
const ref = React.useRef(null);
|
|
64
|
-
React.useEffect(()
|
|
65
|
-
if (modifiers.focused)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
96
|
+
React.useEffect(()=>{
|
|
97
|
+
if (modifiers.focused) ref.current?.focus();
|
|
98
|
+
}, [
|
|
99
|
+
modifiers.focused
|
|
100
|
+
]);
|
|
101
|
+
return /*#__PURE__*/ _jsx(Button, {
|
|
102
|
+
ref: ref,
|
|
103
|
+
variant: "ghost",
|
|
104
|
+
size: "small",
|
|
105
|
+
"data-day": day.date.toLocaleDateString(),
|
|
106
|
+
"data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
|
|
107
|
+
"data-range-start": modifiers.range_start,
|
|
108
|
+
"data-range-end": modifiers.range_end,
|
|
109
|
+
"data-range-middle": modifiers.range_middle,
|
|
110
|
+
className: cn("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className),
|
|
111
|
+
...props
|
|
112
|
+
});
|
|
72
113
|
}
|
|
73
114
|
export { Calendar, CalendarDayButton };
|
|
115
|
+
|
|
74
116
|
//# sourceMappingURL=calendar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/calendar.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/calendar.tsx"],"sourcesContent":["import {\n\tChevronDownIcon,\n\tChevronLeftIcon,\n\tChevronRightIcon,\n} from \"lucide-react\";\nimport * as React from \"react\";\nimport {\n\ttype DayButton,\n\tDayPicker,\n\tgetDefaultClassNames,\n} from \"react-day-picker\";\nimport { Button, buttonVariants } from \"#shadcn/components/ui/button\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Calendar({\n\tclassName,\n\tclassNames,\n\tshowOutsideDays = true,\n\tcaptionLayout = \"label\",\n\tbuttonVariant = \"ghost\",\n\tformatters,\n\tcomponents,\n\t...props\n}: React.ComponentProps<typeof DayPicker> & {\n\tbuttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\treturn (\n\t\t<DayPicker\n\t\t\tshowOutsideDays={showOutsideDays}\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tcaptionLayout={captionLayout}\n\t\t\tformatters={{\n\t\t\t\tformatMonthDropdown: (date) =>\n\t\t\t\t\tdate.toLocaleString(\"default\", { month: \"short\" }),\n\t\t\t\t...formatters,\n\t\t\t}}\n\t\t\tclassNames={{\n\t\t\t\troot: cn(\"w-fit\", defaultClassNames.root),\n\t\t\t\tmonths: cn(\n\t\t\t\t\t\"flex gap-4 flex-col md:flex-row relative\",\n\t\t\t\t\tdefaultClassNames.months,\n\t\t\t\t),\n\t\t\t\tmonth: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n\t\t\t\tnav: cn(\n\t\t\t\t\t\"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n\t\t\t\t\tdefaultClassNames.nav,\n\t\t\t\t),\n\t\t\t\tbutton_previous: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t\"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n\t\t\t\t\tdefaultClassNames.button_previous,\n\t\t\t\t),\n\t\t\t\tbutton_next: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t\"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n\t\t\t\t\tdefaultClassNames.button_next,\n\t\t\t\t),\n\t\t\t\tmonth_caption: cn(\n\t\t\t\t\t\"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n\t\t\t\t\tdefaultClassNames.month_caption,\n\t\t\t\t),\n\t\t\t\tdropdowns: cn(\n\t\t\t\t\t\"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n\t\t\t\t\tdefaultClassNames.dropdowns,\n\t\t\t\t),\n\t\t\t\tdropdown_root: cn(\n\t\t\t\t\t\"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n\t\t\t\t\tdefaultClassNames.dropdown_root,\n\t\t\t\t),\n\t\t\t\tdropdown: cn(\n\t\t\t\t\t\"absolute bg-popover inset-0 opacity-0\",\n\t\t\t\t\tdefaultClassNames.dropdown,\n\t\t\t\t),\n\t\t\t\tcaption_label: cn(\n\t\t\t\t\t\"select-none font-medium\",\n\t\t\t\t\tcaptionLayout === \"label\"\n\t\t\t\t\t\t? \"text-sm\"\n\t\t\t\t\t\t: \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n\t\t\t\t\tdefaultClassNames.caption_label,\n\t\t\t\t),\n\t\t\t\ttable: \"w-full border-collapse\",\n\t\t\t\tweekdays: cn(\"flex\", defaultClassNames.weekdays),\n\t\t\t\tweekday: cn(\n\t\t\t\t\t\"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n\t\t\t\t\tdefaultClassNames.weekday,\n\t\t\t\t),\n\t\t\t\tweek: cn(\"flex w-full mt-2\", defaultClassNames.week),\n\t\t\t\tweek_number_header: cn(\n\t\t\t\t\t\"select-none w-(--cell-size)\",\n\t\t\t\t\tdefaultClassNames.week_number_header,\n\t\t\t\t),\n\t\t\t\tweek_number: cn(\n\t\t\t\t\t\"text-[0.8rem] select-none text-muted-foreground\",\n\t\t\t\t\tdefaultClassNames.week_number,\n\t\t\t\t),\n\t\t\t\tday: cn(\n\t\t\t\t\t\"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n\t\t\t\t\tdefaultClassNames.day,\n\t\t\t\t),\n\t\t\t\trange_start: cn(\n\t\t\t\t\t\"rounded-l-md bg-accent\",\n\t\t\t\t\tdefaultClassNames.range_start,\n\t\t\t\t),\n\t\t\t\trange_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n\t\t\t\trange_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n\t\t\t\ttoday: cn(\n\t\t\t\t\t\"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n\t\t\t\t\tdefaultClassNames.today,\n\t\t\t\t),\n\t\t\t\toutside: cn(\n\t\t\t\t\t\"text-muted-foreground aria-selected:text-muted-foreground\",\n\t\t\t\t\tdefaultClassNames.outside,\n\t\t\t\t),\n\t\t\t\tdisabled: cn(\n\t\t\t\t\t\"text-muted-foreground opacity-50\",\n\t\t\t\t\tdefaultClassNames.disabled,\n\t\t\t\t),\n\t\t\t\thidden: cn(\"invisible\", defaultClassNames.hidden),\n\t\t\t\t...classNames,\n\t\t\t}}\n\t\t\tcomponents={{\n\t\t\t\tRoot: ({ className, rootRef, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tdata-slot=\"calendar\"\n\t\t\t\t\t\t\tref={rootRef}\n\t\t\t\t\t\t\tclassName={cn(className)}\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tChevron: ({ className, orientation, ...props }) => {\n\t\t\t\t\tif (orientation === \"left\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (orientation === \"right\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\tclassName={cn(\"size-4\", className)}\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tDayButton: CalendarDayButton,\n\t\t\t\tWeekNumber: ({ children, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<td {...props}>\n\t\t\t\t\t\t\t<div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t...components,\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CalendarDayButton({\n\tclassName,\n\tday,\n\tmodifiers,\n\t...props\n}: React.ComponentProps<typeof DayButton>) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\tReact.useEffect(() => {\n\t\tif (modifiers.focused) ref.current?.focus();\n\t}, [modifiers.focused]);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\tvariant=\"ghost\"\n\t\t\tsize=\"small\"\n\t\t\tdata-day={day.date.toLocaleDateString()}\n\t\t\tdata-selected-single={\n\t\t\t\tmodifiers.selected &&\n\t\t\t\t!modifiers.range_start &&\n\t\t\t\t!modifiers.range_end &&\n\t\t\t\t!modifiers.range_middle\n\t\t\t}\n\t\t\tdata-range-start={modifiers.range_start}\n\t\t\tdata-range-end={modifiers.range_end}\n\t\t\tdata-range-middle={modifiers.range_middle}\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70\",\n\t\t\t\tdefaultClassNames.day,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Calendar, CalendarDayButton };\n"],"names":["ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","React","DayPicker","getDefaultClassNames","Button","buttonVariants","cn","Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","String","raw","formatMonthDropdown","date","toLocaleString","month","root","months","nav","button_previous","variant","button_next","month_caption","dropdowns","dropdown_root","dropdown","caption_label","table","weekdays","weekday","week","week_number_header","week_number","day","range_start","range_middle","range_end","today","outside","disabled","hidden","Root","rootRef","div","data-slot","ref","Chevron","orientation","DayButton","CalendarDayButton","WeekNumber","children","td","modifiers","useRef","useEffect","focused","current","focus","size","data-day","toLocaleDateString","data-selected-single","selected","data-range-start","data-range-end","data-range-middle"],"mappings":";AAAA,SACCA,eAAe,EACfC,eAAe,EACfC,gBAAgB,QACV,eAAe;AACtB,YAAYC,WAAW,QAAQ;AAC/B,SAECC,SAAS,EACTC,oBAAoB,QACd,mBAAmB;AAC1B,SAASC,MAAM,EAAEC,cAAc,QAAQ,cAA+B;AACtE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,SAAS,EACjBC,SAAS,EACTC,UAAU,EACVC,kBAAkB,IAAI,EACtBC,gBAAgB,OAAO,EACvBC,gBAAgB,OAAO,EACvBC,UAAU,EACVC,UAAU,EACV,GAAGC,OAGH;IACA,MAAMC,oBAAoBb;IAE1B,qBACC,KAACD;QACAQ,iBAAiBA;QACjBF,WAAWF,GACV,0JACAW,OAAOC,GAAG,CAAC,yCAAyC,CAAC,EACrDD,OAAOC,GAAG,CAAC,6CAA6C,CAAC,EACzDV;QAEDG,eAAeA;QACfE,YAAY;YACXM,qBAAqB,CAACC,OACrBA,KAAKC,cAAc,CAAC,WAAW;oBAAEC,OAAO;gBAAQ;YACjD,GAAGT,UAAU;QACd;QACAJ,YAAY;YACXc,MAAMjB,GAAG,SAASU,kBAAkBO,IAAI;YACxCC,QAAQlB,GACP,4CACAU,kBAAkBQ,MAAM;YAEzBF,OAAOhB,GAAG,8BAA8BU,kBAAkBM,KAAK;YAC/DG,KAAKnB,GACJ,2EACAU,kBAAkBS,GAAG;YAEtBC,iBAAiBpB,GAChBD,eAAe;gBAAEsB,SAASf;YAAc,IACxC,+DACAI,kBAAkBU,eAAe;YAElCE,aAAatB,GACZD,eAAe;gBAAEsB,SAASf;YAAc,IACxC,+DACAI,kBAAkBY,WAAW;YAE9BC,eAAevB,GACd,4EACAU,kBAAkBa,aAAa;YAEhCC,WAAWxB,GACV,uFACAU,kBAAkBc,SAAS;YAE5BC,eAAezB,GACd,uHACAU,kBAAkBe,aAAa;YAEhCC,UAAU1B,GACT,yCACAU,kBAAkBgB,QAAQ;YAE3BC,eAAe3B,GACd,2BACAK,kBAAkB,UACf,YACA,2GACHK,kBAAkBiB,aAAa;YAEhCC,OAAO;YACPC,UAAU7B,GAAG,QAAQU,kBAAkBmB,QAAQ;YAC/CC,SAAS9B,GACR,iFACAU,kBAAkBoB,OAAO;YAE1BC,MAAM/B,GAAG,oBAAoBU,kBAAkBqB,IAAI;YACnDC,oBAAoBhC,GACnB,+BACAU,kBAAkBsB,kBAAkB;YAErCC,aAAajC,GACZ,mDACAU,kBAAkBuB,WAAW;YAE9BC,KAAKlC,GACJ,6LACAU,kBAAkBwB,GAAG;YAEtBC,aAAanC,GACZ,0BACAU,kBAAkByB,WAAW;YAE9BC,cAAcpC,GAAG,gBAAgBU,kBAAkB0B,YAAY;YAC/DC,WAAWrC,GAAG,0BAA0BU,kBAAkB2B,SAAS;YACnEC,OAAOtC,GACN,iFACAU,kBAAkB4B,KAAK;YAExBC,SAASvC,GACR,6DACAU,kBAAkB6B,OAAO;YAE1BC,UAAUxC,GACT,oCACAU,kBAAkB8B,QAAQ;YAE3BC,QAAQzC,GAAG,aAAaU,kBAAkB+B,MAAM;YAChD,GAAGtC,UAAU;QACd;QACAK,YAAY;YACXkC,MAAM,CAAC,EAAExC,SAAS,EAAEyC,OAAO,EAAE,GAAGlC,OAAO;gBACtC,qBACC,KAACmC;oBACAC,aAAU;oBACVC,KAAKH;oBACLzC,WAAWF,GAAGE;oBACb,GAAGO,KAAK;;YAGZ;YACAsC,SAAS,CAAC,EAAE7C,SAAS,EAAE8C,WAAW,EAAE,GAAGvC,OAAO;gBAC7C,IAAIuC,gBAAgB,QAAQ;oBAC3B,qBACC,KAACvD;wBAAgBS,WAAWF,GAAG,UAAUE;wBAAa,GAAGO,KAAK;;gBAEhE;gBAEA,IAAIuC,gBAAgB,SAAS;oBAC5B,qBACC,KAACtD;wBACAQ,WAAWF,GAAG,UAAUE;wBACvB,GAAGO,KAAK;;gBAGZ;gBAEA,qBACC,KAACjB;oBAAgBU,WAAWF,GAAG,UAAUE;oBAAa,GAAGO,KAAK;;YAEhE;YACAwC,WAAWC;YACXC,YAAY,CAAC,EAAEC,QAAQ,EAAE,GAAG3C,OAAO;gBAClC,qBACC,KAAC4C;oBAAI,GAAG5C,KAAK;8BACZ,cAAA,KAACmC;wBAAI1C,WAAU;kCACbkD;;;YAIL;YACA,GAAG5C,UAAU;QACd;QACC,GAAGC,KAAK;;AAGZ;AAEA,SAASyC,kBAAkB,EAC1BhD,SAAS,EACTgC,GAAG,EACHoB,SAAS,EACT,GAAG7C,OACqC;IACxC,MAAMC,oBAAoBb;IAE1B,MAAMiD,MAAMnD,MAAM4D,MAAM,CAAoB;IAC5C5D,MAAM6D,SAAS,CAAC;QACf,IAAIF,UAAUG,OAAO,EAAEX,IAAIY,OAAO,EAAEC;IACrC,GAAG;QAACL,UAAUG,OAAO;KAAC;IAEtB,qBACC,KAAC3D;QACAgD,KAAKA;QACLzB,SAAQ;QACRuC,MAAK;QACLC,YAAU3B,IAAIpB,IAAI,CAACgD,kBAAkB;QACrCC,wBACCT,UAAUU,QAAQ,IAClB,CAACV,UAAUnB,WAAW,IACtB,CAACmB,UAAUjB,SAAS,IACpB,CAACiB,UAAUlB,YAAY;QAExB6B,oBAAkBX,UAAUnB,WAAW;QACvC+B,kBAAgBZ,UAAUjB,SAAS;QACnC8B,qBAAmBb,UAAUlB,YAAY;QACzClC,WAAWF,GACV,o3BACAU,kBAAkBwB,GAAG,EACrBhC;QAEA,GAAGO,KAAK;;AAGZ;AAEA,SAASR,QAAQ,EAAEiD,iBAAiB,GAAG"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { Calendar } from "
|
|
3
|
+
import { Calendar } from "./calendar.js";
|
|
4
4
|
const meta = {
|
|
5
|
-
title: "Component/Calendar"
|
|
5
|
+
title: "Component/Calendar"
|
|
6
6
|
};
|
|
7
7
|
export default meta;
|
|
8
8
|
export const Demo = {
|
|
9
|
-
render: ()
|
|
9
|
+
render: ()=>{
|
|
10
10
|
const [date, setDate] = React.useState(new Date());
|
|
11
|
-
return
|
|
12
|
-
|
|
11
|
+
return /*#__PURE__*/ _jsx(Calendar, {
|
|
12
|
+
mode: "single",
|
|
13
|
+
selected: date,
|
|
14
|
+
onSelect: setDate,
|
|
15
|
+
className: "rounded-md border shadow-sm",
|
|
16
|
+
captionLayout: "dropdown"
|
|
17
|
+
});
|
|
18
|
+
}
|
|
13
19
|
};
|
|
20
|
+
|
|
14
21
|
//# sourceMappingURL=calendar.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/calendar.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport * as React from \"react\";\nimport { Calendar } from \"#shadcn/components/ui/calendar\";\n\nconst meta = {\n\ttitle: \"Component/Calendar\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => {\n\t\tconst [date, setDate] = React.useState<Date | undefined>(new Date());\n\n\t\treturn (\n\t\t\t<Calendar\n\t\t\t\tmode=\"single\"\n\t\t\t\tselected={date}\n\t\t\t\tonSelect={setDate}\n\t\t\t\tclassName=\"rounded-md border shadow-sm\"\n\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t/>\n\t\t);\n\t},\n} satisfies Story;\n"],"names":["React","Calendar","meta","title","Demo","render","date","setDate","useState","Date","mode","selected","onSelect","className","captionLayout"],"mappings":";AACA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,QAAQ,QAAQ,gBAAiC;AAE1D,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ;QACP,MAAM,CAACC,MAAMC,QAAQ,GAAGP,MAAMQ,QAAQ,CAAmB,IAAIC;QAE7D,qBACC,KAACR;YACAS,MAAK;YACLC,UAAUL;YACVM,UAAUL;YACVM,WAAU;YACVC,eAAc;;IAGjB;AACD,EAAkB"}
|
|
@@ -1,25 +1,54 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "
|
|
2
|
+
import { cn } from "../../lib/utils.js";
|
|
3
3
|
function Card({ className, ...props }) {
|
|
4
|
-
return
|
|
4
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
5
|
+
"data-slot": "card",
|
|
6
|
+
className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className),
|
|
7
|
+
...props
|
|
8
|
+
});
|
|
5
9
|
}
|
|
6
10
|
function CardHeader({ className, ...props }) {
|
|
7
|
-
return
|
|
11
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
12
|
+
"data-slot": "card-header",
|
|
13
|
+
className: cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className),
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
8
16
|
}
|
|
9
17
|
function CardTitle({ className, ...props }) {
|
|
10
|
-
return
|
|
18
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
19
|
+
"data-slot": "card-title",
|
|
20
|
+
className: cn("leading-none font-semibold", className),
|
|
21
|
+
...props
|
|
22
|
+
});
|
|
11
23
|
}
|
|
12
24
|
function CardDescription({ className, ...props }) {
|
|
13
|
-
return
|
|
25
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
26
|
+
"data-slot": "card-description",
|
|
27
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
28
|
+
...props
|
|
29
|
+
});
|
|
14
30
|
}
|
|
15
31
|
function CardAction({ className, ...props }) {
|
|
16
|
-
return
|
|
32
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
33
|
+
"data-slot": "card-action",
|
|
34
|
+
className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
17
37
|
}
|
|
18
38
|
function CardContent({ className, ...props }) {
|
|
19
|
-
return
|
|
39
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
40
|
+
"data-slot": "card-content",
|
|
41
|
+
className: cn("px-6", className),
|
|
42
|
+
...props
|
|
43
|
+
});
|
|
20
44
|
}
|
|
21
45
|
function CardFooter({ className, ...props }) {
|
|
22
|
-
return
|
|
46
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
47
|
+
"data-slot": "card-footer",
|
|
48
|
+
className: cn("flex items-center px-6 [.border-t]:pt-6", className),
|
|
49
|
+
...props
|
|
50
|
+
});
|
|
23
51
|
}
|
|
24
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent
|
|
52
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };
|
|
53
|
+
|
|
25
54
|
//# sourceMappingURL=card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/card.tsx"],"sourcesContent":["import type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-header\"\n\t\t\tclassName={cn(\n\t\t\t\t\"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-title\"\n\t\t\tclassName={cn(\"leading-none font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-description\"\n\t\t\tclassName={cn(\"text-muted-foreground text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-content\"\n\t\t\tclassName={cn(\"px-6\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-footer\"\n\t\t\tclassName={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tCard,\n\tCardHeader,\n\tCardFooter,\n\tCardTitle,\n\tCardAction,\n\tCardDescription,\n\tCardContent,\n};\n"],"names":["cn","Card","className","props","div","data-slot","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";AAEA,SAASA,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,KAAK,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACjE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GACV,qFACAE;QAEA,GAAGC,KAAK;;AAGZ;AAEA,SAASG,WAAW,EAAEJ,SAAS,EAAE,GAAGC,OAAoC;IACvE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GACV,8JACAE;QAEA,GAAGC,KAAK;;AAGZ;AAEA,SAASI,UAAU,EAAEL,SAAS,EAAE,GAAGC,OAAoC;IACtE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,8BAA8BE;QAC3C,GAAGC,KAAK;;AAGZ;AAEA,SAASK,gBAAgB,EAAEN,SAAS,EAAE,GAAGC,OAAoC;IAC5E,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,iCAAiCE;QAC9C,GAAGC,KAAK;;AAGZ;AAEA,SAASM,WAAW,EAAEP,SAAS,EAAE,GAAGC,OAAoC;IACvE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GACV,kEACAE;QAEA,GAAGC,KAAK;;AAGZ;AAEA,SAASO,YAAY,EAAER,SAAS,EAAE,GAAGC,OAAoC;IACxE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,QAAQE;QACrB,GAAGC,KAAK;;AAGZ;AAEA,SAASQ,WAAW,EAAET,SAAS,EAAE,GAAGC,OAAoC;IACvE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,2CAA2CE;QACxD,GAAGC,KAAK;;AAGZ;AAEA,SACCF,IAAI,EACJK,UAAU,EACVK,UAAU,EACVJ,SAAS,EACTE,UAAU,EACVD,eAAe,EACfE,WAAW,GACV"}
|
|
@@ -1,13 +1,98 @@
|
|
|
1
|
+
// biome-ignore-all lint/a11y/useValidAnchor: Useless in stories
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from "
|
|
3
|
-
import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle
|
|
4
|
-
import { Input } from "
|
|
5
|
-
import { Label } from "
|
|
3
|
+
import { Button } from "./button.js";
|
|
4
|
+
import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./card.js";
|
|
5
|
+
import { Input } from "./input.js";
|
|
6
|
+
import { Label } from "./label.js";
|
|
6
7
|
const meta = {
|
|
7
|
-
title: "Component/Card"
|
|
8
|
+
title: "Component/Card"
|
|
8
9
|
};
|
|
9
10
|
export default meta;
|
|
10
11
|
export const Demo = {
|
|
11
|
-
render: ()
|
|
12
|
+
render: ()=>/*#__PURE__*/ _jsxs(Card, {
|
|
13
|
+
className: "w-full max-w-sm",
|
|
14
|
+
children: [
|
|
15
|
+
/*#__PURE__*/ _jsxs(CardHeader, {
|
|
16
|
+
children: [
|
|
17
|
+
/*#__PURE__*/ _jsx(CardTitle, {
|
|
18
|
+
children: "Login to your account"
|
|
19
|
+
}),
|
|
20
|
+
/*#__PURE__*/ _jsx(CardDescription, {
|
|
21
|
+
children: "Enter your email below to login to your account"
|
|
22
|
+
}),
|
|
23
|
+
/*#__PURE__*/ _jsx(CardAction, {
|
|
24
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
25
|
+
variant: "link",
|
|
26
|
+
children: "Sign Up"
|
|
27
|
+
})
|
|
28
|
+
})
|
|
29
|
+
]
|
|
30
|
+
}),
|
|
31
|
+
/*#__PURE__*/ _jsx(CardContent, {
|
|
32
|
+
children: /*#__PURE__*/ _jsx("form", {
|
|
33
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
34
|
+
className: "flex flex-col gap-6",
|
|
35
|
+
children: [
|
|
36
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
37
|
+
className: "grid gap-2",
|
|
38
|
+
children: [
|
|
39
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
40
|
+
htmlFor: "login",
|
|
41
|
+
children: "Login"
|
|
42
|
+
}),
|
|
43
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
44
|
+
id: "login",
|
|
45
|
+
type: "text",
|
|
46
|
+
placeholder: "user",
|
|
47
|
+
required: true
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
}),
|
|
51
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
52
|
+
className: "grid gap-2",
|
|
53
|
+
children: [
|
|
54
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
55
|
+
className: "flex items-center",
|
|
56
|
+
children: [
|
|
57
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
58
|
+
htmlFor: "password",
|
|
59
|
+
children: "Password"
|
|
60
|
+
}),
|
|
61
|
+
/*#__PURE__*/ _jsx("a", {
|
|
62
|
+
href: "#",
|
|
63
|
+
className: "ml-auto inline-block text-sm underline-offset-4 hover:underline",
|
|
64
|
+
children: "Forgot your password?"
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
}),
|
|
68
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
69
|
+
id: "password",
|
|
70
|
+
type: "password",
|
|
71
|
+
required: true
|
|
72
|
+
})
|
|
73
|
+
]
|
|
74
|
+
})
|
|
75
|
+
]
|
|
76
|
+
})
|
|
77
|
+
})
|
|
78
|
+
}),
|
|
79
|
+
/*#__PURE__*/ _jsxs(CardFooter, {
|
|
80
|
+
className: "flex-col gap-2",
|
|
81
|
+
children: [
|
|
82
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
83
|
+
type: "submit",
|
|
84
|
+
className: "w-full",
|
|
85
|
+
children: "Login"
|
|
86
|
+
}),
|
|
87
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
88
|
+
variant: "secondary",
|
|
89
|
+
className: "w-full",
|
|
90
|
+
children: "Login with Google"
|
|
91
|
+
})
|
|
92
|
+
]
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
})
|
|
12
96
|
};
|
|
97
|
+
|
|
13
98
|
//# sourceMappingURL=card.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/card.stories.tsx"],"sourcesContent":["// biome-ignore-all lint/a11y/useValidAnchor: Useless in stories\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport {\n\tCard,\n\tCardAction,\n\tCardContent,\n\tCardDescription,\n\tCardFooter,\n\tCardHeader,\n\tCardTitle,\n} from \"#shadcn/components/ui/card\";\nimport { Input } from \"#shadcn/components/ui/input\";\nimport { Label } from \"#shadcn/components/ui/label\";\n\nconst meta = {\n\ttitle: \"Component/Card\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<Card className=\"w-full max-w-sm\">\n\t\t\t<CardHeader>\n\t\t\t\t<CardTitle>Login to your account</CardTitle>\n\t\t\t\t<CardDescription>\n\t\t\t\t\tEnter your email below to login to your account\n\t\t\t\t</CardDescription>\n\t\t\t\t<CardAction>\n\t\t\t\t\t<Button variant=\"link\">Sign Up</Button>\n\t\t\t\t</CardAction>\n\t\t\t</CardHeader>\n\t\t\t<CardContent>\n\t\t\t\t<form>\n\t\t\t\t\t<div className=\"flex flex-col gap-6\">\n\t\t\t\t\t\t<div className=\"grid gap-2\">\n\t\t\t\t\t\t\t<Label htmlFor=\"login\">Login</Label>\n\t\t\t\t\t\t\t<Input id=\"login\" type=\"text\" placeholder=\"user\" required />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"grid gap-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t<Label htmlFor=\"password\">Password</Label>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t\tclassName=\"ml-auto inline-block text-sm underline-offset-4 hover:underline\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tForgot your password?\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Input id=\"password\" type=\"password\" required />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</CardContent>\n\t\t\t<CardFooter className=\"flex-col gap-2\">\n\t\t\t\t<Button type=\"submit\" className=\"w-full\">\n\t\t\t\t\tLogin\n\t\t\t\t</Button>\n\t\t\t\t<Button variant=\"secondary\" className=\"w-full\">\n\t\t\t\t\tLogin with Google\n\t\t\t\t</Button>\n\t\t\t</CardFooter>\n\t\t</Card>\n\t),\n} satisfies Story;\n"],"names":["Button","Card","CardAction","CardContent","CardDescription","CardFooter","CardHeader","CardTitle","Input","Label","meta","title","Demo","render","className","variant","form","div","htmlFor","id","type","placeholder","required","a","href"],"mappings":"AAAA,gEAAgE;;AAEhE,SAASA,MAAM,QAAQ,cAA+B;AACtD,SACCC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,SAAS,QACH,YAA6B;AACpC,SAASC,KAAK,QAAQ,aAA8B;AACpD,SAASC,KAAK,QAAQ,aAA8B;AAEpD,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACZ;YAAKa,WAAU;;8BACf,MAACR;;sCACA,KAACC;sCAAU;;sCACX,KAACH;sCAAgB;;sCAGjB,KAACF;sCACA,cAAA,KAACF;gCAAOe,SAAQ;0CAAO;;;;;8BAGzB,KAACZ;8BACA,cAAA,KAACa;kCACA,cAAA,MAACC;4BAAIH,WAAU;;8CACd,MAACG;oCAAIH,WAAU;;sDACd,KAACL;4CAAMS,SAAQ;sDAAQ;;sDACvB,KAACV;4CAAMW,IAAG;4CAAQC,MAAK;4CAAOC,aAAY;4CAAOC,QAAQ;;;;8CAE1D,MAACL;oCAAIH,WAAU;;sDACd,MAACG;4CAAIH,WAAU;;8DACd,KAACL;oDAAMS,SAAQ;8DAAW;;8DAC1B,KAACK;oDACAC,MAAK;oDACLV,WAAU;8DACV;;;;sDAIF,KAACN;4CAAMW,IAAG;4CAAWC,MAAK;4CAAWE,QAAQ;;;;;;;;8BAKjD,MAACjB;oBAAWS,WAAU;;sCACrB,KAACd;4BAAOoB,MAAK;4BAASN,WAAU;sCAAS;;sCAGzC,KAACd;4BAAOe,SAAQ;4BAAYD,WAAU;sCAAS;;;;;;AAMnD,EAAkB"}
|