@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
@@ -1 +1 @@
1
- @import "./001_b24_global.css";@import "./003_b24_context_light.css";@import "./004_b24_context_dark.css";@import "./005_b24_context_edge-light.css";@import "./006_b24_context_edge-dark.css";@import "./007_b24_global.css";@import "./008_ui_global.css";@import "./009_b24_tools.css";@import "./components/popup.css";@import "./components/scrollbar.css";@import "./components/navigation-menu.css";@import "./components/badge-counter.css";@import "./components/button.css";
1
+ @import "./001_b24_global.css";@import "./003_b24_context_light.css";@import "./004_b24_context_dark.css";@import "./005_b24_context_edge-light.css";@import "./006_b24_context_edge-dark.css";@import "./013_b24_mobile_light.css";@import "./014_b24_mobile_dark.css";@import "./015_b24_mobile_edge-light.css";@import "./016_b24_mobile_edge-dark.css";@import "./023_b24_desktop_light.css";@import "./024_b24_desktop_dark.css";@import "./025_b24_desktop_edge-light.css";@import "./026_b24_desktop_edge-dark.css";@import "./007_b24_global.css";@import "./008_ui_global.css";@import "./009_b24_tools.css";@import "./components/popup.css";@import "./components/scrollbar.css";@import "./components/navigation-menu.css";@import "./components/badge-counter.css";@import "./components/button.css";
@@ -7,6 +7,7 @@ import { computed } from "vue";
7
7
  import { AccordionRoot, AccordionItem, AccordionHeader, AccordionTrigger, AccordionContent, useForwardPropsEmits } from "reka-ui";
8
8
  import { reactivePick } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
+ import { useComponentUI } from "../composables/useComponentUI";
10
11
  import { get } from "../utils";
11
12
  import { tv } from "../utils/tv";
12
13
  import icons from "../dictionary/icons";
