@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
@@ -0,0 +1,69 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/b24ui/footer-columns';
3
+ import type { IconComponent, LinkProps } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type FooterColumns = ComponentConfig<typeof theme, AppConfig, 'footerColumns'>;
6
+ export interface FooterColumnLink extends Omit<LinkProps, 'custom'> {
7
+ label: string;
8
+ /**
9
+ * @IconComponent
10
+ */
11
+ icon?: IconComponent;
12
+ class?: any;
13
+ b24ui?: Pick<FooterColumns['slots'], 'item' | 'link' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkLeadingIcon'>;
14
+ }
15
+ export interface FooterColumn<T extends FooterColumnLink = FooterColumnLink> {
16
+ label: string;
17
+ children?: T[];
18
+ }
19
+ export interface FooterColumnsProps<T extends FooterColumnLink = FooterColumnLink> {
20
+ /**
21
+ * The element or component this component should render as.
22
+ * @defaultValue 'div'
23
+ */
24
+ as?: any;
25
+ class?: any;
26
+ columns?: FooterColumn<T>[];
27
+ b24ui?: FooterColumns['slots'];
28
+ }
29
+ type SlotProps<T> = (props: {
30
+ link: T;
31
+ active: boolean;
32
+ b24ui: FooterColumns['b24ui'];
33
+ }) => any;
34
+ export interface FooterColumnsSlots<T extends FooterColumnLink = FooterColumnLink> {
35
+ 'left'(props?: {}): any;
36
+ 'default'(props?: {}): any;
37
+ 'right'(props?: {}): any;
38
+ 'column-label'?: (props: {
39
+ column: FooterColumn<T>;
40
+ }) => any;
41
+ 'link': SlotProps<T>;
42
+ 'link-leading': SlotProps<T>;
43
+ 'link-label'(props: {
44
+ link: T;
45
+ active: boolean;
46
+ }): any;
47
+ 'link-trailing'(props: {
48
+ link: T;
49
+ active: boolean;
50
+ }): any;
51
+ }
52
+ declare const _default: typeof __VLS_export;
53
+ export default _default;
54
+ declare const __VLS_export: <T extends FooterColumnLink>(__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<{
55
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<FooterColumnsProps<T>> & (typeof globalThis extends {
56
+ __VLS_PROPS_FALLBACK: infer P;
57
+ } ? P : {});
58
+ expose: (exposed: {}) => void;
59
+ attrs: any;
60
+ slots: FooterColumnsSlots<T>;
61
+ emit: {};
62
+ }>) => import("vue").VNode & {
63
+ __ctx?: Awaited<typeof __VLS_setup>;
64
+ };
65
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
66
+ [K in keyof T]: T[K];
67
+ } : {
68
+ [K in keyof T as K]: T[K];
69
+ }) & {};
@@ -47,6 +47,9 @@ export type FormProps<S extends FormSchema, T extends boolean = true, N extends
47
47
  */
48
48
  loadingAuto?: boolean;
49
49
  class?: any;
50
+ b24ui?: {
51
+ base?: any;
52
+ };
50
53
  onSubmit?: ((event: FormSubmitEvent<FormData<S, T>>) => void | Promise<void>) | (() => void | Promise<void>);
51
54
  } & /** @vue-ignore */ Omit<FormHTMLAttributes, 'name'>;
52
55
  export interface FormEmits<S extends FormSchema, T extends boolean = true> {
@@ -3,9 +3,10 @@ import theme from "#build/b24ui/form";
3
3
  </script>
4
4
 
5
5
  <script setup>
6
- import { provide, inject, nextTick, ref, onUnmounted, onMounted, computed, useId, readonly, reactive } from "vue";
6
+ import { provide, inject, nextTick, ref, onUnmounted, onMounted, computed, useId, readonly, reactive, useTemplateRef } from "vue";
7
7
  import { useEventBus } from "@vueuse/core";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { formOptionsInjectionKey, formInputsInjectionKey, formBusInjectionKey, formLoadingInjectionKey, formErrorsInjectionKey, formStateInjectionKey } from "../composables/useFormField";
10
11
  import { tv } from "../utils/tv";
11
12
  import { validateSchema, getAtPath, setAtPath } from "../utils/form";
@@ -25,13 +26,16 @@ const props = defineProps({
25
26
  nested: { type: Boolean, required: false },
26
27
  loadingAuto: { type: Boolean, required: false, default: true },
27
28
  class: { type: null, required: false },
29
+ b24ui: { type: Object, required: false },
28
30
  onSubmit: { type: Function, required: false }
29
31
  });
30
32
  const emits = defineEmits(["submit", "error"]);
31
33
  defineSlots();
32
34
  const appConfig = useAppConfig();
35
+ const uiProp = useComponentUI("form", props);
33
36
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.form || {} }));
34
37
  const formId = props.id ?? useId();
