@nuxt/ui 4.2.1 → 4.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 (463) hide show
  1. package/.nuxt/ui.css +2 -0
  2. package/README.md +6 -5
  3. package/cli/package.json +1 -1
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +4 -4
  6. package/dist/runtime/components/Accordion.d.vue.ts +16 -7
  7. package/dist/runtime/components/Accordion.vue +2 -1
  8. package/dist/runtime/components/Accordion.vue.d.ts +16 -7
  9. package/dist/runtime/components/Alert.d.vue.ts +4 -4
  10. package/dist/runtime/components/Alert.vue.d.ts +4 -4
  11. package/dist/runtime/components/App.d.vue.ts +10 -6
  12. package/dist/runtime/components/App.vue.d.ts +10 -6
  13. package/dist/runtime/components/AuthForm.d.vue.ts +53 -11
  14. package/dist/runtime/components/AuthForm.vue.d.ts +53 -11
  15. package/dist/runtime/components/Avatar.d.vue.ts +2 -2
  16. package/dist/runtime/components/Avatar.vue.d.ts +2 -2
  17. package/dist/runtime/components/AvatarGroup.d.vue.ts +1 -1
  18. package/dist/runtime/components/AvatarGroup.vue.d.ts +1 -1
  19. package/dist/runtime/components/Badge.d.vue.ts +2 -2
  20. package/dist/runtime/components/Badge.vue.d.ts +2 -2
  21. package/dist/runtime/components/Banner.d.vue.ts +5 -6
  22. package/dist/runtime/components/Banner.vue +49 -23
  23. package/dist/runtime/components/Banner.vue.d.ts +5 -6
  24. package/dist/runtime/components/BlogPost.d.vue.ts +2 -2
  25. package/dist/runtime/components/BlogPost.vue +0 -1
  26. package/dist/runtime/components/BlogPost.vue.d.ts +2 -2
  27. package/dist/runtime/components/BlogPosts.d.vue.ts +10 -6
  28. package/dist/runtime/components/BlogPosts.vue.d.ts +10 -6
  29. package/dist/runtime/components/Breadcrumb.d.vue.ts +10 -6
  30. package/dist/runtime/components/Breadcrumb.vue.d.ts +10 -6
  31. package/dist/runtime/components/Button.d.vue.ts +1 -1
  32. package/dist/runtime/components/Button.vue.d.ts +1 -1
  33. package/dist/runtime/components/Calendar.d.vue.ts +17 -12
  34. package/dist/runtime/components/Calendar.vue +13 -2
  35. package/dist/runtime/components/Calendar.vue.d.ts +17 -12
  36. package/dist/runtime/components/Card.d.vue.ts +1 -1
  37. package/dist/runtime/components/Card.vue.d.ts +1 -1
  38. package/dist/runtime/components/Carousel.d.vue.ts +14 -10
  39. package/dist/runtime/components/Carousel.vue +22 -0
  40. package/dist/runtime/components/Carousel.vue.d.ts +14 -10
  41. package/dist/runtime/components/ChangelogVersion.d.vue.ts +2 -2
  42. package/dist/runtime/components/ChangelogVersion.vue +0 -1
  43. package/dist/runtime/components/ChangelogVersion.vue.d.ts +2 -2
  44. package/dist/runtime/components/ChangelogVersions.d.vue.ts +14 -8
  45. package/dist/runtime/components/ChangelogVersions.vue +3 -2
  46. package/dist/runtime/components/ChangelogVersions.vue.d.ts +14 -8
  47. package/dist/runtime/components/ChatMessage.d.vue.ts +2 -2
  48. package/dist/runtime/components/ChatMessage.vue.d.ts +2 -2
  49. package/dist/runtime/components/ChatMessages.d.vue.ts +5 -5
  50. package/dist/runtime/components/ChatMessages.vue.d.ts +5 -5
  51. package/dist/runtime/components/ChatPalette.d.vue.ts +1 -1
  52. package/dist/runtime/components/ChatPalette.vue.d.ts +1 -1
  53. package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -3
  54. package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -3
  55. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +7 -7
  56. package/dist/runtime/components/ChatPromptSubmit.vue +1 -20
  57. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +7 -7
  58. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  59. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  60. package/dist/runtime/components/CheckboxGroup.d.vue.ts +12 -8
  61. package/dist/runtime/components/CheckboxGroup.vue.d.ts +12 -8
  62. package/dist/runtime/components/Chip.d.vue.ts +2 -2
  63. package/dist/runtime/components/Chip.vue.d.ts +2 -2
  64. package/dist/runtime/components/Collapsible.d.vue.ts +2 -2
  65. package/dist/runtime/components/Collapsible.vue.d.ts +2 -2
  66. package/dist/runtime/components/ColorPicker.d.vue.ts +2 -2
  67. package/dist/runtime/components/ColorPicker.vue.d.ts +2 -2
  68. package/dist/runtime/components/CommandPalette.d.vue.ts +31 -13
  69. package/dist/runtime/components/CommandPalette.vue +26 -18
  70. package/dist/runtime/components/CommandPalette.vue.d.ts +31 -13
  71. package/dist/runtime/components/Container.d.vue.ts +1 -1
  72. package/dist/runtime/components/Container.vue.d.ts +1 -1
  73. package/dist/runtime/components/ContextMenu.d.vue.ts +17 -9
  74. package/dist/runtime/components/ContextMenu.vue.d.ts +17 -9
  75. package/dist/runtime/components/ContextMenuContent.d.vue.ts +11 -7
  76. package/dist/runtime/components/ContextMenuContent.vue +12 -13
  77. package/dist/runtime/components/ContextMenuContent.vue.d.ts +11 -7
  78. package/dist/runtime/components/DashboardGroup.d.vue.ts +2 -2
  79. package/dist/runtime/components/DashboardGroup.vue.d.ts +2 -2
  80. package/dist/runtime/components/DashboardNavbar.d.vue.ts +5 -5
  81. package/dist/runtime/components/DashboardNavbar.vue.d.ts +5 -5
  82. package/dist/runtime/components/DashboardPanel.d.vue.ts +2 -2
  83. package/dist/runtime/components/DashboardPanel.vue.d.ts +2 -2
  84. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +1 -1
  85. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +1 -1
  86. package/dist/runtime/components/DashboardSearch.d.vue.ts +10 -6
  87. package/dist/runtime/components/DashboardSearch.vue +3 -1
  88. package/dist/runtime/components/DashboardSearch.vue.d.ts +10 -6
  89. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +5 -5
  90. package/dist/runtime/components/DashboardSearchButton.vue +1 -20
  91. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +5 -5
  92. package/dist/runtime/components/DashboardSidebar.d.vue.ts +13 -9
  93. package/dist/runtime/components/DashboardSidebar.vue.d.ts +13 -9
  94. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +5 -5
  95. package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -20
  96. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +5 -5
  97. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +5 -5
  98. package/dist/runtime/components/DashboardSidebarToggle.vue +1 -20
  99. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +5 -5
  100. package/dist/runtime/components/DashboardToolbar.d.vue.ts +1 -1
  101. package/dist/runtime/components/DashboardToolbar.vue.d.ts +1 -1
  102. package/dist/runtime/components/Drawer.d.vue.ts +3 -3
  103. package/dist/runtime/components/Drawer.vue.d.ts +3 -3
  104. package/dist/runtime/components/DropdownMenu.d.vue.ts +17 -9
  105. package/dist/runtime/components/DropdownMenu.vue.d.ts +17 -9
  106. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +11 -7
  107. package/dist/runtime/components/DropdownMenuContent.vue +12 -13
  108. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +11 -7
  109. package/dist/runtime/components/Editor.d.vue.ts +101 -0
  110. package/dist/runtime/components/Editor.vue +199 -0
  111. package/dist/runtime/components/Editor.vue.d.ts +101 -0
  112. package/dist/runtime/components/EditorDragHandle.d.vue.ts +68 -0
  113. package/dist/runtime/components/EditorDragHandle.vue +127 -0
  114. package/dist/runtime/components/EditorDragHandle.vue.d.ts +68 -0
  115. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +41 -0
  116. package/dist/runtime/components/EditorEmojiMenu.vue +73 -0
  117. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +41 -0
  118. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +49 -0
  119. package/dist/runtime/components/EditorMentionMenu.vue +79 -0
  120. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +49 -0
  121. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +58 -0
  122. package/dist/runtime/components/EditorSuggestionMenu.vue +83 -0
  123. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +58 -0
  124. package/dist/runtime/components/EditorToolbar.d.vue.ts +92 -0
  125. package/dist/runtime/components/EditorToolbar.vue +242 -0
  126. package/dist/runtime/components/EditorToolbar.vue.d.ts +92 -0
  127. package/dist/runtime/components/Empty.d.vue.ts +1 -1
  128. package/dist/runtime/components/Empty.vue.d.ts +1 -1
  129. package/dist/runtime/components/Error.d.vue.ts +6 -5
  130. package/dist/runtime/components/Error.vue +1 -1
  131. package/dist/runtime/components/Error.vue.d.ts +6 -5
  132. package/dist/runtime/components/FieldGroup.d.vue.ts +2 -2
  133. package/dist/runtime/components/FieldGroup.vue.d.ts +2 -2
  134. package/dist/runtime/components/FileUpload.d.vue.ts +13 -9
  135. package/dist/runtime/components/FileUpload.vue +2 -2
  136. package/dist/runtime/components/FileUpload.vue.d.ts +13 -9
  137. package/dist/runtime/components/Footer.d.vue.ts +2 -2
  138. package/dist/runtime/components/Footer.vue.d.ts +2 -2
  139. package/dist/runtime/components/FooterColumns.d.vue.ts +10 -6
  140. package/dist/runtime/components/FooterColumns.vue.d.ts +10 -6
  141. package/dist/runtime/components/Form.d.vue.ts +11 -7
  142. package/dist/runtime/components/Form.vue.d.ts +11 -7
  143. package/dist/runtime/components/FormField.d.vue.ts +8 -1
  144. package/dist/runtime/components/FormField.vue +6 -5
  145. package/dist/runtime/components/FormField.vue.d.ts +8 -1
  146. package/dist/runtime/components/Header.d.vue.ts +13 -9
  147. package/dist/runtime/components/Header.vue.d.ts +13 -9
  148. package/dist/runtime/components/Icon.d.vue.ts +1 -1
  149. package/dist/runtime/components/Icon.vue.d.ts +1 -1
  150. package/dist/runtime/components/Input.d.vue.ts +14 -10
  151. package/dist/runtime/components/Input.vue.d.ts +14 -10
  152. package/dist/runtime/components/InputDate.d.vue.ts +13 -9
  153. package/dist/runtime/components/InputDate.vue.d.ts +13 -9
  154. package/dist/runtime/components/InputMenu.d.vue.ts +34 -13
  155. package/dist/runtime/components/InputMenu.vue +56 -11
  156. package/dist/runtime/components/InputMenu.vue.d.ts +34 -13
  157. package/dist/runtime/components/InputNumber.d.vue.ts +18 -14
  158. package/dist/runtime/components/InputNumber.vue +1 -1
  159. package/dist/runtime/components/InputNumber.vue.d.ts +18 -14
  160. package/dist/runtime/components/InputTags.d.vue.ts +13 -9
  161. package/dist/runtime/components/InputTags.vue.d.ts +13 -9
  162. package/dist/runtime/components/InputTime.d.vue.ts +4 -4
  163. package/dist/runtime/components/InputTime.vue.d.ts +4 -4
  164. package/dist/runtime/components/Kbd.d.vue.ts +2 -2
  165. package/dist/runtime/components/Kbd.vue.d.ts +2 -2
  166. package/dist/runtime/components/Link.d.vue.ts +8 -3
  167. package/dist/runtime/components/Link.vue.d.ts +8 -3
  168. package/dist/runtime/components/LinkBase.d.vue.ts +3 -3
  169. package/dist/runtime/components/LinkBase.vue.d.ts +3 -3
  170. package/dist/runtime/components/Main.d.vue.ts +4 -2
  171. package/dist/runtime/components/Main.vue +1 -1
  172. package/dist/runtime/components/Main.vue.d.ts +4 -2
  173. package/dist/runtime/components/Marquee.d.vue.ts +3 -3
  174. package/dist/runtime/components/Marquee.vue.d.ts +3 -3
  175. package/dist/runtime/components/Modal.d.vue.ts +7 -7
  176. package/dist/runtime/components/Modal.vue.d.ts +7 -7
  177. package/dist/runtime/components/NavigationMenu.d.vue.ts +17 -8
  178. package/dist/runtime/components/NavigationMenu.vue +3 -2
  179. package/dist/runtime/components/NavigationMenu.vue.d.ts +17 -8
  180. package/dist/runtime/components/Page.d.vue.ts +1 -1
  181. package/dist/runtime/components/Page.vue.d.ts +1 -1
  182. package/dist/runtime/components/PageAnchors.d.vue.ts +10 -6
  183. package/dist/runtime/components/PageAnchors.vue.d.ts +10 -6
  184. package/dist/runtime/components/PageAside.d.vue.ts +2 -2
  185. package/dist/runtime/components/PageAside.vue.d.ts +2 -2
  186. package/dist/runtime/components/PageBody.d.vue.ts +1 -1
  187. package/dist/runtime/components/PageBody.vue.d.ts +1 -1
  188. package/dist/runtime/components/PageCTA.d.vue.ts +2 -2
  189. package/dist/runtime/components/PageCTA.vue.d.ts +2 -2
  190. package/dist/runtime/components/PageCard.d.vue.ts +2 -2
  191. package/dist/runtime/components/PageCard.vue.d.ts +2 -2
  192. package/dist/runtime/components/PageColumns.d.vue.ts +1 -1
  193. package/dist/runtime/components/PageColumns.vue.d.ts +1 -1
  194. package/dist/runtime/components/PageFeature.d.vue.ts +2 -2
  195. package/dist/runtime/components/PageFeature.vue +2 -2
  196. package/dist/runtime/components/PageFeature.vue.d.ts +2 -2
  197. package/dist/runtime/components/PageGrid.d.vue.ts +1 -1
  198. package/dist/runtime/components/PageGrid.vue.d.ts +1 -1
  199. package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
  200. package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
  201. package/dist/runtime/components/PageHero.d.vue.ts +2 -2
  202. package/dist/runtime/components/PageHero.vue.d.ts +2 -2
  203. package/dist/runtime/components/PageLinks.d.vue.ts +10 -6
  204. package/dist/runtime/components/PageLinks.vue.d.ts +10 -6
  205. package/dist/runtime/components/PageList.d.vue.ts +2 -2
  206. package/dist/runtime/components/PageList.vue.d.ts +2 -2
  207. package/dist/runtime/components/PageLogos.d.vue.ts +2 -2
  208. package/dist/runtime/components/PageLogos.vue.d.ts +2 -2
  209. package/dist/runtime/components/PageSection.d.vue.ts +2 -2
  210. package/dist/runtime/components/PageSection.vue.d.ts +2 -2
  211. package/dist/runtime/components/Pagination.d.vue.ts +4 -5
  212. package/dist/runtime/components/Pagination.vue.d.ts +4 -5
  213. package/dist/runtime/components/PinInput.d.vue.ts +13 -9
  214. package/dist/runtime/components/PinInput.vue +1 -1
  215. package/dist/runtime/components/PinInput.vue.d.ts +13 -9
  216. package/dist/runtime/components/Popover.d.vue.ts +11 -7
  217. package/dist/runtime/components/Popover.vue.d.ts +11 -7
  218. package/dist/runtime/components/PricingPlan.d.vue.ts +2 -2
  219. package/dist/runtime/components/PricingPlan.vue.d.ts +2 -2
  220. package/dist/runtime/components/PricingPlans.d.vue.ts +10 -6
  221. package/dist/runtime/components/PricingPlans.vue.d.ts +10 -6
  222. package/dist/runtime/components/PricingTable.d.vue.ts +10 -6
  223. package/dist/runtime/components/PricingTable.vue.d.ts +10 -6
  224. package/dist/runtime/components/Progress.d.vue.ts +2 -2
  225. package/dist/runtime/components/Progress.vue.d.ts +2 -2
  226. package/dist/runtime/components/RadioGroup.d.vue.ts +12 -8
  227. package/dist/runtime/components/RadioGroup.vue.d.ts +12 -8
  228. package/dist/runtime/components/ScrollArea.d.vue.ts +85 -0
  229. package/dist/runtime/components/ScrollArea.vue +187 -0
  230. package/dist/runtime/components/ScrollArea.vue.d.ts +85 -0
  231. package/dist/runtime/components/Select.d.vue.ts +21 -9
  232. package/dist/runtime/components/Select.vue +24 -6
  233. package/dist/runtime/components/Select.vue.d.ts +21 -9
  234. package/dist/runtime/components/SelectMenu.d.vue.ts +34 -13
  235. package/dist/runtime/components/SelectMenu.vue +58 -12
  236. package/dist/runtime/components/SelectMenu.vue.d.ts +34 -13
  237. package/dist/runtime/components/Separator.d.vue.ts +4 -4
  238. package/dist/runtime/components/Separator.vue.d.ts +4 -4
  239. package/dist/runtime/components/Skeleton.d.vue.ts +2 -2
  240. package/dist/runtime/components/Skeleton.vue.d.ts +2 -2
  241. package/dist/runtime/components/Slideover.d.vue.ts +12 -7
  242. package/dist/runtime/components/Slideover.vue +3 -1
  243. package/dist/runtime/components/Slideover.vue.d.ts +12 -7
  244. package/dist/runtime/components/Slider.d.vue.ts +12 -8
  245. package/dist/runtime/components/Slider.vue +2 -2
  246. package/dist/runtime/components/Slider.vue.d.ts +12 -8
  247. package/dist/runtime/components/Stepper.d.vue.ts +21 -9
  248. package/dist/runtime/components/Stepper.vue +20 -16
  249. package/dist/runtime/components/Stepper.vue.d.ts +21 -9
  250. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  251. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  252. package/dist/runtime/components/Table.d.vue.ts +27 -23
  253. package/dist/runtime/components/Table.vue +55 -33
  254. package/dist/runtime/components/Table.vue.d.ts +27 -23
  255. package/dist/runtime/components/Tabs.d.vue.ts +17 -8
  256. package/dist/runtime/components/Tabs.vue +5 -4
  257. package/dist/runtime/components/Tabs.vue.d.ts +17 -8
  258. package/dist/runtime/components/Textarea.d.vue.ts +14 -10
  259. package/dist/runtime/components/Textarea.vue.d.ts +14 -10
  260. package/dist/runtime/components/Timeline.d.vue.ts +24 -10
  261. package/dist/runtime/components/Timeline.vue +26 -17
  262. package/dist/runtime/components/Timeline.vue.d.ts +24 -10
  263. package/dist/runtime/components/Toast.d.vue.ts +5 -5
  264. package/dist/runtime/components/Toast.vue.d.ts +5 -5
  265. package/dist/runtime/components/Toaster.d.vue.ts +2 -2
  266. package/dist/runtime/components/Toaster.vue.d.ts +2 -2
  267. package/dist/runtime/components/Tooltip.d.vue.ts +2 -2
  268. package/dist/runtime/components/Tooltip.vue.d.ts +2 -2
  269. package/dist/runtime/components/Tree.d.vue.ts +13 -9
  270. package/dist/runtime/components/Tree.vue.d.ts +13 -9
  271. package/dist/runtime/components/User.d.vue.ts +2 -2
  272. package/dist/runtime/components/User.vue +0 -1
  273. package/dist/runtime/components/User.vue.d.ts +2 -2
  274. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  275. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  276. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +5 -5
  277. package/dist/runtime/components/color-mode/ColorModeButton.vue +3 -22
  278. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +5 -5
  279. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +1 -1
  280. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +1 -1
  281. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +2 -2
  282. package/dist/runtime/components/color-mode/ColorModeSelect.vue +5 -0
  283. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +2 -2
  284. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  285. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  286. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +11 -7
  287. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +11 -7
  288. package/dist/runtime/components/content/ContentSearch.d.vue.ts +18 -10
  289. package/dist/runtime/components/content/ContentSearch.vue +3 -1
  290. package/dist/runtime/components/content/ContentSearch.vue.d.ts +18 -10
  291. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +5 -5
  292. package/dist/runtime/components/content/ContentSearchButton.vue +1 -20
  293. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +5 -5
  294. package/dist/runtime/components/content/ContentSurround.d.vue.ts +10 -6
  295. package/dist/runtime/components/content/ContentSurround.vue +1 -1
  296. package/dist/runtime/components/content/ContentSurround.vue.d.ts +10 -6
  297. package/dist/runtime/components/content/ContentToc.d.vue.ts +11 -7
  298. package/dist/runtime/components/content/ContentToc.vue.d.ts +11 -7
  299. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +2 -2
  300. package/dist/runtime/components/locale/LocaleSelect.vue +14 -3
  301. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +2 -2
  302. package/dist/runtime/components/prose/A.d.vue.ts +1 -1
  303. package/dist/runtime/components/prose/A.vue.d.ts +1 -1
  304. package/dist/runtime/components/prose/Accordion.d.vue.ts +2 -2
  305. package/dist/runtime/components/prose/Accordion.vue.d.ts +2 -2
  306. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +1 -1
  307. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +1 -1
  308. package/dist/runtime/components/prose/Badge.d.vue.ts +1 -1
  309. package/dist/runtime/components/prose/Badge.vue.d.ts +1 -1
  310. package/dist/runtime/components/prose/Blockquote.d.vue.ts +1 -1
  311. package/dist/runtime/components/prose/Blockquote.vue.d.ts +1 -1
  312. package/dist/runtime/components/prose/Callout.d.vue.ts +1 -1
  313. package/dist/runtime/components/prose/Callout.vue +0 -1
  314. package/dist/runtime/components/prose/Callout.vue.d.ts +1 -1
  315. package/dist/runtime/components/prose/Card.d.vue.ts +1 -1
  316. package/dist/runtime/components/prose/Card.vue +0 -1
  317. package/dist/runtime/components/prose/Card.vue.d.ts +1 -1
  318. package/dist/runtime/components/prose/CardGroup.d.vue.ts +1 -1
  319. package/dist/runtime/components/prose/CardGroup.vue.d.ts +1 -1
  320. package/dist/runtime/components/prose/Code.d.vue.ts +1 -1
  321. package/dist/runtime/components/prose/Code.vue.d.ts +1 -1
  322. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -2
  323. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -2
  324. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +2 -2
  325. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +2 -2
  326. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  327. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  328. package/dist/runtime/components/prose/CodePreview.d.vue.ts +1 -1
  329. package/dist/runtime/components/prose/CodePreview.vue.d.ts +1 -1
  330. package/dist/runtime/components/prose/CodeTree.d.vue.ts +20 -1
  331. package/dist/runtime/components/prose/CodeTree.vue +34 -7
  332. package/dist/runtime/components/prose/CodeTree.vue.d.ts +20 -1
  333. package/dist/runtime/components/prose/Collapsible.d.vue.ts +1 -1
  334. package/dist/runtime/components/prose/Collapsible.vue.d.ts +1 -1
  335. package/dist/runtime/components/prose/Em.d.vue.ts +1 -1
  336. package/dist/runtime/components/prose/Em.vue.d.ts +1 -1
  337. package/dist/runtime/components/prose/Field.d.vue.ts +1 -1
  338. package/dist/runtime/components/prose/Field.vue.d.ts +1 -1
  339. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +1 -1
  340. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +1 -1
  341. package/dist/runtime/components/prose/H1.d.vue.ts +1 -1
  342. package/dist/runtime/components/prose/H1.vue.d.ts +1 -1
  343. package/dist/runtime/components/prose/H2.d.vue.ts +1 -1
  344. package/dist/runtime/components/prose/H2.vue.d.ts +1 -1
  345. package/dist/runtime/components/prose/H3.d.vue.ts +1 -1
  346. package/dist/runtime/components/prose/H3.vue.d.ts +1 -1
  347. package/dist/runtime/components/prose/H4.d.vue.ts +1 -1
  348. package/dist/runtime/components/prose/H4.vue.d.ts +1 -1
  349. package/dist/runtime/components/prose/Hr.d.vue.ts +1 -1
  350. package/dist/runtime/components/prose/Hr.vue.d.ts +1 -1
  351. package/dist/runtime/components/prose/Icon.d.vue.ts +1 -1
  352. package/dist/runtime/components/prose/Icon.vue.d.ts +1 -1
  353. package/dist/runtime/components/prose/Img.d.vue.ts +2 -2
  354. package/dist/runtime/components/prose/Img.vue.d.ts +2 -2
  355. package/dist/runtime/components/prose/Kbd.d.vue.ts +1 -1
  356. package/dist/runtime/components/prose/Kbd.vue.d.ts +1 -1
  357. package/dist/runtime/components/prose/Li.d.vue.ts +1 -1
  358. package/dist/runtime/components/prose/Li.vue.d.ts +1 -1
  359. package/dist/runtime/components/prose/Ol.d.vue.ts +1 -1
  360. package/dist/runtime/components/prose/Ol.vue.d.ts +1 -1
  361. package/dist/runtime/components/prose/P.d.vue.ts +1 -1
  362. package/dist/runtime/components/prose/P.vue.d.ts +1 -1
  363. package/dist/runtime/components/prose/Pre.d.vue.ts +1 -1
  364. package/dist/runtime/components/prose/Pre.vue.d.ts +1 -1
  365. package/dist/runtime/components/prose/Steps.d.vue.ts +1 -1
  366. package/dist/runtime/components/prose/Steps.vue.d.ts +1 -1
  367. package/dist/runtime/components/prose/Strong.d.vue.ts +1 -1
  368. package/dist/runtime/components/prose/Strong.vue.d.ts +1 -1
  369. package/dist/runtime/components/prose/Table.d.vue.ts +1 -1
  370. package/dist/runtime/components/prose/Table.vue.d.ts +1 -1
  371. package/dist/runtime/components/prose/Tabs.d.vue.ts +2 -2
  372. package/dist/runtime/components/prose/Tabs.vue.d.ts +2 -2
  373. package/dist/runtime/components/prose/TabsItem.d.vue.ts +1 -1
  374. package/dist/runtime/components/prose/TabsItem.vue.d.ts +1 -1
  375. package/dist/runtime/components/prose/Tbody.d.vue.ts +1 -1
  376. package/dist/runtime/components/prose/Tbody.vue.d.ts +1 -1
  377. package/dist/runtime/components/prose/Td.d.vue.ts +2 -1
  378. package/dist/runtime/components/prose/Td.vue +2 -1
  379. package/dist/runtime/components/prose/Td.vue.d.ts +2 -1
  380. package/dist/runtime/components/prose/Th.d.vue.ts +2 -1
  381. package/dist/runtime/components/prose/Th.vue +2 -1
  382. package/dist/runtime/components/prose/Th.vue.d.ts +2 -1
  383. package/dist/runtime/components/prose/Thead.d.vue.ts +1 -1
  384. package/dist/runtime/components/prose/Thead.vue.d.ts +1 -1
  385. package/dist/runtime/components/prose/Tr.d.vue.ts +1 -1
  386. package/dist/runtime/components/prose/Tr.vue.d.ts +1 -1
  387. package/dist/runtime/components/prose/Ul.d.vue.ts +1 -1
  388. package/dist/runtime/components/prose/Ul.vue.d.ts +1 -1
  389. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
  390. package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
  391. package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
  392. package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
  393. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
  394. package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
  395. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
  396. package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
  397. package/dist/runtime/composables/defineShortcuts.d.ts +2 -1
  398. package/dist/runtime/composables/defineShortcuts.js +63 -16
  399. package/dist/runtime/composables/useEditorMenu.d.ts +75 -0
  400. package/dist/runtime/composables/useEditorMenu.js +435 -0
  401. package/dist/runtime/composables/useFileUpload.d.ts +1 -2
  402. package/dist/runtime/composables/useOverlay.d.ts +3 -1
  403. package/dist/runtime/locale/cs.js +2 -2
  404. package/dist/runtime/locale/en_gb.d.ts +3 -0
  405. package/dist/runtime/locale/en_gb.js +7 -0
  406. package/dist/runtime/locale/eu.d.ts +3 -0
  407. package/dist/runtime/locale/eu.js +129 -0
  408. package/dist/runtime/locale/index.d.ts +3 -0
  409. package/dist/runtime/locale/index.js +3 -0
  410. package/dist/runtime/locale/lo.d.ts +3 -0
  411. package/dist/runtime/locale/lo.js +129 -0
  412. package/dist/runtime/locale/sk.js +2 -2
  413. package/dist/runtime/types/editor.d.ts +70 -0
  414. package/dist/runtime/types/editor.js +0 -0
  415. package/dist/runtime/types/index.d.ts +8 -0
  416. package/dist/runtime/types/index.js +8 -0
  417. package/dist/runtime/utils/ai.d.ts +7 -0
  418. package/dist/runtime/utils/content.d.ts +2 -2
  419. package/dist/runtime/utils/editor.d.ts +69 -0
  420. package/dist/runtime/utils/editor.js +382 -0
  421. package/dist/runtime/utils/fuse.js +22 -3
  422. package/dist/runtime/utils/index.d.ts +1 -0
  423. package/dist/runtime/utils/index.js +2 -2
  424. package/dist/runtime/utils/locale.d.ts +1 -2
  425. package/dist/runtime/utils/virtualizer.d.ts +1 -3
  426. package/dist/runtime/utils/virtualizer.js +15 -6
  427. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
  428. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  429. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +2 -2
  430. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +5 -0
  431. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +2 -2
  432. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  433. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  434. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.d.vue.ts +4 -4
  435. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue +3 -3
  436. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue.d.ts +4 -4
  437. package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.d.vue.ts +4 -4
  438. package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue.d.ts +4 -4
  439. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +76 -0
  440. package/dist/runtime/vue/overrides/none/Link.vue +130 -0
  441. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +76 -0
  442. package/dist/runtime/vue/{components → overrides/vue-router}/Link.d.vue.ts +4 -4
  443. package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue +6 -6
  444. package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue.d.ts +4 -4
  445. package/dist/runtime/vue/plugins/router.d.ts +4 -0
  446. package/dist/runtime/vue/plugins/router.js +7 -0
  447. package/dist/runtime/vue/{stubs.d.ts → stubs/base.d.ts} +4 -5
  448. package/dist/runtime/vue/{stubs.js → stubs/base.js} +4 -5
  449. package/dist/runtime/vue/stubs/inertia.d.ts +5 -0
  450. package/dist/runtime/vue/stubs/inertia.js +10 -0
  451. package/dist/runtime/vue/stubs/none.d.ts +56 -0
  452. package/dist/runtime/vue/stubs/none.js +48 -0
  453. package/dist/runtime/vue/stubs/vue-router.d.ts +2 -0
  454. package/dist/runtime/vue/stubs/vue-router.js +2 -0
  455. package/dist/shared/{ui.B77q-Dvh.mjs → ui.Ddb3hKxo.mjs} +511 -81
  456. package/dist/unplugin.d.mts +14 -0
  457. package/dist/unplugin.mjs +77 -50
  458. package/dist/vite.d.mts +2 -3
  459. package/dist/vite.mjs +1 -1
  460. package/package.json +64 -34
  461. package/dist/runtime/inertia/stubs.d.ts +0 -44
  462. package/dist/runtime/inertia/stubs.js +0 -84
  463. /package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue +0 -0
