@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,187 @@
1
+ <script>
2
+ import theme from "#build/ui/scroll-area";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed, toRef, useTemplateRef, watch } from "vue";
7
+ import { Primitive } from "reka-ui";
8
+ import { defu } from "defu";
9
+ import { useVirtualizer } from "@tanstack/vue-virtual";
10
+ import { useAppConfig } from "#imports";
11
+ import { tv } from "../utils/tv";
12
+ import { useLocale } from "../composables/useLocale";
13
+ const props = defineProps({
14
+ as: { type: null, required: false },
15
+ orientation: { type: null, required: false, default: "vertical" },
16
+ items: { type: Array, required: false },
17
+ virtualize: { type: [Boolean, Object], required: false, default: false },
18
+ class: { type: null, required: false },
19
+ ui: { type: null, required: false }
20
+ });
21
+ defineSlots();
22
+ const emits = defineEmits(["scroll"]);
23
+ const { dir } = useLocale();
24
+ const appConfig = useAppConfig();
25
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.scrollArea || {} })({
26
+ orientation: props.orientation
27
+ }));
28
+ const rootRef = useTemplateRef("rootRef");
29
+ const isRtl = computed(() => dir.value === "rtl");
30
+ const isHorizontal = computed(() => props.orientation === "horizontal");
31
+ const isVertical = computed(() => !isHorizontal.value);
32
+ const virtualizerProps = toRef(() => {
33
+ const options = typeof props.virtualize === "boolean" ? {} : props.virtualize;
34
+ return defu(options, {
35
+ estimateSize: 100,
36
+ overscan: 12,
37
+ gap: 0,
38
+ paddingStart: 0,
39
+ paddingEnd: 0,
40
+ scrollMargin: 0
41
+ });
42
+ });
43
+ const lanes = computed(() => {
44
+ const value = virtualizerProps.value.lanes;
45
+ return typeof value === "number" ? value : void 0;
46
+ });
47
+ const virtualizer = !!props.virtualize && useVirtualizer({
48
+ ...virtualizerProps.value,
49
+ get overscan() {
50
+ return virtualizerProps.value.overscan;
51
+ },
52
+ get gap() {
53
+ return virtualizerProps.value.gap;
54
+ },
55
+ get paddingStart() {
56
+ return virtualizerProps.value.paddingStart;
57
+ },
58
+ get paddingEnd() {
59
+ return virtualizerProps.value.paddingEnd;
60
+ },
61
+ get scrollMargin() {
62
+ return virtualizerProps.value.scrollMargin;
63
+ },
64
+ get lanes() {
65
+ return lanes.value;
66
+ },
67
+ get isRtl() {
68
+ return isRtl.value;
69
+ },
70
+ get count() {
71
+ return props.items?.length || 0;
72
+ },
73
+ getScrollElement: () => rootRef.value?.$el,
74
+ get horizontal() {
75
+ return isHorizontal.value;
76
+ },
77
+ estimateSize: (index) => {
78
+ const estimate = virtualizerProps.value.estimateSize;
79
+ return typeof estimate === "function" ? estimate(index) : estimate;
80
+ }
81
+ });
82
+ const virtualItems = computed(() => virtualizer ? virtualizer.value.getVirtualItems() : []);
83
+ const totalSize = computed(() => virtualizer ? virtualizer.value.getTotalSize() : 0);
84
+ const virtualViewportStyle = computed(() => ({
85
+ position: "relative",
86
+ inlineSize: isHorizontal.value ? `${totalSize.value}px` : "100%",
87
+ blockSize: isVertical.value ? `${totalSize.value}px` : "100%"
88
+ }));
89
+ function getVirtualItemStyle(virtualItem) {
90
+ const hasLanes = lanes.value !== void 0 && lanes.value > 1;
91
+ const lane = virtualItem.lane;
92
+ const gap = virtualizerProps.value.gap ?? 0;
93
+ const laneSize = hasLanes ? `calc((100% - ${(lanes.value - 1) * gap}px) / ${lanes.value})` : "100%";
94
+ const lanePosition = hasLanes && lane !== void 0 ? `calc(${lane} * ((100% - ${(lanes.value - 1) * gap}px) / ${lanes.value} + ${gap}px))` : 0;
95
+ return {
96
+ position: "absolute",
97
+ insetBlockStart: isHorizontal.value && hasLanes ? lanePosition : 0,
98
+ insetInlineStart: isVertical.value && hasLanes ? lanePosition : 0,
99
+ blockSize: isHorizontal.value ? hasLanes ? laneSize : "100%" : void 0,
100
+ inlineSize: isVertical.value ? hasLanes ? laneSize : "100%" : void 0,
101
+ transform: isHorizontal.value ? `translateX(${isRtl.value ? -virtualItem.start : virtualItem.start}px)` : `translateY(${virtualItem.start}px)`
102
+ };
103
+ }
104
+ watch(lanes, () => {
105
+ if (virtualizer) {
106
+ virtualizer.value.measure();
107
+ }
108
+ }, { flush: "sync" });
109
+ function measureElement(el) {
110
+ if (el && virtualizer) {
111
+ const element = el instanceof Element ? el : el.$el;
112
+ virtualizer.value.measureElement(element);
113
+ }
114
+ }
115
+ watch(
116
+ () => virtualizer ? virtualizer.value.isScrolling : false,
117
+ (isScrolling) => emits("scroll", isScrolling)
118
+ );
119
+ function getItemKey(item, index) {
120
+ if (virtualizerProps.value.getItemKey) {
121
+ return virtualizerProps.value.getItemKey(index);
122
+ }
123
+ if (item && typeof item === "object" && "id" in item) {
124
+ return item.id;
125
+ }
126
+ return index;
127
+ }
128
+ defineExpose({
129
+ get $el() {
130
+ return rootRef.value?.$el;
131
+ },
132
+ virtualizer: virtualizer || void 0
133
+ });
134
+ </script>
135
+
136
+ <template>
137
+ <Primitive
138
+ ref="rootRef"
139
+ :as="as"
140
+ data-slot="root"
141
+ :data-orientation="orientation"
142
+ :class="ui.root({ class: [props.ui?.root, props.class] })"
143
+ >
144
+ <template v-if="virtualizer">
145
+ <div
146
+ data-slot="viewport"
147
+ :class="ui.viewport({ class: props.ui?.viewport })"
148
+ :style="virtualViewportStyle"
149
+ >
150
+ <div
151
+ v-for="virtualItem in virtualItems"
152
+ :key="String(virtualItem.key)"
153
+ :ref="measureElement"
154
+ :data-index="virtualItem.index"
155
+ data-slot="item"
156
+ :class="ui.item({ class: props.ui?.item })"
157
+ :style="getVirtualItemStyle(virtualItem)"
158
+ >
159
+ <slot
160
+ :item="items?.[virtualItem.index]"
161
+ :index="virtualItem.index"
162
+ :virtual-item="virtualItem"
163
+ />
164
+ </div>
165
+ </div>
166
+ </template>
167
+
168
+ <template v-else>
169
+ <div data-slot="viewport" :class="ui.viewport({ class: props.ui?.viewport })">
170
+ <template v-if="items?.length">
171
+ <div
172
+ v-for="(item, index) in items"
173
+ :key="getItemKey(item, index)"
174
+ data-slot="item"
175
+ :class="ui.item({ class: props.ui?.item })"
176
+ >
177
+ <slot :item="item" :index="index" />
178
+ </div>
179
+ </template>
180
+
181
+ <template v-else>
182
+ <slot />
183
+ </template>
184
+ </div>
185
+ </template>
186
+ </Primitive>
187
+ </template>
@@ -0,0 +1,81 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { VirtualItem, VirtualizerOptions } from '@tanstack/vue-virtual';
3
+ import theme from '#build/ui/scroll-area';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type ScrollArea = ComponentConfig<typeof theme, AppConfig, 'scrollArea'>;
6
+ export interface ScrollAreaVirtualizeOptions extends Partial<Omit<VirtualizerOptions<Element, Element>, 'count' | 'getScrollElement' | 'horizontal' | 'isRtl' | 'estimateSize' | 'lanes' | 'enabled'>> {
7
+ /**
8
+ * Estimated size (in px) of each item along the scroll axis. Can be a number or a function.
9
+ * @defaultValue 100
10
+ */
11
+ estimateSize?: number | ((index: number) => number);
12
+ /**
13
+ * Number of lanes for multi-column/row layouts.
14
+ * For responsive lane counts, use a computed property with viewport/container size:
15
+ * @example
16
+ * ```ts
17
+ * const { width } = useWindowSize()
18
+ * const lanes = computed(() => Math.floor(width.value / 300))
19
+ * ```
20
+ * @defaultValue undefined
21
+ */
22
+ lanes?: number;
23
+ }
24
+ export type ScrollAreaItem = any;
25
+ export interface ScrollAreaProps<T extends ScrollAreaItem = ScrollAreaItem> {
26
+ /**
27
+ * The element or component this component should render as.
28
+ * @defaultValue 'div'
29
+ */
30
+ as?: any;
31
+ /**
32
+ * The scroll direction.
33
+ * @defaultValue 'vertical'
34
+ */
35
+ orientation?: ScrollArea['variants']['orientation'];
36
+ /**
37
+ * Array of items to render.
38
+ */
39
+ items?: T[];
40
+ /**
41
+ * Enable virtualization for large lists.
42
+ * @see https://tanstack.com/virtual/latest/docs/api/virtualizer#options
43
+ * @defaultValue false
44
+ */
45
+ virtualize?: boolean | ScrollAreaVirtualizeOptions;
46
+ class?: any;
47
+ ui?: ScrollArea['slots'];
48
+ }
49
+ export interface ScrollAreaSlots<T extends ScrollAreaItem = ScrollAreaItem> {
50
+ default(props: {
51
+ item: T;
52
+ index: number;
53
+ virtualItem?: VirtualItem;
54
+ } | Record<string, never>): any;
55
+ }
56
+ export interface ScrollAreaEmits {
57
+ /**
58
+ * Emitted when scroll state changes
59
+ * @param isScrolling - Whether the list is currently being scrolled
60
+ */
61
+ scroll: [isScrolling: boolean];
62
+ }
63
+ declare const __VLS_export: <T extends ScrollAreaItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
64
+ props: __VLS_PrettifyLocal<ScrollAreaProps<T> & __VLS_EmitsToProps<__VLS_NormalizeEmits<(evt: "scroll", isScrolling: boolean) => void>>> & import("vue").PublicProps & (typeof globalThis extends {
65
+ __VLS_PROPS_FALLBACK: infer P;
66
+ } ? P : {});
67
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
68
+ readonly $el: HTMLElement;
69
+ virtualizer: import("vue").Ref<import("@tanstack/vue-virtual").Virtualizer<Element, Element>, import("@tanstack/vue-virtual").Virtualizer<Element, Element>> | undefined;
70
+ }>) => void;
71
+ attrs: any;
72
+ slots: ScrollAreaSlots<T>;
73
+ emit: (evt: "scroll", isScrolling: boolean) => void;
74
+ }>) => import("vue").VNode & {
75
+ __ctx?: Awaited<typeof __VLS_setup>;
76
+ };
77
+ declare const _default: typeof __VLS_export;
78
+ export default _default;
79
+ type __VLS_PrettifyLocal<T> = {
80
+ [K in keyof T as K]: T[K];
81
+ } & {};
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/select';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, IconProps } from '../types';
6
+ import type { ModelModifiers } from '../types/input';
6
7
  import type { ButtonHTMLAttributes } from '../types/html';
