@bitrix24/b24ui-nuxt 2.3.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/README.md +4 -4
  2. package/cli/package.json +1 -1
  3. package/cli/templates.mjs +5 -8
  4. package/dist/module.d.mts +8 -1
  5. package/dist/module.json +1 -1
  6. package/dist/module.mjs +3 -2
  7. package/dist/runtime/air-design-tokens/013_b24_mobile_light.css +1 -0
  8. package/dist/runtime/air-design-tokens/014_b24_mobile_dark.css +1 -0
  9. package/dist/runtime/air-design-tokens/015_b24_mobile_edge-light.css +1 -0
  10. package/dist/runtime/air-design-tokens/016_b24_mobile_edge-dark.css +1 -0
  11. package/dist/runtime/air-design-tokens/023_b24_desktop_light.css +1 -0
  12. package/dist/runtime/air-design-tokens/024_b24_desktop_dark.css +1 -0
  13. package/dist/runtime/air-design-tokens/025_b24_desktop_edge-light.css +1 -0
  14. package/dist/runtime/air-design-tokens/026_b24_desktop_edge-dark.css +1 -0
  15. package/dist/runtime/air-design-tokens/components/scrollbar.css +1 -1
  16. package/dist/runtime/air-design-tokens/design-tokens/app.json +23812 -0
  17. package/dist/runtime/air-design-tokens/design-tokens/mobileapp.json +7476 -0
  18. package/dist/runtime/air-design-tokens/index.css +1 -1
  19. package/dist/runtime/components/Accordion.d.vue.ts +8 -7
  20. package/dist/runtime/components/Accordion.vue +11 -9
  21. package/dist/runtime/components/Accordion.vue.d.ts +8 -7
  22. package/dist/runtime/components/Advice.d.vue.ts +4 -3
  23. package/dist/runtime/components/Advice.vue +13 -11
  24. package/dist/runtime/components/Advice.vue.d.ts +4 -3
  25. package/dist/runtime/components/Alert.d.vue.ts +8 -7
  26. package/dist/runtime/components/Alert.vue +11 -9
  27. package/dist/runtime/components/Alert.vue.d.ts +8 -7
  28. package/dist/runtime/components/App.d.vue.ts +2 -1
  29. package/dist/runtime/components/App.vue.d.ts +2 -1
  30. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  31. package/dist/runtime/components/Avatar.vue +6 -4
  32. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  33. package/dist/runtime/components/AvatarGroup.d.vue.ts +2 -1
  34. package/dist/runtime/components/AvatarGroup.vue +5 -3
  35. package/dist/runtime/components/AvatarGroup.vue.d.ts +2 -1
  36. package/dist/runtime/components/Badge.d.vue.ts +7 -6
  37. package/dist/runtime/components/Badge.vue +9 -7
  38. package/dist/runtime/components/Badge.vue.d.ts +7 -6
  39. package/dist/runtime/components/Banner.d.vue.ts +7 -6
  40. package/dist/runtime/components/Banner.vue +11 -9
  41. package/dist/runtime/components/Banner.vue.d.ts +7 -6
  42. package/dist/runtime/components/Breadcrumb.d.vue.ts +14 -13
  43. package/dist/runtime/components/Breadcrumb.vue +12 -10
  44. package/dist/runtime/components/Breadcrumb.vue.d.ts +14 -13
  45. package/dist/runtime/components/Button.d.vue.ts +7 -6
  46. package/dist/runtime/components/Button.vue +14 -12
  47. package/dist/runtime/components/Button.vue.d.ts +7 -6
  48. package/dist/runtime/components/Calendar.d.vue.ts +6 -5
  49. package/dist/runtime/components/Calendar.vue +14 -12
  50. package/dist/runtime/components/Calendar.vue.d.ts +6 -5
  51. package/dist/runtime/components/Card.d.vue.ts +4 -3
  52. package/dist/runtime/components/Card.vue +6 -4
  53. package/dist/runtime/components/Card.vue.d.ts +4 -3
  54. package/dist/runtime/components/ChatMessage.d.vue.ts +6 -5
  55. package/dist/runtime/components/ChatMessage.vue +10 -8
  56. package/dist/runtime/components/ChatMessage.vue.d.ts +6 -5
  57. package/dist/runtime/components/ChatMessages.d.vue.ts +9 -8
  58. package/dist/runtime/components/ChatMessages.vue +14 -9
  59. package/dist/runtime/components/ChatMessages.vue.d.ts +9 -8
  60. package/dist/runtime/components/ChatPalette.d.vue.ts +3 -2
  61. package/dist/runtime/components/ChatPalette.vue +5 -3
  62. package/dist/runtime/components/ChatPalette.vue.d.ts +3 -2
  63. package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -2
  64. package/dist/runtime/components/ChatPrompt.vue +9 -6
  65. package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -2
  66. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +4 -4
  67. package/dist/runtime/components/ChatPromptSubmit.vue +4 -2
  68. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +4 -4
  69. package/dist/runtime/components/Checkbox.d.vue.ts +7 -6
  70. package/dist/runtime/components/Checkbox.vue +18 -11
  71. package/dist/runtime/components/Checkbox.vue.d.ts +7 -6
  72. package/dist/runtime/components/CheckboxGroup.d.vue.ts +7 -6
  73. package/dist/runtime/components/CheckboxGroup.vue +7 -5
  74. package/dist/runtime/components/CheckboxGroup.vue.d.ts +7 -6
  75. package/dist/runtime/components/Chip.d.vue.ts +5 -4
  76. package/dist/runtime/components/Chip.vue +5 -3
  77. package/dist/runtime/components/Chip.vue.d.ts +5 -4
  78. package/dist/runtime/components/Collapsible.d.vue.ts +4 -3
  79. package/dist/runtime/components/Collapsible.vue +4 -2
  80. package/dist/runtime/components/Collapsible.vue.d.ts +4 -3
  81. package/dist/runtime/components/ColorPicker.vue +9 -7
  82. package/dist/runtime/components/CommandPalette.d.vue.ts +22 -21
  83. package/dist/runtime/components/CommandPalette.vue +33 -31
  84. package/dist/runtime/components/CommandPalette.vue.d.ts +22 -21
  85. package/dist/runtime/components/Container.d.vue.ts +5 -1
  86. package/dist/runtime/components/Container.vue +5 -2
  87. package/dist/runtime/components/Container.vue.d.ts +5 -1
  88. package/dist/runtime/components/ContextMenu.d.vue.ts +19 -18
  89. package/dist/runtime/components/ContextMenu.vue +4 -2
  90. package/dist/runtime/components/ContextMenu.vue.d.ts +19 -18
  91. package/dist/runtime/components/Countdown.d.vue.ts +5 -4
  92. package/dist/runtime/components/Countdown.vue +11 -9
  93. package/dist/runtime/components/Countdown.vue.d.ts +5 -4
  94. package/dist/runtime/components/DashboardGroup.d.vue.ts +10 -4
  95. package/dist/runtime/components/DashboardGroup.vue +15 -11
  96. package/dist/runtime/components/DashboardGroup.vue.d.ts +10 -4
  97. package/dist/runtime/components/DashboardNavbar.d.vue.ts +60 -0
  98. package/dist/runtime/components/DashboardNavbar.vue +79 -0
  99. package/dist/runtime/components/DashboardNavbar.vue.d.ts +60 -0
  100. package/dist/runtime/components/DashboardPanel.d.vue.ts +32 -0
  101. package/dist/runtime/components/DashboardPanel.vue +66 -0
  102. package/dist/runtime/components/DashboardPanel.vue.d.ts +32 -0
  103. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +23 -0
  104. package/dist/runtime/components/DashboardResizeHandle.vue +30 -0
  105. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +23 -0
  106. package/dist/runtime/components/DashboardSearch.d.vue.ts +4 -3
  107. package/dist/runtime/components/DashboardSearch.vue +5 -2
  108. package/dist/runtime/components/DashboardSearch.vue.d.ts +4 -3
  109. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -2
  110. package/dist/runtime/components/DashboardSearchButton.vue +10 -6
  111. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -2
  112. package/dist/runtime/components/DashboardSidebar.d.vue.ts +90 -0
  113. package/dist/runtime/components/DashboardSidebar.vue +169 -0
  114. package/dist/runtime/components/DashboardSidebar.vue.d.ts +90 -0
  115. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +21 -0
  116. package/dist/runtime/components/DashboardSidebarCollapse.vue +64 -0
  117. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +21 -0
  118. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +21 -0
  119. package/dist/runtime/components/DashboardSidebarToggle.vue +65 -0
  120. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +21 -0
  121. package/dist/runtime/components/DashboardToolbar.d.vue.ts +27 -0
  122. package/dist/runtime/components/DashboardToolbar.vue +34 -0
  123. package/dist/runtime/components/DashboardToolbar.vue.d.ts +27 -0
  124. package/dist/runtime/components/DescriptionList.d.vue.ts +17 -18
  125. package/dist/runtime/components/DescriptionList.vue +19 -17
  126. package/dist/runtime/components/DescriptionList.vue.d.ts +17 -18
  127. package/dist/runtime/components/Drawer.d.vue.ts +101 -0
  128. package/dist/runtime/components/Drawer.vue +133 -0
  129. package/dist/runtime/components/Drawer.vue.d.ts +101 -0
  130. package/dist/runtime/components/DropdownMenu.d.vue.ts +20 -19
  131. package/dist/runtime/components/DropdownMenu.vue +6 -9
  132. package/dist/runtime/components/DropdownMenu.vue.d.ts +20 -19
  133. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +4 -3
  134. package/dist/runtime/components/DropdownMenuContent.vue +3 -1
  135. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +4 -3
  136. package/dist/runtime/components/Editor.d.vue.ts +5 -3
  137. package/dist/runtime/components/Editor.vue +15 -3
  138. package/dist/runtime/components/Editor.vue.d.ts +5 -3
  139. package/dist/runtime/components/EditorDragHandle.d.vue.ts +5 -4
  140. package/dist/runtime/components/EditorDragHandle.vue +5 -3
  141. package/dist/runtime/components/EditorDragHandle.vue.d.ts +5 -4
  142. package/dist/runtime/components/EditorMentionMenu.vue +4 -1
  143. package/dist/runtime/components/EditorToolbar.d.vue.ts +3 -2
  144. package/dist/runtime/components/EditorToolbar.vue +6 -4
  145. package/dist/runtime/components/EditorToolbar.vue.d.ts +3 -2
  146. package/dist/runtime/components/Empty.d.vue.ts +9 -8
  147. package/dist/runtime/components/Empty.vue +11 -9
  148. package/dist/runtime/components/Empty.vue.d.ts +9 -8
  149. package/dist/runtime/components/Error.d.vue.ts +6 -5
  150. package/dist/runtime/components/Error.vue +7 -5
  151. package/dist/runtime/components/Error.vue.d.ts +6 -5
  152. package/dist/runtime/components/FieldGroup.d.vue.ts +5 -2
  153. package/dist/runtime/components/FieldGroup.vue +3 -1
  154. package/dist/runtime/components/FieldGroup.vue.d.ts +5 -2
  155. package/dist/runtime/components/FileUpload.d.vue.ts +29 -28
  156. package/dist/runtime/components/FileUpload.vue +17 -15
  157. package/dist/runtime/components/FileUpload.vue.d.ts +29 -28
  158. package/dist/runtime/components/Footer.d.vue.ts +31 -0
  159. package/dist/runtime/components/Footer.vue +47 -0
  160. package/dist/runtime/components/Footer.vue.d.ts +31 -0
  161. package/dist/runtime/components/FooterColumns.d.vue.ts +70 -0
  162. package/dist/runtime/components/FooterColumns.vue +83 -0
  163. package/dist/runtime/components/FooterColumns.vue.d.ts +70 -0
  164. package/dist/runtime/components/Form.d.vue.ts +6 -2
  165. package/dist/runtime/components/Form.vue +10 -2
  166. package/dist/runtime/components/Form.vue.d.ts +6 -2
  167. package/dist/runtime/components/FormField.d.vue.ts +19 -18
  168. package/dist/runtime/components/FormField.vue +12 -10
  169. package/dist/runtime/components/FormField.vue.d.ts +19 -18
  170. package/dist/runtime/components/Header.d.vue.ts +82 -0
  171. package/dist/runtime/components/Header.vue +147 -0
  172. package/dist/runtime/components/Header.vue.d.ts +82 -0
  173. package/dist/runtime/components/Input.d.vue.ts +60 -17
  174. package/dist/runtime/components/Input.vue +16 -12
  175. package/dist/runtime/components/Input.vue.d.ts +60 -17
  176. package/dist/runtime/components/InputDate.d.vue.ts +12 -9
  177. package/dist/runtime/components/InputDate.vue +19 -12
  178. package/dist/runtime/components/InputDate.vue.d.ts +12 -9
  179. package/dist/runtime/components/InputMenu.d.vue.ts +177 -48
  180. package/dist/runtime/components/InputMenu.vue +53 -61
  181. package/dist/runtime/components/InputMenu.vue.d.ts +177 -48
  182. package/dist/runtime/components/InputNumber.d.vue.ts +18 -16
  183. package/dist/runtime/components/InputNumber.vue +19 -11
  184. package/dist/runtime/components/InputNumber.vue.d.ts +18 -16
  185. package/dist/runtime/components/InputTags.d.vue.ts +12 -9
  186. package/dist/runtime/components/InputTags.vue +17 -13
  187. package/dist/runtime/components/InputTags.vue.d.ts +12 -9
  188. package/dist/runtime/components/InputTime.d.vue.ts +10 -7
  189. package/dist/runtime/components/InputTime.vue +17 -10
  190. package/dist/runtime/components/InputTime.vue.d.ts +10 -7
  191. package/dist/runtime/components/Kbd.d.vue.ts +3 -1
  192. package/dist/runtime/components/Kbd.vue +5 -2
  193. package/dist/runtime/components/Kbd.vue.d.ts +3 -1
  194. package/dist/runtime/components/Link.d.vue.ts +4 -3
  195. package/dist/runtime/components/Link.vue +7 -7
  196. package/dist/runtime/components/Link.vue.d.ts +4 -3
  197. package/dist/runtime/components/LinkBase.d.vue.ts +1 -1
  198. package/dist/runtime/components/LinkBase.vue.d.ts +1 -1
  199. package/dist/runtime/components/Main.d.vue.ts +25 -0
  200. package/dist/runtime/components/Main.vue +26 -0
  201. package/dist/runtime/components/Main.vue.d.ts +25 -0
  202. package/dist/runtime/components/Modal.d.vue.ts +22 -21
  203. package/dist/runtime/components/Modal.vue +14 -12
  204. package/dist/runtime/components/Modal.vue.d.ts +22 -21
  205. package/dist/runtime/components/ModalDialogClose.d.vue.ts +2 -1
  206. package/dist/runtime/components/ModalDialogClose.vue.d.ts +2 -1
  207. package/dist/runtime/components/Navbar.d.vue.ts +8 -0
  208. package/dist/runtime/components/Navbar.vue +3 -1
  209. package/dist/runtime/components/Navbar.vue.d.ts +8 -0
  210. package/dist/runtime/components/NavbarDivider.d.vue.ts +8 -0
  211. package/dist/runtime/components/NavbarDivider.vue +3 -1
  212. package/dist/runtime/components/NavbarDivider.vue.d.ts +8 -0
  213. package/dist/runtime/components/NavbarSection.d.vue.ts +8 -0
  214. package/dist/runtime/components/NavbarSection.vue +3 -1
  215. package/dist/runtime/components/NavbarSection.vue.d.ts +8 -0
  216. package/dist/runtime/components/NavbarSpacer.d.vue.ts +8 -0
  217. package/dist/runtime/components/NavbarSpacer.vue +3 -1
  218. package/dist/runtime/components/NavbarSpacer.vue.d.ts +8 -0
  219. package/dist/runtime/components/NavigationMenu.d.vue.ts +38 -34
  220. package/dist/runtime/components/NavigationMenu.vue +125 -65
  221. package/dist/runtime/components/NavigationMenu.vue.d.ts +38 -34
  222. package/dist/runtime/components/Page.d.vue.ts +27 -0
  223. package/dist/runtime/components/Page.vue +45 -0
  224. package/dist/runtime/components/Page.vue.d.ts +27 -0
  225. package/dist/runtime/components/PageAside.d.vue.ts +29 -0
  226. package/dist/runtime/components/PageAside.vue +38 -0
  227. package/dist/runtime/components/PageAside.vue.d.ts +29 -0
  228. package/dist/runtime/components/PageBody.d.vue.ts +23 -0
  229. package/dist/runtime/components/PageBody.vue +26 -0
  230. package/dist/runtime/components/PageBody.vue.d.ts +23 -0
  231. package/dist/runtime/components/PageCard.d.vue.ts +9 -8
  232. package/dist/runtime/components/PageCard.vue +12 -10
  233. package/dist/runtime/components/PageCard.vue.d.ts +9 -8
  234. package/dist/runtime/components/PageColumns.d.vue.ts +5 -1
  235. package/dist/runtime/components/PageColumns.vue +5 -2
  236. package/dist/runtime/components/PageColumns.vue.d.ts +5 -1
  237. package/dist/runtime/components/PageFeature.d.vue.ts +48 -0
  238. package/dist/runtime/components/PageFeature.vue +79 -0
  239. package/dist/runtime/components/PageFeature.vue.d.ts +48 -0
  240. package/dist/runtime/components/PageGrid.d.vue.ts +5 -1
  241. package/dist/runtime/components/PageGrid.vue +5 -2
  242. package/dist/runtime/components/PageGrid.vue.d.ts +5 -1
  243. package/dist/runtime/components/PageHeader.d.vue.ts +38 -0
  244. package/dist/runtime/components/PageHeader.vue +67 -0
  245. package/dist/runtime/components/PageHeader.vue.d.ts +38 -0
  246. package/dist/runtime/components/PageLinks.d.vue.ts +9 -8
  247. package/dist/runtime/components/PageLinks.vue +11 -9
  248. package/dist/runtime/components/PageLinks.vue.d.ts +9 -8
  249. package/dist/runtime/components/PageList.d.vue.ts +5 -1
  250. package/dist/runtime/components/PageList.vue +5 -2
  251. package/dist/runtime/components/PageList.vue.d.ts +5 -1
  252. package/dist/runtime/components/PageSection.d.vue.ts +72 -0
  253. package/dist/runtime/components/PageSection.vue +110 -0
  254. package/dist/runtime/components/PageSection.vue.d.ts +72 -0
  255. package/dist/runtime/components/Pagination.d.vue.ts +11 -10
  256. package/dist/runtime/components/Pagination.vue +10 -8
  257. package/dist/runtime/components/Pagination.vue.d.ts +11 -10
  258. package/dist/runtime/components/PinInput.d.vue.ts +4 -1
  259. package/dist/runtime/components/PinInput.vue +10 -3
  260. package/dist/runtime/components/PinInput.vue.d.ts +4 -1
  261. package/dist/runtime/components/Popover.d.vue.ts +8 -5
  262. package/dist/runtime/components/Popover.vue +4 -2
  263. package/dist/runtime/components/Popover.vue.d.ts +8 -5
  264. package/dist/runtime/components/Progress.d.vue.ts +4 -3
  265. package/dist/runtime/components/Progress.vue +8 -6
  266. package/dist/runtime/components/Progress.vue.d.ts +4 -3
  267. package/dist/runtime/components/RadioGroup.d.vue.ts +7 -6
  268. package/dist/runtime/components/RadioGroup.vue +12 -10
  269. package/dist/runtime/components/RadioGroup.vue.d.ts +7 -6
  270. package/dist/runtime/components/Range.vue +7 -5
  271. package/dist/runtime/components/ScrollArea.d.vue.ts +13 -2
  272. package/dist/runtime/components/ScrollArea.vue +36 -12
  273. package/dist/runtime/components/ScrollArea.vue.d.ts +13 -2
  274. package/dist/runtime/components/Select.d.vue.ts +81 -36
  275. package/dist/runtime/components/Select.vue +35 -36
  276. package/dist/runtime/components/Select.vue.d.ts +81 -36
  277. package/dist/runtime/components/SelectMenu.d.vue.ts +138 -52
  278. package/dist/runtime/components/SelectMenu.vue +56 -60
  279. package/dist/runtime/components/SelectMenu.vue.d.ts +138 -52
  280. package/dist/runtime/components/Separator.d.vue.ts +5 -4
  281. package/dist/runtime/components/Separator.vue +9 -7
  282. package/dist/runtime/components/Separator.vue.d.ts +5 -4
  283. package/dist/runtime/components/Sidebar.d.vue.ts +6 -0
  284. package/dist/runtime/components/Sidebar.vue +3 -1
  285. package/dist/runtime/components/Sidebar.vue.d.ts +6 -0
  286. package/dist/runtime/components/SidebarBody.d.vue.ts +6 -3
  287. package/dist/runtime/components/SidebarBody.vue +3 -1
  288. package/dist/runtime/components/SidebarBody.vue.d.ts +6 -3
  289. package/dist/runtime/components/SidebarFooter.d.vue.ts +6 -3
  290. package/dist/runtime/components/SidebarFooter.vue +3 -1
  291. package/dist/runtime/components/SidebarFooter.vue.d.ts +6 -3
  292. package/dist/runtime/components/SidebarHeader.d.vue.ts +6 -3
  293. package/dist/runtime/components/SidebarHeader.vue +3 -1
  294. package/dist/runtime/components/SidebarHeader.vue.d.ts +6 -3
  295. package/dist/runtime/components/SidebarHeading.d.vue.ts +6 -3
  296. package/dist/runtime/components/SidebarHeading.vue +3 -1
  297. package/dist/runtime/components/SidebarHeading.vue.d.ts +6 -3
  298. package/dist/runtime/components/SidebarLayout.d.vue.ts +8 -3
  299. package/dist/runtime/components/SidebarLayout.vue +22 -21
  300. package/dist/runtime/components/SidebarLayout.vue.d.ts +8 -3
  301. package/dist/runtime/components/SidebarSection.d.vue.ts +6 -3
  302. package/dist/runtime/components/SidebarSection.vue +3 -1
  303. package/dist/runtime/components/SidebarSection.vue.d.ts +6 -3
  304. package/dist/runtime/components/SidebarSpacer.d.vue.ts +6 -3
  305. package/dist/runtime/components/SidebarSpacer.vue +3 -1
  306. package/dist/runtime/components/SidebarSpacer.vue.d.ts +6 -3
  307. package/dist/runtime/components/Skeleton.vue +3 -1
  308. package/dist/runtime/components/Slideover.d.vue.ts +23 -22
  309. package/dist/runtime/components/Slideover.vue +19 -17
  310. package/dist/runtime/components/Slideover.vue.d.ts +23 -22
  311. package/dist/runtime/components/Stepper.d.vue.ts +8 -7
  312. package/dist/runtime/components/Stepper.vue +14 -12
  313. package/dist/runtime/components/Stepper.vue.d.ts +8 -7
  314. package/dist/runtime/components/Switch.d.vue.ts +7 -6
  315. package/dist/runtime/components/Switch.vue +19 -13
  316. package/dist/runtime/components/Switch.vue.d.ts +7 -6
  317. package/dist/runtime/components/Table.d.vue.ts +11 -12
  318. package/dist/runtime/components/Table.vue +25 -23
  319. package/dist/runtime/components/Table.vue.d.ts +11 -12
  320. package/dist/runtime/components/TableWrapper.d.vue.ts +2 -1
  321. package/dist/runtime/components/TableWrapper.vue +3 -1
  322. package/dist/runtime/components/TableWrapper.vue.d.ts +2 -1
  323. package/dist/runtime/components/Tabs.d.vue.ts +10 -9
  324. package/dist/runtime/components/Tabs.vue +17 -12
  325. package/dist/runtime/components/Tabs.vue.d.ts +10 -9
  326. package/dist/runtime/components/Textarea.d.vue.ts +60 -17
  327. package/dist/runtime/components/Textarea.vue +18 -14
  328. package/dist/runtime/components/Textarea.vue.d.ts +60 -17
  329. package/dist/runtime/components/Theme.d.vue.ts +18 -0
  330. package/dist/runtime/components/Theme.vue +17 -0
  331. package/dist/runtime/components/Theme.vue.d.ts +18 -0
  332. package/dist/runtime/components/Timeline.d.vue.ts +7 -6
  333. package/dist/runtime/components/Timeline.vue +11 -9
  334. package/dist/runtime/components/Timeline.vue.d.ts +7 -6
  335. package/dist/runtime/components/Toast.d.vue.ts +8 -7
  336. package/dist/runtime/components/Toast.vue +15 -15
  337. package/dist/runtime/components/Toast.vue.d.ts +8 -7
  338. package/dist/runtime/components/Toaster.d.vue.ts +3 -2
  339. package/dist/runtime/components/Toaster.vue +6 -3
  340. package/dist/runtime/components/Toaster.vue.d.ts +3 -2
  341. package/dist/runtime/components/Tooltip.d.vue.ts +5 -4
  342. package/dist/runtime/components/Tooltip.vue +9 -7
  343. package/dist/runtime/components/Tooltip.vue.d.ts +5 -4
  344. package/dist/runtime/components/User.d.vue.ts +6 -5
  345. package/dist/runtime/components/User.vue +8 -6
  346. package/dist/runtime/components/User.vue.d.ts +6 -5
  347. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +1 -1
  348. package/dist/runtime/components/color-mode/ColorModeButton.vue +4 -2
  349. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +1 -1
  350. package/dist/runtime/components/color-mode/ColorModeImage.vue +8 -3
  351. package/dist/runtime/components/color-mode/ColorModeSelect.vue +1 -1
  352. package/dist/runtime/components/content/ContentSearch.d.vue.ts +4 -3
  353. package/dist/runtime/components/content/ContentSearch.vue +5 -2
  354. package/dist/runtime/components/content/ContentSearch.vue.d.ts +4 -3
  355. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -2
  356. package/dist/runtime/components/content/ContentSearchButton.vue +5 -3
  357. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -2
  358. package/dist/runtime/components/content/ContentSurround.d.vue.ts +6 -5
  359. package/dist/runtime/components/content/ContentSurround.vue +8 -6
  360. package/dist/runtime/components/content/ContentSurround.vue.d.ts +6 -5
  361. package/dist/runtime/components/content/ContentToc.d.vue.ts +15 -14
  362. package/dist/runtime/components/content/ContentToc.vue +15 -13
  363. package/dist/runtime/components/content/ContentToc.vue.d.ts +15 -14
  364. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  365. package/dist/runtime/components/locale/LocaleSelect.vue +1 -1
  366. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  367. package/dist/runtime/components/prose/A.d.vue.ts +2 -1
  368. package/dist/runtime/components/prose/A.vue +3 -1
  369. package/dist/runtime/components/prose/A.vue.d.ts +2 -1
  370. package/dist/runtime/components/prose/Accordion.d.vue.ts +2 -1
  371. package/dist/runtime/components/prose/Accordion.vue +3 -1
  372. package/dist/runtime/components/prose/Accordion.vue.d.ts +2 -1
  373. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +5 -1
  374. package/dist/runtime/components/prose/AccordionItem.vue +5 -2
  375. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +5 -1
  376. package/dist/runtime/components/prose/Badge.d.vue.ts +5 -1
  377. package/dist/runtime/components/prose/Badge.vue +5 -2
  378. package/dist/runtime/components/prose/Badge.vue.d.ts +5 -1
  379. package/dist/runtime/components/prose/Blockquote.d.vue.ts +2 -4
  380. package/dist/runtime/components/prose/Blockquote.vue +3 -1
  381. package/dist/runtime/components/prose/Blockquote.vue.d.ts +2 -4
  382. package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
  383. package/dist/runtime/components/prose/Callout.vue +5 -3
  384. package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
  385. package/dist/runtime/components/prose/Card.d.vue.ts +3 -2
  386. package/dist/runtime/components/prose/Card.vue +7 -5
  387. package/dist/runtime/components/prose/Card.vue.d.ts +3 -2
  388. package/dist/runtime/components/prose/CardGroup.d.vue.ts +5 -1
  389. package/dist/runtime/components/prose/CardGroup.vue +5 -2
  390. package/dist/runtime/components/prose/CardGroup.vue.d.ts +5 -1
  391. package/dist/runtime/components/prose/Code.d.vue.ts +2 -1
  392. package/dist/runtime/components/prose/Code.vue +3 -1
  393. package/dist/runtime/components/prose/Code.vue.d.ts +2 -1
  394. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -1
  395. package/dist/runtime/components/prose/CodeCollapse.vue +6 -4
  396. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -1
  397. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +2 -1
  398. package/dist/runtime/components/prose/CodeGroup.vue +8 -6
  399. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +2 -1
  400. package/dist/runtime/components/prose/CodePreview.d.vue.ts +3 -2
  401. package/dist/runtime/components/prose/CodePreview.vue +5 -3
  402. package/dist/runtime/components/prose/CodePreview.vue.d.ts +3 -2
  403. package/dist/runtime/components/prose/Collapsible.d.vue.ts +2 -1
  404. package/dist/runtime/components/prose/Collapsible.vue +6 -4
  405. package/dist/runtime/components/prose/Collapsible.vue.d.ts +2 -1
  406. package/dist/runtime/components/prose/Em.d.vue.ts +2 -4
  407. package/dist/runtime/components/prose/Em.vue +3 -1
  408. package/dist/runtime/components/prose/Em.vue.d.ts +2 -4
  409. package/dist/runtime/components/prose/Field.d.vue.ts +2 -1
  410. package/dist/runtime/components/prose/Field.vue +9 -7
  411. package/dist/runtime/components/prose/Field.vue.d.ts +2 -1
  412. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +5 -1
  413. package/dist/runtime/components/prose/FieldGroup.vue +5 -2
  414. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +5 -1
  415. package/dist/runtime/components/prose/H1.d.vue.ts +2 -1
  416. package/dist/runtime/components/prose/H1.vue +4 -2
  417. package/dist/runtime/components/prose/H1.vue.d.ts +2 -1
  418. package/dist/runtime/components/prose/H2.d.vue.ts +2 -1
  419. package/dist/runtime/components/prose/H2.vue +6 -4
  420. package/dist/runtime/components/prose/H2.vue.d.ts +2 -1
  421. package/dist/runtime/components/prose/H3.d.vue.ts +2 -1
  422. package/dist/runtime/components/prose/H3.vue +6 -4
  423. package/dist/runtime/components/prose/H3.vue.d.ts +2 -1
  424. package/dist/runtime/components/prose/H4.d.vue.ts +2 -1
  425. package/dist/runtime/components/prose/H4.vue +6 -4
  426. package/dist/runtime/components/prose/H4.vue.d.ts +2 -1
  427. package/dist/runtime/components/prose/H5.d.vue.ts +2 -1
  428. package/dist/runtime/components/prose/H5.vue +3 -1
  429. package/dist/runtime/components/prose/H5.vue.d.ts +2 -1
  430. package/dist/runtime/components/prose/H6.d.vue.ts +2 -1
  431. package/dist/runtime/components/prose/H6.vue +3 -1
  432. package/dist/runtime/components/prose/H6.vue.d.ts +2 -1
  433. package/dist/runtime/components/prose/Hr.d.vue.ts +0 -6
  434. package/dist/runtime/components/prose/Hr.vue +3 -1
  435. package/dist/runtime/components/prose/Hr.vue.d.ts +0 -6
  436. package/dist/runtime/components/prose/Img.vue +9 -8
  437. package/dist/runtime/components/prose/Kbd.d.vue.ts +3 -0
  438. package/dist/runtime/components/prose/Kbd.vue +5 -2
  439. package/dist/runtime/components/prose/Kbd.vue.d.ts +3 -0
  440. package/dist/runtime/components/prose/Li.d.vue.ts +2 -4
  441. package/dist/runtime/components/prose/Li.vue +3 -1
  442. package/dist/runtime/components/prose/Li.vue.d.ts +2 -4
  443. package/dist/runtime/components/prose/Ol.d.vue.ts +2 -4
  444. package/dist/runtime/components/prose/Ol.vue +3 -1
  445. package/dist/runtime/components/prose/Ol.vue.d.ts +2 -4
  446. package/dist/runtime/components/prose/P.d.vue.ts +2 -1
  447. package/dist/runtime/components/prose/P.vue +3 -1
  448. package/dist/runtime/components/prose/P.vue.d.ts +2 -1
  449. package/dist/runtime/components/prose/Pre.d.vue.ts +2 -1
  450. package/dist/runtime/components/prose/Pre.vue +8 -6
  451. package/dist/runtime/components/prose/Pre.vue.d.ts +2 -1
  452. package/dist/runtime/components/prose/Steps.d.vue.ts +5 -1
  453. package/dist/runtime/components/prose/Steps.vue +5 -2
  454. package/dist/runtime/components/prose/Steps.vue.d.ts +5 -1
  455. package/dist/runtime/components/prose/Strong.d.vue.ts +2 -4
  456. package/dist/runtime/components/prose/Strong.vue +3 -1
  457. package/dist/runtime/components/prose/Strong.vue.d.ts +2 -4
  458. package/dist/runtime/components/prose/Table.d.vue.ts +2 -1
  459. package/dist/runtime/components/prose/Table.vue +4 -2
  460. package/dist/runtime/components/prose/Table.vue.d.ts +2 -1
  461. package/dist/runtime/components/prose/Tabs.d.vue.ts +2 -1
  462. package/dist/runtime/components/prose/Tabs.vue +3 -1
  463. package/dist/runtime/components/prose/Tabs.vue.d.ts +2 -1
  464. package/dist/runtime/components/prose/TabsItem.d.vue.ts +5 -1
  465. package/dist/runtime/components/prose/TabsItem.vue +5 -2
  466. package/dist/runtime/components/prose/TabsItem.vue.d.ts +5 -1
  467. package/dist/runtime/components/prose/Tbody.d.vue.ts +2 -4
  468. package/dist/runtime/components/prose/Tbody.vue +3 -1
  469. package/dist/runtime/components/prose/Tbody.vue.d.ts +2 -4
  470. package/dist/runtime/components/prose/Td.d.vue.ts +2 -1
  471. package/dist/runtime/components/prose/Td.vue +3 -1
  472. package/dist/runtime/components/prose/Td.vue.d.ts +2 -1
  473. package/dist/runtime/components/prose/Th.d.vue.ts +2 -1
  474. package/dist/runtime/components/prose/Th.vue +3 -1
  475. package/dist/runtime/components/prose/Th.vue.d.ts +2 -1
  476. package/dist/runtime/components/prose/Thead.d.vue.ts +2 -4
  477. package/dist/runtime/components/prose/Thead.vue +3 -1
  478. package/dist/runtime/components/prose/Thead.vue.d.ts +2 -4
  479. package/dist/runtime/components/prose/Tr.d.vue.ts +2 -4
  480. package/dist/runtime/components/prose/Tr.vue +3 -1
  481. package/dist/runtime/components/prose/Tr.vue.d.ts +2 -4
  482. package/dist/runtime/components/prose/Ul.d.vue.ts +2 -4
  483. package/dist/runtime/components/prose/Ul.vue +3 -1
  484. package/dist/runtime/components/prose/Ul.vue.d.ts +2 -4
  485. package/dist/runtime/composables/color-mode/useColorMode.d.ts +6 -0
  486. package/dist/runtime/composables/color-mode/useColorMode.js +17 -6
  487. package/dist/runtime/composables/defineShortcuts.js +4 -1
  488. package/dist/runtime/composables/internal/useFilter.d.ts +9 -0
  489. package/dist/runtime/composables/internal/useFilter.js +60 -0
  490. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  491. package/dist/runtime/composables/useComponentUI.d.ts +33 -0
  492. package/dist/runtime/composables/useComponentUI.js +13 -0
  493. package/dist/runtime/composables/useEditorMenu.d.ts +11 -0
  494. package/dist/runtime/composables/useEditorMenu.js +144 -166
  495. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  496. package/dist/runtime/composables/useFormField.d.ts +1 -1
  497. package/dist/runtime/composables/useResizable.d.ts +3 -3
  498. package/dist/runtime/composables/useResizable.js +3 -3
  499. package/dist/runtime/composables/useToast.d.ts +4 -0
  500. package/dist/runtime/composables/useToast.js +25 -1
  501. package/dist/runtime/dictionary/icons.d.ts +3 -0
  502. package/dist/runtime/dictionary/icons.js +7 -1
  503. package/dist/runtime/index.css +1 -1
  504. package/dist/runtime/keyframes.css +1 -1
  505. package/dist/runtime/plugins/platform.d.ts +34 -0
  506. package/dist/runtime/plugins/platform.js +31 -0
  507. package/dist/runtime/plugins/ui-version.d.ts +1 -1
  508. package/dist/runtime/types/color-mode.d.ts +1 -1
  509. package/dist/runtime/types/index.d.ts +19 -0
  510. package/dist/runtime/types/index.js +19 -0
  511. package/dist/runtime/types/input.d.ts +16 -6
  512. package/dist/runtime/types/utils.d.ts +12 -10
  513. package/dist/runtime/utils/dashboard.d.ts +4 -5
  514. package/dist/runtime/utils/dashboard.js +1 -1
  515. package/dist/runtime/utils/index.d.ts +2 -1
  516. package/dist/runtime/utils/index.js +11 -1
  517. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +1 -1
  518. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +1 -1
  519. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +1 -1
  520. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +1 -1
  521. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +1 -1
  522. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +1 -1
  523. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +1 -1
  524. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +1 -1
  525. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +1 -1
  526. package/dist/runtime/vue/stubs/base.d.ts +9 -13
  527. package/dist/runtime/vue/stubs/base.js +11 -33
  528. package/dist/shared/{b24ui-nuxt.DEyBXBFe.mjs → b24ui-nuxt.C0de-Y4w.mjs} +672 -64
  529. package/dist/unplugin.d.mts +8 -1
  530. package/dist/unplugin.mjs +4 -2
  531. package/dist/vite.mjs +1 -1
  532. package/package.json +52 -54
  533. package/dist/runtime/composables/useLoading.d.ts +0 -26
  534. package/dist/runtime/composables/useLoading.js +0 -28
