@nuxt/ui 2.8.1 → 2.10.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 (120) hide show
  1. package/README.md +1 -0
  2. package/dist/module.d.mts +1411 -1092
  3. package/dist/module.d.ts +1411 -1092
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +55 -11
  6. package/dist/runtime/components/data/Table.vue +47 -32
  7. package/dist/runtime/components/data/Table.vue.d.ts +22 -14
  8. package/dist/runtime/components/elements/Accordion.vue +33 -28
  9. package/dist/runtime/components/elements/Accordion.vue.d.ts +25 -18
  10. package/dist/runtime/components/elements/Alert.vue +22 -18
  11. package/dist/runtime/components/elements/Alert.vue.d.ts +26 -19
  12. package/dist/runtime/components/elements/Avatar.vue +22 -16
  13. package/dist/runtime/components/elements/Avatar.vue.d.ts +28 -19
  14. package/dist/runtime/components/elements/AvatarGroup.d.ts +17 -8
  15. package/dist/runtime/components/elements/AvatarGroup.mjs +18 -13
  16. package/dist/runtime/components/elements/Badge.vue +21 -17
  17. package/dist/runtime/components/elements/Badge.vue.d.ts +28 -19
  18. package/dist/runtime/components/elements/Button.vue +22 -18
  19. package/dist/runtime/components/elements/Button.vue.d.ts +28 -19
  20. package/dist/runtime/components/elements/ButtonGroup.d.ts +17 -8
  21. package/dist/runtime/components/elements/ButtonGroup.mjs +22 -15
  22. package/dist/runtime/components/elements/Dropdown.vue +45 -37
  23. package/dist/runtime/components/elements/Dropdown.vue.d.ts +22 -17
  24. package/dist/runtime/components/elements/Kbd.vue +16 -12
  25. package/dist/runtime/components/elements/Kbd.vue.d.ts +20 -12
  26. package/dist/runtime/components/elements/Link.vue +18 -5
  27. package/dist/runtime/components/elements/Meter.vue +166 -0
  28. package/dist/runtime/components/elements/Meter.vue.d.ts +123 -0
  29. package/dist/runtime/components/elements/MeterGroup.d.ts +78 -0
  30. package/dist/runtime/components/elements/MeterGroup.mjs +172 -0
  31. package/dist/runtime/components/elements/Progress.vue +284 -0
  32. package/dist/runtime/components/elements/Progress.vue.d.ts +2 -0
  33. package/dist/runtime/components/forms/Checkbox.vue +27 -17
  34. package/dist/runtime/components/forms/Checkbox.vue.d.ts +33 -15
  35. package/dist/runtime/components/forms/Form.vue +34 -9
  36. package/dist/runtime/components/forms/Form.vue.d.ts +2 -1
  37. package/dist/runtime/components/forms/FormGroup.vue +51 -27
  38. package/dist/runtime/components/forms/FormGroup.vue.d.ts +23 -15
  39. package/dist/runtime/components/forms/Input.vue +41 -29
  40. package/dist/runtime/components/forms/Input.vue.d.ts +51 -24
  41. package/dist/runtime/components/forms/Radio.vue +32 -21
  42. package/dist/runtime/components/forms/Radio.vue.d.ts +36 -18
  43. package/dist/runtime/components/forms/RadioGroup.vue +136 -0
  44. package/dist/runtime/components/forms/RadioGroup.vue.d.ts +118 -0
  45. package/dist/runtime/components/forms/Range.vue +26 -16
  46. package/dist/runtime/components/forms/Range.vue.d.ts +37 -18
  47. package/dist/runtime/components/forms/Select.vue +34 -26
  48. package/dist/runtime/components/forms/Select.vue.d.ts +42 -24
  49. package/dist/runtime/components/forms/SelectMenu.vue +104 -89
  50. package/dist/runtime/components/forms/SelectMenu.vue.d.ts +53 -33
  51. package/dist/runtime/components/forms/Textarea.vue +43 -31
  52. package/dist/runtime/components/forms/Textarea.vue.d.ts +50 -23
  53. package/dist/runtime/components/forms/Toggle.vue +26 -15
  54. package/dist/runtime/components/forms/Toggle.vue.d.ts +31 -12
  55. package/dist/runtime/components/layout/Card.vue +15 -10
  56. package/dist/runtime/components/layout/Card.vue.d.ts +17 -9
  57. package/dist/runtime/components/layout/Container.vue +15 -10
  58. package/dist/runtime/components/layout/Container.vue.d.ts +17 -9
  59. package/dist/runtime/components/layout/Divider.vue +107 -0
  60. package/dist/runtime/components/layout/Divider.vue.d.ts +82 -0
  61. package/dist/runtime/components/layout/Skeleton.vue +15 -10
  62. package/dist/runtime/components/layout/Skeleton.vue.d.ts +17 -9
  63. package/dist/runtime/components/navigation/CommandPalette.vue +57 -38
  64. package/dist/runtime/components/navigation/CommandPalette.vue.d.ts +24 -23
  65. package/dist/runtime/components/navigation/CommandPaletteGroup.vue +1 -1
  66. package/dist/runtime/components/navigation/CommandPaletteGroup.vue.d.ts +3 -4
  67. package/dist/runtime/components/navigation/Pagination.vue +129 -64
  68. package/dist/runtime/components/navigation/Pagination.vue.d.ts +70 -25
  69. package/dist/runtime/components/navigation/Tabs.vue +17 -14
  70. package/dist/runtime/components/navigation/Tabs.vue.d.ts +18 -11
  71. package/dist/runtime/components/navigation/VerticalNavigation.vue +15 -13
  72. package/dist/runtime/components/navigation/VerticalNavigation.vue.d.ts +20 -16
  73. package/dist/runtime/components/overlays/ContextMenu.vue +21 -11
  74. package/dist/runtime/components/overlays/ContextMenu.vue.d.ts +20 -11
  75. package/dist/runtime/components/overlays/Modal.vue +16 -14
  76. package/dist/runtime/components/overlays/Modal.vue.d.ts +18 -11
  77. package/dist/runtime/components/overlays/Notification.vue +25 -15
  78. package/dist/runtime/components/overlays/Notification.vue.d.ts +25 -19
  79. package/dist/runtime/components/overlays/Notifications.vue +19 -13
  80. package/dist/runtime/components/overlays/Notifications.vue.d.ts +22 -14
  81. package/dist/runtime/components/overlays/Popover.vue +39 -22
  82. package/dist/runtime/components/overlays/Popover.vue.d.ts +32 -11
  83. package/dist/runtime/components/overlays/Slideover.vue +15 -13
  84. package/dist/runtime/components/overlays/Slideover.vue.d.ts +18 -11
  85. package/dist/runtime/components/overlays/Tooltip.vue +31 -23
  86. package/dist/runtime/components/overlays/Tooltip.vue.d.ts +19 -11
  87. package/dist/runtime/composables/useFormGroup.d.ts +12 -2
  88. package/dist/runtime/composables/useFormGroup.mjs +21 -4
  89. package/dist/runtime/composables/usePopper.d.ts +3 -3
  90. package/dist/runtime/composables/usePopper.mjs +47 -31
  91. package/dist/runtime/composables/useToast.d.ts +3 -3
  92. package/dist/runtime/composables/useUI.d.ts +10 -0
  93. package/dist/runtime/composables/useUI.mjs +24 -0
  94. package/dist/runtime/types/avatar.d.ts +10 -4
  95. package/dist/runtime/types/badge.d.ts +14 -0
  96. package/dist/runtime/types/button.d.ts +10 -3
  97. package/dist/runtime/types/command-palette.d.ts +3 -1
  98. package/dist/runtime/types/form.d.ts +18 -4
  99. package/dist/runtime/types/index.d.ts +4 -0
  100. package/dist/runtime/types/link.d.ts +1 -0
  101. package/dist/runtime/types/meter.d.ts +5 -0
  102. package/dist/runtime/types/notification.d.ts +5 -3
  103. package/dist/runtime/types/popper.d.ts +1 -0
  104. package/dist/runtime/types/progress.d.ts +4 -0
  105. package/dist/runtime/types/tabs.d.ts +1 -0
  106. package/dist/runtime/types/utils.d.ts +11 -0
  107. package/dist/runtime/ui.config.d.ts +1470 -0
  108. package/dist/runtime/{app.config.mjs → ui.config.mjs} +313 -97
  109. package/dist/runtime/utils/index.d.ts +5 -11
  110. package/dist/runtime/utils/index.mjs +21 -9
  111. package/dist/runtime/utils/lodash.d.ts +2 -0
  112. package/dist/runtime/utils/lodash.mjs +23 -0
  113. package/dist/runtime/utils/uid.d.ts +1 -0
  114. package/dist/runtime/utils/uid.mjs +4 -0
  115. package/dist/types.d.mts +1 -1
  116. package/dist/types.d.ts +1 -1
  117. package/package.json +27 -29
  118. package/dist/runtime/app.config.d.ts +0 -1203
  119. package/dist/runtime/utils/StateEmitter.d.ts +0 -17
  120. package/dist/runtime/utils/StateEmitter.mjs +0 -21
