@nuxt/ui 4.2.0 → 4.3.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 (364) hide show
  1. package/.nuxt/ui.css +154 -0
  2. package/README.md +2 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +2 -2
  5. package/dist/runtime/components/Accordion.d.vue.ts +3 -3
  6. package/dist/runtime/components/Accordion.vue +1 -1
  7. package/dist/runtime/components/Accordion.vue.d.ts +3 -3
  8. package/dist/runtime/components/Alert.d.vue.ts +3 -5
  9. package/dist/runtime/components/Alert.vue +2 -2
  10. package/dist/runtime/components/Alert.vue.d.ts +3 -5
  11. package/dist/runtime/components/App.d.vue.ts +3 -1
  12. package/dist/runtime/components/App.vue.d.ts +3 -1
  13. package/dist/runtime/components/AuthForm.d.vue.ts +8 -46
  14. package/dist/runtime/components/AuthForm.vue +1 -1
  15. package/dist/runtime/components/AuthForm.vue.d.ts +8 -46
  16. package/dist/runtime/components/Avatar.vue +1 -1
  17. package/dist/runtime/components/Badge.d.vue.ts +1 -3
  18. package/dist/runtime/components/Badge.vue +3 -3
  19. package/dist/runtime/components/Badge.vue.d.ts +1 -3
  20. package/dist/runtime/components/Banner.d.vue.ts +2 -2
  21. package/dist/runtime/components/Banner.vue +2 -2
  22. package/dist/runtime/components/Banner.vue.d.ts +2 -2
  23. package/dist/runtime/components/BlogPost.d.vue.ts +1 -4
  24. package/dist/runtime/components/BlogPost.vue +0 -1
  25. package/dist/runtime/components/BlogPost.vue.d.ts +1 -4
  26. package/dist/runtime/components/BlogPosts.d.vue.ts +3 -1
  27. package/dist/runtime/components/BlogPosts.vue.d.ts +3 -1
  28. package/dist/runtime/components/Breadcrumb.d.vue.ts +3 -1
  29. package/dist/runtime/components/Breadcrumb.vue +1 -1
  30. package/dist/runtime/components/Breadcrumb.vue.d.ts +3 -1
  31. package/dist/runtime/components/Button.vue +4 -4
  32. package/dist/runtime/components/Calendar.d.vue.ts +8 -11
  33. package/dist/runtime/components/Calendar.vue +4 -4
  34. package/dist/runtime/components/Calendar.vue.d.ts +8 -11
  35. package/dist/runtime/components/Carousel.d.vue.ts +6 -6
  36. package/dist/runtime/components/Carousel.vue +24 -2
  37. package/dist/runtime/components/Carousel.vue.d.ts +6 -6
  38. package/dist/runtime/components/ChangelogVersion.d.vue.ts +1 -4
  39. package/dist/runtime/components/ChangelogVersion.vue +0 -1
  40. package/dist/runtime/components/ChangelogVersion.vue.d.ts +1 -4
  41. package/dist/runtime/components/ChangelogVersions.d.vue.ts +3 -1
  42. package/dist/runtime/components/ChangelogVersions.vue.d.ts +3 -1
  43. package/dist/runtime/components/ChatMessage.d.vue.ts +1 -3
  44. package/dist/runtime/components/ChatMessage.vue +1 -1
  45. package/dist/runtime/components/ChatMessage.vue.d.ts +1 -3
  46. package/dist/runtime/components/ChatMessages.d.vue.ts +3 -8
  47. package/dist/runtime/components/ChatMessages.vue +1 -1
  48. package/dist/runtime/components/ChatMessages.vue.d.ts +3 -8
  49. package/dist/runtime/components/ChatPrompt.d.vue.ts +2 -7
  50. package/dist/runtime/components/ChatPrompt.vue +2 -2
  51. package/dist/runtime/components/ChatPrompt.vue.d.ts +2 -7
  52. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +9 -17
  53. package/dist/runtime/components/ChatPromptSubmit.vue +14 -33
  54. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +9 -17
  55. package/dist/runtime/components/Checkbox.vue +2 -2
  56. package/dist/runtime/components/CheckboxGroup.d.vue.ts +3 -4
  57. package/dist/runtime/components/CheckboxGroup.vue +1 -1
  58. package/dist/runtime/components/CheckboxGroup.vue.d.ts +3 -4
  59. package/dist/runtime/components/Chip.d.vue.ts +1 -4
  60. package/dist/runtime/components/Chip.vue.d.ts +1 -4
  61. package/dist/runtime/components/Collapsible.d.vue.ts +1 -3
  62. package/dist/runtime/components/Collapsible.vue.d.ts +1 -3
  63. package/dist/runtime/components/ColorPicker.d.vue.ts +1 -5
  64. package/dist/runtime/components/ColorPicker.vue.d.ts +1 -5
  65. package/dist/runtime/components/CommandPalette.d.vue.ts +9 -14
  66. package/dist/runtime/components/CommandPalette.vue +7 -7
  67. package/dist/runtime/components/CommandPalette.vue.d.ts +9 -14
  68. package/dist/runtime/components/ContextMenu.d.vue.ts +9 -5
  69. package/dist/runtime/components/ContextMenu.vue +3 -3
  70. package/dist/runtime/components/ContextMenu.vue.d.ts +9 -5
  71. package/dist/runtime/components/ContextMenuContent.d.vue.ts +3 -7
  72. package/dist/runtime/components/ContextMenuContent.vue +5 -5
  73. package/dist/runtime/components/ContextMenuContent.vue.d.ts +3 -7
  74. package/dist/runtime/components/DashboardGroup.d.vue.ts +1 -6
  75. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -6
  76. package/dist/runtime/components/DashboardNavbar.d.vue.ts +3 -6
  77. package/dist/runtime/components/DashboardNavbar.vue +1 -1
  78. package/dist/runtime/components/DashboardNavbar.vue.d.ts +3 -6
  79. package/dist/runtime/components/DashboardPanel.d.vue.ts +1 -4
  80. package/dist/runtime/components/DashboardPanel.vue.d.ts +1 -4
  81. package/dist/runtime/components/DashboardSearch.d.vue.ts +4 -9
  82. package/dist/runtime/components/DashboardSearch.vue +3 -3
  83. package/dist/runtime/components/DashboardSearch.vue.d.ts +4 -9
  84. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +3 -8
  85. package/dist/runtime/components/DashboardSearchButton.vue +5 -24
  86. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +3 -8
  87. package/dist/runtime/components/DashboardSidebar.d.vue.ts +5 -6
  88. package/dist/runtime/components/DashboardSidebar.vue.d.ts +5 -6
  89. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +3 -7
  90. package/dist/runtime/components/DashboardSidebarCollapse.vue +5 -24
  91. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +3 -7
  92. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +3 -7
  93. package/dist/runtime/components/DashboardSidebarToggle.vue +5 -24
  94. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +3 -7
  95. package/dist/runtime/components/Drawer.d.vue.ts +1 -8
  96. package/dist/runtime/components/Drawer.vue.d.ts +1 -8
  97. package/dist/runtime/components/DropdownMenu.d.vue.ts +9 -5
  98. package/dist/runtime/components/DropdownMenu.vue +3 -3
  99. package/dist/runtime/components/DropdownMenu.vue.d.ts +9 -5
  100. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +3 -7
  101. package/dist/runtime/components/DropdownMenuContent.vue +5 -5
  102. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +3 -7
  103. package/dist/runtime/components/Editor.d.vue.ts +87 -0
  104. package/dist/runtime/components/Editor.vue +185 -0
  105. package/dist/runtime/components/Editor.vue.d.ts +87 -0
  106. package/dist/runtime/components/EditorDragHandle.d.vue.ts +64 -0
  107. package/dist/runtime/components/EditorDragHandle.vue +127 -0
  108. package/dist/runtime/components/EditorDragHandle.vue.d.ts +64 -0
  109. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +35 -0
  110. package/dist/runtime/components/EditorEmojiMenu.vue +70 -0
  111. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +35 -0
  112. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +39 -0
  113. package/dist/runtime/components/EditorMentionMenu.vue +72 -0
  114. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +39 -0
  115. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +52 -0
  116. package/dist/runtime/components/EditorSuggestionMenu.vue +80 -0
  117. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +52 -0
  118. package/dist/runtime/components/EditorToolbar.d.vue.ts +90 -0
  119. package/dist/runtime/components/EditorToolbar.vue +242 -0
  120. package/dist/runtime/components/EditorToolbar.vue.d.ts +90 -0
  121. package/dist/runtime/components/Empty.vue +1 -1
  122. package/dist/runtime/components/Error.d.vue.ts +2 -5
  123. package/dist/runtime/components/Error.vue.d.ts +2 -5
  124. package/dist/runtime/components/FieldGroup.d.vue.ts +1 -3
  125. package/dist/runtime/components/FieldGroup.vue.d.ts +1 -3
  126. package/dist/runtime/components/FileUpload.d.vue.ts +5 -6
  127. package/dist/runtime/components/FileUpload.vue +3 -3
  128. package/dist/runtime/components/FileUpload.vue.d.ts +5 -6
  129. package/dist/runtime/components/Footer.d.vue.ts +1 -3
  130. package/dist/runtime/components/Footer.vue.d.ts +1 -3
  131. package/dist/runtime/components/FooterColumns.d.vue.ts +3 -1
  132. package/dist/runtime/components/FooterColumns.vue.d.ts +3 -1
  133. package/dist/runtime/components/Form.d.vue.ts +3 -4
  134. package/dist/runtime/components/Form.vue.d.ts +3 -4
  135. package/dist/runtime/components/FormField.d.vue.ts +5 -0
  136. package/dist/runtime/components/FormField.vue +6 -5
  137. package/dist/runtime/components/FormField.vue.d.ts +5 -0
  138. package/dist/runtime/components/Header.d.vue.ts +5 -5
  139. package/dist/runtime/components/Header.vue.d.ts +5 -5
  140. package/dist/runtime/components/Icon.d.vue.ts +1 -1
  141. package/dist/runtime/components/Icon.vue +1 -1
  142. package/dist/runtime/components/Icon.vue.d.ts +1 -1
  143. package/dist/runtime/components/Input.d.vue.ts +5 -7
  144. package/dist/runtime/components/Input.vue +4 -4
  145. package/dist/runtime/components/Input.vue.d.ts +5 -7
  146. package/dist/runtime/components/InputDate.d.vue.ts +4 -8
  147. package/dist/runtime/components/InputDate.vue +5 -5
  148. package/dist/runtime/components/InputDate.vue.d.ts +4 -8
  149. package/dist/runtime/components/InputMenu.d.vue.ts +9 -15
  150. package/dist/runtime/components/InputMenu.vue +20 -7
  151. package/dist/runtime/components/InputMenu.vue.d.ts +9 -15
  152. package/dist/runtime/components/InputNumber.d.vue.ts +7 -9
  153. package/dist/runtime/components/InputNumber.vue +2 -2
  154. package/dist/runtime/components/InputNumber.vue.d.ts +7 -9
  155. package/dist/runtime/components/InputTags.d.vue.ts +4 -10
  156. package/dist/runtime/components/InputTags.vue +5 -5
  157. package/dist/runtime/components/InputTags.vue.d.ts +4 -10
  158. package/dist/runtime/components/InputTime.d.vue.ts +3 -5
  159. package/dist/runtime/components/InputTime.vue +4 -4
  160. package/dist/runtime/components/InputTime.vue.d.ts +3 -5
  161. package/dist/runtime/components/Kbd.d.vue.ts +1 -3
  162. package/dist/runtime/components/Kbd.vue.d.ts +1 -3
  163. package/dist/runtime/components/Link.d.vue.ts +58 -8
  164. package/dist/runtime/components/Link.vue.d.ts +58 -8
  165. package/dist/runtime/components/LinkBase.d.vue.ts +1 -4
  166. package/dist/runtime/components/LinkBase.vue.d.ts +1 -4
  167. package/dist/runtime/components/Marquee.d.vue.ts +1 -5
  168. package/dist/runtime/components/Marquee.vue.d.ts +1 -5
  169. package/dist/runtime/components/Modal.d.vue.ts +3 -10
  170. package/dist/runtime/components/Modal.vue +1 -1
  171. package/dist/runtime/components/Modal.vue.d.ts +3 -10
  172. package/dist/runtime/components/NavigationMenu.d.vue.ts +3 -3
  173. package/dist/runtime/components/NavigationMenu.vue +2 -2
  174. package/dist/runtime/components/NavigationMenu.vue.d.ts +3 -3
  175. package/dist/runtime/components/PageAnchors.d.vue.ts +3 -1
  176. package/dist/runtime/components/PageAnchors.vue.d.ts +3 -1
  177. package/dist/runtime/components/PageAside.d.vue.ts +1 -3
  178. package/dist/runtime/components/PageAside.vue.d.ts +1 -3
  179. package/dist/runtime/components/PageCTA.d.vue.ts +1 -4
  180. package/dist/runtime/components/PageCTA.vue.d.ts +1 -4
  181. package/dist/runtime/components/PageCard.d.vue.ts +1 -3
  182. package/dist/runtime/components/PageCard.vue +1 -1
  183. package/dist/runtime/components/PageCard.vue.d.ts +1 -3
  184. package/dist/runtime/components/PageFeature.d.vue.ts +1 -3
  185. package/dist/runtime/components/PageFeature.vue +3 -3
  186. package/dist/runtime/components/PageFeature.vue.d.ts +1 -3
  187. package/dist/runtime/components/PageHero.d.vue.ts +1 -3
  188. package/dist/runtime/components/PageHero.vue.d.ts +1 -3
  189. package/dist/runtime/components/PageLinks.d.vue.ts +3 -1
  190. package/dist/runtime/components/PageLinks.vue.d.ts +3 -1
  191. package/dist/runtime/components/PageList.d.vue.ts +1 -3
  192. package/dist/runtime/components/PageList.vue.d.ts +1 -3
  193. package/dist/runtime/components/PageLogos.d.vue.ts +1 -3
  194. package/dist/runtime/components/PageLogos.vue.d.ts +1 -3
  195. package/dist/runtime/components/PageSection.d.vue.ts +1 -4
  196. package/dist/runtime/components/PageSection.vue +1 -1
  197. package/dist/runtime/components/PageSection.vue.d.ts +1 -4
  198. package/dist/runtime/components/Pagination.d.vue.ts +1 -12
  199. package/dist/runtime/components/Pagination.vue +5 -5
  200. package/dist/runtime/components/Pagination.vue.d.ts +1 -12
  201. package/dist/runtime/components/PinInput.d.vue.ts +4 -7
  202. package/dist/runtime/components/PinInput.vue +1 -1
  203. package/dist/runtime/components/PinInput.vue.d.ts +4 -7
  204. package/dist/runtime/components/Popover.d.vue.ts +3 -4
  205. package/dist/runtime/components/Popover.vue.d.ts +3 -4
  206. package/dist/runtime/components/PricingPlan.d.vue.ts +1 -3
  207. package/dist/runtime/components/PricingPlan.vue.d.ts +1 -3
  208. package/dist/runtime/components/PricingPlans.d.vue.ts +3 -1
  209. package/dist/runtime/components/PricingPlans.vue.d.ts +3 -1
  210. package/dist/runtime/components/PricingTable.d.vue.ts +3 -1
  211. package/dist/runtime/components/PricingTable.vue.d.ts +3 -1
  212. package/dist/runtime/components/Progress.d.vue.ts +1 -5
  213. package/dist/runtime/components/Progress.vue.d.ts +1 -5
  214. package/dist/runtime/components/RadioGroup.d.vue.ts +3 -4
  215. package/dist/runtime/components/RadioGroup.vue.d.ts +3 -4
  216. package/dist/runtime/components/ScrollArea.d.vue.ts +81 -0
  217. package/dist/runtime/components/ScrollArea.vue +187 -0
  218. package/dist/runtime/components/ScrollArea.vue.d.ts +81 -0
  219. package/dist/runtime/components/Select.d.vue.ts +6 -8
  220. package/dist/runtime/components/Select.vue +19 -6
  221. package/dist/runtime/components/Select.vue.d.ts +6 -8
  222. package/dist/runtime/components/SelectMenu.d.vue.ts +9 -14
  223. package/dist/runtime/components/SelectMenu.vue +19 -6
  224. package/dist/runtime/components/SelectMenu.vue.d.ts +9 -14
  225. package/dist/runtime/components/Separator.d.vue.ts +1 -3
  226. package/dist/runtime/components/Separator.vue +1 -1
  227. package/dist/runtime/components/Separator.vue.d.ts +1 -3
  228. package/dist/runtime/components/Slideover.d.vue.ts +8 -11
  229. package/dist/runtime/components/Slideover.vue +4 -2
  230. package/dist/runtime/components/Slideover.vue.d.ts +8 -11
  231. package/dist/runtime/components/Slider.d.vue.ts +3 -4
  232. package/dist/runtime/components/Slider.vue +2 -2
  233. package/dist/runtime/components/Slider.vue.d.ts +3 -4
  234. package/dist/runtime/components/Stepper.d.vue.ts +3 -5
  235. package/dist/runtime/components/Stepper.vue.d.ts +3 -5
  236. package/dist/runtime/components/Switch.vue +3 -3
  237. package/dist/runtime/components/Table.d.vue.ts +5 -16
  238. package/dist/runtime/components/Table.vue +55 -33
  239. package/dist/runtime/components/Table.vue.d.ts +5 -16
  240. package/dist/runtime/components/Tabs.d.vue.ts +3 -3
  241. package/dist/runtime/components/Tabs.vue.d.ts +3 -3
  242. package/dist/runtime/components/Textarea.d.vue.ts +5 -7
  243. package/dist/runtime/components/Textarea.vue +4 -4
  244. package/dist/runtime/components/Textarea.vue.d.ts +5 -7
  245. package/dist/runtime/components/Timeline.d.vue.ts +3 -3
  246. package/dist/runtime/components/Timeline.vue.d.ts +3 -3
  247. package/dist/runtime/components/Toast.d.vue.ts +3 -7
  248. package/dist/runtime/components/Toast.vue +2 -2
  249. package/dist/runtime/components/Toast.vue.d.ts +3 -7
  250. package/dist/runtime/components/Toaster.d.vue.ts +1 -7
  251. package/dist/runtime/components/Toaster.vue.d.ts +1 -7
  252. package/dist/runtime/components/Tooltip.d.vue.ts +1 -3
  253. package/dist/runtime/components/Tooltip.vue.d.ts +1 -3
  254. package/dist/runtime/components/Tree.d.vue.ts +3 -4
  255. package/dist/runtime/components/Tree.vue +3 -3
  256. package/dist/runtime/components/Tree.vue.d.ts +3 -4
  257. package/dist/runtime/components/User.d.vue.ts +1 -3
  258. package/dist/runtime/components/User.vue +0 -1
  259. package/dist/runtime/components/User.vue.d.ts +1 -3
  260. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +1 -1
  261. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -6
  262. package/dist/runtime/components/color-mode/ColorModeButton.vue +8 -26
  263. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -6
  264. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -3
  265. package/dist/runtime/components/color-mode/ColorModeSelect.vue +5 -4
  266. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -3
  267. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +1 -1
  268. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +3 -3
  269. package/dist/runtime/components/content/ContentNavigation.vue +1 -1
  270. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +3 -3
  271. package/dist/runtime/components/content/ContentSearch.d.vue.ts +6 -6
  272. package/dist/runtime/components/content/ContentSearch.vue +3 -3
  273. package/dist/runtime/components/content/ContentSearch.vue.d.ts +6 -6
  274. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +3 -8
  275. package/dist/runtime/components/content/ContentSearchButton.vue +5 -24
  276. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +3 -8
  277. package/dist/runtime/components/content/ContentSurround.d.vue.ts +3 -1
  278. package/dist/runtime/components/content/ContentSurround.vue +2 -2
  279. package/dist/runtime/components/content/ContentSurround.vue.d.ts +3 -1
  280. package/dist/runtime/components/content/ContentToc.d.vue.ts +3 -4
  281. package/dist/runtime/components/content/ContentToc.vue +1 -1
  282. package/dist/runtime/components/content/ContentToc.vue.d.ts +3 -4
  283. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -5
  284. package/dist/runtime/components/locale/LocaleSelect.vue +15 -8
  285. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -5
  286. package/dist/runtime/components/prose/Accordion.d.vue.ts +1 -3
  287. package/dist/runtime/components/prose/Accordion.vue.d.ts +1 -3
  288. package/dist/runtime/components/prose/Callout.vue +1 -2
  289. package/dist/runtime/components/prose/Card.vue +1 -2
  290. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  291. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +1 -3
  292. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +1 -3
  293. package/dist/runtime/components/prose/CodeIcon.vue +1 -1
  294. package/dist/runtime/components/prose/CodeTree.d.vue.ts +20 -1
  295. package/dist/runtime/components/prose/CodeTree.vue +32 -8
  296. package/dist/runtime/components/prose/CodeTree.vue.d.ts +20 -1
  297. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  298. package/dist/runtime/components/prose/Img.d.vue.ts +1 -3
  299. package/dist/runtime/components/prose/Img.vue.d.ts +1 -3
  300. package/dist/runtime/components/prose/Pre.vue +1 -1
  301. package/dist/runtime/components/prose/Tabs.d.vue.ts +1 -3
  302. package/dist/runtime/components/prose/Tabs.vue.d.ts +1 -3
  303. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
  304. package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
  305. package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
  306. package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
  307. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
  308. package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
  309. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
  310. package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
  311. package/dist/runtime/composables/defineShortcuts.d.ts +2 -1
  312. package/dist/runtime/composables/defineShortcuts.js +62 -15
  313. package/dist/runtime/composables/useComponentIcons.d.ts +2 -2
  314. package/dist/runtime/composables/useEditorMenu.d.ts +64 -0
  315. package/dist/runtime/composables/useEditorMenu.js +448 -0
  316. package/dist/runtime/composables/useFileUpload.d.ts +1 -2
  317. package/dist/runtime/locale/en_gb.d.ts +3 -0
  318. package/dist/runtime/locale/en_gb.js +7 -0
  319. package/dist/runtime/locale/eu.d.ts +3 -0
  320. package/dist/runtime/locale/eu.js +129 -0
  321. package/dist/runtime/locale/index.d.ts +3 -0
  322. package/dist/runtime/locale/index.js +3 -0
  323. package/dist/runtime/locale/lo.d.ts +3 -0
  324. package/dist/runtime/locale/lo.js +129 -0
  325. package/dist/runtime/types/editor.d.ts +69 -0
  326. package/dist/runtime/types/editor.js +0 -0
  327. package/dist/runtime/types/index.d.ts +8 -0
  328. package/dist/runtime/types/index.js +8 -0
  329. package/dist/runtime/utils/content.d.ts +2 -2
  330. package/dist/runtime/utils/editor.d.ts +69 -0
  331. package/dist/runtime/utils/editor.js +364 -0
  332. package/dist/runtime/utils/locale.d.ts +1 -2
  333. package/dist/runtime/vue/components/Icon.vue +1 -1
  334. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -3
  335. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +5 -4
  336. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -3
  337. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +1 -1
  338. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.d.vue.ts +6 -8
  339. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue +27 -8
  340. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue.d.ts +6 -8
  341. package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.d.vue.ts +3 -5
  342. package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue +5 -2
  343. package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue.d.ts +3 -5
  344. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +71 -0
  345. package/dist/runtime/vue/overrides/none/Link.vue +122 -0
  346. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +71 -0
  347. package/dist/runtime/vue/{components → overrides/vue-router}/Link.d.vue.ts +6 -9
  348. package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue +34 -11
  349. package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue.d.ts +6 -9
  350. package/dist/runtime/vue/{stubs.d.ts → stubs/base.d.ts} +4 -5
  351. package/dist/runtime/vue/{stubs.js → stubs/base.js} +4 -5
  352. package/dist/runtime/vue/stubs/inertia.d.ts +5 -0
  353. package/dist/runtime/vue/stubs/inertia.js +10 -0
  354. package/dist/runtime/vue/stubs/none.d.ts +56 -0
  355. package/dist/runtime/vue/stubs/none.js +48 -0
  356. package/dist/runtime/vue/stubs/vue-router.d.ts +2 -0
  357. package/dist/runtime/vue/stubs/vue-router.js +2 -0
  358. package/dist/shared/{ui.B77q-Dvh.mjs → ui.DegC4tw1.mjs} +282 -60
  359. package/dist/unplugin.d.mts +14 -0
  360. package/dist/unplugin.mjs +73 -48
  361. package/dist/vite.mjs +1 -1
  362. package/package.json +49 -31
  363. package/dist/runtime/inertia/stubs.d.ts +0 -44
  364. package/dist/runtime/inertia/stubs.js +0 -84
