@eslamdevui/ui 4.0.0 → 4.1.1-rc.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 (514) hide show
  1. package/.nuxt/ui/auth-form.ts +2 -2
  2. package/.nuxt/ui/calendar.ts +221 -9
  3. package/.nuxt/ui/chat-message.ts +10 -3
  4. package/.nuxt/ui/command-palette.ts +12 -2
  5. package/.nuxt/ui/content/content-search.ts +8 -1
  6. package/.nuxt/ui/context-menu.ts +3 -1
  7. package/.nuxt/ui/dashboard-panel.ts +1 -1
  8. package/.nuxt/ui/dashboard-search.ts +8 -1
  9. package/.nuxt/ui/dashboard-sidebar.ts +1 -1
  10. package/.nuxt/ui/drawer.ts +23 -0
  11. package/.nuxt/ui/dropdown-menu.ts +3 -1
  12. package/.nuxt/ui/empty.ts +83 -0
  13. package/.nuxt/ui/index.ts +1 -0
  14. package/.nuxt/ui/input-menu.ts +12 -2
  15. package/.nuxt/ui/input-number.ts +25 -14
  16. package/.nuxt/ui/kbd.ts +1 -1
  17. package/.nuxt/ui/prose/code-tree.ts +1 -1
  18. package/.nuxt/ui/prose/img.ts +2 -1
  19. package/.nuxt/ui/select-menu.ts +12 -2
  20. package/.nuxt/ui/select.ts +4 -2
  21. package/.nuxt/ui/table.ts +8 -2
  22. package/.nuxt/ui/tree.ts +25 -11
  23. package/cli/templates.mjs +14 -2
  24. package/dist/module.d.mts +15 -0
  25. package/dist/module.json +2 -2
  26. package/dist/module.mjs +5 -2
  27. package/dist/runtime/components/Accordion.d.vue.ts +11 -6
  28. package/dist/runtime/components/Accordion.vue +4 -4
  29. package/dist/runtime/components/Accordion.vue.d.ts +11 -6
  30. package/dist/runtime/components/Alert.d.vue.ts +6 -5
  31. package/dist/runtime/components/Alert.vue +1 -1
  32. package/dist/runtime/components/Alert.vue.d.ts +6 -5
  33. package/dist/runtime/components/App.d.vue.ts +5 -4
  34. package/dist/runtime/components/App.vue +1 -1
  35. package/dist/runtime/components/App.vue.d.ts +5 -4
  36. package/dist/runtime/components/AuthForm.d.vue.ts +33 -51
  37. package/dist/runtime/components/AuthForm.vue +35 -23
  38. package/dist/runtime/components/AuthForm.vue.d.ts +33 -51
  39. package/dist/runtime/components/Avatar.d.vue.ts +6 -4
  40. package/dist/runtime/components/Avatar.vue +10 -4
  41. package/dist/runtime/components/Avatar.vue.d.ts +6 -4
  42. package/dist/runtime/components/AvatarGroup.d.vue.ts +2 -1
  43. package/dist/runtime/components/AvatarGroup.vue.d.ts +2 -1
  44. package/dist/runtime/components/Badge.d.vue.ts +11 -4
  45. package/dist/runtime/components/Badge.vue +3 -3
  46. package/dist/runtime/components/Badge.vue.d.ts +11 -4
  47. package/dist/runtime/components/Banner.d.vue.ts +6 -3
  48. package/dist/runtime/components/Banner.vue +1 -1
  49. package/dist/runtime/components/Banner.vue.d.ts +6 -3
  50. package/dist/runtime/components/BlogPost.d.vue.ts +11 -4
  51. package/dist/runtime/components/BlogPost.vue +2 -2
  52. package/dist/runtime/components/BlogPost.vue.d.ts +11 -4
  53. package/dist/runtime/components/BlogPosts.d.vue.ts +23 -13
  54. package/dist/runtime/components/BlogPosts.vue +8 -2
  55. package/dist/runtime/components/BlogPosts.vue.d.ts +23 -13
  56. package/dist/runtime/components/Breadcrumb.d.vue.ts +23 -7
  57. package/dist/runtime/components/Breadcrumb.vue +8 -8
  58. package/dist/runtime/components/Breadcrumb.vue.d.ts +23 -7
  59. package/dist/runtime/components/Button.d.vue.ts +11 -4
  60. package/dist/runtime/components/Button.vue +3 -3
  61. package/dist/runtime/components/Button.vue.d.ts +11 -4
  62. package/dist/runtime/components/Calendar.d.vue.ts +8 -8
  63. package/dist/runtime/components/Calendar.vue +3 -1
  64. package/dist/runtime/components/Calendar.vue.d.ts +8 -8
  65. package/dist/runtime/components/Card.d.vue.ts +2 -1
  66. package/dist/runtime/components/Card.vue.d.ts +2 -1
  67. package/dist/runtime/components/Carousel.d.vue.ts +5 -6
  68. package/dist/runtime/components/Carousel.vue +33 -12
  69. package/dist/runtime/components/Carousel.vue.d.ts +5 -6
  70. package/dist/runtime/components/ChangelogVersion.d.vue.ts +14 -5
  71. package/dist/runtime/components/ChangelogVersion.vue +3 -3
  72. package/dist/runtime/components/ChangelogVersion.vue.d.ts +14 -5
  73. package/dist/runtime/components/ChangelogVersions.d.vue.ts +12 -39
  74. package/dist/runtime/components/ChangelogVersions.vue +2 -2
  75. package/dist/runtime/components/ChangelogVersions.vue.d.ts +12 -39
  76. package/dist/runtime/components/ChatMessage.d.vue.ts +3 -1
  77. package/dist/runtime/components/ChatMessage.vue +1 -1
  78. package/dist/runtime/components/ChatMessage.vue.d.ts +3 -1
  79. package/dist/runtime/components/ChatMessages.d.vue.ts +16 -16
  80. package/dist/runtime/components/ChatMessages.vue +31 -13
  81. package/dist/runtime/components/ChatMessages.vue.d.ts +16 -16
  82. package/dist/runtime/components/ChatPalette.d.vue.ts +2 -1
  83. package/dist/runtime/components/ChatPalette.vue.d.ts +2 -1
  84. package/dist/runtime/components/ChatPrompt.d.vue.ts +4 -3
  85. package/dist/runtime/components/ChatPrompt.vue.d.ts +4 -3
  86. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +2 -1
  87. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +2 -1
  88. package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
  89. package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
  90. package/dist/runtime/components/CheckboxGroup.d.vue.ts +4 -6
  91. package/dist/runtime/components/CheckboxGroup.vue.d.ts +4 -6
  92. package/dist/runtime/components/Chip.d.vue.ts +2 -1
  93. package/dist/runtime/components/Chip.vue.d.ts +2 -1
  94. package/dist/runtime/components/Collapsible.d.vue.ts +2 -1
  95. package/dist/runtime/components/Collapsible.vue.d.ts +2 -1
  96. package/dist/runtime/components/ColorPicker.d.vue.ts +3 -2
  97. package/dist/runtime/components/ColorPicker.vue.d.ts +3 -2
  98. package/dist/runtime/components/CommandPalette.d.vue.ts +51 -26
  99. package/dist/runtime/components/CommandPalette.vue +134 -68
  100. package/dist/runtime/components/CommandPalette.vue.d.ts +51 -26
  101. package/dist/runtime/components/Container.d.vue.ts +2 -1
  102. package/dist/runtime/components/Container.vue.d.ts +2 -1
  103. package/dist/runtime/components/ContextMenu.d.vue.ts +32 -11
  104. package/dist/runtime/components/ContextMenu.vue +2 -0
  105. package/dist/runtime/components/ContextMenu.vue.d.ts +32 -11
  106. package/dist/runtime/components/ContextMenuContent.d.vue.ts +6 -12
  107. package/dist/runtime/components/ContextMenuContent.vue +21 -11
  108. package/dist/runtime/components/ContextMenuContent.vue.d.ts +6 -12
  109. package/dist/runtime/components/DashboardGroup.d.vue.ts +2 -1
  110. package/dist/runtime/components/DashboardGroup.vue.d.ts +2 -1
  111. package/dist/runtime/components/DashboardNavbar.d.vue.ts +11 -4
  112. package/dist/runtime/components/DashboardNavbar.vue +3 -3
  113. package/dist/runtime/components/DashboardNavbar.vue.d.ts +11 -4
  114. package/dist/runtime/components/DashboardPanel.d.vue.ts +2 -1
  115. package/dist/runtime/components/DashboardPanel.vue.d.ts +2 -1
  116. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +2 -1
  117. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +2 -1
  118. package/dist/runtime/components/DashboardSearch.d.vue.ts +8 -4
  119. package/dist/runtime/components/DashboardSearch.vue +19 -6
  120. package/dist/runtime/components/DashboardSearch.vue.d.ts +8 -4
  121. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -1
  122. package/dist/runtime/components/DashboardSearchButton.vue +2 -2
  123. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -1
  124. package/dist/runtime/components/DashboardSidebar.d.vue.ts +10 -8
  125. package/dist/runtime/components/DashboardSidebar.vue +4 -4
  126. package/dist/runtime/components/DashboardSidebar.vue.d.ts +10 -8
  127. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +2 -1
  128. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +2 -1
  129. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +2 -1
  130. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +2 -1
  131. package/dist/runtime/components/DashboardToolbar.d.vue.ts +2 -1
  132. package/dist/runtime/components/DashboardToolbar.vue.d.ts +2 -1
  133. package/dist/runtime/components/Drawer.d.vue.ts +5 -1
  134. package/dist/runtime/components/Drawer.vue +16 -5
  135. package/dist/runtime/components/Drawer.vue.d.ts +5 -1
  136. package/dist/runtime/components/DropdownMenu.d.vue.ts +32 -11
  137. package/dist/runtime/components/DropdownMenu.vue +2 -0
  138. package/dist/runtime/components/DropdownMenu.vue.d.ts +32 -11
  139. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +12 -14
  140. package/dist/runtime/components/DropdownMenuContent.vue +21 -11
  141. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +12 -14
  142. package/dist/runtime/components/Empty.d.vue.ts +53 -0
  143. package/dist/runtime/components/Empty.vue +68 -0
  144. package/dist/runtime/components/Empty.vue.d.ts +53 -0
  145. package/dist/runtime/components/Error.d.vue.ts +2 -2
  146. package/dist/runtime/components/Error.vue +1 -1
  147. package/dist/runtime/components/Error.vue.d.ts +2 -2
  148. package/dist/runtime/components/FieldGroup.d.vue.ts +2 -1
  149. package/dist/runtime/components/FieldGroup.vue +1 -1
  150. package/dist/runtime/components/FieldGroup.vue.d.ts +2 -1
  151. package/dist/runtime/components/FileUpload.d.vue.ts +12 -9
  152. package/dist/runtime/components/FileUpload.vue +8 -7
  153. package/dist/runtime/components/FileUpload.vue.d.ts +12 -9
  154. package/dist/runtime/components/Footer.d.vue.ts +2 -1
  155. package/dist/runtime/components/Footer.vue.d.ts +2 -1
  156. package/dist/runtime/components/FooterColumns.d.vue.ts +13 -5
  157. package/dist/runtime/components/FooterColumns.vue +2 -2
  158. package/dist/runtime/components/FooterColumns.vue.d.ts +13 -5
  159. package/dist/runtime/components/Form.d.vue.ts +5 -7
  160. package/dist/runtime/components/Form.vue.d.ts +5 -7
  161. package/dist/runtime/components/FormField.d.vue.ts +2 -1
  162. package/dist/runtime/components/FormField.vue.d.ts +2 -1
  163. package/dist/runtime/components/Header.d.vue.ts +9 -7
  164. package/dist/runtime/components/Header.vue +3 -3
  165. package/dist/runtime/components/Header.vue.d.ts +9 -7
  166. package/dist/runtime/components/Icon.d.vue.ts +2 -1
  167. package/dist/runtime/components/Icon.vue.d.ts +2 -1
  168. package/dist/runtime/components/Input.d.vue.ts +14 -11
  169. package/dist/runtime/components/Input.vue +3 -3
  170. package/dist/runtime/components/Input.vue.d.ts +14 -11
  171. package/dist/runtime/components/InputMenu.d.vue.ts +49 -28
  172. package/dist/runtime/components/InputMenu.vue +117 -65
  173. package/dist/runtime/components/InputMenu.vue.d.ts +49 -28
  174. package/dist/runtime/components/InputNumber.d.vue.ts +6 -3
  175. package/dist/runtime/components/InputNumber.vue +7 -5
  176. package/dist/runtime/components/InputNumber.vue.d.ts +6 -3
  177. package/dist/runtime/components/InputTags.d.vue.ts +16 -16
  178. package/dist/runtime/components/InputTags.vue +5 -5
  179. package/dist/runtime/components/InputTags.vue.d.ts +16 -16
  180. package/dist/runtime/components/Kbd.d.vue.ts +2 -1
  181. package/dist/runtime/components/Kbd.vue.d.ts +2 -1
  182. package/dist/runtime/components/Link.d.vue.ts +3 -2
  183. package/dist/runtime/components/Link.vue.d.ts +3 -2
  184. package/dist/runtime/components/LinkBase.d.vue.ts +3 -2
  185. package/dist/runtime/components/LinkBase.vue.d.ts +3 -2
  186. package/dist/runtime/components/Main.d.vue.ts +3 -4
  187. package/dist/runtime/components/Main.vue +1 -1
  188. package/dist/runtime/components/Main.vue.d.ts +3 -4
  189. package/dist/runtime/components/Marquee.d.vue.ts +22 -1
  190. package/dist/runtime/components/Marquee.vue +1 -1
  191. package/dist/runtime/components/Marquee.vue.d.ts +22 -1
  192. package/dist/runtime/components/Modal.d.vue.ts +4 -6
  193. package/dist/runtime/components/Modal.vue +3 -6
  194. package/dist/runtime/components/Modal.vue.d.ts +4 -6
  195. package/dist/runtime/components/NavigationMenu.d.vue.ts +20 -9
  196. package/dist/runtime/components/NavigationMenu.vue +101 -76
  197. package/dist/runtime/components/NavigationMenu.vue.d.ts +20 -9
  198. package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -1
  199. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -1
  200. package/dist/runtime/components/Page.d.vue.ts +2 -1
  201. package/dist/runtime/components/Page.vue.d.ts +2 -1
  202. package/dist/runtime/components/PageAnchors.d.vue.ts +13 -5
  203. package/dist/runtime/components/PageAnchors.vue +2 -2
  204. package/dist/runtime/components/PageAnchors.vue.d.ts +13 -5
  205. package/dist/runtime/components/PageAside.d.vue.ts +2 -1
  206. package/dist/runtime/components/PageAside.vue.d.ts +2 -1
  207. package/dist/runtime/components/PageBody.d.vue.ts +2 -1
  208. package/dist/runtime/components/PageBody.vue.d.ts +2 -1
  209. package/dist/runtime/components/PageCTA.d.vue.ts +2 -1
  210. package/dist/runtime/components/PageCTA.vue.d.ts +2 -1
  211. package/dist/runtime/components/PageCard.d.vue.ts +5 -2
  212. package/dist/runtime/components/PageCard.vue +1 -1
  213. package/dist/runtime/components/PageCard.vue.d.ts +5 -2
  214. package/dist/runtime/components/PageColumns.d.vue.ts +2 -1
  215. package/dist/runtime/components/PageColumns.vue.d.ts +2 -1
  216. package/dist/runtime/components/PageFeature.d.vue.ts +5 -2
  217. package/dist/runtime/components/PageFeature.vue +1 -1
  218. package/dist/runtime/components/PageFeature.vue.d.ts +5 -2
  219. package/dist/runtime/components/PageGrid.d.vue.ts +2 -1
  220. package/dist/runtime/components/PageGrid.vue.d.ts +2 -1
  221. package/dist/runtime/components/PageHeader.d.vue.ts +2 -1
  222. package/dist/runtime/components/PageHeader.vue.d.ts +2 -1
  223. package/dist/runtime/components/PageHero.d.vue.ts +2 -1
  224. package/dist/runtime/components/PageHero.vue.d.ts +2 -1
  225. package/dist/runtime/components/PageLinks.d.vue.ts +13 -5
  226. package/dist/runtime/components/PageLinks.vue +2 -2
  227. package/dist/runtime/components/PageLinks.vue.d.ts +13 -5
  228. package/dist/runtime/components/PageList.d.vue.ts +2 -1
  229. package/dist/runtime/components/PageList.vue.d.ts +2 -1
  230. package/dist/runtime/components/PageLogos.d.vue.ts +2 -1
  231. package/dist/runtime/components/PageLogos.vue.d.ts +2 -1
  232. package/dist/runtime/components/PageSection.d.vue.ts +5 -2
  233. package/dist/runtime/components/PageSection.vue +1 -1
  234. package/dist/runtime/components/PageSection.vue.d.ts +5 -2
  235. package/dist/runtime/components/Pagination.d.vue.ts +5 -2
  236. package/dist/runtime/components/Pagination.vue +5 -5
  237. package/dist/runtime/components/Pagination.vue.d.ts +5 -2
  238. package/dist/runtime/components/PinInput.d.vue.ts +5 -9
  239. package/dist/runtime/components/PinInput.vue.d.ts +5 -9
  240. package/dist/runtime/components/Popover.d.vue.ts +22 -23
  241. package/dist/runtime/components/Popover.vue +4 -4
  242. package/dist/runtime/components/Popover.vue.d.ts +22 -23
  243. package/dist/runtime/components/PricingPlan.d.vue.ts +11 -4
  244. package/dist/runtime/components/PricingPlan.vue +3 -3
  245. package/dist/runtime/components/PricingPlan.vue.d.ts +11 -4
  246. package/dist/runtime/components/PricingPlans.d.vue.ts +21 -13
  247. package/dist/runtime/components/PricingPlans.vue +7 -1
  248. package/dist/runtime/components/PricingPlans.vue.d.ts +21 -13
  249. package/dist/runtime/components/PricingTable.d.vue.ts +4 -3
  250. package/dist/runtime/components/PricingTable.vue.d.ts +4 -3
  251. package/dist/runtime/components/Progress.d.vue.ts +2 -1
  252. package/dist/runtime/components/Progress.vue +1 -1
  253. package/dist/runtime/components/Progress.vue.d.ts +2 -1
  254. package/dist/runtime/components/RadioGroup.d.vue.ts +4 -6
  255. package/dist/runtime/components/RadioGroup.vue.d.ts +4 -6
  256. package/dist/runtime/components/Select.d.vue.ts +25 -19
  257. package/dist/runtime/components/Select.vue +18 -9
  258. package/dist/runtime/components/Select.vue.d.ts +25 -19
  259. package/dist/runtime/components/SelectMenu.d.vue.ts +46 -26
  260. package/dist/runtime/components/SelectMenu.vue +114 -61
  261. package/dist/runtime/components/SelectMenu.vue.d.ts +46 -26
  262. package/dist/runtime/components/Separator.d.vue.ts +5 -2
  263. package/dist/runtime/components/Separator.vue +1 -1
  264. package/dist/runtime/components/Separator.vue.d.ts +5 -2
  265. package/dist/runtime/components/Skeleton.d.vue.ts +2 -1
  266. package/dist/runtime/components/Skeleton.vue.d.ts +2 -1
  267. package/dist/runtime/components/Slideover.d.vue.ts +4 -6
  268. package/dist/runtime/components/Slideover.vue +3 -6
  269. package/dist/runtime/components/Slideover.vue.d.ts +4 -6
  270. package/dist/runtime/components/Slider.d.vue.ts +5 -7
  271. package/dist/runtime/components/Slider.vue.d.ts +5 -7
  272. package/dist/runtime/components/Stepper.d.vue.ts +10 -10
  273. package/dist/runtime/components/Stepper.vue +1 -1
  274. package/dist/runtime/components/Stepper.vue.d.ts +10 -10
  275. package/dist/runtime/components/Switch.d.vue.ts +2 -1
  276. package/dist/runtime/components/Switch.vue.d.ts +2 -1
  277. package/dist/runtime/components/Table.d.vue.ts +27 -20
  278. package/dist/runtime/components/Table.vue +145 -61
  279. package/dist/runtime/components/Table.vue.d.ts +27 -20
  280. package/dist/runtime/components/Tabs.d.vue.ts +13 -9
  281. package/dist/runtime/components/Tabs.vue +3 -3
  282. package/dist/runtime/components/Tabs.vue.d.ts +13 -9
  283. package/dist/runtime/components/Textarea.d.vue.ts +14 -11
  284. package/dist/runtime/components/Textarea.vue +3 -3
  285. package/dist/runtime/components/Textarea.vue.d.ts +14 -11
  286. package/dist/runtime/components/Timeline.d.vue.ts +5 -6
  287. package/dist/runtime/components/Timeline.vue.d.ts +5 -6
  288. package/dist/runtime/components/Toast.d.vue.ts +6 -5
  289. package/dist/runtime/components/Toast.vue +1 -1
  290. package/dist/runtime/components/Toast.vue.d.ts +6 -5
  291. package/dist/runtime/components/Toaster.d.vue.ts +8 -1
  292. package/dist/runtime/components/Toaster.vue +6 -3
  293. package/dist/runtime/components/Toaster.vue.d.ts +8 -1
  294. package/dist/runtime/components/Tooltip.d.vue.ts +5 -2
  295. package/dist/runtime/components/Tooltip.vue +1 -1
  296. package/dist/runtime/components/Tooltip.vue.d.ts +5 -2
  297. package/dist/runtime/components/Tree.d.vue.ts +46 -10
  298. package/dist/runtime/components/Tree.vue +169 -81
  299. package/dist/runtime/components/Tree.vue.d.ts +46 -10
  300. package/dist/runtime/components/User.d.vue.ts +5 -2
  301. package/dist/runtime/components/User.vue +1 -1
  302. package/dist/runtime/components/User.vue.d.ts +5 -2
  303. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +2 -1
  304. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +2 -1
  305. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +2 -1
  306. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +2 -1
  307. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +2 -1
  308. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +2 -1
  309. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +2 -1
  310. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +2 -1
  311. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -1
  312. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -1
  313. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +5 -5
  314. package/dist/runtime/components/content/ContentNavigation.vue +19 -9
  315. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +5 -5
  316. package/dist/runtime/components/content/ContentSearch.d.vue.ts +11 -10
  317. package/dist/runtime/components/content/ContentSearch.vue +21 -6
  318. package/dist/runtime/components/content/ContentSearch.vue.d.ts +11 -10
  319. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -1
  320. package/dist/runtime/components/content/ContentSearchButton.vue +2 -2
  321. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -1
  322. package/dist/runtime/components/content/ContentSurround.d.vue.ts +5 -3
  323. package/dist/runtime/components/content/ContentSurround.vue +4 -4
  324. package/dist/runtime/components/content/ContentSurround.vue.d.ts +5 -3
  325. package/dist/runtime/components/content/ContentToc.d.vue.ts +6 -6
  326. package/dist/runtime/components/content/ContentToc.vue +2 -2
  327. package/dist/runtime/components/content/ContentToc.vue.d.ts +6 -6
  328. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +2 -1
  329. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +2 -1
  330. package/dist/runtime/components/prose/A.d.vue.ts +2 -1
  331. package/dist/runtime/components/prose/A.vue.d.ts +2 -1
  332. package/dist/runtime/components/prose/Accordion.d.vue.ts +8 -1
  333. package/dist/runtime/components/prose/Accordion.vue +3 -2
  334. package/dist/runtime/components/prose/Accordion.vue.d.ts +8 -1
  335. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +2 -1
  336. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +2 -1
  337. package/dist/runtime/components/prose/Badge.d.vue.ts +2 -1
  338. package/dist/runtime/components/prose/Badge.vue.d.ts +2 -1
  339. package/dist/runtime/components/prose/Blockquote.d.vue.ts +2 -1
  340. package/dist/runtime/components/prose/Blockquote.vue.d.ts +2 -1
  341. package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
  342. package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
  343. package/dist/runtime/components/prose/Card.d.vue.ts +2 -1
  344. package/dist/runtime/components/prose/Card.vue.d.ts +2 -1
  345. package/dist/runtime/components/prose/CardGroup.d.vue.ts +2 -1
  346. package/dist/runtime/components/prose/CardGroup.vue.d.ts +2 -1
  347. package/dist/runtime/components/prose/Code.d.vue.ts +2 -1
  348. package/dist/runtime/components/prose/Code.vue.d.ts +2 -1
  349. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -1
  350. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -1
  351. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +2 -1
  352. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +2 -1
  353. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +2 -1
  354. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +2 -1
  355. package/dist/runtime/components/prose/CodePreview.d.vue.ts +2 -1
  356. package/dist/runtime/components/prose/CodePreview.vue.d.ts +2 -1
  357. package/dist/runtime/components/prose/CodeTree.d.vue.ts +2 -1
  358. package/dist/runtime/components/prose/CodeTree.vue +40 -36
  359. package/dist/runtime/components/prose/CodeTree.vue.d.ts +2 -1
  360. package/dist/runtime/components/prose/Collapsible.d.vue.ts +4 -3
  361. package/dist/runtime/components/prose/Collapsible.vue +2 -2
  362. package/dist/runtime/components/prose/Collapsible.vue.d.ts +4 -3
  363. package/dist/runtime/components/prose/Em.d.vue.ts +2 -1
  364. package/dist/runtime/components/prose/Em.vue.d.ts +2 -1
  365. package/dist/runtime/components/prose/Field.d.vue.ts +3 -2
  366. package/dist/runtime/components/prose/Field.vue.d.ts +3 -2
  367. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +2 -1
  368. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +2 -1
  369. package/dist/runtime/components/prose/H1.d.vue.ts +2 -1
  370. package/dist/runtime/components/prose/H1.vue.d.ts +2 -1
  371. package/dist/runtime/components/prose/H2.d.vue.ts +2 -1
  372. package/dist/runtime/components/prose/H2.vue.d.ts +2 -1
  373. package/dist/runtime/components/prose/H3.d.vue.ts +2 -1
  374. package/dist/runtime/components/prose/H3.vue.d.ts +2 -1
  375. package/dist/runtime/components/prose/H4.d.vue.ts +2 -1
  376. package/dist/runtime/components/prose/H4.vue.d.ts +2 -1
  377. package/dist/runtime/components/prose/Hr.d.vue.ts +2 -1
  378. package/dist/runtime/components/prose/Hr.vue.d.ts +2 -1
  379. package/dist/runtime/components/prose/Icon.d.vue.ts +2 -1
  380. package/dist/runtime/components/prose/Icon.vue.d.ts +2 -1
  381. package/dist/runtime/components/prose/Img.d.vue.ts +2 -1
  382. package/dist/runtime/components/prose/Img.vue +14 -3
  383. package/dist/runtime/components/prose/Img.vue.d.ts +2 -1
  384. package/dist/runtime/components/prose/Kbd.d.vue.ts +2 -1
  385. package/dist/runtime/components/prose/Kbd.vue.d.ts +2 -1
  386. package/dist/runtime/components/prose/Li.d.vue.ts +2 -1
  387. package/dist/runtime/components/prose/Li.vue.d.ts +2 -1
  388. package/dist/runtime/components/prose/Ol.d.vue.ts +2 -1
  389. package/dist/runtime/components/prose/Ol.vue.d.ts +2 -1
  390. package/dist/runtime/components/prose/P.d.vue.ts +2 -1
  391. package/dist/runtime/components/prose/P.vue.d.ts +2 -1
  392. package/dist/runtime/components/prose/Pre.d.vue.ts +2 -1
  393. package/dist/runtime/components/prose/Pre.vue.d.ts +2 -1
  394. package/dist/runtime/components/prose/Script.d.vue.ts +2 -1
  395. package/dist/runtime/components/prose/Script.vue.d.ts +2 -1
  396. package/dist/runtime/components/prose/Steps.d.vue.ts +2 -1
  397. package/dist/runtime/components/prose/Steps.vue.d.ts +2 -1
  398. package/dist/runtime/components/prose/Strong.d.vue.ts +2 -1
  399. package/dist/runtime/components/prose/Strong.vue.d.ts +2 -1
  400. package/dist/runtime/components/prose/Table.d.vue.ts +2 -1
  401. package/dist/runtime/components/prose/Table.vue.d.ts +2 -1
  402. package/dist/runtime/components/prose/Tabs.d.vue.ts +8 -1
  403. package/dist/runtime/components/prose/Tabs.vue +3 -2
  404. package/dist/runtime/components/prose/Tabs.vue.d.ts +8 -1
  405. package/dist/runtime/components/prose/TabsItem.d.vue.ts +2 -1
  406. package/dist/runtime/components/prose/TabsItem.vue.d.ts +2 -1
  407. package/dist/runtime/components/prose/Tbody.d.vue.ts +2 -1
  408. package/dist/runtime/components/prose/Tbody.vue.d.ts +2 -1
  409. package/dist/runtime/components/prose/Td.d.vue.ts +2 -1
  410. package/dist/runtime/components/prose/Td.vue.d.ts +2 -1
  411. package/dist/runtime/components/prose/Th.d.vue.ts +2 -1
  412. package/dist/runtime/components/prose/Th.vue.d.ts +2 -1
  413. package/dist/runtime/components/prose/Thead.d.vue.ts +2 -1
  414. package/dist/runtime/components/prose/Thead.vue.d.ts +2 -1
  415. package/dist/runtime/components/prose/Tr.d.vue.ts +2 -1
  416. package/dist/runtime/components/prose/Tr.vue.d.ts +2 -1
  417. package/dist/runtime/components/prose/Ul.d.vue.ts +2 -1
  418. package/dist/runtime/components/prose/Ul.vue.d.ts +2 -1
  419. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +3 -2
  420. package/dist/runtime/components/prose/callout/Caution.vue.d.ts +3 -2
  421. package/dist/runtime/components/prose/callout/Note.d.vue.ts +3 -2
  422. package/dist/runtime/components/prose/callout/Note.vue.d.ts +3 -2
  423. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +3 -2
  424. package/dist/runtime/components/prose/callout/Tip.vue.d.ts +3 -2
  425. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +3 -2
  426. package/dist/runtime/components/prose/callout/Warning.vue.d.ts +3 -2
  427. package/dist/runtime/composables/useKbd.js +2 -2
  428. package/dist/runtime/composables/usePortal.d.ts +3 -3
  429. package/dist/runtime/composables/usePortal.js +5 -10
  430. package/dist/runtime/composables/useToast.d.ts +3 -1
  431. package/dist/runtime/composables/useToast.js +4 -3
  432. package/dist/runtime/inertia/components/Link.d.vue.ts +3 -2
  433. package/dist/runtime/inertia/components/Link.vue +12 -6
  434. package/dist/runtime/inertia/components/Link.vue.d.ts +3 -2
  435. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +3 -2
  436. package/dist/runtime/inertia/components/LinkBase.vue.d.ts +3 -2
  437. package/dist/runtime/inertia/stubs.d.ts +1 -1
  438. package/dist/runtime/inertia/stubs.js +2 -2
  439. package/dist/runtime/locale/ar.js +5 -5
  440. package/dist/runtime/locale/az.js +5 -5
  441. package/dist/runtime/locale/bg.js +3 -3
  442. package/dist/runtime/locale/bn.js +5 -5
  443. package/dist/runtime/locale/ca.js +5 -5
  444. package/dist/runtime/locale/ckb.js +15 -15
  445. package/dist/runtime/locale/cs.js +5 -5
  446. package/dist/runtime/locale/da.js +5 -5
  447. package/dist/runtime/locale/de.js +5 -5
  448. package/dist/runtime/locale/de_ch.js +5 -5
  449. package/dist/runtime/locale/el.js +5 -5
  450. package/dist/runtime/locale/en.js +5 -5
  451. package/dist/runtime/locale/es.js +5 -5
  452. package/dist/runtime/locale/et.js +5 -5
  453. package/dist/runtime/locale/fa_ir.js +5 -5
  454. package/dist/runtime/locale/fi.js +5 -5
  455. package/dist/runtime/locale/fr.js +5 -5
  456. package/dist/runtime/locale/he.js +5 -5
  457. package/dist/runtime/locale/hi.js +5 -5
  458. package/dist/runtime/locale/hr.d.ts +3 -0
  459. package/dist/runtime/locale/hr.js +129 -0
  460. package/dist/runtime/locale/hu.js +5 -5
  461. package/dist/runtime/locale/hy.js +4 -4
  462. package/dist/runtime/locale/id.js +5 -5
  463. package/dist/runtime/locale/index.d.ts +1 -0
  464. package/dist/runtime/locale/index.js +1 -0
  465. package/dist/runtime/locale/it.js +5 -5
  466. package/dist/runtime/locale/ja.js +5 -5
  467. package/dist/runtime/locale/ka.js +5 -5
  468. package/dist/runtime/locale/kk.js +3 -3
  469. package/dist/runtime/locale/km.js +5 -5
  470. package/dist/runtime/locale/ko.js +5 -5
  471. package/dist/runtime/locale/ky.js +4 -4
  472. package/dist/runtime/locale/lb.js +4 -4
  473. package/dist/runtime/locale/lt.js +5 -5
  474. package/dist/runtime/locale/mn.js +5 -5
  475. package/dist/runtime/locale/ms.js +5 -5
  476. package/dist/runtime/locale/nb_no.js +5 -5
  477. package/dist/runtime/locale/nl.js +5 -5
  478. package/dist/runtime/locale/pl.js +5 -5
  479. package/dist/runtime/locale/pt.js +5 -5
  480. package/dist/runtime/locale/pt_br.js +5 -5
  481. package/dist/runtime/locale/ro.js +5 -5
  482. package/dist/runtime/locale/ru.js +5 -5
  483. package/dist/runtime/locale/sk.js +5 -5
  484. package/dist/runtime/locale/sl.js +5 -5
  485. package/dist/runtime/locale/sv.js +5 -5
  486. package/dist/runtime/locale/th.js +5 -5
  487. package/dist/runtime/locale/tj.js +3 -3
  488. package/dist/runtime/locale/tr.js +5 -5
  489. package/dist/runtime/locale/ug_cn.js +3 -3
  490. package/dist/runtime/locale/uk.js +5 -5
  491. package/dist/runtime/locale/ur.js +4 -4
  492. package/dist/runtime/locale/uz.js +5 -5
  493. package/dist/runtime/locale/vi.js +5 -5
  494. package/dist/runtime/locale/zh_cn.js +5 -5
  495. package/dist/runtime/locale/zh_tw.js +5 -5
  496. package/dist/runtime/types/index.d.ts +2 -1
  497. package/dist/runtime/types/index.js +2 -1
  498. package/dist/runtime/types/tv.d.ts +6 -0
  499. package/dist/runtime/vue/components/Icon.d.vue.ts +2 -1
  500. package/dist/runtime/vue/components/Icon.vue.d.ts +2 -1
  501. package/dist/runtime/vue/components/Link.d.vue.ts +3 -2
  502. package/dist/runtime/vue/components/Link.vue.d.ts +3 -2
  503. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +2 -1
  504. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +2 -1
  505. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +2 -1
  506. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +2 -1
  507. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +2 -1
  508. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +2 -1
  509. package/dist/runtime/vue/stubs.d.ts +1 -1
  510. package/dist/runtime/vue/stubs.js +2 -2
  511. package/dist/shared/{ui.BBlr3wu_.mjs → ui.Dy8dMbVj.mjs} +489 -114
  512. package/dist/unplugin.mjs +11 -3
  513. package/dist/vite.mjs +3 -2
  514. package/package.json +23 -21