38
+ const formRef = useTemplateRef("formRef");
35
39
  const bus = useEventBus(`form-${formId}`);
36
40
  const parentBus = props.nested === true && inject(
37
41
  formBusInjectionKey,
@@ -252,6 +256,9 @@ const api = {
252
256
  }
253
257
  },
254
258
  async submit() {
259
+ if (formRef.value instanceof HTMLFormElement && formRef.value.reportValidity() === false) {
260
+ return;
261
+ }
255
262
  await onSubmitWrapper(new Event("submit"));
256
263
  },
257
264
  getErrors(name) {
@@ -285,7 +292,8 @@ defineExpose(api);
285
292
  <component
286
293
  :is="parentBus ? 'div' : 'form'"
287
294
  :id="formId"
288
- :class="b24ui({ class: props.class })"
295
+ ref="formRef"
296
+ :class="b24ui({ class: [uiProp?.base, props.class] })"
289
297
  @submit.prevent="onSubmitWrapper"
290
298
  >
291
299
  <slot :errors="errors" :loading="loading" />
@@ -47,6 +47,9 @@ export type FormProps<S extends FormSchema, T extends boolean = true, N extends
47
47
  */
48
48
  loadingAuto?: boolean;
49
49
  class?: any;
50
+ b24ui?: {
51
+ base?: any;
52
+ };
50
53
  onSubmit?: ((event: FormSubmitEvent<FormData<S, T>>) => void | Promise<void>) | (() => void | Promise<void>);
51
54
  } & /** @vue-ignore */ Omit<FormHTMLAttributes, 'name'>;
