@nuxt/ui 4.6.1 → 4.7.1

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 (175) hide show
  1. package/README.md +7 -4
  2. package/cli/package.json +1 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +3 -2
  5. package/dist/runtime/components/Accordion.d.vue.ts +6 -1
  6. package/dist/runtime/components/Accordion.vue +1 -1
  7. package/dist/runtime/components/Accordion.vue.d.ts +6 -1
  8. package/dist/runtime/components/AuthForm.d.vue.ts +22 -29
  9. package/dist/runtime/components/AuthForm.vue +8 -6
  10. package/dist/runtime/components/AuthForm.vue.d.ts +22 -29
  11. package/dist/runtime/components/Button.vue +1 -0
  12. package/dist/runtime/components/Calendar.vue +4 -4
  13. package/dist/runtime/components/Card.d.vue.ts +4 -0
  14. package/dist/runtime/components/Card.vue +16 -2
  15. package/dist/runtime/components/Card.vue.d.ts +4 -0
  16. package/dist/runtime/components/ChatMessage.d.vue.ts +27 -17
  17. package/dist/runtime/components/ChatMessage.vue +10 -16
  18. package/dist/runtime/components/ChatMessage.vue.d.ts +27 -17
  19. package/dist/runtime/components/ChatMessages.d.vue.ts +27 -21
  20. package/dist/runtime/components/ChatMessages.vue +22 -23
  21. package/dist/runtime/components/ChatMessages.vue.d.ts +27 -21
  22. package/dist/runtime/components/ChatPromptSubmit.vue +3 -1
  23. package/dist/runtime/components/Checkbox.vue +5 -3
  24. package/dist/runtime/components/CommandPalette.d.vue.ts +18 -3
  25. package/dist/runtime/components/CommandPalette.vue +11 -7
  26. package/dist/runtime/components/CommandPalette.vue.d.ts +18 -3
  27. package/dist/runtime/components/ContextMenuContent.vue +68 -65
  28. package/dist/runtime/components/DashboardSearch.d.vue.ts +8 -37
  29. package/dist/runtime/components/DashboardSearch.vue +11 -10
  30. package/dist/runtime/components/DashboardSearch.vue.d.ts +8 -37
  31. package/dist/runtime/components/DashboardSidebar.vue +1 -5
  32. package/dist/runtime/components/Drawer.vue +44 -41
  33. package/dist/runtime/components/DropdownMenuContent.vue +90 -87
  34. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +1 -1
  35. package/dist/runtime/components/EditorEmojiMenu.vue +2 -0
  36. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +1 -1
  37. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +1 -1
  38. package/dist/runtime/components/EditorMentionMenu.vue +2 -0
  39. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +1 -1
  40. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +1 -1
  41. package/dist/runtime/components/EditorSuggestionMenu.vue +2 -0
  42. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +1 -1
  43. package/dist/runtime/components/FileUpload.vue +7 -5
  44. package/dist/runtime/components/FormField.d.vue.ts +1 -1
  45. package/dist/runtime/components/FormField.vue.d.ts +1 -1
  46. package/dist/runtime/components/Header.vue +1 -5
  47. package/dist/runtime/components/Input.vue +2 -2
  48. package/dist/runtime/components/InputDate.vue +6 -6
  49. package/dist/runtime/components/InputMenu.d.vue.ts +3 -3
  50. package/dist/runtime/components/InputMenu.vue +40 -38
  51. package/dist/runtime/components/InputMenu.vue.d.ts +3 -3
  52. package/dist/runtime/components/InputNumber.vue +2 -2
  53. package/dist/runtime/components/InputTags.vue +2 -2
  54. package/dist/runtime/components/InputTime.vue +2 -2
  55. package/dist/runtime/components/Link.d.vue.ts +10 -1
  56. package/dist/runtime/components/Link.vue +74 -9
  57. package/dist/runtime/components/Link.vue.d.ts +10 -1
  58. package/dist/runtime/components/Listbox.d.vue.ts +228 -0
  59. package/dist/runtime/components/Listbox.vue +242 -0
  60. package/dist/runtime/components/Listbox.vue.d.ts +228 -0
  61. package/dist/runtime/components/Modal.vue +13 -10
  62. package/dist/runtime/components/Popover.vue +7 -4
  63. package/dist/runtime/components/PricingTable.vue +60 -58
  64. package/dist/runtime/components/RadioGroup.vue +5 -3
  65. package/dist/runtime/components/Select.d.vue.ts +1 -1
  66. package/dist/runtime/components/Select.vue +84 -73
  67. package/dist/runtime/components/Select.vue.d.ts +1 -1
  68. package/dist/runtime/components/SelectMenu.d.vue.ts +3 -3
  69. package/dist/runtime/components/SelectMenu.vue +54 -52
  70. package/dist/runtime/components/SelectMenu.vue.d.ts +3 -3
  71. package/dist/runtime/components/Sidebar.vue +1 -4
  72. package/dist/runtime/components/Slideover.vue +67 -64
  73. package/dist/runtime/components/Table.d.vue.ts +1 -2
  74. package/dist/runtime/components/Table.vue +17 -29
  75. package/dist/runtime/components/Table.vue.d.ts +1 -2
  76. package/dist/runtime/components/Tabs.d.vue.ts +5 -1
  77. package/dist/runtime/components/Tabs.vue +2 -2
  78. package/dist/runtime/components/Tabs.vue.d.ts +5 -1
  79. package/dist/runtime/components/Textarea.d.vue.ts +1 -0
  80. package/dist/runtime/components/Textarea.vue +2 -1
  81. package/dist/runtime/components/Textarea.vue.d.ts +1 -0
  82. package/dist/runtime/components/Tooltip.vue +12 -9
  83. package/dist/runtime/components/content/ContentSearch.d.vue.ts +19 -35
  84. package/dist/runtime/components/content/ContentSearch.vue +10 -9
  85. package/dist/runtime/components/content/ContentSearch.vue.d.ts +19 -35
  86. package/dist/runtime/components/content/ContentToc.vue +19 -9
  87. package/dist/runtime/components/prose/Img.vue +7 -1
  88. package/dist/runtime/components/prose/Pre.vue +8 -3
  89. package/dist/runtime/components/prose/Prompt.d.vue.ts +32 -0
  90. package/dist/runtime/components/prose/Prompt.vue +88 -0
  91. package/dist/runtime/components/prose/Prompt.vue.d.ts +32 -0
  92. package/dist/runtime/composables/index.d.ts +1 -0
  93. package/dist/runtime/composables/index.js +1 -0
  94. package/dist/runtime/composables/useContentSearch.js +19 -5
  95. package/dist/runtime/composables/useEditorMenu.d.ts +5 -0
  96. package/dist/runtime/composables/useEditorMenu.js +3 -1
  97. package/dist/runtime/composables/useFieldGroup.d.ts +3 -0
  98. package/dist/runtime/composables/useFieldGroup.js +11 -1
  99. package/dist/runtime/composables/useResolvedVariants.d.ts +21 -0
  100. package/dist/runtime/composables/useResolvedVariants.js +14 -0
  101. package/dist/runtime/locale/ar.js +9 -0
  102. package/dist/runtime/locale/az.js +9 -0
  103. package/dist/runtime/locale/be.js +9 -0
  104. package/dist/runtime/locale/bg.js +9 -0
  105. package/dist/runtime/locale/bn.js +9 -0
  106. package/dist/runtime/locale/ca.js +9 -0
  107. package/dist/runtime/locale/ckb.js +10 -1
  108. package/dist/runtime/locale/cs.js +9 -0
  109. package/dist/runtime/locale/da.js +9 -0
  110. package/dist/runtime/locale/de.js +9 -0
  111. package/dist/runtime/locale/de_ch.js +9 -0
  112. package/dist/runtime/locale/el.js +9 -0
  113. package/dist/runtime/locale/en.js +10 -1
  114. package/dist/runtime/locale/es.js +9 -0
  115. package/dist/runtime/locale/et.js +9 -0
  116. package/dist/runtime/locale/eu.js +11 -2
  117. package/dist/runtime/locale/fa_ir.js +9 -0
  118. package/dist/runtime/locale/fi.js +9 -0
  119. package/dist/runtime/locale/fr.js +9 -0
  120. package/dist/runtime/locale/gl.js +9 -0
  121. package/dist/runtime/locale/he.js +9 -0
  122. package/dist/runtime/locale/hi.js +9 -0
  123. package/dist/runtime/locale/hr.js +9 -0
  124. package/dist/runtime/locale/hu.js +9 -0
  125. package/dist/runtime/locale/hy.js +9 -0
  126. package/dist/runtime/locale/id.js +9 -0
  127. package/dist/runtime/locale/is.js +9 -0
  128. package/dist/runtime/locale/it.js +9 -0
  129. package/dist/runtime/locale/ja.js +9 -0
  130. package/dist/runtime/locale/ka.js +9 -0
  131. package/dist/runtime/locale/kk.js +9 -0
  132. package/dist/runtime/locale/km.js +9 -0
  133. package/dist/runtime/locale/ko.js +9 -0
  134. package/dist/runtime/locale/ky.js +9 -0
  135. package/dist/runtime/locale/lb.js +11 -2
  136. package/dist/runtime/locale/lo.js +15 -6
  137. package/dist/runtime/locale/lt.js +9 -0
  138. package/dist/runtime/locale/mn.js +9 -0
  139. package/dist/runtime/locale/ms.js +9 -0
  140. package/dist/runtime/locale/nb_no.js +9 -0
  141. package/dist/runtime/locale/nl.js +9 -0
  142. package/dist/runtime/locale/pl.js +9 -0
  143. package/dist/runtime/locale/pt.js +9 -0
  144. package/dist/runtime/locale/pt_br.js +9 -0
  145. package/dist/runtime/locale/ro.js +9 -0
  146. package/dist/runtime/locale/ru.js +9 -0
  147. package/dist/runtime/locale/sk.js +9 -0
  148. package/dist/runtime/locale/sl.js +9 -0
  149. package/dist/runtime/locale/sq.js +9 -0
  150. package/dist/runtime/locale/sv.js +9 -0
  151. package/dist/runtime/locale/th.js +9 -0
  152. package/dist/runtime/locale/tj.js +9 -0
  153. package/dist/runtime/locale/tr.js +9 -0
  154. package/dist/runtime/locale/ug_cn.js +9 -0
  155. package/dist/runtime/locale/uk.js +9 -0
  156. package/dist/runtime/locale/ur.js +9 -0
  157. package/dist/runtime/locale/uz.js +9 -0
  158. package/dist/runtime/locale/vi.js +9 -0
  159. package/dist/runtime/locale/zh_cn.js +9 -0
  160. package/dist/runtime/locale/zh_tw.js +9 -0
  161. package/dist/runtime/plugins/colors.js +1 -1
  162. package/dist/runtime/types/index.d.ts +1 -0
  163. package/dist/runtime/types/index.js +1 -0
  164. package/dist/runtime/types/locale.d.ts +9 -0
  165. package/dist/runtime/types/prose.d.ts +1 -0
  166. package/dist/runtime/types/prose.js +1 -0
  167. package/dist/runtime/utils/link.d.ts +1 -1
  168. package/dist/runtime/utils/link.js +1 -0
  169. package/dist/runtime/vue/overrides/inertia/Link.vue +3 -3
  170. package/dist/runtime/vue/overrides/none/Link.vue +3 -2
  171. package/dist/runtime/vue/overrides/vue-router/Link.vue +27 -31
  172. package/dist/shared/{ui.DJUbBpE2.mjs → ui.C6mn7iap.mjs} +189 -37
  173. package/dist/unplugin.mjs +1 -1
  174. package/dist/vite.mjs +1 -1
  175. package/package.json +49 -40