@@ -1,11 +1,12 @@
1
1
  import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxContentEmits, ComboboxArrowProps } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/b24ui/input-menu';
4
5
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
6
  import type { AvatarProps, ButtonProps, ChipProps, LinkPropsKeys, BadgeProps, IconComponent } from '../types';
6
- import type { ModelModifiers } from '../types/input';
7
+ import type { ModelModifiers, ApplyModifiers } from '../types/input';
7
8
  import type { InputHTMLAttributes } from '../types/html';
8
- import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
9
+ import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, NestedItem, EmitsToProps } from '../types/utils';
9
10
  import type { ComponentConfig } from '../types/tv';
10
11
  type InputMenu = ComponentConfig<typeof theme, AppConfig, 'inputMenu'>;
11
12
  export type InputMenuValue = AcceptableValue;
@@ -30,7 +31,11 @@ export type InputMenuItem = InputMenuValue | {
30
31
  b24ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
31
32
  [key: string]: any;
32
33
  };
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
+ 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 InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, 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' | 'openOnClick' | 'openOnFocus' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'name' | 'type' | 'placeholder' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size' | 'min' | 'max' | 'step'> {
34
39
  /**
35
40
  * The element or component this component should render as.
36
41
  * @defaultValue 'div'
@@ -90,11 +95,11 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
90
95
  * Can be an object to pass additional props to the Button.
91
96
  * @defaultValue false
92
97
  */
93
- clear?: boolean | Partial<Omit<ButtonProps, LinkPropsKeys>>;
98
+ clear?: (C & boolean) | (C & Partial<Omit<ButtonProps, LinkPropsKeys>>);
94
99
  /**
95
100
  * The icon displayed in the clear button.
96
101
  * @defaultValue icons.close
97
- * @IconifyIcon
102
+ * @IconComponent
98
103
  */
99
104
  clearIcon?: IconComponent;
100
105
  /**
@@ -146,10 +151,10 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
146
151
  descriptionKey?: GetItemKeys<T>;
147
152
  items?: T;
148
153
  /** The value of the InputMenu when initially rendered. Use when you do not need to control the state of the InputMenu. */
149
- defaultValue?: GetModelValue<T, VK, M>;
154
+ defaultValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
150
155
  /** The controlled value of the InputMenu. Can be binded-with with `v-model`. */
151
- modelValue?: GetModelValue<T, VK, M>;
152
- modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
156
+ modelValue?: ApplyModifiers<GetModelValue<T, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
157
+ modelModifiers?: Mod;
153
158
  /** Whether multiple options can be selected or not. */
154
159
  multiple?: M & boolean;
155
160
  tag?: string;
@@ -159,6 +164,8 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
159
164
  tagColor?: BadgeProps['color'];
160
165
  /** Highlight the ring color like a focus state. */
161
166
  highlight?: boolean;
167
+ /** Keep the mobile text size on all breakpoints. (Left for backward compatibility.) */
168
+ fixed?: boolean;
162
169
  /**
163
170
  * Determines if custom user input that does not exist in options can be added.
164
171
  * @defaultValue false
@@ -180,7 +187,7 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
180
187
  class?: any;
181
188
  b24ui?: InputMenu['slots'];
182
189
  }
183
- export type InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined, M extends boolean> = Pick<ComboboxRootEmits, 'update:open'> & {
190
+ export interface InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, Mod extends Omit<ModelModifiers, 'lazy'> = Omit<ModelModifiers, 'lazy'>, C extends boolean | object = false> extends Pick<ComboboxRootEmits, 'update:open'> {
184
191
  'change': [event: Event];
185
192
  'blur': [event: FocusEvent];
186
193
  'focus': [event: FocusEvent];
@@ -190,71 +197,133 @@ export type InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends Ge
190
197
  'highlight': [
191
198
  payload: {
192
199
  ref: HTMLElement;
193
- value: GetModelValue<A, VK, M>;
200
+ value: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
194
201
  } | undefined
195
202
  ];
196
- 'remove-tag': [item: GetModelValue<A, VK, M>];
197
- } & GetModelValueEmits<A, VK, M>;
203
+ 'remove-tag': [item: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>];
204
+ /** Event handler called when the value changes. */
205
+ 'update:modelValue': [value: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>];
206
+ }
198
207
  type SlotProps<T extends InputMenuItem> = (props: {
199
208
  item: T;
200
209
  index: number;
201
210
  b24ui: InputMenu['b24ui'];
202
- }) => any;
203
- export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
204
- 'leading'(props: {
205
- modelValue?: GetModelValue<A, VK, M>;
211
+ }) => VNode[];
212
+ export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, 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>> {
213
+ 'leading'?(props: {
214
+ modelValue: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
206
215
  open: boolean;
207
216
  b24ui: InputMenu['b24ui'];
208
- }): any;
209
- 'trailing'(props: {
210
- modelValue?: GetModelValue<A, VK, M>;
217
+ }): VNode[];
218
+ 'trailing'?(props: {
219
+ modelValue: ApplyModifiers<GetModelValue<A, VK, M, ExcludeItem>, Mod> | IsClearUsed<M, C>;
211
220
  open: boolean;
212
221
  b24ui: InputMenu['b24ui'];
213
- }): any;
214
- 'empty'(props: {
215
- searchTerm?: string;
216
- }): any;
217
- 'item': SlotProps<T>;
218
- 'item-leading': SlotProps<T>;
219
- 'item-label'(props: {
222
+ }): VNode[];
223
+ 'empty'?(props: {
224
+ searchTerm: string;
225
+ }): VNode[];
226
+ 'item'?: SlotProps<T>;
227
+ 'item-leading'?: SlotProps<T>;
228
+ 'item-label'?(props: {
220
229
  item: T;
221
230
  index: number;
222
- }): any;
223
- 'item-description'(props: {
231
+ }): VNode[];
232
+ 'item-description'?(props: {
224
233
  item: T;
225
234
  index: number;
226
- }): any;
227
- 'item-trailing': SlotProps<T>;
228
- 'tags-item-text'(props: {
235
+ }): VNode[];
236
+ 'item-trailing'?: SlotProps<T>;
237
+ 'tags-item-text'?(props: {
229
238
  item: T;
230
239
  index: number;
231
- }): any;
232
- 'tags-item-delete': SlotProps<T>;
233
- 'content-top': (props?: {}) => any;
234
- 'content-bottom': (props?: {}) => any;
235
- 'create-item-label'(props: {
240
+ }): VNode[];
241
+ 'tags-item-delete'?: SlotProps<T>;
242
+ 'content-top'?: (props?: {}) => VNode[];
243
+ 'content-bottom'?: (props?: {}) => VNode[];
244
+ 'create-item-label'?(props: {
236
245
  item: string;
237
- }): any;
246
+ }): VNode[];
238
247
  }