@@ -4,7 +4,7 @@ import theme from "#build/ui/input-menu";
4
4
 
5
5
  <script setup>
6
6
  import { computed, ref, toRef, onMounted, toRaw, nextTick } from "vue";
7
- import { ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxPortal, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxLabel, ComboboxSeparator, ComboboxItem, ComboboxItemIndicator, TagsInputRoot, TagsInputItem, TagsInputItemText, TagsInputItemDelete, TagsInputInput, useForwardPropsEmits, useFilter } from "reka-ui";
7
+ import { ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxPortal, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxVirtualizer, ComboboxLabel, ComboboxSeparator, ComboboxItem, ComboboxItemIndicator, TagsInputRoot, TagsInputItem, TagsInputItemText, TagsInputItemDelete, TagsInputInput, useForwardPropsEmits, useFilter } from "reka-ui";
8
8
  import { defu } from "defu";
9
9
  import { isEqual } from "ohash/utils";
10
10
  import { reactivePick, createReusableTemplate } from "@vueuse/core";
@@ -37,8 +37,10 @@ const props = defineProps({
37
37
  content: { type: Object, required: false },
38
38
  arrow: { type: [Boolean, Object], required: false },
39
39
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
40
+ virtualize: { type: [Boolean, Object], required: false, default: false },
40
41
  valueKey: { type: null, required: false },
41
42
  labelKey: { type: null, required: false, default: "label" },
43
+ descriptionKey: { type: null, required: false, default: "description" },
42
44
  items: { type: null, required: false },
43
45
  defaultValue: { type: null, required: false },
44
46
  modelValue: { type: null, required: false },
@@ -76,11 +78,32 @@ const rootProps = useForwardPropsEmits(reactivePick(props, "as", "modelValue", "
76
78
  const portalProps = usePortal(toRef(() => props.portal));
77
79
  const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8, position: "popper" }));
78
80
  const arrowProps = toRef(() => props.arrow);
81
+ const virtualizerProps = toRef(() => !!props.virtualize && defu(typeof props.virtualize === "boolean" ? {} : props.virtualize, {
82
+ estimateSize: {
83
+ xs: 24,
84
+ sm: 28,
85
+ md: 32,
86
+ lg: 36,
87
+ xl: 40
88
+ }[props.size || "md"]
89
+ }));
79
90
  const { emitFormBlur, emitFormFocus, emitFormChange, emitFormInput, size: formGroupSize, color, id, name, highlight, disabled, ariaAttrs } = useFormField(props);
80
91
  const { orientation, size: fieldGroupSize } = useFieldGroup(props);
81
92
  const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(toRef(() => defu(props, { trailingIcon: appConfig.ui.icons.chevronDown })));
82
93
  const inputSize = computed(() => fieldGroupSize.value || formGroupSize.value);
83
94
  const [DefineCreateItemTemplate, ReuseCreateItemTemplate] = createReusableTemplate();
95
+ const [DefineItemTemplate, ReuseItemTemplate] = createReusableTemplate({
96
+ props: {
97
+ item: {
98
+ type: [Object, String, Number, Boolean],
99
+ required: true
100
+ },
101
+ index: {
102
+ type: Number,
103
+ required: false
104
+ }
105
+ }
106
+ });
84
107
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.inputMenu || {} })({
85
108
  color: color.value,
86
109
  variant: props.variant,
@@ -90,7 +113,8 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.inputMenu ||
90
113
  leading: isLeading.value || !!props.avatar || !!slots.leading,
91
114
  trailing: isTrailing.value || !!slots.trailing,
92
115
  multiple: props.multiple,
93
- fieldGroup: orientation.value
116
+ fieldGroup: orientation.value,
117
+ virtualize: !!props.virtualize
94
118
  }));
