@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,51 +1,141 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
3
3
|
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
|
|
4
|
-
import { cn } from "
|
|
4
|
+
import { cn } from "../../lib/utils.js";
|
|
5
5
|
function DropdownMenu({ ...props }) {
|
|
6
|
-
return _jsx(DropdownMenuPrimitive.Root, {
|
|
6
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Root, {
|
|
7
|
+
"data-slot": "dropdown-menu",
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
7
10
|
}
|
|
8
11
|
function DropdownMenuPortal({ ...props }) {
|
|
9
|
-
return
|
|
12
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Portal, {
|
|
13
|
+
"data-slot": "dropdown-menu-portal",
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
10
16
|
}
|
|
11
17
|
function DropdownMenuTrigger({ ...props }) {
|
|
12
|
-
return
|
|
18
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Trigger, {
|
|
19
|
+
"data-slot": "dropdown-menu-trigger",
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
13
22
|
}
|
|
14
23
|
function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
|
|
15
|
-
return
|
|
24
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Portal, {
|
|
25
|
+
children: /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Content, {
|
|
26
|
+
"data-slot": "dropdown-menu-content",
|
|
27
|
+
sideOffset: sideOffset,
|
|
28
|
+
className: cn("bg-bg-primary data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0", "data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2", "data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height)", "min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin)", "overflow-x-hidden overflow-y-auto rounded-md border border-border-separator px-2 py-3 shadow-lg space-y-0.5", className),
|
|
29
|
+
...props
|
|
30
|
+
})
|
|
31
|
+
});
|
|
16
32
|
}
|
|
17
33
|
function DropdownMenuGroup({ ...props }) {
|
|
18
|
-
return
|
|
34
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Group, {
|
|
35
|
+
"data-slot": "dropdown-menu-group",
|
|
36
|
+
...props
|
|
37
|
+
});
|
|
19
38
|
}
|
|
20
39
|
function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
|
|
21
|
-
return
|
|
40
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Item, {
|
|
41
|
+
"data-slot": "dropdown-menu-item",
|
|
42
|
+
"data-inset": inset,
|
|
43
|
+
"data-variant": variant,
|
|
44
|
+
className: cn("cursor-pointer items-center flex gap-2 h-8 px-3 py-1.5 relativerounded-md", "outline-hidden select-none typo-body text-text-secondary", "focus:bg-bg-secondary focus:text-text-primary", "data-[variant=destructive]:text-text-error-primary", "data-[variant=destructive]:focus:bg-bg-error-tertiary", "dark:data-[variant=destructive]:focus:bg-bg-error-tertiary", "data-[variant=destructive]:focus:text-text-error-primary", "data-[variant=destructive]:*:[svg]:!text-text-error-primary", "[&_svg:not([class*='text-'])]:fg-fg-secondary", "data-[disabled]:pointer-events-none", "data-[disabled]:opacity-50", "data-[inset]:pl-8", "[&_svg]:pointer-events-none", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4", className),
|
|
45
|
+
...props
|
|
46
|
+
});
|
|
22
47
|
}
|
|
23
48
|
function DropdownMenuCheckboxItem({ className, children, ...props }) {
|
|
24
|
-
return
|
|
49
|
+
return /*#__PURE__*/ _jsxs(DropdownMenuPrimitive.CheckboxItem, {
|
|
50
|
+
"data-slot": "dropdown-menu-checkbox-item",
|
|
51
|
+
className: cn("focus:bg-bg-secondary focus:text-text-primary relative flex cursor-default items-center gap-2 rounded-lg py-1 pr-2 pl-9", "outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none", "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg]:text-text-link h-8 typo-body text-text-secondary", className),
|
|
52
|
+
...props,
|
|
53
|
+
children: [
|
|
54
|
+
/*#__PURE__*/ _jsx("span", {
|
|
55
|
+
className: "pointer-events-none absolute left-3 flex size-3.5 items-center justify-center",
|
|
56
|
+
children: /*#__PURE__*/ _jsx(DropdownMenuPrimitive.ItemIndicator, {
|
|
57
|
+
children: /*#__PURE__*/ _jsx(CheckIcon, {
|
|
58
|
+
className: "size-4"
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
}),
|
|
62
|
+
children
|
|
63
|
+
]
|
|
64
|
+
});
|
|
25
65
|
}
|
|
26
66
|
function DropdownMenuRadioGroup({ ...props }) {
|
|
27
|
-
return
|
|
67
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.RadioGroup, {
|
|
68
|
+
"data-slot": "dropdown-menu-radio-group",
|
|
69
|
+
...props
|
|
70
|
+
});
|
|
28
71
|
}
|
|
29
72
|
function DropdownMenuRadioItem({ className, children, ...props }) {
|
|
30
|
-
return
|
|
73
|
+
return /*#__PURE__*/ _jsxs(DropdownMenuPrimitive.RadioItem, {
|
|
74
|
+
"data-slot": "dropdown-menu-radio-item",
|
|
75
|
+
className: cn("focus:bg-bg-secondary focus:text-text-primary relative flex cursor-pointer items-center gap-2 rounded-md py-1.5 pr-2", "outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none", "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 h-8 typo-body text-text-secondary", className),
|
|
76
|
+
...props,
|
|
77
|
+
children: [
|
|
78
|
+
/*#__PURE__*/ _jsx("span", {
|
|
79
|
+
className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
|
|
80
|
+
children: /*#__PURE__*/ _jsx(DropdownMenuPrimitive.ItemIndicator, {
|
|
81
|
+
children: /*#__PURE__*/ _jsx(CircleIcon, {
|
|
82
|
+
className: "size-2 fill-current"
|
|
83
|
+
})
|
|
84
|
+
})
|
|
85
|
+
}),
|
|
86
|
+
children
|
|
87
|
+
]
|
|
88
|
+
});
|
|
31
89
|
}
|
|
32
90
|
function DropdownMenuLabel({ className, inset, ...props }) {
|
|
33
|
-
return
|
|
91
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Label, {
|
|
92
|
+
"data-slot": "dropdown-menu-label",
|
|
93
|
+
"data-inset": inset,
|
|
94
|
+
className: cn("px-3 py-1.5 data-[inset]:pl-10 typo-body text-text-secondary", className),
|
|
95
|
+
...props
|
|
96
|
+
});
|
|
34
97
|
}
|
|
35
98
|
function DropdownMenuSeparator({ className, ...props }) {
|
|
36
|
-
return
|
|
99
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Separator, {
|
|
100
|
+
"data-slot": "dropdown-menu-separator",
|
|
101
|
+
className: cn("bg-bg-quaternary -mx-1 my-1 h-px", className),
|
|
102
|
+
...props
|
|
103
|
+
});
|
|
37
104
|
}
|
|
38
105
|
function DropdownMenuShortcut({ className, ...props }) {
|
|
39
|
-
return
|
|
106
|
+
return /*#__PURE__*/ _jsx("span", {
|
|
107
|
+
"data-slot": "dropdown-menu-shortcut",
|
|
108
|
+
className: cn("text-text-secondary ml-auto text-xs tracking-widest", className),
|
|
109
|
+
...props
|
|
110
|
+
});
|
|
40
111
|
}
|
|
41
112
|
function DropdownMenuSub({ ...props }) {
|
|
42
|
-
return _jsx(DropdownMenuPrimitive.Sub, {
|
|
113
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Sub, {
|
|
114
|
+
"data-slot": "dropdown-menu-sub",
|
|
115
|
+
...props
|
|
116
|
+
});
|
|
43
117
|
}
|
|
44
118
|
function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
|
|
45
|
-
return
|
|
119
|
+
return /*#__PURE__*/ _jsxs(DropdownMenuPrimitive.SubTrigger, {
|
|
120
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
121
|
+
"data-inset": inset,
|
|
122
|
+
className: cn("focus:bg-bg-secondary focus:text-text-primary data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex", "cursor-default items-center rounded-md px-3 py-1.5 outline-hidden select-none data-[inset]:pl-8 h-8 typo-body text-text-secondary", className),
|
|
123
|
+
...props,
|
|
124
|
+
children: [
|
|
125
|
+
children,
|
|
126
|
+
/*#__PURE__*/ _jsx(ChevronRightIcon, {
|
|
127
|
+
className: "ml-auto size-4"
|
|
128
|
+
})
|
|
129
|
+
]
|
|
130
|
+
});
|
|
46
131
|
}
|
|
47
132
|
function DropdownMenuSubContent({ className, ...props }) {
|
|
48
|
-
return
|
|
133
|
+
return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.SubContent, {
|
|
134
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
135
|
+
className: cn("bg-bg-primary text-text-primary data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0", "data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2", "data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50", "min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border border-border-separator", "p-2 shadow-lg", className),
|
|
136
|
+
...props
|
|
137
|
+
});
|
|
49
138
|
}
|
|
50
|
-
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent
|
|
139
|
+
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent };
|
|
140
|
+
|
|
51
141
|
//# sourceMappingURL=dropdown-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/dropdown-menu.tsx"],"sourcesContent":["import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction DropdownMenu({\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n\treturn <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n\t);\n}\n\nfunction DropdownMenuTrigger({\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.Trigger\n\t\t\tdata-slot=\"dropdown-menu-trigger\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuContent({\n\tclassName,\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.Portal>\n\t\t\t<DropdownMenuPrimitive.Content\n\t\t\t\tdata-slot=\"dropdown-menu-content\"\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-bg-primary data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0\",\n\t\t\t\t\t\"data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n\t\t\t\t\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2\",\n\t\t\t\t\t\"data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height)\",\n\t\t\t\t\t\"min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin)\",\n\t\t\t\t\t\"overflow-x-hidden overflow-y-auto rounded-md border border-border-separator px-2 py-3 shadow-lg space-y-0.5\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</DropdownMenuPrimitive.Portal>\n\t);\n}\n\nfunction DropdownMenuGroup({\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n\t);\n}\n\nfunction DropdownMenuItem({\n\tclassName,\n\tinset,\n\tvariant = \"default\",\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n\tinset?: boolean;\n\tvariant?: \"default\" | \"destructive\";\n}) {\n\treturn (\n\t\t<DropdownMenuPrimitive.Item\n\t\t\tdata-slot=\"dropdown-menu-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t\"cursor-pointer items-center flex gap-2 h-8 px-3 py-1.5 relativerounded-md\",\n\t\t\t\t\"outline-hidden select-none typo-body text-text-secondary\",\n\t\t\t\t\"focus:bg-bg-secondary focus:text-text-primary\",\n\t\t\t\t\"data-[variant=destructive]:text-text-error-primary\",\n\t\t\t\t\"data-[variant=destructive]:focus:bg-bg-error-tertiary\",\n\t\t\t\t\"dark:data-[variant=destructive]:focus:bg-bg-error-tertiary\",\n\t\t\t\t\"data-[variant=destructive]:focus:text-text-error-primary\",\n\t\t\t\t\"data-[variant=destructive]:*:[svg]:!text-text-error-primary\",\n\t\t\t\t\"[&_svg:not([class*='text-'])]:fg-fg-secondary\",\n\t\t\t\t\"data-[disabled]:pointer-events-none\",\n\t\t\t\t\"data-[disabled]:opacity-50\",\n\t\t\t\t\"data-[inset]:pl-8\",\n\t\t\t\t\"[&_svg]:pointer-events-none\",\n\t\t\t\t\"[&_svg]:shrink-0\",\n\t\t\t\t\"[&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuCheckboxItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.CheckboxItem\n\t\t\tdata-slot=\"dropdown-menu-checkbox-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"focus:bg-bg-secondary focus:text-text-primary relative flex cursor-default items-center gap-2 rounded-lg py-1 pr-2 pl-9\",\n\t\t\t\t\"outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none\",\n\t\t\t\t\"[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg]:text-text-link h-8 typo-body text-text-secondary\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"pointer-events-none absolute left-3 flex size-3.5 items-center justify-center\">\n\t\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t\t<CheckIcon className=\"size-4\" />\n\t\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t{children}\n\t\t</DropdownMenuPrimitive.CheckboxItem>\n\t);\n}\n\nfunction DropdownMenuRadioGroup({\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.RadioGroup\n\t\t\tdata-slot=\"dropdown-menu-radio-group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuRadioItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.RadioItem\n\t\t\tdata-slot=\"dropdown-menu-radio-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"focus:bg-bg-secondary focus:text-text-primary relative flex cursor-pointer items-center gap-2 rounded-md py-1.5 pr-2\",\n\t\t\t\t\"outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none\",\n\t\t\t\t\"[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 h-8 typo-body text-text-secondary\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n\t\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t\t<CircleIcon className=\"size-2 fill-current\" />\n\t\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t{children}\n\t\t</DropdownMenuPrimitive.RadioItem>\n\t);\n}\n\nfunction DropdownMenuLabel({\n\tclassName,\n\tinset,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n\tinset?: boolean;\n}) {\n\treturn (\n\t\t<DropdownMenuPrimitive.Label\n\t\t\tdata-slot=\"dropdown-menu-label\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t\"px-3 py-1.5 data-[inset]:pl-10 typo-body text-text-secondary\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.Separator\n\t\t\tdata-slot=\"dropdown-menu-separator\"\n\t\t\tclassName={cn(\"bg-bg-quaternary -mx-1 my-1 h-px\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuShortcut({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"dropdown-menu-shortcut\"\n\t\t\tclassName={cn(\n\t\t\t\t\"text-text-secondary ml-auto text-xs tracking-widest\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuSub({\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n\treturn <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n\tinset?: boolean;\n}) {\n\treturn (\n\t\t<DropdownMenuPrimitive.SubTrigger\n\t\t\tdata-slot=\"dropdown-menu-sub-trigger\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t\"focus:bg-bg-secondary focus:text-text-primary data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex\",\n\t\t\t\t\"cursor-default items-center rounded-md px-3 py-1.5 outline-hidden select-none data-[inset]:pl-8 h-8 typo-body text-text-secondary\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<ChevronRightIcon className=\"ml-auto size-4\" />\n\t\t</DropdownMenuPrimitive.SubTrigger>\n\t);\n}\n\nfunction DropdownMenuSubContent({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n\treturn (\n\t\t<DropdownMenuPrimitive.SubContent\n\t\t\tdata-slot=\"dropdown-menu-sub-content\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-bg-primary text-text-primary data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0\",\n\t\t\t\t\"data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2\",\n\t\t\t\t\"data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50\",\n\t\t\t\t\"min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border border-border-separator\",\n\t\t\t\t\"p-2 shadow-lg\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuPortal,\n\tDropdownMenuTrigger,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuLabel,\n\tDropdownMenuItem,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuSubContent,\n};\n"],"names":["DropdownMenuPrimitive","CheckIcon","ChevronRightIcon","CircleIcon","cn","DropdownMenu","props","Root","data-slot","DropdownMenuPortal","Portal","DropdownMenuTrigger","Trigger","DropdownMenuContent","className","sideOffset","Content","DropdownMenuGroup","Group","DropdownMenuItem","inset","variant","Item","data-inset","data-variant","DropdownMenuCheckboxItem","children","CheckboxItem","span","ItemIndicator","DropdownMenuRadioGroup","RadioGroup","DropdownMenuRadioItem","RadioItem","DropdownMenuLabel","Label","DropdownMenuSeparator","Separator","DropdownMenuShortcut","DropdownMenuSub","Sub","DropdownMenuSubTrigger","SubTrigger","DropdownMenuSubContent","SubContent"],"mappings":"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"}
|
|
@@ -1,11 +1,126 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from "
|
|
3
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger
|
|
2
|
+
import { Button } from "./button.js";
|
|
3
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./dropdown-menu.js";
|
|
4
4
|
const meta = {
|
|
5
|
-
title: "Component/Dropdown menu"
|
|
5
|
+
title: "Component/Dropdown menu"
|
|
6
6
|
};
|
|
7
7
|
export default meta;
|
|
8
8
|
export const Demo = {
|
|
9
|
-
render: ()
|
|
9
|
+
render: ()=>/*#__PURE__*/ _jsxs(DropdownMenu, {
|
|
10
|
+
children: [
|
|
11
|
+
/*#__PURE__*/ _jsx(DropdownMenuTrigger, {
|
|
12
|
+
asChild: true,
|
|
13
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
14
|
+
variant: "secondary",
|
|
15
|
+
children: "Open"
|
|
16
|
+
})
|
|
17
|
+
}),
|
|
18
|
+
/*#__PURE__*/ _jsxs(DropdownMenuContent, {
|
|
19
|
+
className: "w-56",
|
|
20
|
+
align: "start",
|
|
21
|
+
children: [
|
|
22
|
+
/*#__PURE__*/ _jsx(DropdownMenuLabel, {
|
|
23
|
+
children: "My Account"
|
|
24
|
+
}),
|
|
25
|
+
/*#__PURE__*/ _jsxs(DropdownMenuGroup, {
|
|
26
|
+
children: [
|
|
27
|
+
/*#__PURE__*/ _jsxs(DropdownMenuItem, {
|
|
28
|
+
children: [
|
|
29
|
+
"Profile",
|
|
30
|
+
/*#__PURE__*/ _jsx(DropdownMenuShortcut, {
|
|
31
|
+
children: "⇧⌘P"
|
|
32
|
+
})
|
|
33
|
+
]
|
|
34
|
+
}),
|
|
35
|
+
/*#__PURE__*/ _jsxs(DropdownMenuItem, {
|
|
36
|
+
children: [
|
|
37
|
+
"Billing",
|
|
38
|
+
/*#__PURE__*/ _jsx(DropdownMenuShortcut, {
|
|
39
|
+
children: "⌘B"
|
|
40
|
+
})
|
|
41
|
+
]
|
|
42
|
+
}),
|
|
43
|
+
/*#__PURE__*/ _jsxs(DropdownMenuItem, {
|
|
44
|
+
children: [
|
|
45
|
+
"Settings",
|
|
46
|
+
/*#__PURE__*/ _jsx(DropdownMenuShortcut, {
|
|
47
|
+
children: "⌘S"
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
}),
|
|
51
|
+
/*#__PURE__*/ _jsxs(DropdownMenuItem, {
|
|
52
|
+
children: [
|
|
53
|
+
"Keyboard shortcuts",
|
|
54
|
+
/*#__PURE__*/ _jsx(DropdownMenuShortcut, {
|
|
55
|
+
children: "⌘K"
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
})
|
|
59
|
+
]
|
|
60
|
+
}),
|
|
61
|
+
/*#__PURE__*/ _jsx(DropdownMenuSeparator, {}),
|
|
62
|
+
/*#__PURE__*/ _jsxs(DropdownMenuGroup, {
|
|
63
|
+
children: [
|
|
64
|
+
/*#__PURE__*/ _jsx(DropdownMenuItem, {
|
|
65
|
+
children: "Team"
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ _jsxs(DropdownMenuSub, {
|
|
68
|
+
children: [
|
|
69
|
+
/*#__PURE__*/ _jsx(DropdownMenuSubTrigger, {
|
|
70
|
+
children: "Invite users"
|
|
71
|
+
}),
|
|
72
|
+
/*#__PURE__*/ _jsx(DropdownMenuPortal, {
|
|
73
|
+
children: /*#__PURE__*/ _jsxs(DropdownMenuSubContent, {
|
|
74
|
+
children: [
|
|
75
|
+
/*#__PURE__*/ _jsx(DropdownMenuItem, {
|
|
76
|
+
children: "Email"
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ _jsx(DropdownMenuItem, {
|
|
79
|
+
children: "Message"
|
|
80
|
+
}),
|
|
81
|
+
/*#__PURE__*/ _jsx(DropdownMenuSeparator, {}),
|
|
82
|
+
/*#__PURE__*/ _jsx(DropdownMenuItem, {
|
|
83
|
+
children: "More..."
|
|
84
|
+
})
|
|
85
|
+
]
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
]
|
|
89
|
+
}),
|
|
90
|
+
/*#__PURE__*/ _jsxs(DropdownMenuItem, {
|
|
91
|
+
children: [
|
|
92
|
+
"New Team",
|
|
93
|
+
/*#__PURE__*/ _jsx(DropdownMenuShortcut, {
|
|
94
|
+
children: "⌘+T"
|
|
95
|
+
})
|
|
96
|
+
]
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
}),
|
|
100
|
+
/*#__PURE__*/ _jsx(DropdownMenuSeparator, {}),
|
|
101
|
+
/*#__PURE__*/ _jsx(DropdownMenuItem, {
|
|
102
|
+
children: "GitHub"
|
|
103
|
+
}),
|
|
104
|
+
/*#__PURE__*/ _jsx(DropdownMenuItem, {
|
|
105
|
+
children: "Support"
|
|
106
|
+
}),
|
|
107
|
+
/*#__PURE__*/ _jsx(DropdownMenuItem, {
|
|
108
|
+
disabled: true,
|
|
109
|
+
children: "API"
|
|
110
|
+
}),
|
|
111
|
+
/*#__PURE__*/ _jsx(DropdownMenuSeparator, {}),
|
|
112
|
+
/*#__PURE__*/ _jsxs(DropdownMenuItem, {
|
|
113
|
+
children: [
|
|
114
|
+
"Log out",
|
|
115
|
+
/*#__PURE__*/ _jsx(DropdownMenuShortcut, {
|
|
116
|
+
children: "⇧⌘Q"
|
|
117
|
+
})
|
|
118
|
+
]
|
|
119
|
+
})
|
|
120
|
+
]
|
|
121
|
+
})
|
|
122
|
+
]
|
|
123
|
+
})
|
|
10
124
|
};
|
|
125
|
+
|
|
11
126
|
//# sourceMappingURL=dropdown-menu.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/dropdown-menu.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuPortal,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubContent,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuTrigger,\n} from \"#shadcn/components/ui/dropdown-menu\";\n\nconst meta = {\n\ttitle: \"Component/Dropdown menu\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<DropdownMenu>\n\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t<Button variant=\"secondary\">Open</Button>\n\t\t\t</DropdownMenuTrigger>\n\t\t\t<DropdownMenuContent className=\"w-56\" align=\"start\">\n\t\t\t\t<DropdownMenuLabel>My Account</DropdownMenuLabel>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\tProfile\n\t\t\t\t\t\t<DropdownMenuShortcut>⇧⌘P</DropdownMenuShortcut>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\tBilling\n\t\t\t\t\t\t<DropdownMenuShortcut>⌘B</DropdownMenuShortcut>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\tSettings\n\t\t\t\t\t\t<DropdownMenuShortcut>⌘S</DropdownMenuShortcut>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\tKeyboard shortcuts\n\t\t\t\t\t\t<DropdownMenuShortcut>⌘K</DropdownMenuShortcut>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem>Team</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuSub>\n\t\t\t\t\t\t<DropdownMenuSubTrigger>Invite users</DropdownMenuSubTrigger>\n\t\t\t\t\t\t<DropdownMenuPortal>\n\t\t\t\t\t\t\t<DropdownMenuSubContent>\n\t\t\t\t\t\t\t\t<DropdownMenuItem>Email</DropdownMenuItem>\n\t\t\t\t\t\t\t\t<DropdownMenuItem>Message</DropdownMenuItem>\n\t\t\t\t\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t\t\t\t\t<DropdownMenuItem>More...</DropdownMenuItem>\n\t\t\t\t\t\t\t</DropdownMenuSubContent>\n\t\t\t\t\t\t</DropdownMenuPortal>\n\t\t\t\t\t</DropdownMenuSub>\n\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\tNew Team\n\t\t\t\t\t\t<DropdownMenuShortcut>⌘+T</DropdownMenuShortcut>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t<DropdownMenuItem>GitHub</DropdownMenuItem>\n\t\t\t\t<DropdownMenuItem>Support</DropdownMenuItem>\n\t\t\t\t<DropdownMenuItem disabled>API</DropdownMenuItem>\n\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\tLog out\n\t\t\t\t\t<DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t),\n} satisfies Story;\n"],"names":["Button","DropdownMenu","DropdownMenuContent","DropdownMenuGroup","DropdownMenuItem","DropdownMenuLabel","DropdownMenuPortal","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubContent","DropdownMenuSubTrigger","DropdownMenuTrigger","meta","title","Demo","render","asChild","variant","className","align","disabled"],"mappings":";AACA,SAASA,MAAM,QAAQ,cAA+B;AACtD,SACCC,YAAY,EACZC,mBAAmB,EACnBC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClBC,qBAAqB,EACrBC,oBAAoB,EACpBC,eAAe,EACfC,sBAAsB,EACtBC,sBAAsB,EACtBC,mBAAmB,QACb,qBAAsC;AAE7C,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACf;;8BACA,KAACW;oBAAoBK,OAAO;8BAC3B,cAAA,KAACjB;wBAAOkB,SAAQ;kCAAY;;;8BAE7B,MAAChB;oBAAoBiB,WAAU;oBAAOC,OAAM;;sCAC3C,KAACf;sCAAkB;;sCACnB,MAACF;;8CACA,MAACC;;wCAAiB;sDAEjB,KAACI;sDAAqB;;;;8CAEvB,MAACJ;;wCAAiB;sDAEjB,KAACI;sDAAqB;;;;8CAEvB,MAACJ;;wCAAiB;sDAEjB,KAACI;sDAAqB;;;;8CAEvB,MAACJ;;wCAAiB;sDAEjB,KAACI;sDAAqB;;;;;;sCAGxB,KAACD;sCACD,MAACJ;;8CACA,KAACC;8CAAiB;;8CAClB,MAACK;;sDACA,KAACE;sDAAuB;;sDACxB,KAACL;sDACA,cAAA,MAACI;;kEACA,KAACN;kEAAiB;;kEAClB,KAACA;kEAAiB;;kEAClB,KAACG;kEACD,KAACH;kEAAiB;;;;;;;8CAIrB,MAACA;;wCAAiB;sDAEjB,KAACI;sDAAqB;;;;;;sCAGxB,KAACD;sCACD,KAACH;sCAAiB;;sCAClB,KAACA;sCAAiB;;sCAClB,KAACA;4BAAiBiB,QAAQ;sCAAC;;sCAC3B,KAACd;sCACD,MAACH;;gCAAiB;8CAEjB,KAACI;8CAAqB;;;;;;;;AAK3B,EAAkB"}
|
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Slot } from "@radix-ui/react-slot";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { Controller, FormProvider, useFormContext, useFormState
|
|
5
|
-
import { Label } from "
|
|
6
|
-
import { cn } from "
|
|
4
|
+
import { Controller, FormProvider, useFormContext, useFormState } from "react-hook-form";
|
|
5
|
+
import { Label } from "./label.js";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
7
|
const Form = FormProvider;
|
|
8
|
-
const FormFieldContext = React.createContext({});
|
|
9
|
-
const FormField = ({ ...props })
|
|
10
|
-
return
|
|
8
|
+
const FormFieldContext = /*#__PURE__*/ React.createContext({});
|
|
9
|
+
const FormField = ({ ...props })=>{
|
|
10
|
+
return /*#__PURE__*/ _jsx(FormFieldContext.Provider, {
|
|
11
|
+
value: {
|
|
12
|
+
name: props.name
|
|
13
|
+
},
|
|
14
|
+
children: /*#__PURE__*/ _jsx(Controller, {
|
|
15
|
+
...props
|
|
16
|
+
})
|
|
17
|
+
});
|
|
11
18
|
};
|
|
12
|
-
const useFormField = ()
|
|
19
|
+
const useFormField = ()=>{
|
|
13
20
|
const fieldContext = React.useContext(FormFieldContext);
|
|
14
21
|
const itemContext = React.useContext(FormItemContext);
|
|
15
22
|
const { getFieldState } = useFormContext();
|
|
16
|
-
const formState = useFormState({
|
|
23
|
+
const formState = useFormState({
|
|
24
|
+
name: fieldContext.name
|
|
25
|
+
});
|
|
17
26
|
const fieldState = getFieldState(fieldContext.name, formState);
|
|
18
27
|
if (!fieldContext) {
|
|
19
28
|
throw new Error("useFormField should be used within <FormField>");
|
|
@@ -25,27 +34,51 @@ const useFormField = () => {
|
|
|
25
34
|
formItemId: `${id}-form-item`,
|
|
26
35
|
formDescriptionId: `${id}-form-item-description`,
|
|
27
36
|
formMessageId: `${id}-form-item-message`,
|
|
28
|
-
...fieldState
|
|
37
|
+
...fieldState
|
|
29
38
|
};
|
|
30
39
|
};
|
|
31
|
-
const FormItemContext = React.createContext({});
|
|
40
|
+
const FormItemContext = /*#__PURE__*/ React.createContext({});
|
|
32
41
|
function FormItem({ className, ...props }) {
|
|
33
42
|
const id = React.useId();
|
|
34
|
-
return
|
|
43
|
+
return /*#__PURE__*/ _jsx(FormItemContext.Provider, {
|
|
44
|
+
value: {
|
|
45
|
+
id
|
|
46
|
+
},
|
|
47
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
48
|
+
"data-slot": "form-item",
|
|
49
|
+
className: cn("grid gap-2", className),
|
|
50
|
+
...props
|
|
51
|
+
})
|
|
52
|
+
});
|
|
35
53
|
}
|
|
36
54
|
function FormLabel({ className, ...props }) {
|
|
37
55
|
const { error, formItemId } = useFormField();
|
|
38
|
-
return
|
|
56
|
+
return /*#__PURE__*/ _jsx(Label, {
|
|
57
|
+
"data-slot": "form-label",
|
|
58
|
+
"data-error": !!error,
|
|
59
|
+
className: cn("data-[error=true]:text-destructive", className),
|
|
60
|
+
htmlFor: formItemId,
|
|
61
|
+
...props
|
|
62
|
+
});
|
|
39
63
|
}
|
|
40
64
|
function FormControl({ ...props }) {
|
|
41
65
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
42
|
-
return
|
|
43
|
-
|
|
44
|
-
|
|
66
|
+
return /*#__PURE__*/ _jsx(Slot, {
|
|
67
|
+
"data-slot": "form-control",
|
|
68
|
+
id: formItemId,
|
|
69
|
+
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
|
|
70
|
+
"aria-invalid": !!error,
|
|
71
|
+
...props
|
|
72
|
+
});
|
|
45
73
|
}
|
|
46
74
|
function FormDescription({ className, ...props }) {
|
|
47
75
|
const { formDescriptionId } = useFormField();
|
|
48
|
-
return
|
|
76
|
+
return /*#__PURE__*/ _jsx("p", {
|
|
77
|
+
"data-slot": "form-description",
|
|
78
|
+
id: formDescriptionId,
|
|
79
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
80
|
+
...props
|
|
81
|
+
});
|
|
49
82
|
}
|
|
50
83
|
function FormMessage({ className, ...props }) {
|
|
51
84
|
const { error, formMessageId } = useFormField();
|
|
@@ -53,7 +86,14 @@ function FormMessage({ className, ...props }) {
|
|
|
53
86
|
if (!body) {
|
|
54
87
|
return null;
|
|
55
88
|
}
|
|
56
|
-
return
|
|
89
|
+
return /*#__PURE__*/ _jsx("p", {
|
|
90
|
+
"data-slot": "form-message",
|
|
91
|
+
id: formMessageId,
|
|
92
|
+
className: cn("text-destructive text-sm", className),
|
|
93
|
+
...props,
|
|
94
|
+
children: body
|
|
95
|
+
});
|
|
57
96
|
}
|
|
58
|
-
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField
|
|
97
|
+
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };
|
|
98
|
+
|
|
59
99
|
//# sourceMappingURL=form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/form.tsx"],"sourcesContent":["import type * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport {\n\tController,\n\ttype ControllerProps,\n\ttype FieldPath,\n\ttype FieldValues,\n\tFormProvider,\n\tuseFormContext,\n\tuseFormState,\n} from \"react-hook-form\";\nimport { Label } from \"#shadcn/components/ui/label\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n\tTFieldValues extends FieldValues = FieldValues,\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n\tname: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n\t{} as FormFieldContextValue,\n);\n\nconst FormField = <\n\tTFieldValues extends FieldValues = FieldValues,\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n\t...props\n}: ControllerProps<TFieldValues, TName>) => {\n\treturn (\n\t\t<FormFieldContext.Provider value={{ name: props.name }}>\n\t\t\t<Controller {...props} />\n\t\t</FormFieldContext.Provider>\n\t);\n};\n\nconst useFormField = () => {\n\tconst fieldContext = React.useContext(FormFieldContext);\n\tconst itemContext = React.useContext(FormItemContext);\n\tconst { getFieldState } = useFormContext();\n\tconst formState = useFormState({ name: fieldContext.name });\n\tconst fieldState = getFieldState(fieldContext.name, formState);\n\n\tif (!fieldContext) {\n\t\tthrow new Error(\"useFormField should be used within <FormField>\");\n\t}\n\n\tconst { id } = itemContext;\n\n\treturn {\n\t\tid,\n\t\tname: fieldContext.name,\n\t\tformItemId: `${id}-form-item`,\n\t\tformDescriptionId: `${id}-form-item-description`,\n\t\tformMessageId: `${id}-form-item-message`,\n\t\t...fieldState,\n\t};\n};\n\ntype FormItemContextValue = {\n\tid: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n\t{} as FormItemContextValue,\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n\tconst id = React.useId();\n\n\treturn (\n\t\t<FormItemContext.Provider value={{ id }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"form-item\"\n\t\t\t\tclassName={cn(\"grid gap-2\", className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</FormItemContext.Provider>\n\t);\n}\n\nfunction FormLabel({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n\tconst { error, formItemId } = useFormField();\n\n\treturn (\n\t\t<Label\n\t\t\tdata-slot=\"form-label\"\n\t\t\tdata-error={!!error}\n\t\t\tclassName={cn(\"data-[error=true]:text-destructive\", className)}\n\t\t\thtmlFor={formItemId}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n\tconst { error, formItemId, formDescriptionId, formMessageId } =\n\t\tuseFormField();\n\n\treturn (\n\t\t<Slot\n\t\t\tdata-slot=\"form-control\"\n\t\t\tid={formItemId}\n\t\t\taria-describedby={\n\t\t\t\t!error\n\t\t\t\t\t? `${formDescriptionId}`\n\t\t\t\t\t: `${formDescriptionId} ${formMessageId}`\n\t\t\t}\n\t\t\taria-invalid={!!error}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n\tconst { formDescriptionId } = useFormField();\n\n\treturn (\n\t\t<p\n\t\t\tdata-slot=\"form-description\"\n\t\t\tid={formDescriptionId}\n\t\t\tclassName={cn(\"text-muted-foreground text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n\tconst { error, formMessageId } = useFormField();\n\tconst body = error ? String(error?.message ?? \"\") : props.children;\n\n\tif (!body) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<p\n\t\t\tdata-slot=\"form-message\"\n\t\t\tid={formMessageId}\n\t\t\tclassName={cn(\"text-destructive text-sm\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{body}\n\t\t</p>\n\t);\n}\n\nexport {\n\tuseFormField,\n\tForm,\n\tFormItem,\n\tFormLabel,\n\tFormControl,\n\tFormDescription,\n\tFormMessage,\n\tFormField,\n};\n"],"names":["Slot","React","Controller","FormProvider","useFormContext","useFormState","Label","cn","Form","FormFieldContext","createContext","FormField","props","Provider","value","name","useFormField","fieldContext","useContext","itemContext","FormItemContext","getFieldState","formState","fieldState","Error","id","formItemId","formDescriptionId","formMessageId","FormItem","className","useId","div","data-slot","FormLabel","error","data-error","htmlFor","FormControl","aria-describedby","aria-invalid","FormDescription","p","FormMessage","body","String","message","children"],"mappings":"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"}
|
|
@@ -2,30 +2,64 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
3
3
|
import { useForm } from "react-hook-form";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
-
import { Button } from "
|
|
6
|
-
import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage
|
|
7
|
-
import { Input } from "
|
|
5
|
+
import { Button } from "./button.js";
|
|
6
|
+
import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from "./form.js";
|
|
7
|
+
import { Input } from "./input.js";
|
|
8
8
|
const formSchema = z.object({
|
|
9
9
|
username: z.string().min(2, {
|
|
10
|
-
message: "Username must be at least 2 characters."
|
|
11
|
-
})
|
|
10
|
+
message: "Username must be at least 2 characters."
|
|
11
|
+
})
|
|
12
12
|
});
|
|
13
13
|
const meta = {
|
|
14
|
-
title: "Component/Form"
|
|
14
|
+
title: "Component/Form"
|
|
15
15
|
};
|
|
16
16
|
export default meta;
|
|
17
17
|
export const Demo = {
|
|
18
|
-
render: ()
|
|
18
|
+
render: ()=>{
|
|
19
19
|
const form = useForm({
|
|
20
20
|
resolver: zodResolver(formSchema),
|
|
21
21
|
defaultValues: {
|
|
22
|
-
username: ""
|
|
23
|
-
}
|
|
22
|
+
username: ""
|
|
23
|
+
}
|
|
24
24
|
});
|
|
25
25
|
function onSubmit(values) {
|
|
26
26
|
console.log(values);
|
|
27
27
|
}
|
|
28
|
-
return
|
|
29
|
-
|
|
28
|
+
return /*#__PURE__*/ _jsx(Form, {
|
|
29
|
+
...form,
|
|
30
|
+
children: /*#__PURE__*/ _jsxs("form", {
|
|
31
|
+
onSubmit: form.handleSubmit(onSubmit),
|
|
32
|
+
className: "space-y-8",
|
|
33
|
+
children: [
|
|
34
|
+
/*#__PURE__*/ _jsx(FormField, {
|
|
35
|
+
control: form.control,
|
|
36
|
+
name: "username",
|
|
37
|
+
render: ({ field })=>/*#__PURE__*/ _jsxs(FormItem, {
|
|
38
|
+
children: [
|
|
39
|
+
/*#__PURE__*/ _jsx(FormLabel, {
|
|
40
|
+
children: "Username"
|
|
41
|
+
}),
|
|
42
|
+
/*#__PURE__*/ _jsx(FormControl, {
|
|
43
|
+
children: /*#__PURE__*/ _jsx(Input, {
|
|
44
|
+
placeholder: "shadcn",
|
|
45
|
+
...field
|
|
46
|
+
})
|
|
47
|
+
}),
|
|
48
|
+
/*#__PURE__*/ _jsx(FormDescription, {
|
|
49
|
+
children: "This is your public display name."
|
|
50
|
+
}),
|
|
51
|
+
/*#__PURE__*/ _jsx(FormMessage, {})
|
|
52
|
+
]
|
|
53
|
+
})
|
|
54
|
+
}),
|
|
55
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
56
|
+
type: "submit",
|
|
57
|
+
children: "Submit"
|
|
58
|
+
})
|
|
59
|
+
]
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
30
63
|
};
|
|
64
|
+
|
|
31
65
|
//# sourceMappingURL=form.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/form.stories.tsx"],"sourcesContent":["import { zodResolver } from \"@hookform/resolvers/zod\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { useForm } from \"react-hook-form\";\nimport { z } from \"zod\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport {\n\tForm,\n\tFormControl,\n\tFormDescription,\n\tFormField,\n\tFormItem,\n\tFormLabel,\n\tFormMessage,\n} from \"#shadcn/components/ui/form\";\nimport { Input } from \"#shadcn/components/ui/input\";\n\nconst formSchema = z.object({\n\tusername: z.string().min(2, {\n\t\tmessage: \"Username must be at least 2 characters.\",\n\t}),\n});\n\nconst meta = {\n\ttitle: \"Component/Form\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => {\n\t\tconst form = useForm<z.infer<typeof formSchema>>({\n\t\t\tresolver: zodResolver(formSchema),\n\t\t\tdefaultValues: {\n\t\t\t\tusername: \"\",\n\t\t\t},\n\t\t});\n\n\t\tfunction onSubmit(values: z.infer<typeof formSchema>) {\n\t\t\tconsole.log(values);\n\t\t}\n\n\t\treturn (\n\t\t\t<Form {...form}>\n\t\t\t\t<form onSubmit={form.handleSubmit(onSubmit)} className=\"space-y-8\">\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\tname=\"username\"\n\t\t\t\t\t\trender={({ field }) => (\n\t\t\t\t\t\t\t<FormItem>\n\t\t\t\t\t\t\t\t<FormLabel>Username</FormLabel>\n\t\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t\t<Input placeholder=\"shadcn\" {...field} />\n\t\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t\t\t<FormDescription>\n\t\t\t\t\t\t\t\t\tThis is your public display name.\n\t\t\t\t\t\t\t\t</FormDescription>\n\t\t\t\t\t\t\t\t<FormMessage />\n\t\t\t\t\t\t\t</FormItem>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t\t<Button type=\"submit\">Submit</Button>\n\t\t\t\t</form>\n\t\t\t</Form>\n\t\t);\n\t},\n} satisfies Story;\n"],"names":["zodResolver","useForm","z","Button","Form","FormControl","FormDescription","FormField","FormItem","FormLabel","FormMessage","Input","formSchema","object","username","string","min","message","meta","title","Demo","render","form","resolver","defaultValues","onSubmit","values","console","log","handleSubmit","className","control","name","field","placeholder","type"],"mappings":";AAAA,SAASA,WAAW,QAAQ,0BAA0B;AAEtD,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,CAAC,QAAQ,MAAM;AACxB,SAASC,MAAM,QAAQ,cAA+B;AACtD,SACCC,IAAI,EACJC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,WAAW,QACL,YAA6B;AACpC,SAASC,KAAK,QAAQ,aAA8B;AAEpD,MAAMC,aAAaV,EAAEW,MAAM,CAAC;IAC3BC,UAAUZ,EAAEa,MAAM,GAAGC,GAAG,CAAC,GAAG;QAC3BC,SAAS;IACV;AACD;AAEA,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ;QACP,MAAMC,OAAOrB,QAAoC;YAChDsB,UAAUvB,YAAYY;YACtBY,eAAe;gBACdV,UAAU;YACX;QACD;QAEA,SAASW,SAASC,MAAkC;YACnDC,QAAQC,GAAG,CAACF;QACb;QAEA,qBACC,KAACtB;YAAM,GAAGkB,IAAI;sBACb,cAAA,MAACA;gBAAKG,UAAUH,KAAKO,YAAY,CAACJ;gBAAWK,WAAU;;kCACtD,KAACvB;wBACAwB,SAAST,KAAKS,OAAO;wBACrBC,MAAK;wBACLX,QAAQ,CAAC,EAAEY,KAAK,EAAE,iBACjB,MAACzB;;kDACA,KAACC;kDAAU;;kDACX,KAACJ;kDACA,cAAA,KAACM;4CAAMuB,aAAY;4CAAU,GAAGD,KAAK;;;kDAEtC,KAAC3B;kDAAgB;;kDAGjB,KAACI;;;;kCAIJ,KAACP;wBAAOgC,MAAK;kCAAS;;;;;IAI1B;AACD,EAAkB"}
|