@@ -0,0 +1,41 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { EditorMenuOptions } from '../composables/useEditorMenu';
3
+ import type { ComponentConfig } from '../types/tv';
4
+ import theme from '#build/ui/editor-emoji-menu';
5
+ type EditorEmojiMenu = ComponentConfig<typeof theme, AppConfig, 'editorEmojiMenu'>;
6
+ export interface EditorEmojiMenuItem {
7
+ name: string;
8
+ emoji?: string;
9
+ shortcodes: string[];
10
+ tags: string[];
11
+ group?: string;
12
+ fallbackImage?: string;
13
+ [key: string]: any;
14
+ }
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'];
20
+ items?: T[] | T[][];
21
+ class?: any;
22
+ ui?: EditorEmojiMenu['slots'];
23
+ }
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 {
28
+ __VLS_PROPS_FALLBACK: infer P;
29
+ } ? P : {});
30
+ expose: (exposed: {}) => void;
31
+ attrs: any;
32
+ slots: {};
33
+ emit: {};
34
+ }>) => import("vue").VNode & {
35
+ __ctx?: Awaited<typeof __VLS_setup>;
36
+ };
37
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
38
+ [K in keyof T]: T[K];
39
+ } : {
40
+ [K in keyof T as K]: T[K];
41
+ }) & {};
@@ -0,0 +1,49 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/editor-mention-menu';
3
+ import type { EditorMenuOptions } from '../composables/useEditorMenu';
4
+ import type { AvatarProps, IconProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type EditorMentionMenu = ComponentConfig<typeof theme, AppConfig, 'editorMentionMenu'>;
7
+ export interface EditorMentionMenuItem {
8
+ label: string;
9
+ description?: string;
10
+ /**
11
+ * @IconifyIcon
12
+ */
13
+ icon?: IconProps['name'];
14
+ avatar?: AvatarProps;
15
+ disabled?: boolean;
16
+ class?: any;
17
+ [key: string]: any;
18
+ }
19
+ export interface EditorMentionMenuProps<T extends EditorMentionMenuItem = EditorMentionMenuItem> extends Partial<Pick<EditorMenuOptions<T>, 'editor' | 'char' | 'pluginKey' | 'filterFields' | 'limit' | 'options' | 'appendTo' | 'ignoreFilter'>> {
20
+ /**
21
+ * @defaultValue 'md'
22
+ */
23
+ size?: EditorMentionMenu['variants']['size'];
24
+ items?: T[] | T[][];
25
+ class?: any;
26
+ ui?: EditorMentionMenu['slots'];
27
+ }
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ declare const __VLS_export: <T extends EditorMentionMenuItem>(__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<{
31
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(EditorMentionMenuProps<T> & {
32
+ searchTerm?: string;
33
+ }) & {
34
+ "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
35
+ }> & (typeof globalThis extends {
36
+ __VLS_PROPS_FALLBACK: infer P;
37
+ } ? P : {});
38
+ expose: (exposed: {}) => void;
39
+ attrs: any;
40
+ slots: {};
41
+ emit: (evt: "update:searchTerm", value: string) => void;
42
+ }>) => import("vue").VNode & {
43
+ __ctx?: Awaited<typeof __VLS_setup>;
44
+ };
45
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
46
+ [K in keyof T]: T[K];
47
+ } : {
48
+ [K in keyof T as K]: T[K];
49
+ }) & {};
@@ -0,0 +1,79 @@
1
+ <script>
2
+ import theme from "#build/ui/editor-mention-menu";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed, h, onMounted, onBeforeUnmount, nextTick, toRef } from "vue";
7
+ import { useAppConfig } from "#imports";
8
+ import { useEditorMenu } from "../composables/useEditorMenu";
9
+ import { tv } from "../utils/tv";
10
+ import UIcon from "./Icon.vue";
11
+ import UAvatar from "./Avatar.vue";
12
+ defineOptions({ inheritAttrs: false });
13
+ const props = defineProps({
14
+ size: { type: null, required: false },
15
+ items: { type: Array, required: false },
16
+ class: { type: null, required: false },
17
+ ui: { type: null, required: false },
18
+ editor: { type: Object, required: false },
19
+ char: { type: String, required: false, default: "@" },
20
+ pluginKey: { type: String, required: false, default: "mentionMenu" },
21
+ filterFields: { type: Array, required: false },
22
+ limit: { type: Number, required: false },
23
+ options: { type: Object, required: false },
24
+ appendTo: { type: Function, required: false, skipCheck: true },
25
+ ignoreFilter: { type: Boolean, required: false }
26
+ });
27
+ const searchTerm = defineModel("searchTerm", { type: String, ...{ default: "" } });
28
+ const appConfig = useAppConfig();
29
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.editorMentionMenu || {} })({
30
+ size: props.size
31
+ }));
32
+ let menu = null;
33
+ onMounted(async () => {
34
+ await nextTick();
35
+ if (!props.editor || props.editor.isDestroyed) {
36
+ return;
37
+ }
38
+ menu = useEditorMenu({
39
+ editor: props.editor,
40
+ char: props.char,
41
+ pluginKey: props.pluginKey,
42
+ items: toRef(() => props.items),
43
+ filterFields: props.filterFields,
44
+ ignoreFilter: props.ignoreFilter,
45
+ limit: props.limit,
46
+ options: props.options,
47
+ appendTo: props.appendTo,
48
+ searchTerm,
49
+ ui,
50
+ onSelect: (editor, range, item) => {
51
+ editor.chain().focus().deleteRange(range).insertContent({
52
+ type: "mention",
53
+ attrs: item
54
+ }).run();
55
+ },
56
+ renderItem: (item, styles) => [
57
+ item.avatar ? h(UAvatar, { ...item.avatar, size: styles.value.itemLeadingAvatarSize(), class: styles.value.itemLeadingAvatar() }) : item.icon ? h(UIcon, { name: item.icon, class: styles.value.itemLeadingIcon() }) : null,
58
+ h("span", { class: styles.value.itemWrapper() }, [
59
+ h("span", { class: styles.value.itemLabel() }, item.label),
60
+ item.description ? h("span", { class: styles.value.itemDescription() }, item.description) : null
61
+ ])
62
+ ]
63
+ });
64
+ props.editor.registerPlugin(menu.plugin);
65
+ });
66
+ onBeforeUnmount(() => {
67
+ if (menu) {
68
+ menu.destroy();
69
+ menu = null;
70
+ }
71
+ if (props.editor && !props.editor.isDestroyed) {
72
+ props.editor.unregisterPlugin(props.pluginKey);
73
+ }
74
+ });
75
+ </script>
76
+
77
+ <template>
78
+ <div />
79
+ </template>
@@ -0,0 +1,49 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/editor-mention-menu';
3
+ import type { EditorMenuOptions } from '../composables/useEditorMenu';
4
+ import type { AvatarProps, IconProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type EditorMentionMenu = ComponentConfig<typeof theme, AppConfig, 'editorMentionMenu'>;
7
+ export interface EditorMentionMenuItem {
8
+ label: string;
9
+ description?: string;
10
+ /**
11
+ * @IconifyIcon
12
+ */
13
+ icon?: IconProps['name'];
14
+ avatar?: AvatarProps;
15
+ disabled?: boolean;
16
+ class?: any;
17
+ [key: string]: any;
18
+ }
19
+ export interface EditorMentionMenuProps<T extends EditorMentionMenuItem = EditorMentionMenuItem> extends Partial<Pick<EditorMenuOptions<T>, 'editor' | 'char' | 'pluginKey' | 'filterFields' | 'limit' | 'options' | 'appendTo' | 'ignoreFilter'>> {
20
+ /**
21
+ * @defaultValue 'md'
22
+ */
23
+ size?: EditorMentionMenu['variants']['size'];
24
+ items?: T[] | T[][];
25
+ class?: any;
26
+ ui?: EditorMentionMenu['slots'];
27
+ }
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ declare const __VLS_export: <T extends EditorMentionMenuItem>(__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<{
31
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(EditorMentionMenuProps<T> & {
32
+ searchTerm?: string;
33
+ }) & {
34
+ "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
35
+ }> & (typeof globalThis extends {
36
+ __VLS_PROPS_FALLBACK: infer P;
37
+ } ? P : {});
38
+ expose: (exposed: {}) => void;
39
+ attrs: any;
40
+ slots: {};
41
+ emit: (evt: "update:searchTerm", value: string) => void;
42
+ }>) => import("vue").VNode & {
43
+ __ctx?: Awaited<typeof __VLS_setup>;
44
+ };
45
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
46
+ [K in keyof T]: T[K];
47
+ } : {
48
+ [K in keyof T as K]: T[K];
49
+ }) & {};
@@ -0,0 +1,58 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/editor-suggestion-menu';
3
+ import type { EditorMenuOptions } from '../composables/useEditorMenu';
4
+ import type { IconProps } from '../types';
5
+ import type { EditorItem, EditorCustomHandlers } from '../types/editor';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type EditorSuggestionMenu = ComponentConfig<typeof theme, AppConfig, 'editorSuggestionMenu'>;
8
+ type EditorSuggestionMenuLabelItem = {
9
+ type: 'label';
10
+ label: string;
11
+ class?: any;
12
+ [key: string]: any;
13
+ };
14
+ type EditorSuggestionMenuSeparatorItem = {
15
+ type: 'separator';
16
+ class?: any;
17
+ [key: string]: any;
18
+ };
19
+ type EditorSuggestionMenuActionItem<H extends EditorCustomHandlers = EditorCustomHandlers> = {
20
+ type?: never;
21
+ label: string;
22
+ description?: string;
23
+ /**
24
+ * @IconifyIcon
25
+ */
26
+ icon?: IconProps['name'];
27
+ disabled?: boolean;
28
+ class?: any;
29
+ [key: string]: any;
30
+ } & EditorItem<H>;
31
+ export type EditorSuggestionMenuItem<H extends EditorCustomHandlers = EditorCustomHandlers> = EditorSuggestionMenuLabelItem | EditorSuggestionMenuSeparatorItem | EditorSuggestionMenuActionItem<H>;
32
+ export interface EditorSuggestionMenuProps<T extends EditorSuggestionMenuItem = EditorSuggestionMenuItem> extends Partial<Pick<EditorMenuOptions<T>, 'editor' | 'char' | 'pluginKey' | 'filterFields' | 'limit' | 'options' | 'appendTo'>> {
33
+ /**
34
+ * @defaultValue 'md'
35
+ */
36
+ size?: EditorSuggestionMenu['variants']['size'];
37
+ items?: T[] | T[][];
38
+ class?: any;
39
+ ui?: EditorSuggestionMenu['slots'];
40
+ }
41
+ declare const _default: typeof __VLS_export;
42
+ export default _default;
43
+ declare const __VLS_export: <T extends EditorSuggestionMenuItem>(__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<EditorSuggestionMenuProps<T>> & (typeof globalThis extends {
45
+ __VLS_PROPS_FALLBACK: infer P;
46
+ } ? P : {});
47
+ expose: (exposed: {}) => void;
48
+ attrs: any;
49
+ slots: {};
50
+ emit: {};
51
+ }>) => import("vue").VNode & {
52
+ __ctx?: Awaited<typeof __VLS_setup>;
53
+ };
54
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
55
+ [K in keyof T]: T[K];
56
+ } : {
57
+ [K in keyof T as K]: T[K];
58
+ }) & {};
@@ -0,0 +1,83 @@
1
+ <script>
2
+ import theme from "#build/ui/editor-suggestion-menu";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed, h, inject, onMounted, onBeforeUnmount, nextTick, toRef } from "vue";
7
+ import { useAppConfig } from "#imports";
8
+ import { useEditorMenu } from "../composables/useEditorMenu";
9
+ import { createHandlers } from "../utils/editor";
10
+ import { tv } from "../utils/tv";
11
+ import UIcon from "./Icon.vue";
12
+ defineOptions({ inheritAttrs: false });
13
+ const props = defineProps({
14
+ size: { type: null, required: false },
15
+ items: { type: Array, required: false },
16
+ class: { type: null, required: false },
17
+ ui: { type: null, required: false },
18
+ editor: { type: Object, required: false },
19
+ char: { type: String, required: false, default: "/" },
20
+ pluginKey: { type: String, required: false, default: "suggestionMenu" },
21
+ filterFields: { type: Array, required: false },
22
+ limit: { type: Number, required: false },
23
+ options: { type: Object, required: false },
24
+ appendTo: { type: Function, required: false, skipCheck: true }
25
+ });
26
+ const appConfig = useAppConfig();
27
+ const handlers = inject("editorHandlers", computed(() => createHandlers()));
28
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.editorSuggestionMenu || {} })({
29
+ size: props.size
30
+ }));
31
+ let menu = null;
32
+ onMounted(async () => {
33
+ await nextTick();
34
+ if (!props.editor || props.editor.isDestroyed) {
35
+ return;
36
+ }
37
+ menu = useEditorMenu({
38
+ editor: props.editor,
39
+ char: props.char,
40
+ pluginKey: props.pluginKey,
41
+ items: toRef(() => props.items),
42
+ filterFields: props.filterFields,
43
+ limit: props.limit,
44
+ options: props.options,
45
+ appendTo: props.appendTo,
46
+ ui,
47
+ onSelect: (editor, range, item) => {
48
+ if (item.type === "label" || item.type === "separator") return;
49
+ editor.chain().focus().deleteRange(range).run();
50
+ const handler = handlers?.value?.[item.kind];
51
+ if (handler) {
52
+ handler.execute(editor, item).run();
53
+ }
54
+ },
55
+ renderItem: (item, styles) => {
56
+ if (item.type === "label") {
57
+ return [h("span", {}, item.label)];
58
+ }
59
+ return [
60
+ item.icon ? h(UIcon, { name: item.icon, class: styles.value.itemLeadingIcon() }) : null,
61
+ h("span", { class: styles.value.itemWrapper() }, [
62
+ h("span", { class: styles.value.itemLabel() }, item.label),
63
+ item.description ? h("span", { class: styles.value.itemDescription() }, item.description) : null
64
+ ])
65
+ ];
66
+ }
67
+ });
68
+ props.editor.registerPlugin(menu.plugin);
69
+ });
70
+ onBeforeUnmount(() => {
71
+ if (menu) {
72
+ menu.destroy();
73
+ menu = null;
74
+ }
75
+ if (props.editor && !props.editor.isDestroyed) {
76
+ props.editor.unregisterPlugin(props.pluginKey);
77
+ }
78
+ });
79
+ </script>
80
+
81
+ <template>
82
+ <div />
83
+ </template>
@@ -0,0 +1,58 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/editor-suggestion-menu';
3
+ import type { EditorMenuOptions } from '../composables/useEditorMenu';
4
+ import type { IconProps } from '../types';
5
+ import type { EditorItem, EditorCustomHandlers } from '../types/editor';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type EditorSuggestionMenu = ComponentConfig<typeof theme, AppConfig, 'editorSuggestionMenu'>;
8
+ type EditorSuggestionMenuLabelItem = {
9
+ type: 'label';
10
+ label: string;
11
+ class?: any;
12
+ [key: string]: any;
13
+ };
14
+ type EditorSuggestionMenuSeparatorItem = {
15
+ type: 'separator';
16
+ class?: any;
17
+ [key: string]: any;
18
+ };
19
+ type EditorSuggestionMenuActionItem<H extends EditorCustomHandlers = EditorCustomHandlers> = {
20
+ type?: never;
21
+ label: string;
22
+ description?: string;
23
+ /**
24
+ * @IconifyIcon
25
+ */
26
+ icon?: IconProps['name'];
27
+ disabled?: boolean;
28
+ class?: any;
29
+ [key: string]: any;
30
+ } & EditorItem<H>;
31
+ export type EditorSuggestionMenuItem<H extends EditorCustomHandlers = EditorCustomHandlers> = EditorSuggestionMenuLabelItem | EditorSuggestionMenuSeparatorItem | EditorSuggestionMenuActionItem<H>;
32
+ export interface EditorSuggestionMenuProps<T extends EditorSuggestionMenuItem = EditorSuggestionMenuItem> extends Partial<Pick<EditorMenuOptions<T>, 'editor' | 'char' | 'pluginKey' | 'filterFields' | 'limit' | 'options' | 'appendTo'>> {
33
+ /**
34
+ * @defaultValue 'md'
35
+ */
36
+ size?: EditorSuggestionMenu['variants']['size'];
37
+ items?: T[] | T[][];
38
+ class?: any;
39
+ ui?: EditorSuggestionMenu['slots'];
40
+ }
41
+ declare const _default: typeof __VLS_export;
42
+ export default _default;
43
+ declare const __VLS_export: <T extends EditorSuggestionMenuItem>(__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<EditorSuggestionMenuProps<T>> & (typeof globalThis extends {
45
+ __VLS_PROPS_FALLBACK: infer P;
46
+ } ? P : {});
47
+ expose: (exposed: {}) => void;
48
+ attrs: any;
49
+ slots: {};
50
+ emit: {};
51
+ }>) => import("vue").VNode & {
52
+ __ctx?: Awaited<typeof __VLS_setup>;
53
+ };
54
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
55
+ [K in keyof T]: T[K];
56
+ } : {
57
+ [K in keyof T as K]: T[K];
58
+ }) & {};
@@ -0,0 +1,92 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { Editor } from '@tiptap/vue-3';
3
+ import type { BubbleMenuPluginProps } from '@tiptap/extension-bubble-menu';
4
+ import type { FloatingMenuPluginProps } from '@tiptap/extension-floating-menu';
5
+ import theme from '#build/ui/editor-toolbar';
6
+ import type { ButtonProps, DropdownMenuProps, DropdownMenuItem, TooltipProps, LinkPropsKeys } from '../types';
7
+ import type { EditorItem, EditorCustomHandlers } from '../types/editor';
8
+ import type { ArrayOrNested, DynamicSlots, MergeTypes, NestedItem } from '../types/utils';
9
+ import type { ComponentConfig } from '../types/tv';
10
+ type EditorToolbar = ComponentConfig<typeof theme, AppConfig, 'editorToolbar'>;
11
+ type ButtonItem = Omit<ButtonProps, 'type'> & {
12
+ 'slot'?: string;
13
+ 'tooltip'?: TooltipProps;
14
+ 'aria-label'?: string;
15
+ };
16
+ type EditorToolbarButtonItem<H extends EditorCustomHandlers = EditorCustomHandlers> = Omit<ButtonItem, LinkPropsKeys> & EditorItem<H>;
17
+ type EditorToolbarDropdownChildItem<H extends EditorCustomHandlers = EditorCustomHandlers> = DropdownMenuItem | (Omit<DropdownMenuItem, 'type'> & EditorItem<H>);
18
+ type EditorToolbarDropdownItem<H extends EditorCustomHandlers = EditorCustomHandlers> = ButtonItem & DropdownMenuProps<ArrayOrNested<EditorToolbarDropdownChildItem<H>>>;
19
+ export type EditorToolbarItem<H extends EditorCustomHandlers = EditorCustomHandlers> = ButtonItem | EditorToolbarButtonItem<H> | EditorToolbarDropdownItem<H>;
20
+ type EditorToolbarBaseProps<T extends ArrayOrNested<EditorToolbarItem> = ArrayOrNested<EditorToolbarItem>> = {
21
+ /**
22
+ * The element or component this component should render as.
23
+ * @defaultValue 'div'
24
+ */
25
+ as?: any;
26
+ /**
27
+ * The color of the toolbar controls.
28
+ * @defaultValue 'neutral'
29
+ */
30
+ color?: ButtonProps['color'];
31
+ /**
32
+ * The variant of the toolbar controls.
33
+ * @defaultValue 'ghost'
34
+ */
35
+ variant?: ButtonProps['variant'];
36
+ /**
37
+ * The color of the active toolbar control.
38
+ * @defaultValue 'primary'
39
+ */
40
+ activeColor?: ButtonProps['color'];
41
+ /**
42
+ * The variant of the active toolbar control.
43
+ * @defaultValue 'soft'
44
+ */
45
+ activeVariant?: ButtonProps['variant'];
46
+ /**
47
+ * The size of the toolbar controls.
48
+ * @defaultValue 'sm'
49
+ */
50
+ size?: ButtonProps['size'];
51
+ items?: T;
52
+ editor: Editor;
53
+ class?: any;
54
+ ui?: EditorToolbar['slots'];
55
+ };
56
+ export type EditorToolbarProps<T extends ArrayOrNested<EditorToolbarItem> = ArrayOrNested<EditorToolbarItem>> = (EditorToolbarBaseProps<T> & {
57
+ layout?: 'fixed';
58
+ }) | (EditorToolbarBaseProps<T> & Partial<Omit<BubbleMenuPluginProps, 'editor' | 'element'>> & {
59
+ layout?: 'bubble';
60
+ }) | (EditorToolbarBaseProps<T> & Partial<Omit<FloatingMenuPluginProps, 'editor' | 'element'>> & {
61
+ layout?: 'floating';
62
+ });
63
+ type SlotPropsProps = {
64
+ index: number;
65
+ isActive: (item: EditorToolbarItem) => boolean;
66
+ isDisabled: (item: EditorToolbarItem) => boolean;
67
+ onClick: (e: MouseEvent, item: EditorToolbarItem) => void;
68
+ };
69
+ type SlotProps<T extends EditorToolbarItem> = (props: {
70
+ item: T;
71
+ } & SlotPropsProps) => any;
72
+ export type EditorToolbarSlots<A extends ArrayOrNested<EditorToolbarItem> = ArrayOrNested<EditorToolbarItem>, T extends NestedItem<A> = NestedItem<A>> = {
73
+ item: SlotProps<T>;
74
+ } & DynamicSlots<MergeTypes<T>, undefined, SlotPropsProps>;
75
+ declare const _default: typeof __VLS_export;
76
+ export default _default;
77
+ declare const __VLS_export: <T extends ArrayOrNested<EditorToolbarItem>>(__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<{
78
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<EditorToolbarProps<T>> & (typeof globalThis extends {
79
+ __VLS_PROPS_FALLBACK: infer P;
80
+ } ? P : {});
81
+ expose: (exposed: {}) => void;
82
+ attrs: any;
83
+ slots: EditorToolbarSlots<T, NestedItem<T>>;
84
+ emit: {};
85
+ }>) => import("vue").VNode & {
86
+ __ctx?: Awaited<typeof __VLS_setup>;
87
+ };
88
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
89
+ [K in keyof T]: T[K];
90
+ } : {
91
+ [K in keyof T as K]: T[K];
92
+ }) & {};