@ucdjs-internal/shared-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 (73) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -0
  3. package/dist/components/shiki-code.d.mts +50 -0
  4. package/dist/components/shiki-code.mjs +76 -0
  5. package/dist/components/theme-toggle.d.mts +6 -0
  6. package/dist/components/theme-toggle.mjs +75 -0
  7. package/dist/hooks/index.d.mts +3 -0
  8. package/dist/hooks/index.mjs +4 -0
  9. package/dist/hooks/use-mobile.d.mts +4 -0
  10. package/dist/hooks/use-mobile.mjs +41 -0
  11. package/dist/hooks/use-theme.d.mts +11 -0
  12. package/dist/hooks/use-theme.mjs +105 -0
  13. package/dist/index.d.mts +3 -0
  14. package/dist/index.mjs +4 -0
  15. package/dist/lib/theme-script.d.mts +5 -0
  16. package/dist/lib/theme-script.mjs +26 -0
  17. package/dist/lib/utils.d.mts +6 -0
  18. package/dist/lib/utils.mjs +10 -0
  19. package/dist/styles/globals.css +219 -0
  20. package/dist/styles/shadcn-vendored.css +95 -0
  21. package/dist/ui/alert-dialog.d.mts +58 -0
  22. package/dist/ui/alert-dialog.mjs +387 -0
  23. package/dist/ui/avatar.d.mts +34 -0
  24. package/dist/ui/avatar.mjs +208 -0
  25. package/dist/ui/badge.d.mts +17 -0
  26. package/dist/ui/badge.mjs +76 -0
  27. package/dist/ui/breadcrumb.d.mts +37 -0
  28. package/dist/ui/breadcrumb.mjs +281 -0
  29. package/dist/ui/button.d.mts +18 -0
  30. package/dist/ui/button.mjs +82 -0
  31. package/dist/ui/card.d.mts +37 -0
  32. package/dist/ui/card.mjs +239 -0
  33. package/dist/ui/checkbox.d.mts +10 -0
  34. package/dist/ui/checkbox.mjs +52 -0
  35. package/dist/ui/collapsible.d.mts +15 -0
  36. package/dist/ui/collapsible.mjs +65 -0
  37. package/dist/ui/combobox.d.mts +81 -0
  38. package/dist/ui/combobox.mjs +641 -0
  39. package/dist/ui/command.d.mts +55 -0
  40. package/dist/ui/command.mjs +378 -0
  41. package/dist/ui/context-menu.d.mts +86 -0
  42. package/dist/ui/context-menu.mjs +520 -0
  43. package/dist/ui/dialog.d.mts +51 -0
  44. package/dist/ui/dialog.mjs +331 -0
  45. package/dist/ui/dropdown-menu.d.mts +84 -0
  46. package/dist/ui/dropdown-menu.mjs +534 -0
  47. package/dist/ui/field.d.mts +64 -0
  48. package/dist/ui/field.mjs +425 -0
  49. package/dist/ui/input-group.d.mts +45 -0
  50. package/dist/ui/input-group.mjs +254 -0
  51. package/dist/ui/input.d.mts +11 -0
  52. package/dist/ui/input.mjs +47 -0
  53. package/dist/ui/label.d.mts +10 -0
  54. package/dist/ui/label.mjs +41 -0
  55. package/dist/ui/scroll-area.d.mts +16 -0
  56. package/dist/ui/scroll-area.mjs +120 -0
  57. package/dist/ui/select.d.mts +55 -0
  58. package/dist/ui/select.mjs +414 -0
  59. package/dist/ui/separator.d.mts +11 -0
  60. package/dist/ui/separator.mjs +47 -0
  61. package/dist/ui/sheet.d.mts +42 -0
  62. package/dist/ui/sheet.mjs +318 -0
  63. package/dist/ui/sidebar.d.mts +160 -0
  64. package/dist/ui/sidebar.mjs +1258 -0
  65. package/dist/ui/skeleton.d.mts +9 -0
  66. package/dist/ui/skeleton.mjs +40 -0
  67. package/dist/ui/table.d.mts +38 -0
  68. package/dist/ui/table.mjs +269 -0
  69. package/dist/ui/textarea.d.mts +10 -0
  70. package/dist/ui/textarea.mjs +41 -0
  71. package/dist/ui/tooltip.d.mts +25 -0
  72. package/dist/ui/tooltip.mjs +149 -0
  73. package/package.json +111 -0
