@nuxt/ui 4.3.0 → 4.5.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 (574) hide show
  1. package/README.md +8 -5
  2. package/cli/package.json +1 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +5 -5
  5. package/dist/runtime/components/Accordion.d.vue.ts +15 -6
  6. package/dist/runtime/components/Accordion.vue +14 -11
  7. package/dist/runtime/components/Accordion.vue.d.ts +15 -6
  8. package/dist/runtime/components/Alert.d.vue.ts +5 -3
  9. package/dist/runtime/components/Alert.vue +12 -10
  10. package/dist/runtime/components/Alert.vue.d.ts +5 -3
  11. package/dist/runtime/components/App.d.vue.ts +8 -6
  12. package/dist/runtime/components/App.vue.d.ts +8 -6
  13. package/dist/runtime/components/AuthForm.d.vue.ts +87 -7
  14. package/dist/runtime/components/AuthForm.vue +19 -17
  15. package/dist/runtime/components/AuthForm.vue.d.ts +87 -7
  16. package/dist/runtime/components/Avatar.d.vue.ts +2 -2
  17. package/dist/runtime/components/Avatar.vue +7 -5
  18. package/dist/runtime/components/Avatar.vue.d.ts +2 -2
  19. package/dist/runtime/components/AvatarGroup.d.vue.ts +1 -1
  20. package/dist/runtime/components/AvatarGroup.vue +6 -4
  21. package/dist/runtime/components/AvatarGroup.vue.d.ts +1 -1
  22. package/dist/runtime/components/Badge.d.vue.ts +3 -1
  23. package/dist/runtime/components/Badge.vue +8 -6
  24. package/dist/runtime/components/Badge.vue.d.ts +3 -1
  25. package/dist/runtime/components/Banner.d.vue.ts +3 -4
  26. package/dist/runtime/components/Banner.vue +60 -32
  27. package/dist/runtime/components/Banner.vue.d.ts +3 -4
  28. package/dist/runtime/components/BlogPost.d.vue.ts +6 -2
  29. package/dist/runtime/components/BlogPost.vue +16 -14
  30. package/dist/runtime/components/BlogPost.vue.d.ts +6 -2
  31. package/dist/runtime/components/BlogPosts.d.vue.ts +11 -6
  32. package/dist/runtime/components/BlogPosts.vue +5 -2
  33. package/dist/runtime/components/BlogPosts.vue.d.ts +11 -6
  34. package/dist/runtime/components/Breadcrumb.d.vue.ts +8 -6
  35. package/dist/runtime/components/Breadcrumb.vue +12 -10
  36. package/dist/runtime/components/Breadcrumb.vue.d.ts +8 -6
  37. package/dist/runtime/components/Button.d.vue.ts +1 -1
  38. package/dist/runtime/components/Button.vue +8 -6
  39. package/dist/runtime/components/Button.vue.d.ts +1 -1
  40. package/dist/runtime/components/Calendar.d.vue.ts +14 -6
  41. package/dist/runtime/components/Calendar.vue +27 -14
  42. package/dist/runtime/components/Calendar.vue.d.ts +14 -6
  43. package/dist/runtime/components/Card.d.vue.ts +1 -1
  44. package/dist/runtime/components/Card.vue +7 -5
  45. package/dist/runtime/components/Card.vue.d.ts +1 -1
  46. package/dist/runtime/components/Carousel.d.vue.ts +10 -6
  47. package/dist/runtime/components/Carousel.vue +13 -11
  48. package/dist/runtime/components/Carousel.vue.d.ts +10 -6
  49. package/dist/runtime/components/ChangelogVersion.d.vue.ts +6 -2
  50. package/dist/runtime/components/ChangelogVersion.vue +19 -17
  51. package/dist/runtime/components/ChangelogVersion.vue.d.ts +6 -2
  52. package/dist/runtime/components/ChangelogVersions.d.vue.ts +12 -8
  53. package/dist/runtime/components/ChangelogVersions.vue +10 -7
  54. package/dist/runtime/components/ChangelogVersions.vue.d.ts +12 -8
  55. package/dist/runtime/components/ChatMessage.d.vue.ts +3 -1
  56. package/dist/runtime/components/ChatMessage.vue +10 -8
  57. package/dist/runtime/components/ChatMessage.vue.d.ts +3 -1
  58. package/dist/runtime/components/ChatMessages.d.vue.ts +6 -1
  59. package/dist/runtime/components/ChatMessages.vue +16 -11
  60. package/dist/runtime/components/ChatMessages.vue.d.ts +6 -1
  61. package/dist/runtime/components/ChatPalette.d.vue.ts +1 -1
  62. package/dist/runtime/components/ChatPalette.vue +6 -4
  63. package/dist/runtime/components/ChatPalette.vue.d.ts +1 -1
  64. package/dist/runtime/components/ChatPrompt.d.vue.ts +9 -4
  65. package/dist/runtime/components/ChatPrompt.vue +9 -6
  66. package/dist/runtime/components/ChatPrompt.vue.d.ts +9 -4
  67. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +11 -3
  68. package/dist/runtime/components/ChatPromptSubmit.vue +5 -3
  69. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +11 -3
  70. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  71. package/dist/runtime/components/Checkbox.vue +19 -12
  72. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  73. package/dist/runtime/components/CheckboxGroup.d.vue.ts +16 -11
  74. package/dist/runtime/components/CheckboxGroup.vue +9 -7
  75. package/dist/runtime/components/CheckboxGroup.vue.d.ts +16 -11
  76. package/dist/runtime/components/Chip.d.vue.ts +6 -3
  77. package/dist/runtime/components/Chip.vue +5 -3
  78. package/dist/runtime/components/Chip.vue.d.ts +6 -3
  79. package/dist/runtime/components/Collapsible.d.vue.ts +5 -3
  80. package/dist/runtime/components/Collapsible.vue +5 -3
  81. package/dist/runtime/components/Collapsible.vue.d.ts +5 -3
  82. package/dist/runtime/components/ColorPicker.d.vue.ts +7 -3
  83. package/dist/runtime/components/ColorPicker.vue +10 -8
  84. package/dist/runtime/components/ColorPicker.vue.d.ts +7 -3
  85. package/dist/runtime/components/CommandPalette.d.vue.ts +38 -15
  86. package/dist/runtime/components/CommandPalette.vue +58 -48
  87. package/dist/runtime/components/CommandPalette.vue.d.ts +38 -15
  88. package/dist/runtime/components/Container.d.vue.ts +4 -1
  89. package/dist/runtime/components/Container.vue +5 -2
  90. package/dist/runtime/components/Container.vue.d.ts +4 -1
  91. package/dist/runtime/components/ContextMenu.d.vue.ts +10 -6
  92. package/dist/runtime/components/ContextMenu.vue +5 -3
  93. package/dist/runtime/components/ContextMenu.vue.d.ts +10 -6
  94. package/dist/runtime/components/ContextMenuContent.d.vue.ts +14 -6
  95. package/dist/runtime/components/ContextMenuContent.vue +11 -11
  96. package/dist/runtime/components/ContextMenuContent.vue.d.ts +14 -6
  97. package/dist/runtime/components/DashboardGroup.d.vue.ts +9 -1
  98. package/dist/runtime/components/DashboardGroup.vue +4 -1
  99. package/dist/runtime/components/DashboardGroup.vue.d.ts +9 -1
  100. package/dist/runtime/components/DashboardNavbar.d.vue.ts +4 -1
  101. package/dist/runtime/components/DashboardNavbar.vue +10 -8
  102. package/dist/runtime/components/DashboardNavbar.vue.d.ts +4 -1
  103. package/dist/runtime/components/DashboardPanel.d.vue.ts +4 -1
  104. package/dist/runtime/components/DashboardPanel.vue +6 -4
  105. package/dist/runtime/components/DashboardPanel.vue.d.ts +4 -1
  106. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +4 -1
  107. package/dist/runtime/components/DashboardResizeHandle.vue +5 -2
  108. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +4 -1
  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 +6 -4
  114. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +6 -1
  115. package/dist/runtime/components/DashboardSidebar.d.vue.ts +18 -8
  116. package/dist/runtime/components/DashboardSidebar.vue +16 -12
  117. package/dist/runtime/components/DashboardSidebar.vue.d.ts +18 -8
  118. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +8 -1
  119. package/dist/runtime/components/DashboardSidebarCollapse.vue +4 -2
  120. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +8 -1
  121. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +8 -1
  122. package/dist/runtime/components/DashboardSidebarToggle.vue +4 -2
  123. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +8 -1
  124. package/dist/runtime/components/DashboardToolbar.d.vue.ts +1 -1
  125. package/dist/runtime/components/DashboardToolbar.vue +6 -4
  126. package/dist/runtime/components/DashboardToolbar.vue.d.ts +1 -1
  127. package/dist/runtime/components/Drawer.d.vue.ts +10 -3
  128. package/dist/runtime/components/Drawer.vue +16 -11
  129. package/dist/runtime/components/Drawer.vue.d.ts +10 -3
  130. package/dist/runtime/components/DropdownMenu.d.vue.ts +10 -6
  131. package/dist/runtime/components/DropdownMenu.vue +6 -4
  132. package/dist/runtime/components/DropdownMenu.vue.d.ts +10 -6
  133. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +14 -6
  134. package/dist/runtime/components/DropdownMenuContent.vue +11 -11
  135. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +14 -6
  136. package/dist/runtime/components/Editor.d.vue.ts +30 -15
  137. package/dist/runtime/components/Editor.vue +46 -20
  138. package/dist/runtime/components/Editor.vue.d.ts +30 -15
  139. package/dist/runtime/components/EditorDragHandle.d.vue.ts +19 -3
  140. package/dist/runtime/components/EditorDragHandle.vue +17 -8
  141. package/dist/runtime/components/EditorDragHandle.vue.d.ts +19 -3
  142. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +12 -6
  143. package/dist/runtime/components/EditorEmojiMenu.vue +5 -2
  144. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +12 -6
  145. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +18 -8
  146. package/dist/runtime/components/EditorMentionMenu.vue +14 -4
  147. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +18 -8
  148. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +12 -6
  149. package/dist/runtime/components/EditorSuggestionMenu.vue +5 -2
  150. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +12 -6
  151. package/dist/runtime/components/EditorToolbar.d.vue.ts +8 -6
  152. package/dist/runtime/components/EditorToolbar.vue +16 -13
  153. package/dist/runtime/components/EditorToolbar.vue.d.ts +8 -6
  154. package/dist/runtime/components/Empty.d.vue.ts +1 -1
  155. package/dist/runtime/components/Empty.vue +11 -9
  156. package/dist/runtime/components/Empty.vue.d.ts +1 -1
  157. package/dist/runtime/components/Error.d.vue.ts +6 -2
  158. package/dist/runtime/components/Error.vue +9 -7
  159. package/dist/runtime/components/Error.vue.d.ts +6 -2
  160. package/dist/runtime/components/FieldGroup.d.vue.ts +6 -2
  161. package/dist/runtime/components/FieldGroup.vue +4 -2
  162. package/dist/runtime/components/FieldGroup.vue.d.ts +6 -2
  163. package/dist/runtime/components/FileUpload.d.vue.ts +13 -8
  164. package/dist/runtime/components/FileUpload.vue +19 -17
  165. package/dist/runtime/components/FileUpload.vue.d.ts +13 -8
  166. package/dist/runtime/components/Footer.d.vue.ts +3 -1
  167. package/dist/runtime/components/Footer.vue +10 -8
  168. package/dist/runtime/components/Footer.vue.d.ts +3 -1
  169. package/dist/runtime/components/FooterColumns.d.vue.ts +8 -6
  170. package/dist/runtime/components/FooterColumns.vue +14 -12
  171. package/dist/runtime/components/FooterColumns.vue.d.ts +8 -6
  172. package/dist/runtime/components/Form.d.vue.ts +14 -6
  173. package/dist/runtime/components/Form.vue +10 -2
  174. package/dist/runtime/components/Form.vue.d.ts +14 -6
  175. package/dist/runtime/components/FormField.d.vue.ts +3 -1
  176. package/dist/runtime/components/FormField.vue +12 -10
  177. package/dist/runtime/components/FormField.vue.d.ts +3 -1
  178. package/dist/runtime/components/Header.d.vue.ts +17 -8
  179. package/dist/runtime/components/Header.vue +16 -12
  180. package/dist/runtime/components/Header.vue.d.ts +17 -8
  181. package/dist/runtime/components/Icon.d.vue.ts +1 -1
  182. package/dist/runtime/components/Icon.vue.d.ts +1 -1
  183. package/dist/runtime/components/Input.d.vue.ts +63 -15
  184. package/dist/runtime/components/Input.vue +16 -12
  185. package/dist/runtime/components/Input.vue.d.ts +63 -15
  186. package/dist/runtime/components/InputDate.d.vue.ts +16 -6
  187. package/dist/runtime/components/InputDate.vue +18 -11
  188. package/dist/runtime/components/InputDate.vue.d.ts +16 -6
  189. package/dist/runtime/components/InputMenu.d.vue.ts +185 -30
  190. package/dist/runtime/components/InputMenu.vue +87 -62
  191. package/dist/runtime/components/InputMenu.vue.d.ts +185 -30
  192. package/dist/runtime/components/InputNumber.d.vue.ts +26 -13
  193. package/dist/runtime/components/InputNumber.vue +24 -15
  194. package/dist/runtime/components/InputNumber.vue.d.ts +26 -13
  195. package/dist/runtime/components/InputTags.d.vue.ts +19 -7
  196. package/dist/runtime/components/InputTags.vue +16 -12
  197. package/dist/runtime/components/InputTags.vue.d.ts +19 -7
  198. package/dist/runtime/components/InputTime.d.vue.ts +11 -7
  199. package/dist/runtime/components/InputTime.vue +18 -10
  200. package/dist/runtime/components/InputTime.vue.d.ts +11 -7
  201. package/dist/runtime/components/Kbd.d.vue.ts +6 -1
  202. package/dist/runtime/components/Kbd.vue +5 -2
  203. package/dist/runtime/components/Kbd.vue.d.ts +6 -1
  204. package/dist/runtime/components/Link.d.vue.ts +6 -1
  205. package/dist/runtime/components/Link.vue +7 -7
  206. package/dist/runtime/components/Link.vue.d.ts +6 -1
  207. package/dist/runtime/components/LinkBase.d.vue.ts +6 -3
  208. package/dist/runtime/components/LinkBase.vue.d.ts +6 -3
  209. package/dist/runtime/components/Main.d.vue.ts +7 -2
  210. package/dist/runtime/components/Main.vue +6 -3
  211. package/dist/runtime/components/Main.vue.d.ts +7 -2
  212. package/dist/runtime/components/Marquee.d.vue.ts +5 -1
  213. package/dist/runtime/components/Marquee.vue +5 -3
  214. package/dist/runtime/components/Marquee.vue.d.ts +5 -1
  215. package/dist/runtime/components/Modal.d.vue.ts +10 -3
  216. package/dist/runtime/components/Modal.vue +17 -24
  217. package/dist/runtime/components/Modal.vue.d.ts +10 -3
  218. package/dist/runtime/components/NavigationMenu.d.vue.ts +29 -13
  219. package/dist/runtime/components/NavigationMenu.vue +78 -53
  220. package/dist/runtime/components/NavigationMenu.vue.d.ts +29 -13
  221. package/dist/runtime/components/Page.d.vue.ts +1 -1
  222. package/dist/runtime/components/Page.vue +7 -5
  223. package/dist/runtime/components/Page.vue.d.ts +1 -1
  224. package/dist/runtime/components/PageAnchors.d.vue.ts +8 -6
  225. package/dist/runtime/components/PageAnchors.vue +11 -9
  226. package/dist/runtime/components/PageAnchors.vue.d.ts +8 -6
  227. package/dist/runtime/components/PageAside.d.vue.ts +3 -1
  228. package/dist/runtime/components/PageAside.vue +9 -7
  229. package/dist/runtime/components/PageAside.vue.d.ts +3 -1
  230. package/dist/runtime/components/PageBody.d.vue.ts +4 -1
  231. package/dist/runtime/components/PageBody.vue +5 -2
  232. package/dist/runtime/components/PageBody.vue.d.ts +4 -1
  233. package/dist/runtime/components/PageCTA.d.vue.ts +4 -1
  234. package/dist/runtime/components/PageCTA.vue +12 -10
  235. package/dist/runtime/components/PageCTA.vue.d.ts +4 -1
  236. package/dist/runtime/components/PageCard.d.vue.ts +3 -1
  237. package/dist/runtime/components/PageCard.vue +14 -12
  238. package/dist/runtime/components/PageCard.vue.d.ts +3 -1
  239. package/dist/runtime/components/PageColumns.d.vue.ts +4 -1
  240. package/dist/runtime/components/PageColumns.vue +5 -2
  241. package/dist/runtime/components/PageColumns.vue.d.ts +4 -1
  242. package/dist/runtime/components/PageFeature.d.vue.ts +3 -1
  243. package/dist/runtime/components/PageFeature.vue +9 -7
  244. package/dist/runtime/components/PageFeature.vue.d.ts +3 -1
  245. package/dist/runtime/components/PageGrid.d.vue.ts +4 -1
  246. package/dist/runtime/components/PageGrid.vue +5 -2
  247. package/dist/runtime/components/PageGrid.vue.d.ts +4 -1
  248. package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
  249. package/dist/runtime/components/PageHeader.vue +10 -8
  250. package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
  251. package/dist/runtime/components/PageHero.d.vue.ts +3 -1
  252. package/dist/runtime/components/PageHero.vue +13 -11
  253. package/dist/runtime/components/PageHero.vue.d.ts +3 -1
  254. package/dist/runtime/components/PageLinks.d.vue.ts +8 -6
  255. package/dist/runtime/components/PageLinks.vue +11 -9
  256. package/dist/runtime/components/PageLinks.vue.d.ts +8 -6
  257. package/dist/runtime/components/PageList.d.vue.ts +6 -1
  258. package/dist/runtime/components/PageList.vue +5 -2
  259. package/dist/runtime/components/PageList.vue.d.ts +6 -1
  260. package/dist/runtime/components/PageLogos.d.vue.ts +3 -1
  261. package/dist/runtime/components/PageLogos.vue +9 -7
  262. package/dist/runtime/components/PageLogos.vue.d.ts +3 -1
  263. package/dist/runtime/components/PageSection.d.vue.ts +4 -1
  264. package/dist/runtime/components/PageSection.vue +16 -14
  265. package/dist/runtime/components/PageSection.vue.d.ts +4 -1
  266. package/dist/runtime/components/Pagination.d.vue.ts +13 -3
  267. package/dist/runtime/components/Pagination.vue +11 -9
  268. package/dist/runtime/components/Pagination.vue.d.ts +13 -3
  269. package/dist/runtime/components/PinInput.d.vue.ts +15 -6
  270. package/dist/runtime/components/PinInput.vue +12 -5
  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/PricingPlan.d.vue.ts +3 -1
  276. package/dist/runtime/components/PricingPlan.vue +24 -22
  277. package/dist/runtime/components/PricingPlan.vue.d.ts +3 -1
  278. package/dist/runtime/components/PricingPlans.d.vue.ts +11 -6
  279. package/dist/runtime/components/PricingPlans.vue +5 -2
  280. package/dist/runtime/components/PricingPlans.vue.d.ts +11 -6
  281. package/dist/runtime/components/PricingTable.d.vue.ts +8 -6
  282. package/dist/runtime/components/PricingTable.vue +38 -36
  283. package/dist/runtime/components/PricingTable.vue.d.ts +8 -6
  284. package/dist/runtime/components/Progress.d.vue.ts +7 -3
  285. package/dist/runtime/components/Progress.vue +9 -7
  286. package/dist/runtime/components/Progress.vue.d.ts +7 -3
  287. package/dist/runtime/components/RadioGroup.d.vue.ts +13 -8
  288. package/dist/runtime/components/RadioGroup.vue +13 -11
  289. package/dist/runtime/components/RadioGroup.vue.d.ts +13 -8
  290. package/dist/runtime/components/ScrollArea.d.vue.ts +17 -6
  291. package/dist/runtime/components/ScrollArea.vue +35 -11
  292. package/dist/runtime/components/ScrollArea.vue.d.ts +17 -6
  293. package/dist/runtime/components/Select.d.vue.ts +76 -23
  294. package/dist/runtime/components/Select.vue +34 -30
  295. package/dist/runtime/components/Select.vue.d.ts +76 -23
  296. package/dist/runtime/components/SelectMenu.d.vue.ts +146 -35
  297. package/dist/runtime/components/SelectMenu.vue +89 -62
  298. package/dist/runtime/components/SelectMenu.vue.d.ts +146 -35
  299. package/dist/runtime/components/Separator.d.vue.ts +4 -2
  300. package/dist/runtime/components/Separator.vue +9 -7
  301. package/dist/runtime/components/Separator.vue.d.ts +4 -2
  302. package/dist/runtime/components/Skeleton.d.vue.ts +5 -2
  303. package/dist/runtime/components/Skeleton.vue +5 -2
  304. package/dist/runtime/components/Skeleton.vue.d.ts +5 -2
  305. package/dist/runtime/components/Slideover.d.vue.ts +11 -3
  306. package/dist/runtime/components/Slideover.vue +16 -11
  307. package/dist/runtime/components/Slideover.vue.d.ts +11 -3
  308. package/dist/runtime/components/Slider.d.vue.ts +14 -9
  309. package/dist/runtime/components/Slider.vue +8 -6
  310. package/dist/runtime/components/Slider.vue.d.ts +14 -9
  311. package/dist/runtime/components/Stepper.d.vue.ts +24 -10
  312. package/dist/runtime/components/Stepper.vue +31 -25
  313. package/dist/runtime/components/Stepper.vue.d.ts +24 -10
  314. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  315. package/dist/runtime/components/Switch.vue +20 -13
  316. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  317. package/dist/runtime/components/Table.d.vue.ts +25 -10
  318. package/dist/runtime/components/Table.vue +26 -24
  319. package/dist/runtime/components/Table.vue.d.ts +25 -10
  320. package/dist/runtime/components/Tabs.d.vue.ts +16 -7
  321. package/dist/runtime/components/Tabs.vue +21 -15
  322. package/dist/runtime/components/Tabs.vue.d.ts +16 -7
  323. package/dist/runtime/components/Textarea.d.vue.ts +63 -15
  324. package/dist/runtime/components/Textarea.vue +16 -12
  325. package/dist/runtime/components/Textarea.vue.d.ts +63 -15
  326. package/dist/runtime/components/Theme.d.vue.ts +17 -0
  327. package/dist/runtime/components/Theme.vue +17 -0
  328. package/dist/runtime/components/Theme.vue.d.ts +17 -0
  329. package/dist/runtime/components/Timeline.d.vue.ts +24 -10
  330. package/dist/runtime/components/Timeline.vue +35 -24
  331. package/dist/runtime/components/Timeline.vue.d.ts +24 -10
  332. package/dist/runtime/components/Toast.d.vue.ts +7 -3
  333. package/dist/runtime/components/Toast.vue +16 -16
  334. package/dist/runtime/components/Toast.vue.d.ts +7 -3
  335. package/dist/runtime/components/Toaster.d.vue.ts +7 -1
  336. package/dist/runtime/components/Toaster.vue +7 -4
  337. package/dist/runtime/components/Toaster.vue.d.ts +7 -1
  338. package/dist/runtime/components/Tooltip.d.vue.ts +5 -3
  339. package/dist/runtime/components/Tooltip.vue +8 -6
  340. package/dist/runtime/components/Tooltip.vue.d.ts +5 -3
  341. package/dist/runtime/components/Tree.d.vue.ts +13 -8
  342. package/dist/runtime/components/Tree.vue +13 -11
  343. package/dist/runtime/components/Tree.vue.d.ts +13 -8
  344. package/dist/runtime/components/User.d.vue.ts +3 -1
  345. package/dist/runtime/components/User.vue +9 -7
  346. package/dist/runtime/components/User.vue.d.ts +3 -1
  347. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  348. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +1 -1
  349. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  350. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +4 -1
  351. package/dist/runtime/components/color-mode/ColorModeButton.vue +5 -3
  352. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +4 -1
  353. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +1 -1
  354. package/dist/runtime/components/color-mode/ColorModeImage.vue +8 -3
  355. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +1 -1
  356. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +3 -1
  357. package/dist/runtime/components/color-mode/ColorModeSelect.vue +6 -2
  358. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +3 -1
  359. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  360. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +1 -1
  361. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  362. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +10 -6
  363. package/dist/runtime/components/content/ContentNavigation.vue +21 -19
  364. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +10 -6
  365. package/dist/runtime/components/content/ContentSearch.d.vue.ts +17 -9
  366. package/dist/runtime/components/content/ContentSearch.vue +9 -4
  367. package/dist/runtime/components/content/ContentSearch.vue.d.ts +17 -9
  368. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +6 -1
  369. package/dist/runtime/components/content/ContentSearchButton.vue +6 -4
  370. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +6 -1
  371. package/dist/runtime/components/content/ContentSurround.d.vue.ts +8 -6
  372. package/dist/runtime/components/content/ContentSurround.vue +10 -8
  373. package/dist/runtime/components/content/ContentSurround.vue.d.ts +8 -6
  374. package/dist/runtime/components/content/ContentToc.d.vue.ts +11 -6
  375. package/dist/runtime/components/content/ContentToc.vue +18 -16
  376. package/dist/runtime/components/content/ContentToc.vue.d.ts +11 -6
  377. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +7 -3
  378. package/dist/runtime/components/locale/LocaleSelect.vue +6 -2
  379. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +7 -3
  380. package/dist/runtime/components/prose/A.d.vue.ts +4 -1
  381. package/dist/runtime/components/prose/A.vue +7 -4
  382. package/dist/runtime/components/prose/A.vue.d.ts +4 -1
  383. package/dist/runtime/components/prose/Accordion.d.vue.ts +3 -1
  384. package/dist/runtime/components/prose/Accordion.vue +4 -2
  385. package/dist/runtime/components/prose/Accordion.vue.d.ts +3 -1
  386. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +4 -1
  387. package/dist/runtime/components/prose/AccordionItem.vue +5 -2
  388. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +4 -1
  389. package/dist/runtime/components/prose/Badge.d.vue.ts +4 -1
  390. package/dist/runtime/components/prose/Badge.vue +5 -2
  391. package/dist/runtime/components/prose/Badge.vue.d.ts +4 -1
  392. package/dist/runtime/components/prose/Blockquote.d.vue.ts +4 -1
  393. package/dist/runtime/components/prose/Blockquote.vue +5 -2
  394. package/dist/runtime/components/prose/Blockquote.vue.d.ts +4 -1
  395. package/dist/runtime/components/prose/Callout.d.vue.ts +1 -1
  396. package/dist/runtime/components/prose/Callout.vue +6 -4
  397. package/dist/runtime/components/prose/Callout.vue.d.ts +1 -1
  398. package/dist/runtime/components/prose/Card.d.vue.ts +1 -1
  399. package/dist/runtime/components/prose/Card.vue +8 -6
  400. package/dist/runtime/components/prose/Card.vue.d.ts +1 -1
  401. package/dist/runtime/components/prose/CardGroup.d.vue.ts +4 -1
  402. package/dist/runtime/components/prose/CardGroup.vue +5 -2
  403. package/dist/runtime/components/prose/CardGroup.vue.d.ts +4 -1
  404. package/dist/runtime/components/prose/Code.d.vue.ts +4 -1
  405. package/dist/runtime/components/prose/Code.vue +5 -2
  406. package/dist/runtime/components/prose/Code.vue.d.ts +4 -1
  407. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -2
  408. package/dist/runtime/components/prose/CodeCollapse.vue +7 -5
  409. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -2
  410. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +5 -3
  411. package/dist/runtime/components/prose/CodeGroup.vue +9 -7
  412. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +5 -3
  413. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  414. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  415. package/dist/runtime/components/prose/CodePreview.d.vue.ts +1 -1
  416. package/dist/runtime/components/prose/CodePreview.vue +6 -4
  417. package/dist/runtime/components/prose/CodePreview.vue.d.ts +1 -1
  418. package/dist/runtime/components/prose/CodeTree.d.vue.ts +2 -2
  419. package/dist/runtime/components/prose/CodeTree.vue +20 -15
  420. package/dist/runtime/components/prose/CodeTree.vue.d.ts +2 -2
  421. package/dist/runtime/components/prose/Collapsible.d.vue.ts +1 -1
  422. package/dist/runtime/components/prose/Collapsible.vue +7 -5
  423. package/dist/runtime/components/prose/Collapsible.vue.d.ts +1 -1
  424. package/dist/runtime/components/prose/Em.d.vue.ts +4 -1
  425. package/dist/runtime/components/prose/Em.vue +5 -2
  426. package/dist/runtime/components/prose/Em.vue.d.ts +4 -1
  427. package/dist/runtime/components/prose/Field.d.vue.ts +1 -1
  428. package/dist/runtime/components/prose/Field.vue +10 -8
  429. package/dist/runtime/components/prose/Field.vue.d.ts +1 -1
  430. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +4 -1
  431. package/dist/runtime/components/prose/FieldGroup.vue +5 -2
  432. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +4 -1
  433. package/dist/runtime/components/prose/H1.d.vue.ts +1 -1
  434. package/dist/runtime/components/prose/H1.vue +5 -3
  435. package/dist/runtime/components/prose/H1.vue.d.ts +1 -1
  436. package/dist/runtime/components/prose/H2.d.vue.ts +1 -1
  437. package/dist/runtime/components/prose/H2.vue +7 -5
  438. package/dist/runtime/components/prose/H2.vue.d.ts +1 -1
  439. package/dist/runtime/components/prose/H3.d.vue.ts +1 -1
  440. package/dist/runtime/components/prose/H3.vue +7 -5
  441. package/dist/runtime/components/prose/H3.vue.d.ts +1 -1
  442. package/dist/runtime/components/prose/H4.d.vue.ts +1 -1
  443. package/dist/runtime/components/prose/H4.vue +5 -3
  444. package/dist/runtime/components/prose/H4.vue.d.ts +1 -1
  445. package/dist/runtime/components/prose/Hr.d.vue.ts +4 -1
  446. package/dist/runtime/components/prose/Hr.vue +5 -2
  447. package/dist/runtime/components/prose/Hr.vue.d.ts +4 -1
  448. package/dist/runtime/components/prose/Icon.d.vue.ts +4 -1
  449. package/dist/runtime/components/prose/Icon.vue +5 -2
  450. package/dist/runtime/components/prose/Icon.vue.d.ts +4 -1
  451. package/dist/runtime/components/prose/Img.d.vue.ts +3 -1
  452. package/dist/runtime/components/prose/Img.vue +9 -15
  453. package/dist/runtime/components/prose/Img.vue.d.ts +3 -1
  454. package/dist/runtime/components/prose/Kbd.d.vue.ts +4 -1
  455. package/dist/runtime/components/prose/Kbd.vue +5 -2
  456. package/dist/runtime/components/prose/Kbd.vue.d.ts +4 -1
  457. package/dist/runtime/components/prose/Li.d.vue.ts +4 -1
  458. package/dist/runtime/components/prose/Li.vue +5 -2
  459. package/dist/runtime/components/prose/Li.vue.d.ts +4 -1
  460. package/dist/runtime/components/prose/Ol.d.vue.ts +4 -1
  461. package/dist/runtime/components/prose/Ol.vue +5 -2
  462. package/dist/runtime/components/prose/Ol.vue.d.ts +4 -1
  463. package/dist/runtime/components/prose/P.d.vue.ts +4 -1
  464. package/dist/runtime/components/prose/P.vue +5 -2
  465. package/dist/runtime/components/prose/P.vue.d.ts +4 -1
  466. package/dist/runtime/components/prose/Pre.d.vue.ts +1 -1
  467. package/dist/runtime/components/prose/Pre.vue +9 -7
  468. package/dist/runtime/components/prose/Pre.vue.d.ts +1 -1
  469. package/dist/runtime/components/prose/Steps.d.vue.ts +4 -1
  470. package/dist/runtime/components/prose/Steps.vue +5 -2
  471. package/dist/runtime/components/prose/Steps.vue.d.ts +4 -1
  472. package/dist/runtime/components/prose/Strong.d.vue.ts +4 -1
  473. package/dist/runtime/components/prose/Strong.vue +5 -2
  474. package/dist/runtime/components/prose/Strong.vue.d.ts +4 -1
  475. package/dist/runtime/components/prose/Table.d.vue.ts +1 -1
  476. package/dist/runtime/components/prose/Table.vue +5 -3
  477. package/dist/runtime/components/prose/Table.vue.d.ts +1 -1
  478. package/dist/runtime/components/prose/Tabs.d.vue.ts +5 -3
  479. package/dist/runtime/components/prose/Tabs.vue +4 -2
  480. package/dist/runtime/components/prose/Tabs.vue.d.ts +5 -3
  481. package/dist/runtime/components/prose/TabsItem.d.vue.ts +4 -1
  482. package/dist/runtime/components/prose/TabsItem.vue +5 -2
  483. package/dist/runtime/components/prose/TabsItem.vue.d.ts +4 -1
  484. package/dist/runtime/components/prose/Tbody.d.vue.ts +4 -1
  485. package/dist/runtime/components/prose/Tbody.vue +5 -2
  486. package/dist/runtime/components/prose/Tbody.vue.d.ts +4 -1
  487. package/dist/runtime/components/prose/Td.d.vue.ts +5 -1
  488. package/dist/runtime/components/prose/Td.vue +6 -2
  489. package/dist/runtime/components/prose/Td.vue.d.ts +5 -1
  490. package/dist/runtime/components/prose/Th.d.vue.ts +5 -1
  491. package/dist/runtime/components/prose/Th.vue +6 -2
  492. package/dist/runtime/components/prose/Th.vue.d.ts +5 -1
  493. package/dist/runtime/components/prose/Thead.d.vue.ts +4 -1
  494. package/dist/runtime/components/prose/Thead.vue +5 -2
  495. package/dist/runtime/components/prose/Thead.vue.d.ts +4 -1
  496. package/dist/runtime/components/prose/Tr.d.vue.ts +4 -1
  497. package/dist/runtime/components/prose/Tr.vue +5 -2
  498. package/dist/runtime/components/prose/Tr.vue.d.ts +4 -1
  499. package/dist/runtime/components/prose/Ul.d.vue.ts +4 -1
  500. package/dist/runtime/components/prose/Ul.vue +5 -2
  501. package/dist/runtime/components/prose/Ul.vue.d.ts +4 -1
  502. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
  503. package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
  504. package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
  505. package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
  506. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
  507. package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
  508. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
  509. package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
  510. package/dist/runtime/composables/defineShortcuts.js +4 -1
  511. package/dist/runtime/composables/internal/useFilter.d.ts +9 -0
  512. package/dist/runtime/composables/internal/useFilter.js +60 -0
  513. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  514. package/dist/runtime/composables/useComponentUI.d.ts +33 -0
  515. package/dist/runtime/composables/useComponentUI.js +13 -0
  516. package/dist/runtime/composables/useEditorMenu.d.ts +12 -1
  517. package/dist/runtime/composables/useEditorMenu.js +158 -154
  518. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  519. package/dist/runtime/composables/useFormField.d.ts +1 -1
  520. package/dist/runtime/composables/useOverlay.d.ts +3 -1
  521. package/dist/runtime/composables/useToast.d.ts +4 -0
  522. package/dist/runtime/composables/useToast.js +25 -1
  523. package/dist/runtime/keyframes.css +1 -1
  524. package/dist/runtime/locale/be.d.ts +3 -0
  525. package/dist/runtime/locale/be.js +129 -0
  526. package/dist/runtime/locale/cs.js +2 -2
  527. package/dist/runtime/locale/index.d.ts +1 -0
  528. package/dist/runtime/locale/index.js +1 -0
  529. package/dist/runtime/locale/sk.js +2 -2
  530. package/dist/runtime/types/editor.d.ts +2 -1
  531. package/dist/runtime/types/html.d.ts +3 -1
  532. package/dist/runtime/types/index.d.ts +1 -0
  533. package/dist/runtime/types/index.js +1 -0
  534. package/dist/runtime/types/input.d.ts +16 -6
  535. package/dist/runtime/types/utils.d.ts +10 -8
  536. package/dist/runtime/utils/ai.d.ts +7 -0
  537. package/dist/runtime/utils/editor.d.ts +1 -1
  538. package/dist/runtime/utils/editor.js +28 -10
  539. package/dist/runtime/utils/fuse.js +22 -3
  540. package/dist/runtime/utils/index.d.ts +2 -0
  541. package/dist/runtime/utils/index.js +12 -2
  542. package/dist/runtime/utils/overlay.d.ts +19 -0
  543. package/dist/runtime/utils/overlay.js +13 -0
  544. package/dist/runtime/utils/virtualizer.d.ts +1 -3
  545. package/dist/runtime/utils/virtualizer.js +15 -6
  546. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
  547. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  548. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +3 -1
  549. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +6 -2
  550. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +3 -1
  551. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  552. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +1 -1
  553. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  554. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +6 -1
  555. package/dist/runtime/vue/overrides/inertia/Link.vue +4 -2
  556. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +6 -1
  557. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +6 -3
  558. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +6 -3
  559. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +6 -1
  560. package/dist/runtime/vue/overrides/none/Link.vue +11 -3
  561. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +6 -1
  562. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +6 -1
  563. package/dist/runtime/vue/overrides/vue-router/Link.vue +2 -2
  564. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +6 -1
  565. package/dist/runtime/vue/plugins/router.d.ts +4 -0
  566. package/dist/runtime/vue/plugins/router.js +7 -0
  567. package/dist/runtime/vue/stubs/base.d.ts +6 -0
  568. package/dist/runtime/vue/stubs/base.js +8 -0
  569. package/dist/shared/{ui.DegC4tw1.mjs → ui.BrgdrRzy.mjs} +305 -49
  570. package/dist/unplugin.d.mts +1 -1
  571. package/dist/unplugin.mjs +5 -3
  572. package/dist/vite.d.mts +2 -3
  573. package/dist/vite.mjs +1 -1
  574. package/package.json +63 -48