52
55
  export interface FormEmits<S extends FormSchema, T extends boolean = true> {
@@ -6,6 +6,7 @@ import theme from "#build/b24ui/form-field";
6
6
  import { computed, ref, inject, provide, useId, watch } from "vue";
7
7
  import { Primitive, Label } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { formFieldInjectionKey, inputIdInjectionKey, formErrorsInjectionKey, formInputsInjectionKey } from "../composables/useFormField";
10
11
  import { tv } from "../utils/tv";
11
12
  import WarningIcon from "@bitrix24/b24icons-vue/main/WarningIcon";
@@ -28,6 +29,7 @@ const props = defineProps({
28
29
  });
29
30
  const slots = defineSlots();
30
31
  const appConfig = useAppConfig();
32
+ const uiProp = useComponentUI("formField", props);
31
33
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.formField || {} })({
32
34
  size: props.size,
33
35
  required: props.required,
@@ -60,40 +62,40 @@ provide(formFieldInjectionKey, computed(() => ({
60
62
  </script>
61
63
 
62
64
  <template>
63
- <Primitive :as="as" :data-orientation="orientation" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
64
- <div data-slot="wrapper" :class="b24ui.wrapper({ class: props.b24ui?.wrapper })">
65
- <div v-if="label || !!slots.label" data-slot="root" :class="b24ui.labelWrapper({ class: props.b24ui?.labelWrapper })">
66
- <Label :for="id" data-slot="label" :class="b24ui.label({ class: props.b24ui?.label })">
65
+ <Primitive :as="as" :data-orientation="orientation" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
66
+ <div data-slot="wrapper" :class="b24ui.wrapper({ class: uiProp?.wrapper })">
67
+ <div v-if="label || !!slots.label" data-slot="root" :class="b24ui.labelWrapper({ class: uiProp?.labelWrapper })">
68
+ <Label :for="id" data-slot="label" :class="b24ui.label({ class: uiProp?.label })">
67
69
  <slot name="label" :label="label">
68
70
  {{ label }}
69
71
  </slot>
70
72
  </Label>
71
- <span v-if="hint || !!slots.hint" :id="`${ariaId}-hint`" data-slot="hint" :class="b24ui.hint({ class: props.b24ui?.hint })">
73
+ <span v-if="hint || !!slots.hint" :id="`${ariaId}-hint`" data-slot="hint" :class="b24ui.hint({ class: uiProp?.hint })">
72
74
  <slot name="hint" :hint="hint">
73
75
  {{ hint }}
74
76
  </slot>
75
77
  </span>
76
78
  </div>
77
79
 
78
- <p v-if="description || !!slots.description" :id="`${ariaId}-description`" data-slot="description" :class="b24ui.description({ class: props.b24ui?.description })">
80
+ <p v-if="description || !!slots.description" :id="`${ariaId}-description`" data-slot="description" :class="b24ui.description({ class: uiProp?.description })">
79
81
  <slot name="description" :description="description">
80
82
  {{ description }}
81
83
  </slot>
82
84
  </p>
83
85
  </div>
84
86
 
85
- <div data-slot="container" :class="[(label || !!slots.label || description || !!slots.description) && b24ui.container({ class: props.b24ui?.container })]">
87
+ <div data-slot="container" :class="[(label || !!slots.label || description || !!slots.description) && b24ui.container({ class: uiProp?.container })]">
86
88
  <slot :error="error" />
87
89
 
88
- <div v-if="props.error !== false && (typeof error === 'string' && error || !!slots.error)" :id="`${ariaId}-error`" data-slot="error" :class="b24ui.error({ class: props.b24ui?.error })">
90
+ <div v-if="props.error !== false && (typeof error === 'string' && error || !!slots.error)" :id="`${ariaId}-error`" data-slot="error" :class="b24ui.error({ class: uiProp?.error })">
89
91
  <slot name="error" :error="error">
90
- <div data-slot="errorWrapper" :class="b24ui.errorWrapper({ class: props.b24ui?.errorWrapper })">
92
+ <div data-slot="errorWrapper" :class="b24ui.errorWrapper({ class: uiProp?.errorWrapper })">
91
93
  <WarningIcon data-slot="errorIcon" :class="b24ui.errorIcon()" />
92
94
  <div>{{ error }}</div>
93
95
  </div>
94
96
  </slot>
95
97
  </div>
96
- <div v-else-if="help || !!slots.help" :id="`${ariaId}-help`" data-slot="help" :class="b24ui.help({ class: props.b24ui?.help })">
98
+ <div v-else-if="help || !!slots.help" :id="`${ariaId}-help`" data-slot="help" :class="b24ui.help({ class: uiProp?.help })">
97
99
  <slot name="help" :help="help">
98
100
  {{ help }}
99
101
  </slot>
@@ -0,0 +1,81 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/b24ui/header';
3
+ import type { ButtonProps, DrawerProps, ModalProps, SlideoverProps, LinkPropsKeys } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type Header = ComponentConfig<typeof theme, AppConfig, 'header'>;
6
+ type HeaderMode = 'modal' | 'slideover' | 'drawer';
7
+ type HeaderMenu<T> = T extends 'modal' ? ModalProps : T extends 'slideover' ? SlideoverProps : T extends 'drawer' ? DrawerProps : never;
8
+ export interface HeaderProps<T extends HeaderMode = HeaderMode> {
9
+ /**
10
+ * The element or component this component should render as.
11
+ * @defaultValue 'header'
12
+ */
13
+ as?: any;
14
+ title?: string;
15
+ to?: string;
16
+ /**
17
+ * The mode of the header menu.
18
+ * @defaultValue 'modal'
19
+ */
20
+ mode?: T;
21
+ /**
22
+ * The props for the header menu component.
23
+ */
24
+ menu?: HeaderMenu<T>;
25
+ /**
26
+ * Customize the toggle button to open the header menu displayed when the `content` slot is used.
27
+ * `{ color: 'air-tertiary', size: 'md' }`{lang="ts-type"}
28
+ */
29
+ toggle?: boolean | Omit<ButtonProps, LinkPropsKeys>;
30
+ /**
31
+ * The side to render the toggle button on.
32
+ * @defaultValue 'left'
33
+ */
34
+ toggleSide?: 'left' | 'right';
35
+ /**
36
+ * Automatically close when route changes.
37
+ * @defaultValue true
38
+ */
39
+ autoClose?: boolean;
40
+ class?: any;
41
+ b24ui?: Header['slots'];
42
+ }
43
+ export interface HeaderSlots {
44
+ title(props?: {}): any;
45
+ left(props?: {}): any;
46
+ default(props?: {}): any;
47
+ right(props?: {}): any;
48
+ toggle(props: {
49
+ open: boolean;
50
+ toggle: () => void;
51
+ b24ui: Header['b24ui'];
52
+ }): any;
53
+ top(props?: {}): any;
54
+ bottom(props?: {}): any;
55
+ body(props?: {}): any;
56
+ content(props: {
57
+ close?: () => void;
58
+ }): any;
59
+ }
60
+ declare const _default: typeof __VLS_export;
61
+ export default _default;
62
+ declare const __VLS_export: <T extends HeaderMode>(__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<{
63
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(HeaderProps<T> & {
64
+ open?: boolean;
65
+ }) & {
66
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
67
+ }> & (typeof globalThis extends {
68
+ __VLS_PROPS_FALLBACK: infer P;
69
+ } ? P : {});
70
+ expose: (exposed: {}) => void;
71
+ attrs: any;
72
+ slots: HeaderSlots;
73
+ emit: (event: "update:open", value: boolean) => void;
74
+ }>) => import("vue").VNode & {
75
+ __ctx?: Awaited<typeof __VLS_setup>;
76
+ };
77
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
78
+ [K in keyof T]: T[K];
79
+ } : {
80
+ [K in keyof T as K]: T[K];
81
+ }) & {};
@@ -0,0 +1,147 @@
1
+ <script>
2
+ import theme from "#build/b24ui/header";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed, watch, toRef } from "vue";
7
+ import { Primitive } from "reka-ui";
8
+ import { defu } from "defu";
9
+ import { createReusableTemplate } from "@vueuse/core";
10
+ import { useAppConfig, useRoute } from "#imports";
11
+ import { useComponentUI } from "../composables/useComponentUI";
12
+ import { useLocale } from "../composables/useLocale";
13
+ import { getSlotChildrenText } from "../utils";
14
+ import { tv } from "../utils/tv";
15
+ import icons from "../dictionary/icons";
16
+ import B24Button from "./Button.vue";
17
+ import B24Link from "./Link.vue";
18
+ import B24Container from "./Container.vue";
19
+ import B24Slideover from "./Slideover.vue";
20
+ import B24Modal from "./Modal.vue";
21
+ import B24Drawer from "./Drawer.vue";
22
+ defineOptions({ inheritAttrs: false });
23
+ const props = defineProps({
24
+ as: { type: null, required: false, default: "header" },
25
+ title: { type: String, required: false, default: "Bitrix24 UI" },
26
+ to: { type: String, required: false, default: "/" },
27
+ mode: { type: null, required: false, default: "modal" },
28
+ menu: { type: null, required: false },
29
+ toggle: { type: [Boolean, Object], required: false, default: true },
30
+ toggleSide: { type: String, required: false, default: "left" },
31
+ autoClose: { type: Boolean, required: false, default: true },
32
+ class: { type: null, required: false },
33
+ b24ui: { type: Object, required: false }
34
+ });
35
+ const slots = defineSlots();
36
+ const open = defineModel("open", { type: Boolean, ...{ default: false } });
37
+ const route = useRoute();
38
+ const { t } = useLocale();
39
+ const appConfig = useAppConfig();
40
+ const uiProp = useComponentUI("header", props);
41
+ const [DefineLeftTemplate, ReuseLeftTemplate] = createReusableTemplate();
42
+ const [DefineRightTemplate, ReuseRightTemplate] = createReusableTemplate();
43
+ const [DefineToggleTemplate, ReuseToggleTemplate] = createReusableTemplate();
44
+ const ariaLabel = computed(() => {
45
+ const slotText = slots.title && getSlotChildrenText(slots.title());
46
+ return (slotText || props.title || "Nuxt UI").trim();
47
+ });
48
+ watch(() => route.fullPath, () => {
49
+ if (!props.autoClose) return;
50
+ open.value = false;
51
+ });
52
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.header || {} })());
53
+ const Menu = computed(() => ({
54
+ slideover: B24Slideover,
55
+ modal: B24Modal,
56
+ drawer: B24Drawer
57
+ })[props.mode]);
58
+ const menuProps = toRef(() => defu(props.menu, {
59
+ content: {
60
+ onOpenAutoFocus: (e) => e.preventDefault()
61
+ }
62
+ }, props.mode === "modal" ? { fullscreen: true, transition: false } : {}));
63
+ function toggleOpen() {
64
+ open.value = !open.value;
65
+ }
66
+ </script>
67
+
68
+ <template>
69
+ <DefineToggleTemplate>
70
+ <slot name="toggle" :open="open" :toggle="toggleOpen" :b24ui="b24ui">
71
+ <B24Button
72
+ v-if="toggle"
73
+ color="air-tertiary"
74
+ size="md"
75
+ :aria-label="open ? t('header.close') : t('header.open')"
76
+ :icon="open ? icons.close : icons.menu"
77
+ v-bind="typeof toggle === 'object' ? toggle : {}"
78
+ data-slot="toggle"
79
+ :class="b24ui.toggle({ class: uiProp?.toggle, toggleSide })"
80
+ @click="toggleOpen"
81
+ />
82
+ </slot>
83
+ </DefineToggleTemplate>
84
+
85
+ <DefineLeftTemplate>
86
+ <div data-slot="left" :class="b24ui.left({ class: uiProp?.left })">
87
+ <ReuseToggleTemplate v-if="toggleSide === 'left'" />
88
+
89
+ <slot name="left">
90
+ <B24Link :to="to" :aria-label="ariaLabel" data-slot="title" :class="b24ui.title({ class: uiProp?.title })">
91
+ <slot name="title">
92
+ {{ title }}
93
+ </slot>
94
+ </B24Link>
95
+ </slot>
96
+ </div>
97
+ </DefineLeftTemplate>
98
+
99
+ <DefineRightTemplate>
100
+ <div data-slot="right" :class="b24ui.right({ class: uiProp?.right })">
101
+ <slot name="right" />
102
+
103
+ <ReuseToggleTemplate v-if="toggleSide === 'right'" />
104
+ </div>
105
+ </DefineRightTemplate>
106
+
107
+ <Primitive :as="as" v-bind="$attrs" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
108
+ <slot name="top" />
109
+
110
+ <B24Container data-slot="container" :class="b24ui.container({ class: uiProp?.container })">
111
+ <ReuseLeftTemplate />
112
+
113
+ <div data-slot="center" :class="b24ui.center({ class: uiProp?.center })">
114
+ <slot />
115
+ </div>
116
+
117
+ <ReuseRightTemplate />
118
+ </B24Container>
119
+
120
+ <slot name="bottom" />
121
+ </Primitive>
122
+
123
+ <Menu
124
+ v-model:open="open"
125
+ :title="t('header.title')"
126
+ :description="t('header.description')"
127
+ v-bind="menuProps"
128
+ :b24ui="{
129
+ overlay: b24ui.overlay({ class: uiProp?.overlay }),
130
+ content: b24ui.content({ class: uiProp?.content })
131
+ }"
132
+ >
133
+ <template #content="contentData">
134
+ <slot name="content" v-bind="contentData">
135
+ <div v-if="mode !== 'drawer'" data-slot="header" :class="b24ui.header({ class: uiProp?.header })">
136
+ <ReuseLeftTemplate />
137
+
138
+ <ReuseRightTemplate />
139
+ </div>
140
+
141
+ <div data-slot="body" :class="b24ui.body({ class: uiProp?.body })">
142
+ <slot name="body" />
143
+ </div>
144
+ </slot>
145
+ </template>
146
+ </Menu>
147
+ </template>
@@ -0,0 +1,81 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/b24ui/header';
3
+ import type { ButtonProps, DrawerProps, ModalProps, SlideoverProps, LinkPropsKeys } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type Header = ComponentConfig<typeof theme, AppConfig, 'header'>;
6
+ type HeaderMode = 'modal' | 'slideover' | 'drawer';
7
+ type HeaderMenu<T> = T extends 'modal' ? ModalProps : T extends 'slideover' ? SlideoverProps : T extends 'drawer' ? DrawerProps : never;
8
+ export interface HeaderProps<T extends HeaderMode = HeaderMode> {
9
+ /**
10
+ * The element or component this component should render as.
11
+ * @defaultValue 'header'
12
+ */
13
+ as?: any;
14
+ title?: string;
15
+ to?: string;
16
+ /**
17
+ * The mode of the header menu.
18
+ * @defaultValue 'modal'
19
+ */
20
+ mode?: T;
21
+ /**
22
+ * The props for the header menu component.
23
+ */
24
+ menu?: HeaderMenu<T>;
25
+ /**
26
+ * Customize the toggle button to open the header menu displayed when the `content` slot is used.
27
+ * `{ color: 'air-tertiary', size: 'md' }`{lang="ts-type"}
28
+ */
29
+ toggle?: boolean | Omit<ButtonProps, LinkPropsKeys>;
30
+ /**
31
+ * The side to render the toggle button on.
32
+ * @defaultValue 'left'
33
+ */
34
+ toggleSide?: 'left' | 'right';
35
+ /**
36
+ * Automatically close when route changes.
37
+ * @defaultValue true
38
+ */
39
+ autoClose?: boolean;
40
+ class?: any;
41
+ b24ui?: Header['slots'];
42
+ }
43
+ export interface HeaderSlots {
44
+ title(props?: {}): any;
45
+ left(props?: {}): any;
46
+ default(props?: {}): any;
47
+ right(props?: {}): any;
48
+ toggle(props: {
49
+ open: boolean;
50
+ toggle: () => void;
51
+ b24ui: Header['b24ui'];
52
+ }): any;
53
+ top(props?: {}): any;
54
+ bottom(props?: {}): any;
55
+ body(props?: {}): any;
56
+ content(props: {
57
+ close?: () => void;
58
+ }): any;
59
+ }
60
+ declare const _default: typeof __VLS_export;
61
+ export default _default;
62
+ declare const __VLS_export: <T extends HeaderMode>(__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<{
63
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(HeaderProps<T> & {
64
+ open?: boolean;
65
+ }) & {
66
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
67
+ }> & (typeof globalThis extends {
68
+ __VLS_PROPS_FALLBACK: infer P;
69
+ } ? P : {});
70
+ expose: (exposed: {}) => void;
71
+ attrs: any;
72
+ slots: HeaderSlots;
73
+ emit: (event: "update:open", value: boolean) => void;
74
+ }>) => import("vue").VNode & {
75
+ __ctx?: Awaited<typeof __VLS_setup>;
76
+ };
77
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
78
+ [K in keyof T]: T[K];
79
+ } : {
80
+ [K in keyof T as K]: T[K];
81
+ }) & {};
@@ -3,12 +3,12 @@ import theme from '#build/b24ui/input';
3
3
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
4
4
  import type { BadgeProps } from '../types';
