@nuxt/ui 3.0.0-alpha.0 → 3.0.0-alpha.10

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 (322) hide show
  1. package/.nuxt/ui/accordion.ts +20 -0
  2. package/.nuxt/ui/alert.ts +242 -0
  3. package/.nuxt/ui/avatar-group.ts +40 -0
  4. package/.nuxt/ui/avatar.ts +42 -0
  5. package/.nuxt/ui/badge.ts +194 -0
  6. package/.nuxt/ui/breadcrumb.ts +45 -0
  7. package/.nuxt/ui/button-group.ts +16 -0
  8. package/.nuxt/ui/button.ts +344 -0
  9. package/.nuxt/ui/calendar.ts +85 -0
  10. package/.nuxt/ui/card.ts +8 -0
  11. package/.nuxt/ui/carousel.ts +41 -0
  12. package/.nuxt/ui/checkbox.ts +105 -0
  13. package/.nuxt/ui/chip.ts +67 -0
  14. package/.nuxt/ui/collapsible.ts +6 -0
  15. package/.nuxt/ui/color-picker.ts +39 -0
  16. package/.nuxt/ui/command-palette.ts +50 -0
  17. package/.nuxt/ui/container.ts +3 -0
  18. package/.nuxt/ui/context-menu.ts +198 -0
  19. package/.nuxt/ui/drawer.ts +55 -0
  20. package/.nuxt/ui/dropdown-menu.ts +199 -0
  21. package/.nuxt/ui/form-field.ts +40 -0
  22. package/.nuxt/ui/form.ts +3 -0
  23. package/.nuxt/ui/index.ts +48 -0
  24. package/.nuxt/ui/input-menu.ts +410 -0
  25. package/.nuxt/ui/input-number.ts +204 -0
  26. package/.nuxt/ui/input.ts +263 -0
  27. package/.nuxt/ui/kbd.ts +19 -0
  28. package/.nuxt/ui/link.ts +15 -0
  29. package/.nuxt/ui/modal.ts +28 -0
  30. package/.nuxt/ui/navigation-menu.ts +390 -0
  31. package/.nuxt/ui/pagination.ts +8 -0
  32. package/.nuxt/ui/pin-input.ts +145 -0
  33. package/.nuxt/ui/popover.ts +6 -0
  34. package/.nuxt/ui/progress.ts +258 -0
  35. package/.nuxt/ui/radio-group.ts +112 -0
  36. package/.nuxt/ui/select-menu.ts +316 -0
  37. package/.nuxt/ui/select.ts +315 -0
  38. package/.nuxt/ui/separator.ts +143 -0
  39. package/.nuxt/ui/skeleton.ts +3 -0
  40. package/.nuxt/ui/slideover.ts +63 -0
  41. package/.nuxt/ui/slider.ts +148 -0
  42. package/.nuxt/ui/stepper.ts +180 -0
  43. package/.nuxt/ui/switch.ts +113 -0
  44. package/.nuxt/ui/table.ts +129 -0
  45. package/.nuxt/ui/tabs.ts +227 -0
  46. package/.nuxt/ui/textarea.ts +263 -0
  47. package/.nuxt/ui/toast.ts +66 -0
  48. package/.nuxt/ui/toaster.ts +75 -0
  49. package/.nuxt/ui/tooltip.ts +9 -0
  50. package/README.md +75 -54
  51. package/cli/commands/{init.mjs → make/component.mjs} +5 -5
  52. package/cli/commands/make/index.mjs +14 -0
  53. package/cli/commands/make/locale.mjs +64 -0
  54. package/cli/index.mjs +2 -2
  55. package/cli/templates.mjs +52 -7
  56. package/cli/utils.mjs +14 -0
  57. package/dist/chunks/component-meta.cjs +82802 -0
  58. package/dist/chunks/component-meta.mjs +82800 -0
  59. package/dist/client/devtools/200.html +1 -0
  60. package/dist/client/devtools/404.html +1 -0
  61. package/dist/client/devtools/_fonts/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKK58UfivUw4aw-SK92LTmKP0.woff2 +0 -0
  62. package/dist/client/devtools/_fonts/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKy58UfivUw-9uYm8d48E4.woff2 +0 -0
  63. package/dist/client/devtools/_fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg-VNw7NHvqnp.woff2 +0 -0
  64. package/dist/client/devtools/_fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0-EkYdMs3MAX.woff2 +0 -0
  65. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-7DW3w-R7n06NbhGy.woff +0 -0
  66. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDG3w-leGNfkTmsj.woff +0 -0
  67. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDW3w-ciElMF03ku.woff +0 -0
  68. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JCm3w-sB722Uoa0f.woff +0 -0
  69. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JDW3w-PBDI1JDjwV.woff +0 -0
  70. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8gCm3w-0q1hqVn09O.woff +0 -0
  71. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9XCm3w-ByvzuLy2fa.woff +0 -0
  72. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9uCm3w-5TKCIs6EEw.woff +0 -0
  73. package/dist/client/devtools/_fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat_XDW3w-r2swRDGfn2.woff +0 -0
  74. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAC5thTQ-ldB60l5U8r.woff +0 -0
  75. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpthTQ-wbFKGFDrgo.woff +0 -0
  76. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpxhTQ-LLUBv5jskj.woff +0 -0
  77. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTQ-F71RdTRbNg.woff +0 -0
  78. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwA_JxhTQ-6nh65gZkc0.woff +0 -0
  79. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTQ-aMoWEJLmTt.woff +0 -0
  80. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTQ-WMBvmLOgKm.woff +0 -0
  81. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAop1hTQ-utGC2hnWq2.woff +0 -0
  82. package/dist/client/devtools/_fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTQ-YpyTieVa5B.woff +0 -0
  83. package/dist/client/devtools/_nuxt/B1fTd_Rf.js +1 -0
  84. package/dist/client/devtools/_nuxt/CSUxkedg.js +1 -0
  85. package/dist/client/devtools/_nuxt/CbRTGpb7.js +1 -0
  86. package/dist/client/devtools/_nuxt/YQTlxbcT.js +53 -0
  87. package/dist/client/devtools/_nuxt/builds/latest.json +1 -0
  88. package/dist/client/devtools/_nuxt/builds/meta/b3465abc-0a92-4ee7-ba6b-e5174891fcc0.json +1 -0
  89. package/dist/client/devtools/_nuxt/entry.DXXceQev.css +1 -0
  90. package/dist/client/devtools/_nuxt/error-404.BJpkZFyY.css +1 -0
  91. package/dist/client/devtools/_nuxt/error-500.D3i9VDlt.css +1 -0
  92. package/dist/client/devtools/favicon.svg +1 -0
  93. package/dist/client/devtools/index.html +1 -0
  94. package/dist/devtools/runtime/DevtoolsRenderer.vue +54 -0
  95. package/dist/devtools/runtime/examples/AvatarGroupExample.vue +7 -0
  96. package/dist/devtools/runtime/examples/ButtonGroupExample.vue +8 -0
  97. package/dist/devtools/runtime/examples/CardExample.vue +13 -0
  98. package/dist/devtools/runtime/examples/CarouselExample.vue +13 -0
  99. package/dist/devtools/runtime/examples/ChipExample.vue +5 -0
  100. package/dist/devtools/runtime/examples/CollapsibleExample.vue +8 -0
  101. package/dist/devtools/runtime/examples/CommandPaletteExample.vue +29 -0
  102. package/dist/devtools/runtime/examples/ContainerExample.vue +5 -0
  103. package/dist/devtools/runtime/examples/ContextMenuExample.vue +5 -0
  104. package/dist/devtools/runtime/examples/DrawerExample.vue +8 -0
  105. package/dist/devtools/runtime/examples/DropdownMenuExample.vue +5 -0
  106. package/dist/devtools/runtime/examples/FormExample.vue +30 -0
  107. package/dist/devtools/runtime/examples/FormFieldExample.vue +5 -0
  108. package/dist/devtools/runtime/examples/LinkExample.vue +5 -0
  109. package/dist/devtools/runtime/examples/ModalExample.vue +8 -0
  110. package/dist/devtools/runtime/examples/PopoverExample.vue +8 -0
  111. package/dist/devtools/runtime/examples/SkeletonExample.vue +3 -0
  112. package/dist/devtools/runtime/examples/SlideoverExample.vue +8 -0
  113. package/dist/devtools/runtime/examples/StepperExample.vue +44 -0
  114. package/dist/devtools/runtime/examples/ToasterExample.vue +11 -0
  115. package/dist/devtools/runtime/examples/TooltipExample.vue +5 -0
  116. package/dist/module.cjs +223 -4
  117. package/dist/module.d.cts +54 -0
  118. package/dist/module.d.mts +38 -7
  119. package/dist/module.d.ts +38 -7
  120. package/dist/module.json +4 -3
  121. package/dist/module.mjs +180 -2617
  122. package/dist/runtime/components/Accordion.vue +95 -11
  123. package/dist/runtime/components/Alert.vue +69 -10
  124. package/dist/runtime/components/App.vue +28 -5
  125. package/dist/runtime/components/Avatar.vue +57 -12
  126. package/dist/runtime/components/AvatarGroup.vue +34 -7
  127. package/dist/runtime/components/Badge.vue +61 -9
  128. package/dist/runtime/components/Breadcrumb.vue +93 -16
  129. package/dist/runtime/components/Button.vue +78 -12
  130. package/dist/runtime/components/ButtonGroup.vue +35 -8
  131. package/dist/runtime/components/Calendar.vue +190 -0
  132. package/dist/runtime/components/Card.vue +29 -7
  133. package/dist/runtime/components/Carousel.vue +322 -0
  134. package/dist/runtime/components/Checkbox.vue +64 -30
  135. package/dist/runtime/components/Chip.vue +48 -8
  136. package/dist/runtime/components/Collapsible.vue +32 -8
  137. package/dist/runtime/components/ColorPicker.vue +265 -0
  138. package/dist/runtime/components/CommandPalette.vue +207 -88
  139. package/dist/runtime/components/Container.vue +26 -7
  140. package/dist/runtime/components/ContextMenu.vue +150 -11
  141. package/dist/runtime/components/ContextMenuContent.vue +63 -19
  142. package/dist/runtime/components/Drawer.vue +68 -15
  143. package/dist/runtime/components/DropdownMenu.vue +147 -12
  144. package/dist/runtime/components/DropdownMenuContent.vue +69 -19
  145. package/dist/runtime/components/Form.vue +80 -42
  146. package/dist/runtime/components/FormField.vue +58 -21
  147. package/dist/runtime/components/Icon.vue +13 -3
  148. package/dist/runtime/components/Input.vue +61 -12
  149. package/dist/runtime/components/InputMenu.vue +247 -53
  150. package/dist/runtime/components/InputNumber.vue +192 -0
  151. package/dist/runtime/components/Kbd.vue +31 -7
  152. package/dist/runtime/components/Link.vue +148 -21
  153. package/dist/runtime/components/LinkBase.vue +21 -8
  154. package/dist/runtime/components/Modal.vue +90 -15
  155. package/dist/runtime/components/NavigationMenu.vue +234 -69
  156. package/dist/runtime/components/Pagination.vue +124 -15
  157. package/dist/runtime/components/PinInput.vue +96 -0
  158. package/dist/runtime/components/Popover.vue +66 -11
  159. package/dist/runtime/components/Progress.vue +67 -12
  160. package/dist/runtime/components/RadioGroup.vue +78 -9
  161. package/dist/runtime/components/Select.vue +155 -26
  162. package/dist/runtime/components/SelectMenu.vue +245 -63
  163. package/dist/runtime/components/Separator.vue +42 -7
  164. package/dist/runtime/components/Skeleton.vue +22 -7
  165. package/dist/runtime/components/Slideover.vue +88 -15
  166. package/dist/runtime/components/Slider.vue +37 -7
  167. package/dist/runtime/components/Stepper.vue +171 -0
  168. package/dist/runtime/components/Switch.vue +58 -14
  169. package/dist/runtime/components/Table.vue +262 -0
  170. package/dist/runtime/components/Tabs.vue +97 -17
  171. package/dist/runtime/components/Textarea.vue +55 -9
  172. package/dist/runtime/components/Toast.vue +66 -9
  173. package/dist/runtime/components/Toaster.vue +57 -21
  174. package/dist/runtime/components/Tooltip.vue +49 -10
  175. package/dist/runtime/composables/defineLocale.d.ts +9 -0
  176. package/dist/runtime/composables/defineLocale.js +4 -0
  177. package/dist/runtime/composables/defineShortcuts.d.ts +1 -1
  178. package/dist/runtime/composables/defineShortcuts.js +2 -8
  179. package/dist/runtime/composables/extendDevtoolsMeta.d.ts +7 -0
  180. package/dist/runtime/composables/extendDevtoolsMeta.js +2 -0
  181. package/dist/runtime/composables/useAvatarGroup.d.ts +2 -2
  182. package/dist/runtime/composables/useButtonGroup.d.ts +5 -5
  183. package/dist/runtime/composables/useComponentIcons.d.ts +3 -0
  184. package/dist/runtime/composables/useFormField.d.ts +13 -6
  185. package/dist/runtime/composables/useFormField.js +12 -7
  186. package/dist/runtime/composables/useKbd.d.ts +10 -3
  187. package/dist/runtime/composables/useKbd.js +14 -8
  188. package/dist/runtime/composables/useLocale.d.ts +4 -0
  189. package/dist/runtime/composables/useLocale.js +10 -0
  190. package/dist/runtime/composables/useModal.d.ts +2 -2
  191. package/dist/runtime/composables/useSlideover.d.ts +2 -2
  192. package/dist/runtime/composables/useToast.d.ts +2 -2
  193. package/dist/runtime/index.css +1 -0
  194. package/dist/runtime/keyframes.css +1 -0
  195. package/dist/runtime/locale/ar.d.ts +2 -0
  196. package/dist/runtime/locale/ar.js +53 -0
  197. package/dist/runtime/locale/cs.d.ts +2 -0
  198. package/dist/runtime/locale/cs.js +52 -0
  199. package/dist/runtime/locale/de.d.ts +2 -0
  200. package/dist/runtime/locale/de.js +52 -0
  201. package/dist/runtime/locale/en.d.ts +2 -0
  202. package/dist/runtime/locale/en.js +52 -0
  203. package/dist/runtime/locale/es.d.ts +2 -0
  204. package/dist/runtime/locale/es.js +52 -0
  205. package/dist/runtime/locale/fa_ir.d.ts +2 -0
  206. package/dist/runtime/locale/fa_ir.js +53 -0
  207. package/dist/runtime/locale/fr.d.ts +2 -0
  208. package/dist/runtime/locale/fr.js +52 -0
  209. package/dist/runtime/locale/index.d.ts +19 -0
  210. package/dist/runtime/locale/index.js +19 -0
  211. package/dist/runtime/locale/it.d.ts +2 -0
  212. package/dist/runtime/locale/it.js +52 -0
  213. package/dist/runtime/locale/ja.d.ts +2 -0
  214. package/dist/runtime/locale/ja.js +52 -0
  215. package/dist/runtime/locale/ko.d.ts +2 -0
  216. package/dist/runtime/locale/ko.js +52 -0
  217. package/dist/runtime/locale/nl.d.ts +2 -0
  218. package/dist/runtime/locale/nl.js +52 -0
  219. package/dist/runtime/locale/pl.d.ts +2 -0
  220. package/dist/runtime/locale/pl.js +52 -0
  221. package/dist/runtime/locale/pt.d.ts +2 -0
  222. package/dist/runtime/locale/pt.js +52 -0
  223. package/dist/runtime/locale/pt_br.d.ts +2 -0
  224. package/dist/runtime/locale/pt_br.js +52 -0
  225. package/dist/runtime/locale/ru.d.ts +2 -0
  226. package/dist/runtime/locale/ru.js +52 -0
  227. package/dist/runtime/locale/sk.d.ts +2 -0
  228. package/dist/runtime/locale/sk.js +52 -0
  229. package/dist/runtime/locale/tr.d.ts +2 -0
  230. package/dist/runtime/locale/tr.js +52 -0
  231. package/dist/runtime/locale/zh_hans.d.ts +2 -0
  232. package/dist/runtime/locale/zh_hans.js +52 -0
  233. package/dist/runtime/locale/zh_hant.d.ts +2 -0
  234. package/dist/runtime/locale/zh_hant.js +52 -0
  235. package/dist/runtime/plugins/colors.d.ts +2 -0
  236. package/dist/runtime/plugins/colors.js +12 -8
  237. package/dist/runtime/plugins/modal.d.ts +2 -0
  238. package/dist/runtime/plugins/slideover.d.ts +2 -0
  239. package/dist/runtime/types/form.d.ts +10 -4
  240. package/dist/runtime/types/index.d.ts +50 -42
  241. package/dist/runtime/types/index.js +8 -0
  242. package/dist/runtime/types/locale.d.ts +54 -0
  243. package/dist/runtime/types/utils.d.ts +8 -3
  244. package/dist/runtime/utils/form.d.ts +7 -5
  245. package/dist/runtime/utils/form.js +117 -28
  246. package/dist/runtime/utils/index.d.ts +2 -1
  247. package/dist/runtime/utils/index.js +16 -0
  248. package/dist/runtime/utils/link.d.ts +25 -55
  249. package/dist/runtime/utils/link.js +1 -1
  250. package/dist/runtime/utils/locale.d.ts +15 -0
  251. package/dist/runtime/utils/locale.js +25 -0
  252. package/dist/runtime/vue/components/Icon.vue +15 -0
  253. package/dist/runtime/vue/components/Link.vue +208 -0
  254. package/dist/runtime/vue/plugins/color-mode.d.ts +4 -0
  255. package/dist/runtime/vue/plugins/color-mode.js +6 -0
  256. package/dist/runtime/vue/plugins/head.d.ts +4 -0
  257. package/dist/runtime/vue/plugins/head.js +6 -0
  258. package/dist/runtime/vue/stubs.d.ts +15 -0
  259. package/dist/runtime/vue/stubs.js +27 -0
  260. package/dist/shared/ui.CwmIkD_Y.cjs +3269 -0
  261. package/dist/shared/ui.D_93iuwH.mjs +3262 -0
  262. package/dist/unplugin.cjs +192 -0
  263. package/dist/unplugin.d.cts +49 -0
  264. package/dist/unplugin.d.mts +49 -0
  265. package/dist/unplugin.d.ts +49 -0
  266. package/dist/unplugin.mjs +181 -0
  267. package/dist/vite.cjs +22 -0
  268. package/dist/vite.d.cts +13 -0
  269. package/dist/vite.d.mts +13 -0
  270. package/dist/vite.d.ts +13 -0
  271. package/dist/vite.mjs +20 -0
  272. package/package.json +103 -37
  273. package/vue-plugin.d.ts +5 -0
  274. package/dist/runtime/assets/css/animations.css +0 -1
  275. package/dist/runtime/components/Accordion.vue.d.ts +0 -492
  276. package/dist/runtime/components/Alert.vue.d.ts +0 -548
  277. package/dist/runtime/components/App.vue.d.ts +0 -25
  278. package/dist/runtime/components/Avatar.vue.d.ts +0 -384
  279. package/dist/runtime/components/AvatarGroup.vue.d.ts +0 -381
  280. package/dist/runtime/components/Badge.vue.d.ts +0 -422
  281. package/dist/runtime/components/Breadcrumb.vue.d.ts +0 -307
  282. package/dist/runtime/components/Button.vue.d.ts +0 -949
  283. package/dist/runtime/components/ButtonGroup.vue.d.ts +0 -182
  284. package/dist/runtime/components/Card.vue.d.ts +0 -191
  285. package/dist/runtime/components/Checkbox.vue.d.ts +0 -819
  286. package/dist/runtime/components/Chip.vue.d.ts +0 -590
  287. package/dist/runtime/components/Collapsible.vue.d.ts +0 -159
  288. package/dist/runtime/components/CommandPalette.vue.d.ts +0 -684
  289. package/dist/runtime/components/Container.vue.d.ts +0 -27
  290. package/dist/runtime/components/ContextMenu.vue.d.ts +0 -796
  291. package/dist/runtime/components/Drawer.vue.d.ts +0 -343
  292. package/dist/runtime/components/DropdownMenu.vue.d.ts +0 -815
  293. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +0 -0
  294. package/dist/runtime/components/Form.vue.d.ts +0 -39
  295. package/dist/runtime/components/FormField.vue.d.ts +0 -356
  296. package/dist/runtime/components/Icon.vue.d.ts +0 -17
  297. package/dist/runtime/components/Input.vue.d.ts +0 -1137
  298. package/dist/runtime/components/InputMenu.vue.d.ts +0 -2121
  299. package/dist/runtime/components/Kbd.vue.d.ts +0 -169
  300. package/dist/runtime/components/Link.vue.d.ts +0 -76
  301. package/dist/runtime/components/LinkBase.vue.d.ts +0 -49
  302. package/dist/runtime/components/Modal.vue.d.ts +0 -319
  303. package/dist/runtime/components/NavigationMenu.vue.d.ts +0 -1789
  304. package/dist/runtime/components/Pagination.vue.d.ts +0 -295
  305. package/dist/runtime/components/Popover.vue.d.ts +0 -197
  306. package/dist/runtime/components/Progress.vue.d.ts +0 -1781
  307. package/dist/runtime/components/RadioGroup.vue.d.ts +0 -1715
  308. package/dist/runtime/components/Select.vue.d.ts +0 -1569
  309. package/dist/runtime/components/SelectMenu.vue.d.ts +0 -1661
  310. package/dist/runtime/components/Separator.vue.d.ts +0 -0
  311. package/dist/runtime/components/Skeleton.vue.d.ts +0 -26
  312. package/dist/runtime/components/Slideover.vue.d.ts +0 -375
  313. package/dist/runtime/components/Slider.vue.d.ts +0 -0
  314. package/dist/runtime/components/Switch.vue.d.ts +0 -1676
  315. package/dist/runtime/components/Tabs.vue.d.ts +0 -934
  316. package/dist/runtime/components/Textarea.vue.d.ts +0 -1133
  317. package/dist/runtime/components/Toast.vue.d.ts +0 -0
  318. package/dist/runtime/components/Toaster.vue.d.ts +0 -362
  319. package/dist/runtime/components/Tooltip.vue.d.ts +0 -248
  320. package/dist/runtime/types/component.d.ts +0 -17
  321. package/dist/runtime/types/component.js +0 -0
  322. /package/dist/runtime/{components/ContextMenuContent.vue.d.ts → types/locale.js} +0 -0
