@nuxt/ui 4.1.0 → 4.2.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 (406) hide show
  1. package/.nuxt/ui.css +6 -0
  2. package/cli/templates.mjs +2 -2
  3. package/dist/module.d.mts +10 -0
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +7 -7
  6. package/dist/runtime/components/Accordion.vue +10 -9
  7. package/dist/runtime/components/Alert.vue +11 -10
  8. package/dist/runtime/components/App.d.vue.ts +1 -1
  9. package/dist/runtime/components/App.vue +2 -1
  10. package/dist/runtime/components/App.vue.d.ts +1 -1
  11. package/dist/runtime/components/AuthForm.d.vue.ts +9 -8
  12. package/dist/runtime/components/AuthForm.vue +29 -21
  13. package/dist/runtime/components/AuthForm.vue.d.ts +9 -8
  14. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  15. package/dist/runtime/components/Avatar.vue +5 -3
  16. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  17. package/dist/runtime/components/AvatarGroup.vue +3 -3
  18. package/dist/runtime/components/Badge.vue +8 -8
  19. package/dist/runtime/components/Banner.vue +11 -10
  20. package/dist/runtime/components/BlogPost.vue +19 -10
  21. package/dist/runtime/components/Breadcrumb.vue +10 -10
  22. package/dist/runtime/components/Button.vue +10 -8
  23. package/dist/runtime/components/Calendar.vue +16 -12
  24. package/dist/runtime/components/Card.vue +4 -4
  25. package/dist/runtime/components/Carousel.vue +12 -7
  26. package/dist/runtime/components/ChangelogVersion.vue +22 -14
  27. package/dist/runtime/components/ChangelogVersions.vue +4 -4
  28. package/dist/runtime/components/ChatMessage.vue +8 -8
  29. package/dist/runtime/components/ChatMessages.vue +5 -3
  30. package/dist/runtime/components/ChatPalette.vue +3 -3
  31. package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -6
  32. package/dist/runtime/components/ChatPrompt.vue +23 -14
  33. package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -6
  34. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +10 -10
  35. package/dist/runtime/components/ChatPromptSubmit.vue +61 -14
  36. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +10 -10
  37. package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
  38. package/dist/runtime/components/Checkbox.vue +11 -10
  39. package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
  40. package/dist/runtime/components/CheckboxGroup.vue +8 -5
  41. package/dist/runtime/components/Chip.vue +2 -2
  42. package/dist/runtime/components/Collapsible.vue +2 -2
  43. package/dist/runtime/components/ColorPicker.vue +7 -3
  44. package/dist/runtime/components/CommandPalette.vue +69 -44
  45. package/dist/runtime/components/ContextMenu.vue +3 -3
  46. package/dist/runtime/components/ContextMenuContent.vue +22 -20
  47. package/dist/runtime/components/DashboardNavbar.vue +8 -7
  48. package/dist/runtime/components/DashboardPanel.vue +3 -1
  49. package/dist/runtime/components/DashboardSearch.vue +5 -4
  50. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
  51. package/dist/runtime/components/DashboardSearchButton.vue +48 -10
  52. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
  53. package/dist/runtime/components/DashboardSidebar.vue +9 -6
  54. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +7 -4
  55. package/dist/runtime/components/DashboardSidebarCollapse.vue +51 -7
  56. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +7 -4
  57. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +7 -4
  58. package/dist/runtime/components/DashboardSidebarToggle.vue +52 -7
  59. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +7 -4
  60. package/dist/runtime/components/DashboardToolbar.vue +3 -3
  61. package/dist/runtime/components/Drawer.d.vue.ts +1 -1
  62. package/dist/runtime/components/Drawer.vue +9 -9
  63. package/dist/runtime/components/Drawer.vue.d.ts +1 -1
  64. package/dist/runtime/components/DropdownMenu.vue +4 -4
  65. package/dist/runtime/components/DropdownMenuContent.vue +22 -20
  66. package/dist/runtime/components/Empty.vue +9 -9
  67. package/dist/runtime/components/Error.d.vue.ts +1 -1
  68. package/dist/runtime/components/Error.vue +5 -5
  69. package/dist/runtime/components/Error.vue.d.ts +1 -1
  70. package/dist/runtime/components/FileUpload.d.vue.ts +8 -2
  71. package/dist/runtime/components/FileUpload.vue +37 -27
  72. package/dist/runtime/components/FileUpload.vue.d.ts +8 -2
  73. package/dist/runtime/components/Footer.vue +7 -7
  74. package/dist/runtime/components/FooterColumns.vue +11 -11
  75. package/dist/runtime/components/Form.d.vue.ts +3 -2
  76. package/dist/runtime/components/Form.vue +3 -4
  77. package/dist/runtime/components/Form.vue.d.ts +3 -2
  78. package/dist/runtime/components/FormField.vue +8 -8
  79. package/dist/runtime/components/Header.vue +9 -8
  80. package/dist/runtime/components/Icon.d.vue.ts +1 -1
  81. package/dist/runtime/components/Icon.vue +1 -1
  82. package/dist/runtime/components/Icon.vue.d.ts +1 -1
  83. package/dist/runtime/components/Input.d.vue.ts +6 -6
  84. package/dist/runtime/components/Input.vue +13 -12
  85. package/dist/runtime/components/Input.vue.d.ts +6 -6
  86. package/dist/runtime/components/InputDate.d.vue.ts +89 -0
  87. package/dist/runtime/components/InputDate.vue +161 -0
  88. package/dist/runtime/components/InputDate.vue.d.ts +89 -0
  89. package/dist/runtime/components/InputMenu.d.vue.ts +6 -127
  90. package/dist/runtime/components/InputMenu.vue +56 -48
  91. package/dist/runtime/components/InputMenu.vue.d.ts +6 -127
  92. package/dist/runtime/components/InputNumber.d.vue.ts +24 -127
  93. package/dist/runtime/components/InputNumber.vue +10 -11
  94. package/dist/runtime/components/InputNumber.vue.d.ts +24 -127
  95. package/dist/runtime/components/InputTags.d.vue.ts +5 -108
  96. package/dist/runtime/components/InputTags.vue +24 -20
  97. package/dist/runtime/components/InputTags.vue.d.ts +5 -108
  98. package/dist/runtime/components/InputTime.d.vue.ts +72 -0
  99. package/dist/runtime/components/InputTime.vue +137 -0
  100. package/dist/runtime/components/InputTime.vue.d.ts +72 -0
  101. package/dist/runtime/components/Link.d.vue.ts +8 -3
  102. package/dist/runtime/components/Link.vue +1 -0
  103. package/dist/runtime/components/Link.vue.d.ts +8 -3
  104. package/dist/runtime/components/Marquee.d.vue.ts +1 -1
  105. package/dist/runtime/components/Marquee.vue +2 -6
  106. package/dist/runtime/components/Marquee.vue.d.ts +1 -1
  107. package/dist/runtime/components/Modal.d.vue.ts +7 -2
  108. package/dist/runtime/components/Modal.vue +53 -17
  109. package/dist/runtime/components/Modal.vue.d.ts +7 -2
  110. package/dist/runtime/components/NavigationMenu.d.vue.ts +44 -9
  111. package/dist/runtime/components/NavigationMenu.vue +75 -45
  112. package/dist/runtime/components/NavigationMenu.vue.d.ts +44 -9
  113. package/dist/runtime/components/Page.vue +4 -4
  114. package/dist/runtime/components/PageAnchors.vue +8 -8
  115. package/dist/runtime/components/PageAside.vue +6 -6
  116. package/dist/runtime/components/PageCTA.vue +9 -9
  117. package/dist/runtime/components/PageCard.vue +12 -11
  118. package/dist/runtime/components/PageFeature.vue +7 -7
  119. package/dist/runtime/components/PageHeader.vue +7 -7
  120. package/dist/runtime/components/PageHero.vue +10 -10
  121. package/dist/runtime/components/PageLinks.vue +8 -8
  122. package/dist/runtime/components/PageLogos.vue +6 -3
  123. package/dist/runtime/components/PageSection.vue +14 -14
  124. package/dist/runtime/components/Pagination.d.vue.ts +2 -2
  125. package/dist/runtime/components/Pagination.vue +13 -13
  126. package/dist/runtime/components/Pagination.vue.d.ts +2 -2
  127. package/dist/runtime/components/PinInput.d.vue.ts +2 -2
  128. package/dist/runtime/components/PinInput.vue +2 -0
  129. package/dist/runtime/components/PinInput.vue.d.ts +2 -2
  130. package/dist/runtime/components/Popover.vue +2 -2
  131. package/dist/runtime/components/PricingPlan.vue +28 -21
  132. package/dist/runtime/components/PricingTable.vue +35 -31
  133. package/dist/runtime/components/Progress.d.vue.ts +1 -1
  134. package/dist/runtime/components/Progress.vue +6 -6
  135. package/dist/runtime/components/Progress.vue.d.ts +1 -1
  136. package/dist/runtime/components/RadioGroup.d.vue.ts +5 -5
  137. package/dist/runtime/components/RadioGroup.vue +13 -11
  138. package/dist/runtime/components/RadioGroup.vue.d.ts +5 -5
  139. package/dist/runtime/components/Select.d.vue.ts +5 -106
  140. package/dist/runtime/components/Select.vue +31 -28
  141. package/dist/runtime/components/Select.vue.d.ts +5 -106
  142. package/dist/runtime/components/SelectMenu.d.vue.ts +6 -105
  143. package/dist/runtime/components/SelectMenu.vue +59 -45
  144. package/dist/runtime/components/SelectMenu.vue.d.ts +6 -105
  145. package/dist/runtime/components/Separator.vue +8 -8
  146. package/dist/runtime/components/Slideover.d.vue.ts +2 -2
  147. package/dist/runtime/components/Slideover.vue +10 -8
  148. package/dist/runtime/components/Slideover.vue.d.ts +2 -2
  149. package/dist/runtime/components/Slider.vue +5 -4
  150. package/dist/runtime/components/Stepper.vue +12 -10
  151. package/dist/runtime/components/Switch.d.vue.ts +2 -1
  152. package/dist/runtime/components/Switch.vue +13 -12
  153. package/dist/runtime/components/Switch.vue.d.ts +2 -1
  154. package/dist/runtime/components/Table.d.vue.ts +7 -6
  155. package/dist/runtime/components/Table.vue +37 -18
  156. package/dist/runtime/components/Table.vue.d.ts +7 -6
  157. package/dist/runtime/components/Tabs.vue +10 -7
  158. package/dist/runtime/components/Textarea.d.vue.ts +6 -5
  159. package/dist/runtime/components/Textarea.vue +13 -12
  160. package/dist/runtime/components/Textarea.vue.d.ts +6 -5
  161. package/dist/runtime/components/Timeline.vue +16 -7
  162. package/dist/runtime/components/Toast.vue +17 -14
  163. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  164. package/dist/runtime/components/Toaster.vue +2 -0
  165. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  166. package/dist/runtime/components/Tooltip.vue +4 -4
  167. package/dist/runtime/components/Tree.d.vue.ts +1 -1
  168. package/dist/runtime/components/Tree.vue +21 -14
  169. package/dist/runtime/components/Tree.vue.d.ts +1 -1
  170. package/dist/runtime/components/User.vue +13 -6
  171. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
  172. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
  173. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
  174. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +6 -13
  175. package/dist/runtime/components/color-mode/ColorModeButton.vue +60 -18
  176. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +6 -13
  177. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
  178. package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
  179. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
  180. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  181. package/dist/runtime/components/color-mode/ColorModeSelect.vue +45 -5
  182. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  183. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
  184. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
  185. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
  186. package/dist/runtime/components/content/ContentNavigation.vue +14 -13
  187. package/dist/runtime/components/content/ContentSearch.vue +63 -68
  188. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
  189. package/dist/runtime/components/content/ContentSearchButton.vue +48 -10
  190. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
  191. package/dist/runtime/components/content/ContentSurround.vue +8 -8
  192. package/dist/runtime/components/content/ContentToc.vue +16 -16
  193. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +10 -6
  194. package/dist/runtime/components/locale/LocaleSelect.vue +54 -6
  195. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +10 -6
  196. package/dist/runtime/components/prose/Callout.vue +1 -1
  197. package/dist/runtime/components/prose/Card.vue +1 -1
  198. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  199. package/dist/runtime/components/prose/CodeIcon.vue +1 -1
  200. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  201. package/dist/runtime/components/prose/Pre.vue +1 -1
  202. package/dist/runtime/composables/index.d.ts +8 -0
  203. package/dist/runtime/composables/index.js +8 -0
  204. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  205. package/dist/runtime/composables/useComponentIcons.d.ts +2 -2
  206. package/dist/runtime/composables/useContentSearch.d.ts +5 -0
  207. package/dist/runtime/composables/useContentSearch.js +31 -1
  208. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  209. package/dist/runtime/composables/useFileUpload.d.ts +2 -1
  210. package/dist/runtime/composables/useFileUpload.js +13 -4
  211. package/dist/runtime/composables/useFormField.d.ts +1 -1
  212. package/dist/runtime/index.css +1 -1
  213. package/dist/runtime/inertia/components/Link.d.vue.ts +21 -11
  214. package/dist/runtime/inertia/components/Link.vue +30 -10
  215. package/dist/runtime/inertia/components/Link.vue.d.ts +21 -11
  216. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +1 -0
  217. package/dist/runtime/inertia/components/LinkBase.vue +5 -2
  218. package/dist/runtime/inertia/components/LinkBase.vue.d.ts +1 -0
  219. package/dist/runtime/inertia/stubs.js +1 -1
  220. package/dist/runtime/keyframes.css +1 -1
  221. package/dist/runtime/locale/gl.d.ts +3 -0
  222. package/dist/runtime/locale/gl.js +129 -0
  223. package/dist/runtime/locale/index.d.ts +2 -0
  224. package/dist/runtime/locale/index.js +2 -0
  225. package/dist/runtime/locale/sq.d.ts +3 -0
  226. package/dist/runtime/locale/sq.js +129 -0
  227. package/dist/runtime/plugins/colors.js +8 -6
  228. package/dist/runtime/types/html.d.ts +8 -0
  229. package/dist/runtime/types/html.js +0 -0
  230. package/dist/runtime/types/index.d.ts +5 -0
  231. package/dist/runtime/types/index.js +5 -0
  232. package/dist/runtime/types/input.d.ts +5 -5
  233. package/dist/runtime/types/utils.d.ts +2 -0
  234. package/dist/runtime/utils/content.d.ts +2 -2
  235. package/dist/runtime/utils/link.d.ts +1 -0
  236. package/dist/runtime/utils/link.js +40 -24
  237. package/dist/runtime/utils/virtualizer.d.ts +6 -0
  238. package/dist/runtime/utils/virtualizer.js +30 -0
  239. package/dist/runtime/vue/components/Icon.vue +1 -1
  240. package/dist/runtime/vue/components/Link.d.vue.ts +8 -35
  241. package/dist/runtime/vue/components/Link.vue +36 -18
  242. package/dist/runtime/vue/components/Link.vue.d.ts +8 -35
  243. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  244. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +44 -3
  245. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  246. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  247. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
  248. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  249. package/dist/runtime/vue/stubs.d.ts +1 -1
  250. package/dist/runtime/vue/stubs.js +1 -1
  251. package/dist/shared/{ui.Cmctwxv6.mjs → ui.B77q-Dvh.mjs} +397 -153
  252. package/dist/unplugin.d.mts +1 -0
  253. package/dist/unplugin.mjs +31 -3
  254. package/dist/vite.mjs +5 -3
  255. package/package.json +39 -30
  256. package/.nuxt/ui/accordion.ts +0 -20
  257. package/.nuxt/ui/alert.ts +0 -264
  258. package/.nuxt/ui/auth-form.ts +0 -20
  259. package/.nuxt/ui/avatar-group.ts +0 -52
  260. package/.nuxt/ui/avatar.ts +0 -54
  261. package/.nuxt/ui/badge.ts +0 -263
  262. package/.nuxt/ui/banner.ts +0 -108
  263. package/.nuxt/ui/blog-post.ts +0 -142
  264. package/.nuxt/ui/blog-posts.ts +0 -9
  265. package/.nuxt/ui/breadcrumb.ts +0 -45
  266. package/.nuxt/ui/button.ts +0 -378
  267. package/.nuxt/ui/calendar.ts +0 -315
  268. package/.nuxt/ui/card.ts +0 -34
  269. package/.nuxt/ui/carousel.ts +0 -38
  270. package/.nuxt/ui/changelog-version.ts +0 -41
  271. package/.nuxt/ui/changelog-versions.ts +0 -8
  272. package/.nuxt/ui/chat-message.ts +0 -136
  273. package/.nuxt/ui/chat-messages.ts +0 -14
  274. package/.nuxt/ui/chat-palette.ts +0 -8
  275. package/.nuxt/ui/chat-prompt-submit.ts +0 -5
  276. package/.nuxt/ui/chat-prompt.ts +0 -35
  277. package/.nuxt/ui/checkbox-group.ts +0 -204
  278. package/.nuxt/ui/checkbox.ts +0 -236
  279. package/.nuxt/ui/chip.ts +0 -96
  280. package/.nuxt/ui/collapsible.ts +0 -6
  281. package/.nuxt/ui/color-picker.ts +0 -47
  282. package/.nuxt/ui/command-palette.ts +0 -62
  283. package/.nuxt/ui/container.ts +0 -3
  284. package/.nuxt/ui/content/content-navigation.ts +0 -368
  285. package/.nuxt/ui/content/content-search-button.ts +0 -6
  286. package/.nuxt/ui/content/content-search.ts +0 -13
  287. package/.nuxt/ui/content/content-surround.ts +0 -34
  288. package/.nuxt/ui/content/content-toc.ts +0 -155
  289. package/.nuxt/ui/context-menu.ts +0 -219
  290. package/.nuxt/ui/dashboard-group.ts +0 -3
  291. package/.nuxt/ui/dashboard-navbar.ts +0 -21
  292. package/.nuxt/ui/dashboard-panel.ts +0 -17
  293. package/.nuxt/ui/dashboard-resize-handle.ts +0 -3
  294. package/.nuxt/ui/dashboard-search-button.ts +0 -6
  295. package/.nuxt/ui/dashboard-search.ts +0 -13
  296. package/.nuxt/ui/dashboard-sidebar-collapse.ts +0 -9
  297. package/.nuxt/ui/dashboard-sidebar-toggle.ts +0 -9
  298. package/.nuxt/ui/dashboard-sidebar.ts +0 -37
  299. package/.nuxt/ui/dashboard-toolbar.ts +0 -7
  300. package/.nuxt/ui/drawer.ts +0 -149
  301. package/.nuxt/ui/dropdown-menu.ts +0 -220
  302. package/.nuxt/ui/empty.ts +0 -83
  303. package/.nuxt/ui/error.ts +0 -9
  304. package/.nuxt/ui/field-group.ts +0 -16
  305. package/.nuxt/ui/file-upload.ts +0 -290
  306. package/.nuxt/ui/footer-columns.ts +0 -28
  307. package/.nuxt/ui/footer.ts +0 -11
  308. package/.nuxt/ui/form-field.ts +0 -48
  309. package/.nuxt/ui/form.ts +0 -3
  310. package/.nuxt/ui/header.ts +0 -25
  311. package/.nuxt/ui/index.ts +0 -106
  312. package/.nuxt/ui/input-menu.ts +0 -460
  313. package/.nuxt/ui/input-number.ts +0 -256
  314. package/.nuxt/ui/input-tags.ts +0 -310
  315. package/.nuxt/ui/input.ts +0 -289
  316. package/.nuxt/ui/kbd.ts +0 -195
  317. package/.nuxt/ui/link.ts +0 -22
  318. package/.nuxt/ui/main.ts +0 -3
  319. package/.nuxt/ui/marquee.ts +0 -66
  320. package/.nuxt/ui/modal.ts +0 -29
  321. package/.nuxt/ui/navigation-menu.ts +0 -510
  322. package/.nuxt/ui/page-anchors.ts +0 -30
  323. package/.nuxt/ui/page-aside.ts +0 -10
  324. package/.nuxt/ui/page-body.ts +0 -3
  325. package/.nuxt/ui/page-card.ts +0 -279
  326. package/.nuxt/ui/page-columns.ts +0 -3
  327. package/.nuxt/ui/page-cta.ts +0 -70
  328. package/.nuxt/ui/page-feature.ts +0 -26
  329. package/.nuxt/ui/page-grid.ts +0 -3
  330. package/.nuxt/ui/page-header.ts +0 -18
  331. package/.nuxt/ui/page-hero.ts +0 -44
  332. package/.nuxt/ui/page-links.ts +0 -25
  333. package/.nuxt/ui/page-list.ts +0 -8
  334. package/.nuxt/ui/page-logos.ts +0 -15
  335. package/.nuxt/ui/page-section.ts +0 -84
  336. package/.nuxt/ui/page.ts +0 -32
  337. package/.nuxt/ui/pagination.ts +0 -13
  338. package/.nuxt/ui/pin-input.ts +0 -171
  339. package/.nuxt/ui/popover.ts +0 -6
  340. package/.nuxt/ui/pricing-plan.ts +0 -101
  341. package/.nuxt/ui/pricing-plans.ts +0 -22
  342. package/.nuxt/ui/pricing-table.ts +0 -51
  343. package/.nuxt/ui/progress.ts +0 -297
  344. package/.nuxt/ui/prose/a.ts +0 -6
  345. package/.nuxt/ui/prose/accordion-item.ts +0 -3
  346. package/.nuxt/ui/prose/accordion.ts +0 -6
  347. package/.nuxt/ui/prose/badge.ts +0 -3
  348. package/.nuxt/ui/prose/blockquote.ts +0 -3
  349. package/.nuxt/ui/prose/callout.ts +0 -129
  350. package/.nuxt/ui/prose/card-group.ts +0 -3
  351. package/.nuxt/ui/prose/card.ts +0 -119
  352. package/.nuxt/ui/prose/code-collapse.ts +0 -19
  353. package/.nuxt/ui/prose/code-group.ts +0 -13
  354. package/.nuxt/ui/prose/code-icon.ts +0 -66
  355. package/.nuxt/ui/prose/code-preview.ts +0 -14
  356. package/.nuxt/ui/prose/code-tree.ts +0 -28
  357. package/.nuxt/ui/prose/code.ts +0 -27
  358. package/.nuxt/ui/prose/collapsible.ts +0 -12
  359. package/.nuxt/ui/prose/em.ts +0 -3
  360. package/.nuxt/ui/prose/field-group.ts +0 -3
  361. package/.nuxt/ui/prose/field.ts +0 -11
  362. package/.nuxt/ui/prose/h1.ts +0 -6
  363. package/.nuxt/ui/prose/h2.ts +0 -14
  364. package/.nuxt/ui/prose/h3.ts +0 -14
  365. package/.nuxt/ui/prose/h4.ts +0 -6
  366. package/.nuxt/ui/prose/hr.ts +0 -3
  367. package/.nuxt/ui/prose/icon.ts +0 -3
  368. package/.nuxt/ui/prose/img.ts +0 -23
  369. package/.nuxt/ui/prose/index.ts +0 -41
  370. package/.nuxt/ui/prose/kbd.ts +0 -3
  371. package/.nuxt/ui/prose/li.ts +0 -3
  372. package/.nuxt/ui/prose/ol.ts +0 -3
  373. package/.nuxt/ui/prose/p.ts +0 -3
  374. package/.nuxt/ui/prose/pre.ts +0 -17
  375. package/.nuxt/ui/prose/steps.ts +0 -19
  376. package/.nuxt/ui/prose/strong.ts +0 -3
  377. package/.nuxt/ui/prose/table.ts +0 -6
  378. package/.nuxt/ui/prose/tabs-item.ts +0 -3
  379. package/.nuxt/ui/prose/tabs.ts +0 -5
  380. package/.nuxt/ui/prose/tbody.ts +0 -3
  381. package/.nuxt/ui/prose/td.ts +0 -3
  382. package/.nuxt/ui/prose/th.ts +0 -3
  383. package/.nuxt/ui/prose/thead.ts +0 -3
  384. package/.nuxt/ui/prose/tr.ts +0 -3
  385. package/.nuxt/ui/prose/ul.ts +0 -3
  386. package/.nuxt/ui/radio-group.ts +0 -350
  387. package/.nuxt/ui/select-menu.ts +0 -361
  388. package/.nuxt/ui/select.ts +0 -348
  389. package/.nuxt/ui/separator.ts +0 -172
  390. package/.nuxt/ui/skeleton.ts +0 -3
  391. package/.nuxt/ui/slideover.ts +0 -71
  392. package/.nuxt/ui/slider.ts +0 -171
  393. package/.nuxt/ui/stepper.ts +0 -202
  394. package/.nuxt/ui/switch.ts +0 -131
  395. package/.nuxt/ui/table.ts +0 -162
  396. package/.nuxt/ui/tabs.ts +0 -258
  397. package/.nuxt/ui/textarea.ts +0 -294
  398. package/.nuxt/ui/timeline.ts +0 -321
  399. package/.nuxt/ui/toast.ts +0 -74
  400. package/.nuxt/ui/toaster.ts +0 -91
  401. package/.nuxt/ui/tooltip.ts +0 -9
  402. package/.nuxt/ui/tree.ts +0 -168
  403. package/.nuxt/ui/user.ts +0 -101
  404. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +0 -17
  405. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +0 -35
  406. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +0 -17