95
119
  const items = computed(() => groups.value.flatMap((group) => group));
96
120
  function displayValue(value) {
@@ -190,9 +214,8 @@ function onUpdateOpen(value) {
190
214
  clearTimeout(timeoutId);
191
215
  }
192
216
  }
193
- function onRemoveTag(event) {
217
+ function onRemoveTag(event, modelValue) {
194
218
  if (props.multiple) {
195
- const modelValue = props.modelValue;
196
219
  const filteredValue = modelValue.filter((value) => !isEqual(value, event));
197
220
  emits("update:modelValue", filteredValue);
198
221
  emits("remove-tag", event);
@@ -219,21 +242,72 @@ defineExpose({
219
242
 
220
243
  <template>
221
244
  <DefineCreateItemTemplate>
222
- <ComboboxGroup :class="ui.group({ class: props.ui?.group })">
223
- <ComboboxItem
224
- :class="ui.item({ class: props.ui?.item })"
225
- :value="searchTerm"
226
- @select.prevent="emits('create', searchTerm)"
227
- >
228
- <span :class="ui.itemLabel({ class: props.ui?.itemLabel })">
229
- <slot name="create-item-label" :item="searchTerm">
230
- {{ t("inputMenu.create", { label: searchTerm }) }}
231
- </slot>
232
- </span>
233
- </ComboboxItem>
234
- </ComboboxGroup>
245
+ <ComboboxItem
246
+ :class="ui.item({ class: props.ui?.item })"
247
+ :value="searchTerm"
248
+ @select.prevent="emits('create', searchTerm)"
249
+ >
250
+ <span :class="ui.itemLabel({ class: props.ui?.itemLabel })">
251
+ <slot name="create-item-label" :item="searchTerm">
252
+ {{ t("inputMenu.create", { label: searchTerm }) }}
253
+ </slot>
254
+ </span>
255
+ </ComboboxItem>
235
256
  </DefineCreateItemTemplate>
236
257
 
258
+ <DefineItemTemplate v-slot="{ item, index }">
259
+ <ComboboxLabel v-if="isInputItem(item) && item.type === 'label'" :class="ui.label({ class: [props.ui?.label, item.ui?.label, item.class] })">
260
+ {{ get(item, props.labelKey) }}
261
+ </ComboboxLabel>
262
+
263
+ <ComboboxSeparator v-else-if="isInputItem(item) && item.type === 'separator'" :class="ui.separator({ class: [props.ui?.separator, item.ui?.separator, item.class] })" />
264
+
265
+ <ComboboxItem
266
+ v-else
267
+ :class="ui.item({ class: [props.ui?.item, isInputItem(item) && item.ui?.item, isInputItem(item) && item.class] })"
268
+ :disabled="isInputItem(item) && item.disabled"
269
+ :value="props.valueKey && isInputItem(item) ? get(item, props.valueKey) : item"
270
+ @select="onSelect($event, item)"
271
+ >
272
+ <slot name="item" :item="item" :index="index" :ui="ui">
273
+ <slot name="item-leading" :item="item" :index="index" :ui="ui">
274
+ <UIcon v-if="isInputItem(item) && item.icon" :name="item.icon" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon] })" />
275
+ <UAvatar v-else-if="isInputItem(item) && item.avatar" :size="item.ui?.itemLeadingAvatarSize || props.ui?.itemLeadingAvatarSize || ui.itemLeadingAvatarSize()" v-bind="item.avatar" :class="ui.itemLeadingAvatar({ class: [props.ui?.itemLeadingAvatar, item.ui?.itemLeadingAvatar] })" />
276
+ <UChip
277
+ v-else-if="isInputItem(item) && item.chip"
278
+ :size="item.ui?.itemLeadingChipSize || props.ui?.itemLeadingChipSize || ui.itemLeadingChipSize()"
279
+ inset
280
+ standalone
281
+ v-bind="item.chip"
282
+ :class="ui.itemLeadingChip({ class: [props.ui?.itemLeadingChip, item.ui?.itemLeadingChip] })"
283
+ />
284
+ </slot>
285
+
286
+ <span :class="ui.itemWrapper({ class: [props.ui?.itemWrapper, isInputItem(item) && item.ui?.itemWrapper] })">
287
+ <span :class="ui.itemLabel({ class: [props.ui?.itemLabel, isInputItem(item) && item.ui?.itemLabel] })">
288
+ <slot name="item-label" :item="item" :index="index">
289
+ {{ isInputItem(item) ? get(item, props.labelKey) : item }}
290
+ </slot>
291
+ </span>
292
+
293
+ <span v-if="isInputItem(item) && (get(item, props.descriptionKey) || !!slots['item-description'])" :class="ui.itemDescription({ class: [props.ui?.itemDescription, isInputItem(item) && item.ui?.itemDescription] })">
294
+ <slot name="item-description" :item="item" :index="index">
295
+ {{ get(item, props.descriptionKey) }}
296
+ </slot>
297
+ </span>
298
+ </span>
299
+
300
+ <span :class="ui.itemTrailing({ class: [props.ui?.itemTrailing, isInputItem(item) && item.ui?.itemTrailing] })">
301
+ <slot name="item-trailing" :item="item" :index="index" :ui="ui" />
302
+
303
+ <ComboboxItemIndicator as-child>
304
+ <UIcon :name="selectedIcon || appConfig.ui.icons.check" :class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, isInputItem(item) && item.ui?.itemTrailingIcon] })" />
305
+ </ComboboxItemIndicator>
306
+ </span>
307
+ </slot>
308
+ </ComboboxItem>
309
+ </DefineItemTemplate>
310
+
237
311
  <ComboboxRoot