@@ -1,13 +1,37 @@
1
- <script>
2
- import { tv } from "tailwind-variants";
3
- import _appConfig from "#build/app.config";
4
- import theme from "#build/ui/kbd";
5
- const appConfig = _appConfig;
6
- const kbd = tv({ extend: tv(theme), ...appConfig.ui?.kbd || {} });
1
+ <script lang="ts">
2
+ import { tv, type VariantProps } from 'tailwind-variants'
3
+ import type { AppConfig } from '@nuxt/schema'
4
+ import _appConfig from '#build/app.config'
5
+ import theme from '#build/ui/kbd'
6
+ import type { KbdKey } from '../composables/useKbd'
7
+ import { extendDevtoolsMeta } from '../composables/extendDevtoolsMeta'
8
+
9
+ const appConfig = _appConfig as AppConfig & { ui: { kbd: Partial<typeof theme> } }
10
+
11
+ const kbd = tv({ extend: tv(theme), ...(appConfig.ui?.kbd || {}) })
12
+
13
+ type KbdVariants = VariantProps<typeof kbd>
14
+
15
+ export interface KbdProps {
16
+ /**
17
+ * The element or component this component should render as.
18
+ * @defaultValue 'kbd'
19
+ */
20
+ as?: any
21
+ value?: KbdKey | string
22
+ variant?: KbdVariants['variant']
23
+ size?: KbdVariants['size']
24
+ class?: any
25
+ }
26
+
27
+ export interface KbdSlots {
28
+ default(props?: {}): any
29
+ }
30
+ extendDevtoolsMeta({ defaultProps: { value: 'K' } })
7
31
  </script>
