@bitrix24/b24ui-nuxt 2.3.0 → 2.4.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 (386) hide show
  1. package/cli/package.json +1 -1
  2. package/dist/module.d.mts +2 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +3 -2
  5. package/dist/runtime/air-design-tokens/013_b24_mobile_light.css +1 -0
  6. package/dist/runtime/air-design-tokens/014_b24_mobile_dark.css +1 -0
  7. package/dist/runtime/air-design-tokens/015_b24_mobile_edge-light.css +1 -0
  8. package/dist/runtime/air-design-tokens/016_b24_mobile_edge-dark.css +1 -0
  9. package/dist/runtime/air-design-tokens/023_b24_desktop_light.css +1 -0
  10. package/dist/runtime/air-design-tokens/024_b24_desktop_dark.css +1 -0
  11. package/dist/runtime/air-design-tokens/025_b24_desktop_edge-light.css +1 -0
  12. package/dist/runtime/air-design-tokens/026_b24_desktop_edge-dark.css +1 -0
  13. package/dist/runtime/air-design-tokens/design-tokens/app.json +23812 -0
  14. package/dist/runtime/air-design-tokens/design-tokens/mobileapp.json +7476 -0
  15. package/dist/runtime/air-design-tokens/index.css +1 -1
  16. package/dist/runtime/components/Accordion.vue +11 -9
  17. package/dist/runtime/components/Advice.vue +13 -11
  18. package/dist/runtime/components/Alert.vue +11 -9
  19. package/dist/runtime/components/Avatar.vue +6 -4
  20. package/dist/runtime/components/AvatarGroup.vue +5 -3
  21. package/dist/runtime/components/Badge.vue +9 -7
  22. package/dist/runtime/components/Banner.vue +11 -9
  23. package/dist/runtime/components/Breadcrumb.vue +12 -10
  24. package/dist/runtime/components/Button.vue +14 -12
  25. package/dist/runtime/components/Calendar.vue +14 -12
  26. package/dist/runtime/components/Card.vue +6 -4
  27. package/dist/runtime/components/ChatMessage.vue +10 -8
  28. package/dist/runtime/components/ChatMessages.vue +14 -9
  29. package/dist/runtime/components/ChatPalette.vue +5 -3
  30. package/dist/runtime/components/ChatPrompt.vue +9 -6
  31. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +4 -4
  32. package/dist/runtime/components/ChatPromptSubmit.vue +4 -2
  33. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +4 -4
  34. package/dist/runtime/components/Checkbox.vue +18 -11
  35. package/dist/runtime/components/CheckboxGroup.d.vue.ts +2 -2
  36. package/dist/runtime/components/CheckboxGroup.vue +7 -5
  37. package/dist/runtime/components/CheckboxGroup.vue.d.ts +2 -2
  38. package/dist/runtime/components/Chip.d.vue.ts +1 -1
  39. package/dist/runtime/components/Chip.vue +5 -3
  40. package/dist/runtime/components/Chip.vue.d.ts +1 -1
  41. package/dist/runtime/components/Collapsible.vue +4 -2
  42. package/dist/runtime/components/ColorPicker.vue +9 -7
  43. package/dist/runtime/components/CommandPalette.d.vue.ts +4 -4
  44. package/dist/runtime/components/CommandPalette.vue +33 -31
  45. package/dist/runtime/components/CommandPalette.vue.d.ts +4 -4
  46. package/dist/runtime/components/Container.d.vue.ts +3 -0
  47. package/dist/runtime/components/Container.vue +5 -2
  48. package/dist/runtime/components/Container.vue.d.ts +3 -0
  49. package/dist/runtime/components/ContextMenu.vue +4 -2
  50. package/dist/runtime/components/Countdown.vue +11 -9
  51. package/dist/runtime/components/DashboardGroup.d.vue.ts +7 -2
  52. package/dist/runtime/components/DashboardGroup.vue +15 -11
  53. package/dist/runtime/components/DashboardGroup.vue.d.ts +7 -2
  54. package/dist/runtime/components/DashboardNavbar.d.vue.ts +59 -0
  55. package/dist/runtime/components/DashboardNavbar.vue +79 -0
  56. package/dist/runtime/components/DashboardNavbar.vue.d.ts +59 -0
  57. package/dist/runtime/components/DashboardPanel.d.vue.ts +31 -0
  58. package/dist/runtime/components/DashboardPanel.vue +66 -0
  59. package/dist/runtime/components/DashboardPanel.vue.d.ts +31 -0
  60. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +22 -0
  61. package/dist/runtime/components/DashboardResizeHandle.vue +30 -0
  62. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +22 -0
  63. package/dist/runtime/components/DashboardSearch.vue +5 -2
  64. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -2
  65. package/dist/runtime/components/DashboardSearchButton.vue +10 -6
  66. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -2
  67. package/dist/runtime/components/DashboardSidebar.d.vue.ts +89 -0
  68. package/dist/runtime/components/DashboardSidebar.vue +169 -0
  69. package/dist/runtime/components/DashboardSidebar.vue.d.ts +89 -0
  70. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +21 -0
  71. package/dist/runtime/components/DashboardSidebarCollapse.vue +64 -0
  72. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +21 -0
  73. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +21 -0
  74. package/dist/runtime/components/DashboardSidebarToggle.vue +65 -0
  75. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +21 -0
  76. package/dist/runtime/components/DashboardToolbar.d.vue.ts +26 -0
  77. package/dist/runtime/components/DashboardToolbar.vue +34 -0
  78. package/dist/runtime/components/DashboardToolbar.vue.d.ts +26 -0
  79. package/dist/runtime/components/DescriptionList.vue +15 -13
  80. package/dist/runtime/components/Drawer.d.vue.ts +100 -0
  81. package/dist/runtime/components/Drawer.vue +133 -0
  82. package/dist/runtime/components/Drawer.vue.d.ts +100 -0
  83. package/dist/runtime/components/DropdownMenu.vue +6 -9
  84. package/dist/runtime/components/DropdownMenuContent.vue +3 -1
  85. package/dist/runtime/components/Editor.d.vue.ts +2 -1
  86. package/dist/runtime/components/Editor.vue +15 -3
  87. package/dist/runtime/components/Editor.vue.d.ts +2 -1
  88. package/dist/runtime/components/EditorDragHandle.d.vue.ts +2 -2
  89. package/dist/runtime/components/EditorDragHandle.vue +5 -3
  90. package/dist/runtime/components/EditorDragHandle.vue.d.ts +2 -2
  91. package/dist/runtime/components/EditorMentionMenu.vue +4 -1
  92. package/dist/runtime/components/EditorToolbar.vue +6 -4
  93. package/dist/runtime/components/Empty.vue +11 -9
  94. package/dist/runtime/components/Error.vue +7 -5
  95. package/dist/runtime/components/FieldGroup.d.vue.ts +3 -1
  96. package/dist/runtime/components/FieldGroup.vue +3 -1
  97. package/dist/runtime/components/FieldGroup.vue.d.ts +3 -1
  98. package/dist/runtime/components/FileUpload.vue +17 -15
  99. package/dist/runtime/components/Footer.d.vue.ts +30 -0
  100. package/dist/runtime/components/Footer.vue +47 -0
  101. package/dist/runtime/components/Footer.vue.d.ts +30 -0
  102. package/dist/runtime/components/FooterColumns.d.vue.ts +69 -0
  103. package/dist/runtime/components/FooterColumns.vue +83 -0
  104. package/dist/runtime/components/FooterColumns.vue.d.ts +69 -0
  105. package/dist/runtime/components/Form.d.vue.ts +3 -0
  106. package/dist/runtime/components/Form.vue +10 -2
  107. package/dist/runtime/components/Form.vue.d.ts +3 -0
  108. package/dist/runtime/components/FormField.vue +12 -10
  109. package/dist/runtime/components/Header.d.vue.ts +81 -0
  110. package/dist/runtime/components/Header.vue +147 -0
  111. package/dist/runtime/components/Header.vue.d.ts +81 -0
  112. package/dist/runtime/components/Input.d.vue.ts +53 -11
  113. package/dist/runtime/components/Input.vue +16 -12
  114. package/dist/runtime/components/Input.vue.d.ts +53 -11
  115. package/dist/runtime/components/InputDate.d.vue.ts +4 -1
  116. package/dist/runtime/components/InputDate.vue +19 -12
  117. package/dist/runtime/components/InputDate.vue.d.ts +4 -1
  118. package/dist/runtime/components/InputMenu.d.vue.ts +154 -26
  119. package/dist/runtime/components/InputMenu.vue +53 -61
  120. package/dist/runtime/components/InputMenu.vue.d.ts +154 -26
  121. package/dist/runtime/components/InputNumber.d.vue.ts +15 -14
  122. package/dist/runtime/components/InputNumber.vue +19 -11
  123. package/dist/runtime/components/InputNumber.vue.d.ts +15 -14
  124. package/dist/runtime/components/InputTags.d.vue.ts +2 -0
  125. package/dist/runtime/components/InputTags.vue +17 -13
  126. package/dist/runtime/components/InputTags.vue.d.ts +2 -0
  127. package/dist/runtime/components/InputTime.d.vue.ts +4 -1
  128. package/dist/runtime/components/InputTime.vue +17 -10
  129. package/dist/runtime/components/InputTime.vue.d.ts +4 -1
  130. package/dist/runtime/components/Kbd.d.vue.ts +1 -0
  131. package/dist/runtime/components/Kbd.vue +5 -2
  132. package/dist/runtime/components/Kbd.vue.d.ts +1 -0
  133. package/dist/runtime/components/Link.d.vue.ts +1 -1
  134. package/dist/runtime/components/Link.vue +7 -7
  135. package/dist/runtime/components/Link.vue.d.ts +1 -1
  136. package/dist/runtime/components/LinkBase.d.vue.ts +1 -1
  137. package/dist/runtime/components/LinkBase.vue.d.ts +1 -1
  138. package/dist/runtime/components/Main.d.vue.ts +24 -0
  139. package/dist/runtime/components/Main.vue +26 -0
  140. package/dist/runtime/components/Main.vue.d.ts +24 -0
  141. package/dist/runtime/components/Modal.d.vue.ts +6 -6
  142. package/dist/runtime/components/Modal.vue +14 -12
  143. package/dist/runtime/components/Modal.vue.d.ts +6 -6
  144. package/dist/runtime/components/Navbar.vue +3 -1
  145. package/dist/runtime/components/NavbarDivider.vue +3 -1
  146. package/dist/runtime/components/NavbarSection.vue +3 -1
  147. package/dist/runtime/components/NavbarSpacer.vue +3 -1
  148. package/dist/runtime/components/NavigationMenu.d.vue.ts +18 -19
  149. package/dist/runtime/components/NavigationMenu.vue +125 -65
  150. package/dist/runtime/components/NavigationMenu.vue.d.ts +18 -19
  151. package/dist/runtime/components/Page.d.vue.ts +26 -0
  152. package/dist/runtime/components/Page.vue +39 -0
  153. package/dist/runtime/components/Page.vue.d.ts +26 -0
  154. package/dist/runtime/components/PageAside.d.vue.ts +28 -0
  155. package/dist/runtime/components/PageAside.vue +38 -0
  156. package/dist/runtime/components/PageAside.vue.d.ts +28 -0
  157. package/dist/runtime/components/PageBody.d.vue.ts +22 -0
  158. package/dist/runtime/components/PageBody.vue +26 -0
  159. package/dist/runtime/components/PageBody.vue.d.ts +22 -0
  160. package/dist/runtime/components/PageCard.vue +12 -10
  161. package/dist/runtime/components/PageColumns.d.vue.ts +3 -0
  162. package/dist/runtime/components/PageColumns.vue +5 -2
  163. package/dist/runtime/components/PageColumns.vue.d.ts +3 -0
  164. package/dist/runtime/components/PageFeature.d.vue.ts +47 -0
  165. package/dist/runtime/components/PageFeature.vue +79 -0
  166. package/dist/runtime/components/PageFeature.vue.d.ts +47 -0
  167. package/dist/runtime/components/PageGrid.d.vue.ts +3 -0
  168. package/dist/runtime/components/PageGrid.vue +5 -2
  169. package/dist/runtime/components/PageGrid.vue.d.ts +3 -0
  170. package/dist/runtime/components/PageHeader.d.vue.ts +37 -0
  171. package/dist/runtime/components/PageHeader.vue +67 -0
  172. package/dist/runtime/components/PageHeader.vue.d.ts +37 -0
  173. package/dist/runtime/components/PageLinks.vue +11 -9
  174. package/dist/runtime/components/PageList.d.vue.ts +3 -0
  175. package/dist/runtime/components/PageList.vue +5 -2
  176. package/dist/runtime/components/PageList.vue.d.ts +3 -0
  177. package/dist/runtime/components/PageSection.d.vue.ts +71 -0
  178. package/dist/runtime/components/PageSection.vue +110 -0
  179. package/dist/runtime/components/PageSection.vue.d.ts +71 -0
  180. package/dist/runtime/components/Pagination.d.vue.ts +2 -2
  181. package/dist/runtime/components/Pagination.vue +10 -8
  182. package/dist/runtime/components/Pagination.vue.d.ts +2 -2
  183. package/dist/runtime/components/PinInput.d.vue.ts +4 -1
  184. package/dist/runtime/components/PinInput.vue +10 -3
  185. package/dist/runtime/components/PinInput.vue.d.ts +4 -1
  186. package/dist/runtime/components/Popover.vue +4 -2
  187. package/dist/runtime/components/Progress.vue +8 -6
  188. package/dist/runtime/components/RadioGroup.d.vue.ts +2 -2
  189. package/dist/runtime/components/RadioGroup.vue +12 -10
  190. package/dist/runtime/components/RadioGroup.vue.d.ts +2 -2
  191. package/dist/runtime/components/Range.vue +7 -5
  192. package/dist/runtime/components/ScrollArea.d.vue.ts +7 -0
  193. package/dist/runtime/components/ScrollArea.vue +34 -10
  194. package/dist/runtime/components/ScrollArea.vue.d.ts +7 -0
  195. package/dist/runtime/components/Select.d.vue.ts +64 -20
  196. package/dist/runtime/components/Select.vue +35 -36
  197. package/dist/runtime/components/Select.vue.d.ts +64 -20
  198. package/dist/runtime/components/SelectMenu.d.vue.ts +116 -31
  199. package/dist/runtime/components/SelectMenu.vue +56 -60
  200. package/dist/runtime/components/SelectMenu.vue.d.ts +116 -31
  201. package/dist/runtime/components/Separator.d.vue.ts +2 -2
  202. package/dist/runtime/components/Separator.vue +9 -7
  203. package/dist/runtime/components/Separator.vue.d.ts +2 -2
  204. package/dist/runtime/components/Sidebar.vue +3 -1
  205. package/dist/runtime/components/SidebarBody.d.vue.ts +0 -3
  206. package/dist/runtime/components/SidebarBody.vue +3 -1
  207. package/dist/runtime/components/SidebarBody.vue.d.ts +0 -3
  208. package/dist/runtime/components/SidebarFooter.d.vue.ts +0 -3
  209. package/dist/runtime/components/SidebarFooter.vue +3 -1
  210. package/dist/runtime/components/SidebarFooter.vue.d.ts +0 -3
  211. package/dist/runtime/components/SidebarHeader.d.vue.ts +0 -3
  212. package/dist/runtime/components/SidebarHeader.vue +3 -1
  213. package/dist/runtime/components/SidebarHeader.vue.d.ts +0 -3
  214. package/dist/runtime/components/SidebarHeading.d.vue.ts +0 -3
  215. package/dist/runtime/components/SidebarHeading.vue +3 -1
  216. package/dist/runtime/components/SidebarHeading.vue.d.ts +0 -3
  217. package/dist/runtime/components/SidebarLayout.d.vue.ts +1 -1
  218. package/dist/runtime/components/SidebarLayout.vue +21 -19
  219. package/dist/runtime/components/SidebarLayout.vue.d.ts +1 -1
  220. package/dist/runtime/components/SidebarSection.d.vue.ts +0 -3
  221. package/dist/runtime/components/SidebarSection.vue +3 -1
  222. package/dist/runtime/components/SidebarSection.vue.d.ts +0 -3
  223. package/dist/runtime/components/SidebarSpacer.d.vue.ts +0 -3
  224. package/dist/runtime/components/SidebarSpacer.vue +3 -1
  225. package/dist/runtime/components/SidebarSpacer.vue.d.ts +0 -3
  226. package/dist/runtime/components/Skeleton.vue +3 -1
  227. package/dist/runtime/components/Slideover.d.vue.ts +3 -3
  228. package/dist/runtime/components/Slideover.vue +19 -17
  229. package/dist/runtime/components/Slideover.vue.d.ts +3 -3
  230. package/dist/runtime/components/Stepper.vue +14 -12
  231. package/dist/runtime/components/Switch.vue +19 -13
  232. package/dist/runtime/components/Table.vue +25 -23
  233. package/dist/runtime/components/TableWrapper.vue +3 -1
  234. package/dist/runtime/components/Tabs.d.vue.ts +2 -1
  235. package/dist/runtime/components/Tabs.vue +17 -12
  236. package/dist/runtime/components/Tabs.vue.d.ts +2 -1
  237. package/dist/runtime/components/Textarea.d.vue.ts +53 -11
  238. package/dist/runtime/components/Textarea.vue +18 -14
  239. package/dist/runtime/components/Textarea.vue.d.ts +53 -11
  240. package/dist/runtime/components/Theme.d.vue.ts +17 -0
  241. package/dist/runtime/components/Theme.vue +17 -0
  242. package/dist/runtime/components/Theme.vue.d.ts +17 -0
  243. package/dist/runtime/components/Timeline.vue +11 -9
  244. package/dist/runtime/components/Toast.vue +15 -15
  245. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  246. package/dist/runtime/components/Toaster.vue +6 -3
  247. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  248. package/dist/runtime/components/Tooltip.vue +8 -6
  249. package/dist/runtime/components/User.vue +8 -6
  250. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +1 -1
  251. package/dist/runtime/components/color-mode/ColorModeButton.vue +4 -2
  252. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +1 -1
  253. package/dist/runtime/components/color-mode/ColorModeImage.vue +8 -3
  254. package/dist/runtime/components/color-mode/ColorModeSelect.vue +1 -1
  255. package/dist/runtime/components/content/ContentSearch.vue +5 -2
  256. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -2
  257. package/dist/runtime/components/content/ContentSearchButton.vue +5 -3
  258. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -2
  259. package/dist/runtime/components/content/ContentSurround.vue +8 -6
  260. package/dist/runtime/components/content/ContentToc.vue +15 -13
  261. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  262. package/dist/runtime/components/locale/LocaleSelect.vue +1 -1
  263. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  264. package/dist/runtime/components/prose/A.vue +3 -1
  265. package/dist/runtime/components/prose/Accordion.vue +3 -1
  266. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +3 -0
  267. package/dist/runtime/components/prose/AccordionItem.vue +5 -2
  268. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +3 -0
  269. package/dist/runtime/components/prose/Badge.d.vue.ts +3 -0
  270. package/dist/runtime/components/prose/Badge.vue +5 -2
  271. package/dist/runtime/components/prose/Badge.vue.d.ts +3 -0
  272. package/dist/runtime/components/prose/Blockquote.d.vue.ts +0 -3
  273. package/dist/runtime/components/prose/Blockquote.vue +3 -1
  274. package/dist/runtime/components/prose/Blockquote.vue.d.ts +0 -3
  275. package/dist/runtime/components/prose/Callout.vue +5 -3
  276. package/dist/runtime/components/prose/Card.vue +7 -5
  277. package/dist/runtime/components/prose/CardGroup.d.vue.ts +3 -0
  278. package/dist/runtime/components/prose/CardGroup.vue +5 -2
  279. package/dist/runtime/components/prose/CardGroup.vue.d.ts +3 -0
  280. package/dist/runtime/components/prose/Code.vue +3 -1
  281. package/dist/runtime/components/prose/CodeCollapse.vue +6 -4
  282. package/dist/runtime/components/prose/CodeGroup.vue +8 -6
  283. package/dist/runtime/components/prose/CodePreview.vue +5 -3
  284. package/dist/runtime/components/prose/Collapsible.vue +6 -4
  285. package/dist/runtime/components/prose/Em.d.vue.ts +0 -3
  286. package/dist/runtime/components/prose/Em.vue +3 -1
  287. package/dist/runtime/components/prose/Em.vue.d.ts +0 -3
  288. package/dist/runtime/components/prose/Field.vue +9 -7
  289. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +3 -0
  290. package/dist/runtime/components/prose/FieldGroup.vue +5 -2
  291. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +3 -0
  292. package/dist/runtime/components/prose/H1.vue +4 -2
  293. package/dist/runtime/components/prose/H2.vue +6 -4
  294. package/dist/runtime/components/prose/H3.vue +6 -4
  295. package/dist/runtime/components/prose/H4.vue +6 -4
  296. package/dist/runtime/components/prose/H5.vue +3 -1
  297. package/dist/runtime/components/prose/H6.vue +3 -1
  298. package/dist/runtime/components/prose/Hr.d.vue.ts +0 -6
  299. package/dist/runtime/components/prose/Hr.vue +3 -1
  300. package/dist/runtime/components/prose/Hr.vue.d.ts +0 -6
  301. package/dist/runtime/components/prose/Img.vue +9 -8
  302. package/dist/runtime/components/prose/Kbd.d.vue.ts +3 -0
  303. package/dist/runtime/components/prose/Kbd.vue +5 -2
  304. package/dist/runtime/components/prose/Kbd.vue.d.ts +3 -0
  305. package/dist/runtime/components/prose/Li.d.vue.ts +0 -3
  306. package/dist/runtime/components/prose/Li.vue +3 -1
  307. package/dist/runtime/components/prose/Li.vue.d.ts +0 -3
  308. package/dist/runtime/components/prose/Ol.d.vue.ts +0 -3
  309. package/dist/runtime/components/prose/Ol.vue +3 -1
  310. package/dist/runtime/components/prose/Ol.vue.d.ts +0 -3
  311. package/dist/runtime/components/prose/P.vue +3 -1
  312. package/dist/runtime/components/prose/Pre.vue +8 -6
  313. package/dist/runtime/components/prose/Steps.d.vue.ts +3 -0
  314. package/dist/runtime/components/prose/Steps.vue +5 -2
  315. package/dist/runtime/components/prose/Steps.vue.d.ts +3 -0
  316. package/dist/runtime/components/prose/Strong.d.vue.ts +0 -3
  317. package/dist/runtime/components/prose/Strong.vue +3 -1
  318. package/dist/runtime/components/prose/Strong.vue.d.ts +0 -3
  319. package/dist/runtime/components/prose/Table.vue +4 -2
  320. package/dist/runtime/components/prose/Tabs.vue +3 -1
  321. package/dist/runtime/components/prose/TabsItem.d.vue.ts +3 -0
  322. package/dist/runtime/components/prose/TabsItem.vue +5 -2
  323. package/dist/runtime/components/prose/TabsItem.vue.d.ts +3 -0
  324. package/dist/runtime/components/prose/Tbody.d.vue.ts +0 -3
  325. package/dist/runtime/components/prose/Tbody.vue +3 -1
  326. package/dist/runtime/components/prose/Tbody.vue.d.ts +0 -3
  327. package/dist/runtime/components/prose/Td.vue +3 -1
  328. package/dist/runtime/components/prose/Th.vue +3 -1
  329. package/dist/runtime/components/prose/Thead.d.vue.ts +0 -3
  330. package/dist/runtime/components/prose/Thead.vue +3 -1
  331. package/dist/runtime/components/prose/Thead.vue.d.ts +0 -3
  332. package/dist/runtime/components/prose/Tr.d.vue.ts +0 -3
  333. package/dist/runtime/components/prose/Tr.vue +3 -1
  334. package/dist/runtime/components/prose/Tr.vue.d.ts +0 -3
  335. package/dist/runtime/components/prose/Ul.d.vue.ts +0 -3
  336. package/dist/runtime/components/prose/Ul.vue +3 -1
  337. package/dist/runtime/components/prose/Ul.vue.d.ts +0 -3
  338. package/dist/runtime/composables/color-mode/useColorMode.d.ts +6 -0
  339. package/dist/runtime/composables/color-mode/useColorMode.js +15 -6
  340. package/dist/runtime/composables/defineShortcuts.js +4 -1
  341. package/dist/runtime/composables/internal/useFilter.d.ts +9 -0
  342. package/dist/runtime/composables/internal/useFilter.js +60 -0
  343. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  344. package/dist/runtime/composables/useComponentUI.d.ts +33 -0
  345. package/dist/runtime/composables/useComponentUI.js +13 -0
  346. package/dist/runtime/composables/useEditorMenu.d.ts +11 -0
  347. package/dist/runtime/composables/useEditorMenu.js +144 -166
  348. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  349. package/dist/runtime/composables/useFormField.d.ts +1 -1
  350. package/dist/runtime/composables/useLoading.d.ts +3 -0
  351. package/dist/runtime/composables/useResizable.d.ts +1 -1
  352. package/dist/runtime/composables/useResizable.js +1 -1
  353. package/dist/runtime/composables/useToast.d.ts +4 -0
  354. package/dist/runtime/composables/useToast.js +25 -1
  355. package/dist/runtime/dictionary/icons.d.ts +3 -0
  356. package/dist/runtime/dictionary/icons.js +7 -1
  357. package/dist/runtime/index.css +1 -1
  358. package/dist/runtime/keyframes.css +1 -1
  359. package/dist/runtime/plugins/platform.d.ts +34 -0
  360. package/dist/runtime/plugins/platform.js +31 -0
  361. package/dist/runtime/plugins/ui-version.d.ts +1 -1
  362. package/dist/runtime/types/color-mode.d.ts +1 -1
  363. package/dist/runtime/types/index.d.ts +19 -0
  364. package/dist/runtime/types/index.js +19 -0
  365. package/dist/runtime/types/input.d.ts +16 -6
  366. package/dist/runtime/types/utils.d.ts +10 -8
  367. package/dist/runtime/utils/dashboard.d.ts +4 -5
  368. package/dist/runtime/utils/dashboard.js +1 -1
  369. package/dist/runtime/utils/index.d.ts +2 -1
  370. package/dist/runtime/utils/index.js +11 -1
  371. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +1 -1
  372. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +1 -1
  373. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +1 -1
  374. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +1 -1
  375. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +1 -1
  376. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +1 -1
  377. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +1 -1
  378. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +1 -1
  379. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +1 -1
  380. package/dist/runtime/vue/stubs/base.d.ts +9 -13
  381. package/dist/runtime/vue/stubs/base.js +11 -33
  382. package/dist/shared/{b24ui-nuxt.DEyBXBFe.mjs → b24ui-nuxt.DstlkmYO.mjs} +653 -51
  383. package/dist/unplugin.d.mts +2 -1
  384. package/dist/unplugin.mjs +2 -1
  385. package/dist/vite.mjs +1 -1
  386. package/package.json +50 -52