7
8
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
8
9
  import type { ComponentConfig } from '../types/tv';
@@ -92,6 +93,7 @@ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested
92
93
  defaultValue?: GetModelValue<T, VK, M>;
93
94
  /** The controlled value of the Select. Can be bind as `v-model`. */
94
95
  modelValue?: GetModelValue<T, VK, M>;
96
+ modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
95
97
  /** Whether multiple options can be selected or not. */
96
98
  multiple?: M & boolean;
97
99
  /** Highlight the ring color like a focus state. */
@@ -142,19 +144,15 @@ export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested
142
144
  'content-bottom': (props?: {}) => any;
143
145
  }
144
146
  declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = "value", M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
145
- props: __VLS_PrettifyLocal<SelectProps<T, VK, M> & {
146
- onChange?: ((event: Event) => any) | undefined;
147
- onBlur?: ((event: FocusEvent) => any) | undefined;
148
- onFocus?: ((event: FocusEvent) => any) | undefined;
149
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
150
- "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
151
- }> & import("vue").PublicProps;
147
+ props: __VLS_PrettifyLocal<SelectProps<T, VK, M> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
148
+ __VLS_PROPS_FALLBACK: infer P;
149
+ } ? P : {});
152
150
  expose: (exposed: import("vue").ShallowUnwrapRef<{
153
151
  triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
154
152
  }>) => void;
