@bitrix24/b24ui-nuxt 2.2.1 → 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 (594) hide show
  1. package/README.md +5 -4
  2. package/cli/package.json +1 -1
  3. package/dist/module.d.mts +2 -1
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +3 -2
  6. package/dist/runtime/air-design-tokens/013_b24_mobile_light.css +1 -0
  7. package/dist/runtime/air-design-tokens/014_b24_mobile_dark.css +1 -0
  8. package/dist/runtime/air-design-tokens/015_b24_mobile_edge-light.css +1 -0
  9. package/dist/runtime/air-design-tokens/016_b24_mobile_edge-dark.css +1 -0
  10. package/dist/runtime/air-design-tokens/023_b24_desktop_light.css +1 -0
  11. package/dist/runtime/air-design-tokens/024_b24_desktop_dark.css +1 -0
  12. package/dist/runtime/air-design-tokens/025_b24_desktop_edge-light.css +1 -0
  13. package/dist/runtime/air-design-tokens/026_b24_desktop_edge-dark.css +1 -0
  14. package/dist/runtime/air-design-tokens/design-tokens/app.json +23812 -0
  15. package/dist/runtime/air-design-tokens/design-tokens/mobileapp.json +7476 -0
  16. package/dist/runtime/air-design-tokens/index.css +1 -1
  17. package/dist/runtime/components/Accordion.d.vue.ts +17 -8
  18. package/dist/runtime/components/Accordion.vue +16 -13
  19. package/dist/runtime/components/Accordion.vue.d.ts +17 -8
  20. package/dist/runtime/components/Advice.d.vue.ts +4 -1
  21. package/dist/runtime/components/Advice.vue +14 -12
  22. package/dist/runtime/components/Advice.vue.d.ts +4 -1
  23. package/dist/runtime/components/Alert.d.vue.ts +6 -3
  24. package/dist/runtime/components/Alert.vue +12 -10
  25. package/dist/runtime/components/Alert.vue.d.ts +6 -3
  26. package/dist/runtime/components/App.d.vue.ts +8 -6
  27. package/dist/runtime/components/App.vue.d.ts +8 -6
  28. package/dist/runtime/components/Avatar.d.vue.ts +2 -2
  29. package/dist/runtime/components/Avatar.vue +7 -5
  30. package/dist/runtime/components/Avatar.vue.d.ts +2 -2
  31. package/dist/runtime/components/AvatarGroup.d.vue.ts +1 -1
  32. package/dist/runtime/components/AvatarGroup.vue +6 -4
  33. package/dist/runtime/components/AvatarGroup.vue.d.ts +1 -1
  34. package/dist/runtime/components/Badge.d.vue.ts +4 -1
  35. package/dist/runtime/components/Badge.vue +10 -8
  36. package/dist/runtime/components/Badge.vue.d.ts +4 -1
  37. package/dist/runtime/components/Banner.d.vue.ts +3 -4
  38. package/dist/runtime/components/Banner.vue +60 -32
  39. package/dist/runtime/components/Banner.vue.d.ts +3 -4
  40. package/dist/runtime/components/Breadcrumb.d.vue.ts +8 -6
  41. package/dist/runtime/components/Breadcrumb.vue +13 -11
  42. package/dist/runtime/components/Breadcrumb.vue.d.ts +8 -6
  43. package/dist/runtime/components/Button.d.vue.ts +4 -1
  44. package/dist/runtime/components/Button.vue +15 -13
  45. package/dist/runtime/components/Button.vue.d.ts +4 -1
  46. package/dist/runtime/components/Calendar.d.vue.ts +14 -6
  47. package/dist/runtime/components/Calendar.vue +27 -14
  48. package/dist/runtime/components/Calendar.vue.d.ts +14 -6
  49. package/dist/runtime/components/Card.d.vue.ts +1 -1
  50. package/dist/runtime/components/Card.vue +7 -5
  51. package/dist/runtime/components/Card.vue.d.ts +1 -1
  52. package/dist/runtime/components/ChatMessage.d.vue.ts +3 -1
  53. package/dist/runtime/components/ChatMessage.vue +11 -9
  54. package/dist/runtime/components/ChatMessage.vue.d.ts +3 -1
  55. package/dist/runtime/components/ChatMessages.d.vue.ts +6 -1
  56. package/dist/runtime/components/ChatMessages.vue +16 -11
  57. package/dist/runtime/components/ChatMessages.vue.d.ts +6 -1
  58. package/dist/runtime/components/ChatPalette.d.vue.ts +1 -1
  59. package/dist/runtime/components/ChatPalette.vue +6 -4
  60. package/dist/runtime/components/ChatPalette.vue.d.ts +1 -1
  61. package/dist/runtime/components/ChatPrompt.d.vue.ts +9 -4
  62. package/dist/runtime/components/ChatPrompt.vue +10 -7
  63. package/dist/runtime/components/ChatPrompt.vue.d.ts +9 -4
  64. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +9 -3
  65. package/dist/runtime/components/ChatPromptSubmit.vue +5 -3
  66. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +9 -3
  67. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  68. package/dist/runtime/components/Checkbox.vue +19 -12
  69. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  70. package/dist/runtime/components/CheckboxGroup.d.vue.ts +16 -11
  71. package/dist/runtime/components/CheckboxGroup.vue +9 -7
  72. package/dist/runtime/components/CheckboxGroup.vue.d.ts +16 -11
  73. package/dist/runtime/components/Chip.d.vue.ts +8 -3
  74. package/dist/runtime/components/Chip.vue +6 -4
  75. package/dist/runtime/components/Chip.vue.d.ts +8 -3
  76. package/dist/runtime/components/Collapsible.d.vue.ts +5 -3
  77. package/dist/runtime/components/Collapsible.vue +5 -3
  78. package/dist/runtime/components/Collapsible.vue.d.ts +5 -3
  79. package/dist/runtime/components/ColorPicker.d.vue.ts +7 -3
  80. package/dist/runtime/components/ColorPicker.vue +10 -8
  81. package/dist/runtime/components/ColorPicker.vue.d.ts +7 -3
  82. package/dist/runtime/components/CommandPalette.d.vue.ts +38 -15
  83. package/dist/runtime/components/CommandPalette.vue +59 -52
  84. package/dist/runtime/components/CommandPalette.vue.d.ts +38 -15
  85. package/dist/runtime/components/Container.d.vue.ts +4 -1
  86. package/dist/runtime/components/Container.vue +5 -2
  87. package/dist/runtime/components/Container.vue.d.ts +4 -1
  88. package/dist/runtime/components/ContextMenu.d.vue.ts +10 -6
  89. package/dist/runtime/components/ContextMenu.vue +5 -3
  90. package/dist/runtime/components/ContextMenu.vue.d.ts +10 -6
  91. package/dist/runtime/components/ContextMenuContent.d.vue.ts +14 -6
  92. package/dist/runtime/components/ContextMenuContent.vue +11 -11
  93. package/dist/runtime/components/ContextMenuContent.vue.d.ts +14 -6
  94. package/dist/runtime/components/Countdown.d.vue.ts +12 -3
  95. package/dist/runtime/components/Countdown.vue +12 -10
  96. package/dist/runtime/components/Countdown.vue.d.ts +12 -3
  97. package/dist/runtime/components/DashboardGroup.d.vue.ts +11 -3
  98. package/dist/runtime/components/DashboardGroup.vue +15 -11
  99. package/dist/runtime/components/DashboardGroup.vue.d.ts +11 -3
  100. package/dist/runtime/components/DashboardNavbar.d.vue.ts +59 -0
  101. package/dist/runtime/components/DashboardNavbar.vue +79 -0
  102. package/dist/runtime/components/DashboardNavbar.vue.d.ts +59 -0
  103. package/dist/runtime/components/DashboardPanel.d.vue.ts +31 -0
  104. package/dist/runtime/components/DashboardPanel.vue +66 -0
  105. package/dist/runtime/components/DashboardPanel.vue.d.ts +31 -0
  106. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +22 -0
  107. package/dist/runtime/components/DashboardResizeHandle.vue +30 -0
  108. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +22 -0
  109. package/dist/runtime/components/DashboardSearch.d.vue.ts +13 -4
  110. package/dist/runtime/components/DashboardSearch.vue +9 -4
  111. package/dist/runtime/components/DashboardSearch.vue.d.ts +13 -4
  112. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +6 -1
  113. package/dist/runtime/components/DashboardSearchButton.vue +11 -7
  114. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +6 -1
  115. package/dist/runtime/components/DashboardSidebar.d.vue.ts +89 -0
  116. package/dist/runtime/components/DashboardSidebar.vue +169 -0
  117. package/dist/runtime/components/DashboardSidebar.vue.d.ts +89 -0
  118. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +21 -0
  119. package/dist/runtime/components/DashboardSidebarCollapse.vue +64 -0
  120. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +21 -0
  121. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +21 -0
  122. package/dist/runtime/components/DashboardSidebarToggle.vue +65 -0
  123. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +21 -0
  124. package/dist/runtime/components/DashboardToolbar.d.vue.ts +26 -0
  125. package/dist/runtime/components/DashboardToolbar.vue +34 -0
  126. package/dist/runtime/components/DashboardToolbar.vue.d.ts +26 -0
  127. package/dist/runtime/components/DescriptionList.d.vue.ts +8 -6
  128. package/dist/runtime/components/DescriptionList.vue +16 -14
  129. package/dist/runtime/components/DescriptionList.vue.d.ts +8 -6
  130. package/dist/runtime/components/Drawer.d.vue.ts +100 -0
  131. package/dist/runtime/components/Drawer.vue +133 -0
  132. package/dist/runtime/components/Drawer.vue.d.ts +100 -0
  133. package/dist/runtime/components/DropdownMenu.d.vue.ts +10 -6
  134. package/dist/runtime/components/DropdownMenu.vue +7 -10
  135. package/dist/runtime/components/DropdownMenu.vue.d.ts +10 -6
  136. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +14 -6
  137. package/dist/runtime/components/DropdownMenuContent.vue +14 -12
  138. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +14 -6
  139. package/dist/runtime/components/Editor.d.vue.ts +30 -15
  140. package/dist/runtime/components/Editor.vue +46 -20
  141. package/dist/runtime/components/Editor.vue.d.ts +30 -15
  142. package/dist/runtime/components/EditorDragHandle.d.vue.ts +18 -3
  143. package/dist/runtime/components/EditorDragHandle.vue +17 -8
  144. package/dist/runtime/components/EditorDragHandle.vue.d.ts +18 -3
  145. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +12 -6
  146. package/dist/runtime/components/EditorEmojiMenu.vue +5 -2
  147. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +12 -6
  148. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +12 -6
  149. package/dist/runtime/components/EditorMentionMenu.vue +9 -3
  150. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +12 -6
  151. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +12 -6
  152. package/dist/runtime/components/EditorSuggestionMenu.vue +5 -2
  153. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +12 -6
  154. package/dist/runtime/components/EditorToolbar.d.vue.ts +8 -6
  155. package/dist/runtime/components/EditorToolbar.vue +16 -13
  156. package/dist/runtime/components/EditorToolbar.vue.d.ts +8 -6
  157. package/dist/runtime/components/Empty.d.vue.ts +3 -1
  158. package/dist/runtime/components/Empty.vue +12 -10
  159. package/dist/runtime/components/Empty.vue.d.ts +3 -1
  160. package/dist/runtime/components/Error.d.vue.ts +6 -2
  161. package/dist/runtime/components/Error.vue +9 -7
  162. package/dist/runtime/components/Error.vue.d.ts +6 -2
  163. package/dist/runtime/components/FieldGroup.d.vue.ts +7 -2
  164. package/dist/runtime/components/FieldGroup.vue +4 -2
  165. package/dist/runtime/components/FieldGroup.vue.d.ts +7 -2
  166. package/dist/runtime/components/FileUpload.d.vue.ts +13 -8
  167. package/dist/runtime/components/FileUpload.vue +20 -18
  168. package/dist/runtime/components/FileUpload.vue.d.ts +13 -8
  169. package/dist/runtime/components/Footer.d.vue.ts +30 -0
  170. package/dist/runtime/components/Footer.vue +47 -0
  171. package/dist/runtime/components/Footer.vue.d.ts +30 -0
  172. package/dist/runtime/components/FooterColumns.d.vue.ts +69 -0
  173. package/dist/runtime/components/FooterColumns.vue +83 -0
  174. package/dist/runtime/components/FooterColumns.vue.d.ts +69 -0
  175. package/dist/runtime/components/Form.d.vue.ts +14 -6
  176. package/dist/runtime/components/Form.vue +10 -2
  177. package/dist/runtime/components/Form.vue.d.ts +14 -6
  178. package/dist/runtime/components/FormField.d.vue.ts +3 -1
  179. package/dist/runtime/components/FormField.vue +13 -11
  180. package/dist/runtime/components/FormField.vue.d.ts +3 -1
  181. package/dist/runtime/components/Header.d.vue.ts +81 -0
  182. package/dist/runtime/components/Header.vue +147 -0
  183. package/dist/runtime/components/Header.vue.d.ts +81 -0
  184. package/dist/runtime/components/Input.d.vue.ts +63 -15
  185. package/dist/runtime/components/Input.vue +18 -14
  186. package/dist/runtime/components/Input.vue.d.ts +63 -15
  187. package/dist/runtime/components/InputDate.d.vue.ts +16 -6
  188. package/dist/runtime/components/InputDate.vue +20 -13
  189. package/dist/runtime/components/InputDate.vue.d.ts +16 -6
  190. package/dist/runtime/components/InputMenu.d.vue.ts +185 -30
  191. package/dist/runtime/components/InputMenu.vue +92 -67
  192. package/dist/runtime/components/InputMenu.vue.d.ts +185 -30
  193. package/dist/runtime/components/InputNumber.d.vue.ts +26 -19
  194. package/dist/runtime/components/InputNumber.vue +25 -16
  195. package/dist/runtime/components/InputNumber.vue.d.ts +26 -19
  196. package/dist/runtime/components/InputTags.d.vue.ts +19 -7
  197. package/dist/runtime/components/InputTags.vue +18 -14
  198. package/dist/runtime/components/InputTags.vue.d.ts +19 -7
  199. package/dist/runtime/components/InputTime.d.vue.ts +11 -7
  200. package/dist/runtime/components/InputTime.vue +19 -11
  201. package/dist/runtime/components/InputTime.vue.d.ts +11 -7
  202. package/dist/runtime/components/Kbd.d.vue.ts +5 -1
  203. package/dist/runtime/components/Kbd.vue +5 -2
  204. package/dist/runtime/components/Kbd.vue.d.ts +5 -1
  205. package/dist/runtime/components/Link.d.vue.ts +7 -1
  206. package/dist/runtime/components/Link.vue +7 -7
  207. package/dist/runtime/components/Link.vue.d.ts +7 -1
  208. package/dist/runtime/components/LinkBase.d.vue.ts +6 -3
  209. package/dist/runtime/components/LinkBase.vue.d.ts +6 -3
  210. package/dist/runtime/components/Main.d.vue.ts +24 -0
  211. package/dist/runtime/components/Main.vue +26 -0
  212. package/dist/runtime/components/Main.vue.d.ts +24 -0
  213. package/dist/runtime/components/Modal.d.vue.ts +17 -8
  214. package/dist/runtime/components/Modal.vue +19 -26
  215. package/dist/runtime/components/Modal.vue.d.ts +17 -8
  216. package/dist/runtime/components/ModalDialogClose.d.vue.ts +1 -1
  217. package/dist/runtime/components/ModalDialogClose.vue.d.ts +1 -1
  218. package/dist/runtime/components/Navbar.d.vue.ts +3 -1
  219. package/dist/runtime/components/Navbar.vue +4 -2
  220. package/dist/runtime/components/Navbar.vue.d.ts +3 -1
  221. package/dist/runtime/components/NavbarDivider.d.vue.ts +3 -1
  222. package/dist/runtime/components/NavbarDivider.vue +4 -2
  223. package/dist/runtime/components/NavbarDivider.vue.d.ts +3 -1
  224. package/dist/runtime/components/NavbarSection.d.vue.ts +3 -1
  225. package/dist/runtime/components/NavbarSection.vue +4 -2
  226. package/dist/runtime/components/NavbarSection.vue.d.ts +3 -1
  227. package/dist/runtime/components/NavbarSpacer.d.vue.ts +3 -1
  228. package/dist/runtime/components/NavbarSpacer.vue +4 -2
  229. package/dist/runtime/components/NavbarSpacer.vue.d.ts +3 -1
  230. package/dist/runtime/components/NavigationMenu.d.vue.ts +34 -26
  231. package/dist/runtime/components/NavigationMenu.vue +122 -61
  232. package/dist/runtime/components/NavigationMenu.vue.d.ts +34 -26
  233. package/dist/runtime/components/Page.d.vue.ts +26 -0
  234. package/dist/runtime/components/Page.vue +39 -0
  235. package/dist/runtime/components/Page.vue.d.ts +26 -0
  236. package/dist/runtime/components/PageAside.d.vue.ts +28 -0
  237. package/dist/runtime/components/PageAside.vue +38 -0
  238. package/dist/runtime/components/PageAside.vue.d.ts +28 -0
  239. package/dist/runtime/components/PageBody.d.vue.ts +22 -0
  240. package/dist/runtime/components/PageBody.vue +26 -0
  241. package/dist/runtime/components/PageBody.vue.d.ts +22 -0
  242. package/dist/runtime/components/PageCard.d.vue.ts +3 -1
  243. package/dist/runtime/components/PageCard.vue +13 -11
  244. package/dist/runtime/components/PageCard.vue.d.ts +3 -1
  245. package/dist/runtime/components/PageColumns.d.vue.ts +4 -1
  246. package/dist/runtime/components/PageColumns.vue +5 -2
  247. package/dist/runtime/components/PageColumns.vue.d.ts +4 -1
  248. package/dist/runtime/components/PageFeature.d.vue.ts +47 -0
  249. package/dist/runtime/components/PageFeature.vue +79 -0
  250. package/dist/runtime/components/PageFeature.vue.d.ts +47 -0
  251. package/dist/runtime/components/PageGrid.d.vue.ts +4 -1
  252. package/dist/runtime/components/PageGrid.vue +5 -2
  253. package/dist/runtime/components/PageGrid.vue.d.ts +4 -1
  254. package/dist/runtime/components/PageHeader.d.vue.ts +37 -0
  255. package/dist/runtime/components/PageHeader.vue +67 -0
  256. package/dist/runtime/components/PageHeader.vue.d.ts +37 -0
  257. package/dist/runtime/components/PageLinks.d.vue.ts +8 -6
  258. package/dist/runtime/components/PageLinks.vue +12 -10
  259. package/dist/runtime/components/PageLinks.vue.d.ts +8 -6
  260. package/dist/runtime/components/PageList.d.vue.ts +6 -1
  261. package/dist/runtime/components/PageList.vue +5 -2
  262. package/dist/runtime/components/PageList.vue.d.ts +6 -1
  263. package/dist/runtime/components/PageSection.d.vue.ts +71 -0
  264. package/dist/runtime/components/PageSection.vue +110 -0
  265. package/dist/runtime/components/PageSection.vue.d.ts +71 -0
  266. package/dist/runtime/components/Pagination.d.vue.ts +11 -3
  267. package/dist/runtime/components/Pagination.vue +11 -9
  268. package/dist/runtime/components/Pagination.vue.d.ts +11 -3
  269. package/dist/runtime/components/PinInput.d.vue.ts +15 -6
  270. package/dist/runtime/components/PinInput.vue +11 -4
  271. package/dist/runtime/components/PinInput.vue.d.ts +15 -6
  272. package/dist/runtime/components/Popover.d.vue.ts +11 -6
  273. package/dist/runtime/components/Popover.vue +8 -3
  274. package/dist/runtime/components/Popover.vue.d.ts +11 -6
  275. package/dist/runtime/components/Progress.d.vue.ts +7 -3
  276. package/dist/runtime/components/Progress.vue +9 -7
  277. package/dist/runtime/components/Progress.vue.d.ts +7 -3
  278. package/dist/runtime/components/RadioGroup.d.vue.ts +13 -8
  279. package/dist/runtime/components/RadioGroup.vue +13 -11
  280. package/dist/runtime/components/RadioGroup.vue.d.ts +13 -8
  281. package/dist/runtime/components/Range.d.vue.ts +14 -9
  282. package/dist/runtime/components/Range.vue +8 -6
  283. package/dist/runtime/components/Range.vue.d.ts +14 -9
  284. package/dist/runtime/components/ScrollArea.d.vue.ts +17 -6
  285. package/dist/runtime/components/ScrollArea.vue +35 -11
  286. package/dist/runtime/components/ScrollArea.vue.d.ts +17 -6
  287. package/dist/runtime/components/Select.d.vue.ts +76 -23
  288. package/dist/runtime/components/Select.vue +40 -38
  289. package/dist/runtime/components/Select.vue.d.ts +76 -23
  290. package/dist/runtime/components/SelectMenu.d.vue.ts +146 -35
  291. package/dist/runtime/components/SelectMenu.vue +98 -68
  292. package/dist/runtime/components/SelectMenu.vue.d.ts +146 -35
  293. package/dist/runtime/components/Separator.d.vue.ts +7 -2
  294. package/dist/runtime/components/Separator.vue +9 -7
  295. package/dist/runtime/components/Separator.vue.d.ts +7 -2
  296. package/dist/runtime/components/Sidebar.d.vue.ts +3 -1
  297. package/dist/runtime/components/Sidebar.vue +4 -2
  298. package/dist/runtime/components/Sidebar.vue.d.ts +3 -1
  299. package/dist/runtime/components/SidebarBody.d.vue.ts +4 -4
  300. package/dist/runtime/components/SidebarBody.vue +4 -2
  301. package/dist/runtime/components/SidebarBody.vue.d.ts +4 -4
  302. package/dist/runtime/components/SidebarFooter.d.vue.ts +3 -4
  303. package/dist/runtime/components/SidebarFooter.vue +4 -2
  304. package/dist/runtime/components/SidebarFooter.vue.d.ts +3 -4
  305. package/dist/runtime/components/SidebarHeader.d.vue.ts +3 -4
  306. package/dist/runtime/components/SidebarHeader.vue +4 -2
  307. package/dist/runtime/components/SidebarHeader.vue.d.ts +3 -4
  308. package/dist/runtime/components/SidebarHeading.d.vue.ts +3 -4
  309. package/dist/runtime/components/SidebarHeading.vue +4 -2
  310. package/dist/runtime/components/SidebarHeading.vue.d.ts +3 -4
  311. package/dist/runtime/components/SidebarLayout.d.vue.ts +6 -1
  312. package/dist/runtime/components/SidebarLayout.vue +22 -20
  313. package/dist/runtime/components/SidebarLayout.vue.d.ts +6 -1
  314. package/dist/runtime/components/SidebarSection.d.vue.ts +3 -4
  315. package/dist/runtime/components/SidebarSection.vue +4 -2
  316. package/dist/runtime/components/SidebarSection.vue.d.ts +3 -4
  317. package/dist/runtime/components/SidebarSpacer.d.vue.ts +3 -4
  318. package/dist/runtime/components/SidebarSpacer.vue +4 -2
  319. package/dist/runtime/components/SidebarSpacer.vue.d.ts +3 -4
  320. package/dist/runtime/components/Skeleton.d.vue.ts +5 -3
  321. package/dist/runtime/components/Skeleton.vue +4 -2
  322. package/dist/runtime/components/Skeleton.vue.d.ts +5 -3
  323. package/dist/runtime/components/Slideover.d.vue.ts +13 -3
  324. package/dist/runtime/components/Slideover.vue +24 -19
  325. package/dist/runtime/components/Slideover.vue.d.ts +13 -3
  326. package/dist/runtime/components/Stepper.d.vue.ts +24 -10
  327. package/dist/runtime/components/Stepper.vue +31 -25
  328. package/dist/runtime/components/Stepper.vue.d.ts +24 -10
  329. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  330. package/dist/runtime/components/Switch.vue +20 -14
  331. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  332. package/dist/runtime/components/Table.d.vue.ts +25 -10
  333. package/dist/runtime/components/Table.vue +26 -24
  334. package/dist/runtime/components/Table.vue.d.ts +25 -10
  335. package/dist/runtime/components/TableWrapper.d.vue.ts +6 -3
  336. package/dist/runtime/components/TableWrapper.vue +4 -2
  337. package/dist/runtime/components/TableWrapper.vue.d.ts +6 -3
  338. package/dist/runtime/components/Tabs.d.vue.ts +16 -7
  339. package/dist/runtime/components/Tabs.vue +23 -17
  340. package/dist/runtime/components/Tabs.vue.d.ts +16 -7
  341. package/dist/runtime/components/Textarea.d.vue.ts +63 -15
  342. package/dist/runtime/components/Textarea.vue +19 -15
  343. package/dist/runtime/components/Textarea.vue.d.ts +63 -15
  344. package/dist/runtime/components/Theme.d.vue.ts +17 -0
  345. package/dist/runtime/components/Theme.vue +17 -0
  346. package/dist/runtime/components/Theme.vue.d.ts +17 -0
  347. package/dist/runtime/components/Timeline.d.vue.ts +24 -10
  348. package/dist/runtime/components/Timeline.vue +35 -24
  349. package/dist/runtime/components/Timeline.vue.d.ts +24 -10
  350. package/dist/runtime/components/Toast.d.vue.ts +7 -3
  351. package/dist/runtime/components/Toast.vue +16 -16
  352. package/dist/runtime/components/Toast.vue.d.ts +7 -3
  353. package/dist/runtime/components/Toaster.d.vue.ts +8 -1
  354. package/dist/runtime/components/Toaster.vue +7 -4
  355. package/dist/runtime/components/Toaster.vue.d.ts +8 -1
  356. package/dist/runtime/components/Tooltip.d.vue.ts +6 -3
  357. package/dist/runtime/components/Tooltip.vue +9 -7
  358. package/dist/runtime/components/Tooltip.vue.d.ts +6 -3
  359. package/dist/runtime/components/User.d.vue.ts +3 -1
  360. package/dist/runtime/components/User.vue +9 -7
  361. package/dist/runtime/components/User.vue.d.ts +3 -1
  362. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  363. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +1 -1
  364. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  365. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -1
  366. package/dist/runtime/components/color-mode/ColorModeButton.vue +5 -3
  367. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -1
  368. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +1 -1
  369. package/dist/runtime/components/color-mode/ColorModeImage.vue +8 -3
  370. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +1 -1
  371. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +3 -1
  372. package/dist/runtime/components/color-mode/ColorModeSelect.vue +6 -2
  373. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +3 -1
  374. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  375. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +1 -1
  376. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  377. package/dist/runtime/components/content/ContentSearch.d.vue.ts +17 -9
  378. package/dist/runtime/components/content/ContentSearch.vue +9 -4
  379. package/dist/runtime/components/content/ContentSearch.vue.d.ts +17 -9
  380. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +6 -1
  381. package/dist/runtime/components/content/ContentSearchButton.vue +6 -4
  382. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +6 -1
  383. package/dist/runtime/components/content/ContentSurround.d.vue.ts +8 -6
  384. package/dist/runtime/components/content/ContentSurround.vue +10 -8
  385. package/dist/runtime/components/content/ContentSurround.vue.d.ts +8 -6
  386. package/dist/runtime/components/content/ContentToc.d.vue.ts +11 -6
  387. package/dist/runtime/components/content/ContentToc.vue +16 -14
  388. package/dist/runtime/components/content/ContentToc.vue.d.ts +11 -6
  389. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +7 -3
  390. package/dist/runtime/components/locale/LocaleSelect.vue +6 -2
  391. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +7 -3
  392. package/dist/runtime/components/prose/A.d.vue.ts +1 -1
  393. package/dist/runtime/components/prose/A.vue +4 -2
  394. package/dist/runtime/components/prose/A.vue.d.ts +1 -1
  395. package/dist/runtime/components/prose/Accordion.d.vue.ts +3 -1
  396. package/dist/runtime/components/prose/Accordion.vue +4 -2
  397. package/dist/runtime/components/prose/Accordion.vue.d.ts +3 -1
  398. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +4 -1
  399. package/dist/runtime/components/prose/AccordionItem.vue +5 -2
  400. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +4 -1
  401. package/dist/runtime/components/prose/Badge.d.vue.ts +4 -1
  402. package/dist/runtime/components/prose/Badge.vue +5 -2
  403. package/dist/runtime/components/prose/Badge.vue.d.ts +4 -1
  404. package/dist/runtime/components/prose/Blockquote.d.vue.ts +1 -4
  405. package/dist/runtime/components/prose/Blockquote.vue +4 -2
  406. package/dist/runtime/components/prose/Blockquote.vue.d.ts +1 -4
  407. package/dist/runtime/components/prose/Callout.d.vue.ts +1 -1
  408. package/dist/runtime/components/prose/Callout.vue +12 -4
  409. package/dist/runtime/components/prose/Callout.vue.d.ts +1 -1
  410. package/dist/runtime/components/prose/Card.d.vue.ts +1 -1
  411. package/dist/runtime/components/prose/Card.vue +8 -6
  412. package/dist/runtime/components/prose/Card.vue.d.ts +1 -1
  413. package/dist/runtime/components/prose/CardGroup.d.vue.ts +4 -1
  414. package/dist/runtime/components/prose/CardGroup.vue +5 -2
  415. package/dist/runtime/components/prose/CardGroup.vue.d.ts +4 -1
  416. package/dist/runtime/components/prose/Code.d.vue.ts +1 -1
  417. package/dist/runtime/components/prose/Code.vue +4 -2
  418. package/dist/runtime/components/prose/Code.vue.d.ts +1 -1
  419. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -2
  420. package/dist/runtime/components/prose/CodeCollapse.vue +7 -5
  421. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -2
  422. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +5 -3
  423. package/dist/runtime/components/prose/CodeGroup.vue +9 -7
  424. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +5 -3
  425. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  426. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  427. package/dist/runtime/components/prose/CodePreview.d.vue.ts +1 -1
  428. package/dist/runtime/components/prose/CodePreview.vue +6 -4
  429. package/dist/runtime/components/prose/CodePreview.vue.d.ts +1 -1
  430. package/dist/runtime/components/prose/Collapsible.d.vue.ts +1 -1
  431. package/dist/runtime/components/prose/Collapsible.vue +7 -5
  432. package/dist/runtime/components/prose/Collapsible.vue.d.ts +1 -1
  433. package/dist/runtime/components/prose/Em.d.vue.ts +1 -4
  434. package/dist/runtime/components/prose/Em.vue +4 -2
  435. package/dist/runtime/components/prose/Em.vue.d.ts +1 -4
  436. package/dist/runtime/components/prose/Field.d.vue.ts +1 -1
  437. package/dist/runtime/components/prose/Field.vue +10 -8
  438. package/dist/runtime/components/prose/Field.vue.d.ts +1 -1
  439. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +4 -1
  440. package/dist/runtime/components/prose/FieldGroup.vue +5 -2
  441. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +4 -1
  442. package/dist/runtime/components/prose/H1.d.vue.ts +3 -1
  443. package/dist/runtime/components/prose/H1.vue +5 -3
  444. package/dist/runtime/components/prose/H1.vue.d.ts +3 -1
  445. package/dist/runtime/components/prose/H2.d.vue.ts +3 -1
  446. package/dist/runtime/components/prose/H2.vue +7 -5
  447. package/dist/runtime/components/prose/H2.vue.d.ts +3 -1
  448. package/dist/runtime/components/prose/H3.d.vue.ts +3 -1
  449. package/dist/runtime/components/prose/H3.vue +7 -5
  450. package/dist/runtime/components/prose/H3.vue.d.ts +3 -1
  451. package/dist/runtime/components/prose/H4.d.vue.ts +3 -1
  452. package/dist/runtime/components/prose/H4.vue +7 -5
  453. package/dist/runtime/components/prose/H4.vue.d.ts +3 -1
  454. package/dist/runtime/components/prose/H5.d.vue.ts +3 -1
  455. package/dist/runtime/components/prose/H5.vue +4 -2
  456. package/dist/runtime/components/prose/H5.vue.d.ts +3 -1
  457. package/dist/runtime/components/prose/H6.d.vue.ts +3 -1
  458. package/dist/runtime/components/prose/H6.vue +4 -2
  459. package/dist/runtime/components/prose/H6.vue.d.ts +3 -1
  460. package/dist/runtime/components/prose/Hr.d.vue.ts +1 -1
  461. package/dist/runtime/components/prose/Hr.vue +4 -2
  462. package/dist/runtime/components/prose/Hr.vue.d.ts +1 -1
  463. package/dist/runtime/components/prose/Img.d.vue.ts +3 -1
  464. package/dist/runtime/components/prose/Img.vue +10 -9
  465. package/dist/runtime/components/prose/Img.vue.d.ts +3 -1
  466. package/dist/runtime/components/prose/Kbd.d.vue.ts +4 -1
  467. package/dist/runtime/components/prose/Kbd.vue +5 -2
  468. package/dist/runtime/components/prose/Kbd.vue.d.ts +4 -1
  469. package/dist/runtime/components/prose/Li.d.vue.ts +1 -4
  470. package/dist/runtime/components/prose/Li.vue +4 -2
  471. package/dist/runtime/components/prose/Li.vue.d.ts +1 -4
  472. package/dist/runtime/components/prose/Ol.d.vue.ts +1 -4
  473. package/dist/runtime/components/prose/Ol.vue +4 -2
  474. package/dist/runtime/components/prose/Ol.vue.d.ts +1 -4
  475. package/dist/runtime/components/prose/P.d.vue.ts +4 -1
  476. package/dist/runtime/components/prose/P.vue +4 -2
  477. package/dist/runtime/components/prose/P.vue.d.ts +4 -1
  478. package/dist/runtime/components/prose/Pre.d.vue.ts +1 -1
  479. package/dist/runtime/components/prose/Pre.vue +9 -7
  480. package/dist/runtime/components/prose/Pre.vue.d.ts +1 -1
  481. package/dist/runtime/components/prose/Steps.d.vue.ts +4 -1
  482. package/dist/runtime/components/prose/Steps.vue +5 -2
  483. package/dist/runtime/components/prose/Steps.vue.d.ts +4 -1
  484. package/dist/runtime/components/prose/Strong.d.vue.ts +1 -4
  485. package/dist/runtime/components/prose/Strong.vue +4 -2
  486. package/dist/runtime/components/prose/Strong.vue.d.ts +1 -4
  487. package/dist/runtime/components/prose/Table.d.vue.ts +7 -1
  488. package/dist/runtime/components/prose/Table.vue +5 -3
  489. package/dist/runtime/components/prose/Table.vue.d.ts +7 -1
  490. package/dist/runtime/components/prose/Tabs.d.vue.ts +5 -3
  491. package/dist/runtime/components/prose/Tabs.vue +4 -2
  492. package/dist/runtime/components/prose/Tabs.vue.d.ts +5 -3
  493. package/dist/runtime/components/prose/TabsItem.d.vue.ts +4 -1
  494. package/dist/runtime/components/prose/TabsItem.vue +5 -2
  495. package/dist/runtime/components/prose/TabsItem.vue.d.ts +4 -1
  496. package/dist/runtime/components/prose/Tbody.d.vue.ts +1 -4
  497. package/dist/runtime/components/prose/Tbody.vue +4 -2
  498. package/dist/runtime/components/prose/Tbody.vue.d.ts +1 -4
  499. package/dist/runtime/components/prose/Td.d.vue.ts +2 -4
  500. package/dist/runtime/components/prose/Td.vue +8 -3
  501. package/dist/runtime/components/prose/Td.vue.d.ts +2 -4
  502. package/dist/runtime/components/prose/Th.d.vue.ts +2 -4
  503. package/dist/runtime/components/prose/Th.vue +8 -3
  504. package/dist/runtime/components/prose/Th.vue.d.ts +2 -4
  505. package/dist/runtime/components/prose/Thead.d.vue.ts +1 -4
  506. package/dist/runtime/components/prose/Thead.vue +4 -2
  507. package/dist/runtime/components/prose/Thead.vue.d.ts +1 -4
  508. package/dist/runtime/components/prose/Tr.d.vue.ts +1 -4
  509. package/dist/runtime/components/prose/Tr.vue +4 -2
  510. package/dist/runtime/components/prose/Tr.vue.d.ts +1 -4
  511. package/dist/runtime/components/prose/Ul.d.vue.ts +1 -4
  512. package/dist/runtime/components/prose/Ul.vue +4 -2
  513. package/dist/runtime/components/prose/Ul.vue.d.ts +1 -4
  514. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
  515. package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
  516. package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
  517. package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
  518. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
  519. package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
  520. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
  521. package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
  522. package/dist/runtime/composables/color-mode/useColorMode.d.ts +6 -0
  523. package/dist/runtime/composables/color-mode/useColorMode.js +15 -6
  524. package/dist/runtime/composables/defineShortcuts.js +4 -1
  525. package/dist/runtime/composables/internal/useFilter.d.ts +9 -0
  526. package/dist/runtime/composables/internal/useFilter.js +60 -0
  527. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  528. package/dist/runtime/composables/useComponentUI.d.ts +33 -0
  529. package/dist/runtime/composables/useComponentUI.js +13 -0
  530. package/dist/runtime/composables/useEditorMenu.d.ts +12 -1
  531. package/dist/runtime/composables/useEditorMenu.js +156 -151
  532. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  533. package/dist/runtime/composables/useFormField.d.ts +1 -1
  534. package/dist/runtime/composables/useLoading.d.ts +3 -0
  535. package/dist/runtime/composables/useOverlay.d.ts +3 -1
  536. package/dist/runtime/composables/useResizable.d.ts +1 -1
  537. package/dist/runtime/composables/useResizable.js +1 -1
  538. package/dist/runtime/composables/useToast.d.ts +4 -0
  539. package/dist/runtime/composables/useToast.js +25 -1
  540. package/dist/runtime/dictionary/icons.d.ts +3 -0
  541. package/dist/runtime/dictionary/icons.js +7 -1
  542. package/dist/runtime/index.css +1 -1
  543. package/dist/runtime/keyframes.css +1 -1
  544. package/dist/runtime/plugins/platform.d.ts +34 -0
  545. package/dist/runtime/plugins/platform.js +31 -0
  546. package/dist/runtime/plugins/ui-version.d.ts +1 -1
  547. package/dist/runtime/types/color-mode.d.ts +1 -1
  548. package/dist/runtime/types/editor.d.ts +2 -1
  549. package/dist/runtime/types/html.d.ts +3 -1
  550. package/dist/runtime/types/index.d.ts +19 -0
  551. package/dist/runtime/types/index.js +19 -0
  552. package/dist/runtime/types/input.d.ts +16 -6
  553. package/dist/runtime/types/utils.d.ts +10 -8
  554. package/dist/runtime/utils/ai.d.ts +7 -0
  555. package/dist/runtime/utils/dashboard.d.ts +4 -5
  556. package/dist/runtime/utils/dashboard.js +1 -1
  557. package/dist/runtime/utils/editor.d.ts +1 -1
  558. package/dist/runtime/utils/editor.js +28 -10
  559. package/dist/runtime/utils/fuse.js +22 -3
  560. package/dist/runtime/utils/index.d.ts +3 -1
  561. package/dist/runtime/utils/index.js +13 -3
  562. package/dist/runtime/utils/overlay.d.ts +19 -0
  563. package/dist/runtime/utils/overlay.js +13 -0
  564. package/dist/runtime/utils/virtualizer.d.ts +1 -3
  565. package/dist/runtime/utils/virtualizer.js +15 -6
  566. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +3 -1
  567. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +6 -2
  568. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +3 -1
  569. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  570. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +1 -1
  571. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  572. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +7 -1
  573. package/dist/runtime/vue/overrides/inertia/Link.vue +1 -0
  574. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +7 -1
  575. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +6 -3
  576. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +6 -3
  577. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +7 -1
  578. package/dist/runtime/vue/overrides/none/Link.vue +11 -3
  579. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +7 -1
  580. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +7 -1
  581. package/dist/runtime/vue/overrides/vue-router/Link.vue +2 -2
  582. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +7 -1
  583. package/dist/runtime/vue/plugins/router.d.ts +4 -0
  584. package/dist/runtime/vue/plugins/router.js +7 -0
  585. package/dist/runtime/vue/stubs/base.d.ts +9 -13
  586. package/dist/runtime/vue/stubs/base.js +11 -33
  587. package/dist/shared/{b24ui-nuxt.C-CS9MBp.mjs → b24ui-nuxt.DstlkmYO.mjs} +904 -60
  588. package/dist/unplugin.d.mts +2 -1
  589. package/dist/unplugin.mjs +6 -3
  590. package/dist/vite.d.mts +2 -3
  591. package/dist/vite.mjs +1 -1
  592. package/package.json +68 -58
  593. package/dist/meta.d.mts +0 -220263
  594. package/dist/meta.mjs +0 -220263
