@nuxt/ui 3.0.0-alpha.9 → 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/.nuxt/ui/accordion.ts +2 -2
  2. package/.nuxt/ui/alert.ts +122 -95
  3. package/.nuxt/ui/avatar-group.ts +14 -2
  4. package/.nuxt/ui/avatar.ts +16 -4
  5. package/.nuxt/ui/badge.ts +139 -93
  6. package/.nuxt/ui/breadcrumb.ts +5 -5
  7. package/.nuxt/ui/button-group.ts +13 -0
  8. package/.nuxt/ui/button.ts +167 -136
  9. package/.nuxt/ui/calendar.ts +103 -0
  10. package/.nuxt/ui/card.ts +27 -1
  11. package/.nuxt/ui/carousel.ts +7 -5
  12. package/.nuxt/ui/checkbox.ts +45 -27
  13. package/.nuxt/ui/chip.ts +44 -15
  14. package/.nuxt/ui/color-picker.ts +47 -0
  15. package/.nuxt/ui/command-palette.ts +28 -18
  16. package/.nuxt/ui/container.ts +1 -1
  17. package/.nuxt/ui/context-menu.ts +64 -46
  18. package/.nuxt/ui/drawer.ts +83 -15
  19. package/.nuxt/ui/dropdown-menu.ts +65 -47
  20. package/.nuxt/ui/form-field.ts +15 -7
  21. package/.nuxt/ui/index.ts +5 -1
  22. package/.nuxt/ui/input-menu.ts +150 -116
  23. package/.nuxt/ui/input-number.ts +102 -71
  24. package/.nuxt/ui/input.ts +111 -76
  25. package/.nuxt/ui/kbd.ts +18 -6
  26. package/.nuxt/ui/link.ts +3 -3
  27. package/.nuxt/ui/modal.ts +8 -7
  28. package/.nuxt/ui/navigation-menu.ts +244 -131
  29. package/.nuxt/ui/pin-input.ts +77 -51
  30. package/.nuxt/ui/popover.ts +2 -2
  31. package/.nuxt/ui/progress.ts +111 -72
  32. package/.nuxt/ui/radio-group.ts +45 -22
  33. package/.nuxt/ui/select-menu.ts +122 -86
  34. package/.nuxt/ui/select.ts +120 -84
  35. package/.nuxt/ui/separator.ts +60 -31
  36. package/.nuxt/ui/skeleton.ts +1 -1
  37. package/.nuxt/ui/slideover.ts +17 -9
  38. package/.nuxt/ui/slider.ts +61 -38
  39. package/.nuxt/ui/stepper.ts +202 -0
  40. package/.nuxt/ui/switch.ts +40 -22
  41. package/.nuxt/ui/table.ts +48 -31
  42. package/.nuxt/ui/tabs.ts +100 -72
  43. package/.nuxt/ui/textarea.ts +111 -76
  44. package/.nuxt/ui/toast.ts +53 -33
  45. package/.nuxt/ui/toaster.ts +31 -15
  46. package/.nuxt/ui/tooltip.ts +2 -2
  47. package/.nuxt/ui/tree.ts +154 -0
  48. package/.nuxt/ui.css +92 -0
  49. package/README.md +19 -8
  50. package/cli/commands/make/component.mjs +12 -0
  51. package/cli/package.json +2 -2
  52. package/cli/templates.mjs +27 -22
  53. package/dist/module.cjs +9 -171
  54. package/dist/module.d.cts +5 -15
  55. package/dist/module.d.mts +5 -15
  56. package/dist/module.d.ts +5 -15
  57. package/dist/module.json +2 -2
  58. package/dist/module.mjs +12 -168
  59. package/dist/runtime/components/Accordion.vue +8 -39
  60. package/dist/runtime/components/Alert.vue +22 -21
  61. package/dist/runtime/components/App.vue +9 -15
  62. package/dist/runtime/components/Avatar.vue +33 -21
  63. package/dist/runtime/components/AvatarGroup.vue +5 -7
  64. package/dist/runtime/components/Badge.vue +10 -8
  65. package/dist/runtime/components/Breadcrumb.vue +5 -31
  66. package/dist/runtime/components/Button.vue +5 -8
  67. package/dist/runtime/components/ButtonGroup.vue +5 -7
  68. package/dist/runtime/components/Calendar.vue +194 -0
  69. package/dist/runtime/components/Card.vue +10 -9
  70. package/dist/runtime/components/Carousel.vue +15 -10
  71. package/dist/runtime/components/Checkbox.vue +32 -38
  72. package/dist/runtime/components/Chip.vue +6 -8
  73. package/dist/runtime/components/Collapsible.vue +10 -11
  74. package/dist/runtime/components/ColorPicker.vue +297 -0
  75. package/dist/runtime/components/CommandPalette.vue +111 -97
  76. package/dist/runtime/components/Container.vue +4 -7
  77. package/dist/runtime/components/ContextMenu.vue +16 -69
  78. package/dist/runtime/components/ContextMenuContent.vue +12 -10
  79. package/dist/runtime/components/Drawer.vue +23 -12
  80. package/dist/runtime/components/DropdownMenu.vue +18 -59
  81. package/dist/runtime/components/DropdownMenuContent.vue +12 -10
  82. package/dist/runtime/components/Form.vue +65 -34
  83. package/dist/runtime/components/FormField.vue +22 -13
  84. package/dist/runtime/components/Icon.vue +1 -1
  85. package/dist/runtime/components/Input.vue +15 -7
  86. package/dist/runtime/components/InputMenu.vue +95 -104
  87. package/dist/runtime/components/InputNumber.vue +14 -9
  88. package/dist/runtime/components/Kbd.vue +5 -6
  89. package/dist/runtime/components/Link.vue +5 -8
  90. package/dist/runtime/components/LinkBase.vue +1 -1
  91. package/dist/runtime/components/Modal.vue +51 -38
  92. package/dist/runtime/components/NavigationMenu.vue +129 -114
  93. package/dist/runtime/components/OverlayProvider.vue +29 -0
  94. package/dist/runtime/components/Pagination.vue +6 -9
  95. package/dist/runtime/components/PinInput.vue +10 -11
  96. package/dist/runtime/components/Popover.vue +16 -18
  97. package/dist/runtime/components/Progress.vue +28 -12
  98. package/dist/runtime/components/RadioGroup.vue +9 -12
  99. package/dist/runtime/components/Select.vue +60 -34
  100. package/dist/runtime/components/SelectMenu.vue +160 -165
  101. package/dist/runtime/components/Separator.vue +6 -5
  102. package/dist/runtime/components/Skeleton.vue +4 -7
  103. package/dist/runtime/components/Slideover.vue +51 -37
  104. package/dist/runtime/components/Slider.vue +8 -7
  105. package/dist/runtime/components/Stepper.vue +170 -0
  106. package/dist/runtime/components/Switch.vue +19 -23
  107. package/dist/runtime/components/Table.vue +146 -31
  108. package/dist/runtime/components/Tabs.vue +12 -31
  109. package/dist/runtime/components/Textarea.vue +17 -8
  110. package/dist/runtime/components/Toast.vue +36 -25
  111. package/dist/runtime/components/Toaster.vue +10 -11
  112. package/dist/runtime/components/Tooltip.vue +9 -12
  113. package/dist/runtime/components/Tree.vue +196 -0
  114. package/dist/runtime/composables/defineShortcuts.d.ts +1 -1
  115. package/dist/runtime/composables/defineShortcuts.js +2 -2
  116. package/dist/runtime/composables/useFormField.d.ts +7 -3
  117. package/dist/runtime/composables/useFormField.js +18 -8
  118. package/dist/runtime/composables/useLocale.js +1 -1
  119. package/dist/runtime/composables/useOverlay.d.ts +30 -0
  120. package/dist/runtime/composables/useOverlay.js +71 -0
  121. package/dist/runtime/composables/useToast.d.ts +4 -3
  122. package/dist/runtime/composables/useToast.js +20 -6
  123. package/dist/runtime/index.css +1 -1
  124. package/dist/runtime/keyframes.css +1 -1
  125. package/dist/runtime/locale/ar.js +9 -1
  126. package/dist/runtime/locale/az.js +54 -0
  127. package/dist/runtime/locale/bn.js +54 -0
  128. package/dist/runtime/locale/cs.js +9 -1
  129. package/dist/runtime/locale/da.d.ts +2 -0
  130. package/dist/runtime/locale/da.js +54 -0
  131. package/dist/runtime/locale/de.js +11 -3
  132. package/dist/runtime/locale/el.d.ts +2 -0
  133. package/dist/runtime/locale/el.js +54 -0
  134. package/dist/runtime/locale/en.js +9 -1
  135. package/dist/runtime/locale/es.js +9 -1
  136. package/dist/runtime/locale/et.d.ts +2 -0
  137. package/dist/runtime/locale/et.js +54 -0
  138. package/dist/runtime/locale/fa_ir.js +9 -1
  139. package/dist/runtime/locale/fi.d.ts +2 -0
  140. package/dist/runtime/locale/fi.js +54 -0
  141. package/dist/runtime/locale/fr.js +9 -1
  142. package/dist/runtime/locale/he.d.ts +2 -0
  143. package/dist/runtime/locale/he.js +53 -0
  144. package/dist/runtime/locale/hi.d.ts +2 -0
  145. package/dist/runtime/locale/hi.js +54 -0
  146. package/dist/runtime/locale/hu.d.ts +2 -0
  147. package/dist/runtime/locale/hu.js +54 -0
  148. package/dist/runtime/locale/id.d.ts +2 -0
  149. package/dist/runtime/locale/id.js +54 -0
  150. package/dist/runtime/locale/index.d.ts +25 -3
  151. package/dist/runtime/locale/index.js +25 -3
  152. package/dist/runtime/locale/it.js +9 -1
  153. package/dist/runtime/locale/ja.d.ts +2 -0
  154. package/dist/runtime/locale/ja.js +54 -0
  155. package/dist/runtime/locale/km.d.ts +2 -0
  156. package/dist/runtime/locale/km.js +54 -0
  157. package/dist/runtime/locale/ko.d.ts +2 -0
  158. package/dist/runtime/locale/ko.js +54 -0
  159. package/dist/runtime/locale/nb_no.d.ts +2 -0
  160. package/dist/runtime/locale/nb_no.js +54 -0
  161. package/dist/runtime/locale/nl.d.ts +2 -0
  162. package/dist/runtime/locale/nl.js +54 -0
  163. package/dist/runtime/locale/pl.js +9 -1
  164. package/dist/runtime/locale/pt.d.ts +2 -0
  165. package/dist/runtime/locale/pt.js +54 -0
  166. package/dist/runtime/locale/pt_br.d.ts +2 -0
  167. package/dist/runtime/locale/pt_br.js +54 -0
  168. package/dist/runtime/locale/ru.js +9 -1
  169. package/dist/runtime/locale/sk.d.ts +2 -0
  170. package/dist/runtime/locale/sk.js +54 -0
  171. package/dist/runtime/locale/sv.d.ts +2 -0
  172. package/dist/runtime/locale/sv.js +54 -0
  173. package/dist/runtime/locale/th.d.ts +2 -0
  174. package/dist/runtime/locale/th.js +54 -0
  175. package/dist/runtime/locale/tr.d.ts +2 -0
  176. package/dist/runtime/locale/tr.js +54 -0
  177. package/dist/runtime/locale/uk.d.ts +2 -0
  178. package/dist/runtime/locale/uk.js +54 -0
  179. package/dist/runtime/locale/vi.d.ts +2 -0
  180. package/dist/runtime/locale/vi.js +54 -0
  181. package/dist/runtime/locale/zh_cn.d.ts +2 -0
  182. package/dist/runtime/locale/{zh_hans.js → zh_cn.js} +10 -2
  183. package/dist/runtime/locale/zh_tw.d.ts +2 -0
  184. package/dist/runtime/locale/{zh_hant.js → zh_tw.js} +16 -8
  185. package/dist/runtime/plugins/colors.js +8 -5
  186. package/dist/runtime/types/form.d.ts +24 -15
  187. package/dist/runtime/types/form.js +2 -2
  188. package/dist/runtime/types/index.d.ts +5 -0
  189. package/dist/runtime/types/index.js +5 -0
  190. package/dist/runtime/types/locale.d.ts +8 -0
  191. package/dist/runtime/types/utils.d.ts +7 -3
  192. package/dist/runtime/utils/form.d.ts +4 -4
  193. package/dist/runtime/utils/form.js +6 -8
  194. package/dist/runtime/utils/index.d.ts +1 -1
  195. package/dist/runtime/utils/index.js +15 -2
  196. package/dist/runtime/utils/tv.d.ts +1 -0
  197. package/dist/runtime/utils/tv.js +4 -0
  198. package/dist/runtime/vue/components/Icon.vue +2 -2
  199. package/dist/runtime/vue/components/Link.vue +87 -23
  200. package/dist/runtime/vue/composables/useAppConfig.d.ts +1 -0
  201. package/dist/runtime/vue/composables/useAppConfig.js +2 -0
  202. package/dist/runtime/vue/plugins/head.d.ts +1 -1
  203. package/dist/runtime/vue/plugins/head.js +3 -3
  204. package/dist/runtime/vue/stubs.d.ts +19 -0
  205. package/dist/runtime/vue/stubs.js +37 -0
  206. package/dist/shared/{ui.d52SSCwA.mjs → ui.DSPu6Y8j.mjs} +905 -401
  207. package/dist/shared/{ui.BPnAe4QS.cjs → ui.DfK2RX6G.cjs} +908 -401
  208. package/dist/unplugin.cjs +62 -26
  209. package/dist/unplugin.d.cts +13 -1
  210. package/dist/unplugin.d.mts +13 -1
  211. package/dist/unplugin.d.ts +13 -1
  212. package/dist/unplugin.mjs +61 -25
  213. package/dist/vite.cjs +3 -2
  214. package/dist/vite.d.cts +2 -0
  215. package/dist/vite.d.mts +2 -0
  216. package/dist/vite.d.ts +2 -0
  217. package/dist/vite.mjs +3 -2
  218. package/package.json +103 -67
  219. package/dist/chunks/component-meta.cjs +0 -77249
  220. package/dist/chunks/component-meta.mjs +0 -77247
  221. package/dist/client/devtools/200.html +0 -1
  222. package/dist/client/devtools/404.html +0 -1
  223. package/dist/client/devtools/_fonts/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKK58UfivUw4aw-SK92LTmKP0.woff2 +0 -0
  224. package/dist/client/devtools/_fonts/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKy58UfivUw-9uYm8d48E4.woff2 +0 -0
  225. package/dist/client/devtools/_fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg-VNw7NHvqnp.woff2 +0 -0
  226. package/dist/client/devtools/_fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0-EkYdMs3MAX.woff2 +0 -0
  227. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-7DW3w-R7n06NbhGy.woff +0 -0
  228. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDG3w-leGNfkTmsj.woff +0 -0
  229. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDW3w-ciElMF03ku.woff +0 -0
  230. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JCm3w-sB722Uoa0f.woff +0 -0
  231. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JDW3w-PBDI1JDjwV.woff +0 -0
  232. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8gCm3w-0q1hqVn09O.woff +0 -0
  233. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9XCm3w-ByvzuLy2fa.woff +0 -0
  234. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9uCm3w-5TKCIs6EEw.woff +0 -0
  235. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat_XDW3w-r2swRDGfn2.woff +0 -0
  236. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAC5thTQ-ldB60l5U8r.woff +0 -0
  237. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpthTQ-wbFKGFDrgo.woff +0 -0
  238. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpxhTQ-LLUBv5jskj.woff +0 -0
  239. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTQ-F71RdTRbNg.woff +0 -0
  240. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwA_JxhTQ-6nh65gZkc0.woff +0 -0
  241. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTQ-aMoWEJLmTt.woff +0 -0
  242. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTQ-WMBvmLOgKm.woff +0 -0
  243. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAop1hTQ-utGC2hnWq2.woff +0 -0
  244. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTQ-YpyTieVa5B.woff +0 -0
  245. package/dist/client/devtools/_nuxt/BDC8ywlR.js +0 -1
  246. package/dist/client/devtools/_nuxt/BT004Uxp.js +0 -53
  247. package/dist/client/devtools/_nuxt/C1H2Soz3.js +0 -1
  248. package/dist/client/devtools/_nuxt/builds/latest.json +0 -1
  249. package/dist/client/devtools/_nuxt/builds/meta/f98c13ea-d751-4b37-8ce3-94e99708745f.json +0 -1
  250. package/dist/client/devtools/_nuxt/entry.Bx6WJjrx.css +0 -1
  251. package/dist/client/devtools/_nuxt/error-404.Cq4qshcf.css +0 -1
  252. package/dist/client/devtools/_nuxt/error-500.ax1aM34m.css +0 -1
  253. package/dist/client/devtools/favicon.svg +0 -1
  254. package/dist/client/devtools/index.html +0 -1
  255. package/dist/devtools/runtime/DevtoolsRenderer.vue +0 -53
  256. package/dist/devtools/runtime/examples/AvatarGroupExample.vue +0 -7
  257. package/dist/devtools/runtime/examples/ButtonGroupExample.vue +0 -8
  258. package/dist/devtools/runtime/examples/CardExample.vue +0 -13
  259. package/dist/devtools/runtime/examples/CarouselExample.vue +0 -13
  260. package/dist/devtools/runtime/examples/ChipExample.vue +0 -5
  261. package/dist/devtools/runtime/examples/CollapsibleExample.vue +0 -8
  262. package/dist/devtools/runtime/examples/CommandPaletteExample.vue +0 -29
  263. package/dist/devtools/runtime/examples/ContainerExample.vue +0 -5
  264. package/dist/devtools/runtime/examples/ContextMenuExample.vue +0 -5
  265. package/dist/devtools/runtime/examples/DrawerExample.vue +0 -8
  266. package/dist/devtools/runtime/examples/DropdownMenuExample.vue +0 -5
  267. package/dist/devtools/runtime/examples/FormExample.vue +0 -30
  268. package/dist/devtools/runtime/examples/FormFieldExample.vue +0 -5
  269. package/dist/devtools/runtime/examples/LinkExample.vue +0 -5
  270. package/dist/devtools/runtime/examples/ModalExample.vue +0 -8
  271. package/dist/devtools/runtime/examples/PopoverExample.vue +0 -8
  272. package/dist/devtools/runtime/examples/SkeletonExample.vue +0 -3
  273. package/dist/devtools/runtime/examples/SlideoverExample.vue +0 -8
  274. package/dist/devtools/runtime/examples/ToasterExample.vue +0 -11
  275. package/dist/devtools/runtime/examples/TooltipExample.vue +0 -5
  276. package/dist/runtime/components/ModalProvider.vue +0 -12
  277. package/dist/runtime/components/SlideoverProvider.vue +0 -12
  278. package/dist/runtime/composables/extendDevtoolsMeta.d.ts +0 -7
  279. package/dist/runtime/composables/extendDevtoolsMeta.js +0 -2
  280. package/dist/runtime/composables/useModal.d.ts +0 -17
  281. package/dist/runtime/composables/useModal.js +0 -46
  282. package/dist/runtime/composables/useSlideover.d.ts +0 -17
  283. package/dist/runtime/composables/useSlideover.js +0 -46
  284. package/dist/runtime/plugins/modal.d.ts +0 -2
  285. package/dist/runtime/plugins/modal.js +0 -10
  286. package/dist/runtime/plugins/slideover.d.ts +0 -2
  287. package/dist/runtime/plugins/slideover.js +0 -10
  288. /package/dist/runtime/locale/{zh_hans.d.ts → az.d.ts} +0 -0
  289. /package/dist/runtime/locale/{zh_hant.d.ts → bn.d.ts} +0 -0