@@ -8,6 +8,7 @@ import { Primitive, SelectRoot, SelectArrow, SelectTrigger, SelectPortal, Select
8
8
  import { defu } from "defu";
9
9
  import { reactivePick } from "@vueuse/core";
10
10
  import { useAppConfig } from "#imports";
11
+ import { useComponentUI } from "../composables/useComponentUI";
11
12
  import { useFieldGroup } from "../composables/useFieldGroup";
12
13
  import { useComponentIcons } from "../composables/useComponentIcons";
13
14
  import { useFormField } from "../composables/useFormField";
@@ -41,7 +42,7 @@ const props = defineProps({
41
42
  items: { type: null, required: false },
42
43
  defaultValue: { type: null, required: false },
43
44
  modelValue: { type: null, required: false },
44
- modelModifiers: { type: Object, required: false },
45
+ modelModifiers: { type: null, required: false },
45
46
  multiple: { type: Boolean, required: false },
46
47
  highlight: { type: Boolean, required: false },
47
48
  autofocus: { type: Boolean, required: false },
@@ -59,19 +60,17 @@ const props = defineProps({
59
60
  loading: { type: Boolean, required: false },
60
61
  trailing: { type: Boolean, required: false }
61
62
  });
62
- const emits = defineEmits(["update:open", "change", "blur", "focus", "update:modelValue"]);
63
+ const emits = defineEmits(["change", "blur", "focus", "update:modelValue", "update:open"]);
63
64
  const slots = defineSlots();
64
65
  const appConfig = useAppConfig();
66
+ const uiProp = useComponentUI("select", props);
65
67
  const rootProps = useForwardPropsEmits(reactivePick(props, "open", "defaultOpen", "disabled", "autocomplete", "required", "multiple"), emits);
66
68
  const portalProps = usePortal(toRef(() => props.portal));
67
69
  const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8, position: "popper" }));