5
5
  import type { InputHTMLAttributes } from '../types/html';
6
- import type { ModelModifiers } from '../types/input';
6
+ import type { ModelModifiers, ApplyModifiers } from '../types/input';
7
7
  import type { AcceptableValue } from '../types/utils';
8
8
  import type { ComponentConfig } from '../types/tv';
9
9
  type Input = ComponentConfig<typeof theme, AppConfig, 'input'>;
10
10
  export type InputValue = AcceptableValue;
11
- export interface InputProps<T extends InputValue = InputValue> extends UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'name' | 'type' | 'placeholder' | 'required' | 'autocomplete' | 'autofocus' | 'disabled'> {
11
+ export interface InputProps<T extends InputValue = InputValue, Mod extends ModelModifiers = ModelModifiers> extends UseComponentIconsProps, /** @vue-ignore */ Omit<InputHTMLAttributes, 'name' | 'type' | 'placeholder' | 'required' | 'autocomplete' | 'autofocus' | 'disabled'> {
12
12
  /**
13
13
  * The element or component this component should render as.
14
14
  * @defaultValue 'div'
@@ -74,14 +74,16 @@ export interface InputProps<T extends InputValue = InputValue> extends UseCompon
74
74
  tagColor?: BadgeProps['color'];
75
75
  /** Highlight the ring color like a focus state. */
76
76
  highlight?: boolean;
77
- modelValue?: T;
78
- defaultValue?: T;
79
- modelModifiers?: ModelModifiers<T>;
77
+ /** Keep the mobile text size on all breakpoints. (Left for backward compatibility.) */
78
+ fixed?: boolean;
79
+ modelValue?: ApplyModifiers<T, Mod>;
80
+ defaultValue?: ApplyModifiers<T, Mod>;
81
+ modelModifiers?: Mod;
80
82
  class?: any;
81
83
  b24ui?: Input['slots'];
82
84
  }
83
- export interface InputEmits<T extends InputValue = InputValue> {
84
- 'update:modelValue': [value: T];
85
+ export interface InputEmits<T extends InputValue = InputValue, Mod extends ModelModifiers = ModelModifiers> {
86
+ 'update:modelValue': [value: ApplyModifiers<T, Mod>];
85
87
  'blur': [event: FocusEvent];
86
88
  'change': [event: Event];
87
89
  }
@@ -98,11 +100,31 @@ export interface InputSlots {
98
100
  }
99
101
  declare const _default: typeof __VLS_export;
100
102
  export default _default;
101
- declare const __VLS_export: <T extends InputValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
102
- props: import("vue").PublicProps & __VLS_PrettifyLocal<InputProps<T> & {
103
+ declare const __VLS_export: <T extends InputValue, Mod extends ModelModifiers>(__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<{
104
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<InputProps<T, Mod> & {
103
105
  onBlur?: ((event: FocusEvent) => any) | undefined;
104
106
  onChange?: ((event: Event) => any) | undefined;
105
- "onUpdate:modelValue"?: ((value: T) => any) | undefined;
107
+ "onUpdate:modelValue"?: ((value: Mod extends {
108
+ number: true;
109
+ } ? (Mod extends {
110
+ optional: true;
111
+ } ? (Mod extends {
112
+ nullable: true;
113
+ } ? T | null : T) | undefined : Mod extends {
114
+ nullable: true;
115
+ } ? T | null : T) extends infer T_1 ? T_1 extends (Mod extends {
116
+ optional: true;
117
+ } ? (Mod extends {
118
+ nullable: true;
119
+ } ? T | null : T) | undefined : Mod extends {
120
+ nullable: true;
121
+ } ? T | null : T) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
122
+ optional: true;
123
+ } ? (Mod extends {
124
+ nullable: true;
125
+ } ? T | null : T) | undefined : Mod extends {
126
+ nullable: true;
127
+ } ? T | null : T) => any) | undefined;
106
128
  }> & (typeof globalThis extends {
107
129
  __VLS_PROPS_FALLBACK: infer P;
108
130
  } ? P : {});
@@ -111,7 +133,27 @@ declare const __VLS_export: <T extends InputValue>(__VLS_props: NonNullable<Awai
111
133
  }>) => void;
112
134
  attrs: any;
113
135
  slots: InputSlots;
114
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T) => void);
136
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: Mod extends {
137
+ number: true;
138
+ } ? (Mod extends {
139
+ optional: true;
140
+ } ? (Mod extends {
141
+ nullable: true;
142
+ } ? T | null : T) | undefined : Mod extends {
143
+ nullable: true;
144
+ } ? T | null : T) extends infer T_1 ? T_1 extends (Mod extends {
145
+ optional: true;
146
+ } ? (Mod extends {
147
+ nullable: true;
148
+ } ? T | null : T) | undefined : Mod extends {
149
+ nullable: true;
150
+ } ? T | null : T) ? T_1 extends string ? number | T_1 : T_1 : never : never : Mod extends {
151
+ optional: true;
152
+ } ? (Mod extends {
153
+ nullable: true;
154
+ } ? T | null : T) | undefined : Mod extends {
155
+ nullable: true;
156
+ } ? T | null : T) => void);
115
157
  }>) => import("vue").VNode & {
116
158
  __ctx?: Awaited<typeof __VLS_setup>;
117
159
  };