@@ -28,6 +29,7 @@ const props = defineProps({
28
29
  const emits = defineEmits(["update:modelValue"]);
29
30
  const slots = defineSlots();
30
31
  const appConfig = useAppConfig();
32
+ const uiProp = useComponentUI("accordion", props);
31
33
  const rootProps = useForwardPropsEmits(reactivePick(props, "as", "collapsible", "defaultValue", "disabled", "modelValue", "unmountOnHide"), emits);
32
34
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.accordion || {} })({
33
35
  disabled: props.disabled
@@ -35,7 +37,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.accordi
35
37
  </script>
36
38
 
37
39
  <template>
38
- <AccordionRoot v-bind="rootProps" :type="type" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
40
+ <AccordionRoot v-bind="rootProps" :type="type" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
39
41
  <AccordionItem
40
42
  v-for="(item, index) in props.items"
41
43
  v-slot="{ open }"
@@ -43,23 +45,23 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.accordi
43
45
  :value="get(item, props.valueKey) ?? String(index)"
44
46
  :disabled="item.disabled"
45
47
  data-slot="item"
46
- :class="b24ui.item({ class: [props.b24ui?.item, item.b24ui?.item, item.class] })"
48
+ :class="b24ui.item({ class: [uiProp?.item, item.b24ui?.item, item.class] })"
47
49
  >
48
- <AccordionHeader as="div" data-slot="header" :class="b24ui.header({ class: [props.b24ui?.header, item.b24ui?.header] })">
49
- <AccordionTrigger data-slot="trigger" :class="b24ui.trigger({ class: [props.b24ui?.trigger, item.b24ui?.trigger], disabled: item.disabled })">
50
+ <AccordionHeader as="div" data-slot="header" :class="b24ui.header({ class: [uiProp?.header, item.b24ui?.header] })">
51
+ <AccordionTrigger data-slot="trigger" :class="b24ui.trigger({ class: [uiProp?.trigger, item.b24ui?.trigger], disabled: item.disabled })">
50
52
  <slot name="leading" :item="item" :index="index" :open="open" :b24ui="b24ui">
51
53
  <Component
52
54
  :is="item.icon"
53
55
  v-if="item.icon"
54
56
  data-slot="leadingIcon"
55
- :class="b24ui.leadingIcon({ class: [props.b24ui?.leadingIcon, item?.b24ui?.leadingIcon] })"
57
+ :class="b24ui.leadingIcon({ class: [uiProp?.leadingIcon, item?.b24ui?.leadingIcon] })"
56
58
  />
57
59
  </slot>
58
60
 
59
61
  <span
60
62
  v-if="get(item, props.labelKey) || !!slots.default"
61
63
  data-slot="label"
62
- :class="b24ui.label({ class: [props.b24ui?.label, item.b24ui?.label] })"
64
+ :class="b24ui.label({ class: [uiProp?.label, item.b24ui?.label] })"
63
65
  >
64
66
  <slot :item="item" :index="index" :open="open">{{ get(item, props.labelKey) }}</slot>
65
67
  </span>
@@ -68,7 +70,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.accordi
68
70
  <Component
69
71
  :is="item.trailingIcon || trailingIcon || icons.chevronDown"
70
72
  data-slot="trailingIcon"
71
- :class="b24ui.trailingIcon({ class: [props.b24ui?.trailingIcon, item.b24ui?.trailingIcon] })"
73
+ :class="b24ui.trailingIcon({ class: [uiProp?.trailingIcon, item.b24ui?.trailingIcon] })"
72
74
  />
73
75
  </slot>
74
76
  </AccordionTrigger>
@@ -77,7 +79,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.accordi
77
79
  <AccordionContent
78
80
  v-if="item.content || !!slots.content || item.slot && !!slots[item.slot] || !!slots.body || item.slot && !!slots[`${item.slot}-body`]"
79
81
  data-slot="content"
80
- :class="b24ui.content({ class: [props.b24ui?.content, item.b24ui?.content] })"
82
+ :class="b24ui.content({ class: [uiProp?.content, item.b24ui?.content] })"
81
83
  >
82
84
  <slot
83
85
  :name="item.slot || 'content'"
@@ -86,7 +88,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.accordi
86
88
  :open="open"
87
89
  :b24ui="b24ui"
88
90
  >
89
- <div data-slot="body" :class="b24ui.body({ class: [props.b24ui?.body, item.b24ui?.body] })">
91
+ <div data-slot="body" :class="b24ui.body({ class: [uiProp?.body, item.b24ui?.body] })">
90
92
  <slot
91
93
  :name="item.slot ? `${item.slot}-body` : 'body'"
92
94
  :item="item"
@@ -6,6 +6,7 @@ import theme from "#build/b24ui/advice";
6
6
  import { computed } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { useComponentIcons } from "../composables/useComponentIcons";
10
11
  import { tv } from "../utils/tv";
11
12
  import B24Avatar from "./Avatar.vue";
@@ -21,6 +22,7 @@ const props = defineProps({
21
22
  });
22
23
  const slots = defineSlots();
23
24
  const appConfig = useAppConfig();
25
+ const uiProp = useComponentUI("advice", props);
24
26
  const { isLeading, leadingIconName } = useComponentIcons(
25
27
  computed(() => ({ ...props, loading: false }))
26
28
  );
@@ -30,27 +32,27 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.advice
30
32
  </script>
31
33
 
32
34
  <template>
33
- <Primitive :as="as" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
34
- <div v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="b24ui.leading({ class: props.b24ui?.leading })">
35
+ <Primitive :as="as" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
36
+ <div v-if="isLeading || !!avatar || !!slots.leading" data-slot="leading" :class="b24ui.leading({ class: uiProp?.leading })">
35
37
  <slot name="leading" :b24ui="b24ui">
36
38
  <Component
37
39
  :is="leadingIconName"
38
40
  v-if="isLeading && leadingIconName"
39
41
  data-slot="leadingIcon"
40
- :class="b24ui.leadingIcon({ class: props.b24ui?.leadingIcon })"
42
+ :class="b24ui.leadingIcon({ class: uiProp?.leadingIcon })"
41
43
  />
42
44
  <B24Avatar
43
45
  v-else-if="!!avatar"
44
- :size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
46
+ :size="uiProp?.leadingAvatarSize || b24ui.leadingAvatarSize()"
45
47
  v-bind="avatar"
46
48
  data-slot="leadingAvatar"
47
- :class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
48
- :b24ui="{ icon: props.b24ui?.leadingAvatarIcon || b24ui.leadingAvatarIcon() }"
49
+ :class="b24ui.leadingAvatar({ class: uiProp?.leadingAvatar })"
50
+ :b24ui="{ icon: uiProp?.leadingAvatarIcon || b24ui.leadingAvatarIcon() }"
49
51
  />
50
52
  </slot>
51
53
  </div>
52
- <div data-slot="descriptionWrapper" :class="b24ui.descriptionWrapper({ class: props.b24ui?.descriptionWrapper })">
53
- <div data-slot="descriptionAngle" :class="b24ui.descriptionAngle({ class: props.b24ui?.descriptionAngle })">
54
+ <div data-slot="descriptionWrapper" :class="b24ui.descriptionWrapper({ class: uiProp?.descriptionWrapper })">
55
+ <div data-slot="descriptionAngle" :class="b24ui.descriptionAngle({ class: uiProp?.descriptionAngle })">
54
56
  <svg
55
57
  xmlns="http://www.w3.org/2000/svg"
56
58
  width="14"
@@ -60,19 +62,19 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.advice
60
62
  >
61
63
  <path
62
64
  data-slot="descriptionBg"
63
- :class="b24ui.descriptionBg({ class: props.b24ui?.descriptionBg })"
65
+ :class="b24ui.descriptionBg({ class: uiProp?.descriptionBg })"
64
66
  fill-rule="evenodd"
65
67
  clip-rule="evenodd"
66
68
  d="M11.3513 11.1621C11.3492 11.1591 11.3471 11.1562 11.3449 11.1532C8.41055 10.7202 3.75061 9.56187 0.411676 6.46663C-0.404067 5.71042 0.0889447 4.42611 1.14665 4.08179C3.50511 3.31403 5.56665 2.10552 7.2199 0.897773L7.23071 0.893616L8.27368 0.163147L10.7925 5.46165L13.8677 11.5454L11.3513 11.1621Z"
67
69
  /><path
68
70
  data-slot="descriptionBorder"
69
- :class="b24ui.descriptionBorder({ class: props.b24ui?.descriptionBorder })"
71
+ :class="b24ui.descriptionBorder({ class: uiProp?.descriptionBorder })"
70
72
  fill-rule="evenodd"
71
73
  clip-rule="evenodd"
72
74
  d="M11.4909 10.1639C11.7603 10.2036 12.0018 10.3515 12.1597 10.5733C12.3534 10.8456 12.5531 11.1134 12.7585 11.3765L11.3513 11.1621C11.3492 11.1591 11.3471 11.1561 11.3449 11.1531C8.41055 10.7202 3.75061 9.56187 0.411676 6.46662C-0.404067 5.71041 0.0889447 4.4261 1.14665 4.08178C3.50511 3.31403 5.56665 2.10551 7.2199 0.897764L7.23071 0.893607L8.16412 0.239868C8.18419 0.40792 8.20611 0.57539 8.22987 0.742259C8.28188 1.1077 8.12836 1.47208 7.8305 1.6901C6.11459 2.94612 3.95168 4.2203 1.45619 5.03267C1.22829 5.10686 1.07777 5.27921 1.02492 5.43712C1.00004 5.51147 1.00122 5.56804 1.00948 5.60492C1.01647 5.63618 1.03368 5.67964 1.09152 5.73326C4.20493 8.61944 8.61693 9.73979 11.4909 10.1639Z"
73
75
  /></svg>
74
76
  </div>
75
- <div data-slot="description" :class="b24ui.description({ class: props.b24ui?.description })">
77
+ <div data-slot="description" :class="b24ui.description({ class: uiProp?.description })">
76
78
  <slot>
77
79
  {{ description }}
78
80
  </slot>
@@ -6,6 +6,7 @@ import theme from "#build/b24ui/alert";
6
6
  import { computed } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { useLocale } from "../composables/useLocale";
10
11
  import { tv } from "../utils/tv";
11
12
  import icons from "../dictionary/icons";
@@ -31,6 +32,7 @@ const emits = defineEmits(["update:open"]);
31
32
  const slots = defineSlots();
32
33
  const { t } = useLocale();
33
34
  const appConfig = useAppConfig();
35
+ const uiProp = useComponentUI("alert", props);
34
36
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.alert || {} })({
35
37
  color: props.color,
36
38
  inverted: Boolean(props.inverted),
@@ -41,37 +43,37 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.alert |
41
43
  </script>
42
44
 
43
45
  <template>
44
- <Primitive :as="as" :data-orientation="orientation" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
46
+ <Primitive :as="as" :data-orientation="orientation" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
45
47
  <slot name="leading" :b24ui="b24ui">
46
48
  <Component
47
49
  :is="icon"
48
50
  v-if="icon"
49
51
  data-slot="icon"
50
- :class="b24ui.icon({ class: props.b24ui?.icon })"
52
+ :class="b24ui.icon({ class: uiProp?.icon })"
51
53
  />
52
- <B24Avatar v-else-if="avatar" :size="props.b24ui?.avatarSize || b24ui.avatarSize()" v-bind="avatar" data-slot="avatar" :class="b24ui.avatar({ class: props.b24ui?.avatar })" />
54
+ <B24Avatar v-else-if="avatar" :size="uiProp?.avatarSize || b24ui.avatarSize()" v-bind="avatar" data-slot="avatar" :class="b24ui.avatar({ class: uiProp?.avatar })" />
53
55
  </slot>
54
56
 
55
- <div data-slot="wrapper" :class="b24ui.wrapper({ class: props.b24ui?.wrapper })">
56
- <div v-if="title || !!slots.title" data-slot="title" :class="b24ui.title({ class: props.b24ui?.title })">
57
+ <div data-slot="wrapper" :class="b24ui.wrapper({ class: uiProp?.wrapper })">
58
+ <div v-if="title || !!slots.title" data-slot="title" :class="b24ui.title({ class: uiProp?.title })">
57
59
  <slot name="title">
58
60
  {{ title }}
59
61
  </slot>
60
62
  </div>
61
- <div v-if="description || !!slots.description" data-slot="description" :class="b24ui.description({ class: props.b24ui?.description })">
63
+ <div v-if="description || !!slots.description" data-slot="description" :class="b24ui.description({ class: uiProp?.description })">
62
64
  <slot name="description">
63
65
  {{ description }}
64
66
  </slot>
65
67
  </div>
66
68
 
67
- <div v-if="orientation === 'vertical' && (actions?.length || !!slots.actions)" data-slot="actions" :class="b24ui.actions({ class: props.b24ui?.actions })">
69
+ <div v-if="orientation === 'vertical' && (actions?.length || !!slots.actions)" data-slot="actions" :class="b24ui.actions({ class: uiProp?.actions })">
68
70
  <slot name="actions">
69
71
  <B24Button v-for="(action, index) in actions" :key="index" size="sm" v-bind="action" />
70
72
  </slot>
71
73
  </div>
72
74
  </div>
73
75
 
74
- <div v-if="orientation === 'horizontal' && (actions?.length || !!slots.actions) || close" data-slot="actions" :class="b24ui.actions({ class: props.b24ui?.actions, orientation: 'horizontal' })">
76
+ <div v-if="orientation === 'horizontal' && (actions?.length || !!slots.actions) || close" data-slot="actions" :class="b24ui.actions({ class: uiProp?.actions, orientation: 'horizontal' })">
75
77
  <template v-if="orientation === 'horizontal' && (actions?.length || !!slots.actions)">
76
78
  <slot name="actions">
77
79
  <B24Button v-for="(action, index) in actions" :key="index" size="sm" v-bind="action" />
@@ -87,7 +89,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.alert |
87
89
  :aria-label="t('alert.close')"
88
90
  v-bind="typeof close === 'object' ? close : {}"
89
91
  data-slot="close"
90
- :class="b24ui.close({ class: props.b24ui?.close })"
92
+ :class="b24ui.close({ class: uiProp?.close })"
91
93
  @click="emits('update:open', false)"
92
94
  />
93
95
  </slot>
@@ -8,6 +8,7 @@ import { Primitive, Slot } from "reka-ui";
8
8
  import { defu } from "defu";
9
9
  import { useAppConfig } from "#imports";
10
10
  import ImageComponent from "#build/b24ui-image-component";
11
+ import { useComponentUI } from "../composables/useComponentUI";
11
12
  import { useAvatarGroup } from "../composables/useAvatarGroup";
12
13
  import { tv } from "../utils/tv";
13
14
  import B24Chip from "./Chip.vue";
@@ -34,6 +35,7 @@ const fallback = computed(
34
35
  () => props.text || (props.alt || "").replace(/[+\-*)(}\][{]/g, "").split(" ").map((word) => word.charAt(0)).join("").substring(0, 2)
35
36
  );
36
37
  const appConfig = useAppConfig();
38
+ const uiProp = useComponentUI("avatar", props);
37
39
  const { size } = useAvatarGroup(props);
38
40
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.avatar || {} })({
39
41
  size: size.value
@@ -66,7 +68,7 @@ function onError() {
66
68
  :as="as.root"
67
69
  v-bind="props.chip ? typeof props.chip === 'object' ? { inset: true, ...props.chip } : { inset: true } : {}"
68
70
  data-slot="root"
69
- :class="b24ui.root({ class: [props.b24ui?.root, props.class] })"
71
+ :class="b24ui.root({ class: [uiProp?.root, props.class] })"
70
72
  :style="props.style"
71
73
  >
72
74
  <component
@@ -78,14 +80,14 @@ function onError() {
78
80
  :height="sizePx"
79
81
  v-bind="$attrs"
80
82
  data-slot="image"
81
- :class="b24ui.image({ class: props.b24ui?.image })"
83
+ :class="b24ui.image({ class: uiProp?.image })"
82
84
  @error="onError"
83
85
  />
84
86
 
85
87
  <Slot v-else v-bind="$attrs">
86
88
  <slot>
87
- <Component :is="icon" v-if="icon" data-slot="icon" :class="b24ui.icon({ class: props.b24ui?.icon })" />
88
- <span v-else data-slot="fallback" :class="b24ui.fallback({ class: props.b24ui?.fallback })">{{ fallback || "\xA0" }}</span>
89
+ <Component :is="icon" v-if="icon" data-slot="icon" :class="b24ui.icon({ class: uiProp?.icon })" />
90
+ <span v-else data-slot="fallback" :class="b24ui.fallback({ class: uiProp?.fallback })">{{ fallback || "\xA0" }}</span>
89
91
  </slot>
90
92
  </Slot>
91
93
  </component>
@@ -6,6 +6,7 @@ import theme from "#build/b24ui/avatar-group";
6
6
  import { computed, provide } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { avatarGroupInjectionKey } from "../composables/useAvatarGroup";
10
11
  import { tv } from "../utils/tv";
11
12
  import B24Avatar from "./Avatar.vue";
@@ -18,6 +19,7 @@ const props = defineProps({
18
19
  });
19
20
  const slots = defineSlots();
20
21
  const appConfig = useAppConfig();
22
+ const uiProp = useComponentUI("avatarGroup", props);
21
23
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.avatarGroup || {} })({
22
24
  size: props.size
23
25
  }));
@@ -58,8 +60,8 @@ provide(avatarGroupInjectionKey, computed(() => ({
58
60
  </script>
59
61
 
60
62
  <template>
61
- <Primitive :as="as" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
62
- <component :is="avatar" v-for="(avatar, count) in visibleAvatars" :key="count" data-slot="base" :class="b24ui.base({ class: props.b24ui?.base })" />
63
- <B24Avatar v-if="hiddenCount > 0" :text="`+${hiddenCount}`" data-slot="base" :class="b24ui.base({ class: props.b24ui?.base })" />
63
+ <Primitive :as="as" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
64
+ <component :is="avatar" v-for="(avatar, count) in visibleAvatars" :key="count" data-slot="base" :class="b24ui.base({ class: uiProp?.base })" />
65
+ <B24Avatar v-if="hiddenCount > 0" :text="`+${hiddenCount}`" data-slot="base" :class="b24ui.base({ class: uiProp?.base })" />
64
66
  </Primitive>
65
67
  </template>
@@ -6,6 +6,7 @@ import theme from "#build/b24ui/badge";
6
6
  import { computed } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { useFieldGroup } from "../composables/useFieldGroup";
10
11
  import { useComponentIcons } from "../composables/useComponentIcons";
11
12
  import { tv } from "../utils/tv";
@@ -30,6 +31,7 @@ const props = defineProps({
30
31
  });
31
32
  const slots = defineSlots();
32
33
  const appConfig = useAppConfig();
34
+ const uiProp = useComponentUI("badge", props);
33
35
  async function onCloseClickWrapper(event) {
34
36
  const callbacks = Array.isArray(props.onCloseClick) ? props.onCloseClick : [props.onCloseClick];
35
37
  try {
@@ -55,31 +57,31 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.badge |
55
57
  <Primitive
56
58
  :as="as"
57
59
  data-slot="base"
58
- :class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
60
+ :class="b24ui.base({ class: [uiProp?.base, props.class] })"
59
61
  >
60
62
  <Primitive
61
63
  :as="as"
62
64
  data-slot="wrapper"
63
- :class="b24ui.wrapper({ class: props.b24ui?.wrapper })"
65
+ :class="b24ui.wrapper({ class: uiProp?.wrapper })"
64
66
  >
65
67
  <slot name="leading" :b24ui="b24ui">
66
68
  <Component
67
69
  :is="leadingIconName"
68
70
  v-if="isLeading && leadingIconName"
69
71
  data-slot="leadingIcon"
70
- :class="b24ui.leadingIcon({ class: props.b24ui?.leadingIcon })"
72
+ :class="b24ui.leadingIcon({ class: uiProp?.leadingIcon })"
71
73
  />
72
74
  <B24Avatar
73
75
  v-else-if="!!avatar"
74
- :size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
76
+ :size="uiProp?.leadingAvatarSize || b24ui.leadingAvatarSize()"
75
77
  v-bind="avatar"
76
78
  data-slot="leadingAvatar"
77
- :class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
79
+ :class="b24ui.leadingAvatar({ class: uiProp?.leadingAvatar })"
78
80
  />
79
81
  </slot>
80
82
 
81
83
  <slot :b24ui="b24ui">
82
- <span v-if="label !== void 0 && label !== null" data-slot="label" :class="b24ui.label({ class: props.b24ui?.label })">
84
+ <span v-if="label !== void 0 && label !== null" data-slot="label" :class="b24ui.label({ class: uiProp?.label })">
83
85
  {{ label }}
84
86
  </span>
85
87
  </slot>
@@ -88,7 +90,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.badge |
88
90
  <Cross20Icon
89
91
  v-if="useClose"
90
92
  data-slot="trailingIcon"
91
- :class="b24ui.trailingIcon({ class: props.b24ui?.trailingIcon })"
93
+ :class="b24ui.trailingIcon({ class: uiProp?.trailingIcon })"
92
94
  aria-hidden="true"
93
95
  @click.stop.prevent="onCloseClickWrapper"
94
96
  />
@@ -6,6 +6,7 @@ import theme from "#build/b24ui/banner";
6
6
  import { computed, ref, onMounted, useId } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { useHead, useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { useLocale } from "../composables/useLocale";
10
11
  import { tv } from "../utils/tv";
11
12
  import icons from "../dictionary/icons";
@@ -31,6 +32,7 @@ const slots = defineSlots();
31
32
  const emits = defineEmits(["close"]);
32
33
  const { t } = useLocale();
33
34
  const appConfig = useAppConfig();
35
+ const uiProp = useComponentUI("banner", props);
34
36
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.banner || {} })({
35
37
  color: props.color,
36
38
  to: !!props.to
@@ -89,7 +91,7 @@ function onClose() {
89
91
  class="banner"
90
92
  :data-banner-id="id"
91
93
  data-slot="root"
92
- :class="b24ui.root({ class: [props.b24ui?.root, props.class] })"
94
+ :class="b24ui.root({ class: [uiProp?.root, props.class] })"
93
95
  >
94
96
  <B24Link
95
97
  v-if="to"
@@ -102,21 +104,21 @@ function onClose() {
102
104
  <span class="absolute inset-0 " aria-hidden="true" />
103
105
  </B24Link>
104
106
 
105
- <B24Container data-slot="container" :class="b24ui.container({ class: props.b24ui?.container })">
106
- <div data-slot="left" :class="b24ui.left({ class: props.b24ui?.left })" />
107
+ <B24Container data-slot="container" :class="b24ui.container({ class: uiProp?.container })">
108
+ <div data-slot="left" :class="b24ui.left({ class: uiProp?.left })" />
107
109
 
108
- <div data-slot="center" :class="b24ui.center({ class: props.b24ui?.center })">
110
+ <div data-slot="center" :class="b24ui.center({ class: uiProp?.center })">
109
111
  <slot name="leading" :b24ui="b24ui">
110
- <Component :is="icon" v-if="icon" data-slot="icon" :class="b24ui.icon({ class: props.b24ui?.icon })" />
112
+ <Component :is="icon" v-if="icon" data-slot="icon" :class="b24ui.icon({ class: uiProp?.icon })" />
111
113
  </slot>
112
114
 
113
- <div v-if="title || !!slots.title" data-slot="title" :class="b24ui.title({ class: props.b24ui?.title })">
115
+ <div v-if="title || !!slots.title" data-slot="title" :class="b24ui.title({ class: uiProp?.title })">
114
116
  <slot name="title">
115
117
  {{ title }}
116
118
  </slot>
117
119
  </div>
118
120
 
119
- <div v-if="actions?.length || !!slots.actions" data-slot="actions" :class="b24ui.actions({ class: props.b24ui?.actions })">
121
+ <div v-if="actions?.length || !!slots.actions" data-slot="actions" :class="b24ui.actions({ class: uiProp?.actions })">
120
122
  <slot name="actions">
121
123
  <B24Button
122
124
  v-for="(action, index) in actions"
@@ -129,7 +131,7 @@ function onClose() {
129
131
  </div>
130
132
  </div>
131
133
 
132
- <div data-slot="right" :class="b24ui.right({ class: props.b24ui?.right })">
134
+ <div data-slot="right" :class="b24ui.right({ class: uiProp?.right })">
133
135
  <slot name="close" :b24ui="b24ui">
134
136
  <B24Button
135
137
  v-if="close"
@@ -139,7 +141,7 @@ function onClose() {
139
141
  :aria-label="t('banner.close')"
140
142
  v-bind="typeof close === 'object' ? close : {}"
141
143
  data-slot="close"
142
- :class="b24ui.close({ class: props.b24ui?.close })"
144
+ :class="b24ui.close({ class: uiProp?.close })"
143
145
  @click="onClose"
144
146
  />
145
147
  </slot>
@@ -6,6 +6,7 @@ import theme from "#build/b24ui/breadcrumb";
6
6
  import { computed } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { useLocale } from "../composables/useLocale";
10
11
  import { get } from "../utils";
11
12
  import { tv } from "../utils/tv";
@@ -25,22 +26,23 @@ const props = defineProps({
25
26
  const slots = defineSlots();
26
27
  const { dir } = useLocale();
27
28
  const appConfig = useAppConfig();
29
+ const uiProp = useComponentUI("breadcrumb", props);
28
30
  const separatorIcon = computed(() => props.separatorIcon || (dir.value === "rtl" ? icons.chevronLeft : icons.chevronRight));
29
31
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.breadcrumb || {} })());
30
32
  </script>
31
33
 
32
34
  <template>
33
- <Primitive :as="as" aria-label="breadcrumb" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
34
- <ol data-slot="list" :class="b24ui.list({ class: props.b24ui?.list })">
35
+ <Primitive :as="as" aria-label="breadcrumb" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
36
+ <ol data-slot="list" :class="b24ui.list({ class: uiProp?.list })">
35
37
  <template v-for="(item, index) in items" :key="index">
36
- <li data-slot="item" :class="b24ui.item({ class: [props.b24ui?.item, item.b24ui?.item] })">
38
+ <li data-slot="item" :class="b24ui.item({ class: [uiProp?.item, item.b24ui?.item] })">
37
39
  <B24Link v-slot="{ active, ...slotProps }" v-bind="pickLinkProps(item)" custom>
38
40
  <B24LinkBase
39
41
  v-bind="slotProps"
40
42
  as="span"
41
43
  :aria-current="(item.active ?? active) && index === items.length - 1 ? 'page' : void 0"
42
44
  data-slot="link"
43
- :class="b24ui.link({ class: [props.b24ui?.link, item.b24ui?.link, item.class], active: item.active ?? index === items.length - 1, disabled: !!item.disabled, to: !!item.to })"
45
+ :class="b24ui.link({ class: [uiProp?.link, item.b24ui?.link, item.class], active: item.active ?? index === items.length - 1, disabled: !!item.disabled, to: !!item.to })"
44
46
  >
45
47
  <slot
46
48
  :name="item.slot || 'item'"
@@ -60,21 +62,21 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.breadcr
60
62
  :is="item.icon"
61
63
  v-if="item.icon"
62
64
  data-slot="linkLeadingIcon"
63
- :class="b24ui.linkLeadingIcon({ class: [props.b24ui?.linkLeadingIcon, item.b24ui?.linkLeadingIcon], active: item.active ?? index === items.length - 1 })"
65
+ :class="b24ui.linkLeadingIcon({ class: [uiProp?.linkLeadingIcon, item.b24ui?.linkLeadingIcon], active: item.active ?? index === items.length - 1 })"
64
66
  />
65
67
  <B24Avatar
66
68
  v-else-if="item.avatar"
67
- :size="props.b24ui?.linkLeadingAvatarSize || b24ui.linkLeadingAvatarSize()"
69
+ :size="uiProp?.linkLeadingAvatarSize || b24ui.linkLeadingAvatarSize()"
68
70
  v-bind="item.avatar"
69
71
  data-slot="linkLeadingAvatar"
70
- :class="b24ui.linkLeadingAvatar({ class: [props.b24ui?.linkLeadingAvatar, item.b24ui?.linkLeadingAvatar], active: item.active ?? index === items.length - 1 })"
72
+ :class="b24ui.linkLeadingAvatar({ class: [uiProp?.linkLeadingAvatar, item.b24ui?.linkLeadingAvatar], active: item.active ?? index === items.length - 1 })"
71
73
  />
72
74
  </slot>
73
75
 
74
76
  <span
75
77
  v-if="get(item, props.labelKey) || !!slots[item.slot ? `${item.slot}-label` : 'item-label']"
76
78
  data-slot="linkLabel"
77
- :class="b24ui.linkLabel({ class: [props.b24ui?.linkLabel, item.b24ui?.linkLabel] })"
79
+ :class="b24ui.linkLabel({ class: [uiProp?.linkLabel, item.b24ui?.linkLabel] })"
78
80
  >
79
81
  <slot
80
82
  :name="item.slot ? `${item.slot}-label` : 'item-label'"
@@ -97,12 +99,12 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.breadcr
97
99
  </B24Link>
98
100
  </li>
99
101
 
100
- <li v-if="index < items.length - 1" role="presentation" aria-hidden="true" data-slot="separator" :class="b24ui.separator({ class: [props.b24ui?.separator, item.b24ui?.separator] })">
102
+ <li v-if="index < items.length - 1" role="presentation" aria-hidden="true" data-slot="separator" :class="b24ui.separator({ class: [uiProp?.separator, item.b24ui?.separator] })">
101
103
  <slot name="separator" :b24ui="b24ui">
102
104
  <Component
103
105
  :is="separatorIcon"
104
106
  data-slot="separatorIcon"
105
- :class="b24ui.separatorIcon({ class: [props.b24ui?.separatorIcon, item.b24ui?.separatorIcon] })"
107
+ :class="b24ui.separatorIcon({ class: [uiProp?.separatorIcon, item.b24ui?.separatorIcon] })"
106
108
  />
107
109
  </slot>
108
110
  </li>
@@ -7,6 +7,7 @@ import { computed, ref, inject } from "vue";
7
7
  import { defu } from "defu";
8
8
  import { useForwardProps } from "reka-ui";
9
9
  import { useAppConfig } from "#imports";
10
+ import { useComponentUI } from "../composables/useComponentUI";
10
11
  import { useComponentIcons } from "../composables/useComponentIcons";
11
12
  import { useFieldGroup } from "../composables/useFieldGroup";
12
13
  import { formLoadingInjectionKey } from "../composables/useFormField";
@@ -68,6 +69,7 @@ const props = defineProps({
68
69
  });
69
70
  const slots = defineSlots();
70
71
  const appConfig = useAppConfig();
72
+ const uiProp = useComponentUI("button", props);
71
73
  const { orientation, size: buttonSize, noSplit } = useFieldGroup(props);
72
74
  const linkProps = useForwardProps(pickLinkProps(props));
73
75
  const proxyLinkProps = computed(() => {
@@ -142,7 +144,7 @@ const b24ui = computed(() => tv({
142
144
  v-bind="slotProps"
143
145
  data-slot="base"
144
146
  :class="b24ui.base({
145
- class: [props.b24ui?.base, props.class],
147
+ class: [uiProp?.base, props.class],
146
148
  active,
147
149
  ...active && activeDepth ? { depth: activeDepth } : {},
148
150
  ...active && activeColor ? { color: activeColor } : {}
@@ -152,35 +154,35 @@ const b24ui = computed(() => tv({
152
154
  <div
153
155
  v-if="isLoading"
154
156
  data-slot="baseLoading"
155
- :class="b24ui.baseLoading({ class: props.b24ui?.baseLoading, active })"
157
+ :class="b24ui.baseLoading({ class: uiProp?.baseLoading, active })"
156
158
  >
157
- <LoaderWaitIcon v-if="useWait" data-slot="baseLoadingWaitIcon" :class="b24ui.baseLoadingWaitIcon({ class: props.b24ui?.baseLoadingWaitIcon })" aria-hidden="true" />
158
- <LoaderClockIcon v-else-if="useClock" data-slot="baseLoadingClockIcon" :class="b24ui.baseLoadingClockIcon({ class: props.b24ui?.baseLoadingClockIcon })" aria-hidden="true" />
159
- <SpinnerIcon v-else data-slot="baseLoadingSpinnerIcon" :class="b24ui.baseLoadingSpinnerIcon({ class: props.b24ui?.baseLoadingSpinnerIcon })" aria-hidden="true" />
159
+ <LoaderWaitIcon v-if="useWait" data-slot="baseLoadingWaitIcon" :class="b24ui.baseLoadingWaitIcon({ class: uiProp?.baseLoadingWaitIcon })" aria-hidden="true" />
160
+ <LoaderClockIcon v-else-if="useClock" data-slot="baseLoadingClockIcon" :class="b24ui.baseLoadingClockIcon({ class: uiProp?.baseLoadingClockIcon })" aria-hidden="true" />
161
+ <SpinnerIcon v-else data-slot="baseLoadingSpinnerIcon" :class="b24ui.baseLoadingSpinnerIcon({ class: uiProp?.baseLoadingSpinnerIcon })" aria-hidden="true" />
160
162
  </div>
161
163
  <div
162
164
  data-slot="baseLine"
163
- :class="[b24ui.baseLine({ class: [props.b24ui?.baseLine] }), isLoading ? 'invisible' : '']"
165
+ :class="[b24ui.baseLine({ class: [uiProp?.baseLine] }), isLoading ? 'invisible' : '']"
164
166
  >
165
167
  <slot name="leading" :b24ui="b24ui">
166
168
  <Component
167
169
  :is="leadingIconName"
168
170
  v-if="isLeading && typeof leadingIconName !== 'undefined'"
169
171
  data-slot="leadingIcon"
170
- :class="b24ui.leadingIcon({ class: props.b24ui?.leadingIcon })"
172
+ :class="b24ui.leadingIcon({ class: uiProp?.leadingIcon })"
171
173
  />
172
174
  <B24Avatar
173
175
  v-else-if="!!avatar"
174
- :size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
176
+ :size="uiProp?.leadingAvatarSize || b24ui.leadingAvatarSize()"
175
177
  v-bind="avatar"
176
178
  data-slot="leadingAvatar"
177
- :class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
179
+ :class="b24ui.leadingAvatar({ class: uiProp?.leadingAvatar })"
178
180
  />
179
181
  </slot>
180
182
 
181
183
  <slot :b24ui="b24ui">
182
- <span v-if="label !== void 0 && label !== null" data-slot="label" :class="b24ui.label({ class: props.b24ui?.label, active })">
183
- <span data-slot="labelInner" :class="b24ui.labelInner({ class: props.b24ui?.labelInner, active })">
184
+ <span v-if="label !== void 0 && label !== null" data-slot="label" :class="b24ui.label({ class: uiProp?.label, active })">
185
+ <span data-slot="labelInner" :class="b24ui.labelInner({ class: uiProp?.labelInner, active })">
184
186
  {{ label }}
185
187
  </span>
186
188
  </span>
@@ -190,7 +192,7 @@ const b24ui = computed(() => tv({
190
192
  <ChevronDownSIcon
191
193
  v-if="useDropdown"
192
194
  data-slot="trailingIcon"
193
- :class="b24ui.trailingIcon({ class: props.b24ui?.trailingIcon })"
195
+ :class="b24ui.trailingIcon({ class: uiProp?.trailingIcon })"
194
196
  aria-hidden="true"
195
197
  />
196
198
  </slot>