68
70
  const arrowProps = toRef(() => defu(typeof props.arrow === "boolean" ? {} : props.arrow, { width: 20, height: 10 }));
69
71
  const { emitFormChange, emitFormInput, emitFormBlur, emitFormFocus, size: formGroupSize, color, id, name, highlight, disabled, ariaAttrs } = useFormField(props);
70
72
  const { orientation, size: fieldGroupSize } = useFieldGroup(props);
71
- const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(toRef(() => defu(
72
- props,
73
- { trailingIcon: icons.chevronDown }
74
- )));
73
+ const { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(toRef(() => defu(props, { trailingIcon: icons.chevronDown })));
75
74
  const selectSize = computed(() => fieldGroupSize.value || formGroupSize.value);
76
75
  const isTag = computed(() => {
77
76
  return props.tag;
@@ -120,7 +119,7 @@ onMounted(() => {
120
119
  }, props.autofocusDelay);
121
120
  });
122
121
  function onUpdate(value) {
123
- if (props.modelModifiers?.trim) {
122
+ if (props.modelModifiers?.trim && (typeof value === "string" || value === null || value === void 0)) {
124
123
  value = value?.trim() ?? null;
125
124
  }
126
125
  if (props.modelModifiers?.number) {
@@ -129,7 +128,7 @@ function onUpdate(value) {
129
128
  if (props.modelModifiers?.nullable) {
130
129
  value ??= null;
131
130
  }
132
- if (props.modelModifiers?.optional) {
131
+ if (props.modelModifiers?.optional && !props.modelModifiers?.nullable && value !== null) {
133
132
  value ??= void 0;
134
133
  }
135
134
  const event = new Event("change", { target: { value } });
@@ -159,7 +158,7 @@ defineExpose({
159
158
  </script>
160
159
 
161
160
  <template>
162
- <Primitive as="div" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root] })">
161
+ <Primitive as="div" data-slot="root" :class="b24ui.root({ class: [uiProp?.root] })">
163
162
  <SelectRoot
164
163
  v-slot="{ modelValue, open }"
165
164
  :name="name"
@@ -175,31 +174,31 @@ defineExpose({
175
174
  :id="id"
176
175
  ref="triggerRef"
177
176
  data-slot="base"
178
- :class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
177
+ :class="b24ui.base({ class: [uiProp?.base, props.class] })"
179
178
  v-bind="{ ...$attrs, ...ariaAttrs }"
180
179
  >
181
180
  <B24Badge
182
181
  v-if="isTag"
183
182
  data-slot="tag"
184
- :class="b24ui.tag({ class: props.b24ui?.tag })"
183
+ :class="b24ui.tag({ class: uiProp?.tag })"
185
184
  :color="props.tagColor"
186
185
  :label="props.tag"
187
186
  size="xs"
188
187
  />
189
- <span v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="b24ui.leading({ class: props.b24ui?.leading })">
188
+ <span v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="b24ui.leading({ class: uiProp?.leading })">
190
189
  <slot name="leading" :model-value="modelValue" :open="open" :b24ui="b24ui">
191
190
  <Component
192
191
  :is="leadingIconName"
193
192
  v-if="isLeading && leadingIconName"
194
193
  data-slot="leadingIcon"
195
- :class="b24ui.leadingIcon({ class: props.b24ui?.leadingIcon })"
194
+ :class="b24ui.leadingIcon({ class: uiProp?.leadingIcon })"
196
195
  />
197
196
  <B24Avatar
198
197
  v-else-if="!!avatar"
199
- :size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
198
+ :size="uiProp?.leadingAvatarSize || b24ui.leadingAvatarSize()"
200
199
  v-bind="avatar"
201
200
  data-slot="leadingAvatar"
202
- :class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
201
+ :class="b24ui.leadingAvatar({ class: uiProp?.leadingAvatar })"
203
202
  />
204
203
  </slot>
205
204
  </span>
@@ -209,54 +208,54 @@ defineExpose({
209
208
  <span
210
209
  v-if="displayedModelValue !== void 0 && displayedModelValue !== null"
211
210
  data-slot="value"
212
- :class="b24ui.value({ class: props.b24ui?.value })"
211
+ :class="b24ui.value({ class: uiProp?.value })"
213
212
  >
214
213
  {{ displayedModelValue }}
215
214
  </span>
216
215
  <span
217
216
  v-else
218
217
  data-slot="placeholder"
219
- :class="b24ui.placeholder({ class: props.b24ui?.placeholder })"
218
+ :class="b24ui.placeholder({ class: uiProp?.placeholder })"
220
219
  >
221
220
  {{ placeholder ?? "\xA0" }}
222
221
  </span>
223
222
  </template>
224
223
  </slot>
225
224
 
226
- <span v-if="isTrailing || !!slots.trailing" data-slot="trailing" :class="b24ui.trailing({ class: props.b24ui?.trailing })">
225
+ <span v-if="isTrailing || !!slots.trailing" data-slot="trailing" :class="b24ui.trailing({ class: uiProp?.trailing })">
227
226
  <slot name="trailing" :model-value="modelValue" :open="open" :b24ui="b24ui">
228
227
  <Component
229
228
  :is="trailingIconName"
230
229
  v-if="trailingIconName"
231
230
  data-slot="trailingIcon"
232
- :class="b24ui.trailingIcon({ class: props.b24ui?.trailingIcon })"
231
+ :class="b24ui.trailingIcon({ class: uiProp?.trailingIcon })"
233
232
  />
234
233
  </slot>
235
234
  </span>
236
235
  </SelectTrigger>
237
236
 
238
237
  <SelectPortal v-bind="portalProps">
239
- <SelectContent data-slot="content" :class="b24ui.content({ class: props.b24ui?.content })" v-bind="contentProps">
238
+ <SelectContent data-slot="content" :class="b24ui.content({ class: uiProp?.content })" v-bind="contentProps">
240
239
  <slot name="content-top" />
241
240
 
242
241
  <div
243
242
  ref="viewportRef"
244
243
  role="presentation"
245
244
  data-slot="viewport"
246
- :class="b24ui.viewport({ class: props.b24ui?.viewport })"
245
+ :class="b24ui.viewport({ class: uiProp?.viewport })"
247
246
  >
248
- <SelectGroup v-for="(group, groupIndex) in groups" :key="`group-${groupIndex}`" data-slot="group" :class="b24ui.group({ class: props.b24ui?.group })">
247
+ <SelectGroup v-for="(group, groupIndex) in groups" :key="`group-${groupIndex}`" data-slot="group" :class="b24ui.group({ class: uiProp?.group })">
249
248
  <template v-for="(item, index) in group" :key="`group-${groupIndex}-${index}`">
250
- <SelectLabel v-if="isSelectItem(item) && item.type === 'label'" data-slot="label" :class="b24ui.label({ class: [props.b24ui?.label, item.b24ui?.label, item.class] })">
249
+ <SelectLabel v-if="isSelectItem(item) && item.type === 'label'" data-slot="label" :class="b24ui.label({ class: [uiProp?.label, item.b24ui?.label, item.class] })">
251
250
  {{ get(item, props.labelKey) }}
252
251
  </SelectLabel>
253
252
 
254
- <SelectSeparator v-else-if="isSelectItem(item) && item.type === 'separator'" data-slot="separator" :class="b24ui.separator({ class: [props.b24ui?.separator, item.b24ui?.separator, item.class] })" />
253
+ <SelectSeparator v-else-if="isSelectItem(item) && item.type === 'separator'" data-slot="separator" :class="b24ui.separator({ class: [uiProp?.separator, item.b24ui?.separator, item.class] })" />
255
254
 
256
255
  <RSelectItem
257
256
  v-else
258
257
  data-slot="item"
259
- :class="b24ui.item({ class: [props.b24ui?.item, isSelectItem(item) && item.b24ui?.item, isSelectItem(item) && item.class], colorItem: isSelectItem(item) && item?.color || void 0 })"
258
+ :class="b24ui.item({ class: [uiProp?.item, isSelectItem(item) && item.b24ui?.item, isSelectItem(item) && item.class], colorItem: isSelectItem(item) && item?.color || void 0 })"
260
259
  :disabled="isSelectItem(item) && item.disabled"
261
260
  :value="isSelectItem(item) ? get(item, props.valueKey) : item"
262
261
  @select="isSelectItem(item) && item.onSelect?.($event)"
@@ -265,15 +264,15 @@ defineExpose({
265
264
  <slot name="item-leading" :item="item" :index="index" :b24ui="b24ui">
266
265
  <B24Avatar
267
266
  v-if="isSelectItem(item) && item.avatar"
268
- :size="item.b24ui?.itemLeadingAvatarSize || props.b24ui?.itemLeadingAvatarSize || b24ui.itemLeadingAvatarSize()"
267
+ :size="item.b24ui?.itemLeadingAvatarSize || uiProp?.itemLeadingAvatarSize || b24ui.itemLeadingAvatarSize()"
269
268
  v-bind="item.avatar"
270
269
  data-slot="itemLeadingAvatar"
271
- :class="b24ui.itemLeadingAvatar({ class: [props.b24ui?.itemLeadingAvatar, item.b24ui?.itemLeadingAvatar], colorItem: item?.color })"
270
+ :class="b24ui.itemLeadingAvatar({ class: [uiProp?.itemLeadingAvatar, item.b24ui?.itemLeadingAvatar], colorItem: item?.color })"
272
271
  />
273
272
  </slot>
274
273
 
275
- <span data-slot="itemWrapper" :class="b24ui.itemWrapper({ class: [props.b24ui?.itemWrapper, isSelectItem(item) && item.b24ui?.itemWrapper] })">
276
- <SelectItemText data-slot="itemLabel" :class="b24ui.itemLabel({ class: [props.b24ui?.itemLabel, isSelectItem(item) && item.b24ui?.itemLabel] })">
274
+ <span data-slot="itemWrapper" :class="b24ui.itemWrapper({ class: [uiProp?.itemWrapper, isSelectItem(item) && item.b24ui?.itemWrapper] })">
275
+ <SelectItemText data-slot="itemLabel" :class="b24ui.itemLabel({ class: [uiProp?.itemLabel, isSelectItem(item) && item.b24ui?.itemLabel] })">
277
276
  <slot name="item-label" :item="item" :index="index">
278
277
  {{ isSelectItem(item) ? get(item, props.labelKey) : item }}
279
278
  </slot>
@@ -282,7 +281,7 @@ defineExpose({
282
281
  <span
283
282
  v-if="isSelectItem(item) && (get(item, props.descriptionKey) || !!slots['item-description'])"
284
283
  data-slot="itemDescription"
285
- :class="b24ui.itemDescription({ class: [props.b24ui?.itemDescription, isSelectItem(item) && item.b24ui?.itemDescription] })"
284
+ :class="b24ui.itemDescription({ class: [uiProp?.itemDescription, isSelectItem(item) && item.b24ui?.itemDescription] })"
286
285
  >
287
286
  <slot
288
287
  name="item-description"
@@ -294,12 +293,12 @@ defineExpose({
294
293
  </span>
295
294
  </span>
296
295
 
297
- <span data-slot="itemTrailing" :class="b24ui.itemTrailing({ class: [props.b24ui?.itemTrailing, isSelectItem(item) && item.b24ui?.itemTrailing], colorItem: isSelectItem(item) && item?.color || void 0 })">
296
+ <span data-slot="itemTrailing" :class="b24ui.itemTrailing({ class: [uiProp?.itemTrailing, isSelectItem(item) && item.b24ui?.itemTrailing], colorItem: isSelectItem(item) && item?.color || void 0 })">
298
297
  <SelectItemIndicator as-child>
299
298
  <Component
300
299
  :is="selectedIcon || icons.check"
301
300
  data-slot="itemTrailingIcon"
302
- :class="b24ui.itemTrailingIcon({ class: [props.b24ui?.itemTrailingIcon, isSelectItem(item) && item.b24ui?.itemTrailingIcon], colorItem: isSelectItem(item) && item?.color || void 0 })"
301
+ :class="b24ui.itemTrailingIcon({ class: [uiProp?.itemTrailingIcon, isSelectItem(item) && item.b24ui?.itemTrailingIcon], colorItem: isSelectItem(item) && item?.color || void 0 })"
303
302
  />
304
303
  </SelectItemIndicator>
305
304
 
@@ -308,16 +307,16 @@ defineExpose({
308
307
  :is="item.icon"
309
308
  v-if="isSelectItem(item) && item.icon"
310
309
  data-slot="itemLeadingIcon"
311
- :class="b24ui.itemLeadingIcon({ class: [props.b24ui?.itemLeadingIcon, item.b24ui?.itemLeadingIcon], colorItem: item?.color })"
310
+ :class="b24ui.itemLeadingIcon({ class: [uiProp?.itemLeadingIcon, item.b24ui?.itemLeadingIcon], colorItem: item?.color })"
312
311
  />
313
312
  <B24Chip
314
313
  v-else-if="isSelectItem(item) && item.chip"
315
- :size="item.b24ui?.itemLeadingChipSize || props.b24ui?.itemLeadingChipSize || b24ui.itemLeadingChipSize()"
314
+ :size="item.b24ui?.itemLeadingChipSize || uiProp?.itemLeadingChipSize || b24ui.itemLeadingChipSize()"
316
315
  inset
317
316
  standalone
318
317
  v-bind="item.chip"
319
318
  data-slot="itemLeadingChip"
320
- :class="b24ui.itemLeadingChip({ class: [props.b24ui?.itemLeadingChip, item.b24ui?.itemLeadingChip], colorItem: item?.color })"
319
+ :class="b24ui.itemLeadingChip({ class: [uiProp?.itemLeadingChip, item.b24ui?.itemLeadingChip], colorItem: item?.color })"
321
320
  />
322
321
  </slot>
323
322
  </span>
@@ -329,7 +328,7 @@ defineExpose({
329
328
 
330
329
  <slot name="content-bottom" />
331
330
 
332
- <SelectArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="b24ui.arrow({ class: props.b24ui?.arrow })" />
331
+ <SelectArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="b24ui.arrow({ class: uiProp?.arrow })" />
333
332
  </SelectContent>
334
333
  </SelectPortal>
335
334
  </SelectRoot>
@@ -3,9 +3,9 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/select';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, BadgeProps, IconComponent } from '../types';
6
- import type { ModelModifiers } from '../types/input';
6
+ import type { ModelModifiers, ApplyModifiers } from '../types/input';
7
7
  import type { ButtonHTMLAttributes } from '../types/html';
8
- import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
8
+ import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, NestedItem, EmitsToProps } from '../types/utils';
9
9
  import type { ComponentConfig } from '../types/tv';
10
10
  type Select = ComponentConfig<typeof theme, AppConfig, 'select'>;
11
11
  export type SelectValue = AcceptableValue;
@@ -32,7 +32,10 @@ export type SelectItem = SelectValue | {
32
32
  b24ui?: Pick<Select['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
33
33
  [key: string]: any;
34
34
  };
35
- export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Omit<SelectRootProps<T>, 'dir' | 'multiple' | 'modelValue' | 'defaultValue' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
35
+ type ExcludeItem = {
36
+ type: 'label' | 'separator';
37
+ };
38
+ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = 'value', M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>> extends Omit<SelectRootProps<T>, 'dir' | 'multiple' | 'modelValue' | 'defaultValue' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
36
39
  id?: string;
37
40
  /** The placeholder text when the select is empty. */
38
41
  placeholder?: string;
@@ -113,10 +116,10 @@ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested
113
116
  descriptionKey?: GetItemKeys<T>;
114
117
  items?: T;
115
118
  /** The value of the Select when initially rendered. Use when you do not need to control the state of the Select. */
116
- defaultValue?: GetModelValue<T, VK, M>;
119
+ defaultValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod>;
117
120
  /** The controlled value of the Select. Can be bind as `v-model`. */
118
- modelValue?: GetModelValue<T, VK, M>;
119
- modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
121
+ modelValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod>;
122
+ modelModifiers?: Mod;
120
123
  /** Whether multiple options can be selected or not. */
121
124
  multiple?: M & boolean;
122
125
  /** Highlight the ring color like a focus state. */
@@ -126,29 +129,30 @@ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested
126
129
  class?: any;
127
130
  b24ui?: Select['slots'];
128
131
  }
129
- export type SelectEmits<A extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<A> | undefined, M extends boolean> = Omit<SelectRootEmits, 'update:modelValue'> & {
130
- change: [event: Event];
131
- blur: [event: FocusEvent];
132
- focus: [event: FocusEvent];
133
- } & GetModelValueEmits<A, VK, M>;
132
+ export interface SelectEmits<A extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<A> | undefined, M extends boolean, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>> extends Omit<SelectRootEmits, 'update:modelValue'> {
133
+ 'change': [event: Event];
134
+ 'blur': [event: FocusEvent];
135
+ 'focus': [event: FocusEvent];
136
+ 'update:modelValue': [value: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod>];
137
+ }
134
138
  type SlotProps<T extends SelectItem> = (props: {
135
139
  item: T;
136
140
  index: number;
137
141
  b24ui: Select['b24ui'];
138
142
  }) => any;
139
- export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
143
+ export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, T extends NestedItem<A> = NestedItem<A>> {
140
144
  'leading'(props: {
141
- modelValue?: GetModelValue<A, VK, M>;
145
+ modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod>;
142
146
  open: boolean;
143
147
  b24ui: Select['b24ui'];
144
148
  }): any;
145
149
  'default'(props: {
146
- modelValue?: GetModelValue<A, VK, M>;
150
+ modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod>;
147
151
  open: boolean;
148
152
  b24ui: Select['b24ui'];
149
153
  }): any;
150
154
  'trailing'(props: {
151
- modelValue?: GetModelValue<A, VK, M>;
155
+ modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod>;
152
156
  open: boolean;
153
157
  b24ui: Select['b24ui'];
154
158
  }): any;
@@ -168,13 +172,33 @@ export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested
168
172
  }
169
173
  declare const _default: typeof __VLS_export;
170
174
  export default _default;
171
- declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = "value", 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<{
172
- props: import("vue").PublicProps & __VLS_PrettifyLocal<SelectProps<T, VK, M> & {
175
+ declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = "value", M extends boolean = false, Mod extends Omit<ModelModifiers, "lazy"> = Omit<ModelModifiers, "lazy">>(__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<{
176
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<SelectProps<T, VK, M, Mod> & {
173
177
  onBlur?: ((event: FocusEvent) => any) | undefined;
174
178
  onChange?: ((event: Event) => any) | undefined;
175
179
  onFocus?: ((event: FocusEvent) => any) | undefined;
176
180
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
177
- "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
181
+ "onUpdate:modelValue"?: ((value: Mod extends {
182
+ number: true;
183
+ } ? (Mod extends {
184
+ optional: true;
185
+ } ? (Mod extends {
186
+ nullable: true;
187
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
188
+ nullable: true;
189
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
190
+ optional: true;
191
+ } ? (Mod extends {
192
+ nullable: true;
193
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
194
+ nullable: true;
195
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
196
+ optional: true;
197
+ } ? (Mod extends {
198
+ nullable: true;
199
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
200
+ nullable: true;
201
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) => any) | undefined;
178
202
  }> & (typeof globalThis extends {
179
203
  __VLS_PROPS_FALLBACK: infer P;
180
204
  } ? P : {});
@@ -183,8 +207,28 @@ declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends Get
183
207
  viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
184
208
  }>) => void;
185
209
  attrs: any;
186
- slots: SelectSlots<T, VK, M, NestedItem<T>>;
187
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
210
+ slots: SelectSlots<T, VK, M, Mod, NestedItem<T>>;
211
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: Mod extends {
212
+ number: true;
213
+ } ? (Mod extends {
214
+ optional: true;
215
+ } ? (Mod extends {
216
+ nullable: true;
217
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
218
+ nullable: true;
219
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
220
+ optional: true;
221
+ } ? (Mod extends {
222
+ nullable: true;
223
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
224
+ nullable: true;
225
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
226
+ optional: true;
227
+ } ? (Mod extends {
228
+ nullable: true;
229
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
230
+ nullable: true;
231
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) => void);
188
232
  }>) => import("vue").VNode & {
189
233
  __ctx?: Awaited<typeof __VLS_setup>;
190
234
  };
@@ -3,9 +3,9 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/select-menu';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ButtonProps, ChipProps, InputProps, LinkPropsKeys, BadgeProps, IconComponent } from '../types';
6
- import type { ModelModifiers } from '../types/input';
6
+ import type { ModelModifiers, ApplyModifiers } from '../types/input';
7
7
  import type { ButtonHTMLAttributes } from '../types/html';
8
- import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
8
+ import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, NestedItem, EmitsToProps } from '../types/utils';
9
9
  import type { ComponentConfig } from '../types/tv';
10
10
  type SelectMenu = ComponentConfig<typeof theme, AppConfig, 'selectMenu'>;
11
11
  export type SelectMenuValue = AcceptableValue;
@@ -31,7 +31,11 @@ export type SelectMenuItem = SelectMenuValue | {
31
31
  b24ui?: Pick<SelectMenu['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
32
32
  [key: string]: any;
33
33
  };
34
- export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'resetModelValueOnClear' | 'highlightOnHover' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
34
+ type ExcludeItem = {
35
+ type: 'label' | 'separator';
36
+ };
37
+ type IsClearUsed<M extends boolean, C extends boolean | object> = M extends false ? (C extends true ? null : C extends object ? null : never) : never;
38
+ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, C extends boolean | object = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'resetModelValueOnClear' | 'highlightOnHover' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
35
39
  id?: string;
36
40
  /** The placeholder text when the select is empty. */
37
41
  placeholder?: string;
@@ -96,11 +100,11 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
96
100
  * Can be an object to pass additional props to the Button.
97
101
  * @defaultValue false
98
102
  */
99
- clear?: boolean | Partial<Omit<ButtonProps, LinkPropsKeys>>;
103
+ clear?: (C & boolean) | (C & Partial<Omit<ButtonProps, LinkPropsKeys>>);
100
104
  /**
101
105
  * The icon displayed in the clear button.
102
106
  * @defaultValue icons.close
103
- * @IconifyIcon
107
+ * @IconComponent
104
108
  */
105
109
  clearIcon?: IconComponent;
106
110
  /**
@@ -152,10 +156,10 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
152
156
  descriptionKey?: GetItemKeys<T>;
153
157
  items?: T;
154
158
  /** The value of the SelectMenu when initially rendered. Use when you do not need to control the state of the SelectMenu. */
155
- defaultValue?: GetModelValue<T, VK, M>;
159
+ defaultValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
156
160
  /** The controlled value of the SelectMenu. Can be binded-with with `v-model`. */
157
- modelValue?: GetModelValue<T, VK, M>;
158
- modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
161
+ modelValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
162
+ modelModifiers?: Mod;
159
163
  /** Whether multiple options can be selected or not. */
160
164
  multiple?: M & boolean;
161
165
  /** Highlight the ring color like a focus state. */
@@ -183,38 +187,39 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
183
187
  class?: any;
184
188
  b24ui?: SelectMenu['slots'];
185
189
  }
186
- export type SelectMenuEmits<A extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined, M extends boolean> = Pick<ComboboxRootEmits, 'update:open'> & {
187
- change: [event: Event];
188
- blur: [event: FocusEvent];
189
- focus: [event: FocusEvent];
190
- create: [item: string];
191
- clear: [];
190
+ export interface SelectMenuEmits<A extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined, M extends boolean, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, C extends boolean | object = false> extends Pick<ComboboxRootEmits, 'update:open'> {
191
+ 'change': [event: Event];
192
+ 'blur': [event: FocusEvent];
193
+ 'focus': [event: FocusEvent];
194
+ 'create': [item: string];
195
+ 'clear': [];
192
196
  /** Event handler when highlighted element changes. */
193
- highlight: [
197
+ 'highlight': [
194
198
  payload: {
195
199
  ref: HTMLElement;
196
- value: GetModelValue<A, VK, M>;
200
+ value: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
197
201
  } | undefined
198
202
  ];
199
- } & GetModelValueEmits<A, VK, M>;
203
+ 'update:modelValue': [value: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>];
204
+ }
200
205
  type SlotProps<T extends SelectMenuItem> = (props: {
201
206
  item: T;
202
207
  index: number;
203
208
  b24ui: SelectMenu['b24ui'];
204
209
  }) => any;
205
- export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
210
+ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, C extends boolean | object = false, T extends NestedItem<A> = NestedItem<A>> {
206
211
  'leading'(props: {
207
- modelValue?: GetModelValue<A, VK, M>;
212
+ modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
208
213
  open: boolean;
209
214
  b24ui: SelectMenu['b24ui'];
210
215
  }): any;
211
216
  'default'(props: {
212
- modelValue?: GetModelValue<A, VK, M>;
217
+ modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
213
218
  open: boolean;
214
219
  b24ui: SelectMenu['b24ui'];
215
220
  }): any;
216
221
  'trailing'(props: {
217
- modelValue?: GetModelValue<A, VK, M>;
222
+ modelValue?: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
218
223
  open: boolean;
219
224
  b24ui: SelectMenu['b24ui'];
220
225
  }): any;
@@ -240,21 +245,61 @@ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = Array
240
245
  }
241
246
  declare const _default: typeof __VLS_export;
242
247
  export default _default;
243
- declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, 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<{
244
- props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectMenuProps<T, VK, M> & {
248
+ declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, "lazy"> = Omit<ModelModifiers, "lazy">, C extends boolean | object = 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<{
249
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectMenuProps<T, VK, M, Mod, C> & {
245
250
  searchTerm?: string;
246
251
  }) & {
247
252
  onClear?: (() => any) | undefined;
248
253
  onBlur?: ((event: FocusEvent) => any) | undefined;
249
254
  onChange?: ((event: Event) => any) | undefined;
250
255
  onFocus?: ((event: FocusEvent) => any) | undefined;
251
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
252
- onCreate?: ((item: string) => any) | undefined;
253
- "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
254
256
  onHighlight?: ((payload: {
255
257
  ref: HTMLElement;
256
- value: GetModelValue<T, VK, M>;
258
+ value: (Mod extends {
259
+ number: true;
260
+ } ? (Mod extends {
261
+ optional: true;
262
+ } ? (Mod extends {
263
+ nullable: true;
264
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
265
+ nullable: true;
266
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
267
+ optional: true;
268
+ } ? (Mod extends {
269
+ nullable: true;
270
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
271
+ nullable: true;
272
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
273
+ optional: true;
274
+ } ? (Mod extends {
275
+ nullable: true;
276
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
277
+ nullable: true;
278
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>;
257
279
  } | undefined) => any) | undefined;
280
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
281
+ onCreate?: ((item: string) => any) | undefined;
282
+ "onUpdate:modelValue"?: ((value: (Mod extends {
283
+ number: true;
284
+ } ? (Mod extends {
285
+ optional: true;
286
+ } ? (Mod extends {
287
+ nullable: true;
288
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
289
+ nullable: true;
290
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
291
+ optional: true;
292
+ } ? (Mod extends {
293
+ nullable: true;
294
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
295
+ nullable: true;
296
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
297
+ optional: true;
298
+ } ? (Mod extends {
299
+ nullable: true;
300
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
301
+ nullable: true;
302
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => any) | undefined;
258
303
  "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
259
304
  }> & (typeof globalThis extends {
260
305
  __VLS_PROPS_FALLBACK: infer P;
@@ -264,11 +309,51 @@ declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends
264
309
  viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
265
310
  }>) => void;
266
311
  attrs: any;
267
- slots: SelectMenuSlots<T, VK, M, NestedItem<T>>;
268
- 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: {
312
+ slots: SelectMenuSlots<T, VK, M, Mod, C, NestedItem<T>>;
313
+ emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "highlight", payload: {
269
314
  ref: HTMLElement;
270
- value: GetModelValue<T, VK, M>;
271
- } | undefined) => void)) & ((event: "update:searchTerm", value: string) => void);
315
+ value: (Mod extends {
316
+ number: true;
317
+ } ? (Mod extends {
318
+ optional: true;
319
+ } ? (Mod extends {
320
+ nullable: true;
321
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
322
+ nullable: true;
323
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
324
+ optional: true;
325
+ } ? (Mod extends {
326
+ nullable: true;
327
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
328
+ nullable: true;
329
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
330
+ optional: true;
331
+ } ? (Mod extends {
332
+ nullable: true;
333
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
334
+ nullable: true;
335
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>;
336
+ } | undefined) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: (Mod extends {
337
+ number: true;
338
+ } ? (Mod extends {
339
+ optional: true;
340
+ } ? (Mod extends {
341
+ nullable: true;
342
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
343
+ nullable: true;
344
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
345
+ optional: true;
346
+ } ? (Mod extends {
347
+ nullable: true;
348
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
349
+ nullable: true;
350
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
351
+ optional: true;
352
+ } ? (Mod extends {
353
+ nullable: true;
354
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
355
+ nullable: true;
356
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => void)) & ((event: "update:searchTerm", value: string) => void);
272
357
  }>) => import("vue").VNode & {
273
358
  __ctx?: Awaited<typeof __VLS_setup>;
274
359
  };