@@ -0,0 +1,364 @@
1
+ import { flip, shift, offset, size, autoPlacement, hide, inline } from "@floating-ui/dom";
2
+ import { isArrayOfArray } from "./index.js";
3
+ export function isMarkInSchema(mark, editor) {
4
+ if (!editor?.schema) {
5
+ return false;
6
+ }
7
+ const markName = typeof mark === "string" ? mark : mark.name;
8
+ return editor.schema.spec.marks.get(markName) !== void 0;
9
+ }
10
+ export function isNodeTypeSelected(editor, nodeTypes) {
11
+ if (!editor) {
12
+ return false;
13
+ }
14
+ const { selection } = editor.state;
15
+ const { $from, to } = selection;
16
+ return nodeTypes.some((nodeType) => {
17
+ return editor.state.doc.nodesBetween($from.pos, to, (node) => {
18
+ return node.type.name === nodeType;
19
+ });
20
+ });
21
+ }
22
+ export function isExtensionAvailable(editor, extensionName) {
23
+ if (!editor) {
24
+ return false;
25
+ }
26
+ return editor.extensionManager.extensions.some((ext) => ext.name === extensionName);
27
+ }
28
+ export function createToggleHandler(name) {
29
+ const fnName = `toggle${name.charAt(0).toUpperCase()}${name.slice(1)}`;
30
+ return {
31
+ canExecute: (editor) => editor.can()[fnName](),
32
+ execute: (editor) => editor.chain().focus()[fnName](),
33
+ isActive: (editor) => editor.isActive(name),
34
+ isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
35
+ };
36
+ }
37
+ export function createSetHandler(name) {
38
+ const fnName = `set${name.charAt(0).toUpperCase()}${name.slice(1)}`;
39
+ return {
40
+ canExecute: (editor) => editor.can()[fnName](),
41
+ execute: (editor) => editor.chain().focus()[fnName](),
42
+ isActive: (editor) => editor.isActive(name),
43
+ isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
44
+ };
45
+ }
46
+ export function createSimpleHandler(name) {
47
+ return {
48
+ canExecute: (editor) => editor.can()[name](),
49
+ execute: (editor) => editor.chain()[name](),
50
+ isActive: () => false,
51
+ isDisabled: void 0
52
+ };
53
+ }
54
+ export function createMarkHandler() {
55
+ return {
56
+ canExecute: (editor, cmd) => editor.can().toggleMark(cmd.mark),
57
+ execute: (editor, cmd) => editor.chain().focus().toggleMark(cmd.mark),
58
+ isActive: (editor, cmd) => editor.isActive(cmd.mark),
59
+ isDisabled: (editor, cmd) => !isMarkInSchema(cmd.mark, editor) || isNodeTypeSelected(editor, ["image"])
60
+ };
61
+ }
62
+ export function createTextAlignHandler() {
63
+ return {
64
+ canExecute: (editor, cmd) => editor.can().setTextAlign(cmd.align),
65
+ execute: (editor, cmd) => editor.chain().focus().setTextAlign(cmd.align),
66
+ isActive: (editor, cmd) => editor.isActive({ textAlign: cmd.align }),
67
+ isDisabled: (editor) => !isExtensionAvailable(editor, "textAlign") || isNodeTypeSelected(editor, ["image", "horizontalRule"])
68
+ };
69
+ }
70
+ export function createHeadingHandler() {
71
+ return {
72
+ canExecute: (editor, cmd) => editor.can().toggleHeading({ level: cmd.level }),
73
+ execute: (editor, cmd) => editor.chain().focus().toggleHeading({ level: cmd.level }),
74
+ isActive: (editor, cmd) => editor.isActive("heading", { level: cmd.level }),
75
+ isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
76
+ };
77
+ }
78
+ export function createLinkHandler() {
79
+ return {
80
+ canExecute: (editor) => {
81
+ return editor.can().setLink({ href: "" }) || editor.can().unsetLink();
82
+ },
83
+ execute: (editor, cmd) => {
84
+ const chain = editor.chain();
85
+ const previousUrl = editor.getAttributes("link").href;
86
+ if (previousUrl) {
87
+ return chain.focus().unsetLink();
88
+ }
89
+ if (cmd?.href) {
90
+ return chain.focus().setLink({ href: cmd.href });
91
+ }
92
+ const href = prompt("Enter the URL:");
93
+ if (href) {
94
+ return chain.focus().setLink({ href });
95
+ }
96
+ return chain;
97
+ },
98
+ isActive: (editor) => editor.isActive("link"),
99
+ isDisabled: (editor) => {
100
+ if (!isExtensionAvailable(editor, "link") || isNodeTypeSelected(editor, ["image"])) {
101
+ return true;
102
+ }
103
+ const { selection } = editor.state;
104
+ return selection.empty && !editor.isActive("link");
105
+ }
106
+ };
107
+ }
108
+ export function createImageHandler() {
109
+ return {
110
+ canExecute: (editor) => {
111
+ return editor.can().setImage({ src: "" });
112
+ },
113
+ execute: (editor, cmd) => {
114
+ const chain = editor.chain().focus();
115
+ if (cmd?.src) {
116
+ return chain.setImage({ src: cmd.src });
117
+ }
118
+ const src = prompt("Enter the image URL:");
119
+ if (src) {
120
+ return chain.setImage({ src });
121
+ }
122
+ return chain;
123
+ },
124
+ isActive: (editor) => editor.isActive("image"),
125
+ isDisabled: (editor) => {
126
+ return !isExtensionAvailable(editor, "image");
127
+ }
128
+ };
129
+ }
130
+ export function createListHandler(listType) {
131
+ const fnName = listType === "bulletList" ? "toggleBulletList" : "toggleOrderedList";
132
+ return {
133
+ canExecute: (editor) => {
134
+ return editor.can()[fnName]() || editor.isActive("bulletList") || editor.isActive("orderedList");
135
+ },
136
+ execute: (editor) => {
137
+ const { state } = editor;
138
+ const { selection } = state;
139
+ let chain = editor.chain().focus();
140
+ if (selection.node) {
141
+ const node = selection.node;
142
+ const firstChild = node.firstChild?.firstChild;
143
+ const lastChild = node.lastChild?.lastChild;
144
+ const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
145
+ const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
146
+ chain = chain.setTextSelection({ from, to }).clearNodes();
147
+ }
148
+ if (editor.isActive(listType)) {
149
+ return chain.liftListItem("listItem").lift("bulletList").lift("orderedList").selectTextblockEnd();
150
+ }
151
+ return chain[fnName]().selectTextblockEnd();
152
+ },
153
+ isActive: (editor) => editor.isActive(listType),
154
+ isDisabled: (editor) => isNodeTypeSelected(editor, ["image"]) || editor.isActive("code")
155
+ };
156
+ }
157
+ export function createMoveHandler(direction) {
158
+ return {
159
+ canExecute: (editor, cmd) => {
160
+ if (cmd?.pos == null) return false;
161
+ const node = editor.state.doc.nodeAt(cmd.pos);
162
+ if (!node) return false;
163
+ const $pos = editor.state.doc.resolve(cmd.pos);
164
+ const parent = $pos.parent;
165
+ const index = $pos.index();
166
+ return direction === "up" ? index > 0 : index < parent.childCount - 1;
167
+ },
168
+ execute: (editor, cmd) => {
169
+ if (cmd?.pos == null) return editor.chain();
170
+ const node = editor.state.doc.nodeAt(cmd.pos);
171
+ if (!node) return editor.chain();
172
+ const $pos = editor.state.doc.resolve(cmd.pos);
173
+ const parent = $pos.parent;
174
+ const index = $pos.index();
175
+ if (direction === "up" && index > 0) {
176
+ const prevNode = parent.child(index - 1);
177
+ const targetPos = cmd.pos - prevNode.nodeSize;
178
+ return editor.chain().focus().deleteRange({ from: cmd.pos, to: cmd.pos + node.nodeSize }).insertContentAt(targetPos, node.toJSON());
179
+ }
180
+ if (direction === "down" && index < parent.childCount - 1) {
181
+ const nextNode = parent.child(index + 1);
182
+ const targetPos = cmd.pos + nextNode.nodeSize;
183
+ return editor.chain().focus().deleteRange({ from: cmd.pos, to: cmd.pos + node.nodeSize }).insertContentAt(targetPos, node.toJSON());
184
+ }
185
+ return editor.chain();
186
+ },
187
+ isActive: () => false,
188
+ isDisabled: void 0
189
+ };
190
+ }
191
+ export function createHandlers() {
192
+ return {
193
+ mark: createMarkHandler(),
194
+ textAlign: createTextAlignHandler(),
195
+ heading: createHeadingHandler(),
196
+ link: createLinkHandler(),
197
+ image: createImageHandler(),
198
+ blockquote: createToggleHandler("blockquote"),
199
+ bulletList: createListHandler("bulletList"),
200
+ orderedList: createListHandler("orderedList"),
201
+ codeBlock: createToggleHandler("codeBlock"),
202
+ horizontalRule: createSetHandler("horizontalRule"),
203
+ paragraph: createSetHandler("paragraph"),
204
+ undo: createSimpleHandler("undo"),
205
+ redo: createSimpleHandler("redo"),
206
+ clearFormatting: {
207
+ canExecute: (editor, cmd) => {
208
+ if (cmd?.pos != null) {
209
+ const node = editor.state.doc.nodeAt(cmd.pos);
210
+ return !!node;
211
+ }
212
+ return editor.can().clearNodes() || editor.can().unsetAllMarks();
213
+ },
214
+ execute: (editor, cmd) => {
215
+ if (cmd?.pos != null) {
216
+ const node = editor.state.doc.nodeAt(cmd.pos);
217
+ if (!node) return editor.chain();
218
+ const from = cmd.pos + 1;
219
+ const to = cmd.pos + node.nodeSize - 1;
220
+ return editor.chain().focus().setTextSelection({ from, to }).clearNodes().unsetAllMarks();
221
+ }
222
+ return editor.chain().focus().clearNodes().unsetAllMarks();
223
+ },
224
+ isActive: () => false,
225
+ isDisabled: void 0
226
+ },
227
+ duplicate: {
228
+ canExecute: (editor, cmd) => {
229
+ if (cmd?.pos == null) return false;
230
+ const node = editor.state.doc.nodeAt(cmd.pos);
231
+ return !!node;
232
+ },
233
+ execute: (editor, cmd) => {
234
+ if (cmd?.pos == null) return editor.chain();
235
+ const node = editor.state.doc.nodeAt(cmd.pos);
236
+ if (!node) return editor.chain();
237
+ return editor.chain().focus().insertContentAt(cmd.pos + node.nodeSize, node.toJSON());
238
+ },
239
+ isActive: () => false,
240
+ isDisabled: void 0
241
+ },
242
+ delete: {
243
+ canExecute: (editor, cmd) => {
244
+ if (cmd?.pos == null) return false;
245
+ const node = editor.state.doc.nodeAt(cmd.pos);
246
+ return !!node;
247
+ },
248
+ execute: (editor, cmd) => {
249
+ if (cmd?.pos == null) return editor.chain();
250
+ const node = editor.state.doc.nodeAt(cmd.pos);
251
+ if (!node) return editor.chain();
252
+ return editor.chain().focus().deleteRange({ from: cmd.pos, to: cmd.pos + node.nodeSize });
253
+ },
254
+ isActive: () => false,
255
+ isDisabled: void 0
256
+ },
257
+ moveUp: createMoveHandler("up"),
258
+ moveDown: createMoveHandler("down"),
259
+ suggestion: {
260
+ canExecute: () => true,
261
+ execute: (editor, cmd) => {
262
+ const { state } = editor;
263
+ const { selection } = state;
264
+ const { $from } = selection;
265
+ if (cmd?.pos !== void 0) {
266
+ const node = state.doc.nodeAt(cmd.pos);
267
+ if (node) {
268
+ const insertPos2 = cmd.pos + node.nodeSize;
269
+ return editor.chain().focus().insertContentAt(insertPos2, { type: "paragraph", content: [{ type: "text", text: "/" }] });
270
+ }
271
+ }
272
+ const currentNode = $from.node($from.depth);
273
+ const currentNodePos = $from.before($from.depth);
274
+ const insertPos = currentNodePos + currentNode.nodeSize;
275
+ return editor.chain().focus().insertContentAt(insertPos, { type: "paragraph", content: [{ type: "text", text: "/" }] });
276
+ },
277
+ isActive: () => false,
278
+ isDisabled: void 0
279
+ },
280
+ mention: {
281
+ canExecute: () => true,
282
+ execute: (editor) => {
283
+ const { state } = editor;
284
+ const { selection } = state;
285
+ const { $from } = selection;
286
+ const textBefore = $from.parent.textBetween(Math.max(0, $from.parentOffset - 1), $from.parentOffset, void 0, " ");
287
+ const needsSpace = textBefore && textBefore !== " ";
288
+ return editor.chain().focus().insertContent(needsSpace ? " @" : "@");
289
+ },
290
+ isActive: () => false,
291
+ isDisabled: void 0
292
+ },
293
+ emoji: {
294
+ canExecute: () => true,
295
+ execute: (editor) => {
296
+ const { state } = editor;
297
+ const { selection } = state;
298
+ const { $from } = selection;
299
+ const textBefore = $from.parent.textBetween(Math.max(0, $from.parentOffset - 1), $from.parentOffset, void 0, " ");
300
+ const needsSpace = textBefore && textBefore !== " ";
301
+ return editor.chain().focus().insertContent(needsSpace ? " :" : ":");
302
+ },
303
+ isActive: () => false,
304
+ isDisabled: void 0
305
+ }
306
+ };
307
+ }
308
+ export function mapEditorItems(editor, items, customHandlers) {
309
+ const handlers = { ...createHandlers(), ...customHandlers };
310
+ if (isArrayOfArray(items)) {
311
+ return items.map(
312
+ (group) => mapEditorItems(editor, group, customHandlers)
313
+ );
314
+ }
315
+ return items.filter(Boolean).map((item) => {
316
+ if ("type" in item) {
317
+ return item;
318
+ }
319
+ const { kind, children, ...rest } = item;
320
+ const processedChildren = children?.length ? mapEditorItems(editor, children, customHandlers) : void 0;
321
+ if (kind) {
322
+ const handler = handlers[kind];
323
+ if (!handler) {
324
+ return {
325
+ ...rest,
326
+ children: processedChildren
327
+ };
328
+ }
329
+ return {
330
+ ...rest,
331
+ children: processedChildren,
332
+ disabled: handler.isDisabled?.(editor, item) || !handler.canExecute(editor, item),
333
+ active: handler.isActive(editor, item),
334
+ onSelect: () => handler.execute(editor, item).run()
335
+ };
336
+ }
337
+ return { ...rest, children: processedChildren };
338
+ });
339
+ }
340
+ export function buildFloatingUIMiddleware(options) {
341
+ const middleware = [];
342
+ if (options.offset) {
343
+ middleware.push(offset(typeof options.offset !== "boolean" ? options.offset : void 0));
344
+ }
345
+ if (options.flip) {
346
+ middleware.push(flip(typeof options.flip !== "boolean" ? options.flip : void 0));
347
+ }
348
+ if (options.shift) {
349
+ middleware.push(shift(typeof options.shift !== "boolean" ? options.shift : void 0));
350
+ }
351
+ if (options.size) {
352
+ middleware.push(size(typeof options.size !== "boolean" ? options.size : void 0));
353
+ }
354
+ if (options.autoPlacement) {
355
+ middleware.push(autoPlacement(typeof options.autoPlacement !== "boolean" ? options.autoPlacement : void 0));
356
+ }
357
+ if (options.hide) {
358
+ middleware.push(hide(typeof options.hide !== "boolean" ? options.hide : void 0));
359
+ }
360
+ if (options.inline) {
361
+ middleware.push(inline(typeof options.inline !== "boolean" ? options.inline : void 0));
362
+ }
363
+ return middleware;
364
+ }
@@ -1,6 +1,5 @@
1
- import type { Ref } from 'vue';
1
+ import type { Ref, MaybeRef } from 'vue';
2
2
  import type { Locale, Direction } from '../types/locale';