package/cli/templates.mjs CHANGED
@@ -30,14 +30,14 @@ const component = ({ name, primitive, pro, prose, content }) => {
30
30
  contents: primitive
31
31
  ? `
32
32
  <script lang="ts">
33
- import { tv } from 'tailwind-variants'
34
33
  import type { AppConfig } from '@nuxt/schema'
35
34
  import _appConfig from '#build/app.config'
36
35
  import theme from '#build/${path}/${prose ? 'prose/' : ''}${content ? 'content/' : ''}${kebabName}'
36
+ import { tv } from '${pro ? '#ui/utils/tv' : '../utils/tv'}'
37
37
 
38
- const appConfig = _appConfig as AppConfig & { ${key}: { ${prose ? 'prose: { ' : ''}${camelName}: Partial<typeof theme> } }${prose ? ' }' : ''}
38
+ const appConfig${camelName} = _appConfig as AppConfig & { ${key}: { ${prose ? 'prose: { ' : ''}${camelName}: Partial<typeof theme> } }${prose ? ' }' : ''}
39
39
 
40
- const ${camelName} = tv({ extend: tv(theme), ...(appConfig.${key}?.${prose ? 'prose?.' : ''}${camelName} || {}) })
40
+ const ${camelName} = tv({ extend: tv(theme), ...(appConfig${camelName}.${key}?.${prose ? 'prose?.' : ''}${camelName} || {}) })
41
41
 
42
42
  export interface ${upperName}Props {
43
43
  /**
@@ -55,9 +55,9 @@ export interface ${upperName}Slots {
55
55
  </script>
56
56
 
57
57
  <script setup lang="ts">
58
- import { Primitive } from 'radix-vue'
58
+ import { Primitive } from 'reka-ui'
59
59
 
60
- const props = withDefaults(defineProps<${upperName}Props>(), { as: 'div' })
60
+ const props = defineProps<${upperName}Props>()
61
61
  defineSlots<${upperName}Slots>()
62
62
 
63
63
  const ui = ${camelName}()
@@ -71,15 +71,16 @@ const ui = ${camelName}()
71
71
  `
72
72
  : `
73
73
  <script lang="ts">
74
- import { tv, type VariantProps } from 'tailwind-variants'
75
- import type { ${upperName}RootProps, ${upperName}RootEmits } from 'radix-vue'
74
+ import type { VariantProps } from 'tailwind-variants'
75
+ import type { ${upperName}RootProps, ${upperName}RootEmits } from 'reka-ui'
76
76
  import type { AppConfig } from '@nuxt/schema'
77
77
  import _appConfig from '#build/app.config'
78
78
  import theme from '#build/${path}/${prose ? 'prose/' : ''}${content ? 'content/' : ''}${kebabName}'
79
+ import { tv } from '${pro ? '#ui/utils/tv' : '../utils/tv'}'
79
80
 
80
- const appConfig = _appConfig as AppConfig & { ${key}: { ${prose ? 'prose: { ' : ''}${camelName}: Partial<typeof theme> } }${prose ? ' }' : ''}
81
+ const appConfig${camelName} = _appConfig as AppConfig & { ${key}: { ${prose ? 'prose: { ' : ''}${camelName}: Partial<typeof theme> } }${prose ? ' }' : ''}
81
82
 
82
- const ${camelName} = tv({ extend: tv(theme), ...(appConfig.${key}?.${prose ? 'prose?.' : ''}${camelName} || {}) })
83
+ const ${camelName} = tv({ extend: tv(theme), ...(appConfig${camelName}.${key}?.${prose ? 'prose?.' : ''}${camelName} || {}) })
83
84
 
84
85
  type ${upperName}Variants = VariantProps<typeof ${camelName}>
85
86
 
@@ -94,7 +95,7 @@ export interface ${upperName}Slots {}
94
95
  </script>
95
96
 
96
97
  <script setup lang="ts">
97
- import { ${upperName}Root, useForwardPropsEmits } from 'radix-vue'
98
+ import { ${upperName}Root, useForwardPropsEmits } from 'reka-ui'
98
99
  import { reactivePick } from '@vueuse/core'
99
100
 
100
101
  const props = defineProps<${upperName}Props>()
@@ -149,7 +150,7 @@ import ComponentRender from '../${content ? '../' : ''}component-render'
149
150
  describe('${upperName}', () => {
150
151
  it.each([
151
152
  // Props
152
- ['with as', { props: { as: 'div' } }],
153
+ ['with as', { props: { as: 'section' } }],
153
154
  ['with class', { props: { class: '' } }],
154
155
  ['with ui', { props: { ui: {} } }],
155
156
  // Slots
@@ -163,20 +164,24 @@ describe('${upperName}', () => {
163
164
  }
164
165
  }
165
166
 
166
- const doc = ({ name, pro }) => {
167
+ const docs = ({ name, pro, primitive }) => {
167
168
  const kebabName = kebabCase(name)
168
169
  const upperName = splitByCase(name).map(p => upperFirst(p)).join('')
169
170
 
170
171
  return {
171
- filename: `docs/content/${pro ? 'pro' : '3.components'}/${kebabName}.md`,
172
+ filename: `docs/content/3.components/${kebabName}.md`,
172
173
  contents: `---
173
- description:
174
- links: ${pro
174
+ title: ${upperName}
175
+ description: ''${pro
176
+ ? `
177
+ module: ui-pro`
178
+ : ''}
179
+ links:${primitive
175
180
  ? ''
176
181
  : `
177
182
  - label: ${upperName}
178
- icon: i-custom-radix-vue
179
- to: https://www.radix-vue.com/components/${kebabName}.html`}
183
+ icon: i-custom-reka-ui
184
+ to: https://reka-ui.com/docs/components/${kebabName}`}
180
185
  - label: GitHub
181
186
  icon: i-simple-icons-github
182
187
  to: https://github.com/nuxt/${pro ? 'ui-pro' : 'ui'}/tree/v3/src/runtime/components/${upperName}.vue
@@ -190,19 +195,19 @@ links: ${pro
190
195
 
191
196
  ### Props
192
197
 
193
- :component-props
198
+ :component-props${pro ? '{pro}' : ''}
194
199
 
195
200
  ### Slots
196
201
 
197
- :component-slots
202
+ :component-slots${pro ? '{pro}' : ''}
198
203
 
199
204
  ### Emits
200
205
 
201
- :component-emits
206
+ :component-emits${pro ? '{pro}' : ''}
202
207
 
203
208
  ## Theme
204
209
 
205
- :component-theme
210
+ :component-theme${pro ? '{pro}' : ''}
206
211
  `
207
212
  }
208
213
  }
@@ -212,5 +217,5 @@ export default {
212
217
  component,
213
218
  theme,
214
219
  test,
215
- doc
220
+ docs
216
221
  }
package/dist/module.cjs CHANGED
@@ -2,137 +2,13 @@
2
2
 
3
3
  const defu = require('defu');
4
4
  const kit = require('@nuxt/kit');
5
- const templates = require('./shared/ui.BPnAe4QS.cjs');
6
- const devtoolsKit = require('@nuxt/devtools-kit');
7
- const sirv = require('sirv');
8
- require('get-port-please');
9
- const scule = require('scule');
10
- const fs = require('node:fs');
5
+ const templates = require('./shared/ui.DfK2RX6G.cjs');
11
6
  require('../dist/runtime/utils/index.js');
12
7
  require('node:url');
8
+ require('scule');
9
+ require('tailwindcss/colors');
13
10
 
14
11
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
15
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
16
-
17
- const defu__default = /*#__PURE__*/_interopDefaultCompat(defu);
18
- const sirv__default = /*#__PURE__*/_interopDefaultCompat(sirv);
19
- const fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
20
-
21
- const devtoolsComponentMeta = {};
22
- function extractDevtoolsMeta(code) {
23
- const match = code.match(/extendDevtoolsMeta(?:<.*?>)?\(/);
24
- if (!match)
25
- return null;
26
- const startIndex = code.indexOf(match[0]) + match[0].length;
27
- let openBraceCount = 0;
28
- let closeBraceCount = 0;
29
- let endIndex = startIndex;
30
- for (let i = startIndex; i < code.length; i++) {
31
- if (code[i] === "{")
32
- openBraceCount++;
33
- if (code[i] === "}")
34
- closeBraceCount++;
35
- if (openBraceCount > 0 && openBraceCount === closeBraceCount) {
36
- endIndex = i + 1;
37
- break;
38
- }
39
- }
40
- return code.slice(startIndex, endIndex).trim();
41
- }
42
- function devtoolsMetaPlugin({ resolve, options, templates }) {
43
- return {
44
- name: "ui-devtools-component-meta",
45
- enforce: "pre",
46
- async transform(code, id) {
47
- if (!id.match(/\/runtime\/components\/\w+.vue/))
48
- return;
49
- const fileName = id.split("/")[id.split("/").length - 1];
50
- if (code && fileName) {
51
- const slug = scule.kebabCase(fileName.replace(/\..*/, ""));
52
- const match = extractDevtoolsMeta(code);
53
- if (match) {
54
- const metaObject = new Function(`return ${match}`)();
55
- devtoolsComponentMeta[slug] = { meta: { devtools: { ...metaObject } } };
56
- }
57
- }
58
- return {
59
- code
60
- };
61
- },
62
- configureServer(server) {
63
- server.middlewares.use("/__nuxt_ui__/devtools/api/component-meta", async (_req, res) => {
64
- res.setHeader("Content-Type", "application/json");
65
- try {
66
- const componentMeta = await import('./chunks/component-meta.cjs');
67
- const meta = defu__default(
68
- Object.entries(componentMeta.default).reduce((acc, [key, value]) => {
69
- if (!key.startsWith("U"))
70
- return acc;
71
- const name = key.substring(1);
72
- const slug = scule.kebabCase(name);
73
- const template = templates?.[scule.camelCase(name)];
74
- if (devtoolsComponentMeta[slug] === void 0) {
75
- const path = resolve(`./runtime/components/${name}.vue`);
76
- const code = fs__default.readFileSync(path, "utf-8");
77
- const match = extractDevtoolsMeta(code);
78
- if (match) {
79
- const metaObject = new Function(`return ${match}`)();
80
- devtoolsComponentMeta[slug] = { meta: { devtools: { ...metaObject } } };
81
- } else {
82
- devtoolsComponentMeta[slug] = null;
83
- }
84
- }
85
- value.meta.props = value.meta.props.map((prop) => {
86
- let defaultValue = prop.default ? prop.default : prop?.tags?.find((tag) => tag.name === "defaultValue" && !tag.text?.includes("appConfig"))?.text ?? template?.defaultVariants?.[prop.name];
87
- if (typeof defaultValue === "string")
88
- defaultValue = defaultValue?.replaceAll(/["'`]/g, "");
89
- if (defaultValue === "true")
90
- defaultValue = true;
91
- if (defaultValue === "false")
92
- defaultValue = false;
93
- if (!Number.isNaN(Number.parseInt(defaultValue)))
94
- defaultValue = Number.parseInt(defaultValue);
95
- return {
96
- ...prop,
97
- default: defaultValue
98
- };
99
- });
100
- const label = key.replace(/^U/, options.prefix ?? "U");
101
- acc[scule.kebabCase(key.replace(/^U/, ""))] = { ...value, label, slug };
102
- return acc;
103
- }, {}),
104
- devtoolsComponentMeta
105
- );
106
- res.end(JSON.stringify(meta));
107
- } catch (error) {
108
- console.error(`Failed to fetch component meta`, error);
109
- res.statusCode = 500;
110
- res.end(JSON.stringify({ error: "Failed to fetch component meta" }));
111
- }
112
- });
113
- server.middlewares.use("/__nuxt_ui__/devtools/api/component-example", async (req, res) => {
114
- const query = new URL(req.url, "http://localhost").searchParams;
115
- const name = query.get("component");
116
- if (!name) {
117
- res.statusCode = 400;
118
- res.end(JSON.stringify({ error: "Component name is required" }));
119
- return;
120
- }
121
- try {
122
- const path = resolve(`./devtools/runtime/examples/${name}.vue`);
123
- const source = fs__default.readFileSync(path, "utf-8");
124
- res.setHeader("Content-Type", "application/json");
125
- res.end(JSON.stringify({ component: name, source }));
126
- } catch (error) {
127
- console.error(`Failed to read component source for ${name}:`, error);
128
- res.statusCode = 500;
129
- res.end(JSON.stringify({ error: "Failed to read component source" }));
130
- }
131
- });
132
- }
133
- };
134
- }
135
-
136
12
  const module$1 = kit.defineNuxtModule({
137
13
  meta: {
138
14
  name: "ui",
@@ -140,7 +16,7 @@ const module$1 = kit.defineNuxtModule({
140
16
  compatibility: {
141
17
  nuxt: ">=3.13.1"
142
18
  },
143
- docs: "https://ui3.nuxt.dev/getting-started/installation"
19
+ docs: "https://ui3.nuxt.dev/getting-started/installation/nuxt"
144
20
  },
145
21
  defaults: templates.defaultOptions,
146
22
  async setup(options, nuxt) {
@@ -158,23 +34,21 @@ const module$1 = kit.defineNuxtModule({
158
34
  } else {
159
35
  nuxt.options.postcss.plugins["@tailwindcss/postcss"] = {};
160
36
  }
161
- async function registerModule(name, options2) {
37
+ async function registerModule(name, key, options2) {
162
38
  if (!kit.hasNuxtModule(name)) {
163
39
  await kit.installModule(name, options2);
164
40
  } else {
165
- nuxt.options[name] = defu.defu(nuxt.options[name], options2);
41
+ nuxt.options[key] = defu.defu(nuxt.options[key], options2);
166
42
  }
167
43
  }
168
- await registerModule("@nuxt/icon", { cssLayer: "components" });
44
+ await registerModule("@nuxt/icon", "icon", { cssLayer: "components" });
169
45
  if (options.fonts) {
170
- await registerModule("@nuxt/fonts", { experimental: { processCSSVariables: true } });
46
+ await registerModule("@nuxt/fonts", "fonts", { experimental: { processCSSVariables: true } });
171
47
  }
172
48
  if (options.colorMode) {
173
- await registerModule("@nuxtjs/color-mode", { classSuffix: "", disableTransition: true });
49
+ await registerModule("@nuxtjs/color-mode", "colorMode", { classSuffix: "", disableTransition: true });
174
50
  }
175
51
  kit.addPlugin({ src: resolve("./runtime/plugins/colors") });
176
- kit.addPlugin({ src: resolve("./runtime/plugins/modal") });
177
- kit.addPlugin({ src: resolve("./runtime/plugins/slideover") });
178
52
  kit.addComponentsDir({
179
53
  path: resolve("./runtime/components"),
180
54
  prefix: options.prefix,
@@ -182,42 +56,6 @@ const module$1 = kit.defineNuxtModule({
182
56
  });
183
57
  kit.addImportsDir(resolve("./runtime/composables"));
184
58
  templates.addTemplates(options, nuxt, resolve);
185
- if (nuxt.options.dev && nuxt.options.devtools.enabled && options.devtools?.enabled) {
186
- const templates$1 = templates.buildTemplates(options);
187
- nuxt.options.vite = defu.defu(nuxt.options?.vite, { plugins: [devtoolsMetaPlugin({ resolve, templates: templates$1, options })] });
188
- {
189
- nuxt.hook("vite:serverCreated", async (server) => {
190
- server.middlewares.use("/__nuxt_ui__/devtools", sirv__default(resolve("../dist/client/devtools"), {
191
- single: true,
192
- dev: true
193
- }));
194
- });
195
- }
196
- nuxt.options.routeRules = defu.defu(nuxt.options.routeRules, { "/__nuxt_ui__/**": { ssr: false } });
197
- kit.extendPages((pages) => {
198
- if (pages.length) {
199
- pages.unshift({
200
- name: "ui-devtools",
201
- path: "/__nuxt_ui__/components/:slug",
202
- file: resolve("./devtools/runtime/DevtoolsRenderer.vue"),
203
- meta: {
204
- // https://github.com/nuxt/nuxt/pull/29366
205
- // isolate: true
206
- layout: false
207
- }
208
- });
209
- }
210
- });
211
- devtoolsKit.addCustomTab({
212
- name: "nuxt-ui",
213
- title: "Nuxt UI",
214
- icon: "/__nuxt_ui__/devtools/favicon.svg",
215
- view: {
216
- type: "iframe",
217
- src: "/__nuxt_ui__/devtools"
218
- }
219
- });
220
- }
221
59
  }
222
60
  });
223
61
 
package/dist/module.d.cts CHANGED
@@ -5,19 +5,19 @@ interface ModuleOptions {
5
5
  /**
6
6
  * Prefix for components
7
7
  * @defaultValue `U`
8
- * @link https://ui3.nuxt.dev/getting-started/installation#prefix
8
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#prefix
9
9
  */
10
10
  prefix?: string;
11
11
  /**
12
12
  * Enable or disable `@nuxt/fonts` module
13
13
  * @defaultValue `true`
14
- * @link https://ui3.nuxt.dev/getting-started/installation#fonts
14
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#fonts
15
15
  */
16
16
  fonts?: boolean;
17
17
  /**
18
18
  * Enable or disable `@nuxtjs/color-mode` module
19
19
  * @defaultValue `true`
20
- * @link https://ui3.nuxt.dev/getting-started/installation#colormode
20
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#colormode
21
21
  */
22
22
  colorMode?: boolean;
23
23
  /**
@@ -28,26 +28,16 @@ interface ModuleOptions {
28
28
  /**
29
29
  * Define the color aliases available for components
30
30
  * @defaultValue `['primary', 'secondary', 'success', 'info', 'warning', 'error']`
31
- * @link https://ui3.nuxt.dev/getting-started/installation#themecolors
31
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#themecolors
32
32
  */
33
33
  colors?: string[];
34
34
  /**
35
35
  * Enable or disable transitions on components
36
36
  * @defaultValue `true`
37
- * @link https://ui3.nuxt.dev/getting-started/installation#themetransitions
37
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#themetransitions
38
38
  */
39
39
  transitions?: boolean;
40
40
  };
41
- /**
42
- * Configuration for the Nuxt UI devtools.
43
- */
44
- devtools?: {
45
- /**
46
- * Enable or disable Nuxt UI devtools.
47
- * @defaultValue `true`
48
- */
49
- enabled?: boolean;
50
- };
51
41
  }
52
42
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
53
43
 
package/dist/module.d.mts CHANGED
@@ -5,19 +5,19 @@ interface ModuleOptions {
5
5
  /**
6
6
  * Prefix for components
7
7
  * @defaultValue `U`
8
- * @link https://ui3.nuxt.dev/getting-started/installation#prefix
8
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#prefix
9
9
  */
10
10
  prefix?: string;
11
11
  /**
12
12
  * Enable or disable `@nuxt/fonts` module
13
13
  * @defaultValue `true`
14
- * @link https://ui3.nuxt.dev/getting-started/installation#fonts
14
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#fonts
15
15
  */
16
16
  fonts?: boolean;
17
17
  /**
18
18
  * Enable or disable `@nuxtjs/color-mode` module
19
19
  * @defaultValue `true`
20
- * @link https://ui3.nuxt.dev/getting-started/installation#colormode
20
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#colormode
21
21
  */
22
22
  colorMode?: boolean;
23
23
  /**
@@ -28,26 +28,16 @@ interface ModuleOptions {
28
28
  /**
29
29
  * Define the color aliases available for components
30
30
  * @defaultValue `['primary', 'secondary', 'success', 'info', 'warning', 'error']`
31
- * @link https://ui3.nuxt.dev/getting-started/installation#themecolors
31
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#themecolors
32
32
  */
33
33
  colors?: string[];
34
34
  /**
35
35
  * Enable or disable transitions on components
36
36
  * @defaultValue `true`
37
- * @link https://ui3.nuxt.dev/getting-started/installation#themetransitions
37
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#themetransitions
38
38
  */
39
39
  transitions?: boolean;
40
40
  };
41
- /**
42
- * Configuration for the Nuxt UI devtools.
43
- */
44
- devtools?: {
45
- /**
46
- * Enable or disable Nuxt UI devtools.
47
- * @defaultValue `true`
48
- */
49
- enabled?: boolean;
50
- };
51
41
  }
52
42
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
53
43
 
package/dist/module.d.ts CHANGED
@@ -5,19 +5,19 @@ interface ModuleOptions {
5
5
  /**
6
6
  * Prefix for components
7
7
  * @defaultValue `U`
8
- * @link https://ui3.nuxt.dev/getting-started/installation#prefix
8
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#prefix
9
9
  */
10
10
  prefix?: string;
11
11
  /**
12
12
  * Enable or disable `@nuxt/fonts` module
13
13
  * @defaultValue `true`
14
- * @link https://ui3.nuxt.dev/getting-started/installation#fonts
14
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#fonts
15
15
  */
16
16
  fonts?: boolean;
17
17
  /**
18
18
  * Enable or disable `@nuxtjs/color-mode` module
19
19
  * @defaultValue `true`
20
- * @link https://ui3.nuxt.dev/getting-started/installation#colormode
20
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#colormode
21
21
  */
22
22
  colorMode?: boolean;
23
23
  /**
@@ -28,26 +28,16 @@ interface ModuleOptions {
28
28
  /**
29
29
  * Define the color aliases available for components
30
30
  * @defaultValue `['primary', 'secondary', 'success', 'info', 'warning', 'error']`
31
- * @link https://ui3.nuxt.dev/getting-started/installation#themecolors
31
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#themecolors
32
32
  */
33
33
  colors?: string[];
34
34
  /**
35
35
  * Enable or disable transitions on components
36
36
  * @defaultValue `true`
37
- * @link https://ui3.nuxt.dev/getting-started/installation#themetransitions
37
+ * @link https://ui3.nuxt.dev/getting-started/installation/nuxt#themetransitions
38
38
  */
39
39
  transitions?: boolean;
40
40
  };
41
- /**
42
- * Configuration for the Nuxt UI devtools.
43
- */
44
- devtools?: {
45
- /**
46
- * Enable or disable Nuxt UI devtools.
47
- * @defaultValue `true`
48
- */
49
- enabled?: boolean;
50
- };
51
41
  }
52
42
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
53
43
 
package/dist/module.json CHANGED
@@ -4,8 +4,8 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.13.1"
6
6
  },
7
- "docs": "https://ui3.nuxt.dev/getting-started/installation",
8
- "version": "3.0.0-alpha.9",
7
+ "docs": "https://ui3.nuxt.dev/getting-started/installation/nuxt",
8
+ "version": "3.0.0-beta.2",
9
9
  "builder": {
10
10
  "@nuxt/module-builder": "0.8.4",
11
11
  "unbuild": "2.0.0"