@deankwan/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/app/components/ui/accordion.mjs +64 -0
  2. package/dist/app/components/ui/alert-dialog.mjs +146 -0
  3. package/dist/app/components/ui/alert.mjs +66 -0
  4. package/dist/app/components/ui/aspect-ratio.mjs +10 -0
  5. package/dist/app/components/ui/avatar.mjs +53 -0
  6. package/dist/app/components/ui/badge.mjs +39 -0
  7. package/dist/app/components/ui/breadcrumb.mjs +102 -0
  8. package/dist/app/components/ui/button.mjs +49 -0
  9. package/dist/app/components/ui/calendar.mjs +61 -0
  10. package/dist/app/components/ui/card.mjs +90 -0
  11. package/dist/app/components/ui/carousel.mjs +177 -0
  12. package/dist/app/components/ui/chart.mjs +215 -0
  13. package/dist/app/components/ui/checkbox.mjs +31 -0
  14. package/dist/app/components/ui/collapsible.mjs +34 -0
  15. package/dist/app/components/ui/command.mjs +161 -0
  16. package/dist/app/components/ui/context-menu.mjs +223 -0
  17. package/dist/app/components/ui/dialog.mjs +128 -0
  18. package/dist/app/components/ui/drawer.mjs +125 -0
  19. package/dist/app/components/ui/dropdown-menu.mjs +231 -0
  20. package/dist/app/components/ui/form.mjs +101 -0
  21. package/dist/app/components/ui/hover-card.mjs +38 -0
  22. package/dist/app/components/ui/input-otp.mjs +65 -0
  23. package/dist/app/components/ui/input.mjs +21 -0
  24. package/dist/app/components/ui/label.mjs +22 -0
  25. package/dist/app/components/ui/menubar.mjs +251 -0
  26. package/dist/app/components/ui/navigation-menu.mjs +170 -0
  27. package/dist/app/components/ui/pagination.mjs +118 -0
  28. package/dist/app/components/ui/popover.mjs +44 -0
  29. package/dist/app/components/ui/progress.mjs +31 -0
  30. package/dist/app/components/ui/radio-group.mjs +45 -0
  31. package/dist/app/components/ui/resizable.mjs +48 -0
  32. package/dist/app/components/ui/scroll-area.mjs +60 -0
  33. package/dist/app/components/ui/select.mjs +169 -0
  34. package/dist/app/components/ui/separator.mjs +26 -0
  35. package/dist/app/components/ui/sheet.mjs +126 -0
  36. package/dist/app/components/ui/sidebar.mjs +593 -0
  37. package/dist/app/components/ui/skeleton.mjs +15 -0
  38. package/dist/app/components/ui/slider.mjs +63 -0
  39. package/dist/app/components/ui/sonner.mjs +22 -0
  40. package/dist/app/components/ui/switch.mjs +31 -0
  41. package/dist/app/components/ui/table.mjs +114 -0
  42. package/dist/app/components/ui/tabs.mjs +67 -0
  43. package/dist/app/components/ui/textarea.mjs +18 -0
  44. package/dist/app/components/ui/toggle-group.mjs +62 -0
  45. package/dist/app/components/ui/toggle.mjs +43 -0
  46. package/dist/app/components/ui/tooltip.mjs +55 -0
  47. package/dist/app/components/ui/use-mobile.mjs +16 -0
  48. package/dist/app/components/ui/utils.mjs +8 -0
  49. package/dist/index.mjs +297 -0
  50. package/dist/src/app/components/ui/accordion.d.ts +7 -0
  51. package/dist/src/app/components/ui/alert-dialog.d.ts +14 -0
  52. package/dist/src/app/components/ui/alert.d.ts +9 -0
  53. package/dist/src/app/components/ui/avatar.d.ts +6 -0
  54. package/dist/src/app/components/ui/badge.d.ts +9 -0
  55. package/dist/src/app/components/ui/breadcrumb.d.ts +11 -0
  56. package/dist/src/app/components/ui/button.d.ts +10 -0
  57. package/dist/src/app/components/ui/calendar.d.ts +4 -0
  58. package/dist/src/app/components/ui/card.d.ts +9 -0
  59. package/dist/src/app/components/ui/carousel.d.ts +19 -0
  60. package/dist/src/app/components/ui/chart.d.ts +40 -0
  61. package/dist/src/app/components/ui/checkbox.d.ts +4 -0
  62. package/dist/src/app/components/ui/command.d.ts +16 -0
  63. package/dist/src/app/components/ui/context-menu.d.ts +25 -0
  64. package/dist/src/app/components/ui/dialog.d.ts +13 -0
  65. package/dist/src/app/components/ui/drawer.d.ts +13 -0
  66. package/dist/src/app/components/ui/dropdown-menu.d.ts +25 -0
  67. package/dist/src/app/components/ui/hover-card.d.ts +6 -0
  68. package/dist/src/app/components/ui/input-otp.d.ts +11 -0
  69. package/dist/src/app/components/ui/input.d.ts +3 -0
  70. package/dist/src/app/components/ui/label.d.ts +4 -0
  71. package/dist/src/app/components/ui/menubar.d.ts +26 -0
  72. package/dist/src/app/components/ui/navigation-menu.d.ts +14 -0
  73. package/dist/src/app/components/ui/pagination.d.ts +13 -0
  74. package/dist/src/app/components/ui/popover.d.ts +7 -0
  75. package/dist/src/app/components/ui/progress.d.ts +4 -0
  76. package/dist/src/app/components/ui/radio-group.d.ts +5 -0
  77. package/dist/src/app/components/ui/resizable.d.ts +8 -0
  78. package/dist/src/app/components/ui/scroll-area.d.ts +5 -0
  79. package/dist/src/app/components/ui/select.d.ts +15 -0
  80. package/dist/src/app/components/ui/separator.d.ts +4 -0
  81. package/dist/src/app/components/ui/sheet.d.ts +13 -0
  82. package/dist/src/app/components/ui/sidebar.d.ts +60 -0
  83. package/dist/src/app/components/ui/slider.d.ts +4 -0
  84. package/dist/src/app/components/ui/switch.d.ts +4 -0
  85. package/dist/src/app/components/ui/table.d.ts +10 -0
  86. package/dist/src/app/components/ui/tabs.d.ts +7 -0
  87. package/dist/src/app/components/ui/textarea.d.ts +3 -0
  88. package/dist/src/app/components/ui/toggle-group.d.ts +7 -0
  89. package/dist/src/app/components/ui/toggle.d.ts +9 -0
  90. package/dist/src/app/components/ui/tooltip.d.ts +7 -0
  91. package/dist/src/app/components/ui/use-mobile.d.ts +1 -0
  92. package/dist/src/app/components/ui/utils.d.ts +2 -0
  93. package/dist/src/index.d.ts +48 -0
  94. package/dist/style.css +1 -0
  95. package/package.json +166 -0