238
312
  v-slot="{ modelValue, open }"
239
313
  v-bind="rootProps"
@@ -257,9 +331,9 @@ defineExpose({
257
331
  as-child
258
332
  @blur="onBlur"
259
333
  @focus="onFocus"
260
- @remove-tag="onRemoveTag"
334
+ @remove-tag="onRemoveTag($event, modelValue)"
261
335
  >
262
- <TagsInputItem v-for="(item, index) in tags" :key="index" :value="isInputItem(item) ? item : String(item)" :class="ui.tagsItem({ class: [props.ui?.tagsItem, isInputItem(item) && item.ui?.tagsItem] })">
336
+ <TagsInputItem v-for="(item, index) in tags" :key="index" :value="item" :class="ui.tagsItem({ class: [props.ui?.tagsItem, isInputItem(item) && item.ui?.tagsItem] })">
263
337
  <TagsInputItemText :class="ui.tagsItemText({ class: [props.ui?.tagsItemText, isInputItem(item) && item.ui?.tagsItemText] })">
264
338
  <slot name="tags-item-text" :item="item" :index="index">
265
339
  {{ displayValue(item) }}
@@ -267,7 +341,7 @@ defineExpose({
267
341
  </TagsInputItemText>
268
342
 
269
343
  <TagsInputItemDelete :class="ui.tagsItemDelete({ class: [props.ui?.tagsItemDelete, isInputItem(item) && item.ui?.tagsItemDelete] })" :disabled="disabled">
270
- <slot name="tags-item-delete" :item="item" :index="index">
344
+ <slot name="tags-item-delete" :item="item" :index="index" :ui="ui">
271
345
  <UIcon :name="deleteIcon || appConfig.ui.icons.close" :class="ui.tagsItemDeleteIcon({ class: [props.ui?.tagsItemDeleteIcon, isInputItem(item) && item.ui?.tagsItemDeleteIcon] })" />
272
346
  </slot>
273
347
  </TagsInputItemDelete>
@@ -324,56 +398,34 @@ defineExpose({
324
398
  </ComboboxEmpty>
325
399
 
326
400
  <div role="presentation" :class="ui.viewport({ class: props.ui?.viewport })">
327
- <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'top'" />
328
-
329
- <ComboboxGroup v-for="(group, groupIndex) in filteredGroups" :key="`group-${groupIndex}`" :class="ui.group({ class: props.ui?.group })">
330
- <template v-for="(item, index) in group" :key="`group-${groupIndex}-${index}`">
331
- <ComboboxLabel v-if="isInputItem(item) && item.type === 'label'" :class="ui.label({ class: [props.ui?.label, item.ui?.label, item.class] })">
332
- {{ get(item, props.labelKey) }}
333
- </ComboboxLabel>
334
-
335
- <ComboboxSeparator v-else-if="isInputItem(item) && item.type === 'separator'" :class="ui.separator({ class: [props.ui?.separator, item.ui?.separator, item.class] })" />
401
+ <template v-if="!!virtualize">
402
+ <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'top'" />
336
403
 
337
- <ComboboxItem
338
- v-else
339
- :class="ui.item({ class: [props.ui?.item, isInputItem(item) && item.ui?.item, isInputItem(item) && item.class] })"
340
- :disabled="isInputItem(item) && item.disabled"
341
- :value="props.valueKey && isInputItem(item) ? get(item, props.valueKey) : item"
342
- @select="onSelect($event, item)"
343
- >
344
- <slot name="item" :item="item" :index="index">
345
- <slot name="item-leading" :item="item" :index="index">
346
- <UIcon v-if="isInputItem(item) && item.icon" :name="item.icon" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon] })" />
347
- <UAvatar v-else-if="isInputItem(item) && item.avatar" :size="item.ui?.itemLeadingAvatarSize || props.ui?.itemLeadingAvatarSize || ui.itemLeadingAvatarSize()" v-bind="item.avatar" :class="ui.itemLeadingAvatar({ class: [props.ui?.itemLeadingAvatar, item.ui?.itemLeadingAvatar] })" />
348
- <UChip
349
- v-else-if="isInputItem(item) && item.chip"
350
- :size="item.ui?.itemLeadingChipSize || props.ui?.itemLeadingChipSize || ui.itemLeadingChipSize()"
351
- inset
352
- standalone
353
- v-bind="item.chip"
354
- :class="ui.itemLeadingChip({ class: [props.ui?.itemLeadingChip, item.ui?.itemLeadingChip] })"
355
- />
356
- </slot>
404
+ <ComboboxVirtualizer
405
+ v-slot="{ option: item, virtualItem }"
406
+ :options="filteredItems"
407
+ :text-content="(item2) => isInputItem(item2) ? get(item2, props.labelKey) : String(item2)"
408
+ v-bind="virtualizerProps"
409
+ >
410
+ <ReuseItemTemplate :item="item" :index="virtualItem.index" />
411
+ </ComboboxVirtualizer>
357
412
 
358
- <span :class="ui.itemLabel({ class: [props.ui?.itemLabel, isInputItem(item) && item.ui?.itemLabel] })">
359
- <slot name="item-label" :item="item" :index="index">
360
- {{ isInputItem(item) ? get(item, props.labelKey) : item }}
361
- </slot>
362
- </span>
413
+ <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'bottom'" />
414
+ </template>
363
415
 
364
- <span :class="ui.itemTrailing({ class: [props.ui?.itemTrailing, isInputItem(item) && item.ui?.itemTrailing] })">
365
- <slot name="item-trailing" :item="item" :index="index" />
416
+ <template v-else>
417
+ <ComboboxGroup v-if="createItem && createItemPosition === 'top'" :class="ui.group({ class: props.ui?.group })">
418
+ <ReuseCreateItemTemplate />
419
+ </ComboboxGroup>
366
420
 
367
- <ComboboxItemIndicator as-child>
368
- <UIcon :name="selectedIcon || appConfig.ui.icons.check" :class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, isInputItem(item) && item.ui?.itemTrailingIcon] })" />
369
- </ComboboxItemIndicator>
370
- </span>
371
- </slot>
372
- </ComboboxItem>
373
- </template>
374
- </ComboboxGroup>
421
+ <ComboboxGroup v-for="(group, groupIndex) in filteredGroups" :key="`group-${groupIndex}`" :class="ui.group({ class: props.ui?.group })">
422
+ <ReuseItemTemplate v-for="(item, index) in group" :key="`group-${groupIndex}-${index}`" :item="item" :index="index" />
423
+ </ComboboxGroup>
375
424
 
