@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
@@ -15,6 +15,7 @@ import { useLocale } from "../composables/useLocale";
15
15
  import { usePortal } from "../composables/usePortal";
16
16
  import { omit, get, isArrayOfArray } from "../utils";
17
17
  import { pickLinkProps } from "../utils/link";
18
+ import { useComponentUI } from "../composables/useComponentUI";
18
19
  import icons from "../dictionary/icons";
19
20
  import B24LinkBase from "./LinkBase.vue";
20
21
  import B24Link from "./Link.vue";
@@ -45,6 +46,7 @@ const props = defineProps({
45
46
  collisionBoundary: { type: null, required: false },
46
47
  collisionPadding: { type: [Number, Object], required: false },
47
48
  arrowPadding: { type: Number, required: false },
49
+ hideShiftedArrow: { type: Boolean, required: false },
48
50
  sticky: { type: String, required: false },
49
51
  hideWhenDetached: { type: Boolean, required: false },
50
52
  positionStrategy: { type: String, required: false },
@@ -56,6 +58,7 @@ const props = defineProps({
56
58
  const emits = defineEmits(["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "closeAutoFocus"]);
57
59
  const slots = defineSlots();
58
60
  const { dir } = useLocale();
61
+ const uiProp = useComponentUI("dropdownMenu", props);
59
62
  const portalProps = usePortal(toRef(() => props.portal));
60
63
  const contentProps = useForwardPropsEmits(reactiveOmit(props, "sub", "items", "portal", "labelKey", "descriptionKey", "checkedIcon", "externalIcon", "class", "b24ui", "b24uiOverride"), emits);
61
64
  const getProxySlots = () => omit(slots, ["default"]);
@@ -103,7 +106,7 @@ const groups = computed(
103
106
  </span>
104
107
 
105
108
  <span
106
- v-if="get(item, props.descriptionKey)"
109
+ v-if="get(item, props.descriptionKey) || !!slots[item.slot ? `${item.slot}-description` : 'item-description']"
107
110
  data-slot="itemDescription"
108
111
  :class="b24ui.itemDescription({ class: [b24uiOverride?.itemDescription, item.b24ui?.itemDescription] })"
109
112
  >
@@ -224,7 +227,7 @@ const groups = computed(
224
227
  <template v-for="(_, name) in getProxySlots()" #[name]="slotData">
225
228
  <slot :name="name" v-bind="slotData" />
226
229
  </template>
227
- <DropdownMenuArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="b24ui.arrow({ class: props.b24ui?.arrow })" />
230
+ <DropdownMenuArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="b24ui.arrow({ class: uiProp?.arrow })" />
228
231
  </B24DropdownMenuContent>
229
232
  </DropdownMenu.Sub>
230
233
  <DropdownMenu.CheckboxItem
@@ -239,14 +242,13 @@ const groups = computed(
239
242
  >
240
243
  <ReuseItemTemplate :item="item" :index="index" />
241
244
  </DropdownMenu.CheckboxItem>
242
- <DropdownMenu.Item
243
- v-else
244
- as-child
245
- :disabled="item.disabled"
246
- :text-value="get(item, props.labelKey)"
247
- @select="item.onSelect"
248
- >
249
- <B24Link v-slot="{ active, ...slotProps }" v-bind="pickLinkProps(item)" custom>
245
+ <B24Link v-else v-slot="{ active, ...slotProps }" v-bind="pickLinkProps(item)" custom>
246
+ <DropdownMenu.Item
247
+ as-child
248
+ :disabled="item.disabled"
249
+ :text-value="get(item, props.labelKey)"
250
+ @select="item.onSelect"
251
+ >
250
252
  <B24LinkBase
251
253
  v-bind="slotProps"
252
254
  data-slot="item"
@@ -254,8 +256,8 @@ const groups = computed(
254
256
  >
255
257
  <ReuseItemTemplate :item="item" :active="active" :index="index" />
256
258
  </B24LinkBase>
257
- </B24Link>
258
- </DropdownMenu.Item>
259
+ </DropdownMenu.Item>
260
+ </B24Link>
259
261
  </template>
260
262
  </DropdownMenu.Group>
261
263
  </div>
@@ -39,8 +39,16 @@ type DropdownMenuContentSlots<A extends ArrayOrNested<DropdownMenuItem> = ArrayO
39
39
  index: number;
40
40
  b24ui: DropdownMenu['b24ui'];
41
41
  }>;
42
- declare const __VLS_export: <T extends ArrayOrNested<DropdownMenuItem>>(__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<{
43
- props: __VLS_PrettifyLocal<DropdownMenuContentProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: import("reka-ui").PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: import("reka-ui").FocusOutsideEvent) => void) & ((evt: "interactOutside", event: import("reka-ui").PointerDownOutsideEvent | import("reka-ui").FocusOutsideEvent) => void) & ((evt: "closeAutoFocus", event: Event) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
42
+ declare const _default: typeof __VLS_export;
43
+ export default _default;
44
+ declare const __VLS_export: <T extends ArrayOrNested<DropdownMenuItem>>(__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<{
45
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<DropdownMenuContentProps<T> & {
46
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
47
+ onPointerDownOutside?: ((event: import("reka-ui").PointerDownOutsideEvent) => any) | undefined;
48
+ onFocusOutside?: ((event: import("reka-ui").FocusOutsideEvent) => any) | undefined;
49
+ onInteractOutside?: ((event: import("reka-ui").PointerDownOutsideEvent | import("reka-ui").FocusOutsideEvent) => any) | undefined;
50
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
51
+ }> & (typeof globalThis extends {
44
52
  __VLS_PROPS_FALLBACK: infer P;
45
53
  } ? P : {});
46
54
  expose: (exposed: {}) => void;
@@ -50,8 +58,8 @@ declare const __VLS_export: <T extends ArrayOrNested<DropdownMenuItem>>(__VLS_pr
50
58
  }>) => import("vue").VNode & {
51
59
  __ctx?: Awaited<typeof __VLS_setup>;
52
60
  };
53
- declare const _default: typeof __VLS_export;
54
- export default _default;
55
- type __VLS_PrettifyLocal<T> = {
61
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
62
+ [K in keyof T]: T[K];
63
+ } : {
56
64
  [K in keyof T as K]: T[K];
57
- } & {};
65
+ }) & {};
@@ -24,32 +24,43 @@ export interface EditorProps<T extends Content = Content, H extends EditorCustom
24
24
  contentType?: EditorContentType;
25
25
  /**
26
26
  * The starter kit options to configure the editor.
27
- * @defaultValue { headings: { levels: [1, 2, 3, 4] }, link: { openOnClick: false }, dropcursor: { color: 'var(--ui-color-accent-main-primary)', width: 2 } }
27
+ * @defaultValue { horizontalRule: false, link: { openOnClick: false }, dropcursor: { color: 'var(--ui-primary)', width: 2 } }
28
28
  * @see https://tiptap.dev/docs/editor/extensions/functionality/starterkit
29
29
  */
30
30
  starterKit?: Partial<StarterKitOptions>;
31
31
  /**
32
- * The placeholder text to show in empty paragraphs.
33
- * `{ showOnlyWhenEditable: false, showOnlyCurrent: true }`{lang="ts-type"}
34
- * Can be a string or PlaceholderOptions from `@tiptap/extension-placeholder`.
32
+ * The placeholder text to show in empty paragraphs. Can be a string or PlaceholderOptions from `@tiptap/extension-placeholder`.
33
+ * @defaultValue { showOnlyWhenEditable: false, showOnlyCurrent: true, mode: 'everyLine' }
35
34
  * @see https://tiptap.dev/docs/editor/extensions/functionality/placeholder
36
35
  */
37
- placeholder?: string | Partial<PlaceholderOptions>;
36
+ placeholder?: string | (Partial<PlaceholderOptions> & {
37
+ /**
38
+ * Control how placeholders are displayed in the editor.
39
+ * - `firstLine`: Display placeholder only on the first line when the editor is empty.
40
+ * - `everyLine`: Display placeholder on every empty line when focused.
41
+ * @defaultValue 'everyLine'
42
+ */
43
+ mode?: 'firstLine' | 'everyLine';
44
+ });
38
45
  /**
39
46
  * The markdown extension options to configure markdown parsing and serialization.
47
+ * @defaultValue { markedOptions: { gfm: true } }
40
48
  * @see https://tiptap.dev/docs/editor/extensions/functionality/markdown
41
49
  */
42
50
  markdown?: Partial<MarkdownExtensionOptions>;
43
51
  /**
44
- * The image extension options to configure image handling.
52
+ * The image extension options to configure image handling. Set to `false` to disable the extension.
53
+ * @defaultValue {}
45
54
  * @see https://tiptap.dev/docs/editor/extensions/nodes/image
46
55
  */
47
- image?: Partial<ImageOptions>;
56
+ image?: boolean | Partial<ImageOptions>;
48
57
  /**
49
- * The mention extension options to configure mention handling.
58
+ * The mention extension options to configure mention handling. Set to `false` to disable the extension.
59
+ * The `suggestion` and `suggestions` options are omitted as they are managed by the `EditorMentionMenu` component.
60
+ * @defaultValue { HTMLAttributes: { class: 'mention' } }
50
61
  * @see https://tiptap.dev/docs/editor/extensions/nodes/mention
51
62
  */
52
- mention?: Partial<MentionOptions>;
63
+ mention?: boolean | Partial<Omit<MentionOptions, 'suggestion' | 'suggestions'>>;
53
64
  /**
54
65
  * Custom item handlers to override or extend the default handlers.
55
66
  * These handlers are provided to all child components (toolbar, suggestion menu, etc.).
@@ -67,8 +78,12 @@ export interface EditorSlots<H extends EditorCustomHandlers = EditorCustomHandle
67
78
  handlers: EditorHandlers<H>;
68
79
  }): any;
69
80
  }
70
- declare const __VLS_export: <T extends Content, H extends EditorCustomHandlers>(__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<{
71
- props: __VLS_PrettifyLocal<EditorProps<T, H> & __VLS_EmitsToProps<__VLS_NormalizeEmits<(evt: "update:modelValue", value: T) => void>>> & import("vue").PublicProps & (typeof globalThis extends {
81
+ declare const _default: typeof __VLS_export;
82
+ export default _default;
83
+ declare const __VLS_export: <T extends Content, H extends EditorCustomHandlers>(__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<{
84
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<EditorProps<T, H> & {
85
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
86
+ }> & (typeof globalThis extends {
72
87
  __VLS_PROPS_FALLBACK: infer P;
73
88
  } ? P : {});
74
89
  expose: (exposed: import("vue").ShallowUnwrapRef<{
@@ -80,8 +95,8 @@ declare const __VLS_export: <T extends Content, H extends EditorCustomHandlers>(
80
95
  }>) => import("vue").VNode & {
81
96
  __ctx?: Awaited<typeof __VLS_setup>;
82
97
  };
83
- declare const _default: typeof __VLS_export;
84
- export default _default;
85
- type __VLS_PrettifyLocal<T> = {
98
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
99
+ [K in keyof T]: T[K];
100
+ } : {
86
101
  [K in keyof T as K]: T[K];
87
- } & {};
102
+ }) & {};
@@ -7,6 +7,7 @@ import { computed, provide, useAttrs, watch } from "vue";
7
7
  import { defu } from "defu";
8
8
  import { Primitive, useForwardProps } from "reka-ui";
9
9
  import { mergeAttributes } from "@tiptap/core";
10
+ import Code from "@tiptap/extension-code";
10
11
  import HorizontalRule from "@tiptap/extension-horizontal-rule";
11
12
  import Image from "@tiptap/extension-image";
12
13
  import Mention from "@tiptap/extension-mention";
@@ -16,6 +17,7 @@ import StarterKit from "@tiptap/starter-kit";
16
17
  import { useEditor, EditorContent } from "@tiptap/vue-3";
17
18
  import { reactiveOmit } from "@vueuse/core";
18
19
  import { useAppConfig } from "#imports";
20
+ import { useComponentUI } from "../composables/useComponentUI";
19
21
  import { createHandlers } from "../utils/editor";
20
22
  import { tv } from "../utils/tv";
21
23
  defineOptions({ inheritAttrs: false });
@@ -26,11 +28,11 @@ const props = defineProps({
26
28
  starterKit: { type: Object, required: false },
27
29
  placeholder: { type: [String, Object], required: false },
28
30
  markdown: { type: Object, required: false },
29
- image: { type: Object, required: false },
30
- mention: { type: Object, required: false },
31
+ image: { type: [Boolean, Object], required: false, default: true },
32
+ mention: { type: [Boolean, Object], required: false, default: true },
31
33
  handlers: { type: null, required: false },
32
34
  class: { type: null, required: false },
33
- b24ui: { type: null, required: false },
35
+ b24ui: { type: Object, required: false },
34
36
  extensions: { type: Array, required: false },
35
37
  injectCSS: { type: Boolean, required: false },
36
38
  injectNonce: { type: null, required: false },
@@ -58,13 +60,17 @@ const props = defineProps({
58
60
  onDestroy: { type: Function, required: false },
59
61
  onPaste: { type: Function, required: false },
60
62
  onDrop: { type: Function, required: false },
61
- onDelete: { type: Function, required: false }
63
+ onDelete: { type: Function, required: false },
64
+ enableExtensionDispatchTransaction: { type: Boolean, required: false }
62
65
  });
63
66
  const emits = defineEmits(["update:modelValue"]);
64
67
  defineSlots();
65
68
  const attrs = useAttrs();
66
69
  const appConfig = useAppConfig();
67
- const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.editor || {} })());
70
+ const uiProp = useComponentUI("editor", props);
71
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.editor || {} })({
72
+ placeholderMode: typeof props.placeholder === "object" ? props.placeholder.mode : void 0
73
+ }));
68
74
  const rootProps = useForwardProps(reactiveOmit(props, "starterKit", "extensions", "editorProps", "contentType", "class", "placeholder", "markdown", "image", "mention", "handlers"));
69
75
  const editorProps = computed(() => defu(props.editorProps, {
70
76
  attributes: {
@@ -72,15 +78,13 @@ const editorProps = computed(() => defu(props.editorProps, {
72
78
  autocorrect: "off",
73
79
  autocapitalize: "off",
74
80
  ...attrs,
75
- class: b24ui.value.base({ class: props.b24ui?.base })
81
+ class: b24ui.value.base({ class: uiProp.value?.base })
76
82
  }
77
83
  }));
78
84
  const contentType = computed(() => props.contentType || (typeof props.modelValue === "string" ? "html" : "json"));
79
85
  const starterKit = computed(() => defu(props.starterKit, {
86
+ code: false,
80
87
  horizontalRule: false,
81
- headings: {
82
- levels: [1, 2, 3, 4]
83
- },
84
88
  dropcursor: {
85
89
  color: "var(--ui-color-accent-main-primary)",
86
90
  width: 2
@@ -89,24 +93,41 @@ const starterKit = computed(() => defu(props.starterKit, {
89
93
  openOnClick: false
90
94
  }
91
95
  }));
92
- const placeholder = computed(() => defu(typeof props.placeholder === "string" ? { placeholder: props.placeholder } : props.placeholder, {
93
- showOnlyWhenEditable: false,
94
- showOnlyCurrent: true
95
- }));
96
+ const placeholder = computed(() => {
97
+ const options = typeof props.placeholder === "string" ? { placeholder: props.placeholder } : props.placeholder;
98
+ const { mode, ...rest } = options || {};
99
+ return defu(rest, {
100
+ showOnlyWhenEditable: false,
101
+ showOnlyCurrent: true
102
+ });
103
+ });
96
104
  const markdown = computed(() => defu(props.markdown, {
97
105
  markedOptions: {
98
106
  gfm: true
99
107
  }
100
108
  }));
101
- const image = computed(() => defu(props.image, {}));
102
- const mention = computed(() => defu(props.mention, {
109
+ const image = computed(() => typeof props.image === "boolean" ? {} : props.image);
110
+ const mention = computed(() => defu(typeof props.mention === "boolean" ? {} : props.mention, {
103
111
  HTMLAttributes: {
104
112
  class: "mention"
113
+ },
114
+ renderText({ node }) {
115
+ return `${node.attrs.mentionSuggestionChar ?? "@"}${node.attrs.label ?? node.attrs.id}`;
116
+ },
117
+ renderHTML({ options, node }) {
118
+ return [
119
+ "span",
120
+ mergeAttributes({ "data-type": "mention" }, options.HTMLAttributes),
121
+ `${node.attrs.mentionSuggestionChar ?? "@"}${node.attrs.label ?? node.attrs.id}`
122
+ ];
105
123
  }
106
124
  }));
107
125
  const extensions = computed(() => [
108
126
  contentType.value === "markdown" && Markdown.configure(markdown.value),
109
127
  StarterKit.configure(starterKit.value),
128
+ Code.extend({
129
+ excludes: "code"
130
+ }),
110
131
  HorizontalRule.extend({
111
132
  renderHTML() {
112
133
  return [
@@ -116,9 +137,9 @@ const extensions = computed(() => [
116
137
  ];
117
138
  }
118
139
  }),
119
- Image.configure(image.value),
140
+ props.image !== false && Image.configure(image.value),
141
+ props.mention !== false && Mention.configure(mention.value),
120
142
  props.placeholder && Placeholder.configure(placeholder.value),
121
- Mention.configure(mention.value),
122
143
  ...props.extensions || []
123
144
  ].filter((extension) => !!extension));
124
145
  const editor = useEditor({
@@ -127,6 +148,11 @@ const editor = useEditor({
127
148
  contentType: contentType.value,
128
149
  extensions: extensions.value,
129
150
  editorProps: editorProps.value,
151
+ onCreate: ({ editor: editor2 }) => {
152
+ if (props.placeholder) {
153
+ editor2.view.dispatch(editor2.state.tr);
154
+ }
155
+ },
130
156
  onUpdate: ({ editor: editor2 }) => {
131
157
  let value;
132
158
  try {
@@ -152,7 +178,7 @@ watch(() => props.modelValue, (newVal) => {
152
178
  if (currentContent !== newContent) {
153
179
  const currentSelection = editor.value.state.selection;
154
180
  const currentPos = currentSelection.from;
155
- editor.value.commands.setContent(newVal);
181
+ editor.value.commands.setContent(newVal, { contentType: contentType.value });
156
182
  const newDoc = editor.value.state.doc;
157
183
  if (currentPos <= newDoc.content.size) {
158
184
  editor.value.commands.setTextSelection(currentPos);
@@ -170,7 +196,7 @@ defineExpose({
170
196
  </script>
171
197
 
172
198
  <template>
173
- <Primitive :as="as" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
199
+ <Primitive :as="as" data-slot="root" :class="b24ui.root({ class: [uiProp?.root, props.class] })">
174
200
  <template v-if="editor">
175
201
  <slot :editor="editor" :handlers="handlers" />
176
202
 
@@ -178,7 +204,7 @@ defineExpose({
178
204
  role="presentation"
179
205
  :editor="editor"
180
206
  data-slot="content"
181
- :class="b24ui.content({ class: props.b24ui?.content })"
207
+ :class="b24ui.content({ class: uiProp?.content })"
182
208
  />
183
209
  </template>
184
210
  </Primitive>
@@ -24,32 +24,43 @@ export interface EditorProps<T extends Content = Content, H extends EditorCustom
24
24
  contentType?: EditorContentType;
25
25
  /**
26
26
  * The starter kit options to configure the editor.
27
- * @defaultValue { headings: { levels: [1, 2, 3, 4] }, link: { openOnClick: false }, dropcursor: { color: 'var(--ui-color-accent-main-primary)', width: 2 } }
27
+ * @defaultValue { horizontalRule: false, link: { openOnClick: false }, dropcursor: { color: 'var(--ui-primary)', width: 2 } }
28
28
  * @see https://tiptap.dev/docs/editor/extensions/functionality/starterkit
29
29
  */
30
30
  starterKit?: Partial<StarterKitOptions>;
31
31
  /**
32
- * The placeholder text to show in empty paragraphs.
33
- * `{ showOnlyWhenEditable: false, showOnlyCurrent: true }`{lang="ts-type"}
34
- * Can be a string or PlaceholderOptions from `@tiptap/extension-placeholder`.
32
+ * The placeholder text to show in empty paragraphs. Can be a string or PlaceholderOptions from `@tiptap/extension-placeholder`.
33
+ * @defaultValue { showOnlyWhenEditable: false, showOnlyCurrent: true, mode: 'everyLine' }
35
34
  * @see https://tiptap.dev/docs/editor/extensions/functionality/placeholder
36
35
  */
37
- placeholder?: string | Partial<PlaceholderOptions>;
36
+ placeholder?: string | (Partial<PlaceholderOptions> & {
37
+ /**
38
+ * Control how placeholders are displayed in the editor.
39
+ * - `firstLine`: Display placeholder only on the first line when the editor is empty.
40
+ * - `everyLine`: Display placeholder on every empty line when focused.
41
+ * @defaultValue 'everyLine'
42
+ */
43
+ mode?: 'firstLine' | 'everyLine';
44
+ });
38
45
  /**
39
46
  * The markdown extension options to configure markdown parsing and serialization.
47
+ * @defaultValue { markedOptions: { gfm: true } }
40
48
  * @see https://tiptap.dev/docs/editor/extensions/functionality/markdown
41
49
  */
42
50
  markdown?: Partial<MarkdownExtensionOptions>;
43
51
  /**
44
- * The image extension options to configure image handling.
52
+ * The image extension options to configure image handling. Set to `false` to disable the extension.
53
+ * @defaultValue {}
45
54
  * @see https://tiptap.dev/docs/editor/extensions/nodes/image
46
55
  */
47
- image?: Partial<ImageOptions>;
56
+ image?: boolean | Partial<ImageOptions>;
48
57
  /**
49
- * The mention extension options to configure mention handling.
58
+ * The mention extension options to configure mention handling. Set to `false` to disable the extension.
59
+ * The `suggestion` and `suggestions` options are omitted as they are managed by the `EditorMentionMenu` component.
60
+ * @defaultValue { HTMLAttributes: { class: 'mention' } }
50
61
  * @see https://tiptap.dev/docs/editor/extensions/nodes/mention
51
62
  */
52
- mention?: Partial<MentionOptions>;
63
+ mention?: boolean | Partial<Omit<MentionOptions, 'suggestion' | 'suggestions'>>;
53
64
  /**
54
65
  * Custom item handlers to override or extend the default handlers.
55
66
  * These handlers are provided to all child components (toolbar, suggestion menu, etc.).
@@ -67,8 +78,12 @@ export interface EditorSlots<H extends EditorCustomHandlers = EditorCustomHandle
67
78
  handlers: EditorHandlers<H>;
68
79
  }): any;
69
80
  }
70
- declare const __VLS_export: <T extends Content, H extends EditorCustomHandlers>(__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<{
71
- props: __VLS_PrettifyLocal<EditorProps<T, H> & __VLS_EmitsToProps<__VLS_NormalizeEmits<(evt: "update:modelValue", value: T) => void>>> & import("vue").PublicProps & (typeof globalThis extends {
81
+ declare const _default: typeof __VLS_export;
82
+ export default _default;
83
+ declare const __VLS_export: <T extends Content, H extends EditorCustomHandlers>(__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<{
84
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<EditorProps<T, H> & {
85
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
86
+ }> & (typeof globalThis extends {
72
87
  __VLS_PROPS_FALLBACK: infer P;
73
88
  } ? P : {});
74
89
  expose: (exposed: import("vue").ShallowUnwrapRef<{
@@ -80,8 +95,8 @@ declare const __VLS_export: <T extends Content, H extends EditorCustomHandlers>(
80
95
  }>) => import("vue").VNode & {
81
96
  __ctx?: Awaited<typeof __VLS_setup>;
82
97
  };
83
- declare const _default: typeof __VLS_export;
84
- export default _default;
85
- type __VLS_PrettifyLocal<T> = {
98
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
99
+ [K in keyof T]: T[K];
100
+ } : {
86
101
  [K in keyof T as K]: T[K];
87
- } & {};
102
+ }) & {};
@@ -39,20 +39,35 @@ export interface EditorDragHandleEmits {
39
39
  node: JSONContent;
40
40
  pos: number;
41
41
  }];
42
+ hover: [{
43
+ node: JSONContent;
44
+ pos: number;
45
+ }];
42
46
  }
47
+ declare const _default: typeof __VLS_export;
48
+ export default _default;
43
49
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<EditorDragHandleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
50
  nodeChange: (args_0: {
45
51
  node: JSONContent;
46
52
  pos: number;
47
53
  }) => any;
54
+ hover: (args_0: {
55
+ node: JSONContent;
56
+ pos: number;
57
+ }) => any;
48
58
  }, string, import("vue").PublicProps, Readonly<EditorDragHandleProps> & Readonly<{
49
59
  onNodeChange?: ((args_0: {
50
60
  node: JSONContent;
51
61
  pos: number;
52
62
  }) => any) | undefined;
53
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, EditorDragHandleSlots>;
54
- declare const _default: typeof __VLS_export;
55
- export default _default;
63
+ onHover?: ((args_0: {
64
+ node: JSONContent;
65
+ pos: number;
66
+ }) => any) | undefined;
67
+ }>, {
68
+ size: "lg" | "sm" | "md" | "xl" | "xs" | "xss";
69
+ color: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-alert" | "air-secondary-accent" | "air-secondary-accent-1" | "air-secondary-accent-2" | "air-tertiary" | "default" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-selection" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-boost";
70
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, EditorDragHandleSlots>;
56
71
  type __VLS_WithSlots<T, S> = T & {
57
72
  new (): {
58
73
  $slots: S;
@@ -9,6 +9,7 @@ import { useForwardProps } from "reka-ui";
9
9
  import { reactiveOmit, reactivePick } from "@vueuse/core";
10
10
  import { defu } from "defu";
11
11
  import { useAppConfig } from "#imports";
12
+ import { useComponentUI } from "../composables/useComponentUI";
12
13
  import { buildFloatingUIMiddleware } from "../utils/editor";
13
14
  import { transformUI } from "../utils";
14
15
  import { tv } from "../utils/tv";
@@ -20,11 +21,13 @@ const props = defineProps({
20
21
  color: { type: null, required: false, default: "air-tertiary-no-accent" },
21
22
  options: { type: Object, required: false },
22
23
  editor: { type: Object, required: true },
23
- b24ui: { type: void 0, required: false },
24
+ b24ui: { type: Object, required: false },
24
25
  pluginKey: { type: [Object, String], required: false },
26
+ nestedOptions: { type: Object, required: false },
25
27
  onElementDragStart: { type: Function, required: false },
26
28
  onElementDragEnd: { type: Function, required: false },
27
29
  getReferencedVirtualElement: { type: Function, required: false },
30
+ nested: { type: [Boolean, Object], required: false },
28
31
  label: { type: String, required: false },
29
32
  activeColor: { type: null, required: false },
30
33
  depth: { type: null, required: false },
@@ -49,10 +52,11 @@ const props = defineProps({
49
52
  viewTransition: { type: Boolean, required: false }
50
53
  });
51
54
  defineSlots();
52
- const emit = defineEmits(["nodeChange"]);
53
- const dragHandleProps = useForwardProps(reactivePick(props, "pluginKey", "onElementDragEnd", "onElementDragStart", "getReferencedVirtualElement"));
54
- const buttonProps = useForwardProps(reactiveOmit(props, "icon", "options", "editor", "pluginKey", "onElementDragEnd", "onElementDragStart", "getReferencedVirtualElement", "class", "b24ui"));
55
+ const emit = defineEmits(["nodeChange", "hover"]);
56
+ const dragHandleProps = useForwardProps(reactivePick(props, "pluginKey", "nested", "nestedOptions", "onElementDragEnd", "onElementDragStart", "getReferencedVirtualElement"));
57
+ const buttonProps = useForwardProps(reactiveOmit(props, "icon", "options", "editor", "pluginKey", "nested", "nestedOptions", "onElementDragEnd", "onElementDragStart", "getReferencedVirtualElement", "class", "b24ui"));
55
58
  const appConfig = useAppConfig();
59
+ const uiProp = useComponentUI("editorDragHandle", props);
56
60
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.editorDragHandle || {} })());
57
61
  const floatingUIOptions = computed(() => defu(props.options, {
58
62
  strategy: "absolute",
@@ -87,11 +91,16 @@ const computePositionConfig = computed(() => ({
87
91
  const currentNodePos = ref();
88
92
  function onNodeChange({ pos }) {
89
93
  currentNodePos.value = pos;
94
+ if (pos == null || pos < 0) return;
95
+ const node = props.editor.state.doc.nodeAt(pos);
96
+ if (node) {
97
+ emit("hover", { node: node.toJSON(), pos });
98
+ }
90
99
  }
91
100
  function onClick() {
92
101
  if (!props.editor) return;
93
102
  const pos = currentNodePos.value;
94
- if (pos == null) return;
103
+ if (pos == null || pos < 0) return;
95
104
  const node = props.editor.state.doc.nodeAt(pos);
96
105
  if (node) {
97
106
  const selectedNode = { node: node.toJSON(), pos };
@@ -109,7 +118,7 @@ function onClick() {
109
118
  :editor="editor"
110
119
  :on-node-change="onNodeChange"
111
120
  data-slot="root"
112
- :class="b24ui.root({ class: [props.b24ui?.root, props.class] })"
121
+ :class="b24ui.root({ class: [uiProp?.root, props.class] })"
113
122
  @click="onClick"
114
123
  >
115
124
  <slot :b24ui="b24ui" :on-click="onClick">
@@ -120,8 +129,8 @@ function onClick() {
120
129
  ...$attrs
121
130
  }"
122
131
  data-slot="handle"
123
- :class="b24ui.handle({ class: [props.b24ui?.handle, props.class] })"
124
- :b24ui="transformUI(b24ui, props.b24ui)"
132
+ :class="b24ui.handle({ class: [uiProp?.handle, props.class] })"
133
+ :b24ui="transformUI(b24ui, uiProp)"
125
134
  />
126
135
  </slot>
127
136
  </DragHandle>
@@ -39,20 +39,35 @@ export interface EditorDragHandleEmits {
39
39
  node: JSONContent;
40
40
  pos: number;
41
41
  }];
42
+ hover: [{
43
+ node: JSONContent;
44
+ pos: number;
45
+ }];
42
46
  }
47
+ declare const _default: typeof __VLS_export;
48
+ export default _default;
43
49
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<EditorDragHandleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
50
  nodeChange: (args_0: {
45
51
  node: JSONContent;
46
52
  pos: number;
47
53
  }) => any;
54
+ hover: (args_0: {
55
+ node: JSONContent;
56
+ pos: number;
57
+ }) => any;
48
58
  }, string, import("vue").PublicProps, Readonly<EditorDragHandleProps> & Readonly<{
49
59
  onNodeChange?: ((args_0: {
50
60
  node: JSONContent;
51
61
  pos: number;
52
62
  }) => any) | undefined;
53
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, EditorDragHandleSlots>;
54
- declare const _default: typeof __VLS_export;
55
- export default _default;
63
+ onHover?: ((args_0: {
64
+ node: JSONContent;
65
+ pos: number;
66
+ }) => any) | undefined;
67
+ }>, {
68
+ size: "lg" | "sm" | "md" | "xl" | "xs" | "xss";
69
+ color: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-alert" | "air-secondary-accent" | "air-secondary-accent-1" | "air-secondary-accent-2" | "air-tertiary" | "default" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-selection" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-boost";
70
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, EditorDragHandleSlots>;
56
71
  type __VLS_WithSlots<T, S> = T & {
57
72
  new (): {
58
73
  $slots: S;
@@ -13,12 +13,18 @@ export interface EditorEmojiMenuItem {
13
13
  [key: string]: any;
14
14
  }
15
15
  export interface EditorEmojiMenuProps<T extends EditorEmojiMenuItem = EditorEmojiMenuItem> extends Partial<Pick<EditorMenuOptions<T>, 'editor' | 'char' | 'pluginKey' | 'filterFields' | 'limit' | 'options' | 'appendTo'>> {
16
+ /**
17
+ * @defaultValue 'md'
18
+ */
19
+ size?: EditorEmojiMenu['variants']['size'];
16
20
  items?: T[] | T[][];
17
21
  class?: any;
18
22
  b24ui?: EditorEmojiMenu['slots'];
19
23
  }
20
- declare const __VLS_export: <T extends EditorEmojiMenuItem>(__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<{
21
- props: __VLS_PrettifyLocal<EditorEmojiMenuProps<T>> & import("vue").PublicProps & (typeof globalThis extends {
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ declare const __VLS_export: <T extends EditorEmojiMenuItem>(__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<{
27
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<EditorEmojiMenuProps<T>> & (typeof globalThis extends {
22
28
  __VLS_PROPS_FALLBACK: infer P;
23
29
  } ? P : {});
24
30
  expose: (exposed: {}) => void;
@@ -28,8 +34,8 @@ declare const __VLS_export: <T extends EditorEmojiMenuItem>(__VLS_props: NonNull
28
34
  }>) => import("vue").VNode & {
29
35
  __ctx?: Awaited<typeof __VLS_setup>;
30
36
  };
31
- declare const _default: typeof __VLS_export;
32
- export default _default;
33
- type __VLS_PrettifyLocal<T> = {
37
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
38
+ [K in keyof T]: T[K];
39
+ } : {
34
40
  [K in keyof T as K]: T[K];
35
- } & {};
41
+ }) & {};