@@ -1,4 +1,12 @@
1
- const table = {
1
+ const _popperArrow = {
2
+ base: "before:w-2 before:h-2",
3
+ ring: "before:ring-1 before:ring-gray-200 dark:before:ring-gray-800",
4
+ rounded: "before:rounded-sm",
5
+ background: "before:bg-gray-200 dark:before:bg-gray-800",
6
+ shadow: "before:shadow",
7
+ placement: 'group-data-[popper-placement*="right"]:-left-1 group-data-[popper-placement*="left"]:-right-1 group-data-[popper-placement*="top"]:-bottom-1 group-data-[popper-placement*="bottom"]:-top-1'
8
+ };
9
+ export const table = {
2
10
  wrapper: "relative overflow-x-auto",
3
11
  base: "min-w-full table-fixed",
4
12
  divide: "divide-y divide-gray-300 dark:divide-gray-700",
@@ -23,6 +31,9 @@ const table = {
23
31
  font: "",
24
32
  size: "text-sm"
25
33
  },
34
+ checkbox: {
35
+ padding: "ps-4"
36
+ },
26
37
  loadingState: {
27
38
  wrapper: "flex flex-col items-center justify-center flex-1 px-6 py-14 sm:px-14",
28
39
  label: "text-sm text-center text-gray-900 dark:text-white",
@@ -54,7 +65,7 @@ const table = {
54
65
  }
55
66
  }
56
67
  };
57
- const avatar = {
68
+ export const avatar = {
58
69
  wrapper: "relative inline-flex items-center justify-center flex-shrink-0",
59
70
  background: "bg-gray-100 dark:bg-gray-800",
60
71
  rounded: "rounded-full",
@@ -113,12 +124,12 @@ const avatar = {
113
124
  chipPosition: "top-right"
114
125
  }
115
126
  };
116
- const avatarGroup = {
117
- wrapper: "flex flex-row-reverse justify-end",
127
+ export const avatarGroup = {
128
+ wrapper: "inline-flex flex-row-reverse justify-end",
118
129
  ring: "ring-2 ring-white dark:ring-gray-900",
119
130
  margin: "-me-1.5 first:me-0"
120
131
  };
121
- const badge = {
132
+ export const badge = {
122
133
  base: "inline-flex items-center",
123
134
  rounded: "rounded-md",
124
135
  font: "font-medium",
@@ -151,7 +162,7 @@ const badge = {
151
162
  color: "primary"
152
163
  }
153
164
  };
154
- const button = {
165
+ export const button = {
155
166
  base: "focus:outline-none focus-visible:outline-0 disabled:cursor-not-allowed disabled:opacity-75 flex-shrink-0",
156
167
  font: "font-medium",
157
168
  rounded: "rounded-md",
@@ -227,14 +238,17 @@ const button = {
227
238
  loadingIcon: "i-heroicons-arrow-path-20-solid"
228
239
  }
229
240
  };
230
- const buttonGroup = {
231
- wrapper: "inline-flex -space-x-px",
241
+ export const buttonGroup = {
242
+ wrapper: {
243
+ horizontal: "inline-flex -space-x-px",
244
+ vertical: "inline-flex flex-col -space-y-px"
245
+ },
232
246
  rounded: "rounded-md",
233
247
  shadow: "shadow-sm"
234
248
  };
235
- const dropdown = {
249
+ export const dropdown = {
236
250
  wrapper: "relative inline-flex text-left rtl:text-right",
237
- container: "z-20",
251
+ container: "z-20 group",
238
252
  width: "w-48",
239
253
  height: "",
240
254
  background: "bg-white dark:bg-gray-800",
@@ -275,9 +289,14 @@ const dropdown = {
275
289
  popper: {
276
290
  placement: "bottom-end",
277
291
  strategy: "fixed"
292
+ },
293
+ arrow: {
294
+ ..._popperArrow,
295
+ ring: "before:ring-1 before:ring-gray-200 dark:before:ring-gray-700",
296
+ background: "before:bg-white dark:before:bg-gray-700"
278
297
  }
279
298
  };
280
- const accordion = {
299
+ export const accordion = {
281
300
  wrapper: "w-full flex flex-col",
282
301
  item: {
283
302
  base: "",
@@ -297,7 +316,7 @@ const accordion = {
297
316
  variant: "soft"
298
317
  }
299
318
  };
300
- const alert = {
319
+ export const alert = {
301
320
  wrapper: "w-full relative overflow-hidden",
302
321
  title: "text-sm font-medium",
303
322
  description: "mt-1 text-sm leading-4 opacity-90",
@@ -334,7 +353,7 @@ const alert = {
334
353
  }
335
354
  }
336
355
  };
337
- const kbd = {
356
+ export const kbd = {
338
357
  base: "inline-flex items-center justify-center text-gray-900 dark:text-white",
339
358
  padding: "px-1",
340
359
  size: {
@@ -350,7 +369,168 @@ const kbd = {
350
369
  size: "sm"
351
370
  }
352
371
  };
353
- const input = {
372
+ export const progress = {
373
+ wrapper: "w-full flex flex-col gap-2",
374
+ indicator: {
375
+ container: {
376
+ base: "flex flex-row justify-end",
377
+ width: "min-w-fit",
378
+ transition: "transition-all"
379
+ },
380
+ align: "text-end",
381
+ width: "w-fit",
382
+ color: "text-gray-400 dark:text-gray-500",
383
+ size: {
384
+ "2xs": "text-xs",
385
+ xs: "text-xs",
386
+ sm: "text-sm",
387
+ md: "text-sm",
388
+ lg: "text-sm",
389
+ xl: "text-base",
390
+ "2xl": "text-base"
391
+ }
392
+ },
393
+ progress: {
394
+ base: "block appearance-none border-none overflow-hidden",
395
+ width: "w-full [&::-webkit-progress-bar]:w-full",
396
+ size: {
397
+ "2xs": "h-px",
398
+ xs: "h-0.5",
399
+ sm: "h-1",
400
+ md: "h-2",
401
+ lg: "h-3",
402
+ xl: "h-4",
403
+ "2xl": "h-5"
404
+ },
405
+ rounded: "rounded-full [&::-webkit-progress-bar]:rounded-full",
406
+ track: "[&::-webkit-progress-bar]:bg-gray-200 [&::-webkit-progress-bar]:dark:bg-gray-700 [@supports(selector(&::-moz-progress-bar))]:bg-gray-200 [@supports(selector(&::-moz-progress-bar))]:dark:bg-gray-700",
407
+ bar: "[&::-webkit-progress-value]:rounded-full [&::-webkit-progress-value]:transition-all [&::-webkit-progress-value]:ease-in-out [&::-moz-progress-bar]:rounded-full",
408
+ color: "text-{color}-500 dark:text-{color}-400",
409
+ background: "[&::-webkit-progress-value]:bg-current [&::-moz-progress-bar]:bg-current",
410
+ indeterminate: {
411
+ base: "indeterminate:relative",
412
+ rounded: "indeterminate:after:rounded-full [&:indeterminate::-webkit-progress-value]:rounded-full [&:indeterminate::-moz-progress-bar]:rounded-full"
413
+ }
414
+ },
415
+ steps: {
416
+ base: "grid grid-cols-1",
417
+ color: "text-{color}-500 dark:text-{color}-400",
418
+ size: {
419
+ "2xs": "text-xs",
420
+ xs: "text-xs",
421
+ sm: "text-sm",
422
+ md: "text-sm",
423
+ lg: "text-sm",
424
+ xl: "text-base",
425
+ "2xl": "text-base"
426
+ }
427
+ },
428
+ step: {
429
+ base: "transition-all opacity-0 truncate row-start-1 col-start-1",
430
+ align: "text-end",
431
+ active: "opacity-100",
432
+ first: "text-gray-500 dark:text-gray-400"
433
+ },
434
+ animation: {
435
+ carousel: "bar-animation-carousel",
436
+ "carousel-inverse": "bar-animation-carousel-inverse",
437
+ swing: "bar-animation-swing",
438
+ elastic: "bar-animation-elastic"
439
+ },
440
+ default: {
441
+ color: "primary",
442
+ size: "md",
443
+ animation: "carousel"
444
+ }
445
+ };
446
+ export const meter = {
447
+ wrapper: "w-full flex flex-col gap-2",
448
+ indicator: {
449
+ container: "min-w-fit transition-all",
450
+ text: "text-gray-400 dark:text-gray-500 text-end",
451
+ size: {
452
+ "2xs": "text-xs",
453
+ xs: "text-xs",
454
+ sm: "text-sm",
455
+ md: "text-sm",
456
+ lg: "text-sm",
457
+ xl: "text-base",
458
+ "2xl": "text-base"
459
+ }
460
+ },
461
+ meter: {
462
+ base: "appearance-none block w-full bg-none overflow-y-hidden",
463
+ background: "bg-gray-200 dark:bg-gray-700",
464
+ color: "text-{color}-500 dark:text-{color}-400",
465
+ ring: "",
466
+ rounded: "rounded-full",
467
+ shadow: "",
468
+ size: {
469
+ "2xs": "h-px",
470
+ xs: "h-0.5",
471
+ sm: "h-1",
472
+ md: "h-2",
473
+ lg: "h-3",
474
+ xl: "h-4",
475
+ "2xl": "h-5"
476
+ },
477
+ appearance: {
478
+ inner: "[&::-webkit-meter-inner-element]:block [&::-webkit-meter-inner-element]:relative [&::-webkit-meter-inner-element]:border-none [&::-webkit-meter-inner-element]:bg-none [&::-webkit-meter-inner-element]:bg-transparent",
479
+ meter: "[&::-webkit-meter-bar]:border-none [&::-webkit-meter-bar]:bg-none [&::-webkit-meter-bar]:bg-transparent",
480
+ bar: "[&::-webkit-meter-optimum-value]:border-none [&::-webkit-meter-optimum-value]:bg-none [&::-webkit-meter-optimum-value]:bg-current",
481
+ value: "[&::-moz-meter-bar]:border-none [&::-moz-meter-bar]:bg-none [&::-moz-meter-bar]:bg-current"
482
+ },
483
+ bar: {
484
+ transition: "[&::-webkit-meter-optimum-value]:transition-all [&::-moz-meter-bar]:transition-all",
485
+ ring: "",
486
+ rounded: "[&::-webkit-meter-optimum-value]:rounded-full [&::-moz-meter-bar]:rounded-full",
487
+ size: {
488
+ "2xs": "[&::-webkit-meter-optimum-value]:h-px [&::-moz-meter-bar]:h-px",
489
+ xs: "[&::-webkit-meter-optimum-value]:h-0.5 [&::-moz-meter-bar]:h-0.5",
490
+ sm: "[&::-webkit-meter-optimum-value]:h-1 [&::-moz-meter-bar]:h-1",
491
+ md: "[&::-webkit-meter-optimum-value]:h-2 [&::-moz-meter-bar]:h-2",
492
+ lg: "[&::-webkit-meter-optimum-value]:h-3 [&::-moz-meter-bar]:h-3",
493
+ xl: "[&::-webkit-meter-optimum-value]:h-4 [&::-moz-meter-bar]:h-4",
494
+ "2xl": "[&::-webkit-meter-optimum-value]:h-5 [&::-moz-meter-bar]:h-5"
495
+ }
496
+ }
497
+ },
498
+ label: {
499
+ base: "flex gap-2 items-center",
500
+ text: "truncate",
501
+ color: "text-{color}-500 dark:text-{color}-400",
502
+ size: {
503
+ "2xs": "text-xs",
504
+ xs: "text-xs",
505
+ sm: "text-sm",
506
+ md: "text-sm",
507
+ lg: "text-sm",
508
+ xl: "text-base",
509
+ "2xl": "text-base"
510
+ }
511
+ },
512
+ color: {
513
+ white: "text-white dark:text-black",
514
+ black: "text-black dark:text-white",
515
+ gray: "text-gray-500 dark:text-gray-400"
516
+ },
517
+ default: {
518
+ size: "md",
519
+ color: "primary"
520
+ }
521
+ };
522
+ export const meterGroup = {
523
+ wrapper: "flex flex-col gap-2 w-full",
524
+ base: "flex flex-row flex-nowrap flex-shrink overflow-hidden",
525
+ background: "bg-gray-200 dark:bg-gray-700",
526
+ transition: "transition-all",
527
+ rounded: "rounded-full",
528
+ shadow: "",
529
+ default: {
530
+ size: "md"
531
+ }
532
+ };
533
+ export const input = {
354
534
  wrapper: "relative",
355
535
  base: "relative block w-full disabled:cursor-not-allowed disabled:opacity-75 focus:outline-none border-0",
356
536
  rounded: "rounded-md",
@@ -454,7 +634,7 @@ const input = {
454
634
  loadingIcon: "i-heroicons-arrow-path-20-solid"
455
635
  }
456
636
  };
457
- const formGroup = {
637
+ export const formGroup = {
458
638
  wrapper: "",
459
639
  label: {
460
640
  wrapper: "flex content-center items-center justify-between",
@@ -474,9 +654,12 @@ const formGroup = {
474
654
  description: "text-gray-500 dark:text-gray-400",
475
655
  hint: "text-gray-500 dark:text-gray-400",
476
656
  help: "mt-2 text-gray-500 dark:text-gray-400",
477
- error: "mt-2 text-red-500 dark:text-red-400"
657
+ error: "mt-2 text-red-500 dark:text-red-400",
658
+ default: {
659
+ size: "sm"
660
+ }
478
661
  };
479
- const textarea = {
662
+ export const textarea = {
480
663
  ...input,
481
664
  default: {
482
665
  size: "sm",
@@ -484,7 +667,7 @@ const textarea = {
484
667
  variant: "outline"
485
668
  }
486
669
  };
487
- const select = {
670
+ export const select = {
488
671
  ...input,
489
672
  placeholder: "text-gray-900 dark:text-white",
490
673
  default: {
@@ -495,8 +678,8 @@ const select = {
495
678
  trailingIcon: "i-heroicons-chevron-down-20-solid"
496
679
  }
497
680
  };
498
- const selectMenu = {
499
- container: "z-20",
681
+ export const selectMenu = {
682
+ container: "z-20 group",
500
683
  width: "w-full",
501
684
  height: "max-h-60",
502
685
  base: "relative focus:outline-none overflow-y-auto scroll-py-1",
@@ -547,23 +730,35 @@ const selectMenu = {
547
730
  },
548
731
  default: {
549
732
  selectedIcon: "i-heroicons-check-20-solid"
733
+ },
734
+ arrow: {
735
+ ..._popperArrow,
736
+ ring: "before:ring-1 before:ring-gray-200 dark:before:ring-gray-700",
737
+ background: "before:bg-white dark:before:bg-gray-700"
738
+ }
739
+ };
740
+ export const radioGroup = {
741
+ wrapper: "relative flex items-start",
742
+ legend: "text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",
743
+ default: {
744
+ color: "primary"
550
745
  }
551
746
  };
552
- const radio = {
747
+ export const radio = {
553
748
  wrapper: "relative flex items-start",
554
749
  base: "h-4 w-4 dark:checked:bg-current dark:checked:border-transparent disabled:opacity-50 disabled:cursor-not-allowed focus:ring-0 focus:ring-transparent focus:ring-offset-transparent",
555
750
  color: "text-{color}-500 dark:text-{color}-400",
556
751
  background: "bg-white dark:bg-gray-900",
557
752
  border: "border border-gray-300 dark:border-gray-700",
558
753
  ring: "focus-visible:ring-2 focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-gray-900",
559
- label: "font-medium text-gray-700 dark:text-gray-200",
560
- required: "text-red-500 dark:text-red-400",
561
- help: "text-gray-500 dark:text-gray-400",
754
+ label: "text-sm font-medium text-gray-700 dark:text-gray-200",
755
+ required: "text-sm text-red-500 dark:text-red-400",
756
+ help: "text-sm text-gray-500 dark:text-gray-400",
562
757
  default: {
563
758
  color: "primary"
564
759
  }
565
760
  };
566
- const checkbox = {
761
+ export const checkbox = {
567
762
  wrapper: "relative flex items-start",
568
763
  base: "h-4 w-4 dark:checked:bg-current dark:checked:border-transparent dark:indeterminate:bg-current dark:indeterminate:border-transparent disabled:opacity-50 disabled:cursor-not-allowed focus:ring-0 focus:ring-transparent focus:ring-offset-transparent",
569
764
  rounded: "rounded",
@@ -578,7 +773,7 @@ const checkbox = {
578
773
  color: "primary"
579
774
  }
580
775
  };
581
- const toggle = {
776
+ export const toggle = {
582
777
  base: "relative inline-flex h-5 w-9 flex-shrink-0 border-2 border-transparent disabled:cursor-not-allowed disabled:opacity-50 focus:outline-none",
583
778
  rounded: "rounded-full",
584
779
  ring: "focus-visible:ring-2 focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-gray-900",
@@ -602,7 +797,7 @@ const toggle = {
602
797
  color: "primary"
603
798
  }
604
799
  };
605
- const range = {
800
+ export const range = {
606
801
  wrapper: "relative w-full flex items-center",
607
802
  base: "w-full absolute appearance-none cursor-pointer disabled:cursor-not-allowed disabled:bg-opacity-50 focus:outline-none peer group",
608
803
  rounded: "rounded-lg",
@@ -613,9 +808,13 @@ const range = {
613
808
  rounded: "rounded-s-lg",
614
809
  background: "bg-{color}-500 dark:bg-{color}-400",
615
810
  size: {
811
+ "2xs": "h-px",
812
+ xs: "h-0.5",
616
813
  sm: "h-1",
617
814
  md: "h-2",
618
- lg: "h-3"
815
+ lg: "h-3",
816
+ xl: "h-4",
817
+ "2xl": "h-5"
619
818
  }
620
819
  },
621
820
  thumb: {
@@ -624,32 +823,44 @@ const range = {
624
823
  background: "[&::-webkit-slider-thumb]:bg-white [&::-webkit-slider-thumb]:dark:bg-gray-900 [&::-moz-range-thumb]:bg-current",
625
824
  ring: "[&::-webkit-slider-thumb]:ring-2 [&::-webkit-slider-thumb]:ring-current",
626
825
  size: {
826
+ "2xs": "[&::-webkit-slider-thumb]:h-1.5 [&::-moz-range-thumb]:h-1.5 [&::-webkit-slider-thumb]:w-1.5 [&::-moz-range-thumb]:w-1.5 [&::-webkit-slider-thumb]:mt-[-2.5px] [&::-moz-range-thumb]:mt-[-2.5px]",
827
+ xs: "[&::-webkit-slider-thumb]:h-2 [&::-moz-range-thumb]:h-2 [&::-webkit-slider-thumb]:w-2 [&::-moz-range-thumb]:w-2 [&::-webkit-slider-thumb]:mt-[-3px] [&::-moz-range-thumb]:mt-[-3px]",
627
828
  sm: "[&::-webkit-slider-thumb]:h-3 [&::-moz-range-thumb]:h-3 [&::-webkit-slider-thumb]:w-3 [&::-moz-range-thumb]:w-3 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
628
829
  md: "[&::-webkit-slider-thumb]:h-4 [&::-moz-range-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-moz-range-thumb]:w-4 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
629
- lg: "[&::-webkit-slider-thumb]:h-5 [&::-moz-range-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1"
830
+ lg: "[&::-webkit-slider-thumb]:h-5 [&::-moz-range-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
831
+ xl: "[&::-webkit-slider-thumb]:h-6 [&::-moz-range-thumb]:h-6 [&::-webkit-slider-thumb]:w-6 [&::-moz-range-thumb]:w-6 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
832
+ "2xl": "[&::-webkit-slider-thumb]:h-7 [&::-moz-range-thumb]:h-7 [&::-webkit-slider-thumb]:w-7 [&::-moz-range-thumb]:w-7 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1"
630
833
  }
631
834
  },
632
835
  track: {
633
- base: "[&::-webkit-slider-runnable-track]:group-disabled:bg-opacity-50 [&::-moz-slider-runnable-track]:group-disabled:bg-opacity-50",
634
- background: "[&::-webkit-slider-runnable-track]:bg-gray-200 [&::-moz-slider-runnable-track]:bg-gray-200 [&::-webkit-slider-runnable-track]:dark:bg-gray-700 [&::-moz-slider-runnable-track]:dark:bg-gray-700",
635
- rounded: "[&::-webkit-slider-runnable-track]:rounded-lg [&::-moz-slider-runnable-track]:rounded-lg",
836
+ base: "[&::-webkit-slider-runnable-track]:group-disabled:bg-opacity-50 [&::-moz-range-track]:group-disabled:bg-opacity-50",
837
+ background: "[&::-webkit-slider-runnable-track]:bg-gray-200 [&::-moz-range-track]:bg-gray-200 [&::-webkit-slider-runnable-track]:dark:bg-gray-700 [&::-moz-range-track]:dark:bg-gray-700",
838
+ rounded: "[&::-webkit-slider-runnable-track]:rounded-lg [&::-moz-range-track]:rounded-lg",
636
839
  size: {
637
- sm: "[&::-webkit-slider-runnable-track]:h-1 [&::-moz-slider-runnable-track]:h-1",
638
- md: "[&::-webkit-slider-runnable-track]:h-2 [&::-moz-slider-runnable-track]:h-2",
639
- lg: "[&::-webkit-slider-runnable-track]:h-3 [&::-moz-slider-runnable-track]:h-3"
840
+ "2xs": "[&::-webkit-slider-runnable-track]:h-px [&::-moz-range-track]:h-px",
841
+ xs: "[&::-webkit-slider-runnable-track]:h-0.5 [&::-moz-range-track]:h-0.5",
842
+ sm: "[&::-webkit-slider-runnable-track]:h-1 [&::-moz-range-track]:h-1",
843
+ md: "[&::-webkit-slider-runnable-track]:h-2 [&::-moz-range-track]:h-2",
844
+ lg: "[&::-webkit-slider-runnable-track]:h-3 [&::-moz-range-track]:h-3",
845
+ xl: "[&::-webkit-slider-runnable-track]:h-4 [&::-moz-range-track]:h-4",
846
+ "2xl": "[&::-webkit-slider-runnable-track]:h-5 [&::-moz-range-track]:h-5"
640
847
  }
641
848
  },
642
849
  size: {
850
+ "2xs": "h-1.5",
851
+ xs: "h-2",
643
852
  sm: "h-3",
644
853
  md: "h-4",
645
- lg: "h-5"
854
+ lg: "h-5",
855
+ xl: "h-6",
856
+ "2xl": "h-7"
646
857
  },
647
858
  default: {
648
859
  size: "md",
649
860
  color: "primary"
650
861
  }
651
862
  };
652
- const card = {
863
+ export const card = {
653
864
  base: "overflow-hidden",
654
865
  background: "bg-white dark:bg-gray-900",
655
866
  divide: "divide-y divide-gray-200 dark:divide-gray-800",
@@ -672,17 +883,46 @@ const card = {
672
883
  padding: "px-4 py-4 sm:px-6"
673
884
  }
674
885
  };
675
- const container = {
886
+ export const container = {
676
887
  base: "mx-auto",
677
888
  padding: "px-4 sm:px-6 lg:px-8",
678
889
  constrained: "max-w-7xl"
679
890
  };
680
- const skeleton = {
891
+ export const skeleton = {
681
892
  base: "animate-pulse",
682
893
  background: "bg-gray-100 dark:bg-gray-800",
683
894
  rounded: "rounded-md"
684
895
  };
685
- const verticalNavigation = {
896
+ export const divider = {
897
+ wrapper: {
898
+ base: "flex items-center align-center text-center w-full",
899
+ horizontal: "flex-row",
900
+ vertical: "flex-col"
901
+ },
902
+ container: {
903
+ base: "font-medium text-gray-700 dark:text-gray-200 flex",
904
+ horizontal: "mx-3 whitespace-nowrap",
905
+ vertical: "my-2"
906
+ },
907
+ border: {
908
+ base: "flex border-gray-200 dark:border-gray-800",
909
+ horizontal: "w-full",
910
+ vertical: "h-full",
911
+ size: {
912
+ horizontal: "border-t",
913
+ vertical: "border-s"
914
+ }
915
+ },
916
+ icon: {
917
+ base: "flex-shrink-0 w-5 h-5"
918
+ },
919
+ avatar: {
920
+ base: "flex-shrink-0",
921
+ size: "2xs"
922
+ },
923
+ label: "text-sm"
924
+ };
925
+ export const verticalNavigation = {
686
926
  wrapper: "relative",
687
927
  base: "group relative flex items-center gap-2 focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-1 focus-visible:before:ring-primary-500 dark:focus-visible:before:ring-primary-400 before:absolute before:inset-px before:rounded-md disabled:cursor-not-allowed disabled:opacity-75",
688
928
  ring: "focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-primary-500 dark:focus-visible:ring-primary-400",
@@ -709,7 +949,7 @@ const verticalNavigation = {
709
949
  inactive: "bg-gray-100 dark:bg-gray-800 text-gray-900 dark:text-white group-hover:bg-white dark:group-hover:bg-gray-900"
710
950
  }
711
951
  };
712
- const commandPalette = {
952
+ export const commandPalette = {
713
953
  wrapper: "flex flex-col flex-1 min-h-0 divide-y divide-gray-100 dark:divide-gray-800",
714
954
  container: "relative flex-1 overflow-y-auto divide-y divide-gray-100 dark:divide-gray-800 scroll-py-2",
715
955
  input: {
@@ -776,7 +1016,7 @@ const commandPalette = {
776
1016
  selectedIcon: "i-heroicons-check-20-solid"
777
1017
  }
778
1018
  };
779
- const pagination = {
1019
+ export const pagination = {
780
1020
  wrapper: "flex items-center -space-x-px",
781
1021
  base: "",
782
1022
  rounded: "first:rounded-s-md last:rounded-e-md",
@@ -788,6 +1028,16 @@ const pagination = {
788
1028
  inactiveButton: {
789
1029
  color: "white"
790
1030
  },
1031
+ firstButton: {
1032
+ color: "white",
1033
+ class: "rtl:[&_span:first-child]:rotate-180",
1034
+ icon: "i-heroicons-chevron-double-left-20-solid"
1035
+ },
1036
+ lastButton: {
1037
+ color: "white",
1038
+ class: "rtl:[&_span:last-child]:rotate-180",
1039
+ icon: "i-heroicons-chevron-double-right-20-solid"
1040
+ },
791
1041
  prevButton: {
792
1042
  color: "white",
793
1043
  class: "rtl:[&_span:first-child]:rotate-180",
@@ -800,7 +1050,7 @@ const pagination = {
800
1050
  }
801
1051
  }
802
1052
  };
803
- const tabs = {
1053
+ export const tabs = {
804
1054
  wrapper: "relative space-y-2",
805
1055
  container: "relative w-full",
806
1056
  base: "focus:outline-none",
@@ -820,7 +1070,7 @@ const tabs = {
820
1070
  shadow: "shadow-sm"
821
1071
  },
822
1072
  tab: {
823
- base: "relative inline-flex items-center justify-center flex-shrink-0 w-full whitespace-nowrap focus:outline-none disabled:cursor-not-allowed disabled:opacity-75 transition-colors duration-200 ease-out",
1073
+ base: "relative inline-flex items-center justify-center flex-shrink-0 w-full ui-focus-visible:outline-0 ui-focus-visible:ring-2 ui-focus-visible:ring-primary-500 dark:ui-focus-visible:ring-primary-400 ui-not-focus-visible:outline-none focus:outline-none disabled:cursor-not-allowed disabled:opacity-75 transition-colors duration-200 ease-out",
824
1074
  background: "",
825
1075
  active: "text-gray-900 dark:text-white",
826
1076
  inactive: "text-gray-500 dark:text-gray-400",
@@ -833,7 +1083,7 @@ const tabs = {
833
1083
  }
834
1084
  }
835
1085
  };
836
- const modal = {
1086
+ export const modal = {
837
1087
  wrapper: "relative z-50",
838
1088
  inner: "fixed inset-0 overflow-y-auto",
839
1089
  container: "flex min-h-full items-end sm:items-center justify-center text-center",
@@ -869,7 +1119,7 @@ const modal = {
869
1119
  leaveTo: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
870
1120
  }
871
1121
  };
872
- const slideover = {
1122
+ export const slideover = {
873
1123
  wrapper: "fixed inset-0 flex z-50",
874
1124
  overlay: {
875
1125
  base: "fixed inset-0 transition-opacity",
@@ -897,16 +1147,16 @@ const slideover = {
897
1147
  leave: "transform transition ease-in-out duration-200"
898
1148
  }
899
1149
  };
900
- const tooltip = {
1150
+ export const tooltip = {
901
1151
  wrapper: "relative inline-flex",
902
- container: "z-20",
1152
+ container: "z-20 group",
903
1153
  width: "max-w-xs",
904
1154
  background: "bg-white dark:bg-gray-900",
905
1155
  color: "text-gray-900 dark:text-white",
906
1156
  shadow: "shadow",
907
1157
  rounded: "rounded",
908
1158
  ring: "ring-1 ring-gray-200 dark:ring-gray-800",
909
- base: "[@media(pointer:coarse)]:hidden h-6 px-2 py-1 text-xs font-normal truncate",
1159
+ base: "[@media(pointer:coarse)]:hidden h-6 px-2 py-1 text-xs font-normal truncate relative",
910
1160
  shortcuts: "hidden md:inline-flex flex-shrink-0 gap-0.5",
911
1161
  // Syntax for `<Transition>` component https://vuejs.org/guide/built-ins/transition.html#css-based-transitions
912
1162
  transition: {
@@ -919,17 +1169,18 @@ const tooltip = {
919
1169
  },
920
1170
  popper: {
921
1171
  strategy: "fixed"
922
- }
1172
+ },
1173
+ arrow: _popperArrow
923
1174
  };
924
- const popover = {
1175
+ export const popover = {
925
1176
  wrapper: "relative",
926
- container: "z-20",
1177
+ container: "z-20 group",
927
1178
  width: "",
928
1179
  background: "bg-white dark:bg-gray-900",
929
1180
  shadow: "shadow-lg",
930
1181
  rounded: "rounded-md",
931
1182
  ring: "ring-1 ring-gray-200 dark:ring-gray-800",
932
- base: "overflow-hidden focus:outline-none",
1183
+ base: "overflow-hidden focus:outline-none relative",
933
1184
  // Syntax for `<Transition>` component https://vuejs.org/guide/built-ins/transition.html#css-based-transitions
934
1185
  transition: {
935
1186
  enterActiveClass: "transition ease-out duration-200",
@@ -941,17 +1192,18 @@ const popover = {
941
1192
  },
942
1193
  popper: {
943
1194
  strategy: "fixed"
944
- }
1195
+ },
1196
+ arrow: _popperArrow
945
1197
  };
946
- const contextMenu = {
1198
+ export const contextMenu = {
947
1199
  wrapper: "relative",
948
- container: "z-20",
1200
+ container: "z-20 group",
949
1201
  width: "",
950
1202
  background: "bg-white dark:bg-gray-900",
951
1203
  shadow: "shadow-lg",
952
1204
  rounded: "rounded-md",
953
1205
  ring: "ring-1 ring-gray-200 dark:ring-gray-800",
954
- base: "overflow-hidden focus:outline-none",
1206
+ base: "overflow-hidden focus:outline-none relative",
955
1207
  // Syntax for `<Transition>` component https://vuejs.org/guide/built-ins/transition.html#css-based-transitions
956
1208
  transition: {
957
1209
  enterActiveClass: "transition ease-out duration-200",
@@ -964,9 +1216,10 @@ const contextMenu = {
964
1216
  popper: {
965
1217
  placement: "bottom-start",
966
1218
  scroll: false
967
- }
1219
+ },
1220
+ arrow: _popperArrow
968
1221
  };
969
- const notification = {
1222
+ export const notification = {
970
1223
  wrapper: "w-full pointer-events-auto",
971
1224
  container: "relative overflow-hidden",
972
1225
  title: "text-sm font-medium text-gray-900 dark:text-white",
@@ -1012,46 +1265,9 @@ const notification = {
1012
1265
  }
1013
1266
  }
1014
1267
  };
1015
- const notifications = {
1268
+ export const notifications = {
1016
1269
  wrapper: "fixed flex flex-col justify-end z-[55]",
1017
1270
  position: "bottom-0 end-0",
1018
1271
  width: "w-full sm:w-96",
1019
1272
  container: "px-4 sm:px-6 py-6 space-y-3 overflow-y-auto"
1020
1273
  };
1021
- export default {
1022
- ui: {
1023
- table,
1024
- avatar,
1025
- avatarGroup,
1026
- badge,
1027
- button,
1028
- buttonGroup,
1029
- dropdown,
1030
- kbd,
1031
- accordion,
1032
- alert,
1033
- input,
1034
- formGroup,
1035
- textarea,
1036
- select,
1037
- selectMenu,
1038
- checkbox,
1039
- radio,
1040
- toggle,
1041
- range,
1042
- card,
1043
- container,
1044
- skeleton,
1045
- verticalNavigation,
1046
- commandPalette,
1047
- pagination,
1048
- tabs,
1049
- modal,
1050
- slideover,
1051
- popover,
1052
- tooltip,
1053
- contextMenu,
1054
- notification,
1055
- notifications
1056
- }
1057
- };