376
- <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'bottom'" />
425
+ <ComboboxGroup v-if="createItem && createItemPosition === 'bottom'" :class="ui.group({ class: props.ui?.group })">
426
+ <ReuseCreateItemTemplate />
427
+ </ComboboxGroup>
428
+ </template>
377
429
  </div>
378
430
 
379
431
  <slot name="content-bottom" />
@@ -11,6 +11,7 @@ type InputMenu = ComponentConfig<typeof theme, AppConfig, 'inputMenu'>;
11
11
  export type InputMenuValue = AcceptableValue;
12
12
  export type InputMenuItem = InputMenuValue | {
13
13
  label?: string;
14
+ description?: string;
14
15
  /**
15
16
  * @IconifyIcon
16
17
  */
@@ -23,9 +24,9 @@ export type InputMenuItem = InputMenuValue | {
23
24
  */
24
25
  type?: 'label' | 'separator' | 'item';
25
26
  disabled?: boolean;
26
- onSelect?(e?: Event): void;
27
+ onSelect?: (e: Event) => void;
27
28
  class?: any;
28
- ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemLabel' | 'itemTrailing' | 'itemTrailingIcon'>;
29
+ ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
29
30
  [key: string]: any;
30
31
  };
31
32
  export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover' | 'openOnClick' | 'openOnFocus'>, UseComponentIconsProps {
@@ -87,6 +88,23 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
87
88
  * @defaultValue true
88
89
  */
89
90
  portal?: boolean | string | HTMLElement;
91
+ /**
92
+ * Enable virtualization for large lists.
93
+ * Note: when enabled, all groups are flattened into a single list due to a limitation of Reka UI (https://github.com/unovue/reka-ui/issues/1885).
94
+ * @defaultValue false
95
+ */
96
+ virtualize?: boolean | {
97
+ /**
98
+ * Number of items rendered outside the visible area
99
+ * @defaultValue 12
100
+ */
101
+ overscan?: number;
102
+ /**
103
+ * Estimated size (in px) of each item
104
+ * @defaultValue 32
105
+ */
106
+ estimateSize?: number;
107
+ };
90
108
  /**
91
109
  * When `items` is an array of objects, select the field to use as the value instead of the object itself.
92
110
  * @defaultValue undefined
@@ -97,6 +115,11 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
97
115
  * @defaultValue 'label'
98
116
  */
99
117
  labelKey?: GetItemKeys<T>;
118
+ /**
119
+ * When `items` is an array of objects, select the field to use as the description.
120
+ * @defaultValue 'description'
121
+ */
122
+ descriptionKey?: GetItemKeys<T>;
100
123
  items?: T;
101
124
  /** The value of the InputMenu when initially rendered. Use when you do not need to control the state of the InputMenu. */
102
125
  defaultValue?: GetModelValue<T, VK, M>;
@@ -144,30 +167,37 @@ export type InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends Ge
144
167
  type SlotProps<T extends InputMenuItem> = (props: {
145
168
  item: T;
146
169
  index: number;
170
+ ui: InputMenu['ui'];
147
171
  }) => any;
148
172
  export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
149
173
  'leading'(props: {
150
174
  modelValue?: GetModelValue<A, VK, M>;
151
175
  open: boolean;
152
- ui: {
153
- [K in keyof Required<InputMenu['slots']>]: (props?: Record<string, any>) => string;
154
- };
176
+ ui: InputMenu['ui'];
155
177
  }): any;
156
178
  'trailing'(props: {
157
179
  modelValue?: GetModelValue<A, VK, M>;
158
180
  open: boolean;
159
- ui: {
160
- [K in keyof Required<InputMenu['slots']>]: (props?: Record<string, any>) => string;
161
- };
181
+ ui: InputMenu['ui'];
162
182
  }): any;
163
183
  'empty'(props: {
164
184
  searchTerm?: string;
165
185
  }): any;
166
186
  'item': SlotProps<T>;
167
187
  'item-leading': SlotProps<T>;
168
- 'item-label': SlotProps<T>;
188
+ 'item-label'(props: {
189
+ item: T;
190
+ index: number;
191
+ }): any;
192
+ 'item-description'(props: {
193
+ item: T;
194
+ index: number;
195
+ }): any;
169
196
  'item-trailing': SlotProps<T>;
170
- 'tags-item-text': SlotProps<T>;
197
+ 'tags-item-text'(props: {
198
+ item: T;
199
+ index: number;
200
+ }): any;
171
201
  'tags-item-delete': SlotProps<T>;
172
202
  'content-top': (props?: {}) => any;
173
203
  'content-bottom': (props?: {}) => any;
@@ -175,24 +205,14 @@ export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOr
175
205
  item: string;
176
206
  }): any;
177
207
  }
178
- declare const _default: <T extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__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<{
179
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
180
- readonly onBlur?: ((event: FocusEvent) => any) | undefined;
181
- readonly onChange?: ((event: Event) => any) | undefined;
182
- readonly onFocus?: ((event: FocusEvent) => any) | undefined;
183
- readonly onCreate?: ((item: string) => any) | undefined;
184
- readonly "onUpdate:open"?: ((value: boolean) => any) | undefined;
185
- readonly "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
186
- readonly onHighlight?: ((payload: {
187
- ref: HTMLElement;
188
- value: GetModelValue<T, VK, M>;
189
- } | undefined) => any) | undefined;
190
- readonly "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
191
- readonly "onRemove-tag"?: ((item: GetModelValue<T, VK, M>) => any) | undefined;
192
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onFocus" | "onBlur" | "onChange" | "onUpdate:open" | "onUpdate:modelValue" | "onCreate" | "onHighlight" | "onUpdate:searchTerm" | "onRemove-tag"> & (InputMenuProps<T, VK, M> & {
208
+ declare const __VLS_export: <T extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__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<{
209
+ props: __VLS_PrettifyLocal<(InputMenuProps<T, VK, M> & {
193
210
  searchTerm?: string;
194
- }) & {}> & import("vue").PublicProps;
195
- expose(exposed: import("vue").ShallowUnwrapRef<{
211
+ }) & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "create", item: string) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
212
+ ref: HTMLElement;
213
+ value: GetModelValue<T, VK, M>;
214
+ } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void) & ((evt: "update:searchTerm", value: string) => void)>>> & import("vue").PublicProps;
215
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
196
216
  inputRef: import("vue").Ref<({
197
217
  $: import("vue").ComponentInternalInstance;
198
218
  $data: {};
@@ -314,7 +334,7 @@ declare const _default: <T extends ArrayOrNested<InputMenuItem>, VK extends GetI
314
334
  default?: (props: {}) => any;
315
335
  };
316
336
  }) | null>;