@@ -0,0 +1,223 @@
1
+ import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-context-menu";
3
+ import { CheckIcon as d, CircleIcon as u, ChevronRightIcon as c } from "lucide-react";
4
+ import { cn as s } from "./utils.mjs";
5
+ function x({
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ e(o.Root, { "data-slot": "context-menu", ...t });
9
+ }
10
+ function p({
11
+ ...t
12
+ }) {
13
+ return /* @__PURE__ */ e(o.Trigger, { "data-slot": "context-menu-trigger", ...t });
14
+ }
15
+ function g({
16
+ ...t
17
+ }) {
18
+ return /* @__PURE__ */ e(o.Group, { "data-slot": "context-menu-group", ...t });
19
+ }
20
+ function v({
21
+ ...t
22
+ }) {
23
+ return /* @__PURE__ */ e(o.Portal, { "data-slot": "context-menu-portal", ...t });
24
+ }
25
+ function b({
26
+ ...t
27
+ }) {
28
+ return /* @__PURE__ */ e(o.Sub, { "data-slot": "context-menu-sub", ...t });
29
+ }
30
+ function h({
31
+ ...t
32
+ }) {
33
+ return /* @__PURE__ */ e(
34
+ o.RadioGroup,
35
+ {
36
+ "data-slot": "context-menu-radio-group",
37
+ ...t
38
+ }
39
+ );
40
+ }
41
+ function C({
42
+ className: t,
43
+ inset: n,
44
+ children: a,
45
+ ...r
46
+ }) {
47
+ return /* @__PURE__ */ i(
48
+ o.SubTrigger,
49
+ {
50
+ "data-slot": "context-menu-sub-trigger",
51
+ "data-inset": n,
52
+ className: s(
53
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
54
+ t
55
+ ),
56
+ ...r,
57
+ children: [
58
+ a,
59
+ /* @__PURE__ */ e(c, { className: "ml-auto" })
60
+ ]
61
+ }
62
+ );
63
+ }
64
+ function z({
65
+ className: t,
66
+ ...n
67
+ }) {
68
+ return /* @__PURE__ */ e(
69
+ o.SubContent,
70
+ {
71
+ "data-slot": "context-menu-sub-content",
72
+ className: s(
73
+ "bg-popover text-popover-foreground 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-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
74
+ t
75
+ ),
76
+ ...n
77
+ }
78
+ );
79
+ }
80
+ function M({
81
+ className: t,
82
+ ...n
83
+ }) {
84
+ return /* @__PURE__ */ e(o.Portal, { children: /* @__PURE__ */ e(
85
+ o.Content,
86
+ {
87
+ "data-slot": "context-menu-content",
88
+ className: s(
89
+ "bg-popover text-popover-foreground 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-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
90
+ t
91
+ ),
92
+ ...n
93
+ }
94
+ ) });
95
+ }
96
+ function N({
97
+ className: t,
98
+ inset: n,
99
+ variant: a = "default",
100
+ ...r
101
+ }) {
102
+ return /* @__PURE__ */ e(
103
+ o.Item,
104
+ {
105
+ "data-slot": "context-menu-item",
106
+ "data-inset": n,
107
+ "data-variant": a,
108
+ className: s(
109
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none 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",
110
+ t
111
+ ),
112
+ ...r
113
+ }
114
+ );
115
+ }
116
+ function I({
117
+ className: t,
118
+ children: n,
119
+ checked: a,
120
+ ...r
121
+ }) {
122
+ return /* @__PURE__ */ i(
123
+ o.CheckboxItem,
124
+ {
125
+ "data-slot": "context-menu-checkbox-item",
126
+ className: s(
127
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm 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",
128
+ t
129
+ ),
130
+ checked: a,
131
+ ...r,
132
+ children: [
133
+ /* @__PURE__ */ e("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e(o.ItemIndicator, { children: /* @__PURE__ */ e(d, { className: "size-4" }) }) }),
134
+ n
135
+ ]
136
+ }
137
+ );
138
+ }
139
+ function _({
140
+ className: t,
141
+ children: n,
142
+ ...a
143
+ }) {
144
+ return /* @__PURE__ */ i(
145
+ o.RadioItem,
146
+ {
147
+ "data-slot": "context-menu-radio-item",
148
+ className: s(
149
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm 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",
150
+ t
151
+ ),
152
+ ...a,
153
+ children: [
154
+ /* @__PURE__ */ e("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e(o.ItemIndicator, { children: /* @__PURE__ */ e(u, { className: "size-2 fill-current" }) }) }),
155
+ n
156
+ ]
157
+ }
158
+ );
159
+ }
160
+ function y({
161
+ className: t,
162
+ inset: n,
163
+ ...a
164
+ }) {
165
+ return /* @__PURE__ */ e(
166
+ o.Label,
167
+ {
168
+ "data-slot": "context-menu-label",
169
+ "data-inset": n,
170
+ className: s(
171
+ "text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
172
+ t
173
+ ),
174
+ ...a
175
+ }
176
+ );
177
+ }
178
+ function k({
179
+ className: t,
180
+ ...n
181
+ }) {
182
+ return /* @__PURE__ */ e(
183
+ o.Separator,
184
+ {
185
+ "data-slot": "context-menu-separator",
186
+ className: s("bg-border -mx-1 my-1 h-px", t),
187
+ ...n
188
+ }
189
+ );
190
+ }
191
+ function S({
192
+ className: t,
193
+ ...n
194
+ }) {
195
+ return /* @__PURE__ */ e(
196
+ "span",
197
+ {
198
+ "data-slot": "context-menu-shortcut",
199
+ className: s(
200
+ "text-muted-foreground ml-auto text-xs tracking-widest",
201
+ t
202
+ ),
203
+ ...n
204
+ }
205
+ );
206
+ }
207
+ export {
208
+ x as ContextMenu,
209
+ I as ContextMenuCheckboxItem,
210
+ M as ContextMenuContent,
211
+ g as ContextMenuGroup,
212
+ N as ContextMenuItem,
213
+ y as ContextMenuLabel,
214
+ v as ContextMenuPortal,
215
+ h as ContextMenuRadioGroup,
216
+ _ as ContextMenuRadioItem,
217
+ k as ContextMenuSeparator,
218
+ S as ContextMenuShortcut,
219
+ b as ContextMenuSub,
220
+ z as ContextMenuSubContent,
221
+ C as ContextMenuSubTrigger,
222
+ p as ContextMenuTrigger
223
+ };
@@ -0,0 +1,128 @@
1
+ import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-dialog";
3
+ import { XIcon as s } from "lucide-react";
4
+ import { cn as n } from "./utils.mjs";
5
+ function f({
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ a(o.Root, { "data-slot": "dialog", ...t });
9
+ }
10
+ function m({
11
+ ...t
12
+ }) {
13
+ return /* @__PURE__ */ a(o.Trigger, { "data-slot": "dialog-trigger", ...t });
14
+ }
15
+ function r({
16
+ ...t
17
+ }) {
18
+ return /* @__PURE__ */ a(o.Portal, { "data-slot": "dialog-portal", ...t });
19
+ }
20
+ function p({
21
+ ...t
22
+ }) {
23
+ return /* @__PURE__ */ a(o.Close, { "data-slot": "dialog-close", ...t });
24
+ }
25
+ function d({
26
+ className: t,
27
+ ...e
28
+ }) {
29
+ return /* @__PURE__ */ a(
30
+ o.Overlay,
31
+ {
32
+ "data-slot": "dialog-overlay",
33
+ className: n(
34
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
35
+ t
36
+ ),
37
+ ...e
38
+ }
39
+ );
40
+ }
41
+ function x({
42
+ className: t,
43
+ children: e,
44
+ ...l
45
+ }) {
46
+ return /* @__PURE__ */ i(r, { "data-slot": "dialog-portal", children: [
47
+ /* @__PURE__ */ a(d, {}),
48
+ /* @__PURE__ */ i(
49
+ o.Content,
50
+ {
51
+ "data-slot": "dialog-content",
52
+ className: n(
53
+ "bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
54
+ t
55
+ ),
56
+ ...l,
57
+ children: [
58
+ e,
59
+ /* @__PURE__ */ i(o.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [
60
+ /* @__PURE__ */ a(s, {}),
61
+ /* @__PURE__ */ a("span", { className: "sr-only", children: "Close" })
62
+ ] })
63
+ ]
64
+ }
65
+ )
66
+ ] });
67
+ }
68
+ function v({ className: t, ...e }) {
69
+ return /* @__PURE__ */ a(
70
+ "div",
71
+ {
72
+ "data-slot": "dialog-header",
73
+ className: n("flex flex-col gap-2 text-center sm:text-left", t),
74
+ ...e
75
+ }
76
+ );
77
+ }
78
+ function D({ className: t, ...e }) {
79
+ return /* @__PURE__ */ a(
80
+ "div",
81
+ {
82
+ "data-slot": "dialog-footer",
83
+ className: n(
84
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
85
+ t
86
+ ),
87
+ ...e
88
+ }
89
+ );
90
+ }
91
+ function b({
92
+ className: t,
93
+ ...e
94
+ }) {
95
+ return /* @__PURE__ */ a(
96
+ o.Title,
97
+ {
98
+ "data-slot": "dialog-title",
99
+ className: n("text-lg leading-none font-semibold", t),
100
+ ...e
101
+ }
102
+ );
103
+ }
104
+ function h({
105
+ className: t,
106
+ ...e
107
+ }) {
108
+ return /* @__PURE__ */ a(
109
+ o.Description,
110
+ {
111
+ "data-slot": "dialog-description",
112
+ className: n("text-muted-foreground text-sm", t),
113
+ ...e
114
+ }
115
+ );
116
+ }
117
+ export {
118
+ f as Dialog,
119
+ p as DialogClose,
120
+ x as DialogContent,
121
+ h as DialogDescription,
122
+ D as DialogFooter,
123
+ v as DialogHeader,
124
+ d as DialogOverlay,
125
+ r as DialogPortal,
126
+ b as DialogTitle,
127
+ m as DialogTrigger
128
+ };
@@ -0,0 +1,125 @@
1
+ import { jsx as t, jsxs as o } from "react/jsx-runtime";
2
+ import { Drawer as e } from "vaul";
3
+ import { cn as d } from "./utils.mjs";
4
+ function w({
5
+ ...r
6
+ }) {
7
+ return /* @__PURE__ */ t(e.Root, { "data-slot": "drawer", ...r });
8
+ }
9
+ function m({
10
+ ...r
11
+ }) {
12
+ return /* @__PURE__ */ t(e.Trigger, { "data-slot": "drawer-trigger", ...r });
13
+ }
14
+ function n({
15
+ ...r
16
+ }) {
17
+ return /* @__PURE__ */ t(e.Portal, { "data-slot": "drawer-portal", ...r });
18
+ }
19
+ function f({
20
+ ...r
21
+ }) {
22
+ return /* @__PURE__ */ t(e.Close, { "data-slot": "drawer-close", ...r });
23
+ }
24
+ function l({
25
+ className: r,
26
+ ...a
27
+ }) {
28
+ return /* @__PURE__ */ t(
29
+ e.Overlay,
30
+ {
31
+ "data-slot": "drawer-overlay",
32
+ className: d(
33
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
34
+ r
35
+ ),
36
+ ...a
37
+ }
38
+ );
39
+ }
40
+ function v({
41
+ className: r,
42
+ children: a,
43
+ ...i
44
+ }) {
45
+ return /* @__PURE__ */ o(n, { "data-slot": "drawer-portal", children: [
46
+ /* @__PURE__ */ t(l, {}),
47
+ /* @__PURE__ */ o(
48
+ e.Content,
49
+ {
50
+ "data-slot": "drawer-content",
51
+ className: d(
52
+ "group/drawer-content bg-background fixed z-50 flex h-auto flex-col",
53
+ "data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
54
+ "data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
55
+ "data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
56
+ "data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
57
+ r
58
+ ),
59
+ ...i,
60
+ children: [
61
+ /* @__PURE__ */ t("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
62
+ a
63
+ ]
64
+ }
65
+ )
66
+ ] });
67
+ }
68
+ function p({ className: r, ...a }) {
69
+ return /* @__PURE__ */ t(
70
+ "div",
71
+ {
72
+ "data-slot": "drawer-header",
73
+ className: d("flex flex-col gap-1.5 p-4", r),
74
+ ...a
75
+ }
76
+ );
77
+ }
78
+ function g({ className: r, ...a }) {
79
+ return /* @__PURE__ */ t(
80
+ "div",
81
+ {
82
+ "data-slot": "drawer-footer",
83
+ className: d("mt-auto flex flex-col gap-2 p-4", r),
84
+ ...a
85
+ }
86
+ );
87
+ }
88
+ function b({
89
+ className: r,
90
+ ...a
91
+ }) {
92
+ return /* @__PURE__ */ t(
93
+ e.Title,
94
+ {
95
+ "data-slot": "drawer-title",
96
+ className: d("text-foreground font-semibold", r),
97
+ ...a
98
+ }
99
+ );
100
+ }
101
+ function x({
102
+ className: r,
103
+ ...a
104
+ }) {
105
+ return /* @__PURE__ */ t(
106
+ e.Description,
107
+ {
108
+ "data-slot": "drawer-description",
109
+ className: d("text-muted-foreground text-sm", r),
110
+ ...a
111
+ }
112
+ );
113
+ }
114
+ export {
115
+ w as Drawer,
116
+ f as DrawerClose,
117
+ v as DrawerContent,
118
+ x as DrawerDescription,
119
+ g as DrawerFooter,
120
+ p as DrawerHeader,
121
+ l as DrawerOverlay,
122
+ n as DrawerPortal,
123
+ b as DrawerTitle,
124
+ m as DrawerTrigger
125
+ };
@@ -0,0 +1,231 @@
1
+ import { jsx as t, jsxs as s } from "react/jsx-runtime";
2
+ import * as n from "@radix-ui/react-dropdown-menu";
3
+ import { CheckIcon as i, CircleIcon as u, ChevronRightIcon as c } from "lucide-react";
4
+ import { cn as r } from "./utils.mjs";
5
+ function f({
6
+ ...e
7
+ }) {
8
+ return /* @__PURE__ */ t(n.Root, { "data-slot": "dropdown-menu", ...e });
9
+ }
10
+ function g({
11
+ ...e
12
+ }) {
13
+ return /* @__PURE__ */ t(n.Portal, { "data-slot": "dropdown-menu-portal", ...e });
14
+ }
15
+ function v({
16
+ ...e
17
+ }) {
18
+ return /* @__PURE__ */ t(
19
+ n.Trigger,
20
+ {
21
+ "data-slot": "dropdown-menu-trigger",
22
+ ...e
23
+ }
24
+ );
25
+ }
26
+ function w({
27
+ className: e,
28
+ sideOffset: o = 4,
29
+ ...a
30
+ }) {
31
+ return /* @__PURE__ */ t(n.Portal, { children: /* @__PURE__ */ t(
32
+ n.Content,
33
+ {
34
+ "data-slot": "dropdown-menu-content",
35
+ sideOffset: o,
36
+ className: r(
37
+ "bg-popover text-popover-foreground 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 p-1 shadow-md",
38
+ e
39
+ ),
40
+ ...a
41
+ }
42
+ ) });
43
+ }
44
+ function x({
45
+ ...e
46
+ }) {
47
+ return /* @__PURE__ */ t(n.Group, { "data-slot": "dropdown-menu-group", ...e });
48
+ }
49
+ function b({
50
+ className: e,
51
+ inset: o,
52
+ variant: a = "default",
53
+ ...d
54
+ }) {
55
+ return /* @__PURE__ */ t(
56
+ n.Item,
57
+ {
58
+ "data-slot": "dropdown-menu-item",
59
+ "data-inset": o,
60
+ "data-variant": a,
61
+ className: r(
62
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none 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",
63
+ e
64
+ ),
65
+ ...d
66
+ }
67
+ );
68
+ }
69
+ function h({
70
+ className: e,
71
+ children: o,
72
+ checked: a,
73
+ ...d
74
+ }) {
75
+ return /* @__PURE__ */ s(
76
+ n.CheckboxItem,
77
+ {
78
+ "data-slot": "dropdown-menu-checkbox-item",
79
+ className: r(
80
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm 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",
81
+ e
82
+ ),
83
+ checked: a,
84
+ ...d,
85
+ children: [
86
+ /* @__PURE__ */ t("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ t(n.ItemIndicator, { children: /* @__PURE__ */ t(i, { className: "size-4" }) }) }),
87
+ o
88
+ ]
89
+ }
90
+ );
91
+ }
92
+ function z({
93
+ ...e
94
+ }) {
95
+ return /* @__PURE__ */ t(
96
+ n.RadioGroup,
97
+ {
98
+ "data-slot": "dropdown-menu-radio-group",
99
+ ...e
100
+ }
101
+ );
102
+ }
103
+ function D({
104
+ className: e,
105
+ children: o,
106
+ ...a
107
+ }) {
108
+ return /* @__PURE__ */ s(
109
+ n.RadioItem,
110
+ {
111
+ "data-slot": "dropdown-menu-radio-item",
112
+ className: r(
113
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm 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",
114
+ e
115
+ ),
116
+ ...a,
117
+ children: [
118
+ /* @__PURE__ */ t("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ t(n.ItemIndicator, { children: /* @__PURE__ */ t(u, { className: "size-2 fill-current" }) }) }),
119
+ o
120
+ ]
121
+ }
122
+ );
123
+ }
124
+ function M({
125
+ className: e,
126
+ inset: o,
127
+ ...a
128
+ }) {
129
+ return /* @__PURE__ */ t(
130
+ n.Label,
131
+ {
132
+ "data-slot": "dropdown-menu-label",
133
+ "data-inset": o,
134
+ className: r(
135
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
136
+ e
137
+ ),
138
+ ...a
139
+ }
140
+ );
141
+ }
142
+ function N({
143
+ className: e,
144
+ ...o
145
+ }) {
146
+ return /* @__PURE__ */ t(
147
+ n.Separator,
148
+ {
149
+ "data-slot": "dropdown-menu-separator",
150
+ className: r("bg-border -mx-1 my-1 h-px", e),
151
+ ...o
152
+ }
153
+ );
154
+ }
155
+ function I({
156
+ className: e,
157
+ ...o
158
+ }) {
159
+ return /* @__PURE__ */ t(
160
+ "span",
161
+ {
162
+ "data-slot": "dropdown-menu-shortcut",
163
+ className: r(
164
+ "text-muted-foreground ml-auto text-xs tracking-widest",
165
+ e
166
+ ),
167
+ ...o
168
+ }
169
+ );
170
+ }
171
+ function y({
172
+ ...e
173
+ }) {
174
+ return /* @__PURE__ */ t(n.Sub, { "data-slot": "dropdown-menu-sub", ...e });
175
+ }
176
+ function _({
177
+ className: e,
178
+ inset: o,
179
+ children: a,
180
+ ...d
181
+ }) {
182
+ return /* @__PURE__ */ s(
183
+ n.SubTrigger,
184
+ {
185
+ "data-slot": "dropdown-menu-sub-trigger",
186
+ "data-inset": o,
187
+ className: r(
188
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",
189
+ e
190
+ ),
191
+ ...d,
192
+ children: [
193
+ a,
194
+ /* @__PURE__ */ t(c, { className: "ml-auto size-4" })
195
+ ]
196
+ }
197
+ );
198
+ }
199
+ function k({
200
+ className: e,
201
+ ...o
202
+ }) {
203
+ return /* @__PURE__ */ t(
204
+ n.SubContent,
205
+ {
206
+ "data-slot": "dropdown-menu-sub-content",
207
+ className: r(
208
+ "bg-popover text-popover-foreground 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 p-1 shadow-lg",
209
+ e
210
+ ),
211
+ ...o
212
+ }
213
+ );
214
+ }
215
+ export {
216
+ f as DropdownMenu,
217
+ h as DropdownMenuCheckboxItem,
218
+ w as DropdownMenuContent,
219
+ x as DropdownMenuGroup,
220
+ b as DropdownMenuItem,
221
+ M as DropdownMenuLabel,
222
+ g as DropdownMenuPortal,
223
+ z as DropdownMenuRadioGroup,
224
+ D as DropdownMenuRadioItem,
225
+ N as DropdownMenuSeparator,
226
+ I as DropdownMenuShortcut,
227
+ y as DropdownMenuSub,
228
+ k as DropdownMenuSubContent,
229
+ _ as DropdownMenuSubTrigger,
230
+ v as DropdownMenuTrigger
231
+ };