@@ -3,10 +3,11 @@ import type { TagsInputRootProps, TagsInputRootEmits, AcceptableInputValue } fro
3
3
  import theme from '#build/ui/input-tags';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { IconProps } from '../types';
6
+ import type { InputHTMLAttributes } from '../types/html';
6
7
  import type { ComponentConfig } from '../types/tv';
7
8
  type InputTags = ComponentConfig<typeof theme, AppConfig, 'inputTags'>;
8
9
  export type InputTagItem = AcceptableInputValue;
9
- export interface InputTagsProps<T extends InputTagItem = InputTagItem> extends Pick<TagsInputRootProps<T>, 'modelValue' | 'defaultValue' | 'addOnPaste' | 'addOnTab' | 'addOnBlur' | 'duplicate' | 'disabled' | 'delimiter' | 'max' | 'id' | 'convertValue' | 'displayValue' | 'name' | 'required'>, UseComponentIconsProps {
10
+ export interface InputTagsProps<T extends InputTagItem = InputTagItem> extends Pick<TagsInputRootProps<T>, 'modelValue' | 'defaultValue' | 'addOnPaste' | 'addOnTab' | 'addOnBlur' | 'duplicate' | 'disabled' | 'delimiter' | 'max' | 'id' | 'convertValue' | 'displayValue' | 'name' | 'required'>, UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'max' | 'required' | 'name' | 'placeholder' | 'type' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'step'> {
10
11
  /**
11
12
  * The element or component this component should render as.
12
13
  * @defaultValue 'div'
@@ -66,8 +67,8 @@ export interface InputTagsSlots<T extends InputTagItem = InputTagItem> {
66
67
  }
67
68
  declare const __VLS_export: <T extends InputTagItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
68
69
  props: __VLS_PrettifyLocal<InputTagsProps<T> & {
69
- onBlur?: ((event: FocusEvent) => any) | undefined;
70
70
  onChange?: ((event: Event) => any) | undefined;
71
+ onBlur?: ((event: FocusEvent) => any) | undefined;
71
72
  onFocus?: ((event: FocusEvent) => any) | undefined;
72
73
  onInvalid?: ((payload: T) => any) | undefined;
73
74
  "onUpdate:modelValue"?: ((payload: T[]) => any) | undefined;
@@ -75,115 +76,11 @@ declare const __VLS_export: <T extends InputTagItem>(__VLS_props: NonNullable<Aw
75
76
  onRemoveTag?: ((payload: T) => any) | undefined;
76
77
  }> & import("vue").PublicProps;
77
78
  expose: (exposed: import("vue").ShallowUnwrapRef<{
78
- inputRef: import("vue").Ref<({
79
- $: import("vue").ComponentInternalInstance;
80
- $data: {};
81
- $props: {
82
- readonly placeholder?: string | undefined;
83
- readonly autoFocus?: boolean | undefined;
84
- readonly maxLength?: number | undefined;
85
- readonly asChild?: boolean | undefined;
86
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
87
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
88
- $attrs: {
89
- [x: string]: unknown;
90
- };
91
- $refs: {
92
- [x: string]: unknown;
93
- };
94
- $slots: Readonly<{
95
- [name: string]: import("vue").Slot<any> | undefined;
96
- }>;
97
- $root: import("vue").ComponentPublicInstance | null;
98
- $parent: import("vue").ComponentPublicInstance | null;
99
- $host: Element | null;
100
- $emit: (event: string, ...args: any[]) => void;
101
- $el: any;
102
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
103
- as: import("reka-ui").AsTag | import("vue").Component;
104
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
105
- beforeCreate?: (() => void) | (() => void)[];
106
- created?: (() => void) | (() => void)[];
107
- beforeMount?: (() => void) | (() => void)[];
108
- mounted?: (() => void) | (() => void)[];
109
- beforeUpdate?: (() => void) | (() => void)[];
110
- updated?: (() => void) | (() => void)[];
111
- activated?: (() => void) | (() => void)[];
112
- deactivated?: (() => void) | (() => void)[];
113
- beforeDestroy?: (() => void) | (() => void)[];
114
- beforeUnmount?: (() => void) | (() => void)[];
115
- destroyed?: (() => void) | (() => void)[];
116
- unmounted?: (() => void) | (() => void)[];
117
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
118
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
119
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
120
- };
121
- $forceUpdate: () => void;
122
- $nextTick: typeof import("vue").nextTick;
123
- $watch<T_1 extends string | ((...args: any) => any)>(source: T_1, cb: T_1 extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
124
- } & Readonly<{
125
- as: import("reka-ui").AsTag | import("vue").Component;
126
- }> & Omit<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
127
- $slots: {
128
- default?: (props: {}) => any;
129
- };
130
- }) | null, ({
131
- $: import("vue").ComponentInternalInstance;
132
- $data: {};
133
- $props: {
134
- readonly placeholder?: string | undefined;
135
- readonly autoFocus?: boolean | undefined;
136
- readonly maxLength?: number | undefined;
137
- readonly asChild?: boolean | undefined;
138
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
139
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
140
- $attrs: {
141
- [x: string]: unknown;
142
- };
143
- $refs: {
144
- [x: string]: unknown;
145
- };
146
- $slots: Readonly<{
147
- [name: string]: import("vue").Slot<any> | undefined;
148
- }>;
149
- $root: import("vue").ComponentPublicInstance | null;
150
- $parent: import("vue").ComponentPublicInstance | null;
151
- $host: Element | null;
152
- $emit: (event: string, ...args: any[]) => void;
153
- $el: any;
154
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
155
- as: import("reka-ui").AsTag | import("vue").Component;
156
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
157
- beforeCreate?: (() => void) | (() => void)[];
158
- created?: (() => void) | (() => void)[];
159
- beforeMount?: (() => void) | (() => void)[];
160
- mounted?: (() => void) | (() => void)[];
161
- beforeUpdate?: (() => void) | (() => void)[];
162
- updated?: (() => void) | (() => void)[];
163
- activated?: (() => void) | (() => void)[];
164
- deactivated?: (() => void) | (() => void)[];
165
- beforeDestroy?: (() => void) | (() => void)[];
166
- beforeUnmount?: (() => void) | (() => void)[];
167
- destroyed?: (() => void) | (() => void)[];
168
- unmounted?: (() => void) | (() => void)[];
169
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
170
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
171
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
172
- };
173
- $forceUpdate: () => void;
174
- $nextTick: typeof import("vue").nextTick;
175
- $watch<T_1 extends string | ((...args: any) => any)>(source: T_1, cb: T_1 extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
176
- } & Readonly<{
177
- as: import("reka-ui").AsTag | import("vue").Component;
178
- }> & Omit<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
179
- $slots: {
180
- default?: (props: {}) => any;
181
- };
182
- }) | null>;
79
+ inputRef: Readonly<import("vue").Ref<HTMLInputElement, HTMLInputElement>>;
183
80
  }>) => void;
184
81
  attrs: any;
185
82
  slots: InputTagsSlots<T>;
186
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "invalid", payload: T) => void) & ((evt: "update:modelValue", payload: T[]) => void) & ((evt: "addTag", payload: T) => void) & ((evt: "removeTag", payload: T) => void);
83
+ emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "invalid", payload: T) => void) & ((evt: "update:modelValue", payload: T[]) => void) & ((evt: "addTag", payload: T) => void) & ((evt: "removeTag", payload: T) => void);
187
84
  }>) => import("vue").VNode & {
188
85
  __ctx?: Awaited<typeof __VLS_setup>;
189
86
  };
@@ -3,7 +3,7 @@ import theme from "#build/ui/input-tags";
3
3
  </script>
4
4
 
5
5
  <script setup>
6
- import { computed, ref, onMounted, toRaw } from "vue";
6
+ import { computed, useTemplateRef, onMounted, toRaw, toRef } from "vue";
7
7
  import { TagsInputRoot, TagsInputItem, TagsInputItemText, TagsInputItemDelete, TagsInputInput, useForwardPropsEmits } from "reka-ui";
8
8
  import { reactivePick } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
@@ -23,7 +23,7 @@ const props = defineProps({
23
23
  size: { type: null, required: false },
24
24
  autofocus: { type: Boolean, required: false },
25
25
  autofocusDelay: { type: Number, required: false, default: 0 },
26
- deleteIcon: { type: [String, Object], required: false },
26
+ deleteIcon: { type: null, required: false },
27
27
  highlight: { type: Boolean, required: false },
28
28
  class: { type: null, required: false },
29
29
  ui: { type: null, required: false },
@@ -41,14 +41,14 @@ const props = defineProps({
41
41
  displayValue: { type: Function, required: false },
42
42
  name: { type: String, required: false },
43
43
  required: { type: Boolean, required: false },
44
- icon: { type: [String, Object], required: false },
44
+ icon: { type: null, required: false },
45
45
  avatar: { type: Object, required: false },
46
46
  leading: { type: Boolean, required: false },
47
- leadingIcon: { type: [String, Object], required: false },
47
+ leadingIcon: { type: null, required: false },
48
48
  trailing: { type: Boolean, required: false },
49
- trailingIcon: { type: [String, Object], required: false },
49
+ trailingIcon: { type: null, required: false },
50
50
  loading: { type: Boolean, required: false },
51
- loadingIcon: { type: [String, Object], required: false }
51
+ loadingIcon: { type: null, required: false }
52
52
  });
53
53
  const emits = defineEmits(["change", "blur", "focus", "update:modelValue", "invalid", "addTag", "removeTag"]);
54
54
  const slots = defineSlots();
@@ -68,17 +68,17 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.inputTags ||
68
68
  trailing: isTrailing.value || !!slots.trailing,
69
69
  fieldGroup: orientation.value
70
70
  }));
71
- const inputRef = ref(null);
72
- onMounted(() => {
73
- setTimeout(() => {
74
- autoFocus();
75
- }, props.autofocusDelay);
76
- });
71
+ const inputRef = useTemplateRef("inputRef");
77
72
  function autoFocus() {
78
73
  if (props.autofocus) {
79
74
  inputRef.value?.$el?.focus();
80
75
  }
81
76
  }
77
+ onMounted(() => {
78
+ setTimeout(() => {
79
+ autoFocus();
80
+ }, props.autofocusDelay);
81
+ });
82
82
  function onUpdate(value) {
83
83
  if (toRaw(props.modelValue) === value) {
84
84
  return;
@@ -97,7 +97,7 @@ function onFocus(event) {
97
97
  emitFormFocus();
98
98
  }
99
99
  defineExpose({
100
- inputRef
100
+ inputRef: toRef(() => inputRef.value?.$el)
101
101
  });
102
102
  </script>
103
103
 
@@ -107,6 +107,7 @@ defineExpose({
107
107
  v-slot="{ modelValue: tags }"
108
108
  :model-value="modelValue"
109
109
  :default-value="defaultValue"
110
+ data-slot="root"
110
111
  :class="ui.root({ class: [ui.base({ class: props.ui?.base }), props.ui?.root, props.class] })"
111
112
  v-bind="rootProps"
112
113
  :name="name"
@@ -117,18 +118,20 @@ defineExpose({
117
118
  v-for="(item, index) in tags"
118
119
  :key="index"
119
120
  :value="item"
121
+ data-slot="item"
120
122
  :class="ui.item({ class: [props.ui?.item] })"
121
123
  >
122
- <TagsInputItemText :class="ui.itemText({ class: [props.ui?.itemText] })">
124
+ <TagsInputItemText data-slot="itemText" :class="ui.itemText({ class: [props.ui?.itemText] })">
123
125
  <slot v-if="!!slots['item-text']" name="item-text" :item="item" :index="index" :ui="ui" />
124
126
  </TagsInputItemText>
125
127
 
126
128
  <TagsInputItemDelete
129
+ data-slot="itemDelete"
127
130
  :class="ui.itemDelete({ class: [props.ui?.itemDelete] })"
128
131
  :disabled="disabled"
129
132
  >
130
133
  <slot name="item-delete" :item="item" :index="index" :ui="ui">
131
- <UIcon :name="deleteIcon || appConfig.ui.icons.close" :class="ui.itemDeleteIcon({ class: [props.ui?.itemDeleteIcon] })" />
134
+ <UIcon :name="deleteIcon || appConfig.ui.icons.close" data-slot="itemDeleteIcon" :class="ui.itemDeleteIcon({ class: [props.ui?.itemDeleteIcon] })" />
132
135
  </slot>
133
136
  </TagsInputItemDelete>
134
137
  </TagsInputItem>
@@ -138,6 +141,7 @@ defineExpose({
138
141
  v-bind="{ ...$attrs, ...ariaAttrs }"
139
142
  :placeholder="placeholder"
140
143
  :max-length="maxLength"
144
+ data-slot="input"
141
145
  :class="ui.input({ class: props.ui?.input })"
142
146
  @blur="onBlur"
143
147
  @focus="onFocus"
@@ -145,16 +149,16 @@ defineExpose({
145
149
 
146
150
  <slot :ui="ui" />
147
151
 
148
- <span v-if="isLeading || !!avatar || !!slots.leading" :class="ui.leading({ class: props.ui?.leading })">
152
+ <span v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="ui.leading({ class: props.ui?.leading })">
149
153
  <slot name="leading" :ui="ui">
150
- <UIcon v-if="isLeading && leadingIconName" :name="leadingIconName" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
151
- <UAvatar v-else-if="!!avatar" :size="props.ui?.leadingAvatarSize || ui.leadingAvatarSize()" v-bind="avatar" :class="ui.leadingAvatar({ class: props.ui?.leadingAvatar })" />
154
+ <UIcon v-if="isLeading && leadingIconName" :name="leadingIconName" data-slot="leadingIcon" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
155
+ <UAvatar v-else-if="!!avatar" :size="props.ui?.leadingAvatarSize || ui.leadingAvatarSize()" v-bind="avatar" data-slot="leadingAvatar" :class="ui.leadingAvatar({ class: props.ui?.leadingAvatar })" />
152
156
  </slot>
153
157
  </span>
154
158
 
155
- <span v-if="isTrailing || !!slots.trailing" :class="ui.trailing({ class: props.ui?.trailing })">
159
+ <span v-if="isTrailing || !!slots.trailing" data-slot="trailing" :class="ui.trailing({ class: props.ui?.trailing })">
156
160
  <slot name="trailing" :ui="ui">
157
- <UIcon v-if="trailingIconName" :name="trailingIconName" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
161
+ <UIcon v-if="trailingIconName" :name="trailingIconName" data-slot="trailingIcon" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
158
162
  </slot>
159
163
  </span>
160
164
  </TagsInputRoot>
@@ -3,10 +3,11 @@ import type { TagsInputRootProps, TagsInputRootEmits, AcceptableInputValue } fro
3
3
  import theme from '#build/ui/input-tags';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { IconProps } from '../types';
6
+ import type { InputHTMLAttributes } from '../types/html';
6
7
  import type { ComponentConfig } from '../types/tv';
7
8
  type InputTags = ComponentConfig<typeof theme, AppConfig, 'inputTags'>;
8
9
  export type InputTagItem = AcceptableInputValue;
9
- export interface InputTagsProps<T extends InputTagItem = InputTagItem> extends Pick<TagsInputRootProps<T>, 'modelValue' | 'defaultValue' | 'addOnPaste' | 'addOnTab' | 'addOnBlur' | 'duplicate' | 'disabled' | 'delimiter' | 'max' | 'id' | 'convertValue' | 'displayValue' | 'name' | 'required'>, UseComponentIconsProps {
10
+ export interface InputTagsProps<T extends InputTagItem = InputTagItem> extends Pick<TagsInputRootProps<T>, 'modelValue' | 'defaultValue' | 'addOnPaste' | 'addOnTab' | 'addOnBlur' | 'duplicate' | 'disabled' | 'delimiter' | 'max' | 'id' | 'convertValue' | 'displayValue' | 'name' | 'required'>, UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'max' | 'required' | 'name' | 'placeholder' | 'type' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'step'> {
10
11
  /**
11
12
  * The element or component this component should render as.
12
13
  * @defaultValue 'div'
@@ -66,8 +67,8 @@ export interface InputTagsSlots<T extends InputTagItem = InputTagItem> {
66
67
  }
67
68
  declare const __VLS_export: <T extends InputTagItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
68
69
  props: __VLS_PrettifyLocal<InputTagsProps<T> & {
69
- onBlur?: ((event: FocusEvent) => any) | undefined;
70
70
  onChange?: ((event: Event) => any) | undefined;
71
+ onBlur?: ((event: FocusEvent) => any) | undefined;
71
72
  onFocus?: ((event: FocusEvent) => any) | undefined;
72
73
  onInvalid?: ((payload: T) => any) | undefined;
73
74
  "onUpdate:modelValue"?: ((payload: T[]) => any) | undefined;
@@ -75,115 +76,11 @@ declare const __VLS_export: <T extends InputTagItem>(__VLS_props: NonNullable<Aw
75
76
  onRemoveTag?: ((payload: T) => any) | undefined;
76
77
  }> & import("vue").PublicProps;
77
78
  expose: (exposed: import("vue").ShallowUnwrapRef<{
78
- inputRef: import("vue").Ref<({
79
- $: import("vue").ComponentInternalInstance;
80
- $data: {};
81
- $props: {
82
- readonly placeholder?: string | undefined;
83
- readonly autoFocus?: boolean | undefined;
84
- readonly maxLength?: number | undefined;
85
- readonly asChild?: boolean | undefined;
86
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
87
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
88
- $attrs: {
89
- [x: string]: unknown;
90
- };
91
- $refs: {
92
- [x: string]: unknown;
93
- };
94
- $slots: Readonly<{
95
- [name: string]: import("vue").Slot<any> | undefined;
96
- }>;
97
- $root: import("vue").ComponentPublicInstance | null;
98
- $parent: import("vue").ComponentPublicInstance | null;
99
- $host: Element | null;
100
- $emit: (event: string, ...args: any[]) => void;
101
- $el: any;
102
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
103
- as: import("reka-ui").AsTag | import("vue").Component;
104
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
105
- beforeCreate?: (() => void) | (() => void)[];
106
- created?: (() => void) | (() => void)[];
107
- beforeMount?: (() => void) | (() => void)[];
108
- mounted?: (() => void) | (() => void)[];
109
- beforeUpdate?: (() => void) | (() => void)[];
110
- updated?: (() => void) | (() => void)[];
111
- activated?: (() => void) | (() => void)[];
112
- deactivated?: (() => void) | (() => void)[];
113
- beforeDestroy?: (() => void) | (() => void)[];
114
- beforeUnmount?: (() => void) | (() => void)[];
115
- destroyed?: (() => void) | (() => void)[];
116
- unmounted?: (() => void) | (() => void)[];
117
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
118
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
119
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
120
- };
121
- $forceUpdate: () => void;
122
- $nextTick: typeof import("vue").nextTick;
123
- $watch<T_1 extends string | ((...args: any) => any)>(source: T_1, cb: T_1 extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
124
- } & Readonly<{
125
- as: import("reka-ui").AsTag | import("vue").Component;
126
- }> & Omit<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
127
- $slots: {
128
- default?: (props: {}) => any;
129
- };
130
- }) | null, ({
131
- $: import("vue").ComponentInternalInstance;
132
- $data: {};
133
- $props: {
134
- readonly placeholder?: string | undefined;
135
- readonly autoFocus?: boolean | undefined;
136
- readonly maxLength?: number | undefined;
137
- readonly asChild?: boolean | undefined;
138
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
139
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
140
- $attrs: {
141
- [x: string]: unknown;
142
- };
143
- $refs: {
144
- [x: string]: unknown;
145
- };
146
- $slots: Readonly<{
147
- [name: string]: import("vue").Slot<any> | undefined;
148
- }>;
149
- $root: import("vue").ComponentPublicInstance | null;
150
- $parent: import("vue").ComponentPublicInstance | null;
151
- $host: Element | null;
152
- $emit: (event: string, ...args: any[]) => void;
153
- $el: any;
154
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
155
- as: import("reka-ui").AsTag | import("vue").Component;
156
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
157
- beforeCreate?: (() => void) | (() => void)[];
158
- created?: (() => void) | (() => void)[];
159
- beforeMount?: (() => void) | (() => void)[];
160
- mounted?: (() => void) | (() => void)[];
161
- beforeUpdate?: (() => void) | (() => void)[];
162
- updated?: (() => void) | (() => void)[];
163
- activated?: (() => void) | (() => void)[];
164
- deactivated?: (() => void) | (() => void)[];
165
- beforeDestroy?: (() => void) | (() => void)[];
166
- beforeUnmount?: (() => void) | (() => void)[];
167
- destroyed?: (() => void) | (() => void)[];
168
- unmounted?: (() => void) | (() => void)[];
169
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
170
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
171
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
172
- };
173
- $forceUpdate: () => void;
174
- $nextTick: typeof import("vue").nextTick;
175
- $watch<T_1 extends string | ((...args: any) => any)>(source: T_1, cb: T_1 extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
176
- } & Readonly<{
177
- as: import("reka-ui").AsTag | import("vue").Component;
178
- }> & Omit<Readonly<import("reka-ui").TagsInputInputProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
179
- $slots: {
180
- default?: (props: {}) => any;
181
- };
182
- }) | null>;
79
+ inputRef: Readonly<import("vue").Ref<HTMLInputElement, HTMLInputElement>>;
183
80
  }>) => void;
184
81
  attrs: any;
185
82
  slots: InputTagsSlots<T>;
186
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "invalid", payload: T) => void) & ((evt: "update:modelValue", payload: T[]) => void) & ((evt: "addTag", payload: T) => void) & ((evt: "removeTag", payload: T) => void);
83
+ emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "invalid", payload: T) => void) & ((evt: "update:modelValue", payload: T[]) => void) & ((evt: "addTag", payload: T) => void) & ((evt: "removeTag", payload: T) => void);
187
84
  }>) => import("vue").VNode & {
188
85
  __ctx?: Awaited<typeof __VLS_setup>;
189
86
  };
@@ -0,0 +1,72 @@
1
+ import type { ComponentPublicInstance } from 'vue';
2
+ import type { TimeFieldRootProps, TimeFieldRootEmits } from 'reka-ui';
3
+ import type { AppConfig } from '@nuxt/schema';
4
+ import theme from '#build/ui/input-time';
5
+ import type { UseComponentIconsProps } from '../composables/useComponentIcons';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type InputTime = ComponentConfig<typeof theme, AppConfig, 'inputTime'>;
8
+ export interface InputTimeProps extends Omit<TimeFieldRootProps, 'as' | 'asChild' | 'locale' | 'dir'>, UseComponentIconsProps {
9
+ /**
10
+ * The element or component this component should render as.
11
+ * @defaultValue 'div'
12
+ */
13
+ as?: any;
14
+ /**
15
+ * @defaultValue 'primary'
16
+ */
17
+ color?: InputTime['variants']['color'];
18
+ /**
19
+ * @defaultValue 'outline'
20
+ */
21
+ variant?: InputTime['variants']['variant'];
22
+ /**
23
+ * @defaultValue 'md'
24
+ */
25
+ size?: InputTime['variants']['size'];
26
+ /** Highlight the ring color like a focus state. */
27
+ highlight?: boolean;
28
+ autofocus?: boolean;
29
+ autofocusDelay?: number;
30
+ class?: any;
31
+ ui?: InputTime['slots'];
32
+ }
33
+ export interface InputTimeEmits extends TimeFieldRootEmits {
34
+ change: [event: Event];
35
+ blur: [event: FocusEvent];
36
+ focus: [event: FocusEvent];
37
+ }
38
+ export interface InputTimeSlots {
39
+ leading(props: {
40
+ ui: InputTime['ui'];
41
+ }): any;
42
+ default(props: {
43
+ ui: InputTime['ui'];
44
+ }): any;
45
+ trailing(props: {
46
+ ui: InputTime['ui'];
47
+ }): any;
48
+ }
49
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<InputTimeProps, {
50
+ inputsRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
51
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
52
+ change: (event: Event) => any;
53
+ blur: (event: FocusEvent) => any;
54
+ focus: (event: FocusEvent) => any;
55
+ "update:modelValue": (date: (import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) | undefined) => any;
56
+ "update:placeholder": (date: import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) => any;
57
+ }, string, import("vue").PublicProps, Readonly<InputTimeProps> & Readonly<{
58
+ onChange?: ((event: Event) => any) | undefined;
59
+ onBlur?: ((event: FocusEvent) => any) | undefined;
60
+ onFocus?: ((event: FocusEvent) => any) | undefined;
61
+ "onUpdate:modelValue"?: ((date: (import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) | undefined) => any) | undefined;
62
+ "onUpdate:placeholder"?: ((date: import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | import("@internationalized/date").Time) => any) | undefined;
63
+ }>, {
64
+ autofocusDelay: number;
65
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, InputTimeSlots>;
66
+ declare const _default: typeof __VLS_export;
67
+ export default _default;
68
+ type __VLS_WithSlots<T, S> = T & {
69
+ new (): {
70
+ $slots: S;
71
+ };
72
+ };
@@ -0,0 +1,137 @@
1
+ <script>
2
+ import theme from "#build/ui/input-time";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed, onMounted, ref } from "vue";
7
+ import { TimeFieldRoot, TimeFieldInput, useForwardPropsEmits } from "reka-ui";
8
+ import { reactiveOmit } from "@vueuse/core";
9
+ import { useAppConfig } from "#imports";
10
+ import { useFieldGroup } from "../composables/useFieldGroup";
11
+ import { useComponentIcons } from "../composables/useComponentIcons";
12
+ import { useFormField } from "../composables/useFormField";
13
+ import { tv } from "../utils/tv";
14
+ import UIcon from "./Icon.vue";
15
+ import UAvatar from "./Avatar.vue";
16
+ const props = defineProps({
17
+ as: { type: null, required: false },
18
+ color: { type: null, required: false },
19
+ variant: { type: null, required: false },
20
+ size: { type: null, required: false },
21
+ highlight: { type: Boolean, required: false },
22
+ autofocus: { type: Boolean, required: false },
23
+ autofocusDelay: { type: Number, required: false, default: 0 },
24
+ class: { type: null, required: false },
25
+ ui: { type: null, required: false },
26
+ defaultValue: { type: Object, required: false },
27
+ defaultPlaceholder: { type: Object, required: false },
28
+ placeholder: { type: Object, required: false },
29
+ modelValue: { type: [Object, null], required: false },
30
+ hourCycle: { type: null, required: false },
31
+ step: { type: Object, required: false },
32
+ granularity: { type: String, required: false },
33
+ hideTimeZone: { type: Boolean, required: false },
34
+ maxValue: { type: Object, required: false },
35
+ minValue: { type: Object, required: false },
36
+ disabled: { type: Boolean, required: false },
37
+ readonly: { type: Boolean, required: false },
38
+ id: { type: String, required: false },
39
+ name: { type: String, required: false },
40
+ required: { type: Boolean, required: false },
41
+ icon: { type: null, required: false },
42
+ avatar: { type: Object, required: false },
43
+ leading: { type: Boolean, required: false },
44
+ leadingIcon: { type: null, required: false },
45
+ trailing: { type: Boolean, required: false },
46
+ trailingIcon: { type: null, required: false },
47
+ loading: { type: Boolean, required: false },
48
+ loadingIcon: { type: null, required: false }
49
+ });
50
+ const emits = defineEmits(["change", "blur", "focus", "update:modelValue", "update:placeholder"]);
51
+ const slots = defineSlots();
52
+ const appConfig = useAppConfig();
53
+ const rootProps = useForwardPropsEmits(reactiveOmit(props, "id", "name", "color", "variant", "size", "highlight", "disabled", "autofocus", "autofocusDelay", "icon", "avatar", "leading", "leadingIcon", "trailing", "trailingIcon", "loading", "loadingIcon", "class", "ui"), emits);
54
+ const { emitFormBlur, emitFormFocus, emitFormChange, emitFormInput, id, color, size: formGroupSize, name, highlight, disabled, ariaAttrs } = useFormField(props);
55
+ const { orientation, size: fieldGroupSize } = useFieldGroup(props);
56
+ const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(props);
57
+ const inputSize = computed(() => fieldGroupSize.value || formGroupSize.value);
58
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.inputTime || {} })({
59
+ color: color.value,
60
+ variant: props.variant,
61
+ size: inputSize.value,
62
+ loading: props.loading,
63
+ highlight: highlight.value,
64
+ leading: isLeading.value || !!props.avatar || !!slots.leading,
65
+ trailing: isTrailing.value || !!slots.trailing,
66
+ fieldGroup: orientation.value
67
+ }));
68
+ const inputsRef = ref([]);
69
+ function onUpdate(value) {
70
+ const event = new Event("change", { target: { value } });
71
+ emits("change", event);
72
+ emitFormChange();
73
+ emitFormInput();
74
+ }
75
+ function onBlur(event) {
76
+ emitFormBlur();
77
+ emits("blur", event);
78
+ }
79
+ function onFocus(event) {
80
+ emitFormFocus();
81
+ emits("focus", event);
82
+ }
83
+ function autoFocus() {
84
+ if (props.autofocus) {
85
+ inputsRef.value[0]?.$el?.focus();
86
+ }
87
+ }
88
+ onMounted(() => {
89
+ setTimeout(() => {
90
+ autoFocus();
91
+ }, props.autofocusDelay);
92
+ });
93
+ defineExpose({
94
+ inputsRef
95
+ });
96
+ </script>
97
+
98
+ <template>
99
+ <TimeFieldRoot
100
+ v-bind="{ ...rootProps, ...ariaAttrs }"
101
+ :id="id"
102
+ v-slot="{ segments }"
103
+ :name="name"
104
+ :disabled="disabled"
105
+ data-slot="base"
106
+ :class="ui.base({ class: [props.ui?.base, props.class] })"
107
+ @update:model-value="onUpdate"
108
+ @blur="onBlur"
109
+ @focus="onFocus"
110
+ >
111
+ <TimeFieldInput
112
+ v-for="(segment, index) in segments"
113
+ :key="`${segment.part}-${index}`"
114
+ :ref="(el) => inputsRef[index] = el"
115
+ :part="segment.part"
116
+ data-slot="segment"
117
+ :class="ui.segment({ class: props.ui?.segment })"
118
+ >
119
+ {{ segment.value.trim() }}
120
+ </TimeFieldInput>
121
+
122
+ <slot :ui="ui" />
123
+
124
+ <span v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="ui.leading({ class: props.ui?.leading })">
125
+ <slot name="leading" :ui="ui">
126
+ <UIcon v-if="isLeading && leadingIconName" :name="leadingIconName" data-slot="leadingIcon" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
127
+ <UAvatar v-else-if="!!avatar" :size="props.ui?.leadingAvatarSize || ui.leadingAvatarSize()" v-bind="avatar" data-slot="leadingAvatar" :class="ui.leadingAvatar({ class: props.ui?.leadingAvatar })" />
128
+ </slot>
129
+ </span>
130
+
131
+ <span v-if="isTrailing || !!slots.trailing" data-slot="trailing" :class="ui.trailing({ class: props.ui?.trailing })">
132
+ <slot name="trailing" :ui="ui">
133
+ <UIcon v-if="trailingIconName" :name="trailingIconName" data-slot="trailingIcon" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
134
+ </slot>
135
+ </span>
136
+ </TimeFieldRoot>
137
+ </template>