@@ -8,7 +8,9 @@ import { VisuallyHidden, useForwardPropsEmits } from "reka-ui";
8
8
  import { DrawerRoot, DrawerRootNested, DrawerTrigger, DrawerPortal, DrawerOverlay, DrawerContent, DrawerTitle, DrawerDescription, DrawerHandle } from "vaul-vue";
9
9
  import { reactivePick } from "@vueuse/core";
10
10
  import { useAppConfig } from "#imports";
11
+ import { useComponentUI } from "../composables/useComponentUI";
11
12
  import { usePortal } from "../composables/usePortal";
13
+ import { pointerDownOutside } from "../utils/overlay";
12
14
  import { tv } from "../utils/tv";
13
15
  const props = defineProps({
14
16
  as: { type: null, required: false },
@@ -21,7 +23,7 @@ const props = defineProps({
21
23
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
22
24
  nested: { type: Boolean, required: false },
23
25
  class: { type: null, required: false },
24
- ui: { type: null, required: false },
26
+ ui: { type: Object, required: false },
25
27
  activeSnapPoint: { type: [Number, String, null], required: false },
26
28
  closeThreshold: { type: Number, required: false },
27
29
  shouldScaleBackground: { type: Boolean, required: false },
@@ -41,6 +43,7 @@ const props = defineProps({
41
43
  const emits = defineEmits(["close:prevent", "drag", "release", "close", "update:open", "update:activeSnapPoint", "animationEnd"]);
42
44
  const slots = defineSlots();
43
45
  const appConfig = useAppConfig();
46
+ const uiProp = useComponentUI("drawer", props);
44
47
  const rootProps = useForwardPropsEmits(reactivePick(props, "activeSnapPoint", "closeThreshold", "shouldScaleBackground", "setBackgroundColorOnScale", "scrollLockTimeout", "fixed", "dismissible", "modal", "open", "defaultOpen", "nested", "direction", "noBodyStyles", "handleOnly", "preventScrollRestoration", "snapPoints"), emits);
45
48
  const portalProps = usePortal(toRef(() => props.portal));
46
49
  const contentProps = toRef(() => props.content);
@@ -55,7 +58,9 @@ const contentEvents = computed(() => {
55
58
  return acc;
56
59
  }, {});
57
60
  }
58
- return {};
61
+ return {
62
+ pointerDownOutside
63
+ };
59
64
  });
60
65
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.drawer || {} })({
61
66
  direction: props.direction,
@@ -71,10 +76,10 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.drawer || {}
71
76
  </DrawerTrigger>
72
77
 
73
78
  <DrawerPortal v-bind="portalProps">
74
- <DrawerOverlay v-if="overlay" data-slot="overlay" :class="ui.overlay({ class: props.ui?.overlay })" />
79
+ <DrawerOverlay v-if="overlay" data-slot="overlay" :class="ui.overlay({ class: uiProp?.overlay })" />
75
80
 
76
- <DrawerContent data-slot="content" :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })" v-bind="contentProps" v-on="contentEvents">
77
- <DrawerHandle v-if="handle" data-slot="handle" :class="ui.handle({ class: props.ui?.handle })" />
81
+ <DrawerContent data-slot="content" :class="ui.content({ class: [!slots.default && props.class, uiProp?.content] })" v-bind="contentProps" v-on="contentEvents">
82
+ <DrawerHandle v-if="handle" data-slot="handle" :class="ui.handle({ class: uiProp?.handle })" />
78
83
 
79
84
  <VisuallyHidden v-if="!!slots.content && (title || !!slots.title || (description || !!slots.description))">
80
85
  <DrawerTitle v-if="title || !!slots.title">
@@ -91,16 +96,16 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.drawer || {}
91
96
  </VisuallyHidden>
92
97
 
93
98
  <slot name="content">
94
- <div data-slot="container" :class="ui.container({ class: props.ui?.container })">
95
- <div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description)" data-slot="header" :class="ui.header({ class: props.ui?.header })">
99
+ <div data-slot="container" :class="ui.container({ class: uiProp?.container })">
100
+ <div v-if="!!slots.header || (title || !!slots.title) || (description || !!slots.description)" data-slot="header" :class="ui.header({ class: uiProp?.header })">
96
101
  <slot name="header">