@@ -0,0 +1,534 @@
1
+ import { cn } from "../lib/utils.mjs";
2
+ import "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { c } from "react/compiler-runtime";
5
+ import { Check, ChevronRight } from "lucide-react";
6
+ import { Menu as Menu$1 } from "@base-ui/react/menu";
7
+
8
+ //#region src/ui/dropdown-menu.tsx
9
+ function DropdownMenu(t0) {
10
+ const $ = c(4);
11
+ let props;
12
+ if ($[0] !== t0) {
13
+ ({...props} = t0);
14
+ $[0] = t0;
15
+ $[1] = props;
16
+ } else props = $[1];
17
+ let t1;
18
+ if ($[2] !== props) {
19
+ t1 = /* @__PURE__ */ jsx(Menu$1.Root, {
20
+ "data-slot": "dropdown-menu",
21
+ ...props
22
+ });
23
+ $[2] = props;
24
+ $[3] = t1;
25
+ } else t1 = $[3];
26
+ return t1;
27
+ }
28
+ function DropdownMenuPortal(t0) {
29
+ const $ = c(4);
30
+ let props;
31
+ if ($[0] !== t0) {
32
+ ({...props} = t0);
33
+ $[0] = t0;
34
+ $[1] = props;
35
+ } else props = $[1];
36
+ let t1;
37
+ if ($[2] !== props) {
38
+ t1 = /* @__PURE__ */ jsx(Menu$1.Portal, {
39
+ "data-slot": "dropdown-menu-portal",
40
+ ...props
41
+ });
42
+ $[2] = props;
43
+ $[3] = t1;
44
+ } else t1 = $[3];
45
+ return t1;
46
+ }
47
+ function DropdownMenuTrigger(t0) {
48
+ const $ = c(4);
49
+ let props;
50
+ if ($[0] !== t0) {
51
+ ({...props} = t0);
52
+ $[0] = t0;
53
+ $[1] = props;
54
+ } else props = $[1];
55
+ let t1;
56
+ if ($[2] !== props) {
57
+ t1 = /* @__PURE__ */ jsx(Menu$1.Trigger, {
58
+ "data-slot": "dropdown-menu-trigger",
59
+ ...props
60
+ });
61
+ $[2] = props;
62
+ $[3] = t1;
63
+ } else t1 = $[3];
64
+ return t1;
65
+ }
66
+ function DropdownMenuContent(t0) {
67
+ const $ = c(18);
68
+ let className;
69
+ let props;
70
+ let t1;
71
+ let t2;
72
+ let t3;
73
+ let t4;
74
+ if ($[0] !== t0) {
75
+ ({align: t1, alignOffset: t2, side: t3, sideOffset: t4, className, ...props} = t0);
76
+ $[0] = t0;
77
+ $[1] = className;
78
+ $[2] = props;
79
+ $[3] = t1;
80
+ $[4] = t2;
81
+ $[5] = t3;
82
+ $[6] = t4;
83
+ } else {
84
+ className = $[1];
85
+ props = $[2];
86
+ t1 = $[3];
87
+ t2 = $[4];
88
+ t3 = $[5];
89
+ t4 = $[6];
90
+ }
91
+ const align = t1 === void 0 ? "start" : t1;
92
+ const alignOffset = t2 === void 0 ? 0 : t2;
93
+ const side = t3 === void 0 ? "bottom" : t3;
94
+ const sideOffset = t4 === void 0 ? 4 : t4;
95
+ let t5;
96
+ if ($[7] !== className) {
97
+ t5 = cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 z-50 max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none data-closed:overflow-hidden", className);
98
+ $[7] = className;
99
+ $[8] = t5;
100
+ } else t5 = $[8];
101
+ let t6;
102
+ if ($[9] !== props || $[10] !== t5) {
103
+ t6 = /* @__PURE__ */ jsx(Menu$1.Popup, {
104
+ "data-slot": "dropdown-menu-content",
105
+ className: t5,
106
+ ...props
107
+ });
108
+ $[9] = props;
109
+ $[10] = t5;
110
+ $[11] = t6;
111
+ } else t6 = $[11];
112
+ let t7;
113
+ if ($[12] !== align || $[13] !== alignOffset || $[14] !== side || $[15] !== sideOffset || $[16] !== t6) {
114
+ t7 = /* @__PURE__ */ jsx(Menu$1.Portal, { children: /* @__PURE__ */ jsx(Menu$1.Positioner, {
115
+ className: "isolate z-50 outline-none",
116
+ align,
117
+ alignOffset,
118
+ side,
119
+ sideOffset,
120
+ children: t6
121
+ }) });
122
+ $[12] = align;
123
+ $[13] = alignOffset;
124
+ $[14] = side;
125
+ $[15] = sideOffset;
126
+ $[16] = t6;
127
+ $[17] = t7;
128
+ } else t7 = $[17];
129
+ return t7;
130
+ }
131
+ function DropdownMenuGroup(t0) {
132
+ const $ = c(4);
133
+ let props;
134
+ if ($[0] !== t0) {
135
+ ({...props} = t0);
136
+ $[0] = t0;
137
+ $[1] = props;
138
+ } else props = $[1];
139
+ let t1;
140
+ if ($[2] !== props) {
141
+ t1 = /* @__PURE__ */ jsx(Menu$1.Group, {
142
+ "data-slot": "dropdown-menu-group",
143
+ ...props
144
+ });
145
+ $[2] = props;
146
+ $[3] = t1;
147
+ } else t1 = $[3];
148
+ return t1;
149
+ }
150
+ function DropdownMenuLabel(t0) {
151
+ const $ = c(10);
152
+ let className;
153
+ let inset;
154
+ let props;
155
+ if ($[0] !== t0) {
156
+ ({className, inset, ...props} = t0);
157
+ $[0] = t0;
158
+ $[1] = className;
159
+ $[2] = inset;
160
+ $[3] = props;
161
+ } else {
162
+ className = $[1];
163
+ inset = $[2];
164
+ props = $[3];
165
+ }
166
+ let t1;
167
+ if ($[4] !== className) {
168
+ t1 = cn("text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:pl-8", className);
169
+ $[4] = className;
170
+ $[5] = t1;
171
+ } else t1 = $[5];
172
+ let t2;
173
+ if ($[6] !== inset || $[7] !== props || $[8] !== t1) {
174
+ t2 = /* @__PURE__ */ jsx(Menu$1.GroupLabel, {
175
+ "data-slot": "dropdown-menu-label",
176
+ "data-inset": inset,
177
+ className: t1,
178
+ ...props
179
+ });
180
+ $[6] = inset;
181
+ $[7] = props;
182
+ $[8] = t1;
183
+ $[9] = t2;
184
+ } else t2 = $[9];
185
+ return t2;
186
+ }
187
+ function DropdownMenuItem(t0) {
188
+ const $ = c(12);
189
+ let className;
190
+ let inset;
191
+ let props;
192
+ let t1;
193
+ if ($[0] !== t0) {
194
+ ({className, inset, variant: t1, ...props} = t0);
195
+ $[0] = t0;
196
+ $[1] = className;
197
+ $[2] = inset;
198
+ $[3] = props;
199
+ $[4] = t1;
200
+ } else {
201
+ className = $[1];
202
+ inset = $[2];
203
+ props = $[3];
204
+ t1 = $[4];
205
+ }
206
+ const variant = t1 === void 0 ? "default" : t1;
207
+ let t2;
208
+ if ($[5] !== className) {
209
+ t2 = cn("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 not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0", className);
210
+ $[5] = className;
211
+ $[6] = t2;
212
+ } else t2 = $[6];
213
+ let t3;
214
+ if ($[7] !== inset || $[8] !== props || $[9] !== t2 || $[10] !== variant) {
215
+ t3 = /* @__PURE__ */ jsx(Menu$1.Item, {
216
+ "data-slot": "dropdown-menu-item",
217
+ "data-inset": inset,
218
+ "data-variant": variant,
219
+ className: t2,
220
+ ...props
221
+ });
222
+ $[7] = inset;
223
+ $[8] = props;
224
+ $[9] = t2;
225
+ $[10] = variant;
226
+ $[11] = t3;
227
+ } else t3 = $[11];
228
+ return t3;
229
+ }
230
+ function DropdownMenuSub(t0) {
231
+ const $ = c(4);
232
+ let props;
233
+ if ($[0] !== t0) {
234
+ ({...props} = t0);
235
+ $[0] = t0;
236
+ $[1] = props;
237
+ } else props = $[1];
238
+ let t1;
239
+ if ($[2] !== props) {
240
+ t1 = /* @__PURE__ */ jsx(Menu$1.SubmenuRoot, {
241
+ "data-slot": "dropdown-menu-sub",
242
+ ...props
243
+ });
244
+ $[2] = props;
245
+ $[3] = t1;
246
+ } else t1 = $[3];
247
+ return t1;
248
+ }
249
+ function DropdownMenuSubTrigger(t0) {
250
+ const $ = c(13);
251
+ let children;
252
+ let className;
253
+ let inset;
254
+ let props;
255
+ if ($[0] !== t0) {
256
+ ({className, inset, children, ...props} = t0);
257
+ $[0] = t0;
258
+ $[1] = children;
259
+ $[2] = className;
260
+ $[3] = inset;
261
+ $[4] = props;
262
+ } else {
263
+ children = $[1];
264
+ className = $[2];
265
+ inset = $[3];
266
+ props = $[4];
267
+ }
268
+ let t1;
269
+ if ($[5] !== className) {
270
+ t1 = cn("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0", className);
271
+ $[5] = className;
272
+ $[6] = t1;
273
+ } else t1 = $[6];
274
+ let t2;
275
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
276
+ t2 = /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto" });
277
+ $[7] = t2;
278
+ } else t2 = $[7];
279
+ let t3;
280
+ if ($[8] !== children || $[9] !== inset || $[10] !== props || $[11] !== t1) {
281
+ t3 = /* @__PURE__ */ jsxs(Menu$1.SubmenuTrigger, {
282
+ "data-slot": "dropdown-menu-sub-trigger",
283
+ "data-inset": inset,
284
+ className: t1,
285
+ ...props,
286
+ children: [children, t2]
287
+ });
288
+ $[8] = children;
289
+ $[9] = inset;
290
+ $[10] = props;
291
+ $[11] = t1;
292
+ $[12] = t3;
293
+ } else t3 = $[12];
294
+ return t3;
295
+ }
296
+ function DropdownMenuSubContent(t0) {
297
+ const $ = c(16);
298
+ let className;
299
+ let props;
300
+ let t1;
301
+ let t2;
302
+ let t3;
303
+ let t4;
304
+ if ($[0] !== t0) {
305
+ ({align: t1, alignOffset: t2, side: t3, sideOffset: t4, className, ...props} = t0);
306
+ $[0] = t0;
307
+ $[1] = className;
308
+ $[2] = props;
309
+ $[3] = t1;
310
+ $[4] = t2;
311
+ $[5] = t3;
312
+ $[6] = t4;
313
+ } else {
314
+ className = $[1];
315
+ props = $[2];
316
+ t1 = $[3];
317
+ t2 = $[4];
318
+ t3 = $[5];
319
+ t4 = $[6];
320
+ }
321
+ const align = t1 === void 0 ? "start" : t1;
322
+ const alignOffset = t2 === void 0 ? -3 : t2;
323
+ const side = t3 === void 0 ? "right" : t3;
324
+ const sideOffset = t4 === void 0 ? 0 : t4;
325
+ let t5;
326
+ if ($[7] !== className) {
327
+ t5 = cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 ring-foreground/10 bg-popover text-popover-foreground min-w-24 rounded-md p-1 shadow-lg ring-1 duration-100 w-auto", className);
328
+ $[7] = className;
329
+ $[8] = t5;
330
+ } else t5 = $[8];
331
+ let t6;
332
+ if ($[9] !== align || $[10] !== alignOffset || $[11] !== props || $[12] !== side || $[13] !== sideOffset || $[14] !== t5) {
333
+ t6 = /* @__PURE__ */ jsx(DropdownMenuContent, {
334
+ "data-slot": "dropdown-menu-sub-content",
335
+ className: t5,
336
+ align,
337
+ alignOffset,
338
+ side,
339
+ sideOffset,
340
+ ...props
341
+ });
342
+ $[9] = align;
343
+ $[10] = alignOffset;
344
+ $[11] = props;
345
+ $[12] = side;
346
+ $[13] = sideOffset;
347
+ $[14] = t5;
348
+ $[15] = t6;
349
+ } else t6 = $[15];
350
+ return t6;
351
+ }
352
+ function DropdownMenuCheckboxItem(t0) {
353
+ const $ = c(13);
354
+ let checked;
355
+ let children;
356
+ let className;
357
+ let props;
358
+ if ($[0] !== t0) {
359
+ ({className, children, checked, ...props} = t0);
360
+ $[0] = t0;
361
+ $[1] = checked;
362
+ $[2] = children;
363
+ $[3] = className;
364
+ $[4] = props;
365
+ } else {
366
+ checked = $[1];
367
+ children = $[2];
368
+ className = $[3];
369
+ props = $[4];
370
+ }
371
+ let t1;
372
+ if ($[5] !== className) {
373
+ t1 = cn("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className);
374
+ $[5] = className;
375
+ $[6] = t1;
376
+ } else t1 = $[6];
377
+ let t2;
378
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
379
+ t2 = /* @__PURE__ */ jsx("span", {
380
+ className: "absolute right-2 flex items-center justify-center pointer-events-none",
381
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
382
+ children: /* @__PURE__ */ jsx(Menu$1.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(Check, {}) })
383
+ });
384
+ $[7] = t2;
385
+ } else t2 = $[7];
386
+ let t3;
387
+ if ($[8] !== checked || $[9] !== children || $[10] !== props || $[11] !== t1) {
388
+ t3 = /* @__PURE__ */ jsxs(Menu$1.CheckboxItem, {
389
+ "data-slot": "dropdown-menu-checkbox-item",
390
+ className: t1,
391
+ checked,
392
+ ...props,
393
+ children: [t2, children]
394
+ });
395
+ $[8] = checked;
396
+ $[9] = children;
397
+ $[10] = props;
398
+ $[11] = t1;
399
+ $[12] = t3;
400
+ } else t3 = $[12];
401
+ return t3;
402
+ }
403
+ function DropdownMenuRadioGroup(t0) {
404
+ const $ = c(4);
405
+ let props;
406
+ if ($[0] !== t0) {
407
+ ({...props} = t0);
408
+ $[0] = t0;
409
+ $[1] = props;
410
+ } else props = $[1];
411
+ let t1;
412
+ if ($[2] !== props) {
413
+ t1 = /* @__PURE__ */ jsx(Menu$1.RadioGroup, {
414
+ "data-slot": "dropdown-menu-radio-group",
415
+ ...props
416
+ });
417
+ $[2] = props;
418
+ $[3] = t1;
419
+ } else t1 = $[3];
420
+ return t1;
421
+ }
422
+ function DropdownMenuRadioItem(t0) {
423
+ const $ = c(11);
424
+ let children;
425
+ let className;
426
+ let props;
427
+ if ($[0] !== t0) {
428
+ ({className, children, ...props} = t0);
429
+ $[0] = t0;
430
+ $[1] = children;
431
+ $[2] = className;
432
+ $[3] = props;
433
+ } else {
434
+ children = $[1];
435
+ className = $[2];
436
+ props = $[3];
437
+ }
438
+ let t1;
439
+ if ($[4] !== className) {
440
+ t1 = cn("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className);
441
+ $[4] = className;
442
+ $[5] = t1;
443
+ } else t1 = $[5];
444
+ let t2;
445
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
446
+ t2 = /* @__PURE__ */ jsx("span", {
447
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
448
+ "data-slot": "dropdown-menu-radio-item-indicator",
449
+ children: /* @__PURE__ */ jsx(Menu$1.RadioItemIndicator, { children: /* @__PURE__ */ jsx(Check, {}) })
450
+ });
451
+ $[6] = t2;
452
+ } else t2 = $[6];
453
+ let t3;
454
+ if ($[7] !== children || $[8] !== props || $[9] !== t1) {
455
+ t3 = /* @__PURE__ */ jsxs(Menu$1.RadioItem, {
456
+ "data-slot": "dropdown-menu-radio-item",
457
+ className: t1,
458
+ ...props,
459
+ children: [t2, children]
460
+ });
461
+ $[7] = children;
462
+ $[8] = props;
463
+ $[9] = t1;
464
+ $[10] = t3;
465
+ } else t3 = $[10];
466
+ return t3;
467
+ }
468
+ function DropdownMenuSeparator(t0) {
469
+ const $ = c(8);
470
+ let className;
471
+ let props;
472
+ if ($[0] !== t0) {
473
+ ({className, ...props} = t0);
474
+ $[0] = t0;
475
+ $[1] = className;
476
+ $[2] = props;
477
+ } else {
478
+ className = $[1];
479
+ props = $[2];
480
+ }
481
+ let t1;
482
+ if ($[3] !== className) {
483
+ t1 = cn("bg-border -mx-1 my-1 h-px", className);
484
+ $[3] = className;
485
+ $[4] = t1;
486
+ } else t1 = $[4];
487
+ let t2;
488
+ if ($[5] !== props || $[6] !== t1) {
489
+ t2 = /* @__PURE__ */ jsx(Menu$1.Separator, {
490
+ "data-slot": "dropdown-menu-separator",
491
+ className: t1,
492
+ ...props
493
+ });
494
+ $[5] = props;
495
+ $[6] = t1;
496
+ $[7] = t2;
497
+ } else t2 = $[7];
498
+ return t2;
499
+ }
500
+ function DropdownMenuShortcut(t0) {
501
+ const $ = c(8);
502
+ let className;
503
+ let props;
504
+ if ($[0] !== t0) {
505
+ ({className, ...props} = t0);
506
+ $[0] = t0;
507
+ $[1] = className;
508
+ $[2] = props;
509
+ } else {
510
+ className = $[1];
511
+ props = $[2];
512
+ }
513
+ let t1;
514
+ if ($[3] !== className) {
515
+ t1 = cn("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest", className);
516
+ $[3] = className;
517
+ $[4] = t1;
518
+ } else t1 = $[4];
519
+ let t2;
520
+ if ($[5] !== props || $[6] !== t1) {
521
+ t2 = /* @__PURE__ */ jsx("span", {
522
+ "data-slot": "dropdown-menu-shortcut",
523
+ className: t1,
524
+ ...props
525
+ });
526
+ $[5] = props;
527
+ $[6] = t1;
528
+ $[7] = t2;
529
+ } else t2 = $[7];
530
+ return t2;
531
+ }
532
+
533
+ //#endregion
534
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
@@ -0,0 +1,64 @@
1
+ import { Label } from "./label.mjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
5
+
6
+ //#region src/ui/field.d.ts
7
+ declare function FieldSet({
8
+ className,
9
+ ...props
10
+ }: React.ComponentProps<"fieldset">): react_jsx_runtime0.JSX.Element;
11
+ declare function FieldLegend({
12
+ className,
13
+ variant,
14
+ ...props
15
+ }: React.ComponentProps<"legend"> & {
16
+ variant?: "legend" | "label";
17
+ }): react_jsx_runtime0.JSX.Element;
18
+ declare function FieldGroup({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
22
+ declare const fieldVariants: (props?: ({
23
+ orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
24
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
25
+ declare function Field({
26
+ className,
27
+ orientation,
28
+ ...props
29
+ }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime0.JSX.Element;
30
+ declare function FieldContent({
31
+ className,
32
+ ...props
33
+ }: React.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
34
+ declare function FieldLabel({
35
+ className,
36
+ ...props
37
+ }: React.ComponentProps<typeof Label>): react_jsx_runtime0.JSX.Element;
38
+ declare function FieldTitle({
39
+ className,
40
+ ...props
41
+ }: React.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
42
+ declare function FieldDescription({
43
+ className,
44
+ ...props
45
+ }: React.ComponentProps<"p">): react_jsx_runtime0.JSX.Element;
46
+ declare function FieldSeparator({
47
+ children,
48
+ className,
49
+ ...props
50
+ }: React.ComponentProps<"div"> & {
51
+ children?: React.ReactNode;
52
+ }): react_jsx_runtime0.JSX.Element;
53
+ declare function FieldError({
54
+ className,
55
+ children,
56
+ errors,
57
+ ...props
58
+ }: React.ComponentProps<"div"> & {
59
+ errors?: Array<{
60
+ message?: string;
61
+ } | undefined>;
62
+ }): react_jsx_runtime0.JSX.Element | null;
63
+ //#endregion
64
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };