@bitrix24/b24ui-nuxt 2.2.1 → 2.3.0

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 (477) hide show
  1. package/README.md +5 -4
  2. package/cli/package.json +1 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +1 -1
  5. package/dist/runtime/components/Accordion.d.vue.ts +17 -8
  6. package/dist/runtime/components/Accordion.vue +6 -5
  7. package/dist/runtime/components/Accordion.vue.d.ts +17 -8
  8. package/dist/runtime/components/Advice.d.vue.ts +4 -1
  9. package/dist/runtime/components/Advice.vue +1 -1
  10. package/dist/runtime/components/Advice.vue.d.ts +4 -1
  11. package/dist/runtime/components/Alert.d.vue.ts +6 -3
  12. package/dist/runtime/components/Alert.vue +1 -1
  13. package/dist/runtime/components/Alert.vue.d.ts +6 -3
  14. package/dist/runtime/components/App.d.vue.ts +8 -6
  15. package/dist/runtime/components/App.vue.d.ts +8 -6
  16. package/dist/runtime/components/Avatar.d.vue.ts +2 -2
  17. package/dist/runtime/components/Avatar.vue +1 -1
  18. package/dist/runtime/components/Avatar.vue.d.ts +2 -2
  19. package/dist/runtime/components/AvatarGroup.d.vue.ts +1 -1
  20. package/dist/runtime/components/AvatarGroup.vue +1 -1
  21. package/dist/runtime/components/AvatarGroup.vue.d.ts +1 -1
  22. package/dist/runtime/components/Badge.d.vue.ts +4 -1
  23. package/dist/runtime/components/Badge.vue +1 -1
  24. package/dist/runtime/components/Badge.vue.d.ts +4 -1
  25. package/dist/runtime/components/Banner.d.vue.ts +3 -4
  26. package/dist/runtime/components/Banner.vue +50 -24
  27. package/dist/runtime/components/Banner.vue.d.ts +3 -4
  28. package/dist/runtime/components/Breadcrumb.d.vue.ts +8 -6
  29. package/dist/runtime/components/Breadcrumb.vue +1 -1
  30. package/dist/runtime/components/Breadcrumb.vue.d.ts +8 -6
  31. package/dist/runtime/components/Button.d.vue.ts +4 -1
  32. package/dist/runtime/components/Button.vue +1 -1
  33. package/dist/runtime/components/Button.vue.d.ts +4 -1
  34. package/dist/runtime/components/Calendar.d.vue.ts +14 -6
  35. package/dist/runtime/components/Calendar.vue +14 -3
  36. package/dist/runtime/components/Calendar.vue.d.ts +14 -6
  37. package/dist/runtime/components/Card.d.vue.ts +1 -1
  38. package/dist/runtime/components/Card.vue +1 -1
  39. package/dist/runtime/components/Card.vue.d.ts +1 -1
  40. package/dist/runtime/components/ChatMessage.d.vue.ts +3 -1
  41. package/dist/runtime/components/ChatMessage.vue +1 -1
  42. package/dist/runtime/components/ChatMessage.vue.d.ts +3 -1
  43. package/dist/runtime/components/ChatMessages.d.vue.ts +6 -1
  44. package/dist/runtime/components/ChatMessages.vue +2 -2
  45. package/dist/runtime/components/ChatMessages.vue.d.ts +6 -1
  46. package/dist/runtime/components/ChatPalette.d.vue.ts +1 -1
  47. package/dist/runtime/components/ChatPalette.vue +1 -1
  48. package/dist/runtime/components/ChatPalette.vue.d.ts +1 -1
  49. package/dist/runtime/components/ChatPrompt.d.vue.ts +9 -4
  50. package/dist/runtime/components/ChatPrompt.vue +1 -1
  51. package/dist/runtime/components/ChatPrompt.vue.d.ts +9 -4
  52. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +9 -3
  53. package/dist/runtime/components/ChatPromptSubmit.vue +1 -1
  54. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +9 -3
  55. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  56. package/dist/runtime/components/Checkbox.vue +1 -1
  57. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  58. package/dist/runtime/components/CheckboxGroup.d.vue.ts +16 -11
  59. package/dist/runtime/components/CheckboxGroup.vue +2 -2
  60. package/dist/runtime/components/CheckboxGroup.vue.d.ts +16 -11
  61. package/dist/runtime/components/Chip.d.vue.ts +8 -3
  62. package/dist/runtime/components/Chip.vue +1 -1
  63. package/dist/runtime/components/Chip.vue.d.ts +8 -3
  64. package/dist/runtime/components/Collapsible.d.vue.ts +5 -3
  65. package/dist/runtime/components/Collapsible.vue +1 -1
  66. package/dist/runtime/components/Collapsible.vue.d.ts +5 -3
  67. package/dist/runtime/components/ColorPicker.d.vue.ts +7 -3
  68. package/dist/runtime/components/ColorPicker.vue +1 -1
  69. package/dist/runtime/components/ColorPicker.vue.d.ts +7 -3
  70. package/dist/runtime/components/CommandPalette.d.vue.ts +37 -14
  71. package/dist/runtime/components/CommandPalette.vue +26 -21
  72. package/dist/runtime/components/CommandPalette.vue.d.ts +37 -14
  73. package/dist/runtime/components/Container.d.vue.ts +1 -1
  74. package/dist/runtime/components/Container.vue.d.ts +1 -1
  75. package/dist/runtime/components/ContextMenu.d.vue.ts +10 -6
  76. package/dist/runtime/components/ContextMenu.vue +1 -1
  77. package/dist/runtime/components/ContextMenu.vue.d.ts +10 -6
  78. package/dist/runtime/components/ContextMenuContent.d.vue.ts +14 -6
  79. package/dist/runtime/components/ContextMenuContent.vue +11 -11
  80. package/dist/runtime/components/ContextMenuContent.vue.d.ts +14 -6
  81. package/dist/runtime/components/Countdown.d.vue.ts +12 -3
  82. package/dist/runtime/components/Countdown.vue +1 -1
  83. package/dist/runtime/components/Countdown.vue.d.ts +12 -3
  84. package/dist/runtime/components/DashboardGroup.d.vue.ts +4 -1
  85. package/dist/runtime/components/DashboardGroup.vue.d.ts +4 -1
  86. package/dist/runtime/components/DashboardSearch.d.vue.ts +13 -4
  87. package/dist/runtime/components/DashboardSearch.vue +4 -2
  88. package/dist/runtime/components/DashboardSearch.vue.d.ts +13 -4
  89. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +6 -1
  90. package/dist/runtime/components/DashboardSearchButton.vue +1 -1
  91. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +6 -1
  92. package/dist/runtime/components/DescriptionList.d.vue.ts +8 -6
  93. package/dist/runtime/components/DescriptionList.vue +1 -1
  94. package/dist/runtime/components/DescriptionList.vue.d.ts +8 -6
  95. package/dist/runtime/components/DropdownMenu.d.vue.ts +10 -6
  96. package/dist/runtime/components/DropdownMenu.vue +1 -1
  97. package/dist/runtime/components/DropdownMenu.vue.d.ts +10 -6
  98. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +14 -6
  99. package/dist/runtime/components/DropdownMenuContent.vue +11 -11
  100. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +14 -6
  101. package/dist/runtime/components/Editor.d.vue.ts +29 -15
  102. package/dist/runtime/components/Editor.vue +31 -17
  103. package/dist/runtime/components/Editor.vue.d.ts +29 -15
  104. package/dist/runtime/components/EditorDragHandle.d.vue.ts +18 -3
  105. package/dist/runtime/components/EditorDragHandle.vue +12 -5
  106. package/dist/runtime/components/EditorDragHandle.vue.d.ts +18 -3
  107. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +12 -6
  108. package/dist/runtime/components/EditorEmojiMenu.vue +5 -2
  109. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +12 -6
  110. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +12 -6
  111. package/dist/runtime/components/EditorMentionMenu.vue +5 -2
  112. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +12 -6
  113. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +12 -6
  114. package/dist/runtime/components/EditorSuggestionMenu.vue +5 -2
  115. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +12 -6
  116. package/dist/runtime/components/EditorToolbar.d.vue.ts +8 -6
  117. package/dist/runtime/components/EditorToolbar.vue +10 -9
  118. package/dist/runtime/components/EditorToolbar.vue.d.ts +8 -6
  119. package/dist/runtime/components/Empty.d.vue.ts +3 -1
  120. package/dist/runtime/components/Empty.vue +1 -1
  121. package/dist/runtime/components/Empty.vue.d.ts +3 -1
  122. package/dist/runtime/components/Error.d.vue.ts +6 -2
  123. package/dist/runtime/components/Error.vue +2 -2
  124. package/dist/runtime/components/Error.vue.d.ts +6 -2
  125. package/dist/runtime/components/FieldGroup.d.vue.ts +4 -1
  126. package/dist/runtime/components/FieldGroup.vue +1 -1
  127. package/dist/runtime/components/FieldGroup.vue.d.ts +4 -1
  128. package/dist/runtime/components/FileUpload.d.vue.ts +13 -8
  129. package/dist/runtime/components/FileUpload.vue +3 -3
  130. package/dist/runtime/components/FileUpload.vue.d.ts +13 -8
  131. package/dist/runtime/components/Form.d.vue.ts +11 -6
  132. package/dist/runtime/components/Form.vue.d.ts +11 -6
  133. package/dist/runtime/components/FormField.d.vue.ts +3 -1
  134. package/dist/runtime/components/FormField.vue +1 -1
  135. package/dist/runtime/components/FormField.vue.d.ts +3 -1
  136. package/dist/runtime/components/Input.d.vue.ts +13 -7
  137. package/dist/runtime/components/Input.vue +2 -2
  138. package/dist/runtime/components/Input.vue.d.ts +13 -7
  139. package/dist/runtime/components/InputDate.d.vue.ts +15 -8
  140. package/dist/runtime/components/InputDate.vue +1 -1
  141. package/dist/runtime/components/InputDate.vue.d.ts +15 -8
  142. package/dist/runtime/components/InputMenu.d.vue.ts +43 -16
  143. package/dist/runtime/components/InputMenu.vue +43 -10
  144. package/dist/runtime/components/InputMenu.vue.d.ts +43 -16
  145. package/dist/runtime/components/InputNumber.d.vue.ts +15 -9
  146. package/dist/runtime/components/InputNumber.vue +7 -6
  147. package/dist/runtime/components/InputNumber.vue.d.ts +15 -9
  148. package/dist/runtime/components/InputTags.d.vue.ts +17 -7
  149. package/dist/runtime/components/InputTags.vue +1 -1
  150. package/dist/runtime/components/InputTags.vue.d.ts +17 -7
  151. package/dist/runtime/components/InputTime.d.vue.ts +10 -9
  152. package/dist/runtime/components/InputTime.vue +2 -1
  153. package/dist/runtime/components/InputTime.vue.d.ts +10 -9
  154. package/dist/runtime/components/Kbd.d.vue.ts +4 -1
  155. package/dist/runtime/components/Kbd.vue.d.ts +4 -1
  156. package/dist/runtime/components/Link.d.vue.ts +7 -1
  157. package/dist/runtime/components/Link.vue.d.ts +7 -1
  158. package/dist/runtime/components/LinkBase.d.vue.ts +6 -3
  159. package/dist/runtime/components/LinkBase.vue.d.ts +6 -3
  160. package/dist/runtime/components/Modal.d.vue.ts +12 -3
  161. package/dist/runtime/components/Modal.vue +5 -14
  162. package/dist/runtime/components/Modal.vue.d.ts +12 -3
  163. package/dist/runtime/components/ModalDialogClose.d.vue.ts +1 -1
  164. package/dist/runtime/components/ModalDialogClose.vue.d.ts +1 -1
  165. package/dist/runtime/components/Navbar.d.vue.ts +3 -1
  166. package/dist/runtime/components/Navbar.vue +1 -1
  167. package/dist/runtime/components/Navbar.vue.d.ts +3 -1
  168. package/dist/runtime/components/NavbarDivider.d.vue.ts +3 -1
  169. package/dist/runtime/components/NavbarDivider.vue +1 -1
  170. package/dist/runtime/components/NavbarDivider.vue.d.ts +3 -1
  171. package/dist/runtime/components/NavbarSection.d.vue.ts +3 -1
  172. package/dist/runtime/components/NavbarSection.vue +1 -1
  173. package/dist/runtime/components/NavbarSection.vue.d.ts +3 -1
  174. package/dist/runtime/components/NavbarSpacer.d.vue.ts +3 -1
  175. package/dist/runtime/components/NavbarSpacer.vue +1 -1
  176. package/dist/runtime/components/NavbarSpacer.vue.d.ts +3 -1
  177. package/dist/runtime/components/NavigationMenu.d.vue.ts +16 -7
  178. package/dist/runtime/components/NavigationMenu.vue +10 -9
  179. package/dist/runtime/components/NavigationMenu.vue.d.ts +16 -7
  180. package/dist/runtime/components/PageCard.d.vue.ts +3 -1
  181. package/dist/runtime/components/PageCard.vue +1 -1
  182. package/dist/runtime/components/PageCard.vue.d.ts +3 -1
  183. package/dist/runtime/components/PageColumns.d.vue.ts +1 -1
  184. package/dist/runtime/components/PageColumns.vue.d.ts +1 -1
  185. package/dist/runtime/components/PageGrid.d.vue.ts +1 -1
  186. package/dist/runtime/components/PageGrid.vue.d.ts +1 -1
  187. package/dist/runtime/components/PageLinks.d.vue.ts +8 -6
  188. package/dist/runtime/components/PageLinks.vue +1 -1
  189. package/dist/runtime/components/PageLinks.vue.d.ts +8 -6
  190. package/dist/runtime/components/PageList.d.vue.ts +3 -1
  191. package/dist/runtime/components/PageList.vue.d.ts +3 -1
  192. package/dist/runtime/components/Pagination.d.vue.ts +11 -3
  193. package/dist/runtime/components/Pagination.vue +1 -1
  194. package/dist/runtime/components/Pagination.vue.d.ts +11 -3
  195. package/dist/runtime/components/PinInput.d.vue.ts +14 -8
  196. package/dist/runtime/components/PinInput.vue +1 -1
  197. package/dist/runtime/components/PinInput.vue.d.ts +14 -8
  198. package/dist/runtime/components/Popover.d.vue.ts +11 -6
  199. package/dist/runtime/components/Popover.vue +4 -1
  200. package/dist/runtime/components/Popover.vue.d.ts +11 -6
  201. package/dist/runtime/components/Progress.d.vue.ts +7 -3
  202. package/dist/runtime/components/Progress.vue +1 -1
  203. package/dist/runtime/components/Progress.vue.d.ts +7 -3
  204. package/dist/runtime/components/RadioGroup.d.vue.ts +12 -7
  205. package/dist/runtime/components/RadioGroup.vue +1 -1
  206. package/dist/runtime/components/RadioGroup.vue.d.ts +12 -7
  207. package/dist/runtime/components/Range.d.vue.ts +14 -9
  208. package/dist/runtime/components/Range.vue +1 -1
  209. package/dist/runtime/components/Range.vue.d.ts +14 -9
  210. package/dist/runtime/components/ScrollArea.d.vue.ts +10 -6
  211. package/dist/runtime/components/ScrollArea.vue +1 -1
  212. package/dist/runtime/components/ScrollArea.vue.d.ts +10 -6
  213. package/dist/runtime/components/Select.d.vue.ts +15 -6
  214. package/dist/runtime/components/Select.vue +5 -2
  215. package/dist/runtime/components/Select.vue.d.ts +15 -6
  216. package/dist/runtime/components/SelectMenu.d.vue.ts +42 -16
  217. package/dist/runtime/components/SelectMenu.vue +46 -12
  218. package/dist/runtime/components/SelectMenu.vue.d.ts +42 -16
  219. package/dist/runtime/components/Separator.d.vue.ts +7 -2
  220. package/dist/runtime/components/Separator.vue.d.ts +7 -2
  221. package/dist/runtime/components/Sidebar.d.vue.ts +3 -1
  222. package/dist/runtime/components/Sidebar.vue +1 -1
  223. package/dist/runtime/components/Sidebar.vue.d.ts +3 -1
  224. package/dist/runtime/components/SidebarBody.d.vue.ts +4 -1
  225. package/dist/runtime/components/SidebarBody.vue +1 -1
  226. package/dist/runtime/components/SidebarBody.vue.d.ts +4 -1
  227. package/dist/runtime/components/SidebarFooter.d.vue.ts +3 -1
  228. package/dist/runtime/components/SidebarFooter.vue +1 -1
  229. package/dist/runtime/components/SidebarFooter.vue.d.ts +3 -1
  230. package/dist/runtime/components/SidebarHeader.d.vue.ts +3 -1
  231. package/dist/runtime/components/SidebarHeader.vue +1 -1
  232. package/dist/runtime/components/SidebarHeader.vue.d.ts +3 -1
  233. package/dist/runtime/components/SidebarHeading.d.vue.ts +3 -1
  234. package/dist/runtime/components/SidebarHeading.vue +1 -1
  235. package/dist/runtime/components/SidebarHeading.vue.d.ts +3 -1
  236. package/dist/runtime/components/SidebarLayout.d.vue.ts +6 -1
  237. package/dist/runtime/components/SidebarLayout.vue +1 -1
  238. package/dist/runtime/components/SidebarLayout.vue.d.ts +6 -1
  239. package/dist/runtime/components/SidebarSection.d.vue.ts +3 -1
  240. package/dist/runtime/components/SidebarSection.vue +1 -1
  241. package/dist/runtime/components/SidebarSection.vue.d.ts +3 -1
  242. package/dist/runtime/components/SidebarSpacer.d.vue.ts +3 -1
  243. package/dist/runtime/components/SidebarSpacer.vue +1 -1
  244. package/dist/runtime/components/SidebarSpacer.vue.d.ts +3 -1
  245. package/dist/runtime/components/Skeleton.d.vue.ts +5 -3
  246. package/dist/runtime/components/Skeleton.vue +1 -1
  247. package/dist/runtime/components/Skeleton.vue.d.ts +5 -3
  248. package/dist/runtime/components/Slideover.d.vue.ts +13 -3
  249. package/dist/runtime/components/Slideover.vue +5 -2
  250. package/dist/runtime/components/Slideover.vue.d.ts +13 -3
  251. package/dist/runtime/components/Stepper.d.vue.ts +24 -10
  252. package/dist/runtime/components/Stepper.vue +21 -17
  253. package/dist/runtime/components/Stepper.vue.d.ts +24 -10
  254. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  255. package/dist/runtime/components/Switch.vue +1 -1
  256. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  257. package/dist/runtime/components/Table.d.vue.ts +25 -10
  258. package/dist/runtime/components/Table.vue +1 -1
  259. package/dist/runtime/components/Table.vue.d.ts +25 -10
  260. package/dist/runtime/components/TableWrapper.d.vue.ts +6 -3
  261. package/dist/runtime/components/TableWrapper.vue +1 -1
  262. package/dist/runtime/components/TableWrapper.vue.d.ts +6 -3
  263. package/dist/runtime/components/Tabs.d.vue.ts +17 -9
  264. package/dist/runtime/components/Tabs.vue +6 -5
  265. package/dist/runtime/components/Tabs.vue.d.ts +17 -9
  266. package/dist/runtime/components/Textarea.d.vue.ts +13 -7
  267. package/dist/runtime/components/Textarea.vue +1 -1
  268. package/dist/runtime/components/Textarea.vue.d.ts +13 -7
  269. package/dist/runtime/components/Timeline.d.vue.ts +24 -10
  270. package/dist/runtime/components/Timeline.vue +27 -18
  271. package/dist/runtime/components/Timeline.vue.d.ts +24 -10
  272. package/dist/runtime/components/Toast.d.vue.ts +7 -3
  273. package/dist/runtime/components/Toast.vue +1 -1
  274. package/dist/runtime/components/Toast.vue.d.ts +7 -3
  275. package/dist/runtime/components/Toaster.d.vue.ts +8 -1
  276. package/dist/runtime/components/Toaster.vue +1 -1
  277. package/dist/runtime/components/Toaster.vue.d.ts +8 -1
  278. package/dist/runtime/components/Tooltip.d.vue.ts +6 -3
  279. package/dist/runtime/components/Tooltip.vue +1 -1
  280. package/dist/runtime/components/Tooltip.vue.d.ts +6 -3
  281. package/dist/runtime/components/User.d.vue.ts +3 -1
  282. package/dist/runtime/components/User.vue +1 -1
  283. package/dist/runtime/components/User.vue.d.ts +3 -1
  284. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  285. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +1 -1
  286. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  287. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -1
  288. package/dist/runtime/components/color-mode/ColorModeButton.vue +1 -1
  289. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -1
  290. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +1 -1
  291. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +1 -1
  292. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +3 -1
  293. package/dist/runtime/components/color-mode/ColorModeSelect.vue +5 -1
  294. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +3 -1
  295. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  296. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +1 -1
  297. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  298. package/dist/runtime/components/content/ContentSearch.d.vue.ts +17 -9
  299. package/dist/runtime/components/content/ContentSearch.vue +4 -2
  300. package/dist/runtime/components/content/ContentSearch.vue.d.ts +17 -9
  301. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +6 -1
  302. package/dist/runtime/components/content/ContentSearchButton.vue +1 -1
  303. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +6 -1
  304. package/dist/runtime/components/content/ContentSurround.d.vue.ts +8 -6
  305. package/dist/runtime/components/content/ContentSurround.vue +2 -2
  306. package/dist/runtime/components/content/ContentSurround.vue.d.ts +8 -6
  307. package/dist/runtime/components/content/ContentToc.d.vue.ts +11 -6
  308. package/dist/runtime/components/content/ContentToc.vue +1 -1
  309. package/dist/runtime/components/content/ContentToc.vue.d.ts +11 -6
  310. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +7 -3
  311. package/dist/runtime/components/locale/LocaleSelect.vue +5 -1
  312. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +7 -3
  313. package/dist/runtime/components/prose/A.d.vue.ts +1 -1
  314. package/dist/runtime/components/prose/A.vue +1 -1
  315. package/dist/runtime/components/prose/A.vue.d.ts +1 -1
  316. package/dist/runtime/components/prose/Accordion.d.vue.ts +3 -1
  317. package/dist/runtime/components/prose/Accordion.vue +1 -1
  318. package/dist/runtime/components/prose/Accordion.vue.d.ts +3 -1
  319. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +1 -1
  320. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +1 -1
  321. package/dist/runtime/components/prose/Badge.d.vue.ts +1 -1
  322. package/dist/runtime/components/prose/Badge.vue.d.ts +1 -1
  323. package/dist/runtime/components/prose/Blockquote.d.vue.ts +1 -1
  324. package/dist/runtime/components/prose/Blockquote.vue +1 -1
  325. package/dist/runtime/components/prose/Blockquote.vue.d.ts +1 -1
  326. package/dist/runtime/components/prose/Callout.d.vue.ts +1 -1
  327. package/dist/runtime/components/prose/Callout.vue +7 -1
  328. package/dist/runtime/components/prose/Callout.vue.d.ts +1 -1
  329. package/dist/runtime/components/prose/Card.d.vue.ts +1 -1
  330. package/dist/runtime/components/prose/Card.vue +1 -1
  331. package/dist/runtime/components/prose/Card.vue.d.ts +1 -1
  332. package/dist/runtime/components/prose/CardGroup.d.vue.ts +1 -1
  333. package/dist/runtime/components/prose/CardGroup.vue.d.ts +1 -1
  334. package/dist/runtime/components/prose/Code.d.vue.ts +1 -1
  335. package/dist/runtime/components/prose/Code.vue +1 -1
  336. package/dist/runtime/components/prose/Code.vue.d.ts +1 -1
  337. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -2
  338. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  339. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -2
  340. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +5 -3
  341. package/dist/runtime/components/prose/CodeGroup.vue +1 -1
  342. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +5 -3
  343. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  344. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  345. package/dist/runtime/components/prose/CodePreview.d.vue.ts +1 -1
  346. package/dist/runtime/components/prose/CodePreview.vue +1 -1
  347. package/dist/runtime/components/prose/CodePreview.vue.d.ts +1 -1
  348. package/dist/runtime/components/prose/Collapsible.d.vue.ts +1 -1
  349. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  350. package/dist/runtime/components/prose/Collapsible.vue.d.ts +1 -1
  351. package/dist/runtime/components/prose/Em.d.vue.ts +1 -1
  352. package/dist/runtime/components/prose/Em.vue +1 -1
  353. package/dist/runtime/components/prose/Em.vue.d.ts +1 -1
  354. package/dist/runtime/components/prose/Field.d.vue.ts +1 -1
  355. package/dist/runtime/components/prose/Field.vue +1 -1
  356. package/dist/runtime/components/prose/Field.vue.d.ts +1 -1
  357. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +1 -1
  358. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +1 -1
  359. package/dist/runtime/components/prose/H1.d.vue.ts +3 -1
  360. package/dist/runtime/components/prose/H1.vue +1 -1
  361. package/dist/runtime/components/prose/H1.vue.d.ts +3 -1
  362. package/dist/runtime/components/prose/H2.d.vue.ts +3 -1
  363. package/dist/runtime/components/prose/H2.vue +1 -1
  364. package/dist/runtime/components/prose/H2.vue.d.ts +3 -1
  365. package/dist/runtime/components/prose/H3.d.vue.ts +3 -1
  366. package/dist/runtime/components/prose/H3.vue +1 -1
  367. package/dist/runtime/components/prose/H3.vue.d.ts +3 -1
  368. package/dist/runtime/components/prose/H4.d.vue.ts +3 -1
  369. package/dist/runtime/components/prose/H4.vue +1 -1
  370. package/dist/runtime/components/prose/H4.vue.d.ts +3 -1
  371. package/dist/runtime/components/prose/H5.d.vue.ts +3 -1
  372. package/dist/runtime/components/prose/H5.vue +1 -1
  373. package/dist/runtime/components/prose/H5.vue.d.ts +3 -1
  374. package/dist/runtime/components/prose/H6.d.vue.ts +3 -1
  375. package/dist/runtime/components/prose/H6.vue +1 -1
  376. package/dist/runtime/components/prose/H6.vue.d.ts +3 -1
  377. package/dist/runtime/components/prose/Hr.d.vue.ts +7 -1
  378. package/dist/runtime/components/prose/Hr.vue +1 -1
  379. package/dist/runtime/components/prose/Hr.vue.d.ts +7 -1
  380. package/dist/runtime/components/prose/Img.d.vue.ts +3 -1
  381. package/dist/runtime/components/prose/Img.vue +1 -1
  382. package/dist/runtime/components/prose/Img.vue.d.ts +3 -1
  383. package/dist/runtime/components/prose/Kbd.d.vue.ts +1 -1
  384. package/dist/runtime/components/prose/Kbd.vue.d.ts +1 -1
  385. package/dist/runtime/components/prose/Li.d.vue.ts +1 -1
  386. package/dist/runtime/components/prose/Li.vue +1 -1
  387. package/dist/runtime/components/prose/Li.vue.d.ts +1 -1
  388. package/dist/runtime/components/prose/Ol.d.vue.ts +1 -1
  389. package/dist/runtime/components/prose/Ol.vue +1 -1
  390. package/dist/runtime/components/prose/Ol.vue.d.ts +1 -1
  391. package/dist/runtime/components/prose/P.d.vue.ts +4 -1
  392. package/dist/runtime/components/prose/P.vue +1 -1
  393. package/dist/runtime/components/prose/P.vue.d.ts +4 -1
  394. package/dist/runtime/components/prose/Pre.d.vue.ts +1 -1
  395. package/dist/runtime/components/prose/Pre.vue +1 -1
  396. package/dist/runtime/components/prose/Pre.vue.d.ts +1 -1
  397. package/dist/runtime/components/prose/Steps.d.vue.ts +1 -1
  398. package/dist/runtime/components/prose/Steps.vue.d.ts +1 -1
  399. package/dist/runtime/components/prose/Strong.d.vue.ts +1 -1
  400. package/dist/runtime/components/prose/Strong.vue +1 -1
  401. package/dist/runtime/components/prose/Strong.vue.d.ts +1 -1
  402. package/dist/runtime/components/prose/Table.d.vue.ts +7 -1
  403. package/dist/runtime/components/prose/Table.vue +1 -1
  404. package/dist/runtime/components/prose/Table.vue.d.ts +7 -1
  405. package/dist/runtime/components/prose/Tabs.d.vue.ts +5 -3
  406. package/dist/runtime/components/prose/Tabs.vue +1 -1
  407. package/dist/runtime/components/prose/Tabs.vue.d.ts +5 -3
  408. package/dist/runtime/components/prose/TabsItem.d.vue.ts +1 -1
  409. package/dist/runtime/components/prose/TabsItem.vue.d.ts +1 -1
  410. package/dist/runtime/components/prose/Tbody.d.vue.ts +1 -1
  411. package/dist/runtime/components/prose/Tbody.vue +1 -1
  412. package/dist/runtime/components/prose/Tbody.vue.d.ts +1 -1
  413. package/dist/runtime/components/prose/Td.d.vue.ts +2 -4
  414. package/dist/runtime/components/prose/Td.vue +5 -2
  415. package/dist/runtime/components/prose/Td.vue.d.ts +2 -4
  416. package/dist/runtime/components/prose/Th.d.vue.ts +2 -4
  417. package/dist/runtime/components/prose/Th.vue +5 -2
  418. package/dist/runtime/components/prose/Th.vue.d.ts +2 -4
  419. package/dist/runtime/components/prose/Thead.d.vue.ts +1 -1
  420. package/dist/runtime/components/prose/Thead.vue +1 -1
  421. package/dist/runtime/components/prose/Thead.vue.d.ts +1 -1
  422. package/dist/runtime/components/prose/Tr.d.vue.ts +1 -1
  423. package/dist/runtime/components/prose/Tr.vue +1 -1
  424. package/dist/runtime/components/prose/Tr.vue.d.ts +1 -1
  425. package/dist/runtime/components/prose/Ul.d.vue.ts +1 -1
  426. package/dist/runtime/components/prose/Ul.vue +1 -1
  427. package/dist/runtime/components/prose/Ul.vue.d.ts +1 -1
  428. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
  429. package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
  430. package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
  431. package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
  432. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
  433. package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
  434. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
  435. package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
  436. package/dist/runtime/composables/defineShortcuts.js +1 -1
  437. package/dist/runtime/composables/useEditorMenu.d.ts +1 -1
  438. package/dist/runtime/composables/useEditorMenu.js +36 -9
  439. package/dist/runtime/composables/useOverlay.d.ts +3 -1
  440. package/dist/runtime/types/editor.d.ts +2 -1
  441. package/dist/runtime/types/html.d.ts +3 -1
  442. package/dist/runtime/utils/ai.d.ts +7 -0
  443. package/dist/runtime/utils/editor.d.ts +1 -1
  444. package/dist/runtime/utils/editor.js +28 -10
  445. package/dist/runtime/utils/fuse.js +22 -3
  446. package/dist/runtime/utils/index.d.ts +1 -0
  447. package/dist/runtime/utils/index.js +2 -2
  448. package/dist/runtime/utils/overlay.d.ts +19 -0
  449. package/dist/runtime/utils/overlay.js +13 -0
  450. package/dist/runtime/utils/virtualizer.d.ts +1 -3
  451. package/dist/runtime/utils/virtualizer.js +15 -6
  452. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +3 -1
  453. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +5 -1
  454. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +3 -1
  455. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  456. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +1 -1
  457. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  458. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +7 -1
  459. package/dist/runtime/vue/overrides/inertia/Link.vue +1 -0
  460. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +7 -1
  461. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +6 -3
  462. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +6 -3
  463. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +7 -1
  464. package/dist/runtime/vue/overrides/none/Link.vue +11 -3
  465. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +7 -1
  466. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +7 -1
  467. package/dist/runtime/vue/overrides/vue-router/Link.vue +2 -2
  468. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +7 -1
  469. package/dist/runtime/vue/plugins/router.d.ts +4 -0
  470. package/dist/runtime/vue/plugins/router.js +7 -0
  471. package/dist/shared/{b24ui-nuxt.C-CS9MBp.mjs → b24ui-nuxt.DEyBXBFe.mjs} +288 -46
  472. package/dist/unplugin.mjs +5 -3
  473. package/dist/vite.d.mts +2 -3
  474. package/dist/vite.mjs +1 -1
  475. package/package.json +54 -42
  476. package/dist/meta.d.mts +0 -220263
  477. package/dist/meta.mjs +0 -220263
@@ -60,9 +60,11 @@ export interface FormFieldSlots {
60
60
  error?: boolean | string;
61
61
  }): any;
62
62
  }
63
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<FormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FormFieldProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, FormFieldSlots>;
64
63
  declare const _default: typeof __VLS_export;
65
64
  export default _default;
65
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<FormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FormFieldProps> & Readonly<{}>, {
66
+ error: boolean | string;
67
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, FormFieldSlots>;
66
68
  type __VLS_WithSlots<T, S> = T & {
67
69
  new (): {
68
70
  $slots: S;
@@ -24,7 +24,7 @@ const props = defineProps({
24
24
  validateOnInputDelay: { type: Number, required: false },
25
25
  orientation: { type: null, required: false },
26
26
  class: { type: null, required: false },
27
- b24ui: { type: null, required: false }
27
+ b24ui: { type: Object, required: false }
28
28
  });
29
29
  const slots = defineSlots();
30
30
  const appConfig = useAppConfig();
@@ -60,9 +60,11 @@ export interface FormFieldSlots {
60
60
  error?: boolean | string;
61
61
  }): any;
62
62
  }
63
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<FormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FormFieldProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, FormFieldSlots>;
64
63
  declare const _default: typeof __VLS_export;
65
64
  export default _default;
65
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<FormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FormFieldProps> & Readonly<{}>, {
66
+ error: boolean | string;
67
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, FormFieldSlots>;
66
68
  type __VLS_WithSlots<T, S> = T & {
67
69
  new (): {
68
70
  $slots: S;
@@ -96,12 +96,18 @@ export interface InputSlots {
96
96
  b24ui: Input['b24ui'];
97
97
  }): any;
98
98
  }
99
- declare const __VLS_export: <T extends InputValue>(__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<{
100
- props: __VLS_PrettifyLocal<InputProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
99
+ declare const _default: typeof __VLS_export;
100
+ export default _default;
101
+ declare const __VLS_export: <T extends InputValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
102
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<InputProps<T> & {
103
+ onBlur?: ((event: FocusEvent) => any) | undefined;
104
+ onChange?: ((event: Event) => any) | undefined;
105
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
106
+ }> & (typeof globalThis extends {
101
107
  __VLS_PROPS_FALLBACK: infer P;
102
108
  } ? P : {});
103
109
  expose: (exposed: import("vue").ShallowUnwrapRef<{
104
- inputRef: Readonly<import("vue").ShallowRef<any>>;
110
+ inputRef: Readonly<import("vue").ShallowRef<HTMLInputElement | null, HTMLInputElement | null>>;
105
111
  }>) => void;
106
112
  attrs: any;
107
113
  slots: InputSlots;
@@ -109,8 +115,8 @@ declare const __VLS_export: <T extends InputValue>(__VLS_props: NonNullable<Awai
109
115
  }>) => import("vue").VNode & {
110
116
  __ctx?: Awaited<typeof __VLS_setup>;
111
117
  };
112
- declare const _default: typeof __VLS_export;
113
- export default _default;
114
- type __VLS_PrettifyLocal<T> = {
118
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
119
+ [K in keyof T]: T[K];
120
+ } : {
115
121
  [K in keyof T as K]: T[K];
116
- } & {};
122
+ }) & {};
@@ -28,7 +28,7 @@ const props = defineProps({
28
28
  underline: { type: Boolean, required: false },
29
29
  rounded: { type: Boolean, required: false },
30
30
  required: { type: Boolean, required: false },
31
- autocomplete: { type: null, required: false, default: "off" },
31
+ autocomplete: { type: [String, Object], required: false, default: "off" },
32
32
  autofocus: { type: Boolean, required: false },
33
33
  autofocusDelay: { type: Number, required: false, default: 0 },
34
34
  disabled: { type: Boolean, required: false },
@@ -39,7 +39,7 @@ const props = defineProps({
39
39
  defaultValue: { type: null, required: false },
40
40
  modelModifiers: { type: Object, required: false },
41
41
  class: { type: null, required: false },
42
- b24ui: { type: null, required: false },
42
+ b24ui: { type: Object, required: false },
43
43
  icon: { type: [Function, Object], required: false },
44
44
  avatar: { type: Object, required: false },
45
45
  loading: { type: Boolean, required: false },
@@ -96,12 +96,18 @@ export interface InputSlots {
96
96
  b24ui: Input['b24ui'];
97
97
  }): any;
98
98
  }
99
- declare const __VLS_export: <T extends InputValue>(__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<{
100
- props: __VLS_PrettifyLocal<InputProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
99
+ declare const _default: typeof __VLS_export;
100
+ export default _default;
101
+ declare const __VLS_export: <T extends InputValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
102
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<InputProps<T> & {
103
+ onBlur?: ((event: FocusEvent) => any) | undefined;
104
+ onChange?: ((event: Event) => any) | undefined;
105
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
106
+ }> & (typeof globalThis extends {
101
107
  __VLS_PROPS_FALLBACK: infer P;
102
108
  } ? P : {});
103
109
  expose: (exposed: import("vue").ShallowUnwrapRef<{
104
- inputRef: Readonly<import("vue").ShallowRef<any>>;
110
+ inputRef: Readonly<import("vue").ShallowRef<HTMLInputElement | null, HTMLInputElement | null>>;
105
111
  }>) => void;
106
112
  attrs: any;
107
113
  slots: InputSlots;
@@ -109,8 +115,8 @@ declare const __VLS_export: <T extends InputValue>(__VLS_props: NonNullable<Awai
109
115
  }>) => import("vue").VNode & {
110
116
  __ctx?: Awaited<typeof __VLS_setup>;
111
117
  };
112
- declare const _default: typeof __VLS_export;
113
- export default _default;
114
- type __VLS_PrettifyLocal<T> = {
118
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
119
+ [K in keyof T]: T[K];
120
+ } : {
115
121
  [K in keyof T as K]: T[K];
116
- } & {};
122
+ }) & {};
@@ -1,4 +1,3 @@
1
- import type { ComponentPublicInstance } from 'vue';
2
1
  import type { DateFieldRootProps, DateFieldRootEmits, DateRangeFieldRootProps, DateRangeFieldRootEmits, DateValue } from 'reka-ui';
3
2
  import type { AppConfig } from '@nuxt/schema';
4
3
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
@@ -86,12 +85,20 @@ export interface InputDateSlots {
86
85
  b24ui: InputDate['b24ui'];
87
86
  }): any;
88
87
  }
89
- declare const __VLS_export: <R extends boolean>(__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<{
90
- props: __VLS_PrettifyLocal<InputDateProps<R> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:modelValue", date: InputDateModelValue<R>) => void) & ((evt: "update:placeholder", ...args: [date: DateValue] & [date: DateValue]) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
88
+ declare const _default: typeof __VLS_export;
89
+ export default _default;
90
+ declare const __VLS_export: <R extends boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
91
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<InputDateProps<R> & {
92
+ onBlur?: ((event: FocusEvent) => any) | undefined;
93
+ onChange?: ((event: Event) => any) | undefined;
94
+ onFocus?: ((event: FocusEvent) => any) | undefined;
95
+ "onUpdate:modelValue"?: ((date: InputDateModelValue<R>) => any) | undefined;
96
+ "onUpdate:placeholder"?: ((...args: DateValue[]) => any) | undefined;
97
+ }> & (typeof globalThis extends {
91
98
  __VLS_PROPS_FALLBACK: infer P;
92
99
  } ? P : {});
93
100
  expose: (exposed: import("vue").ShallowUnwrapRef<{
94
- inputsRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
101
+ inputsRef: import("vue").Ref<any[], any[]>;
95
102
  }>) => void;
96
103
  attrs: any;
97
104
  slots: InputDateSlots;
@@ -99,8 +106,8 @@ declare const __VLS_export: <R extends boolean>(__VLS_props: NonNullable<Awaited
99
106
  }>) => import("vue").VNode & {
100
107
  __ctx?: Awaited<typeof __VLS_setup>;
101
108
  };
102
- declare const _default: typeof __VLS_export;
103
- export default _default;
104
- type __VLS_PrettifyLocal<T> = {
109
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
110
+ [K in keyof T]: T[K];
111
+ } : {
105
112
  [K in keyof T as K]: T[K];
106
- } & {};
113
+ }) & {};
@@ -34,7 +34,7 @@ const props = defineProps({
34
34
  defaultValue: { type: null, required: false },
35
35
  modelValue: { type: null, required: false },
36
36
  class: { type: null, required: false },
37
- b24ui: { type: null, required: false },
37
+ b24ui: { type: Object, required: false },
38
38
  icon: { type: [Function, Object], required: false },
39
39
  avatar: { type: Object, required: false },
40
40
  loading: { type: Boolean, required: false },
@@ -1,4 +1,3 @@
1
- import type { ComponentPublicInstance } from 'vue';
2
1
  import type { DateFieldRootProps, DateFieldRootEmits, DateRangeFieldRootProps, DateRangeFieldRootEmits, DateValue } from 'reka-ui';
3
2
  import type { AppConfig } from '@nuxt/schema';
4
3
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
@@ -86,12 +85,20 @@ export interface InputDateSlots {
86
85
  b24ui: InputDate['b24ui'];
87
86
  }): any;
88
87
  }
89
- declare const __VLS_export: <R extends boolean>(__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<{
90
- props: __VLS_PrettifyLocal<InputDateProps<R> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:modelValue", date: InputDateModelValue<R>) => void) & ((evt: "update:placeholder", ...args: [date: DateValue] & [date: DateValue]) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
88
+ declare const _default: typeof __VLS_export;
89
+ export default _default;
90
+ declare const __VLS_export: <R extends boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
91
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<InputDateProps<R> & {
92
+ onBlur?: ((event: FocusEvent) => any) | undefined;
93
+ onChange?: ((event: Event) => any) | undefined;
94
+ onFocus?: ((event: FocusEvent) => any) | undefined;
95
+ "onUpdate:modelValue"?: ((date: InputDateModelValue<R>) => any) | undefined;
96
+ "onUpdate:placeholder"?: ((...args: DateValue[]) => any) | undefined;
97
+ }> & (typeof globalThis extends {
91
98
  __VLS_PROPS_FALLBACK: infer P;
92
99
  } ? P : {});
93
100
  expose: (exposed: import("vue").ShallowUnwrapRef<{
94
- inputsRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
101
+ inputsRef: import("vue").Ref<any[], any[]>;
95
102
  }>) => void;
96
103
  attrs: any;
97
104
  slots: InputDateSlots;
@@ -99,8 +106,8 @@ declare const __VLS_export: <R extends boolean>(__VLS_props: NonNullable<Awaited
99
106
  }>) => import("vue").VNode & {
100
107
  __ctx?: Awaited<typeof __VLS_setup>;
101
108
  };
102
- declare const _default: typeof __VLS_export;
103
- export default _default;
104
- type __VLS_PrettifyLocal<T> = {
109
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
110
+ [K in keyof T]: T[K];
111
+ } : {
105
112
  [K in keyof T as K]: T[K];
106
- } & {};
113
+ }) & {};
@@ -2,7 +2,7 @@ import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, Combob
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/input-menu';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
- import type { AvatarProps, ChipProps, BadgeProps, IconComponent } from '../types';
5
+ import type { AvatarProps, ButtonProps, ChipProps, LinkPropsKeys, BadgeProps, IconComponent } from '../types';
6
6
  import type { ModelModifiers } from '../types/input';
7
7
  import type { InputHTMLAttributes } from '../types/html';
8
8
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
@@ -30,7 +30,7 @@ export type InputMenuItem = InputMenuValue | {
30
30
  b24ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
31
31
  [key: string]: any;
32
32
  };
33
- 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, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'name' | 'type' | 'placeholder' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'max' | 'step'> {
33
+ 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' | 'resetModelValueOnClear' | 'highlightOnHover' | 'openOnClick' | 'openOnFocus' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'name' | 'type' | 'placeholder' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'max' | 'step'> {
34
34
  /**
35
35
  * The element or component this component should render as.
36
36
  * @defaultValue 'div'
@@ -85,6 +85,18 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
85
85
  * @IconComponent
86
86
  */
87
87
  deleteIcon?: IconComponent;
88
+ /**
89
+ * Display a clear button to reset the model value.
90
+ * Can be an object to pass additional props to the Button.
91
+ * @defaultValue false
92
+ */
93
+ clear?: boolean | Partial<Omit<ButtonProps, LinkPropsKeys>>;
94
+ /**
95
+ * The icon displayed in the clear button.
96
+ * @defaultValue icons.close
97
+ * @IconifyIcon
98
+ */
99
+ clearIcon?: IconComponent;
88
100
  /**
89
101
  * The content of the menu.
90
102
  * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
@@ -112,10 +124,10 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
112
124
  */
113
125
  overscan?: number;
114
126
  /**
115
- * Estimated size (in px) of each item
127
+ * Estimated size (in px) of each item, or a function that returns the size for a given index
116
128
  * @defaultValue 32
117
129
  */
118
- estimateSize?: number;
130
+ estimateSize?: number | ((index: number) => number);
119
131
  };
120
132
  /**
121
133
  * When `items` is an array of objects, select the field to use as the value instead of the object itself.
@@ -173,6 +185,7 @@ export type InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends Ge
173
185
  'blur': [event: FocusEvent];
174
186
  'focus': [event: FocusEvent];
175
187
  'create': [item: string];
188
+ 'clear': [];
176
189
  /** Event handler when highlighted element changes. */
177
190
  'highlight': [
178
191
  payload: {
@@ -223,29 +236,43 @@ export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOr
223
236
  item: string;
224
237
  }): any;
225
238
  }
226
- 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<{
227
- props: __VLS_PrettifyLocal<(InputMenuProps<T, VK, M> & {
239
+ declare const _default: typeof __VLS_export;
240
+ export default _default;
241
+ 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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
242
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(InputMenuProps<T, VK, M> & {
228
243
  searchTerm?: string;
229
- }) & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
230
- ref: HTMLElement;
231
- value: GetModelValue<T, VK, M>;
232
- } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void) & ((evt: "update:searchTerm", value: string) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
244
+ }) & {
245
+ onClear?: (() => any) | undefined;
246
+ onBlur?: ((event: FocusEvent) => any) | undefined;
247
+ onChange?: ((event: Event) => any) | undefined;
248
+ onFocus?: ((event: FocusEvent) => any) | undefined;
249
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
250
+ onCreate?: ((item: string) => any) | undefined;
251
+ "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
252
+ onHighlight?: ((payload: {
253
+ ref: HTMLElement;
254
+ value: GetModelValue<T, VK, M>;
255
+ } | undefined) => any) | undefined;
256
+ "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
257
+ "onRemove-tag"?: ((item: GetModelValue<T, VK, M>) => any) | undefined;
258
+ }> & (typeof globalThis extends {
233
259
  __VLS_PROPS_FALLBACK: infer P;
234
260
  } ? P : {});
235
261
  expose: (exposed: import("vue").ShallowUnwrapRef<{
236
262
  inputRef: Readonly<import("vue").Ref<HTMLInputElement, HTMLInputElement>>;
263
+ viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
237
264
  }>) => void;
238
265
  attrs: any;
239
266
  slots: InputMenuSlots<T, VK, M, NestedItem<T>>;
240
- emit: (((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
267
+ emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
241
268
  ref: HTMLElement;
242
269
  value: GetModelValue<T, VK, M>;
243
- } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void)) & ((evt: "update:searchTerm", value: string) => void);
270
+ } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void)) & ((event: "update:searchTerm", value: string) => void);
244
271
  }>) => import("vue").VNode & {
245
272
  __ctx?: Awaited<typeof __VLS_setup>;
246
273
  };
247
- declare const _default: typeof __VLS_export;
248
- export default _default;
249
- type __VLS_PrettifyLocal<T> = {
274
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
275
+ [K in keyof T]: T[K];
276
+ } : {
250
277
  [K in keyof T as K]: T[K];
251
- } & {};
278
+ }) & {};
@@ -4,7 +4,7 @@ import theme from "#build/b24ui/input-menu";
4
4
 
5
5
  <script setup>
6
6
  import { computed, useTemplateRef, toRef, onMounted, toRaw, nextTick } from "vue";
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";
7
+ import { ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxCancel, 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";
@@ -20,6 +20,7 @@ import { tv } from "../utils/tv";
20
20
  import icons from "../dictionary/icons";
21
21
  import B24Badge from "./Badge.vue";
22
22
  import B24Avatar from "./Avatar.vue";
23
+ import B24Button from "./Button.vue";
23
24
  import B24Chip from "./Chip.vue";
24
25
  defineOptions({ inheritAttrs: false });
25
26
  const props = defineProps({
@@ -38,6 +39,8 @@ const props = defineProps({
38
39
  trailingIcon: { type: [Function, Object], required: false },
39
40
  selectedIcon: { type: [Function, Object], required: false },
40
41
  deleteIcon: { type: [Function, Object], required: false },
42
+ clear: { type: [Boolean, Object], required: false },
43
+ clearIcon: { type: [Function, Object], required: false },
41
44
  content: { type: Object, required: false },
42
45
  arrow: { type: [Boolean, Object], required: false },
43
46
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
@@ -57,35 +60,38 @@ const props = defineProps({
57
60
  filterFields: { type: Array, required: false },
58
61
  ignoreFilter: { type: Boolean, required: false },
59
62
  class: { type: null, required: false },
60
- b24ui: { type: null, required: false },
63
+ b24ui: { type: Object, required: false },
61
64
  open: { type: Boolean, required: false },
62
65
  defaultOpen: { type: Boolean, required: false },
63
66
  disabled: { type: Boolean, required: false },
64
67
  name: { type: String, required: false },
65
68
  resetSearchTermOnBlur: { type: Boolean, required: false, default: true },
66
69
  resetSearchTermOnSelect: { type: Boolean, required: false, default: true },
70
+ resetModelValueOnClear: { type: Boolean, required: false, default: true },
67
71
  highlightOnHover: { type: Boolean, required: false },
68
72
  openOnClick: { type: Boolean, required: false },
69
73
  openOnFocus: { type: Boolean, required: false },
74
+ by: { type: [String, Function], required: false },
70
75
  icon: { type: [Function, Object], required: false },
71
76
  avatar: { type: Object, required: false },
72
77
  loading: { type: Boolean, required: false },
73
78
  trailing: { type: Boolean, required: false }
74
79
  });
75
- const emits = defineEmits(["update:open", "change", "blur", "focus", "create", "highlight", "remove-tag", "update:modelValue"]);
80
+ const emits = defineEmits(["update:open", "change", "blur", "focus", "create", "clear", "highlight", "remove-tag", "update:modelValue"]);
76
81
  const slots = defineSlots();
77
82
  const searchTerm = defineModel("searchTerm", { type: String, ...{ default: "" } });
78
83
  const { t } = useLocale();
79
84
  const appConfig = useAppConfig();
80
85
  const { contains } = useFilter({ sensitivity: "base" });
81
- const rootProps = useForwardPropsEmits(reactivePick(props, "as", "modelValue", "defaultValue", "open", "defaultOpen", "required", "multiple", "resetSearchTermOnBlur", "resetSearchTermOnSelect", "highlightOnHover", "openOnClick", "openOnFocus"), emits);
86
+ const rootProps = useForwardPropsEmits(reactivePick(props, "as", "modelValue", "defaultValue", "open", "defaultOpen", "required", "multiple", "resetSearchTermOnBlur", "resetSearchTermOnSelect", "resetModelValueOnClear", "highlightOnHover", "openOnClick", "openOnFocus", "by"), emits);
82
87
  const portalProps = usePortal(toRef(() => props.portal));
83
88
  const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8, position: "popper" }));
84
89
  const arrowProps = toRef(() => defu(typeof props.arrow === "boolean" ? {} : props.arrow, { width: 20, height: 10 }));
90
+ const clearProps = computed(() => typeof props.clear === "object" ? props.clear : {});
85
91
  const virtualizerProps = toRef(() => {
86
92
  if (!props.virtualize) return false;
87
93
  return defu(typeof props.virtualize === "boolean" ? {} : props.virtualize, {
88
- estimateSize: getEstimateSize(items.value, inputSize.value || "md", props.descriptionKey)
94
+ estimateSize: getEstimateSize(filteredItems.value, inputSize.value || "md", props.descriptionKey, !!slots["item-description"])
89
95
  });
90
96
  });
91
97
  const { emitFormBlur, emitFormFocus, emitFormChange, emitFormInput, size: formGroupSize, color, id, name, highlight, disabled, ariaAttrs } = useFormField(props);
@@ -126,7 +132,8 @@ const items = computed(() => groups.value.flatMap((group) => group));
126
132
  function displayValue(value) {
127
133
  return getDisplayValue(items.value, value, {
128
134
  labelKey: props.labelKey,
129
- valueKey: props.valueKey
135
+ valueKey: props.valueKey,
136
+ by: props.by
130
137
  }) ?? "";
131
138
  }
132
139
  const groups = computed(
@@ -162,7 +169,7 @@ const createItem = computed(() => {
162
169
  }
163
170
  const newItem = props.valueKey ? { [props.valueKey]: searchTerm.value } : searchTerm.value;
164
171
  if (typeof props.createItem === "object" && props.createItem.when === "always" || props.createItem === "always") {
165
- return !filteredItems.value.find((item) => compare(item, newItem, props.valueKey));
172
+ return !filteredItems.value.find((item) => compare(item, newItem, props.by ?? props.valueKey));
166
173
  }
167
174
  return !filteredItems.value.length;
168
175
  });
@@ -258,8 +265,19 @@ function onSelect(e, item) {
258
265
  function isInputItem(item) {
259
266
  return typeof item === "object" && item !== null;
260
267
  }
268
+ function isModelValueEmpty(modelValue) {
269
+ if (props.multiple && Array.isArray(modelValue)) {
270
+ return modelValue.length === 0;
271
+ }
272
+ return modelValue === void 0 || modelValue === null || modelValue === "";
273
+ }
274
+ function onClear() {
275
+ emits("clear");
276
+ }
277
+ const viewportRef = useTemplateRef("viewportRef");
261
278
  defineExpose({
262
- inputRef: toRef(() => inputRef.value?.$el)
279
+ inputRef: toRef(() => inputRef.value?.$el),
280
+ viewportRef: toRef(() => viewportRef.value)
263
281
  });
264
282
  </script>
265
283
 
@@ -462,11 +480,25 @@ defineExpose({
462
480
  </slot>
463
481
  </span>
464
482
 
465
- <ComboboxTrigger v-if="isTrailing || !!slots.trailing" data-slot="trailing" :class="b24ui.trailing({ class: props.b24ui?.trailing })">
483
+ <ComboboxTrigger v-if="isTrailing || !!slots.trailing || !!clear" data-slot="trailing" :class="b24ui.trailing({ class: props.b24ui?.trailing })">
466
484
  <slot name="trailing" :model-value="modelValue" :open="open" :b24ui="b24ui">
485
+ <ComboboxCancel v-if="!!clear && !isModelValueEmpty(modelValue)" as-child>
486
+ <B24Button
487
+ as="span"
488
+ :icon="clearIcon || icons.close"
489
+ :size="inputSize"
490
+ color="air-tertiary-no-accent"
491
+ tabindex="-1"
492
+ v-bind="clearProps"
493
+ data-slot="trailingClear"
494
+ :class="b24ui.trailingClear({ class: props.b24ui?.trailingClear })"
495
+ @click.stop="onClear"
496
+ />
497
+ </ComboboxCancel>
498
+
467
499
  <Component
468
500
  :is="trailingIconName"
469
- v-if="trailingIconName"
501
+ v-else-if="trailingIconName"
470
502
  data-slot="trailingIcon"
471
503
  :class="b24ui.trailingIcon({ class: props.b24ui?.trailingIcon })"
472
504
  />
@@ -485,6 +517,7 @@ defineExpose({
485
517
  </ComboboxEmpty>
486
518
 
487
519
  <div
520
+ ref="viewportRef"
488
521
  role="presentation"
489
522
  data-slot="viewport"
490
523
  :class="b24ui.viewport({ class: props.b24ui?.viewport })"
@@ -2,7 +2,7 @@ import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, Combob
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/input-menu';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
- import type { AvatarProps, ChipProps, BadgeProps, IconComponent } from '../types';
5
+ import type { AvatarProps, ButtonProps, ChipProps, LinkPropsKeys, BadgeProps, IconComponent } from '../types';
6
6
  import type { ModelModifiers } from '../types/input';
7
7
  import type { InputHTMLAttributes } from '../types/html';
8
8
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
@@ -30,7 +30,7 @@ export type InputMenuItem = InputMenuValue | {
30
30
  b24ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
31
31
  [key: string]: any;
32
32
  };
33
- 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, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'name' | 'type' | 'placeholder' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'max' | 'step'> {
33
+ 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' | 'resetModelValueOnClear' | 'highlightOnHover' | 'openOnClick' | 'openOnFocus' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'name' | 'type' | 'placeholder' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'max' | 'step'> {
34
34
  /**
35
35
  * The element or component this component should render as.
36
36
  * @defaultValue 'div'
@@ -85,6 +85,18 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
85
85
  * @IconComponent
86
86
  */
87
87
  deleteIcon?: IconComponent;
88
+ /**
89
+ * Display a clear button to reset the model value.
90
+ * Can be an object to pass additional props to the Button.
91
+ * @defaultValue false
92
+ */
93
+ clear?: boolean | Partial<Omit<ButtonProps, LinkPropsKeys>>;
94
+ /**
95
+ * The icon displayed in the clear button.
96
+ * @defaultValue icons.close
97
+ * @IconifyIcon
98
+ */
99
+ clearIcon?: IconComponent;
88
100
  /**
89
101
  * The content of the menu.
90
102
  * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
@@ -112,10 +124,10 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
112
124
  */
113
125
  overscan?: number;
114
126
  /**
115
- * Estimated size (in px) of each item
127
+ * Estimated size (in px) of each item, or a function that returns the size for a given index
116
128
  * @defaultValue 32
117
129
  */
118
- estimateSize?: number;
130
+ estimateSize?: number | ((index: number) => number);
119
131
  };
120
132
  /**
121
133
  * When `items` is an array of objects, select the field to use as the value instead of the object itself.
@@ -173,6 +185,7 @@ export type InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends Ge
173
185
  'blur': [event: FocusEvent];
174
186
  'focus': [event: FocusEvent];
175
187
  'create': [item: string];
188
+ 'clear': [];
176
189
  /** Event handler when highlighted element changes. */
177
190
  'highlight': [
178
191
  payload: {
@@ -223,29 +236,43 @@ export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOr
223
236
  item: string;
224
237
  }): any;
225
238
  }
226
- 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<{
227
- props: __VLS_PrettifyLocal<(InputMenuProps<T, VK, M> & {
239
+ declare const _default: typeof __VLS_export;
240
+ export default _default;
241
+ 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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
242
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(InputMenuProps<T, VK, M> & {
228
243
  searchTerm?: string;
229
- }) & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
230
- ref: HTMLElement;
231
- value: GetModelValue<T, VK, M>;
232
- } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void) & ((evt: "update:searchTerm", value: string) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
244
+ }) & {
245
+ onClear?: (() => any) | undefined;
246
+ onBlur?: ((event: FocusEvent) => any) | undefined;
247
+ onChange?: ((event: Event) => any) | undefined;
248
+ onFocus?: ((event: FocusEvent) => any) | undefined;
249
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
250
+ onCreate?: ((item: string) => any) | undefined;
251
+ "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
252
+ onHighlight?: ((payload: {
253
+ ref: HTMLElement;
254
+ value: GetModelValue<T, VK, M>;
255
+ } | undefined) => any) | undefined;
256
+ "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
257
+ "onRemove-tag"?: ((item: GetModelValue<T, VK, M>) => any) | undefined;
258
+ }> & (typeof globalThis extends {
233
259
  __VLS_PROPS_FALLBACK: infer P;
234
260
  } ? P : {});
235
261
  expose: (exposed: import("vue").ShallowUnwrapRef<{
236
262
  inputRef: Readonly<import("vue").Ref<HTMLInputElement, HTMLInputElement>>;
263
+ viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
237
264
  }>) => void;
238
265
  attrs: any;
239
266
  slots: InputMenuSlots<T, VK, M, NestedItem<T>>;
240
- emit: (((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
267
+ emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
241
268
  ref: HTMLElement;
242
269
  value: GetModelValue<T, VK, M>;
243
- } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void)) & ((evt: "update:searchTerm", value: string) => void);
270
+ } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void)) & ((event: "update:searchTerm", value: string) => void);
244
271
  }>) => import("vue").VNode & {
245
272
  __ctx?: Awaited<typeof __VLS_setup>;
246
273
  };
247
- declare const _default: typeof __VLS_export;
248
- export default _default;
249
- type __VLS_PrettifyLocal<T> = {
274
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
275
+ [K in keyof T]: T[K];
276
+ } : {
250
277
  [K in keyof T as K]: T[K];
251
- } & {};
278
+ }) & {};