155
153
  attrs: any;
156
154
  slots: SelectSlots<T, VK, M, NestedItem<T>>;
157
- emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
155
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
158
156
  }>) => import("vue").VNode & {
159
157
  __ctx?: Awaited<typeof __VLS_setup>;
160
158
  };
@@ -12,7 +12,7 @@ import { useFieldGroup } from "../composables/useFieldGroup";
12
12
  import { useComponentIcons } from "../composables/useComponentIcons";
13
13
  import { useFormField } from "../composables/useFormField";
14
14
  import { usePortal } from "../composables/usePortal";
15
- import { get, getDisplayValue, isArrayOfArray } from "../utils";
15
+ import { get, getDisplayValue, isArrayOfArray, looseToNumber } from "../utils";
16
16
  import { tv } from "../utils/tv";
17
17
  import UIcon from "./Icon.vue";
18
18
  import UAvatar from "./Avatar.vue";
@@ -24,8 +24,8 @@ const props = defineProps({
24
24
  color: { type: null, required: false },
25
25
  variant: { type: null, required: false },
26
26
  size: { type: null, required: false },
27
- trailingIcon: { type: [String, Object], required: false },
28
- selectedIcon: { type: [String, Object], required: false },
27
+ trailingIcon: { type: null, required: false },
28
+ selectedIcon: { type: null, required: false },
29
29
  content: { type: Object, required: false },
30
30
  arrow: { type: [Boolean, Object], required: false },
31
31
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
@@ -35,6 +35,7 @@ const props = defineProps({
35
35
  items: { type: null, required: false },
36
36
  defaultValue: { type: null, required: false },
37
37
  modelValue: { type: null, required: false },
38
+ modelModifiers: { type: Object, required: false },
38
39
  multiple: { type: Boolean, required: false },
39
40
  highlight: { type: Boolean, required: false },
40
41
  autofocus: { type: Boolean, required: false },
@@ -47,13 +48,13 @@ const props = defineProps({
47
48
  disabled: { type: Boolean, required: false },
48
49
  name: { type: String, required: false },
49
50
  required: { type: Boolean, required: false },
50
- icon: { type: [String, Object], required: false },
51
+ icon: { type: null, required: false },
51
52
  avatar: { type: Object, required: false },
52
53
  leading: { type: Boolean, required: false },
53
- leadingIcon: { type: [String, Object], required: false },
54
+ leadingIcon: { type: null, required: false },
54
55
  trailing: { type: Boolean, required: false },
55
56
  loading: { type: Boolean, required: false },
56
- loadingIcon: { type: [String, Object], required: false }
57
+ loadingIcon: { type: null, required: false }
57
58
  });
58
59
  const emits = defineEmits(["update:open", "change", "blur", "focus", "update:modelValue"]);
59
60
  const slots = defineSlots();
@@ -107,6 +108,18 @@ onMounted(() => {
107
108
  }, props.autofocusDelay);
108
109
  });
109
110
  function onUpdate(value) {
111
+ if (props.modelModifiers?.trim) {
112
+ value = value?.trim() ?? null;
113
+ }
114
+ if (props.modelModifiers?.number) {
115
+ value = looseToNumber(value);
116
+ }
117
+ if (props.modelModifiers?.nullable) {
118
+ value ??= null;
119
+ }
120
+ if (props.modelModifiers?.optional) {
121
+ value ??= void 0;
122
+ }
110
123
  const event = new Event("change", { target: { value } });
111
124
  emits("change", event);
112
125
  emitFormChange();
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/select';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, IconProps } from '../types';
6
+ import type { ModelModifiers } from '../types/input';
6
7
  import type { ButtonHTMLAttributes } from '../types/html';
7
8
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
8
9
  import type { ComponentConfig } from '../types/tv';
@@ -92,6 +93,7 @@ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested
92
93
  defaultValue?: GetModelValue<T, VK, M>;
93
94
  /** The controlled value of the Select. Can be bind as `v-model`. */
94
95
  modelValue?: GetModelValue<T, VK, M>;
96
+ modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
95
97
  /** Whether multiple options can be selected or not. */
96
98
  multiple?: M & boolean;
97
99
  /** Highlight the ring color like a focus state. */
@@ -142,19 +144,15 @@ export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested
142
144
  'content-bottom': (props?: {}) => any;
143
145
  }
144
146
  declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = "value", M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
145
- props: __VLS_PrettifyLocal<SelectProps<T, VK, M> & {
146
- onChange?: ((event: Event) => any) | undefined;
147
- onBlur?: ((event: FocusEvent) => any) | undefined;
148
- onFocus?: ((event: FocusEvent) => any) | undefined;
149
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
150
- "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
151
- }> & import("vue").PublicProps;
147
+ props: __VLS_PrettifyLocal<SelectProps<T, VK, M> & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
148
+ __VLS_PROPS_FALLBACK: infer P;
149
+ } ? P : {});
152
150
  expose: (exposed: import("vue").ShallowUnwrapRef<{
153
151
  triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
154
152
  }>) => void;