@@ -363,7 +363,7 @@ const avatar = {
363
363
  slots: {
364
364
  root: "inline-flex items-center justify-center shrink-0 select-none rounded-full align-middle bg-elevated",
365
365
  image: "h-full w-full rounded-[inherit] object-cover",
366
- fallback: "font-medium leading-none text-muted truncate",
366
+ fallback: "font-medium text-muted truncate",
367
367
  icon: "text-muted shrink-0"
368
368
  },
369
369
  variants: {
@@ -1116,13 +1116,17 @@ const card$1 = {
1116
1116
  slots: {
1117
1117
  root: "rounded-lg overflow-hidden",
1118
1118
  header: "p-4 sm:px-6",
1119
+ title: "text-highlighted font-semibold",
1120
+ description: "mt-1 text-muted text-sm",
1119
1121
  body: "p-4 sm:p-6",
1120
1122
  footer: "p-4 sm:px-6"
1121
1123
  },
1122
1124
  variants: {
1123
1125
  variant: {
1124
1126
  solid: {
1125
- root: "bg-inverted text-inverted"
1127
+ root: "bg-inverted text-inverted",
1128
+ title: "text-inverted",
1129
+ description: "text-dimmed"
1126
1130
  },
1127
1131
  outline: {
1128
1132
  root: "bg-default ring ring-default divide-y divide-default"
@@ -1238,7 +1242,7 @@ const chatMessage = (options) => ({
1238
1242
  leadingAvatarSize: "",
1239
1243
  files: "flex items-center gap-1.5 mb-1.5",
1240
1244
  content: "relative text-pretty min-w-0 *:first:mt-0 *:last:mb-0",
1241
- actions: ["opacity-0 group-hover/message:opacity-100 absolute bottom-0 flex items-center", options.theme.transitions && "transition-opacity"]
1245
+ actions: ["[@media(hover:hover)]:opacity-0 group-hover/message:opacity-100 absolute bottom-0 flex items-center", options.theme.transitions && "transition-opacity"]
1242
1246
  },
1243
1247
  variants: {
1244
1248
  variant: {
@@ -2233,7 +2237,7 @@ const drawer = (options) => ({
2233
2237
  handle: "mb-4"
2234
2238
  },
2235
2239
  right: {
2236
- content: "flex-row",
2240
+ content: "flex-row rtl:flex-row-reverse",
2237
2241
  handle: "!ml-4"
2238
2242
  },
2239
2243
  bottom: {
@@ -2241,7 +2245,7 @@ const drawer = (options) => ({
2241
2245
  handle: "mt-4"
2242
2246
  },
2243
2247
  left: {
2244
- content: "flex-row-reverse",
2248
+ content: "flex-row-reverse rtl:flex-row",
2245
2249
  handle: "!mr-4"
2246
2250
  }
2247
2251
  },
@@ -3189,23 +3193,23 @@ const inputDate = (options) => {
3189
3193
  size: {
3190
3194
  xs: {
3191
3195
  base: (prev) => [prev, "gap-0.25"],
3192
- segment: "data-[segment=day]:w-6 data-[segment=month]:w-6 data-[segment=year]:w-9"
3196
+ segment: "data-[segment=day]:w-8 data-[segment=month]:w-8 data-[segment=year]:w-10"
3193
3197
  },
3194
3198
  sm: {
3195
3199
  base: (prev) => [prev, "gap-0.5"],
3196
- segment: "data-[segment=day]:w-6 data-[segment=month]:w-6 data-[segment=year]:w-9"
3200
+ segment: "data-[segment=day]:w-8 data-[segment=month]:w-8 data-[segment=year]:w-10"
3197
3201
  },
3198
3202
  md: {
3199
3203
  base: (prev) => [prev, "gap-0.5"],
3200
- segment: "data-[segment=day]:w-7 data-[segment=month]:w-7 data-[segment=year]:w-11"
3204
+ segment: "data-[segment=day]:w-9 data-[segment=month]:w-9 data-[segment=year]:w-11"
3201
3205
  },
3202
3206
  lg: {
3203
3207
  base: (prev) => [prev, "gap-0.75"],
3204
- segment: "data-[segment=day]:w-7 data-[segment=month]:w-7 data-[segment=year]:w-11"
3208
+ segment: "data-[segment=day]:w-9 data-[segment=month]:w-9 data-[segment=year]:w-11"
3205
3209
  },
3206
3210
  xl: {
3207
3211
  base: (prev) => [prev, "gap-0.75"],
3208
- segment: "data-[segment=day]:w-8 data-[segment=month]:w-8 data-[segment=year]:w-13"
3212
+ segment: "data-[segment=day]:w-10 data-[segment=month]:w-10 data-[segment=year]:w-12"
3209
3213
  }
3210
3214
  }
3211
3215
  },
@@ -3522,6 +3526,7 @@ const inputTags = (options) => {
3522
3526
  input: "flex-1 border-0 bg-transparent placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"
3523
3527
  },
3524
3528
  variants: {
3529
+ ...fieldGroupVariant,
3525
3530
  size: {
3526
3531
  xs: {
3527
3532
  item: "text-[10px]/3",
@@ -3571,23 +3576,23 @@ const inputTime = (options) => {
3571
3576
  size: {
3572
3577
  xs: {
3573
3578
  base: (prev) => [prev, "gap-0.25"],
3574
- segment: "not-data-[segment=literal]:w-6"
3579
+ segment: "not-data-[segment=literal]:w-8"
3575
3580
  },
3576
3581
  sm: {
3577
3582
  base: (prev) => [prev, "gap-0.5"],
3578
- segment: "not-data-[segment=literal]:w-6"
3583
+ segment: "not-data-[segment=literal]:w-8"
3579
3584
  },
3580
3585
  md: {
3581
3586
  base: (prev) => [prev, "gap-0.5"],
3582
- segment: "not-data-[segment=literal]:w-7"
3587
+ segment: "not-data-[segment=literal]:w-9"
3583
3588
  },
3584
3589
  lg: {
3585
3590
  base: (prev) => [prev, "gap-0.75"],
3586
- segment: "not-data-[segment=literal]:w-7"
3591
+ segment: "not-data-[segment=literal]:w-9"
3587
3592
  },
3588
3593
  xl: {
3589
3594
  base: (prev) => [prev, "gap-0.75"],
3590
- segment: "not-data-[segment=literal]:w-8"
3595
+ segment: "not-data-[segment=literal]:w-10"
3591
3596
  }
3592
3597
  }
3593
3598
  },
@@ -3697,6 +3702,132 @@ const link = (options) => ({
3697
3702
  }]
3698
3703
  });
3699
3704
 
3705
+ const listbox = (options) => ({
3706
+ slots: {
3707
+ root: "flex flex-col min-h-0 min-w-0 ring ring-inset ring-default rounded-lg overflow-hidden",
3708
+ input: "border-b border-default",
3709
+ content: "relative overflow-y-auto flex-1 max-h-60 scroll-py-1 focus:outline-none",
3710
+ group: "p-1 isolate",
3711
+ label: "font-semibold text-highlighted",
3712
+ separator: "-mx-1 my-1 h-px bg-border",
3713
+ empty: "text-center text-muted",
3714
+ loading: "flex items-center justify-center text-muted",
3715
+ loadingIcon: "animate-spin shrink-0",
3716
+ item: ["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"],
3717
+ itemLeadingIcon: ["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default", options.theme.transitions && "transition-colors"],
3718
+ itemLeadingAvatar: "shrink-0",
3719
+ itemLeadingAvatarSize: "",
3720
+ itemLeadingChip: "shrink-0",
3721
+ itemLeadingChipSize: "",
3722
+ itemWrapper: "flex-1 flex flex-col min-w-0",
3723
+ itemLabel: "truncate",
3724
+ itemDescription: "truncate text-muted",
3725
+ itemTrailing: "ms-auto inline-flex gap-1.5 items-center",
3726
+ itemTrailingIcon: "shrink-0"
3727
+ },
3728
+ variants: {
3729
+ size: {
3730
+ xs: {
3731
+ label: "p-1 text-[10px]/3 gap-1",
3732
+ empty: "py-3 text-xs",
3733
+ loading: "py-3",
3734
+ loadingIcon: "size-4",
3735
+ item: "p-1 text-xs gap-1",
3736
+ itemLeadingIcon: "size-4",
3737
+ itemLeadingAvatarSize: "3xs",
3738
+ itemLeadingChip: "size-4",
3739
+ itemLeadingChipSize: "sm",
3740
+ itemTrailingIcon: "size-4"
3741
+ },
3742
+ sm: {
3743
+ label: "p-1.5 text-[10px]/3 gap-1.5",
3744
+ empty: "py-4 text-xs",
3745
+ loading: "py-4",
3746
+ loadingIcon: "size-4",
3747
+ item: "p-1.5 text-xs gap-1.5",
3748
+ itemLeadingIcon: "size-4",
3749
+ itemLeadingAvatarSize: "3xs",
3750
+ itemLeadingChip: "size-4",
3751
+ itemLeadingChipSize: "sm",
3752
+ itemTrailingIcon: "size-4"
3753
+ },
3754
+ md: {
3755
+ label: "p-1.5 text-xs gap-1.5",
3756
+ empty: "py-6 text-sm",
3757
+ loading: "py-6",
3758
+ loadingIcon: "size-5",
3759
+ item: "p-1.5 text-sm gap-1.5",
3760
+ itemLeadingIcon: "size-5",
3761
+ itemLeadingAvatarSize: "2xs",
3762
+ itemLeadingChip: "size-5",
3763
+ itemLeadingChipSize: "md",
3764
+ itemTrailingIcon: "size-5"
3765
+ },
3766
+ lg: {
3767
+ label: "p-2 text-xs gap-2",
3768
+ empty: "py-7 text-sm",
3769
+ loading: "py-7",
3770
+ loadingIcon: "size-5",
3771
+ item: "p-2 text-sm gap-2",
3772
+ itemLeadingIcon: "size-5",
3773
+ itemLeadingAvatarSize: "2xs",
3774
+ itemLeadingChip: "size-5",
3775
+ itemLeadingChipSize: "md",
3776
+ itemTrailingIcon: "size-5"
3777
+ },
3778
+ xl: {
3779
+ label: "p-2 text-sm gap-2",
3780
+ empty: "py-8 text-base",
3781
+ loading: "py-8",
3782
+ loadingIcon: "size-6",
3783
+ item: "p-2 text-base gap-2",
3784
+ itemLeadingIcon: "size-6",
3785
+ itemLeadingAvatarSize: "xs",
3786
+ itemLeadingChip: "size-6",
3787
+ itemLeadingChipSize: "lg",
3788
+ itemTrailingIcon: "size-6",
3789
+ itemDescription: "text-sm"
3790
+ }
3791
+ },
3792
+ color: {
3793
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
3794
+ neutral: ""
3795
+ },
3796
+ virtualize: {
3797
+ true: {
3798
+ content: "p-1 isolate"
3799
+ },
3800
+ false: {
3801
+ content: "divide-y divide-default"
3802
+ }
3803
+ },
3804
+ disabled: {
3805
+ true: {
3806
+ root: "opacity-75 cursor-not-allowed"
3807
+ }
3808
+ },
3809
+ highlight: {
3810
+ true: ""
3811
+ }
3812
+ },
3813
+ compoundVariants: [...(options.theme.colors || []).map((color) => ({
3814
+ color,
3815
+ highlight: true,
3816
+ class: {
3817
+ root: `ring ring-inset ring-${color}`
3818
+ }
3819
+ })), {
3820
+ color: "neutral",
3821
+ highlight: true,
3822
+ class: {
3823
+ root: "ring ring-inset ring-inverted"
3824
+ }
3825
+ }],
3826
+ defaultVariants: {
3827
+ size: "md"
3828
+ }
3829
+ });
3830
+
3700
3831
  const main = {
3701
3832
  base: "min-h-[calc(100vh-var(--ui-header-height))]"
3702
3833
  };
@@ -4813,16 +4944,17 @@ const pricingPlans = {
4813
4944
  const pricingTable = {
4814
4945
  slots: {
4815
4946
  root: "w-full relative",
4816
- table: "w-full table-fixed border-separate border-spacing-x-0 hidden md:table",
4947
+ table: "w-full table-fixed border-separate border-spacing-x-0 hidden md:table h-fit",
4817
4948
  list: "md:hidden flex flex-col gap-6 w-full",
4818
4949
  item: "p-6 flex flex-col border border-default rounded-lg",
4819
4950
  caption: "sr-only",
4820
4951
  thead: "",
4821
4952
  tbody: "",
4822
4953
  tr: "",
4823
- th: "py-4 font-normal text-left border-b border-default",
4954
+ th: "py-4 font-normal text-left rtl:text-right border-b border-default",
4824
4955
  td: "px-6 py-4 text-center border-b border-default",
4825
- tier: "p-6 text-left font-normal",
4956
+ tier: "p-6 text-left rtl:text-right font-normal align-top h-full",
4957
+ tierWrapper: "flex flex-col md:h-full",
4826
4958
  tierTitleWrapper: "flex items-center gap-3",
4827
4959
  tierTitle: "text-lg font-semibold text-highlighted",
4828
4960
  tierDescription: "text-sm font-normal text-muted mt-1",
@@ -4833,7 +4965,7 @@ const pricingTable = {
4833
4965
  tierBilling: "flex flex-col justify-between min-w-0",
4834
4966
  tierBillingPeriod: "text-toned truncate text-xs font-medium",
4835
4967
  tierBillingCycle: "text-muted truncate text-xs font-medium",
4836
- tierButton: "mt-6",
4968
+ tierButton: "mt-6 md:mt-auto md:pt-6",
4837
4969
  tierFeatureIcon: "size-5 shrink-0",
4838
4970
  section: "mt-6 flex flex-col gap-2",
4839
4971
  sectionTitle: "font-semibold text-sm text-highlighted",
@@ -5286,7 +5418,7 @@ const select = (options) => {
5286
5418
  value: "truncate pointer-events-none",
5287
5419
  placeholder: "truncate text-dimmed",
5288
5420
  arrow: "fill-bg stroke-default",
5289
- content: "max-h-60 w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col",
5421
+ content: "max-h-60 w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col",
5290
5422
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
5291
5423
  group: "p-1 isolate",
5292
5424
  empty: "text-center text-muted",
@@ -5367,12 +5499,23 @@ const select = (options) => {
5367
5499
  itemTrailingIcon: "size-6",
5368
5500
  empty: "p-3 text-base"
5369
5501
  }
5502
+ },
5503
+ position: {
5504
+ "popper": {
5505
+ content: "data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]"
5506
+ },
5507
+ "item-aligned": {
5508
+ content: ""
5509
+ }
5370
5510
  }
5371
5511
  },
5372
5512
  compoundVariants: (prev) => prev.map((item) => ({
5373
5513
  ...item,
5374
5514
  class: typeof item.class === "string" ? replaceFocus$1(item.class) : item.class
5375
- }))
5515
+ })),
5516
+ defaultVariants: {
5517
+ position: "popper"
5518
+ }
5376
5519
  }, input(options));
5377
5520
  };
5378
5521
  function replaceFocus$1(str) {
@@ -6080,10 +6223,10 @@ const _switch = (options) => ({
6080
6223
  const table$1 = (options) => ({
6081
6224
  slots: {
6082
6225
  root: "relative overflow-auto",
6083
- base: "min-w-full",
6226
+ base: "min-w-full overflow-clip",
6084
6227
  caption: "sr-only",
6085
6228
  thead: "relative",
6086
- tbody: "isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:focus-visible:outline-primary",
6229
+ tbody: "isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:focus-visible:outline-primary divide-y divide-default",
6087
6230
  tfoot: "relative",
6088
6231
  tr: "data-[selected=true]:bg-elevated/50",
6089
6232
  th: "px-4 py-3.5 text-sm text-highlighted text-left rtl:text-right font-semibold [&:has([role=checkbox])]:pe-0",
@@ -6093,12 +6236,6 @@ const table$1 = (options) => ({
6093
6236
  loading: "py-6 text-center"
6094
6237
  },
6095
6238
  variants: {
6096
- virtualize: {
6097
- false: {
6098
- base: "overflow-clip",
6099
- tbody: "divide-y divide-default"
6100
- }
6101
- },
6102
6239
  pinned: {
6103
6240
  true: {
6104
6241
  th: "sticky bg-default/75 z-1",
@@ -6894,6 +7031,7 @@ const theme = {
6894
7031
  inputTime: inputTime,
6895
7032
  kbd: kbd$1,
6896
7033
  link: link,
7034
+ listbox: listbox,
6897
7035
  main: main,
6898
7036
  marquee: marquee,
6899
7037
  modal: modal,
@@ -6967,8 +7105,8 @@ const blockquote = {
6967
7105
 
6968
7106
  const callout = (options) => ({
6969
7107
  slots: {
6970
- base: ["group relative block px-4 py-3 rounded-md text-sm/6 my-5 last:mb-0 [&_code]:text-xs/5 [&_code]:bg-default [&_pre]:bg-default [&>div]:my-2.5 [&_ul]:my-2.5 [&_ol]:my-2.5 [&>*]:last:!mb-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:my-0", options.theme.transitions && "transition-colors"],
6971
- icon: ["size-4 shrink-0 align-sub me-1.5 inline-block", options.theme.transitions && "transition-colors"],
7108
+ base: ["group relative block px-4 py-3 rounded-md text-sm/6 my-5 last:mb-0 [&_code]:text-xs/5 [&_code]:bg-default [&_pre]:bg-default [&>div]:my-2.5 [&_ul]:my-2.5 [&_ol]:my-2.5 *:last:mb-0! [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:my-0", options.theme.transitions && "transition-colors"],
7109
+ icon: ["size-4 shrink-0 align-sub me-2 inline-block", options.theme.transitions && "transition-colors"],
6972
7110
  externalIcon: ["size-4 align-top absolute right-2 top-2 pointer-events-none", options.theme.transitions && "transition-colors"]
6973
7111
  },
6974
7112
  variants: {
@@ -7073,7 +7211,7 @@ const code = (options) => ({
7073
7211
 
7074
7212
  const codeCollapse = {
7075
7213
  slots: {
7076
- root: "relative [&_pre]:h-[200px]",
7214
+ root: "relative [&_pre]:h-[200px] bg-muted",
7077
7215
  footer: "h-16 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center",
7078
7216
  trigger: "group",
7079
7217
  triggerIcon: "group-data-[state=open]:rotate-180"
@@ -7085,7 +7223,7 @@ const codeCollapse = {
7085
7223
  },
7086
7224
  false: {
7087
7225
  root: "[&_pre]:overflow-hidden",
7088
- footer: "bg-gradient-to-t from-muted"
7226
+ footer: "bg-linear-to-t from-muted"
7089
7227
  }
7090
7228
  }
7091
7229
  }
@@ -7093,7 +7231,7 @@ const codeCollapse = {
7093
7231
 
7094
7232
  const codeGroup = (options) => ({
7095
7233
  slots: {
7096
- root: "relative group *:not-first:!my-0 *:not-first:!static my-5",
7234
+ root: "relative group *:not-first:my-0! *:not-first:static! my-5",
7097
7235
  list: "relative flex items-center gap-1 border border-muted bg-default border-b-0 rounded-t-md overflow-x-auto p-2",
7098
7236
  indicator: "absolute left-0 inset-y-2 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) transition-[translate,width] duration-200 bg-elevated rounded-md shadow-xs",
7099
7237
  trigger: ["relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary focus:outline-none", options.theme.transitions && "transition-colors"],
@@ -7283,7 +7421,7 @@ const icon = {
7283
7421
 
7284
7422
  const img = {
7285
7423
  slots: {
7286
- base: "rounded-md w-full",
7424
+ base: "rounded-md",
7287
7425
  overlay: "fixed inset-0 bg-default/75 backdrop-blur-sm will-change-opacity",
7288
7426
  content: "fixed inset-0 flex items-center justify-center cursor-zoom-out focus:outline-none",
7289
7427
  zoomedImage: "w-full h-auto max-w-[95vw] max-h-[95vh] object-contain rounded-md"
@@ -7294,6 +7432,9 @@ const img = {
7294
7432
  },
7295
7433
  open: {
7296
7434
  true: ""
7435
+ },
7436
+ width: {
7437
+ false: "w-full"
7297
7438
  }
7298
7439
  },
7299
7440
  compoundVariants: [{
@@ -7326,7 +7467,7 @@ const pre = {
7326
7467
  filename: "text-default text-sm/6",
7327
7468
  icon: "size-4 shrink-0",
7328
7469
  copy: "absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition",
7329
- base: "group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap break-words overflow-x-auto focus:outline-none **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50!"
7470
+ base: "group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto focus:outline-none **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50!"
7330
7471
  },
7331
7472
  variants: {
7332
7473
  filename: {
@@ -7337,11 +7478,21 @@ const pre = {
7337
7478
  }
7338
7479
  };
7339
7480
 
7481
+ const prompt = {
7482
+ slots: {
7483
+ root: "relative flex flex-wrap items-center gap-2 border border-muted bg-muted rounded-md px-4 py-3 my-5 last:mb-0",
7484
+ icon: "size-4 shrink-0 text-highlighted",
7485
+ content: "min-w-0",
7486
+ description: "text-sm/6 text-default font-medium",
7487
+ actions: "flex flex-wrap items-center gap-1.5 ms-auto"
7488
+ }
7489
+ };
7490
+
7340
7491
  const steps = {
7341
7492
  base: "ms-4 border-s border-default ps-8 [counter-reset:step]",
7342
7493
  variants: {
7343
7494
  level: {
7344
- 2: "[&>h2]:[counter-increment:step] [&>h2]:relative [&>h2]:before:absolute [&>h2]:before:size-8 [&>h2]:before:bg-elevated [&>h2]:before:rounded-full [&>h2]:before:font-semibold [&>h2]:before:text-sm [&>h2]:before:tabular-nums [&>h2]:before:inline-flex [&>h2]:before:items-center [&>h2]:before:justify-center [&>h2]:before:ring-4 [&>h2]:before:ring-bg [&>h2]:before:-ms-[48.5px] [&>h2]:before:-mt-0 [&>h2]:before:content-[counter(step)] [&>h2>a>span.absolute]:hidden",
7495
+ 2: "[&>h2]:[counter-increment:step] [&>h2]:relative [&>h2]:before:absolute [&>h2]:before:size-8 [&>h2]:before:bg-elevated [&>h2]:before:rounded-full [&>h2]:before:font-semibold [&>h2]:before:text-sm [&>h2]:before:tabular-nums [&>h2]:before:inline-flex [&>h2]:before:items-center [&>h2]:before:justify-center [&>h2]:before:ring-4 [&>h2]:before:ring-bg [&>h2]:before:-ms-[48.5px] [&>h2]:before:mt-0 [&>h2]:before:content-[counter(step)] [&>h2>a>span.absolute]:hidden",
7345
7496
  3: "[&>h3]:[counter-increment:step] [&>h3]:relative [&>h3]:before:absolute [&>h3]:before:size-7 [&>h3]:before:inset-x-0.5 [&>h3]:before:bg-elevated [&>h3]:before:rounded-full [&>h3]:before:font-semibold [&>h3]:before:text-sm [&>h3]:before:tabular-nums [&>h3]:before:inline-flex [&>h3]:before:items-center [&>h3]:before:justify-center [&>h3]:before:ring-4 [&>h3]:before:ring-bg [&>h3]:before:-ms-[48.5px] [&>h3]:before:content-[counter(step)] [&>h3>a>span.absolute]:hidden",
7346
7497
  4: "[&>h4]:[counter-increment:step] [&>h4]:relative [&>h4]:before:absolute [&>h4]:before:size-7 [&>h4]:before:inset-x-0.5 [&>h4]:before:bg-elevated [&>h4]:before:rounded-full [&>h4]:before:font-semibold [&>h4]:before:text-sm [&>h4]:before:tabular-nums [&>h4]:before:inline-flex [&>h4]:before:items-center [&>h4]:before:justify-center [&>h4]:before:ring-4 [&>h4]:before:ring-bg [&>h4]:before:-ms-[48.5px] [&>h4]:before:content-[counter(step)] [&>h4>a>span.absolute]:hidden"
7347
7498
  }
@@ -7448,6 +7599,7 @@ const themeProse = {
7448
7599
  ol: ol,
7449
7600
  p: p,
7450
7601
  pre: pre,
7602
+ prompt: prompt,
7451
7603
  steps: steps,
7452
7604
  strong: strong,
7453
7605
  table: table,
package/dist/unplugin.mjs CHANGED
@@ -3,7 +3,7 @@ import { join, normalize } from 'pathe';
3
3
  import { createUnplugin } from 'unplugin';
4
4
  import { defu } from 'defu';
5
5
  import tailwind from '@tailwindcss/vite';
6
- import { g as getTemplates, p as publicComposables, d as defaultOptions, r as resolveColors, a as getDefaultConfig } from './shared/ui.DJUbBpE2.mjs';
6
+ import { g as getTemplates, p as publicComposables, d as defaultOptions, r as resolveColors, a as getDefaultConfig } from './shared/ui.C6mn7iap.mjs';
7
7
  import fs from 'node:fs';
8
8
  import path from 'node:path';
9
9
  import MagicString from 'magic-string';
package/dist/vite.mjs CHANGED
@@ -4,7 +4,7 @@ import 'pathe';
4
4
  import 'unplugin';
5
5
  import 'defu';
6
6
  import '@tailwindcss/vite';
7
- import './shared/ui.DJUbBpE2.mjs';
7
+ import './shared/ui.C6mn7iap.mjs';
8
8
  import '../dist/runtime/utils/index.js';
9
9
  import 'scule';
10
10
  import 'knitwork';
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
3
  "description": "A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.",
4
- "version": "4.6.1",
5
- "packageManager": "pnpm@10.33.0",
4
+ "version": "4.7.1",
5
+ "packageManager": "pnpm@10.33.2",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/nuxt/ui.git"
@@ -115,6 +115,7 @@
115
115
  "repl": "pnpm --filter './playgrounds/repl' dev",
116
116
  "repl:bundle": "pnpm --filter './playgrounds/repl' bundle",
117
117
  "repl:build": "pnpm --filter './playgrounds/repl' build",
118
+ "repl:prepare": "nuxt-module-build build --stub && mkdir -p .nuxt && echo '{\"compilerOptions\":{}}' > .nuxt/tsconfig.json",
118
119
  "docs": "nuxt dev docs --uiDev",
119
120
  "docs:build": "nuxt build docs",
120
121
  "lint": "eslint .",
@@ -128,42 +129,42 @@
128
129
  "dependencies": {
129
130
  "@floating-ui/dom": "^1.7.6",
130
131
  "@iconify/vue": "^5.0.0",
131
- "@internationalized/date": "^3.12.0",
132
- "@internationalized/number": "^3.6.5",
132
+ "@internationalized/date": "^3.12.1",
133
+ "@internationalized/number": "^3.6.6",
133
134
  "@nuxt/fonts": "^0.14.0",
134
135
  "@nuxt/icon": "^2.2.1",
135
136
  "@nuxt/kit": "^4.4.2",
136
137
  "@nuxt/schema": "^4.4.2",
137
138
  "@nuxtjs/color-mode": "^3.5.2",
138
139
  "@standard-schema/spec": "^1.1.0",
139
- "@tailwindcss/postcss": "^4.2.2",
140
- "@tailwindcss/vite": "^4.2.2",
140
+ "@tailwindcss/postcss": "^4.2.4",
141
+ "@tailwindcss/vite": "^4.2.4",
141
142
  "@tanstack/vue-table": "^8.21.3",
142
- "@tanstack/vue-virtual": "^3.13.23",
143
- "@tiptap/core": "^3.21.0",
144
- "@tiptap/extension-bubble-menu": "^3.21.0",
145
- "@tiptap/extension-code": "^3.21.0",
146
- "@tiptap/extension-collaboration": "^3.21.0",
147
- "@tiptap/extension-drag-handle": "^3.21.0",
148
- "@tiptap/extension-drag-handle-vue-3": "^3.21.0",
149
- "@tiptap/extension-floating-menu": "^3.21.0",
150
- "@tiptap/extension-horizontal-rule": "^3.21.0",
151
- "@tiptap/extension-image": "^3.21.0",
152
- "@tiptap/extension-mention": "^3.21.0",
153
- "@tiptap/extension-node-range": "^3.21.0",
154
- "@tiptap/extension-placeholder": "^3.21.0",
155
- "@tiptap/markdown": "^3.21.0",
156
- "@tiptap/pm": "^3.21.0",
157
- "@tiptap/starter-kit": "^3.21.0",
158
- "@tiptap/suggestion": "^3.21.0",
159
- "@tiptap/vue-3": "^3.21.0",
160
- "@unhead/vue": "^2.1.12",
143
+ "@tanstack/vue-virtual": "^3.13.24",
144
+ "@tiptap/core": "^3.22.4",
145
+ "@tiptap/extension-bubble-menu": "^3.22.4",
146
+ "@tiptap/extension-code": "^3.22.4",
147
+ "@tiptap/extension-collaboration": "^3.22.4",
148
+ "@tiptap/extension-drag-handle": "^3.22.4",
149
+ "@tiptap/extension-drag-handle-vue-3": "^3.22.4",
150
+ "@tiptap/extension-floating-menu": "^3.22.4",
151
+ "@tiptap/extension-horizontal-rule": "^3.22.4",
152
+ "@tiptap/extension-image": "^3.22.4",
153
+ "@tiptap/extension-mention": "^3.22.4",
154
+ "@tiptap/extension-node-range": "^3.22.4",
155
+ "@tiptap/extension-placeholder": "^3.22.4",
156
+ "@tiptap/markdown": "^3.22.4",
157
+ "@tiptap/pm": "^3.22.4",
158
+ "@tiptap/starter-kit": "^3.22.4",
159
+ "@tiptap/suggestion": "^3.22.4",
160
+ "@tiptap/vue-3": "^3.22.4",
161
+ "@unhead/vue": "^2.1.13",
161
162
  "@vueuse/core": "^14.2.1",
162
163
  "@vueuse/integrations": "^14.2.1",
163
164
  "@vueuse/shared": "^14.2.1",
164
165
  "colortranslator": "^5.0.0",
165
166
  "consola": "^3.4.2",
166
- "defu": "^6.1.4",
167
+ "defu": "^6.1.7",
167
168
  "embla-carousel-auto-height": "^8.6.0",
168
169
  "embla-carousel-auto-scroll": "^8.6.0",
169
170
  "embla-carousel-autoplay": "^8.6.0",
@@ -171,50 +172,52 @@
171
172
  "embla-carousel-fade": "^8.6.0",
172
173
  "embla-carousel-vue": "^8.6.0",
173
174
  "embla-carousel-wheel-gestures": "^8.1.0",
174
- "fuse.js": "^7.1.0",
175
- "hookable": "^6.1.0",
175
+ "fuse.js": "^7.3.0",
176
+ "hookable": "^6.1.1",
176
177
  "knitwork": "^1.3.0",
177
178
  "magic-string": "^0.30.21",
178
179
  "mlly": "^1.8.2",
179
- "motion-v": "^2.2.0",
180
+ "motion-v": "^2.2.1",
180
181
  "ohash": "^2.0.11",
181
182
  "pathe": "^2.0.3",
182
- "reka-ui": "2.9.3",
183
+ "reka-ui": "2.9.6",
183
184
  "scule": "^1.3.0",
184
185
  "tailwind-merge": "^3.5.0",
185
186
  "tailwind-variants": "^3.2.2",
186
- "tailwindcss": "^4.2.2",
187
- "tinyglobby": "^0.2.15",
187
+ "tailwindcss": "^4.2.4",
188
+ "tinyglobby": "^0.2.16",
188
189
  "ufo": "^1.6.3",
189
190
  "unplugin": "^3.0.0",
190
191
  "unplugin-auto-import": "^21.0.0",
191
192
  "unplugin-vue-components": "^32.0.0",
192
193
  "vaul-vue": "0.4.1",
193
- "vue-component-type-helpers": "^3.2.6"
194
+ "vue-component-type-helpers": "^3.2.7"
194
195
  },
195
196
  "devDependencies": {
196
197
  "@nuxt/eslint-config": "^1.15.2",
197
198
  "@nuxt/module-builder": "^1.0.2",
198
- "@nuxt/test-utils": "^4.0.0",
199
+ "@nuxt/test-utils": "^4.0.2",
199
200
  "@release-it/conventional-changelog": "^10.0.6",
200
201
  "@tanstack/table-core": "^8.21.3",
201
202
  "@vitejs/plugin-vue": "^6.0.5",
202
- "@vue/test-utils": "^2.4.6",
203
- "ai": "^6.0.141",
203
+ "@vue/test-utils": "^2.4.8",
204
+ "ai": "^6.0.168",
204
205
  "embla-carousel": "^8.6.0",
205
- "eslint": "^10.1.0",
206
- "happy-dom": "^20.8.9",
206
+ "eslint": "^10.2.1",
207
+ "happy-dom": "^20.9.0",
207
208
  "nuxt": "^4.4.2",
208
209
  "release-it": "^19.2.4",
209
210
  "unbuild": "^3.6.1",
210
- "vitest": "^4.1.2",
211
+ "vitest": "^4.1.5",
211
212
  "vitest-axe": "^0.1.0",
212
213
  "vitest-environment-nuxt": "^1.0.1",
213
214
  "vue": "^3.5.30",
214
- "vue-tsc": "^3.2.6"
215
+ "vue-tsc": "^3.2.7"
215
216
  },
216
217
  "peerDependencies": {
217
218
  "@inertiajs/vue3": "^2.0.7 || ^3.0.0",
219
+ "@internationalized/date": "^3.0.0",
220
+ "@internationalized/number": "^3.0.0",
218
221
  "@nuxt/content": "^3.0.0",
219
222
  "joi": "^18.0.0",
220
223
  "superstruct": "^2.0.0",
@@ -229,6 +232,12 @@
229
232
  "@inertiajs/vue3": {
230
233
  "optional": true
231
234
  },
235
+ "@internationalized/date": {
236
+ "optional": true
237
+ },
238
+ "@internationalized/number": {
239
+ "optional": true
240
+ },
232
241
  "@nuxt/content": {
233
242
  "optional": true
234
243
  },