8
32
 
9
33
  <script setup lang="ts">
10
- import { Primitive } from 'radix-vue'
34
+ import { Primitive } from 'reka-ui'
11
35
  import { useKbd } from '../composables/useKbd'
12
36
 
13
37
  const props = withDefaults(defineProps<KbdProps>(), {
@@ -1,17 +1,104 @@
1
- <script>
2
- import { tv } from "tailwind-variants";
3
- import _appConfig from "#build/app.config";
4
- import theme from "#build/ui/link";
5
- const appConfig = _appConfig;
6
- const link = tv({ extend: tv(theme), ...appConfig.ui?.link || {} });
1
+ <script lang="ts">
2
+ import type { ButtonHTMLAttributes } from 'vue'
3
+ import { tv } from 'tailwind-variants'
4
+ import type { AppConfig } from '@nuxt/schema'
5
+ import _appConfig from '#build/app.config'
6
+ import type { RouterLinkProps, RouteLocationRaw } from 'vue-router'
7
+ import theme from '#build/ui/link'
8
+ import { extendDevtoolsMeta } from '../composables/extendDevtoolsMeta'
9
+
10
+ interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
11
+ /**
12
+ * Route Location the link should navigate to when clicked on.
13
+ */
14
+ to?: RouteLocationRaw // need to manually type to avoid breaking typedPages
15
+ /**
16
+ * An alias for `to`. If used with `to`, `href` will be ignored
17
+ */
18
+ href?: NuxtLinkProps['to']
19
+ /**
20
+ * Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
21
+ */
22
+ external?: boolean
23
+ /**
24
+ * Where to display the linked URL, as the name for a browsing context.
25
+ */
26
+ target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null
27
+ /**
28
+ * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
29
+ */
30
+ rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null
31
+ /**
32
+ * If set to true, no rel attribute will be added to the link
33
+ */
34
+ noRel?: boolean
35
+ /**
36
+ * A class to apply to links that have been prefetched.
37
+ */
38
+ prefetchedClass?: string
39
+ /**
40
+ * When enabled will prefetch middleware, layouts and payloads of links in the viewport.
41
+ */
42
+ prefetch?: boolean
43
+ /**
44
+ * Allows controlling when to prefetch links. By default, prefetch is triggered only on visibility.
45
+ */
46
+ prefetchOn?: 'visibility' | 'interaction' | Partial<{
47
+ visibility: boolean
48
+ interaction: boolean
49
+ }>
50
+ /**
51
+ * Escape hatch to disable `prefetch` attribute.
52
+ */
53
+ noPrefetch?: boolean
54
+ }
55
+
56
+ const appConfig = _appConfig as AppConfig & { ui: { link: Partial<typeof theme> } }
57
+
58
+ const link = tv({ extend: tv(theme), ...(appConfig.ui?.link || {}) })
59
+
60
+ export interface LinkProps extends NuxtLinkProps {
61
+ /**
62
+ * The element or component this component should render as when not a link.
63
+ * @defaultValue 'button'
64
+ */
65
+ as?: any
66
+ /**
67
+ * The type of the button when not a link.
68
+ * @defaultValue 'button'
69
+ */
70
+ type?: ButtonHTMLAttributes['type']
71
+ disabled?: boolean
72
+ /** Force the link to be active independent of the current route. */
73
+ active?: boolean
74
+ /** Will only be active if the current route is an exact match. */
75
+ exact?: boolean
76
+ /** Allows controlling how the current route query sets the link as active. */
77
+ exactQuery?: boolean | 'partial'
78
+ /** Will only be active if the current route hash is an exact match. */
79
+ exactHash?: boolean
80
+ /** The class to apply when the link is inactive. */
81
+ inactiveClass?: string
82
+ custom?: boolean
83
+ /** When `true`, only styles from `class`, `activeClass`, and `inactiveClass` will be applied. */
84
+ raw?: boolean
85
+ class?: any
86
+ }
87
+
88
+ export interface LinkSlots {
89
+ default(props: { active: boolean }): any
90
+ }
91
+
92
+ extendDevtoolsMeta({ example: 'LinkExample' })
7
93
  </script>
8
94
 
9
95
  <script setup lang="ts">
10
96
  import { computed } from 'vue'
11
- import { isEqual } from 'ohash'
12
- import { useForwardProps } from 'radix-vue'
97
+ import { isEqual, diff } from 'ohash'
98
+ import { useForwardProps } from 'reka-ui'
13
99
  import { reactiveOmit } from '@vueuse/core'
14
100
  import { useRoute } from '#imports'
101
+ import ULinkBase from './LinkBase.vue'
15
102
 
16
103
  defineOptions({ inheritAttrs: false })
17
104
 
@@ -25,7 +112,7 @@ const props = withDefaults(defineProps<LinkProps>(), {
25
112
  defineSlots<LinkSlots>()
26
113
 
27
114
  const route = useRoute()
28
- const nuxtLinkProps = useForwardProps(reactiveOmit(props, 'as', 'type', 'disabled', 'active', 'exact', 'exactQuery', 'exactHash', 'activeClass', 'inactiveClass'))
115
+ const nuxtLinkProps = useForwardProps(reactiveOmit(props, 'as', 'type', 'disabled', 'active', 'exact', 'exactQuery', 'exactHash', 'activeClass', 'inactiveClass', 'raw', 'class'))
29
116
 
30
117
  const ui = computed(() => tv({
31
118
  extend: link,
@@ -37,31 +124,44 @@ const ui = computed(() => tv({
37
124
  }
38
125
  }))
39
126
 
40
- function isLinkActive(slotProps: any) {
127
+ function isPartiallyEqual(item1: any, item2: any) {
128
+ const diffedKeys = diff(item1, item2).reduce((filtered, q) => {
129
+ if (q.type === 'added') {
130
+ filtered.push(q.key)
131
+ }
132
+ return filtered
133
+ }, [] as string[])
134
+ return isEqual(item1, item2, { excludeKeys: key => diffedKeys.includes(key) })
135
+ }
136
+
137
+ function isLinkActive({ route: linkRoute, isActive, isExactActive }: any) {
41
138
  if (props.active !== undefined) {
42
139
  return props.active
43
140
  }
44
141
 
45
- if (props.exactQuery && !isEqual(slotProps.route.query, route.query)) {
46
- return false
142
+ if (props.exactQuery === 'partial') {
143
+ if (!isPartiallyEqual(linkRoute.query, route.query)) return false
144
+ } else if (props.exactQuery === true) {
145
+ if (!isEqual(linkRoute.query, route.query)) return false
47
146
  }
48
- if (props.exactHash && slotProps.route.hash !== route.hash) {
147
+
148
+ if (props.exactHash && linkRoute.hash !== route.hash) {
49
149
  return false
50
150
  }
51
151
 
52
- if (props.exact && slotProps.isExactActive) {
152
+ if (props.exact && isExactActive) {
53
153
  return true
54
154
  }
55
155
 
56
- if (!props.exact && slotProps.isActive) {
156
+ if (!props.exact && isActive) {
57
157
  return true
58
158
  }
59
159
 
60
160
  return false
61
161
  }
62
162
 
63
- function resolveLinkClass(slotProps: any) {
64
- const active = isLinkActive(slotProps)
163
+ function resolveLinkClass({ route, isActive, isExactActive }: any) {
164
+ const active = isLinkActive({ route, isActive, isExactActive })
65
165
 
66
166
  if (props.raw) {
67
167
  return [props.class, active ? props.activeClass : props.inactiveClass]
@@ -72,12 +172,39 @@ function resolveLinkClass(slotProps: any) {
72
172
  </script>
73
173
 
74
174
  <template>
75
- <NuxtLink v-slot="slotProps" v-bind="nuxtLinkProps" custom>
175
+ <NuxtLink v-slot="{ href, navigate, route: linkRoute, rel, target, isExternal, isActive, isExactActive }" v-bind="nuxtLinkProps" custom>
76
176
  <template v-if="custom">
77
- <slot v-bind="{ ...$attrs, ...slotProps, as, type, disabled, active: isLinkActive(slotProps) }" />
177
+ <slot
178
+ v-bind="{
179
+ ...$attrs,
180
+ as,
181
+ type,
182
+ disabled,
183
+ href,
184
+ navigate,
185
+ rel,
186
+ target,
187
+ isExternal,
188
+ active: isLinkActive({ route: linkRoute, isActive, isExactActive })
189
+ }"
190
+ />
78
191
  </template>
79
- <ULinkBase v-else v-bind="{ ...$attrs, ...slotProps, as, type, disabled }" :class="resolveLinkClass(slotProps)">
80
- <slot v-bind="{ ...slotProps, as, type, disabled, active: isLinkActive(slotProps) }" />
192
+ <ULinkBase
193
+ v-else
194
+ v-bind="{
195
+ ...$attrs,
196
+ as,
197
+ type,
198
+ disabled,
199
+ href,
200
+ navigate,
201
+ rel,
202
+ target,
203
+ isExternal
204
+ }"
205
+ :class="resolveLinkClass({ route: linkRoute, isActive, isExactActive })"
206
+ >
207
+ <slot :active="isLinkActive({ route: linkRoute, isActive, isExactActive })" />
81
208
  </ULinkBase>
82
209
  </NuxtLink>
83
210
  </template>
@@ -1,24 +1,36 @@
1
- <script>
2
-
1
+ <script lang="ts">
2
+ export interface LinkBaseProps {
3
+ as?: string
4
+ type?: string
5
+ disabled?: boolean
6
+ onClick?: ((e: MouseEvent) => void | Promise<void>) | Array<((e: MouseEvent) => void | Promise<void>)>
7
+ href?: string
8
+ navigate?: (e: MouseEvent) => void
9
+ rel?: string
10
+ target?: string
11
+ isExternal?: boolean
12
+ }
3
13
  </script>
4
14
 
5
15
  <script setup lang="ts">
6
- import { Primitive } from 'radix-vue'
16
+ import { Primitive } from 'reka-ui'
7
17
 
8
18
  const props = withDefaults(defineProps<LinkBaseProps>(), {
9
19
  as: 'button',
10
20
  type: 'button'
11
21
  })
12
22
 
13
- function onClick(e: MouseEvent) {
23
+ function onClickWrapper(e: MouseEvent) {
14
24
  if (props.disabled) {
15
25
  e.stopPropagation()
16
26
  e.preventDefault()
17
27
  return
18
28
  }
19
29
 
20
- if (props.click) {
21
- props.click(e)
30
+ if (props.onClick) {
31
+ for (const onClick of Array.isArray(props.onClick) ? props.onClick : [props.onClick]) {
32
+ onClick(e)
33
+ }
22
34
  }
23
35
 
24
36
  if (props.href && props.navigate && !props.isExternal) {
@@ -33,7 +45,8 @@ function onClick(e: MouseEvent) {
33
45
  'as': 'a',
34
46
  'href': disabled ? undefined : href,
35
47
  'aria-disabled': disabled ? 'true' : undefined,
36
- 'role': disabled ? 'link' : undefined
48
+ 'role': disabled ? 'link' : undefined,
49
+ 'tabindex': disabled ? -1 : undefined
37
50
  } : as === 'button' ? {
38
51
  as,
39
52
  type,
@@ -43,7 +56,7 @@ function onClick(e: MouseEvent) {
43
56
  }"
44
57
  :rel="rel"
45
58
  :target="target"
46
- @click="onClick"
59
+ @click="onClickWrapper"
47
60
  >
48
61
  <slot />
49
62
  </Primitive>
@@ -1,16 +1,83 @@
1
- <script>
2
- import { tv } from "tailwind-variants";
3
- import _appConfig from "#build/app.config";
4
- import theme from "#build/ui/modal";
5
- const appConfig = _appConfig;
6
- const modal = tv({ extend: tv(theme), ...appConfig.ui?.modal || {} });
1
+ <script lang="ts">
2
+ import { tv } from 'tailwind-variants'
3
+ import type { DialogRootProps, DialogRootEmits, DialogContentProps } from 'reka-ui'
4
+ import type { AppConfig } from '@nuxt/schema'
5
+ import _appConfig from '#build/app.config'
6
+ import theme from '#build/ui/modal'
7
+ import { extendDevtoolsMeta } from '../composables/extendDevtoolsMeta'
8
+ import type { ButtonProps } from '../types'
9
+
10
+ const appConfig = _appConfig as AppConfig & { ui: { modal: Partial<typeof theme> } }
11
+
12
+ const modal = tv({ extend: tv(theme), ...(appConfig.ui?.modal || {}) })
13
+
14
+ export interface ModalProps extends DialogRootProps {
15
+ title?: string
16
+ description?: string
17
+ /** The content of the modal. */
18
+ content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'>
19
+ /**
20
+ * Render an overlay behind the modal.
21
+ * @defaultValue true
22
+ */
23
+ overlay?: boolean
24
+ /**
25
+ * Animate the modal when opening or closing.
26
+ * @defaultValue true
27
+ */
28
+ transition?: boolean
29
+ /**
30
+ * When `true`, the modal will take up the full screen.
31
+ * @defaultValue false
32
+ */
33
+ fullscreen?: boolean
34
+ /**
35
+ * Render the modal in a portal.
36
+ * @defaultValue true
37
+ */
38
+ portal?: boolean
39
+ /**
40
+ * Display a close button to dismiss the modal.
41
+ * `{ size: 'md', color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
42
+ * @defaultValue true
43
+ */
44
+ close?: ButtonProps | boolean
45
+ /**
46
+ * The icon displayed in the close button.
47
+ * @defaultValue appConfig.ui.icons.close
48
+ */
49
+ closeIcon?: string
50
+ /**
51
+ * When `true`, the modal will not close when clicking outside.
52
+ * @defaultValue false
53
+ */
54
+ preventClose?: boolean
55
+ class?: any
56
+ ui?: Partial<typeof modal.slots>
57
+ }
58
+
59
+ export interface ModalEmits extends DialogRootEmits {}
60
+
61
+ export interface ModalSlots {
62
+ default(props: { open: boolean }): any
63
+ content(props?: {}): any
64
+ header(props?: {}): any
65
+ title(props?: {}): any
66
+ description(props?: {}): any
67
+ close(props: { ui: any }): any
68
+ body(props?: {}): any
69
+ footer(props?: {}): any
70
+ }
71
+
72
+ extendDevtoolsMeta({ example: 'ModalExample' })
7
73
  </script>
8
74
 
9
75
  <script setup lang="ts">
10
76
  import { computed, toRef } from 'vue'
11
- import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, useForwardPropsEmits } from 'radix-vue'
77
+ import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, useForwardPropsEmits } from 'reka-ui'
12
78
  import { reactivePick } from '@vueuse/core'
13
79
  import { useAppConfig } from '#imports'
80
+ import { useLocale } from '../composables/useLocale'
14
81
  import UButton from './Button.vue'
15
82
 
16
83
  const props = withDefaults(defineProps<ModalProps>(), {
@@ -23,21 +90,29 @@ const props = withDefaults(defineProps<ModalProps>(), {
23
90
  const emits = defineEmits<ModalEmits>()
24
91
  const slots = defineSlots<ModalSlots>()
25
92
 
93
+ const { t } = useLocale()
94
+ const appConfig = useAppConfig()
95
+
26
96
  const rootProps = useForwardPropsEmits(reactivePick(props, 'open', 'defaultOpen', 'modal'), emits)
27
97
  const contentProps = toRef(() => props.content)
28
98
  const contentEvents = computed(() => {
29
99
  if (props.preventClose) {
30
100
  return {
31
101
  pointerDownOutside: (e: Event) => e.preventDefault(),
32
- interactOutside: (e: Event) => e.preventDefault()
102
+ interactOutside: (e: Event) => e.preventDefault(),
103
+ escapeKeyDown: (e: Event) => e.preventDefault()
33
104
  }
34
105
  }
35
106
 
36
- return {}
107
+ return {
108
+ interactOutside: (e: Event) => {
109
+ if (e.target instanceof Element && e.target.closest('[data-sonner-toaster]')) {
110
+ return e.preventDefault()
111
+ }
112
+ }
113
+ }
37
114
  })
38
115
 
39
- const appConfig = useAppConfig()
40
-
41
116
  const ui = computed(() => modal({
42
117
  transition: props.transition,
43
118
  fullscreen: props.fullscreen
@@ -46,14 +121,14 @@ const ui = computed(() => modal({
46
121
 
47
122
  <template>
48
123
  <DialogRoot v-slot="{ open }" v-bind="rootProps">
49
- <DialogTrigger v-if="!!slots.default" as-child>
124
+ <DialogTrigger v-if="!!slots.default" as-child :class="props.class">
50
125
  <slot :open="open" />
51
126
  </DialogTrigger>
52
127
 
53
128
  <DialogPortal :disabled="!portal">
54
129
  <DialogOverlay v-if="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
55
130
 
56
- <DialogContent :class="ui.content({ class: [props.class, props.ui?.content] })" v-bind="contentProps" v-on="contentEvents">
131
+ <DialogContent :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })" v-bind="contentProps" v-on="contentEvents">
57
132
  <slot name="content">
58
133
  <div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description) || (close || !!slots.close)" :class="ui.header({ class: props.ui?.header })">
59
134
  <slot name="header">
@@ -75,9 +150,9 @@ const ui = computed(() => modal({
75
150
  v-if="close"
76
151
  :icon="closeIcon || appConfig.ui.icons.close"
77
152
  size="md"
78
- color="gray"
153
+ color="neutral"
79
154
  variant="ghost"
80
- aria-label="Close"
155
+ :aria-label="t('modal.close')"
81
156
  v-bind="typeof close === 'object' ? close : undefined"
82
157
  :class="ui.close({ class: props.ui?.close })"
83
158
  />