155
153
  attrs: any;
156
154
  slots: SelectSlots<T, VK, M, NestedItem<T>>;
157
- emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
155
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
158
156
  }>) => import("vue").VNode & {
159
157
  __ctx?: Awaited<typeof __VLS_setup>;
160
158
  };
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/select-menu';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, IconProps, InputProps } from '../types';
6
+ import type { ModelModifiers } from '../types/input';
6
7
  import type { ButtonHTMLAttributes } from '../types/html';
7
8
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
8
9
  import type { ComponentConfig } from '../types/tv';
@@ -117,6 +118,7 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
117
118
  defaultValue?: GetModelValue<T, VK, M>;
118
119
  /** The controlled value of the SelectMenu. Can be binded-with with `v-model`. */
119
120
  modelValue?: GetModelValue<T, VK, M>;
121
+ modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
120
122
  /** Whether multiple options can be selected or not. */
121
123
  multiple?: M & boolean;
122
124
  /** Highlight the ring color like a focus state. */
@@ -201,25 +203,18 @@ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = Array
201
203
  declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
202
204
  props: __VLS_PrettifyLocal<(SelectMenuProps<T, VK, M> & {
203
205
  searchTerm?: string;
204
- }) & {
205
- onChange?: ((event: Event) => any) | undefined;
206
- onBlur?: ((event: FocusEvent) => any) | undefined;
207
- onFocus?: ((event: FocusEvent) => any) | undefined;
208
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
209
- onCreate?: ((item: string) => any) | undefined;
210
- "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
211
- onHighlight?: ((payload: {
212
- ref: HTMLElement;
213
- value: GetModelValue<T, VK, M>;
214
- } | undefined) => any) | undefined;
215
- "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
216
- }> & import("vue").PublicProps;
206
+ }) & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
207
+ ref: HTMLElement;
208
+ value: GetModelValue<T, VK, M>;
209
+ } | undefined) => void) & ((evt: "update:searchTerm", value: string) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
210
+ __VLS_PROPS_FALLBACK: infer P;
211
+ } ? P : {});
217
212
  expose: (exposed: import("vue").ShallowUnwrapRef<{
218
213
  triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
219
214
  }>) => void;