97
- <DrawerTitle v-if="title || !!slots.title" data-slot="title" :class="ui.title({ class: props.ui?.title })">
102
+ <DrawerTitle v-if="title || !!slots.title" data-slot="title" :class="ui.title({ class: uiProp?.title })">
98
103
  <slot name="title">
99
104
  {{ title }}
100
105
  </slot>
101
106
  </DrawerTitle>
102
107
 
103
- <DrawerDescription v-if="description || !!slots.description" data-slot="description" :class="ui.description({ class: props.ui?.description })">
108
+ <DrawerDescription v-if="description || !!slots.description" data-slot="description" :class="ui.description({ class: uiProp?.description })">
104
109
  <slot name="description">
105
110
  {{ description }}
106
111
  </slot>
@@ -108,11 +113,11 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.drawer || {}
108
113
  </slot>
109
114
  </div>
110
115
 
111
- <div v-if="!!slots.body" data-slot="body" :class="ui.body({ class: props.ui?.body })">
116
+ <div v-if="!!slots.body" data-slot="body" :class="ui.body({ class: uiProp?.body })">
112
117
  <slot name="body" />
113
118
  </div>
114
119
 
115
- <div v-if="!!slots.footer" data-slot="footer" :class="ui.footer({ class: props.ui?.footer })">
120
+ <div v-if="!!slots.footer" data-slot="footer" :class="ui.footer({ class: uiProp?.footer })">
116
121
  <slot name="footer" />