@@ -1,18 +1,15 @@
1
1
  import type { NavigationMenuRootProps, NavigationMenuContentProps, NavigationMenuContentEmits, AccordionRootProps } from 'reka-ui';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/navigation-menu';
4
- import type { AvatarProps, BadgeProps, IconComponent, LinkProps, PopoverProps, TooltipProps } from '../types';
4
+ import type { AvatarProps, BadgeProps, ChipProps, IconComponent, LinkProps, PopoverProps, TooltipProps } from '../types';
5
5
  import type { ArrayOrNested, DynamicSlots, GetItemKeys, MergeTypes, NestedItem, EmitsToProps } from '../types/utils';
6
6
  import type { ComponentConfig } from '../types/tv';
7
7
  type NavigationMenu = ComponentConfig<typeof theme, AppConfig, 'navigationMenu'>;
8
8
  /**
9
- * @memo not use in NavigationMenuChildItem
10
- * - description
11
- * - avatar
12
- * - b24ui
13
- * - children - only 1 level
9
+ * @memo only 1 level
10
+ * @memo not use in NavigationMenuChildItem: `b24ui` | `description` | `avatar` | `children` | `description`
14
11
  */
15
- export interface NavigationMenuChildItem extends Omit<NavigationMenuItem, 'type' | 'b24ui' | 'avatar' | 'children'> {
12
+ export interface NavigationMenuChildItem extends Omit<NavigationMenuItem, 'type' | 'b24ui' | 'avatar' | 'children' | 'description'> {
16
13
  [key: string]: any;
17
14
  }
18
15
  export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'custom'> {
@@ -29,16 +26,22 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
29
26
  avatar?: AvatarProps;
30
27
  /**
31
28
  * Display a badge on the item.
32
- * `{ size: 'xs', color: 'air-primary-alert' }`{lang="ts"}
29
+ * `{ size: 'xs', color: 'air-primary-alert' }`{lang="ts-type"}
33
30
  */
34
31
  badge?: string | number | BadgeProps;
32
+ /**
33
+ * Display a chip around the icon of the item.
34
+ * `{ inset: true }`{lang="ts-type"}
35
+ */
36
+ chip?: boolean | ChipProps;
35
37
  /**
36
38
  * Display a hint on the item in `horizontal` orientation.
37
39
  */
38
40
  hint?: string;
39
41
  /**
40
- * Display a tooltip on the item when the menu is collapsed with the label of the item.
41
- * This has priority over the global `tooltip` prop.
42
+ * Display a tooltip on the item with the label of the item.
43
+ * In `vertical` orientation, only works when the menu is `collapsed`.
44
+ * In `horizontal` orientation, works on any item.
42
45
  */
43
46
  tooltip?: boolean | TooltipProps;
44
47
  /**
@@ -60,7 +63,7 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
60
63
  slot?: string;
61
64
  /**
62
65
  * The value of the item. Avoid using `index` as the value to prevent conflicts in horizontal orientation with Reka UI.
63
- * @defaultValue `item-${index}`
66
+ * @defaultValue `item-${index}`, `item-${level}-${index}` for nested children, or `group-${listIndex}-item-${index}` when using grouped items
64
67
  */
65
68
  value?: string;
66
69
  children?: NavigationMenuChildItem[];
@@ -72,19 +75,14 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
72
75
  open?: boolean;
73
76
  onSelect?: (e: Event) => void;
74
77
  class?: any;
75
- b24ui?: Pick<NavigationMenu['slots'], 'item' | 'linkLeadingAvatarSize' | 'linkLeadingAvatar' | 'linkLeadingIcon' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkTrailing' | 'linkLeadingHint' | 'linkLeadingBadgeSize' | 'linkLeadingBadge' | 'linkTrailingIcon' | 'label' | 'link' | 'content' | 'childList' | 'childLabel' | 'childItem' | 'childLink' | 'childLinkIcon' | 'childLinkHint' | 'childLinkBadgeSize' | 'childLinkBadge' | 'childLinkWrapper' | 'childLinkLabel' | 'childLinkLabelExternalIcon' | 'popoverWrapper'>;
78
+ b24ui?: Pick<NavigationMenu['slots'], 'item' | 'linkLeadingAvatarSize' | 'linkLeadingAvatar' | 'linkLeadingIcon' | 'linkLeadingChipSize' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkTrailing' | 'linkLeadingHint' | 'linkLeadingBadgeSize' | 'linkLeadingBadge' | 'linkTrailingIcon' | 'label' | 'link' | 'content' | 'childList' | 'childLabel' | 'childItem' | 'childLink' | 'childLinkIcon' | 'childLinkHint' | 'childLinkBadgeSize' | 'childLinkBadge' | 'childLinkWrapper' | 'childLinkLabel' | 'childLinkLabelExternalIcon' | 'popoverWrapper'>;
76
79
  [key: string]: any;
77
80
  }
78
81
  type SingleOrMultipleType = 'single' | 'multiple';
79
- type Orientation = NavigationMenuRootProps['orientation'];
82
+ type Orientation = NavigationMenu['variants']['orientation'];
80
83
  type NavigationMenuModelValue<K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation> = O extends 'horizontal' ? string : K extends 'single' ? string : K extends 'multiple' ? string[] : string | string[];
81
84
  /**
82
- * @memo remove contentOrientation
83
- * @memo remove highlight
84
- * @memo remove highlightColor
85
- * @memo remove arrow
86
- * @memo remove color
87
- * @memo remove variant (link) -> use variant.pill
85
+ * @memo remove contentOrientation | highlight | highlightColor | arrow | color | variant (link) -> use variant.pill
88
86
  */
89
87
  export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem> = ArrayOrNested<NavigationMenuItem>, K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation> extends Pick<NavigationMenuRootProps, 'delayDuration' | 'disableClickTrigger' | 'disableHoverTrigger' | 'skipDelayDuration' | 'disablePointerLeaveClose' | 'unmountOnHide'>, Pick<AccordionRootProps, 'disabled' | 'collapsible'> {
90
88
  /**
@@ -143,7 +141,8 @@ export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem>
143
141
  */
144
142
  collapsed?: boolean;
145
143
  /**
146
- * Display a tooltip on the items when the menu is collapsed with the label of the item.
144
+ * Display a tooltip on the items with the label of the item.
145
+ * Only works when `orientation` is `vertical` and `collapsed` is `true`.
147
146
  * `{ delayDuration: 0, content: { side: 'right' } }`{lang="ts-type"}
148
147
  * @defaultValue false
149
148
  */
@@ -158,6 +157,11 @@ export interface NavigationMenuProps<T extends ArrayOrNested<NavigationMenuItem>
158
157
  * The content of the menu.
159
158
  */
160
159
  content?: Omit<NavigationMenuContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<NavigationMenuContentEmits>>;
160
+ /**
161
+ * The key used to get the value from the item.
162
+ * @defaultValue 'value'
163
+ */
164
+ valueKey?: GetItemKeys<T>;
161
165
  /**
162
166
  * The key used to get the label from the item.
163
167
  * @defaultValue 'label'
@@ -204,8 +208,12 @@ export type NavigationMenuSlots<A extends ArrayOrNested<NavigationMenuItem> = Ar
204
208
  active?: boolean;
205
209
  b24ui: NavigationMenu['b24ui'];
206
210
  }>;
207
- declare const __VLS_export: <T extends ArrayOrNested<NavigationMenuItem>, K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
208
- props: __VLS_PrettifyLocal<NavigationMenuProps<T, K, O> & __VLS_EmitsToProps<__VLS_NormalizeEmits<(evt: "update:modelValue", value: NavigationMenuModelValue<K, O> | undefined) => void>>> & import("vue").PublicProps & (typeof globalThis extends {
211
+ declare const _default: typeof __VLS_export;
212
+ export default _default;
213
+ declare const __VLS_export: <T extends ArrayOrNested<NavigationMenuItem>, K extends SingleOrMultipleType = SingleOrMultipleType, O extends Orientation = Orientation>(__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<{
214
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<NavigationMenuProps<T, K, O> & {
215
+ "onUpdate:modelValue"?: ((value: NavigationMenuModelValue<K, O> | undefined) => any) | undefined;
216
+ }> & (typeof globalThis extends {
209
217
  __VLS_PROPS_FALLBACK: infer P;
210
218
  } ? P : {});
211
219
  expose: (exposed: {}) => void;
@@ -215,8 +223,8 @@ declare const __VLS_export: <T extends ArrayOrNested<NavigationMenuItem>, K exte
215
223
  }>) => import("vue").VNode & {
216
224
  __ctx?: Awaited<typeof __VLS_setup>;
217
225
  };
218
- declare const _default: typeof __VLS_export;
219
- export default _default;
220
- type __VLS_PrettifyLocal<T> = {
226
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
227
+ [K in keyof T]: T[K];
228
+ } : {
221
229
  [K in keyof T as K]: T[K];
222
- } & {};
230
+ }) & {};
@@ -8,6 +8,7 @@ import { NavigationMenuRoot, NavigationMenuList, NavigationMenuItem, NavigationM
8
8
  import { defu } from "defu";
9
9
  import { reactivePick, createReusableTemplate } from "@vueuse/core";
10
10
  import { useAppConfig } from "#imports";
11
+ import { useComponentUI } from "../composables/useComponentUI";
11
12
  import { get, isArrayOfArray } from "../utils";
12
13
  import { tv } from "../utils/tv";
13
14
  import { pickLinkProps } from "../utils/link";
@@ -16,6 +17,7 @@ import B24LinkBase from "./LinkBase.vue";
16
17
  import B24Link from "./Link.vue";
17
18
  import B24Avatar from "./Avatar.vue";
18
19
  import B24Badge from "./Badge.vue";
20
+ import B24Chip from "./Chip.vue";
19
21
  import B24Popover from "./Popover.vue";
20
22
  import B24Tooltip from "./Tooltip.vue";
21
23
  defineOptions({ inheritAttrs: false });
@@ -32,9 +34,10 @@ const props = defineProps({
32
34
  tooltip: { type: [Boolean, Object], required: false },
33
35
  popover: { type: [Boolean, Object], required: false },
34
36
  content: { type: Object, required: false },
37
+ valueKey: { type: null, required: false, default: "value" },
35
38
  labelKey: { type: null, required: false, default: "label" },
36
39
  class: { type: null, required: false },
37
- b24ui: { type: null, required: false },
40
+ b24ui: { type: Object, required: false },
38
41
  delayDuration: { type: Number, required: false, default: 0 },
39
42
  disableClickTrigger: { type: Boolean, required: false },
40
43
  disableHoverTrigger: { type: Boolean, required: false },
@@ -47,6 +50,7 @@ const props = defineProps({
47
50
  const emits = defineEmits(["update:modelValue"]);
48
51
  const slots = defineSlots();
49
52
  const appConfig = useAppConfig();
53
+ const uiProp = useComponentUI("navigationMenu", props);
50
54
  const rootProps = useForwardPropsEmits(computed(() => ({
51
55
  as: props.as,
52
56
  delayDuration: props.delayDuration,
@@ -59,14 +63,15 @@ const rootProps = useForwardPropsEmits(computed(() => ({
59
63
  })), emits);
60
64
  const accordionProps = useForwardPropsEmits(reactivePick(props, "collapsible", "disabled", "type", "unmountOnHide"), emits);
61
65
  const contentProps = toRef(() => props.content);
62
- const tooltipProps = toRef(() => defu(typeof props.tooltip === "boolean" ? {} : props.tooltip, { delayDuration: 0, content: { side: "right" } }));
66
+ const tooltipProps = toRef(() => defu(typeof props.tooltip === "boolean" ? {} : props.tooltip, { ...props.orientation === "vertical" && { delayDuration: 0, content: { side: "right" } } }));
63
67
  const popoverProps = toRef(() => defu(typeof props.popover === "boolean" ? {} : props.popover, { arrow: true, mode: "hover", content: { side: "right", align: "center", alignOffset: 2 } }));
64
68
  const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate();
65
69
  const [DefineItemTemplate, ReuseItemTemplate] = createReusableTemplate({
66
70
  props: {
67
71
  item: Object,
68
72
  index: Number,
69
- level: Number
73
+ level: Number,
74
+ listIndex: Number
70
75
  }
71
76
  });
72
77
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.navigationMenu || {} })({
@@ -76,21 +81,36 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.navigat
76
81
  const lists = computed(
77
82
  () => props.items?.length ? isArrayOfArray(props.items) ? props.items : [props.items] : []
78
83
  );
79
- function getAccordionDefaultValue(list, level = 0) {
84
+ function getItemValue(item, index, level, listIndex) {
85
+ const prefix = lists.value.length > 1 ? `group-${listIndex}-` : "";
86
+ return get(item, props.valueKey) ?? (level > 0 ? `${prefix}item-${level}-${index}` : `${prefix}item-${index}`);
87
+ }
88
+ function getAccordionDefaultValue(list, level = 0, listIndex = 0) {
80
89
  const indexes = list.reduce((acc, item, index) => {
81
90
  if (item.defaultOpen || item.open) {
82
- acc.push(item.value || (level > 0 ? `item-${level}-${index}` : `item-${index}`));
91
+ acc.push(getItemValue(item, index, level, listIndex));
83
92
  }
84
93
  return acc;
85
94
  }, []);
86
95
  return props.type === "single" ? indexes[0] : indexes;
87
96
  }
97
+ function onLinkTrailingClick(e, item) {
98
+ if (!item.children?.length) {
99
+ return;
100
+ }
101
+ if (props.orientation === "horizontal") {
102
+ e.preventDefault();
103
+ } else if (props.orientation === "vertical" && !props.collapsed) {
104
+ e.preventDefault();
105
+ e.stopPropagation();
106
+ }
107
+ }
88
108
  </script>
89
109
 
90
110
  <template>
91
111
  <DefineLinkTemplate v-slot="{ item, active, index }">
92
112
  <slot :name="item.slot || 'item'" :item="item" :index="index" :active="active" :b24ui="b24ui">
93
- <span data-slot="linkLabelWrapper" :class="b24ui.linkLabelWrapper({ class: props.b24ui?.linkLabelWrapper, active })">
113
+ <span data-slot="linkLabelWrapper" :class="b24ui.linkLabelWrapper({ class: uiProp?.linkLabelWrapper, active })">
94
114
  <slot
95
115
  :name="item.slot ? `${item.slot}-leading` : 'item-leading'"
96
116
  :item="item"
@@ -99,41 +119,54 @@ function getAccordionDefaultValue(list, level = 0) {
99
119
  :b24ui="b24ui"
100
120
  >
101
121
  <template v-if="orientation === 'vertical' && item.type !== 'label'">
122
+ <B24Chip
123
+ v-if="item.icon && item.chip"
124
+ :size="item.b24ui?.linkLeadingChipSize || uiProp?.linkLeadingChipSize || b24ui.linkLeadingChipSize()"
125
+ inset
126
+ v-bind="typeof item.chip === 'object' ? item.chip : {}"
127
+ data-slot="linkLeadingChip"
128
+ >
129
+ <Component
130
+ :is="item.icon"
131
+ data-slot="linkLeadingIcon"
132
+ :class="b24ui.linkLeadingIcon({ class: [uiProp?.linkLeadingIcon, item.b24ui?.linkLeadingIcon], active, disabled: !!item.disabled })"
133
+ />
134
+ </B24Chip>
102
135
  <Component
103
136
  :is="item.icon"
104
- v-if="item.icon"
137
+ v-else-if="item.icon"
105
138
  data-slot="linkLeadingIcon"
106
- :class="b24ui.linkLeadingIcon({ class: [props.b24ui?.linkLeadingIcon, item.b24ui?.linkLeadingIcon], active, disabled: !!item.disabled })"
139
+ :class="b24ui.linkLeadingIcon({ class: [uiProp?.linkLeadingIcon, item.b24ui?.linkLeadingIcon], active, disabled: !!item.disabled })"
107
140
  />
108
141
  <B24Avatar
109
142
  v-else-if="item.avatar"
110
- :size="item.b24ui?.linkLeadingAvatarSize || props.b24ui?.linkLeadingAvatarSize || b24ui.linkLeadingAvatarSize()"
143
+ :size="item.b24ui?.linkLeadingAvatarSize || uiProp?.linkLeadingAvatarSize || b24ui.linkLeadingAvatarSize()"
111
144
  v-bind="item.avatar"
112
145
  data-slot="linkLeadingAvatar"
113
- :class="b24ui.linkLeadingAvatar({ class: [props.b24ui?.linkLeadingAvatar, item.b24ui?.linkLeadingAvatar], active, disabled: !!item.disabled })"
146
+ :class="b24ui.linkLeadingAvatar({ class: [uiProp?.linkLeadingAvatar, item.b24ui?.linkLeadingAvatar], active, disabled: !!item.disabled })"
114
147
  />
115
148
  </template>
116
149
  <div
117
150
  v-if="item.hint && item.type !== 'label' && orientation === 'horizontal'"
118
151
  data-slot="linkLeadingHint"
119
- :class="b24ui.linkLeadingHint({ class: [props.b24ui?.linkLeadingHint, item.b24ui?.linkLeadingHint] })"
152
+ :class="b24ui.linkLeadingHint({ class: [uiProp?.linkLeadingHint, item.b24ui?.linkLeadingHint] })"
120
153
  >
121
154
  {{ item.hint }}
122
155
  </div>
123
156
  <B24Badge
124
157
  v-if="(item.badge || item.badge === 0) && item.type !== 'label'"
125
158
  color="air-primary-alert"
126
- :size="item.b24ui?.linkLeadingBadgeSize || props.b24ui?.linkLeadingBadgeSize || b24ui.linkLeadingBadgeSize()"
159
+ :size="item.b24ui?.linkLeadingBadgeSize || uiProp?.linkLeadingBadgeSize || b24ui.linkLeadingBadgeSize()"
127
160
  v-bind="typeof item.badge === 'string' || typeof item.badge === 'number' ? { label: item.badge } : item.badge"
128
161
  data-slot="linkLeadingBadge"
129
- :class="b24ui.linkLeadingBadge({ class: [props.b24ui?.linkLeadingBadge, item.b24ui?.linkLeadingBadge] })"
162
+ :class="b24ui.linkLeadingBadge({ class: [uiProp?.linkLeadingBadge, item.b24ui?.linkLeadingBadge] })"
130
163
  />
131
164
  </slot>
132
165
 
133
166
  <span
134
167
  v-if="get(item, props.labelKey) || !!slots[item.slot ? `${item.slot}-label` : 'item-label']"
135
168
  data-slot="linkLabel"
136
- :class="b24ui.linkLabel({ class: [props.b24ui?.linkLabel, item.b24ui?.linkLabel], active })"
169
+ :class="b24ui.linkLabel({ class: [uiProp?.linkLabel, item.b24ui?.linkLabel], active })"
137
170
  >
138
171
  <slot :name="item.slot ? `${item.slot}-label` : 'item-label'" :item="item" :active="active" :index="index">
139
172
  {{ get(item, props.labelKey) }}
@@ -143,7 +176,7 @@ function getAccordionDefaultValue(list, level = 0) {
143
176
  :is="typeof externalIcon !== 'boolean' ? externalIcon : icons.external"
144
177
  v-if="item.target === '_blank' && externalIcon !== false"
145
178
  data-slot="linkLabelExternalIcon"
146
- :class="b24ui.linkLabelExternalIcon({ class: [props.b24ui?.linkLabelExternalIcon, item.b24ui?.linkLabelExternalIcon], active })"
179
+ :class="b24ui.linkLabelExternalIcon({ class: [uiProp?.linkLabelExternalIcon, item.b24ui?.linkLabelExternalIcon], active })"
147
180
  />
148
181
  </span>
149
182
 
@@ -153,10 +186,10 @@ function getAccordionDefaultValue(list, level = 0) {
153
186
  /* (item.badge || item.badge === 0) || */
154
187
  orientation === 'horizontal' && (item.children?.length || !!slots[item.slot ? `${item.slot}-content` : 'item-content']) || orientation === 'vertical' && item.children?.length || item.trailingIcon || !!slots[item.slot ? `${item.slot}-trailing` : 'item-trailing']
155
188
  "
156
- as="span"
189
+ :as="orientation === 'vertical' && item.children?.length && !collapsed ? 'span' : void 0"
157
190
  data-slot="linkTrailing"
158
- :class="b24ui.linkTrailing({ class: [props.b24ui?.linkTrailing, item.b24ui?.linkTrailing] })"
159
- @click.stop.prevent
191
+ :class="b24ui.linkTrailing({ class: [uiProp?.linkTrailing, item.b24ui?.linkTrailing] })"
192
+ @click="(e) => onLinkTrailingClick(e, item)"
160
193
  >
161
194
  <slot
162
195
  :name="item.slot ? `${item.slot}-trailing` : 'item-trailing'"
@@ -169,29 +202,29 @@ function getAccordionDefaultValue(list, level = 0) {
169
202
  :is="item.trailingIcon || trailingIcon || icons.chevronDown"
170
203
  v-if="orientation === 'horizontal' && (item.children?.length || !!slots[item.slot ? `${item.slot}-content` : 'item-content']) || orientation === 'vertical' && item.children?.length"
171
204
  data-slot="linkTrailingIcon"
172
- :class="b24ui.linkTrailingIcon({ class: [props.b24ui?.linkTrailingIcon, item.b24ui?.linkTrailingIcon], active })"
205
+ :class="b24ui.linkTrailingIcon({ class: [uiProp?.linkTrailingIcon, item.b24ui?.linkTrailingIcon], active })"
173
206
  />
174
207
  <Component
175
208
  :is="item.trailingIcon"
176
209
  v-else-if="item.trailingIcon"
177
210
  data-slot="linkTrailingIcon"
178
- :class="b24ui.linkTrailingIcon({ class: [props.b24ui?.linkTrailingIcon, item.b24ui?.linkTrailingIcon], active })"
211
+ :class="b24ui.linkTrailingIcon({ class: [uiProp?.linkTrailingIcon, item.b24ui?.linkTrailingIcon], active })"
179
212
  />
180
213
  </slot>
181
214
  </component>
182
215
  </slot>
183
216
  </DefineLinkTemplate>
184
217
 
185
- <DefineItemTemplate v-slot="{ item, index, level = 0 }">
218
+ <DefineItemTemplate v-slot="{ item, index, level = 0, listIndex = 0 }">
186
219
  <component
187
220
  :is="orientation === 'vertical' && !collapsed ? AccordionItem : NavigationMenuItem"
188
221
  as="li"
189
- :value="item.value || (level > 0 ? `item-${level}-${index}` : `item-${index}`)"
222
+ :value="getItemValue(item, index, level, listIndex)"
190
223
  >
191
224
  <div
192
225
  v-if="orientation === 'vertical' && item.type === 'label' && !collapsed"
193
226
  data-slot="label"
194
- :class="b24ui.label({ class: [props.b24ui?.label, item.b24ui?.label, item.class] })"
227
+ :class="b24ui.label({ class: [uiProp?.label, item.b24ui?.label, item.class] })"
195
228
  >
196
229
  <ReuseLinkTemplate :item="item" :index="index" />
197
230
  </div>
@@ -211,13 +244,13 @@ function getAccordionDefaultValue(list, level = 0) {
211
244
  <B24Popover
212
245
  v-if="orientation === 'vertical' && collapsed && item.children?.length && (!!props.popover || !!item.popover)"
213
246
  v-bind="{ ...popoverProps, ...typeof item.popover === 'boolean' ? {} : item.popover || {} }"
214
- :b24ui="{ content: b24ui.content({ class: [props.b24ui?.content, item.b24ui?.content] }) }"
247
+ :b24ui="{ content: b24ui.content({ class: [uiProp?.content, item.b24ui?.content] }) }"
215
248
  >
216
249
  <B24LinkBase
217
250
  v-bind="slotProps"
218
251
  data-slot="link"
219
252
  :class="b24ui.link({
220
- class: [props.b24ui?.link, item.b24ui?.link, item.class],
253
+ class: [uiProp?.link, item.b24ui?.link, item.class],
221
254
  active: active || item.active,
222
255
  disabled: !!item.disabled,
223
256
  level: level > 0
@@ -227,7 +260,7 @@ function getAccordionDefaultValue(list, level = 0) {
227
260
  </B24LinkBase>
228
261
 
229
262
  <template #content="{ close }">
230
- <div data-slot="popoverWrapper" :class="b24ui.popoverWrapper({ class: props.b24ui?.popoverWrapper })">
263
+ <div data-slot="popoverWrapper" :class="b24ui.popoverWrapper({ class: uiProp?.popoverWrapper })">
231
264
  <slot
232
265
  :name="item.slot ? `${item.slot}-content` : 'item-content'"
233
266
  :item="item"
@@ -236,45 +269,58 @@ function getAccordionDefaultValue(list, level = 0) {
236
269
  :b24ui="b24ui"
237
270
  :close="close"
238
271
  >
239
- <ul data-slot="childList" :class="b24ui.childList({ class: [props.b24ui?.childList, item.b24ui?.childList] })">
240
- <li data-slot="childLabel" :class="b24ui.childLabel({ class: [props.b24ui?.childLabel, item.b24ui?.childLabel] })">
272
+ <ul data-slot="childList" :class="b24ui.childList({ class: [uiProp?.childList, item.b24ui?.childList] })">
273
+ <li data-slot="childLabel" :class="b24ui.childLabel({ class: [uiProp?.childLabel, item.b24ui?.childLabel] })">
241
274
  {{ get(item, props.labelKey) }}
242
275
  </li>
243
276
  <li
244
277
  v-for="(childItem, childIndex) in item.children"
245
278
  :key="childIndex"
246
279
  data-slot="childItem"
247
- :class="b24ui.childItem({ class: [props.b24ui?.childItem, item.b24ui?.childItem] })"
280
+ :class="b24ui.childItem({ class: [uiProp?.childItem, item.b24ui?.childItem] })"
248
281
  >
249
282
  <B24Link v-slot="{ active: childActive, ...childSlotProps }" v-bind="pickLinkProps(childItem)" custom>
250
283
  <NavigationMenuLink as-child :active="childActive" @select="childItem.onSelect">
251
284
  <B24LinkBase
252
285
  v-bind="childSlotProps"
253
286
  data-slot="childLink"
254
- :class="b24ui.childLink({ class: [props.b24ui?.childLink, item.b24ui?.childLink, childItem.class], active: childActive })"
287
+ :class="b24ui.childLink({ class: [uiProp?.childLink, item.b24ui?.childLink, childItem.class], active: childActive })"
255
288
  >
289
+ <B24Chip
290
+ v-if="childItem.icon && childItem.chip"
291
+ :size="childItem.b24ui?.linkLeadingChipSize || uiProp?.linkLeadingChipSize || b24ui.linkLeadingChipSize()"
292
+ inset
293
+ v-bind="typeof childItem.chip === 'object' ? childItem.chip : {}"
294
+ data-slot="linkLeadingChip"
295
+ >
296
+ <Component
297
+ :is="childItem.icon"
298
+ data-slot="childLinkIcon"
299
+ :class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
300
+ />
301
+ </B24Chip>
256
302
  <Component
257
303
  :is="childItem.icon"
258
- v-if="childItem.icon"
304
+ v-else-if="childItem.icon"
259
305
  data-slot="childLinkIcon"
260
- :class="b24ui.childLinkIcon({ class: [props.b24ui?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
306
+ :class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
261
307
  />
262
308
  <div
263
309
  v-if="childItem.hint"
264
310
  data-slot="childLinkHint"
265
- :class="b24ui.childLinkHint({ class: [props.b24ui?.childLinkHint, item.b24ui?.childLinkHint] })"
311
+ :class="b24ui.childLinkHint({ class: [uiProp?.childLinkHint, item.b24ui?.childLinkHint] })"
266
312
  >
267
313
  {{ childItem.hint }}
268
314
  </div>
269
315
 
270
- <span data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [props.b24ui?.childLinkLabel, item.b24ui?.childLinkLabel], active: childActive })">
316
+ <span data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [uiProp?.childLinkLabel, item.b24ui?.childLinkLabel], active: childActive })">
271
317
  {{ get(childItem, props.labelKey) }}
272
318
  </span>
273
319
  <Component
274
320
  :is="typeof externalIcon === 'boolean' ? icons.external : externalIcon"
275
321
  v-if="childItem.target === '_blank' && externalIcon !== false"
276
322
  data-slot="childLinkLabelExternalIcon"
277
- :class="b24ui.childLinkLabelExternalIcon({ class: [props.b24ui?.childLinkLabelExternalIcon, item.b24ui?.childLinkLabelExternalIcon], active: childActive })"
323
+ :class="b24ui.childLinkLabelExternalIcon({ class: [uiProp?.childLinkLabelExternalIcon, item.b24ui?.childLinkLabelExternalIcon], active: childActive })"
278
324
  />
279
325
  </B24LinkBase>
280
326
  </NavigationMenuLink>
@@ -286,7 +332,7 @@ function getAccordionDefaultValue(list, level = 0) {
286
332
  </template>
287
333
  </B24Popover>
288
334
  <B24Tooltip
289
- v-else-if="orientation === 'vertical' && collapsed && (!!props.tooltip || !!item.tooltip)"
335
+ v-else-if="orientation === 'vertical' && collapsed && (!!props.tooltip || !!item.tooltip) || orientation === 'horizontal' && !!item.tooltip"
290
336
  :text="get(item, props.labelKey)"
291
337
  v-bind="{ ...tooltipProps, ...typeof item.tooltip === 'boolean' ? {} : item.tooltip || {} }"
292
338
  >
@@ -294,7 +340,7 @@ function getAccordionDefaultValue(list, level = 0) {
294
340
  v-bind="slotProps"
295
341
  data-slot="link"
296
342
  :class="b24ui.link({
297
- class: [props.b24ui?.link, item.b24ui?.link, item.class],
343
+ class: [uiProp?.link, item.b24ui?.link, item.class],
298
344
  active: active || item.active,
299
345
  disabled: !!item.disabled,
300
346
  level: level > 0
@@ -308,7 +354,7 @@ function getAccordionDefaultValue(list, level = 0) {
308
354
  v-bind="slotProps"
309
355
  data-slot="link"
310
356
  :class="b24ui.link({
311
- class: [props.b24ui?.link, item.b24ui?.link, item.class],
357
+ class: [uiProp?.link, item.b24ui?.link, item.class],
312
358
  active: active || item.active,
313
359
  disabled: !!item.disabled,
314
360
  level: orientation === 'horizontal' || level > 0
@@ -323,7 +369,7 @@ function getAccordionDefaultValue(list, level = 0) {
323
369
  v-bind="contentProps"
324
370
  :data-viewport="item.viewportRtl ? 'rtl' : 'ltr'"
325
371
  data-slot="content"
326
- :class="b24ui.content({ class: [props.b24ui?.content, item.b24ui?.content] })"
372
+ :class="b24ui.content({ class: [uiProp?.content, item.b24ui?.content] })"
327
373
  >
328
374
  <slot
329
375
  :name="item.slot ? `${item.slot}-content` : 'item-content'"
@@ -332,12 +378,12 @@ function getAccordionDefaultValue(list, level = 0) {
332
378
  :index="index"
333
379
  :b24ui="b24ui"
334
380
  >
335
- <ul data-slot="childList" :class="b24ui.childList({ class: [props.b24ui?.childList, item.b24ui?.childList] })">
381
+ <ul data-slot="childList" :class="b24ui.childList({ class: [uiProp?.childList, item.b24ui?.childList] })">
336
382
  <li
337
383
  v-for="(childItem, childIndex) in item.children"
338
384
  :key="childIndex"
339
385
  data-slot="childItem"
340
- :class="b24ui.childItem({ class: [props.b24ui?.childItem, item.b24ui?.childItem] })"
386
+ :class="b24ui.childItem({ class: [uiProp?.childItem, item.b24ui?.childItem] })"
341
387
  >
342
388
  <B24Link
343
389
  v-slot="{ active: childActive, ...childSlotProps }"
@@ -348,40 +394,53 @@ function getAccordionDefaultValue(list, level = 0) {
348
394
  <B24LinkBase
349
395
  v-bind="childSlotProps"
350
396
  data-slot="childLink"
351
- :class="b24ui.childLink({ class: [props.b24ui?.childLink, childItem.childLink, childItem.class], active: childActive })"
397
+ :class="b24ui.childLink({ class: [uiProp?.childLink, childItem.childLink, childItem.class], active: childActive })"
352
398
  >
399
+ <B24Chip
400
+ v-if="childItem.icon && childItem.chip"
401
+ :size="childItem.b24ui?.linkLeadingChipSize || uiProp?.linkLeadingChipSize || b24ui.linkLeadingChipSize()"
402
+ inset
403
+ v-bind="typeof childItem.chip === 'object' ? childItem.chip : {}"
404
+ data-slot="linkLeadingChip"
405
+ >
406
+ <Component
407
+ :is="childItem.icon"
408
+ data-slot="childLinkIcon"
409
+ :class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
410
+ />
411
+ </B24Chip>
353
412
  <Component
354
413
  :is="childItem.icon"
355
- v-if="childItem.icon"
414
+ v-else-if="childItem.icon"
356
415
  data-slot="childLinkIcon"
357
- :class="b24ui.childLinkIcon({ class: [props.b24ui?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
416
+ :class="b24ui.childLinkIcon({ class: [uiProp?.childLinkIcon, item.b24ui?.childLinkIcon], active: childActive })"
358
417
  />
359
418
 
360
419
  <div
361
420
  v-if="childItem.hint"
362
421
  data-slot="childLinkHint"
363
- :class="b24ui.childLinkHint({ class: [props.b24ui?.childLinkHint, item.b24ui?.childLinkHint] })"
422
+ :class="b24ui.childLinkHint({ class: [uiProp?.childLinkHint, item.b24ui?.childLinkHint] })"
364
423
  >
365
424
  {{ childItem.hint }}
366
425
  </div>
367
- <div data-slot="childLinkWrapper" :class="b24ui.childLinkWrapper({ class: [props.b24ui?.childLinkWrapper, item.b24ui?.childLinkWrapper] })">
368
- <p data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [props.b24ui?.childLinkLabel, item.b24ui?.childLinkLabel], active: childActive })">
426
+ <div data-slot="childLinkWrapper" :class="b24ui.childLinkWrapper({ class: [uiProp?.childLinkWrapper, item.b24ui?.childLinkWrapper] })">
427
+ <p data-slot="childLinkLabel" :class="b24ui.childLinkLabel({ class: [uiProp?.childLinkLabel, item.b24ui?.childLinkLabel], active: childActive })">
369
428
  {{ get(childItem, props.labelKey) }}
370
429
  </p>
371
430
  <B24Badge
372
431
  v-if="childItem.badge !== void 0"
373
432
  color="air-primary-alert"
374
- :size="item.b24ui?.childLinkBadgeSize || props.b24ui?.childLinkBadgeSize || b24ui.childLinkBadgeSize()"
433
+ :size="item.b24ui?.childLinkBadgeSize || uiProp?.childLinkBadgeSize || b24ui.childLinkBadgeSize()"
375
434
  v-bind="typeof childItem.badge === 'string' || typeof childItem.badge === 'number' ? { label: childItem.badge } : childItem.badge"
376
435
  data-slot="childLinkBadge"
377
- :class="b24ui.childLinkBadge({ class: [props.b24ui?.childLinkBadge, item.b24ui?.childLinkBadge] })"
436
+ :class="b24ui.childLinkBadge({ class: [uiProp?.childLinkBadge, item.b24ui?.childLinkBadge] })"
378
437
  />
379
438
  </div>
380
439
  <Component
381
440
  :is="typeof externalIcon === 'boolean' ? icons.external : externalIcon"
382
441
  v-if="childItem.target === '_blank' && externalIcon !== false"
383
442
  data-slot="childLinkLabelExternalIcon"
384
- :class="b24ui.childLinkLabelExternalIcon({ class: [props.b24ui?.childLinkLabelExternalIcon, item.b24ui?.childLinkLabelExternalIcon], active: childActive })"
443
+ :class="b24ui.childLinkLabelExternalIcon({ class: [uiProp?.childLinkLabelExternalIcon, item.b24ui?.childLinkLabelExternalIcon], active: childActive })"
385
444
  />
386
445
  </B24LinkBase>
387
446
  </NavigationMenuLink>
@@ -395,16 +454,16 @@ function getAccordionDefaultValue(list, level = 0) {
395
454
  <AccordionContent
396
455
  v-if="orientation === 'vertical' && item.children?.length && !collapsed"
397
456
  data-slot="content"
398
- :class="b24ui.content({ class: [props.b24ui?.content, item.b24ui?.content] })"
457
+ :class="b24ui.content({ class: [uiProp?.content, item.b24ui?.content] })"
399
458
  >
400
459
  <AccordionRoot
401
460
  v-bind="{
402
461
  ...accordionProps,
403
- defaultValue: getAccordionDefaultValue(item.children, level + 1)
462
+ defaultValue: getAccordionDefaultValue(item.children, level + 1, listIndex)
404
463
  }"
405
464
  as="ul"
406
465
  data-slot="childList"
407
- :class="b24ui.childList({ class: props.b24ui?.childList })"
466
+ :class="b24ui.childList({ class: uiProp?.childList })"
408
467
  >
409
468
  <ReuseItemTemplate
410
469
  v-for="(childItem, childIndex) in item.children"
@@ -412,8 +471,9 @@ function getAccordionDefaultValue(list, level = 0) {
412
471
  :item="childItem"
413
472
  :index="childIndex"
414
473
  :level="level + 1"
474
+ :list-index="listIndex"
415
475
  data-slot="childItem"
416
- :class="b24ui.childItem({ class: [props.b24ui?.childItem, childItem.b24ui?.childItem] })"
476
+ :class="b24ui.childItem({ class: [uiProp?.childItem, childItem.b24ui?.childItem] })"
417
477
  />
418
478
  </AccordionRoot>
419
479
  </AccordionContent>
@@ -432,7 +492,7 @@ function getAccordionDefaultValue(list, level = 0) {
432
492
  :data-collapsed="collapsed"
433
493
  data-component="section"
434
494
  data-slot="root"
435
- :class="b24ui.root({ class: [props.b24ui?.root, props.class] })"
495
+ :class="b24ui.root({ class: [uiProp?.root, props.class] })"
436
496
  >
437
497
  <slot name="list-leading" />
438
498
 
@@ -441,30 +501,31 @@ function getAccordionDefaultValue(list, level = 0) {
441
501
  v-bind="orientation === 'vertical' && !collapsed ? {
442
502
  ...accordionProps,
443
503
  modelValue,
444
- defaultValue: defaultValue ?? getAccordionDefaultValue(list)
504
+ defaultValue: defaultValue ?? getAccordionDefaultValue(list, 0, listIndex)
445
505
  } : {}"
446
506
  :is="orientation === 'vertical' ? AccordionRoot : NavigationMenuList"
447
507
  as="ul"
448
508
  data-slot="list"
449
- :class="b24ui.list({ class: props.b24ui?.list })"
509
+ :class="b24ui.list({ class: uiProp?.list })"
450
510
  >
451
511
  <ReuseItemTemplate
452
512
  v-for="(item, index) in list"
453
513
  :key="`list-${listIndex}-${index}`"
454
514
  :item="item"
455
515
  :index="index"
516
+ :list-index="listIndex"
456
517
  data-slot="item"
457
- :class="b24ui.item({ class: [props.b24ui?.item, item.b24ui?.item] })"
518
+ :class="b24ui.item({ class: [uiProp?.item, item.b24ui?.item] })"
458
519
  />
459
520
  </component>
460
521
 
461
- <div v-if="orientation === 'vertical' && listIndex < lists.length - 1" data-slot="separator" :class="b24ui.separator({ class: props.b24ui?.separator })" />
522
+ <div v-if="orientation === 'vertical' && listIndex < lists.length - 1" data-slot="separator" :class="b24ui.separator({ class: uiProp?.separator })" />
462
523
  </template>
463
524
 
464
525
  <slot name="list-trailing" />
465
526
 
466
- <div v-if="orientation === 'horizontal'" data-slot="viewportWrapper" :class="b24ui.viewportWrapper({ class: props.b24ui?.viewportWrapper })">
467
- <NavigationMenuViewport data-slot="viewport" :class="b24ui.viewport({ class: props.b24ui?.viewport })" />
527
+ <div v-if="orientation === 'horizontal'" data-slot="viewportWrapper" :class="b24ui.viewportWrapper({ class: uiProp?.viewportWrapper })">
528
+ <NavigationMenuViewport data-slot="viewport" :class="b24ui.viewport({ class: uiProp?.viewport })" />
468
529
  </div>
469
530
  </NavigationMenuRoot>
470
531
  </template>