220
215
  attrs: any;
221
216
  slots: SelectMenuSlots<T, VK, M, NestedItem<T>>;
222
- emit: (((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
217
+ emit: (((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
223
218
  ref: HTMLElement;
224
219
  value: GetModelValue<T, VK, M>;
225
220
  } | undefined) => void)) & ((evt: "update:searchTerm", value: string) => void);
@@ -13,7 +13,7 @@ import { useComponentIcons } from "../composables/useComponentIcons";
13
13
  import { useFormField } from "../composables/useFormField";
14
14
  import { useLocale } from "../composables/useLocale";
15
15
  import { usePortal } from "../composables/usePortal";
16
- import { compare, get, getDisplayValue, isArrayOfArray } from "../utils";
16
+ import { compare, get, getDisplayValue, isArrayOfArray, looseToNumber } from "../utils";
17
17
  import { getEstimateSize } from "../utils/virtualizer";
18
18
  import { tv } from "../utils/tv";
19
19
  import UIcon from "./Icon.vue";
@@ -29,8 +29,8 @@ const props = defineProps({
29
29
  variant: { type: null, required: false },
30
30
  size: { type: null, required: false },
31
31
  required: { type: Boolean, required: false },
32
- trailingIcon: { type: [String, Object], required: false },
33
- selectedIcon: { type: [String, Object], required: false },
32
+ trailingIcon: { type: null, required: false },
33
+ selectedIcon: { type: null, required: false },
34
34
  content: { type: Object, required: false },
35
35
  arrow: { type: [Boolean, Object], required: false },
36
36
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
@@ -41,6 +41,7 @@ const props = defineProps({
41
41
  items: { type: null, required: false },
42
42
  defaultValue: { type: null, required: false },
43
43
  modelValue: { type: null, required: false },
44
+ modelModifiers: { type: Object, required: false },
44
45
  multiple: { type: Boolean, required: false },
45
46
  highlight: { type: Boolean, required: false },
46
47
  createItem: { type: [Boolean, String, Object], required: false },
@@ -57,13 +58,13 @@ const props = defineProps({
57
58
  resetSearchTermOnBlur: { type: Boolean, required: false, default: true },
58
59
  resetSearchTermOnSelect: { type: Boolean, required: false, default: true },
59
60
  highlightOnHover: { type: Boolean, required: false },
60
- icon: { type: [String, Object], required: false },
61
+ icon: { type: null, required: false },
61
62
  avatar: { type: Object, required: false },
62
63
  leading: { type: Boolean, required: false },
63
- leadingIcon: { type: [String, Object], required: false },
64
+ leadingIcon: { type: null, required: false },
64
65
  trailing: { type: Boolean, required: false },
65
66
  loading: { type: Boolean, required: false },
66
- loadingIcon: { type: [String, Object], required: false }
67
+ loadingIcon: { type: null, required: false }
67
68
  });
68
69
  const emits = defineEmits(["update:open", "change", "blur", "focus", "create", "highlight", "update:modelValue"]);
69
70
  const slots = defineSlots();
@@ -179,6 +180,18 @@ function onUpdate(value) {
179
180
  if (toRaw(props.modelValue) === value) {
180
181
  return;
181
182
  }
183
+ if (props.modelModifiers?.trim) {
184
+ value = value?.trim() ?? null;
185
+ }
186
+ if (props.modelModifiers?.number) {
187
+ value = looseToNumber(value);
188
+ }
189
+ if (props.modelModifiers?.nullable) {
190
+ value ??= null;
191
+ }
192
+ if (props.modelModifiers?.optional) {
193
+ value ??= void 0;
194
+ }
182
195
  const event = new Event("change", { target: { value } });
183
196
  emits("change", event);
184
197
  emitFormChange();
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/select-menu';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, IconProps, InputProps } from '../types';
6
+ import type { ModelModifiers } from '../types/input';
6
7
  import type { ButtonHTMLAttributes } from '../types/html';
7
8
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
8
9
  import type { ComponentConfig } from '../types/tv';
@@ -117,6 +118,7 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
117
118
  defaultValue?: GetModelValue<T, VK, M>;
118
119
  /** The controlled value of the SelectMenu. Can be binded-with with `v-model`. */
119
120
  modelValue?: GetModelValue<T, VK, M>;
121
+ modelModifiers?: Omit<ModelModifiers<GetModelValue<T, VK, M>>, 'lazy'>;
120
122
  /** Whether multiple options can be selected or not. */
121
123
  multiple?: M & boolean;
122
124
  /** Highlight the ring color like a focus state. */
@@ -201,25 +203,18 @@ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = Array
201
203
  declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
202
204
  props: __VLS_PrettifyLocal<(SelectMenuProps<T, VK, M> & {
203
205
  searchTerm?: string;
204
- }) & {
205
- onChange?: ((event: Event) => any) | undefined;
206
- onBlur?: ((event: FocusEvent) => any) | undefined;
207
- onFocus?: ((event: FocusEvent) => any) | undefined;
208
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
209
- onCreate?: ((item: string) => any) | undefined;
210
- "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
211
- onHighlight?: ((payload: {
212
- ref: HTMLElement;
213
- value: GetModelValue<T, VK, M>;
214
- } | undefined) => any) | undefined;
215
- "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
216
- }> & import("vue").PublicProps;
206
+ }) & __VLS_EmitsToProps<__VLS_NormalizeEmits<((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
207
+ ref: HTMLElement;
208
+ value: GetModelValue<T, VK, M>;
209
+ } | undefined) => void) & ((evt: "update:searchTerm", value: string) => void)>>> & import("vue").PublicProps & (typeof globalThis extends {
210
+ __VLS_PROPS_FALLBACK: infer P;
211
+ } ? P : {});
217
212
  expose: (exposed: import("vue").ShallowUnwrapRef<{
218
213
  triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
219
214
  }>) => void;
220
215
  attrs: any;
221
216
  slots: SelectMenuSlots<T, VK, M, NestedItem<T>>;
222
- emit: (((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
217
+ emit: (((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
223
218
  ref: HTMLElement;
224
219
  value: GetModelValue<T, VK, M>;
225
220
  } | undefined) => void)) & ((evt: "update:searchTerm", value: string) => void);
@@ -45,9 +45,7 @@ export interface SeparatorSlots {
45
45
  ui: Separator['ui'];
46
46
  }): any;
47
47
  }
48
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
49
- orientation: "horizontal" | "vertical";
50
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
48
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
51
49
  declare const _default: typeof __VLS_export;
52
50
  export default _default;
53
51
  type __VLS_WithSlots<T, S> = T & {
@@ -13,7 +13,7 @@ import UAvatar from "./Avatar.vue";
13
13
  const props = defineProps({
14
14
  as: { type: null, required: false },
15
15
  label: { type: String, required: false },
16
- icon: { type: [String, Object], required: false },
16
+ icon: { type: null, required: false },
17
17
  avatar: { type: Object, required: false },
18
18
  color: { type: null, required: false },
19
19
  size: { type: null, required: false },
@@ -45,9 +45,7 @@ export interface SeparatorSlots {
45
45
  ui: Separator['ui'];
46
46
  }): any;
47
47
  }
48
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
49
- orientation: "horizontal" | "vertical";
50
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
48
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
51
49
  declare const _default: typeof __VLS_export;
52
50
  export default _default;
53
51
  type __VLS_WithSlots<T, S> = T & {