317
- }>): void;
337
+ }>) => void;
318
338
  attrs: any;
319
339
  slots: InputMenuSlots<T, VK, M, NestedItem<T>>;
320
340
  emit: (((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "create", item: string) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
@@ -324,6 +344,7 @@ declare const _default: <T extends ArrayOrNested<InputMenuItem>, VK extends GetI
324
344
  }>) => import("vue").VNode & {
325
345
  __ctx?: Awaited<typeof __VLS_setup>;
326
346
  };
347
+ declare const _default: typeof __VLS_export;
327
348
  export default _default;
328
349
  type __VLS_PrettifyLocal<T> = {
329
350
  [K in keyof T as K]: T[K];
@@ -27,7 +27,7 @@ export interface InputNumberProps extends Pick<NumberFieldRootProps, 'modelValue
27
27
  * Configure the increment button. The `color` and `size` are inherited.
28
28
  * @defaultValue { variant: 'link' }
29
29
  */
30
- increment?: ButtonProps;
30
+ increment?: boolean | ButtonProps;
31
31
  /**
32
32
  * The icon displayed to increment the value.
33
33
  * @defaultValue appConfig.ui.icons.plus
@@ -40,7 +40,7 @@ export interface InputNumberProps extends Pick<NumberFieldRootProps, 'modelValue
40
40
  * Configure the decrement button. The `color` and `size` are inherited.
41
41
  * @defaultValue { variant: 'link' }
42
42
  */
43
- decrement?: ButtonProps;
43
+ decrement?: boolean | ButtonProps;
44
44
  /**
45
45
  * The icon displayed to decrement the value.
46
46
  * @defaultValue appConfig.ui.icons.minus
@@ -69,7 +69,7 @@ export interface InputNumberSlots {
69
69
  increment(props?: {}): any;
70
70
  decrement(props?: {}): any;
71
71
  }
72
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InputNumberProps, {
72
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<InputNumberProps, {
73
73
  inputRef: import("vue").Ref<({
74
74
  $: import("vue").ComponentInternalInstance;
75
75
  $data: {};
@@ -178,8 +178,11 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InputNumbe
178
178
  onChange?: ((event: Event) => any) | undefined;
179
179
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
180
180
  }>, {
181
+ decrement: boolean | ButtonProps;
182
+ increment: boolean | ButtonProps;
181
183
  orientation: "vertical" | "horizontal";
182
184
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, InputNumberSlots>;
185
+ declare const _default: typeof __VLS_export;
183
186
  export default _default;
184
187
  type __VLS_WithSlots<T, S> = T & {
185
188
  new (): {
@@ -21,10 +21,10 @@ const props = defineProps({
21
21
  size: { type: null, required: false },
22
22
  highlight: { type: Boolean, required: false },
23
23
  orientation: { type: String, required: false, default: "horizontal" },
24
- increment: { type: Object, required: false },
24
+ increment: { type: [Boolean, Object], required: false, default: true },
25
25
  incrementIcon: { type: [String, Object], required: false },
26
26
  incrementDisabled: { type: Boolean, required: false },
27
- decrement: { type: Object, required: false },
27
+ decrement: { type: [Boolean, Object], required: false, default: true },
28
28
  decrementIcon: { type: [String, Object], required: false },
29
29
  decrementDisabled: { type: Boolean, required: false },
30
30
  autofocus: { type: Boolean, required: false },
@@ -64,7 +64,9 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.inputNumber |
64
64
  size: inputSize.value,
65
65
  highlight: highlight.value,
66
66
  orientation: props.orientation,
67
- fieldGroup: orientation.value
67
+ fieldGroup: orientation.value,
68
+ increment: props.orientation === "vertical" ? !!props.increment || !!props.decrement : !!props.increment,
69
+ decrement: props.orientation === "vertical" ? false : !!props.decrement
68
70
  }));
69
71
  const incrementIcon = computed(() => props.incrementIcon || (props.orientation === "horizontal" ? appConfig.ui.icons.plus : appConfig.ui.icons.chevronUp));
70
72
  const decrementIcon = computed(() => props.decrementIcon || (props.orientation === "horizontal" ? appConfig.ui.icons.minus : appConfig.ui.icons.chevronDown));
@@ -118,7 +120,7 @@ defineExpose({
118
120
  @focus="emitFormFocus"
119
121
  />
120
122
 
121
- <div :class="ui.increment({ class: props.ui?.increment })">
123
+ <div v-if="!!increment" :class="ui.increment({ class: props.ui?.increment })">
122
124
  <NumberFieldIncrement as-child :disabled="disabled || incrementDisabled">
123
125
  <slot name="increment">
124
126
  <UButton
@@ -133,7 +135,7 @@ defineExpose({
133
135
  </NumberFieldIncrement>
134
136
  </div>
135
137
 
136
- <div :class="ui.decrement({ class: props.ui?.decrement })">
138
+ <div v-if="!!decrement" :class="ui.decrement({ class: props.ui?.decrement })">
137
139
  <NumberFieldDecrement as-child :disabled="disabled || decrementDisabled">
138
140
  <slot name="decrement">
139
141
  <UButton
@@ -27,7 +27,7 @@ export interface InputNumberProps extends Pick<NumberFieldRootProps, 'modelValue
27
27
  * Configure the increment button. The `color` and `size` are inherited.
28
28
  * @defaultValue { variant: 'link' }
29
29
  */
30
- increment?: ButtonProps;
30
+ increment?: boolean | ButtonProps;
31
31
  /**
32
32
  * The icon displayed to increment the value.
33
33
  * @defaultValue appConfig.ui.icons.plus
@@ -40,7 +40,7 @@ export interface InputNumberProps extends Pick<NumberFieldRootProps, 'modelValue
40
40
  * Configure the decrement button. The `color` and `size` are inherited.
41
41
  * @defaultValue { variant: 'link' }
42
42
  */
43
- decrement?: ButtonProps;
43
+ decrement?: boolean | ButtonProps;
44
44
  /**
45
45
  * The icon displayed to decrement the value.
46
46
  * @defaultValue appConfig.ui.icons.minus
@@ -69,7 +69,7 @@ export interface InputNumberSlots {
69
69
  increment(props?: {}): any;
70
70
  decrement(props?: {}): any;
71
71
  }
72
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InputNumberProps, {
72
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<InputNumberProps, {
73
73
  inputRef: import("vue").Ref<({
74
74
  $: import("vue").ComponentInternalInstance;
75
75
  $data: {};
@@ -178,8 +178,11 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InputNumbe
178
178
  onChange?: ((event: Event) => any) | undefined;
179
179
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
180
180
  }>, {
181
+ decrement: boolean | ButtonProps;
182
+ increment: boolean | ButtonProps;
181
183
  orientation: "vertical" | "horizontal";
182
184
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, InputNumberSlots>;
185
+ declare const _default: typeof __VLS_export;
183
186
  export default _default;
184
187
  type __VLS_WithSlots<T, S> = T & {
185
188
  new (): {
@@ -49,25 +49,24 @@ export interface InputTagsEmits<T extends InputTagItem> extends TagsInputRootEmi
49
49
  type SlotProps<T extends InputTagItem> = (props: {
50
50
  item: T;
51
51
  index: number;
52
+ ui: InputTags['ui'];
52
53
  }) => any;
53
54
  export interface InputTagsSlots<T extends InputTagItem = InputTagItem> {
54
- 'leading'(props?: {}): any;
55
- 'default'(props?: {}): any;
56
- 'trailing'(props?: {}): any;
55
+ 'leading'(props: {
56
+ ui: InputTags['ui'];
57
+ }): any;
58
+ 'default'(props: {
59
+ ui: InputTags['ui'];
60
+ }): any;
61
+ 'trailing'(props: {
62
+ ui: InputTags['ui'];
63
+ }): any;
57
64
  'item-text': SlotProps<T>;
58
65
  'item-delete': SlotProps<T>;
59
66
  }
60
- declare const _default: <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<{
61
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
62
- readonly onBlur?: ((event: FocusEvent) => any) | undefined;
63
- readonly onChange?: ((event: Event) => any) | undefined;
64
- readonly onFocus?: ((event: FocusEvent) => any) | undefined;
65
- readonly onInvalid?: ((payload: T) => any) | undefined;
66
- readonly "onUpdate:modelValue"?: ((payload: T[]) => any) | undefined;
67
- readonly onAddTag?: ((payload: T) => any) | undefined;
68
- readonly onRemoveTag?: ((payload: T) => any) | undefined;
69
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onFocus" | "onBlur" | "onChange" | "onInvalid" | "onUpdate:modelValue" | "onRemoveTag" | "onAddTag"> & InputTagsProps<T> & {}> & import("vue").PublicProps;
70
- expose(exposed: import("vue").ShallowUnwrapRef<{
67
+ 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
+ props: __VLS_PrettifyLocal<InputTagsProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((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: "removeTag", payload: T) => void) & ((evt: "addTag", payload: T) => void)>>> & import("vue").PublicProps;
69
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
71
70
  inputRef: import("vue").Ref<({
72
71
  $: import("vue").ComponentInternalInstance;
73
72
  $data: {};
@@ -173,13 +172,14 @@ declare const _default: <T extends InputTagItem>(__VLS_props: NonNullable<Awaite
173
172
  default?: (props: {}) => any;
174
173
  };
175
174
  }) | null>;
176
- }>): void;
175
+ }>) => void;
177
176
  attrs: any;
178
177
  slots: InputTagsSlots<T>;
179
- 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);
178
+ 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: "removeTag", payload: T) => void) & ((evt: "addTag", payload: T) => void);
180
179
  }>) => import("vue").VNode & {
181
180
  __ctx?: Awaited<typeof __VLS_setup>;
182
181
  };
182
+ declare const _default: typeof __VLS_export;
183
183
  export default _default;
184
184
  type __VLS_PrettifyLocal<T> = {
185
185
  [K in keyof T as K]: T[K];
@@ -120,14 +120,14 @@ defineExpose({
120
120
  :class="ui.item({ class: [props.ui?.item] })"
121
121
  >
122
122
  <TagsInputItemText :class="ui.itemText({ class: [props.ui?.itemText] })">
123
- <slot v-if="!!slots['item-text']" name="item-text" :item="item" :index="index" />
123
+ <slot v-if="!!slots['item-text']" name="item-text" :item="item" :index="index" :ui="ui" />
124
124
  </TagsInputItemText>
125
125
 
126
126
  <TagsInputItemDelete
127
127
  :class="ui.itemDelete({ class: [props.ui?.itemDelete] })"
128
128
  :disabled="disabled"
129
129
  >
130
- <slot name="item-delete" :item="item" :index="index">
130
+ <slot name="item-delete" :item="item" :index="index" :ui="ui">
131
131
  <UIcon :name="deleteIcon || appConfig.ui.icons.close" :class="ui.itemDeleteIcon({ class: [props.ui?.itemDeleteIcon] })" />
132
132
  </slot>
133
133
  </TagsInputItemDelete>
@@ -143,17 +143,17 @@ defineExpose({
143
143
  @focus="onFocus"
144
144
  />
145
145
 
146
- <slot />
146
+ <slot :ui="ui" />
147
147
 
148
148
  <span v-if="isLeading || !!avatar || !!slots.leading" :class="ui.leading({ class: props.ui?.leading })">
149
- <slot name="leading">
149
+ <slot name="leading" :ui="ui">
150
150
  <UIcon v-if="isLeading && leadingIconName" :name="leadingIconName" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
151
151
  <UAvatar v-else-if="!!avatar" :size="props.ui?.leadingAvatarSize || ui.leadingAvatarSize()" v-bind="avatar" :class="ui.leadingAvatar({ class: props.ui?.leadingAvatar })" />
152
152
  </slot>
153
153
  </span>
154
154
 
155
155
  <span v-if="isTrailing || !!slots.trailing" :class="ui.trailing({ class: props.ui?.trailing })">
156
- <slot name="trailing">
156
+ <slot name="trailing" :ui="ui">
157
157
  <UIcon v-if="trailingIconName" :name="trailingIconName" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
158
158
  </slot>
159
159
  </span>