117
122
  </div>
118
123
  </div>
@@ -55,6 +55,8 @@ export interface DrawerSlots {
55
55
  body(props?: {}): any;
56
56
  footer(props?: {}): any;
57
57
  }
58
+ declare const _default: typeof __VLS_export;
59
+ export default _default;
58
60
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<DrawerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
59
61
  close: () => any;
60
62
  drag: (percentageDragged: number) => any;
@@ -71,9 +73,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Drawer
71
73
  onRelease?: ((open: boolean) => any) | undefined;
72
74
  "onUpdate:activeSnapPoint"?: ((val: string | number) => any) | undefined;
73
75
  onAnimationEnd?: ((open: boolean) => any) | undefined;
74
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, DrawerSlots>;
75
- declare const _default: typeof __VLS_export;
76
- export default _default;
76
+ }>, {
77
+ overlay: boolean;
78
+ modal: boolean;
79
+ portal: boolean | string | HTMLElement;
80
+ direction: import("vaul-vue").DrawerDirection;
81
+ handle: boolean;
82
+ dismissible: boolean;
83
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, DrawerSlots>;
77
84
  type __VLS_WithSlots<T, S> = T & {
78
85
  new (): {
79
86
  $slots: S;
@@ -129,8 +129,12 @@ export type DropdownMenuSlots<A extends ArrayOrNested<DropdownMenuItem> = ArrayO
129
129
  index: number;
130
130
  ui: DropdownMenu['ui'];
131
131
  }>;
132
- 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<{
133
- props: __VLS_PrettifyLocal<DropdownMenuProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<(evt: "update:open", payload: boolean) => void>>> & import("vue").PublicProps & (typeof globalThis extends {
132
+ declare const _default: typeof __VLS_export;
133
+ export default _default;
134
+ 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<{
135
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<DropdownMenuProps<T> & {
136
+ "onUpdate:open"?: ((payload: boolean) => any) | undefined;
137
+ }> & (typeof globalThis extends {
134
138
  __VLS_PROPS_FALLBACK: infer P;
135
139
  } ? P : {});
136
140
  expose: (exposed: {}) => void;
@@ -140,8 +144,8 @@ declare const __VLS_export: <T extends ArrayOrNested<DropdownMenuItem>>(__VLS_pr
140
144
  }>) => import("vue").VNode & {
141
145
  __ctx?: Awaited<typeof __VLS_setup>;
142
146
  };
143
- declare const _default: typeof __VLS_export;
144
- export default _default;
145
- type __VLS_PrettifyLocal<T> = {
147
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
148
+ [K in keyof T]: T[K];
149
+ } : {
146
150
  [K in keyof T as K]: T[K];
147
- } & {};
151
+ }) & {};
@@ -8,6 +8,7 @@ import { defu } from "defu";
8
8
  import { DropdownMenuRoot, DropdownMenuTrigger, DropdownMenuArrow, useForwardPropsEmits } from "reka-ui";
9
9
  import { reactivePick } from "@vueuse/core";
10
10
  import { useAppConfig } from "#imports";
11
+ import { useComponentUI } from "../composables/useComponentUI";
11
12
  import { omit } from "../utils";
12
13
  import { tv } from "../utils/tv";
13
14
  import UDropdownMenuContent from "./DropdownMenuContent.vue";
@@ -24,7 +25,7 @@ const props = defineProps({
24
25
  descriptionKey: { type: null, required: false, default: "description" },
25
26
  disabled: { type: Boolean, required: false },
26
27
  class: { type: null, required: false },
27
- ui: { type: null, required: false },
28
+ ui: { type: Object, required: false },
28
29
  defaultOpen: { type: Boolean, required: false },
29
30
  open: { type: Boolean, required: false },
30
31
  modal: { type: Boolean, required: false, default: true }
@@ -32,6 +33,7 @@ const props = defineProps({
32
33
  const emits = defineEmits(["update:open"]);
33
34
  const slots = defineSlots();
34
35
  const appConfig = useAppConfig();
36
+ const uiProp = useComponentUI("dropdownMenu", props);
35
37
  const rootProps = useForwardPropsEmits(reactivePick(props, "defaultOpen", "open", "modal"), emits);
36
38
  const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8 }));
37
39
  const arrowProps = toRef(() => props.arrow);
@@ -48,9 +50,9 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.dropdownMenu
48
50
  </DropdownMenuTrigger>
49
51
 
50
52
  <UDropdownMenuContent
51
- :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })"
53
+ :class="ui.content({ class: [!slots.default && props.class, uiProp?.content] })"
52
54
  :ui="ui"
53
- :ui-override="props.ui"
55
+ :ui-override="uiProp"
54
56
  v-bind="contentProps"
55
57
  :items="items"
56
58
  :portal="portal"
@@ -64,7 +66,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.dropdownMenu
64
66
  <slot :name="name" v-bind="slotData" />
65
67
  </template>
66
68
 
67
- <DropdownMenuArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="ui.arrow({ class: props.ui?.arrow })" />
69
+ <DropdownMenuArrow v-if="!!arrow" v-bind="arrowProps" data-slot="arrow" :class="ui.arrow({ class: uiProp?.arrow })" />
68
70
  </UDropdownMenuContent>
69
71
  </DropdownMenuRoot>
70
72
  </template>
@@ -129,8 +129,12 @@ export type DropdownMenuSlots<A extends ArrayOrNested<DropdownMenuItem> = ArrayO
129
129
  index: number;
130
130
  ui: DropdownMenu['ui'];
131
131
  }>;
132
- 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<{
133
- props: __VLS_PrettifyLocal<DropdownMenuProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<(evt: "update:open", payload: boolean) => void>>> & import("vue").PublicProps & (typeof globalThis extends {
132
+ declare const _default: typeof __VLS_export;
133
+ export default _default;
134
+ 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<{
135
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<DropdownMenuProps<T> & {
136
+ "onUpdate:open"?: ((payload: boolean) => any) | undefined;
137
+ }> & (typeof globalThis extends {
134
138
  __VLS_PROPS_FALLBACK: infer P;
135
139
  } ? P : {});
136
140
  expose: (exposed: {}) => void;
@@ -140,8 +144,8 @@ declare const __VLS_export: <T extends ArrayOrNested<DropdownMenuItem>>(__VLS_pr
140
144
  }>) => import("vue").VNode & {
141
145
  __ctx?: Awaited<typeof __VLS_setup>;
142
146
  };
143
- declare const _default: typeof __VLS_export;
144
- export default _default;
145
- type __VLS_PrettifyLocal<T> = {
147
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
148
+ [K in keyof T]: T[K];
149
+ } : {
146
150
  [K in keyof T as K]: T[K];
147
- } & {};
151
+ }) & {};
@@ -38,8 +38,16 @@ type DropdownMenuContentSlots<A extends ArrayOrNested<DropdownMenuItem> = ArrayO
38
38
  index: number;
39
39
  ui: DropdownMenu['ui'];
40
40
  }>;
41
- 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<{
42
- 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 {
41
+ declare const _default: typeof __VLS_export;
42
+ export default _default;
43
+ 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<{
44
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<DropdownMenuContentProps<T> & {
45
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
46
+ onPointerDownOutside?: ((event: import("reka-ui").PointerDownOutsideEvent) => any) | undefined;
47
+ onFocusOutside?: ((event: import("reka-ui").FocusOutsideEvent) => any) | undefined;
48
+ onInteractOutside?: ((event: import("reka-ui").PointerDownOutsideEvent | import("reka-ui").FocusOutsideEvent) => any) | undefined;
49
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
50
+ }> & (typeof globalThis extends {
43
51
  __VLS_PROPS_FALLBACK: infer P;
44
52
  } ? P : {});
45
53
  expose: (exposed: {}) => void;
@@ -49,8 +57,8 @@ declare const __VLS_export: <T extends ArrayOrNested<DropdownMenuItem>>(__VLS_pr
49
57
  }>) => import("vue").VNode & {
50
58
  __ctx?: Awaited<typeof __VLS_setup>;
51
59
  };
52
- declare const _default: typeof __VLS_export;
53
- export default _default;
54
- type __VLS_PrettifyLocal<T> = {
60
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
61
+ [K in keyof T]: T[K];
62
+ } : {
55
63
  [K in keyof T as K]: T[K];
56
- } & {};
64
+ }) & {};
@@ -41,6 +41,7 @@ const props = defineProps({
41
41
  collisionBoundary: { type: null, required: false },
42
42
  collisionPadding: { type: [Number, Object], required: false },
43
43
  arrowPadding: { type: Number, required: false },
44
+ hideShiftedArrow: { type: Boolean, required: false },
44
45
  sticky: { type: String, required: false },
45
46
  hideWhenDetached: { type: Boolean, required: false },
46
47
  positionStrategy: { type: String, required: false },
@@ -81,7 +82,7 @@ const groups = computed(
81
82
  <UIcon v-if="item.target === '_blank' && externalIcon !== false" :name="typeof externalIcon === 'string' ? externalIcon : appConfig.ui.icons.external" data-slot="itemLabelExternalIcon" :class="ui.itemLabelExternalIcon({ class: [uiOverride?.itemLabelExternalIcon, item.ui?.itemLabelExternalIcon], color: item?.color, active })" />
82
83
  </span>
83
84
 
84
- <span v-if="get(item, props.descriptionKey)" data-slot="itemDescription" :class="ui.itemDescription({ class: [uiOverride?.itemDescription, item.ui?.itemDescription] })">
85
+ <span v-if="get(item, props.descriptionKey) || !!slots[item.slot ? `${item.slot}-description` : 'item-description']" data-slot="itemDescription" :class="ui.itemDescription({ class: [uiOverride?.itemDescription, item.ui?.itemDescription] })">
85
86
  <slot :name="item.slot ? `${item.slot}-description` : 'item-description'" :item="item" :active="active" :index="index">
86
87
  {{ get(item, props.descriptionKey) }}
87
88
  </slot>
@@ -160,19 +161,18 @@ const groups = computed(
160
161
  >
161
162
  <ReuseItemTemplate :item="item" :index="index" />
162
163
  </DropdownMenu.CheckboxItem>
163
- <DropdownMenu.Item
164
- v-else
165
- as-child
166
- :disabled="item.disabled"
167
- :text-value="get(item, props.labelKey)"
168
- @select="item.onSelect"
169
- >
170
- <ULink v-slot="{ active, ...slotProps }" v-bind="pickLinkProps(item)" custom>
164
+ <ULink v-else v-slot="{ active, ...slotProps }" v-bind="pickLinkProps(item)" custom>
165
+ <DropdownMenu.Item
166
+ as-child
167
+ :disabled="item.disabled"
168
+ :text-value="get(item, props.labelKey)"
169
+ @select="item.onSelect"
170
+ >
171
171
  <ULinkBase v-bind="slotProps" data-slot="item" :class="ui.item({ class: [uiOverride?.item, item.ui?.item, item.class], color: item?.color, active })">
172
172
  <ReuseItemTemplate :item="item" :active="active" :index="index" />
173
173
  </ULinkBase>
174
- </ULink>
175
- </DropdownMenu.Item>
174
+ </DropdownMenu.Item>
175
+ </ULink>
176
176
  </template>
177
177
  </DropdownMenu.Group>
178
178
  </div>
@@ -38,8 +38,16 @@ type DropdownMenuContentSlots<A extends ArrayOrNested<DropdownMenuItem> = ArrayO
38
38
  index: number;
39
39
  ui: DropdownMenu['ui'];
40
40
  }>;
41
- 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<{
42
- 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 {
41
+ declare const _default: typeof __VLS_export;
42
+ export default _default;
43
+ 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<{
44
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<DropdownMenuContentProps<T> & {
45
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
46
+ onPointerDownOutside?: ((event: import("reka-ui").PointerDownOutsideEvent) => any) | undefined;
47
+ onFocusOutside?: ((event: import("reka-ui").FocusOutsideEvent) => any) | undefined;
48
+ onInteractOutside?: ((event: import("reka-ui").PointerDownOutsideEvent | import("reka-ui").FocusOutsideEvent) => any) | undefined;
49
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
50
+ }> & (typeof globalThis extends {
43
51
  __VLS_PROPS_FALLBACK: infer P;
44
52
  } ? P : {});
45
53
  expose: (exposed: {}) => void;
@@ -49,8 +57,8 @@ declare const __VLS_export: <T extends ArrayOrNested<DropdownMenuItem>>(__VLS_pr
49
57
  }>) => import("vue").VNode & {
50
58
  __ctx?: Awaited<typeof __VLS_setup>;
51
59
  };
52
- declare const _default: typeof __VLS_export;
53
- export default _default;
54
- type __VLS_PrettifyLocal<T> = {
60
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
61
+ [K in keyof T]: T[K];
62
+ } : {
55
63
  [K in keyof T as K]: T[K];
56
- } & {};
64
+ }) & {};
@@ -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-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
- ui: { type: null, required: false },
35
+ ui: { 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 ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.editor || {} })());
70
+ const uiProp = useComponentUI("editor", props);
71
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.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: ui.value.base({ class: props.ui?.base })
81
+ class: ui.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-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="ui.root({ class: [props.ui?.root, props.class] })">
199
+ <Primitive :as="as" data-slot="root" :class="ui.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="ui.content({ class: props.ui?.content })"
207
+ :class="ui.content({ class: uiProp?.content })"
182
208
  />
183
209
  </template>
184
210
  </Primitive>