3
- import type { MaybeRef } from '@vueuse/core';
4
3
  export type TranslatorOption = Record<string, string | number>;
5
4
  export type Translator = (path: string, option?: TranslatorOption) => string;
6
5
  export type LocaleContext<M> = {
@@ -5,7 +5,7 @@
5
5
  <script setup>
6
6
  import { Icon as IconifyIcon } from "@iconify/vue";
7
7
  defineProps({
8
- name: { type: [String, Object], required: true }
8
+ name: { type: null, required: true }
9
9
  });
10
10
  </script>
11
11
 
@@ -1,8 +1,6 @@
1
1
  import type { SelectMenuProps, SelectMenuItem } from '../../../types';
2
2
  export interface ColorModeSelectProps extends Omit<SelectMenuProps<SelectMenuItem[]>, 'icon' | 'items' | 'modelValue'> {
3
3
  }
4
- declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {
5
- searchInput: boolean | import("../../../types").InputProps;
6
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4
+ declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
5
  declare const _default: typeof __VLS_export;
8
6
  export default _default;
@@ -17,8 +17,8 @@ const props = defineProps({
17
17
  variant: { type: null, required: false },
18
18
  size: { type: null, required: false },
19
19
  required: { type: Boolean, required: false },
20
- trailingIcon: { type: [String, Object], required: false },
21
- selectedIcon: { type: [String, Object], required: false },
20
+ trailingIcon: { type: null, required: false },
21
+ selectedIcon: { type: null, required: false },
22
22
  content: { type: Object, required: false },
23
23
  arrow: { type: [Boolean, Object], required: false },
24
24
  portal: { type: [Boolean, String], required: false, skipCheck: true },
@@ -27,6 +27,7 @@ const props = defineProps({
27
27
  labelKey: { type: null, required: false },
28
28
  descriptionKey: { type: null, required: false },
29
29
  defaultValue: { type: null, required: false },
30
+ modelModifiers: { type: Object, required: false },
30
31
  multiple: { type: Boolean, required: false },
31
32
  highlight: { type: Boolean, required: false },
32
33
  createItem: { type: [Boolean, String, Object], required: false },
@@ -45,10 +46,10 @@ const props = defineProps({
45
46
  highlightOnHover: { type: Boolean, required: false },
46
47
  avatar: { type: Object, required: false },
47
48
  leading: { type: Boolean, required: false },
48
- leadingIcon: { type: [String, Object], required: false },
49
+ leadingIcon: { type: null, required: false },
49
50
  trailing: { type: Boolean, required: false },
50
51
  loading: { type: Boolean, required: false },
51
- loadingIcon: { type: [String, Object], required: false }
52
+ loadingIcon: { type: null, required: false }
52
53
  });
53
54
  const { t } = useLocale();
54
55
  const colorMode = useColorMode();
@@ -1,8 +1,6 @@
1
1
  import type { SelectMenuProps, SelectMenuItem } from '../../../types';
2
2
  export interface ColorModeSelectProps extends Omit<SelectMenuProps<SelectMenuItem[]>, 'icon' | 'items' | 'modelValue'> {
3
3
  }
4
- declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {
5
- searchInput: boolean | import("../../../types").InputProps;
6
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4
+ declare const __VLS_export: import("vue").DefineComponent<ColorModeSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorModeSelectProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
5
  declare const _default: typeof __VLS_export;
8
6
  export default _default;
@@ -14,7 +14,7 @@ const props = defineProps({
14
14
  color: { type: null, required: false },
15
15
  size: { type: null, required: false },
16
16
  loading: { type: Boolean, required: false },
17
- loadingIcon: { type: [String, Object], required: false },
17
+ loadingIcon: { type: null, required: false },
18
18
  label: { type: String, required: false },
19
19
  description: { type: String, required: false },
20
20
  class: { type: null, required: false },
@@ -1,5 +1,5 @@
1
1
  import type { InertiaLinkProps } from '@inertiajs/vue3';
2
- import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
2
+ import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../../types/html';
3
3
  export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
4
  /**
5
5
  * The element or component this component should render as when not a link.
@@ -27,6 +27,10 @@ export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onCl
27
27
  * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
28
28
  */
29
29
  rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
30
+ /**
31
+ * If set to true, no rel attribute will be added to the link
32
+ */
33
+ noRel?: boolean;
30
34
  /**
31
35
  * Value passed to the attribute `aria-current` when the link is exact active.
32
36
  *
@@ -55,13 +59,7 @@ export interface LinkSlots {
55
59
  active: boolean;
56
60
  }): any;
57
61
  }
58
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
59
- type: "reset" | "submit" | "button";
60
- as: any;
61
- active: boolean;
62
- activeClass: string;
63
- inactiveClass: string;
64
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
62
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
65
63
  declare const _default: typeof __VLS_export;
66
64
  export default _default;
67
65
  type __VLS_WithSlots<T, S> = T & {
@@ -10,23 +10,25 @@ import { reactiveOmit } from "@vueuse/core";
10
10
  import { usePage } from "@inertiajs/vue3";
11
11
  import { hasProtocol } from "ufo";
12
12
  import { useAppConfig } from "#imports";
13
- import { tv } from "../../utils/tv";
14
- import ULinkBase from "../../components/LinkBase.vue";
13
+ import { tv } from "../../../utils/tv";
14
+ import { mergeClasses } from "../../../utils";
15
+ import ULinkBase from "./LinkBase.vue";
15
16
  defineOptions({ inheritAttrs: false });
16
17
  const props = defineProps({
17
18
  as: { type: null, required: false, default: "button" },
18
- activeClass: { type: String, required: false, default: "" },
19
+ activeClass: { type: String, required: false },
19
20
  to: { type: String, required: false },
20
21
  href: { type: String, required: false },
21
22
  external: { type: Boolean, required: false },
22
23
  target: { type: [String, Object, null], required: false },
23
24
  rel: { type: [String, Object, null], required: false },
24
- ariaCurrentValue: { type: String, required: false },
25
+ noRel: { type: Boolean, required: false },
26
+ ariaCurrentValue: { type: String, required: false, default: "page" },
25
27
  type: { type: null, required: false, default: "button" },
26
28
  disabled: { type: Boolean, required: false },
27
29
  active: { type: Boolean, required: false, default: void 0 },
28
30
  exact: { type: Boolean, required: false },
29
- inactiveClass: { type: String, required: false, default: "" },
31
+ inactiveClass: { type: String, required: false },
30
32
  custom: { type: Boolean, required: false },
31
33
  raw: { type: Boolean, required: false },
32
34
  class: { type: null, required: false },
@@ -59,14 +61,14 @@ const props = defineProps({
59
61
  defineSlots();
60
62
  const page = usePage();
61
63
  const appConfig = useAppConfig();
62
- const routerLinkProps = useForwardProps(reactiveOmit(props, "as", "type", "disabled", "active", "exact", "activeClass", "inactiveClass", "to", "href", "raw", "custom", "class"));
64
+ const routerLinkProps = useForwardProps(reactiveOmit(props, "as", "type", "disabled", "active", "exact", "activeClass", "inactiveClass", "to", "href", "raw", "custom", "class", "noRel"));
63
65
  const ui = computed(() => tv({
64
66
  extend: tv(theme),
65
67
  ...defu({
66
68
  variants: {
67
69
  active: {
68
- true: props.activeClass,
69
- false: props.inactiveClass
70
+ true: mergeClasses(appConfig.ui?.link?.variants?.active?.true, props.activeClass),
71
+ false: mergeClasses(appConfig.ui?.link?.variants?.active?.false, props.inactiveClass)
70
72
  }
71
73
  }
72
74
  }, appConfig.ui?.link || {})
@@ -84,6 +86,19 @@ const isExternal = computed(() => {
84
86
  }
85
87
  return typeof href.value === "string" && hasProtocol(href.value, { acceptRelative: true });
86
88
  });
89
+ const hasTarget = computed(() => !!props.target && props.target !== "_self");
90
+ const rel = computed(() => {
91
+ if (props.noRel) {
92
+ return null;
93
+ }
94
+ if (props.rel !== void 0) {
95
+ return props.rel || null;
96
+ }
97
+ if (isExternal.value || hasTarget.value) {
98
+ return "noopener noreferrer";
99
+ }
100
+ return null;
101
+ });
87
102
  const isLinkActive = computed(() => {
88
103
  if (props.active !== void 0) {
89
104
  return props.active;
@@ -118,6 +133,8 @@ const linkClass = computed(() => {
118
133
  type,
119
134
  disabled,
120
135
  href,
136
+ rel,
137
+ target,
121
138
  active: isLinkActive,
122
139
  isExternal
123
140
  }"
@@ -132,6 +149,8 @@ const linkClass = computed(() => {
132
149
  type,
133
150
  disabled,
134
151
  href,
152
+ rel,
153
+ target,
135
154
  isExternal
136
155
  }"
137
156
  :class="linkClass"
@@ -1,5 +1,5 @@
1
1
  import type { InertiaLinkProps } from '@inertiajs/vue3';
2
- import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
2
+ import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../../types/html';
3
3
  export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
4
  /**
5
5
  * The element or component this component should render as when not a link.
@@ -27,6 +27,10 @@ export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onCl
27
27
  * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
28
28
  */
29
29
  rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
30
+ /**
31
+ * If set to true, no rel attribute will be added to the link
32
+ */
33
+ noRel?: boolean;
30
34
  /**
31
35
  * Value passed to the attribute `aria-current` when the link is exact active.
32
36
  *
@@ -55,13 +59,7 @@ export interface LinkSlots {
55
59
  active: boolean;
56
60
  }): any;
57
61
  }
58
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
59
- type: "reset" | "submit" | "button";
60
- as: any;
61
- active: boolean;
62
- activeClass: string;
63
- inactiveClass: string;
64
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
62
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
65
63
  declare const _default: typeof __VLS_export;
66
64
  export default _default;
67
65
  type __VLS_WithSlots<T, S> = T & {
@@ -1,4 +1,4 @@
1
- import type { LinkProps } from '../../types';
1
+ import type { LinkProps } from '../../../types';
2
2
  export interface LinkBaseProps {
3
3
  as?: string;
4
4
  type?: string;
@@ -6,13 +6,11 @@ export interface LinkBaseProps {
6
6
  onClick?: ((e: MouseEvent) => void | Promise<void>) | Array<((e: MouseEvent) => void | Promise<void>)>;
7
7
  href?: string;
8
8
  target?: LinkProps['target'];
9
+ rel?: LinkProps['rel'];
9
10
  active?: boolean;
10
11
  isExternal?: boolean;
11
12
  }
12
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkBaseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkBaseProps> & Readonly<{}>, {
13
- type: string;
14
- as: string;
15
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
13
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkBaseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkBaseProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
16
14
  default?: (props: {}) => any;
17
15
  } & {
18
16
  default?: (props: {}) => any;
@@ -13,6 +13,7 @@ const props = defineProps({
13
13
  onClick: { type: [Function, Array], required: false },
14
14
  href: { type: String, required: false },
15
15
  target: { type: [String, Object, null], required: false },
16
+ rel: { type: [String, Object, null], required: false },
16
17
  active: { type: Boolean, required: false },
17
18
  isExternal: { type: Boolean, required: false }
18
19
  });
@@ -35,7 +36,8 @@ function onClickWrapper(e) {
35
36
  v-if="!!href && !isExternal && !disabled"
36
37
  :href="href"
37
38
  v-bind="{
38
- target: target || (isExternal ? '_blank' : void 0),
39
+ rel,
40
+ target,
39
41
  ...$attrs
40
42
  }"
41
43
  @click="onClickWrapper"
@@ -50,7 +52,8 @@ function onClickWrapper(e) {
50
52
  'aria-disabled': disabled ? 'true' : void 0,
51
53
  'role': disabled ? 'link' : void 0,
52
54
  'tabindex': disabled ? -1 : void 0,
53
- 'target': target || (isExternal ? '_blank' : void 0),
55
+ 'rel': rel,
56
+ 'target': target,
54
57
  ...$attrs
55
58
  } : as === 'button' ? {
56
59
  as,