239
248
  declare const _default: typeof __VLS_export;
240
249
  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> & {
250
+ declare const __VLS_export: <T extends ArrayOrNested<InputMenuItem>, 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<{
251
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(InputMenuProps<T, VK, M, Mod, C> & {
243
252
  searchTerm?: string;
244
253
  }) & {
245
254
  onClear?: (() => any) | undefined;
246
255
  onBlur?: ((event: FocusEvent) => any) | undefined;
247
256
  onChange?: ((event: Event) => any) | undefined;
248
257
  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
258
  onHighlight?: ((payload: {
253
259
  ref: HTMLElement;
254
- value: GetModelValue<T, VK, M>;
260
+ value: (Mod extends {
261
+ number: true;
262
+ } ? (Mod extends {
263
+ optional: true;
264
+ } ? (Mod extends {
265
+ nullable: true;
266
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
267
+ nullable: true;
268
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
269
+ optional: true;
270
+ } ? (Mod extends {
271
+ nullable: true;
272
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
273
+ nullable: true;
274
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
275
+ optional: true;
276
+ } ? (Mod extends {
277
+ nullable: true;
278
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
279
+ nullable: true;
280
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>;
255
281
  } | undefined) => any) | undefined;
282
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
283
+ onCreate?: ((item: string) => any) | undefined;
284
+ "onUpdate:modelValue"?: ((value: (Mod extends {
285
+ number: true;
286
+ } ? (Mod extends {
287
+ optional: true;
288
+ } ? (Mod extends {
289
+ nullable: true;
290
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
291
+ nullable: true;
292
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
293
+ optional: true;
294
+ } ? (Mod extends {
295
+ nullable: true;
296
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
297
+ nullable: true;
298
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
299
+ optional: true;
300
+ } ? (Mod extends {
301
+ nullable: true;
302
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
303
+ nullable: true;
304
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => any) | undefined;
256
305
  "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
257
- "onRemove-tag"?: ((item: GetModelValue<T, VK, M>) => any) | undefined;
306
+ "onRemove-tag"?: ((item: (Mod extends {
307
+ number: true;
308
+ } ? (Mod extends {
309
+ optional: true;
310
+ } ? (Mod extends {
311
+ nullable: true;
312
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
313
+ nullable: true;
314
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
315
+ optional: true;
316
+ } ? (Mod extends {
317
+ nullable: true;
318
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
319
+ nullable: true;
320
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
321
+ optional: true;
322
+ } ? (Mod extends {
323
+ nullable: true;
324
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
325
+ nullable: true;
326
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => any) | undefined;
258
327
  }> & (typeof globalThis extends {
259
328
  __VLS_PROPS_FALLBACK: infer P;
260
329
  } ? P : {});
@@ -263,11 +332,71 @@ declare const __VLS_export: <T extends ArrayOrNested<InputMenuItem>, VK extends
263
332
  viewportRef: Readonly<import("vue").Ref<HTMLDivElement | null, HTMLDivElement | null>>;
264
333
  }>) => void;
265
334
  attrs: any;
266
- slots: InputMenuSlots<T, VK, M, NestedItem<T>>;
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: {
335
+ slots: InputMenuSlots<T, VK, M, Mod, C, NestedItem<T>>;
336
+ emit: (((evt: "clear") => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "highlight", payload: {
268
337
  ref: HTMLElement;
269
- value: GetModelValue<T, VK, M>;
270
- } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void)) & ((event: "update:searchTerm", value: string) => void);
338
+ value: (Mod extends {
339
+ number: true;
340
+ } ? (Mod extends {
341
+ optional: true;
342
+ } ? (Mod extends {
343
+ nullable: true;
344
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
345
+ nullable: true;
346
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
347
+ optional: true;
348
+ } ? (Mod extends {
349
+ nullable: true;
350
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
351
+ nullable: true;
352
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
353
+ optional: true;
354
+ } ? (Mod extends {
355
+ nullable: true;
356
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
357
+ nullable: true;
358
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>;
359
+ } | undefined) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: (Mod extends {
360
+ number: true;
361
+ } ? (Mod extends {
362
+ optional: true;
363
+ } ? (Mod extends {
364
+ nullable: true;
365
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
366
+ nullable: true;
367
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
368
+ optional: true;
369
+ } ? (Mod extends {
370
+ nullable: true;
371
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
372
+ nullable: true;
373
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
374
+ optional: true;
375
+ } ? (Mod extends {
376
+ nullable: true;
377
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
378
+ nullable: true;
379
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => void) & ((evt: "remove-tag", item: (Mod extends {
380
+ number: true;
381
+ } ? (Mod extends {
382
+ optional: true;
383
+ } ? (Mod extends {
384
+ nullable: true;
385
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
386
+ nullable: true;
387
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) extends infer T_1 ? T_1 extends (Mod extends {
388
+ optional: true;
389
+ } ? (Mod extends {
390
+ nullable: true;
391
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
392
+ nullable: true;
393
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
394
+ optional: true;
395
+ } ? (Mod extends {
396
+ nullable: true;
397
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | undefined : Mod extends {
398
+ nullable: true;
399
+ } ? GetModelValue<T, VK, M, ExcludeItem> | null : GetModelValue<T, VK, M, ExcludeItem>) | IsClearUsed<M, C>) => void)) & ((event: "update:searchTerm", value: string) => void);
271
400
  }>) => import("vue").VNode & {
272
401
  __ctx?: Awaited<typeof __VLS_setup>;
273
402
  };
@@ -1,4 +1,5 @@
1
1
  import type { NumberFieldRootProps } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/b24ui/input-number';
4
5
  import type { ButtonProps, BadgeProps, IconComponent, LinkPropsKeys } from '../types';
@@ -7,7 +8,10 @@ import type { ModelModifiers } from '../types/input';
7
8
  import type { ComponentConfig } from '../types/tv';
8
9
  type InputNumber = ComponentConfig<typeof theme, AppConfig, 'inputNumber'>;
9
10
  type InputNumberValue = number | null;
10
- export interface InputNumberProps<T extends InputNumberValue = InputNumberValue> extends Pick<NumberFieldRootProps, 'modelValue' | 'defaultValue' | 'min' | 'max' | 'step' | 'stepSnapping' | 'disabled' | 'required' | 'id' | 'name' | 'formatOptions' | 'disableWheelChange' | 'invertWheelChange' | 'readonly' | 'focusOnChange'>, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'min' | 'max' | 'readonly' | 'required' | 'step' | 'name' | 'placeholder' | 'type' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size'> {
11
+ type ApplyModifiers<T extends InputNumberValue, Mod extends Pick<ModelModifiers, 'optional'>> = T | (Mod extends {
12
+ optional: true;
13
+ } ? undefined : never);
14
+ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue, Mod extends Pick<ModelModifiers, 'optional'> = Pick<ModelModifiers, 'optional'>> extends Pick<NumberFieldRootProps, 'min' | 'max' | 'step' | 'stepSnapping' | 'disabled' | 'required' | 'id' | 'name' | 'formatOptions' | 'disableWheelChange' | 'invertWheelChange' | 'readonly' | 'focusOnChange'>, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'min' | 'max' | 'readonly' | 'required' | 'step' | 'name' | 'placeholder' | 'type' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size'> {
11
15
  /**
12
16
  * The element or component this component should render as.
13
17
  * @defaultValue 'div'
@@ -15,13 +19,7 @@ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue>
15
19
  as?: any;
16
20
  /** The placeholder text when the input is empty. */
17
21
  placeholder?: string;
18
- /**
19
- * @defaultValue 'air-primary'
20
- */
21
22
  color?: InputNumber['variants']['color'];
22
- /**
23
- * @defaultValue 'md'
24
- */
25
23
  size?: InputNumber['variants']['size'];
26
24
  /**
27
25
  * Removes all borders (rings)
@@ -45,6 +43,8 @@ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue>
45
43
  tagColor?: BadgeProps['color'];
46
44
  /** Highlight the ring color like a focus state. */
47
45
  highlight?: boolean;
46
+ /** Keep the mobile text size on all breakpoints. (Left for backward compatibility.) */
47
+ fixed?: boolean;
48
48
  /**
49
49
  * The orientation of the input number.
50
50
  * @defaultValue 'horizontal'
@@ -78,26 +78,28 @@ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue>
78
78
  decrementDisabled?: boolean;
79
79
  autofocus?: boolean;
80
80
  autofocusDelay?: number;
81
- modelModifiers?: Pick<ModelModifiers<T>, 'optional'>;
81
+ defaultValue?: NonNullable<T>;
82
+ modelValue?: ApplyModifiers<T, Mod>;
83
+ modelModifiers?: Mod;
82
84
  class?: any;
83
85
  b24ui?: InputNumber['slots'];
84
86
  }
85
- export interface InputNumberEmits<T extends InputNumberValue = InputNumberValue> {
86
- 'update:modelValue': [value: T];
87
+ export interface InputNumberEmits<T extends InputNumberValue = InputNumberValue, Mod extends Pick<ModelModifiers, 'optional'> = Pick<ModelModifiers, 'optional'>> {
88
+ 'update:modelValue': [value: ApplyModifiers<T, Mod>];
87
89
  'blur': [event: FocusEvent];
88
90
  'change': [event: Event];
89
91
  }
90
92
  export interface InputNumberSlots {
91
- increment(props?: {}): any;
92
- decrement(props?: {}): any;
93
+ increment?(props?: {}): VNode[];
94
+ decrement?(props?: {}): VNode[];
93
95
  }
94
96
  declare const _default: typeof __VLS_export;
95
97
  export default _default;
96
- declare const __VLS_export: <T extends InputNumberValue = InputNumberValue>(__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<{
97
- props: import("vue").PublicProps & __VLS_PrettifyLocal<InputNumberProps<T> & {
98
+ declare const __VLS_export: <T extends InputNumberValue = InputNumberValue, Mod extends Pick<ModelModifiers, "optional"> = Pick<ModelModifiers, "optional">>(__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<{
99
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<InputNumberProps<T, Mod> & {
98
100
  onBlur?: ((event: FocusEvent) => any) | undefined;
99
101
  onChange?: ((event: Event) => any) | undefined;
100
- "onUpdate:modelValue"?: ((value: T) => any) | undefined;
102
+ "onUpdate:modelValue"?: ((value: ApplyModifiers<T, Mod>) => any) | undefined;
101
103
  }> & (typeof globalThis extends {
102
104
  __VLS_PROPS_FALLBACK: infer P;
103
105
  } ? P : {});
@@ -106,7 +108,7 @@ declare const __VLS_export: <T extends InputNumberValue = InputNumberValue>(__VL
106
108
  }>) => void;
107
109
  attrs: any;
108
110
  slots: InputNumberSlots;
109
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T) => void);
111
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: ApplyModifiers<T, Mod>) => void);
110
112
  }>) => import("vue").VNode & {
111
113
  __ctx?: Awaited<typeof __VLS_setup>;
112
114
  };
@@ -7,6 +7,7 @@ import { onMounted, computed, useTemplateRef, toRef } from "vue";
7
7
  import { NumberFieldRoot, NumberFieldInput, NumberFieldDecrement, NumberFieldIncrement, useForwardPropsEmits } from "reka-ui";
8
8
  import { reactivePick, useVModel } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
+ import { useComponentUI } from "../composables/useComponentUI";
10
11
  import { useFieldGroup } from "../composables/useFieldGroup";
11
12
  import { useFormField } from "../composables/useFormField";
12
13
  import { useLocale } from "../composables/useLocale";
@@ -26,6 +27,7 @@ const props = defineProps({
26
27
  tag: { type: String, required: false },
27
28
  tagColor: { type: null, required: false },
28
29
  highlight: { type: Boolean, required: false },
30
+ fixed: { type: Boolean, required: false },
29
31
  orientation: { type: null, required: false, default: "horizontal" },
30
32
  increment: { type: [Boolean, Object], required: false, default: true },
31
33
  incrementIcon: { type: [Function, Object], required: false },
@@ -35,11 +37,11 @@ const props = defineProps({
35
37
  decrementDisabled: { type: Boolean, required: false },
36
38
  autofocus: { type: Boolean, required: false },
37
39
  autofocusDelay: { type: Number, required: false },
38
- modelModifiers: { type: Object, required: false },
40
+ defaultValue: { type: null, required: false },
41
+ modelValue: { type: null, required: false },
42
+ modelModifiers: { type: null, required: false },
39
43
  class: { type: null, required: false },
40
44
  b24ui: { type: Object, required: false },
41
- modelValue: { type: [Number, null], required: false },
42
- defaultValue: { type: Number, required: false },
43
45
  min: { type: Number, required: false },
44
46
  max: { type: Number, required: false },
45
47
  step: { type: Number, required: false },
@@ -59,7 +61,8 @@ defineSlots();
59
61
  const modelValue = useVModel(props, "modelValue", emits, { defaultValue: props.defaultValue });
60
62
  const { t } = useLocale();
61
63
  const appConfig = useAppConfig();
62
- const rootProps = useForwardPropsEmits(reactivePick(props, "as", "defaultValue", "min", "max", "step", "stepSnapping", "formatOptions", "disableWheelChange", "invertWheelChange", "readonly", "focusOnChange"), emits);
64
+ const uiProp = useComponentUI("inputNumber", props);
65
+ const rootProps = useForwardPropsEmits(reactivePick(props, "as", "stepSnapping", "formatOptions", "disableWheelChange", "invertWheelChange", "required", "readonly", "focusOnChange"), emits);
63
66
  const { emitFormBlur, emitFormFocus, emitFormChange, emitFormInput, id, color, size: formGroupSize, name, highlight, disabled, ariaAttrs } = useFormField(props);
64
67
  const { orientation, size: fieldGroupSize } = useFieldGroup(props);
65
68
  const inputSize = computed(() => fieldGroupSize.value || formGroupSize.value);
@@ -70,6 +73,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.inputNu
70
73
  color: color.value,
71
74
  size: inputSize?.value,
72
75
  highlight: highlight.value,
76
+ fixed: props.fixed,
73
77
  rounded: Boolean(props.rounded),
74
78
  noBorder: Boolean(props.noBorder),
75
79
  underline: Boolean(props.underline),
@@ -83,7 +87,7 @@ const decrementIcon = computed(() => props.decrementIcon || (props.orientation =
83
87
  const inputRef = useTemplateRef("inputRef");
84
88
  function onUpdate(value) {
85
89
  if (props.modelModifiers?.optional) {
86
- value = value ?? void 0;
90
+ modelValue.value = value = value ?? void 0;
87
91
  }
88
92
  const event = new Event("change", { target: { value } });
89
93
  emits("change", event);
@@ -113,17 +117,21 @@ defineExpose({
113
117
  <NumberFieldRoot
114
118
  v-bind="rootProps"
115
119
  :id="id"
120
+ :default-value="defaultValue"
116
121
  :model-value="modelValue"
122
+ :min="min"
123
+ :max="max"
124
+ :step="step"
117
125
  data-slot="root"
118
- :class="b24ui.root({ class: [props.b24ui?.root, props.class] })"
126
+ :class="b24ui.root({ class: [uiProp?.root, props.class] })"
119
127
  :name="name"
120
128
  :disabled="disabled"
121
- @update:model-value="onUpdate"
129
+ @update:model-value="(val) => onUpdate(val)"
122
130
  >
123
131
  <B24Badge
124
132
  v-if="isTag"
125
133
  data-slot="tag"
126
- :class="b24ui.tag({ class: props.b24ui?.tag })"
134
+ :class="b24ui.tag({ class: uiProp?.tag })"
127
135
  :color="props.tagColor"
128
136
  :label="props.tag"
129
137
  size="xs"
@@ -135,12 +143,12 @@ defineExpose({
135
143
  :placeholder="placeholder"
136
144
  :required="required"
137
145
  data-slot="base"
138
- :class="b24ui.base({ class: props.b24ui?.base })"
146
+ :class="b24ui.base({ class: uiProp?.base })"
139
147
  @blur="onBlur"
140
148
  @focus="emitFormFocus"
141
149
  />
142
150
 
143
- <div v-if="!!increment" data-slot="increment" :class="b24ui.increment({ class: props.b24ui?.increment })">
151
+ <div v-if="!!increment" data-slot="increment" :class="b24ui.increment({ class: uiProp?.increment })">
144
152
  <NumberFieldIncrement as-child :disabled="disabled || incrementDisabled">
145
153
  <slot name="increment">
146
154
  <B24Button
@@ -154,7 +162,7 @@ defineExpose({
154
162
  </NumberFieldIncrement>
155
163
  </div>
156
164
 
157
- <div v-if="!!decrement" data-slot="decrement" :class="b24ui.decrement({ class: props.b24ui?.decrement })">
165
+ <div v-if="!!decrement" data-slot="decrement" :class="b24ui.decrement({ class: uiProp?.decrement })">
158
166
  <NumberFieldDecrement as-child :disabled="disabled || decrementDisabled">
159
167
  <slot name="decrement">
160
168
  <B24Button
@@ -1,4 +1,5 @@
1
1
  import type { NumberFieldRootProps } from 'reka-ui';
2
+ import type { VNode } from 'vue';
2
3
  import type { AppConfig } from '@nuxt/schema';
3
4
  import theme from '#build/b24ui/input-number';
4
5
  import type { ButtonProps, BadgeProps, IconComponent, LinkPropsKeys } from '../types';
@@ -7,7 +8,10 @@ import type { ModelModifiers } from '../types/input';
7
8
  import type { ComponentConfig } from '../types/tv';
8
9
  type InputNumber = ComponentConfig<typeof theme, AppConfig, 'inputNumber'>;
9
10
  type InputNumberValue = number | null;
10
- export interface InputNumberProps<T extends InputNumberValue = InputNumberValue> extends Pick<NumberFieldRootProps, 'modelValue' | 'defaultValue' | 'min' | 'max' | 'step' | 'stepSnapping' | 'disabled' | 'required' | 'id' | 'name' | 'formatOptions' | 'disableWheelChange' | 'invertWheelChange' | 'readonly' | 'focusOnChange'>, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'min' | 'max' | 'readonly' | 'required' | 'step' | 'name' | 'placeholder' | 'type' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size'> {
11
+ type ApplyModifiers<T extends InputNumberValue, Mod extends Pick<ModelModifiers, 'optional'>> = T | (Mod extends {
12
+ optional: true;
13
+ } ? undefined : never);
14
+ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue, Mod extends Pick<ModelModifiers, 'optional'> = Pick<ModelModifiers, 'optional'>> extends Pick<NumberFieldRootProps, 'min' | 'max' | 'step' | 'stepSnapping' | 'disabled' | 'required' | 'id' | 'name' | 'formatOptions' | 'disableWheelChange' | 'invertWheelChange' | 'readonly' | 'focusOnChange'>, /** @vue-ignore */ Omit<InputHTMLAttributes, 'disabled' | 'min' | 'max' | 'readonly' | 'required' | 'step' | 'name' | 'placeholder' | 'type' | 'autofocus' | 'maxlength' | 'minlength' | 'pattern' | 'size'> {
11
15
  /**
12
16
  * The element or component this component should render as.
13
17
  * @defaultValue 'div'
@@ -15,13 +19,7 @@ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue>
15
19
  as?: any;
16
20
  /** The placeholder text when the input is empty. */
17
21
  placeholder?: string;
18
- /**
19
- * @defaultValue 'air-primary'
20
- */
21
22
  color?: InputNumber['variants']['color'];
22
- /**
23
- * @defaultValue 'md'
24
- */
25
23
  size?: InputNumber['variants']['size'];
26
24
  /**
27
25
  * Removes all borders (rings)
@@ -45,6 +43,8 @@ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue>
45
43
  tagColor?: BadgeProps['color'];
46
44
  /** Highlight the ring color like a focus state. */
47
45
  highlight?: boolean;
46
+ /** Keep the mobile text size on all breakpoints. (Left for backward compatibility.) */
47
+ fixed?: boolean;
48
48
  /**
49
49
  * The orientation of the input number.
50
50
  * @defaultValue 'horizontal'
@@ -78,26 +78,28 @@ export interface InputNumberProps<T extends InputNumberValue = InputNumberValue>
78
78
  decrementDisabled?: boolean;
79
79
  autofocus?: boolean;
80
80
  autofocusDelay?: number;
81
- modelModifiers?: Pick<ModelModifiers<T>, 'optional'>;
81
+ defaultValue?: NonNullable<T>;
82
+ modelValue?: ApplyModifiers<T, Mod>;
83
+ modelModifiers?: Mod;
82
84
  class?: any;
83
85
  b24ui?: InputNumber['slots'];
84
86
  }
85
- export interface InputNumberEmits<T extends InputNumberValue = InputNumberValue> {
86
- 'update:modelValue': [value: T];
87
+ export interface InputNumberEmits<T extends InputNumberValue = InputNumberValue, Mod extends Pick<ModelModifiers, 'optional'> = Pick<ModelModifiers, 'optional'>> {
88
+ 'update:modelValue': [value: ApplyModifiers<T, Mod>];
87
89
  'blur': [event: FocusEvent];
88
90
  'change': [event: Event];
89
91
  }
90
92
  export interface InputNumberSlots {
91
- increment(props?: {}): any;
92
- decrement(props?: {}): any;
93
+ increment?(props?: {}): VNode[];
94
+ decrement?(props?: {}): VNode[];
93
95
  }
94
96
  declare const _default: typeof __VLS_export;
95
97
  export default _default;
96
- declare const __VLS_export: <T extends InputNumberValue = InputNumberValue>(__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<{
97
- props: import("vue").PublicProps & __VLS_PrettifyLocal<InputNumberProps<T> & {
98
+ declare const __VLS_export: <T extends InputNumberValue = InputNumberValue, Mod extends Pick<ModelModifiers, "optional"> = Pick<ModelModifiers, "optional">>(__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<{
99
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<InputNumberProps<T, Mod> & {
98
100
  onBlur?: ((event: FocusEvent) => any) | undefined;
99
101
  onChange?: ((event: Event) => any) | undefined;
100
- "onUpdate:modelValue"?: ((value: T) => any) | undefined;
102
+ "onUpdate:modelValue"?: ((value: ApplyModifiers<T, Mod>) => any) | undefined;
101
103
  }> & (typeof globalThis extends {
102
104
  __VLS_PROPS_FALLBACK: infer P;
103
105
  } ? P : {});
@@ -106,7 +108,7 @@ declare const __VLS_export: <T extends InputNumberValue = InputNumberValue>(__VL
106
108
  }>) => void;
107
109
  attrs: any;
108
110
  slots: InputNumberSlots;
109
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T) => void);
111
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: ApplyModifiers<T, Mod>) => void);
110
112
  }>) => import("vue").VNode & {
111
113
  __ctx?: Awaited<typeof __VLS_setup>;
112
114
  };