@nuxt/ui 4.4.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/README.md +4 -1
  2. package/cli/package.json +1 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +3 -3
  5. package/dist/runtime/components/Accordion.vue +12 -10
  6. package/dist/runtime/components/Alert.vue +12 -10
  7. package/dist/runtime/components/AuthForm.vue +19 -17
  8. package/dist/runtime/components/Avatar.vue +7 -5
  9. package/dist/runtime/components/AvatarGroup.vue +6 -4
  10. package/dist/runtime/components/Badge.vue +8 -6
  11. package/dist/runtime/components/Banner.vue +12 -10
  12. package/dist/runtime/components/BlogPost.d.vue.ts +3 -2
  13. package/dist/runtime/components/BlogPost.vue +16 -14
  14. package/dist/runtime/components/BlogPost.vue.d.ts +3 -2
  15. package/dist/runtime/components/BlogPosts.d.vue.ts +3 -0
  16. package/dist/runtime/components/BlogPosts.vue +5 -2
  17. package/dist/runtime/components/BlogPosts.vue.d.ts +3 -0
  18. package/dist/runtime/components/Breadcrumb.vue +12 -10
  19. package/dist/runtime/components/Button.vue +8 -6
  20. package/dist/runtime/components/Calendar.vue +15 -13
  21. package/dist/runtime/components/Card.vue +7 -5
  22. package/dist/runtime/components/Carousel.vue +13 -11
  23. package/dist/runtime/components/ChangelogVersion.d.vue.ts +2 -1
  24. package/dist/runtime/components/ChangelogVersion.vue +19 -17
  25. package/dist/runtime/components/ChangelogVersion.vue.d.ts +2 -1
  26. package/dist/runtime/components/ChangelogVersions.vue +7 -5
  27. package/dist/runtime/components/ChatMessage.vue +10 -8
  28. package/dist/runtime/components/ChatMessages.vue +16 -11
  29. package/dist/runtime/components/ChatPalette.vue +6 -4
  30. package/dist/runtime/components/ChatPrompt.vue +9 -6
  31. package/dist/runtime/components/ChatPromptSubmit.vue +5 -3
  32. package/dist/runtime/components/Checkbox.vue +19 -12
  33. package/dist/runtime/components/CheckboxGroup.d.vue.ts +5 -5
  34. package/dist/runtime/components/CheckboxGroup.vue +9 -7
  35. package/dist/runtime/components/CheckboxGroup.vue.d.ts +5 -5
  36. package/dist/runtime/components/Chip.vue +5 -3
  37. package/dist/runtime/components/Collapsible.vue +5 -3
  38. package/dist/runtime/components/ColorPicker.vue +10 -8
  39. package/dist/runtime/components/CommandPalette.d.vue.ts +4 -4
  40. package/dist/runtime/components/CommandPalette.vue +33 -31
  41. package/dist/runtime/components/CommandPalette.vue.d.ts +4 -4
  42. package/dist/runtime/components/Container.d.vue.ts +3 -0
  43. package/dist/runtime/components/Container.vue +5 -2
  44. package/dist/runtime/components/Container.vue.d.ts +3 -0
  45. package/dist/runtime/components/ContextMenu.vue +5 -3
  46. package/dist/runtime/components/ContextMenuContent.vue +1 -0
  47. package/dist/runtime/components/DashboardGroup.d.vue.ts +3 -0
  48. package/dist/runtime/components/DashboardGroup.vue +4 -1
  49. package/dist/runtime/components/DashboardGroup.vue.d.ts +3 -0
  50. package/dist/runtime/components/DashboardNavbar.vue +10 -8
  51. package/dist/runtime/components/DashboardPanel.vue +6 -4
  52. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +3 -0
  53. package/dist/runtime/components/DashboardResizeHandle.vue +5 -2
  54. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +3 -0
  55. package/dist/runtime/components/DashboardSearch.vue +6 -3
  56. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +1 -1
  57. package/dist/runtime/components/DashboardSearchButton.vue +6 -4
  58. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +1 -1
  59. package/dist/runtime/components/DashboardSidebar.d.vue.ts +6 -1
  60. package/dist/runtime/components/DashboardSidebar.vue +16 -12
  61. package/dist/runtime/components/DashboardSidebar.vue.d.ts +6 -1
  62. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +3 -0
  63. package/dist/runtime/components/DashboardSidebarCollapse.vue +4 -2
  64. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +3 -0
  65. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +3 -0
  66. package/dist/runtime/components/DashboardSidebarToggle.vue +4 -2
  67. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +3 -0
  68. package/dist/runtime/components/DashboardToolbar.vue +6 -4
  69. package/dist/runtime/components/Drawer.d.vue.ts +1 -1
  70. package/dist/runtime/components/Drawer.vue +16 -11
  71. package/dist/runtime/components/Drawer.vue.d.ts +1 -1
  72. package/dist/runtime/components/DropdownMenu.vue +6 -4
  73. package/dist/runtime/components/DropdownMenuContent.vue +1 -0
  74. package/dist/runtime/components/Editor.d.vue.ts +2 -1
  75. package/dist/runtime/components/Editor.vue +16 -4
  76. package/dist/runtime/components/Editor.vue.d.ts +2 -1
  77. package/dist/runtime/components/EditorDragHandle.d.vue.ts +13 -1
  78. package/dist/runtime/components/EditorDragHandle.vue +17 -8
  79. package/dist/runtime/components/EditorDragHandle.vue.d.ts +13 -1
  80. package/dist/runtime/components/EditorEmojiMenu.vue +1 -1
  81. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +1 -1
  82. package/dist/runtime/components/EditorMentionMenu.vue +5 -2
  83. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +1 -1
  84. package/dist/runtime/components/EditorSuggestionMenu.vue +1 -1
  85. package/dist/runtime/components/EditorToolbar.vue +10 -7
  86. package/dist/runtime/components/Empty.vue +11 -9
  87. package/dist/runtime/components/Error.vue +8 -6
  88. package/dist/runtime/components/FieldGroup.d.vue.ts +3 -1
  89. package/dist/runtime/components/FieldGroup.vue +4 -2
  90. package/dist/runtime/components/FieldGroup.vue.d.ts +3 -1
  91. package/dist/runtime/components/FileUpload.d.vue.ts +1 -1
  92. package/dist/runtime/components/FileUpload.vue +18 -16
  93. package/dist/runtime/components/FileUpload.vue.d.ts +1 -1
  94. package/dist/runtime/components/Footer.vue +10 -8
  95. package/dist/runtime/components/FooterColumns.vue +14 -12
  96. package/dist/runtime/components/Form.d.vue.ts +3 -0
  97. package/dist/runtime/components/Form.vue +10 -2
  98. package/dist/runtime/components/Form.vue.d.ts +3 -0
  99. package/dist/runtime/components/FormField.vue +12 -10
  100. package/dist/runtime/components/Header.d.vue.ts +6 -1
  101. package/dist/runtime/components/Header.vue +16 -12
  102. package/dist/runtime/components/Header.vue.d.ts +6 -1
  103. package/dist/runtime/components/Input.d.vue.ts +53 -11
  104. package/dist/runtime/components/Input.vue +16 -12
  105. package/dist/runtime/components/Input.vue.d.ts +53 -11
  106. package/dist/runtime/components/InputDate.d.vue.ts +2 -0
  107. package/dist/runtime/components/InputDate.vue +18 -11
  108. package/dist/runtime/components/InputDate.vue.d.ts +2 -0
  109. package/dist/runtime/components/InputMenu.d.vue.ts +153 -25
  110. package/dist/runtime/components/InputMenu.vue +51 -58
  111. package/dist/runtime/components/InputMenu.vue.d.ts +153 -25
  112. package/dist/runtime/components/InputNumber.d.vue.ts +15 -8
  113. package/dist/runtime/components/InputNumber.vue +23 -14
  114. package/dist/runtime/components/InputNumber.vue.d.ts +15 -8
  115. package/dist/runtime/components/InputTags.d.vue.ts +2 -0
  116. package/dist/runtime/components/InputTags.vue +16 -12
  117. package/dist/runtime/components/InputTags.vue.d.ts +2 -0
  118. package/dist/runtime/components/InputTime.d.vue.ts +6 -4
  119. package/dist/runtime/components/InputTime.vue +18 -10
  120. package/dist/runtime/components/InputTime.vue.d.ts +6 -4
  121. package/dist/runtime/components/Kbd.d.vue.ts +3 -0
  122. package/dist/runtime/components/Kbd.vue +5 -2
  123. package/dist/runtime/components/Kbd.vue.d.ts +3 -0
  124. package/dist/runtime/components/Link.d.vue.ts +1 -1
  125. package/dist/runtime/components/Link.vue +7 -7
  126. package/dist/runtime/components/Link.vue.d.ts +1 -1
  127. package/dist/runtime/components/Main.d.vue.ts +3 -0
  128. package/dist/runtime/components/Main.vue +5 -2
  129. package/dist/runtime/components/Main.vue.d.ts +3 -0
  130. package/dist/runtime/components/Marquee.vue +5 -3
  131. package/dist/runtime/components/Modal.d.vue.ts +2 -2
  132. package/dist/runtime/components/Modal.vue +17 -24
  133. package/dist/runtime/components/Modal.vue.d.ts +2 -2
  134. package/dist/runtime/components/NavigationMenu.d.vue.ts +13 -6
  135. package/dist/runtime/components/NavigationMenu.vue +77 -53
  136. package/dist/runtime/components/NavigationMenu.vue.d.ts +13 -6
  137. package/dist/runtime/components/Page.vue +7 -5
  138. package/dist/runtime/components/PageAnchors.vue +11 -9
  139. package/dist/runtime/components/PageAside.vue +9 -7
  140. package/dist/runtime/components/PageBody.d.vue.ts +3 -0
  141. package/dist/runtime/components/PageBody.vue +5 -2
  142. package/dist/runtime/components/PageBody.vue.d.ts +3 -0
  143. package/dist/runtime/components/PageCTA.vue +12 -10
  144. package/dist/runtime/components/PageCard.vue +14 -12
  145. package/dist/runtime/components/PageColumns.d.vue.ts +3 -0
  146. package/dist/runtime/components/PageColumns.vue +5 -2
  147. package/dist/runtime/components/PageColumns.vue.d.ts +3 -0
  148. package/dist/runtime/components/PageFeature.vue +9 -7
  149. package/dist/runtime/components/PageGrid.d.vue.ts +3 -0
  150. package/dist/runtime/components/PageGrid.vue +5 -2
  151. package/dist/runtime/components/PageGrid.vue.d.ts +3 -0
  152. package/dist/runtime/components/PageHeader.vue +10 -8
  153. package/dist/runtime/components/PageHero.vue +13 -11
  154. package/dist/runtime/components/PageLinks.vue +11 -9
  155. package/dist/runtime/components/PageList.d.vue.ts +3 -0
  156. package/dist/runtime/components/PageList.vue +5 -2
  157. package/dist/runtime/components/PageList.vue.d.ts +3 -0
  158. package/dist/runtime/components/PageLogos.vue +9 -7
  159. package/dist/runtime/components/PageSection.d.vue.ts +1 -1
  160. package/dist/runtime/components/PageSection.vue +16 -14
  161. package/dist/runtime/components/PageSection.vue.d.ts +1 -1
  162. package/dist/runtime/components/Pagination.d.vue.ts +1 -1
  163. package/dist/runtime/components/Pagination.vue +11 -9
  164. package/dist/runtime/components/Pagination.vue.d.ts +1 -1
  165. package/dist/runtime/components/PinInput.d.vue.ts +2 -0
  166. package/dist/runtime/components/PinInput.vue +12 -5
  167. package/dist/runtime/components/PinInput.vue.d.ts +2 -0
  168. package/dist/runtime/components/Popover.vue +8 -3
  169. package/dist/runtime/components/PricingPlan.vue +24 -22
  170. package/dist/runtime/components/PricingPlans.d.vue.ts +3 -0
  171. package/dist/runtime/components/PricingPlans.vue +5 -2
  172. package/dist/runtime/components/PricingPlans.vue.d.ts +3 -0
  173. package/dist/runtime/components/PricingTable.vue +38 -36
  174. package/dist/runtime/components/Progress.vue +9 -7
  175. package/dist/runtime/components/RadioGroup.d.vue.ts +2 -2
  176. package/dist/runtime/components/RadioGroup.vue +13 -11
  177. package/dist/runtime/components/RadioGroup.vue.d.ts +2 -2
  178. package/dist/runtime/components/ScrollArea.d.vue.ts +7 -0
  179. package/dist/runtime/components/ScrollArea.vue +35 -11
  180. package/dist/runtime/components/ScrollArea.vue.d.ts +7 -0
  181. package/dist/runtime/components/Select.d.vue.ts +64 -25
  182. package/dist/runtime/components/Select.vue +34 -35
  183. package/dist/runtime/components/Select.vue.d.ts +64 -25
  184. package/dist/runtime/components/SelectMenu.d.vue.ts +115 -30
  185. package/dist/runtime/components/SelectMenu.vue +51 -57
  186. package/dist/runtime/components/SelectMenu.vue.d.ts +115 -30
  187. package/dist/runtime/components/Separator.vue +9 -7
  188. package/dist/runtime/components/Skeleton.d.vue.ts +3 -0
  189. package/dist/runtime/components/Skeleton.vue +5 -2
  190. package/dist/runtime/components/Skeleton.vue.d.ts +3 -0
  191. package/dist/runtime/components/Slideover.d.vue.ts +3 -3
  192. package/dist/runtime/components/Slideover.vue +16 -11
  193. package/dist/runtime/components/Slideover.vue.d.ts +3 -3
  194. package/dist/runtime/components/Slider.d.vue.ts +1 -1
  195. package/dist/runtime/components/Slider.vue +8 -6
  196. package/dist/runtime/components/Slider.vue.d.ts +1 -1
  197. package/dist/runtime/components/Stepper.d.vue.ts +1 -1
  198. package/dist/runtime/components/Stepper.vue +15 -13
  199. package/dist/runtime/components/Stepper.vue.d.ts +1 -1
  200. package/dist/runtime/components/Switch.vue +20 -13
  201. package/dist/runtime/components/Table.d.vue.ts +1 -1
  202. package/dist/runtime/components/Table.vue +26 -24
  203. package/dist/runtime/components/Table.vue.d.ts +1 -1
  204. package/dist/runtime/components/Tabs.vue +17 -12
  205. package/dist/runtime/components/Textarea.d.vue.ts +53 -11
  206. package/dist/runtime/components/Textarea.vue +16 -12
  207. package/dist/runtime/components/Textarea.vue.d.ts +53 -11
  208. package/dist/runtime/components/Theme.d.vue.ts +17 -0
  209. package/dist/runtime/components/Theme.vue +17 -0
  210. package/dist/runtime/components/Theme.vue.d.ts +17 -0
  211. package/dist/runtime/components/Timeline.d.vue.ts +1 -1
  212. package/dist/runtime/components/Timeline.vue +12 -10
  213. package/dist/runtime/components/Timeline.vue.d.ts +1 -1
  214. package/dist/runtime/components/Toast.vue +16 -16
  215. package/dist/runtime/components/Toaster.vue +7 -4
  216. package/dist/runtime/components/Tooltip.vue +8 -6
  217. package/dist/runtime/components/Tree.vue +13 -11
  218. package/dist/runtime/components/User.vue +9 -7
  219. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +1 -1
  220. package/dist/runtime/components/color-mode/ColorModeButton.vue +5 -3
  221. package/dist/runtime/components/color-mode/ColorModeImage.vue +8 -3
  222. package/dist/runtime/components/color-mode/ColorModeSelect.vue +2 -2
  223. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +1 -1
  224. package/dist/runtime/components/content/ContentNavigation.vue +21 -19
  225. package/dist/runtime/components/content/ContentSearch.d.vue.ts +1 -1
  226. package/dist/runtime/components/content/ContentSearch.vue +6 -3
  227. package/dist/runtime/components/content/ContentSearch.vue.d.ts +1 -1
  228. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +1 -1
  229. package/dist/runtime/components/content/ContentSearchButton.vue +6 -4
  230. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +1 -1
  231. package/dist/runtime/components/content/ContentSurround.vue +9 -7
  232. package/dist/runtime/components/content/ContentToc.vue +18 -16
  233. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  234. package/dist/runtime/components/locale/LocaleSelect.vue +2 -2
  235. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  236. package/dist/runtime/components/prose/A.d.vue.ts +3 -0
  237. package/dist/runtime/components/prose/A.vue +7 -4
  238. package/dist/runtime/components/prose/A.vue.d.ts +3 -0
  239. package/dist/runtime/components/prose/Accordion.vue +4 -2
  240. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +3 -0
  241. package/dist/runtime/components/prose/AccordionItem.vue +5 -2
  242. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +3 -0
  243. package/dist/runtime/components/prose/Badge.d.vue.ts +3 -0
  244. package/dist/runtime/components/prose/Badge.vue +5 -2
  245. package/dist/runtime/components/prose/Badge.vue.d.ts +3 -0
  246. package/dist/runtime/components/prose/Blockquote.d.vue.ts +3 -0
  247. package/dist/runtime/components/prose/Blockquote.vue +5 -2
  248. package/dist/runtime/components/prose/Blockquote.vue.d.ts +3 -0
  249. package/dist/runtime/components/prose/Callout.vue +6 -4
  250. package/dist/runtime/components/prose/Card.vue +8 -6
  251. package/dist/runtime/components/prose/CardGroup.d.vue.ts +3 -0
  252. package/dist/runtime/components/prose/CardGroup.vue +5 -2
  253. package/dist/runtime/components/prose/CardGroup.vue.d.ts +3 -0
  254. package/dist/runtime/components/prose/Code.d.vue.ts +3 -0
  255. package/dist/runtime/components/prose/Code.vue +5 -2
  256. package/dist/runtime/components/prose/Code.vue.d.ts +3 -0
  257. package/dist/runtime/components/prose/CodeCollapse.vue +7 -5
  258. package/dist/runtime/components/prose/CodeGroup.vue +9 -7
  259. package/dist/runtime/components/prose/CodePreview.vue +6 -4
  260. package/dist/runtime/components/prose/CodeTree.vue +14 -12
  261. package/dist/runtime/components/prose/Collapsible.vue +7 -5
  262. package/dist/runtime/components/prose/Em.d.vue.ts +3 -0
  263. package/dist/runtime/components/prose/Em.vue +5 -2
  264. package/dist/runtime/components/prose/Em.vue.d.ts +3 -0
  265. package/dist/runtime/components/prose/Field.vue +10 -8
  266. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +3 -0
  267. package/dist/runtime/components/prose/FieldGroup.vue +5 -2
  268. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +3 -0
  269. package/dist/runtime/components/prose/H1.vue +5 -3
  270. package/dist/runtime/components/prose/H2.vue +7 -5
  271. package/dist/runtime/components/prose/H3.vue +7 -5
  272. package/dist/runtime/components/prose/H4.vue +5 -3
  273. package/dist/runtime/components/prose/Hr.d.vue.ts +3 -0
  274. package/dist/runtime/components/prose/Hr.vue +5 -2
  275. package/dist/runtime/components/prose/Hr.vue.d.ts +3 -0
  276. package/dist/runtime/components/prose/Icon.d.vue.ts +3 -0
  277. package/dist/runtime/components/prose/Icon.vue +5 -2
  278. package/dist/runtime/components/prose/Icon.vue.d.ts +3 -0
  279. package/dist/runtime/components/prose/Img.vue +9 -15
  280. package/dist/runtime/components/prose/Kbd.d.vue.ts +3 -0
  281. package/dist/runtime/components/prose/Kbd.vue +5 -2
  282. package/dist/runtime/components/prose/Kbd.vue.d.ts +3 -0
  283. package/dist/runtime/components/prose/Li.d.vue.ts +3 -0
  284. package/dist/runtime/components/prose/Li.vue +5 -2
  285. package/dist/runtime/components/prose/Li.vue.d.ts +3 -0
  286. package/dist/runtime/components/prose/Ol.d.vue.ts +3 -0
  287. package/dist/runtime/components/prose/Ol.vue +5 -2
  288. package/dist/runtime/components/prose/Ol.vue.d.ts +3 -0
  289. package/dist/runtime/components/prose/P.d.vue.ts +3 -0
  290. package/dist/runtime/components/prose/P.vue +5 -2
  291. package/dist/runtime/components/prose/P.vue.d.ts +3 -0
  292. package/dist/runtime/components/prose/Pre.vue +9 -7
  293. package/dist/runtime/components/prose/Steps.d.vue.ts +3 -0
  294. package/dist/runtime/components/prose/Steps.vue +5 -2
  295. package/dist/runtime/components/prose/Steps.vue.d.ts +3 -0
  296. package/dist/runtime/components/prose/Strong.d.vue.ts +3 -0
  297. package/dist/runtime/components/prose/Strong.vue +5 -2
  298. package/dist/runtime/components/prose/Strong.vue.d.ts +3 -0
  299. package/dist/runtime/components/prose/Table.vue +5 -3
  300. package/dist/runtime/components/prose/Tabs.vue +4 -2
  301. package/dist/runtime/components/prose/TabsItem.d.vue.ts +3 -0
  302. package/dist/runtime/components/prose/TabsItem.vue +5 -2
  303. package/dist/runtime/components/prose/TabsItem.vue.d.ts +3 -0
  304. package/dist/runtime/components/prose/Tbody.d.vue.ts +3 -0
  305. package/dist/runtime/components/prose/Tbody.vue +5 -2
  306. package/dist/runtime/components/prose/Tbody.vue.d.ts +3 -0
  307. package/dist/runtime/components/prose/Td.d.vue.ts +3 -0
  308. package/dist/runtime/components/prose/Td.vue +5 -2
  309. package/dist/runtime/components/prose/Td.vue.d.ts +3 -0
  310. package/dist/runtime/components/prose/Th.d.vue.ts +3 -0
  311. package/dist/runtime/components/prose/Th.vue +5 -2
  312. package/dist/runtime/components/prose/Th.vue.d.ts +3 -0
  313. package/dist/runtime/components/prose/Thead.d.vue.ts +3 -0
  314. package/dist/runtime/components/prose/Thead.vue +5 -2
  315. package/dist/runtime/components/prose/Thead.vue.d.ts +3 -0
  316. package/dist/runtime/components/prose/Tr.d.vue.ts +3 -0
  317. package/dist/runtime/components/prose/Tr.vue +5 -2
  318. package/dist/runtime/components/prose/Tr.vue.d.ts +3 -0
  319. package/dist/runtime/components/prose/Ul.d.vue.ts +3 -0
  320. package/dist/runtime/components/prose/Ul.vue +5 -2
  321. package/dist/runtime/components/prose/Ul.vue.d.ts +3 -0
  322. package/dist/runtime/composables/defineShortcuts.js +4 -1
  323. package/dist/runtime/composables/internal/useFilter.d.ts +9 -0
  324. package/dist/runtime/composables/internal/useFilter.js +60 -0
  325. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  326. package/dist/runtime/composables/useComponentUI.d.ts +33 -0
  327. package/dist/runtime/composables/useComponentUI.js +13 -0
  328. package/dist/runtime/composables/useEditorMenu.js +27 -10
  329. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  330. package/dist/runtime/composables/useFormField.d.ts +1 -1
  331. package/dist/runtime/composables/useToast.d.ts +4 -0
  332. package/dist/runtime/composables/useToast.js +25 -1
  333. package/dist/runtime/keyframes.css +1 -1
  334. package/dist/runtime/locale/be.d.ts +3 -0
  335. package/dist/runtime/locale/be.js +129 -0
  336. package/dist/runtime/locale/index.d.ts +1 -0
  337. package/dist/runtime/locale/index.js +1 -0
  338. package/dist/runtime/types/html.d.ts +3 -1
  339. package/dist/runtime/types/index.d.ts +1 -0
  340. package/dist/runtime/types/index.js +1 -0
  341. package/dist/runtime/types/input.d.ts +16 -6
  342. package/dist/runtime/types/utils.d.ts +10 -8
  343. package/dist/runtime/utils/index.d.ts +1 -0
  344. package/dist/runtime/utils/index.js +10 -0
  345. package/dist/runtime/utils/overlay.d.ts +19 -0
  346. package/dist/runtime/utils/overlay.js +13 -0
  347. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +2 -2
  348. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +1 -1
  349. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +1 -1
  350. package/dist/runtime/vue/overrides/inertia/Link.vue +4 -2
  351. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +1 -1
  352. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +1 -1
  353. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +1 -1
  354. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +1 -1
  355. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +1 -1
  356. package/dist/runtime/vue/stubs/base.d.ts +6 -0
  357. package/dist/runtime/vue/stubs/base.js +8 -0
  358. package/dist/shared/{ui.Ddb3hKxo.mjs → ui.BrgdrRzy.mjs} +99 -51
  359. package/dist/unplugin.d.mts +1 -1
  360. package/dist/unplugin.mjs +1 -1
  361. package/dist/vite.mjs +1 -1
  362. package/package.json +50 -51
@@ -8,6 +8,7 @@ import { useForwardProps } from "reka-ui";
8
8
  import { defu } from "defu";
9
9
  import { reactivePick } from "@vueuse/core";
10
10
  import { useAppConfig, useColorMode, defineShortcuts } from "#imports";
11
+ import { useComponentUI } from "../../composables/useComponentUI";
11
12
  import { useContentSearch } from "../../composables/useContentSearch";
12
13
  import { useLocale } from "../../composables/useLocale";
13
14
  import { omit, transformUI } from "../../utils";
@@ -31,7 +32,7 @@ const props = defineProps({
31
32
  fuse: { type: Object, required: false },
32
33
  colorMode: { type: Boolean, required: false, default: true },
33
34
  class: { type: null, required: false },
34
- ui: { type: void 0, required: false },
35
+ ui: { type: Object, required: false },
35
36
  title: { type: String, required: false },
36
37
  description: { type: String, required: false },
37
38
  overlay: { type: Boolean, required: false },
@@ -48,6 +49,7 @@ const { t } = useLocale();
48
49
  const { open, mapNavigationItems, postFilter } = useContentSearch();
49
50
  const colorMode = useColorMode();
50
51
  const appConfig = useAppConfig();
52
+ const uiProp = useComponentUI("contentSearch", props);
51
53
  const commandPaletteProps = useForwardProps(reactivePick(props, "size", "icon", "placeholder", "autofocus", "loading", "loadingIcon", "close", "closeIcon"));
52
54
  const modalProps = useForwardProps(reactivePick(props, "overlay", "transition", "content", "dismissible", "fullscreen", "modal", "portal"));
53
55
  const getProxySlots = () => omit(slots, ["content"]);
@@ -162,7 +164,7 @@ defineExpose({
162
164
  :description="description || t('contentSearch.description')"
163
165
  v-bind="modalProps"
164
166
  data-slot="modal"
165
- :class="ui.modal({ class: [props.ui?.modal, props.class] })"
167
+ :class="ui.modal({ class: [uiProp?.modal, props.class] })"
166
168
  >
167
169
  <template #content="contentData">
168
170
  <slot name="content" v-bind="contentData">
@@ -172,7 +174,8 @@ defineExpose({
172
174
  v-bind="commandPaletteProps"
173
175
  :groups="groups"
174
176
  :fuse="fuse"
175
- :ui="transformUI(omit(ui, ['modal']), props.ui)"
177
+ :input="{ fixed: true }"
178
+ :ui="transformUI(omit(ui, ['modal']), uiProp)"
176
179
  @update:model-value="onSelect"
177
180
  @update:open="open = $event"
178
181
  >
@@ -114,7 +114,7 @@ declare const __VLS_export: <T extends ContentSearchLink>(__VLS_props: NonNullab
114
114
  }>) => void;
115
115
  attrs: any;
116
116
  slots: ContentSearchSlots;
117
- emit: (evt: "update:searchTerm", value: string) => void;
117
+ emit: (event: "update:searchTerm", value: string) => void;
118
118
  }>) => import("vue").VNode & {
119
119
  __ctx?: Awaited<typeof __VLS_setup>;
120
120
  };
@@ -48,9 +48,9 @@ declare const _default: typeof __VLS_export;
48
48
  export default _default;
49
49
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ContentSearchButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContentSearchButtonProps> & Readonly<{}>, {
50
50
  color: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral";
51
+ collapsed: boolean;
51
52
  tooltip: boolean | TooltipProps;
52
53
  kbds: KbdProps["value"][] | KbdProps[];
53
- collapsed: boolean;
54
54
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>;
55
55
  type __VLS_WithSlots<T, S> = T & {
56
56
  new (): {
@@ -8,6 +8,7 @@ import { useForwardProps } from "reka-ui";
8
8
  import { defu } from "defu";
9
9
  import { reactiveOmit, createReusableTemplate } from "@vueuse/core";
10
10
  import { useAppConfig } from "#imports";
11
+ import { useComponentUI } from "../../composables/useComponentUI";
11
12
  import { useContentSearch } from "../../composables/useContentSearch";
12
13
  import { useLocale } from "../../composables/useLocale";
13
14
  import { omit, transformUI } from "../../utils";
@@ -24,7 +25,7 @@ const props = defineProps({
24
25
  collapsed: { type: Boolean, required: false, default: true },
25
26
  tooltip: { type: [Boolean, Object], required: false, default: false },
26
27
  kbds: { type: Array, required: false, default: () => ["meta", "k"] },
27
- ui: { type: void 0, required: false },
28
+ ui: { type: Object, required: false },
28
29
  class: { type: null, required: false },
29
30
  activeColor: { type: null, required: false },
30
31
  activeVariant: { type: null, required: false },
@@ -54,6 +55,7 @@ const tooltipProps = toRef(() => defu(typeof props.tooltip === "boolean" ? {} :
54
55
  const { t } = useLocale();
55
56
  const { open } = useContentSearch();
56
57
  const appConfig = useAppConfig();
58
+ const uiProp = useComponentUI("contentSearchButton", props);
57
59
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentSearchButton || {} })({
58
60
  collapsed: props.collapsed
59
61
  }));
@@ -73,8 +75,8 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentSearch
73
75
  } : {},
74
76
  ...$attrs
75
77
  }"
76
- :class="ui.base({ class: [props.ui?.base, props.class] })"
77
- :ui="transformUI(ui, props.ui)"
78
+ :class="ui.base({ class: [uiProp?.base, props.class] })"
79
+ :ui="transformUI(ui, uiProp)"
78
80
  @click="open = true"
79
81
  >
80
82
  <template v-for="(_, name) in getProxySlots()" #[name]="slotData">
@@ -82,7 +84,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentSearch
82
84
  </template>
83
85
 
84
86
  <template #trailing="{ ui: uiProxy }">
85
- <div data-slot="trailing" :class="ui.trailing({ class: props.ui?.trailing })">
87
+ <div data-slot="trailing" :class="ui.trailing({ class: uiProp?.trailing })">
86
88
  <slot name="trailing" :ui="uiProxy">
87
89
  <template v-if="kbds?.length">
88
90
  <UKbd v-for="(kbd, index) in kbds" :key="index" variant="subtle" v-bind="typeof kbd === 'string' ? { value: kbd } : kbd" />
@@ -48,9 +48,9 @@ declare const _default: typeof __VLS_export;
48
48
  export default _default;
49
49
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ContentSearchButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContentSearchButtonProps> & Readonly<{}>, {
50
50
  color: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral";
51
+ collapsed: boolean;
51
52
  tooltip: boolean | TooltipProps;
52
53
  kbds: KbdProps["value"][] | KbdProps[];
53
- collapsed: boolean;
54
54
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>;
55
55
  type __VLS_WithSlots<T, S> = T & {
56
56
  new (): {
@@ -7,6 +7,7 @@ import { computed } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { createReusableTemplate } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
+ import { useComponentUI } from "../../composables/useComponentUI";
10
11
  import { tv } from "../../utils/tv";
11
12
  import ULink from "../Link.vue";
12
13
  import UIcon from "../Icon.vue";
@@ -17,10 +18,11 @@ const props = defineProps({
17
18
  nextIcon: { type: null, required: false },
18
19
  surround: { type: Array, required: false },
19
20
  class: { type: null, required: false },
20
- ui: { type: null, required: false }
21
+ ui: { type: Object, required: false }
21
22
  });
22
23
  defineSlots();
23
24
  const appConfig = useAppConfig();
25
+ const uiProp = useComponentUI("contentSurround", props);
24
26
  const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate({
25
27
  props: {
26
28
  link: Object,
@@ -33,21 +35,21 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentSurrou
33
35
 
34
36
  <template>
35
37
  <DefineLinkTemplate v-slot="{ link, icon, direction }">
36
- <ULink v-if="link" :to="link.path" raw data-slot="link" :class="ui.link({ class: [props.ui?.link, link.ui?.link, link.class], direction })">
38
+ <ULink v-if="link" :to="link.path" raw data-slot="link" :class="ui.link({ class: [uiProp?.link, link.ui?.link, link.class], direction })">
37
39
  <slot name="link" :link="link" :ui="ui">
38
- <div data-slot="linkLeading" :class="ui.linkLeading({ class: [props.ui?.linkLeading, link.ui?.linkLeading] })">
40
+ <div data-slot="linkLeading" :class="ui.linkLeading({ class: [uiProp?.linkLeading, link.ui?.linkLeading] })">
39
41
  <slot name="link-leading" :link="link" :ui="ui">
40
- <UIcon :name="link.icon || icon" data-slot="linkLeadingIcon" :class="ui.linkLeadingIcon({ class: [props.ui?.linkLeadingIcon, link.ui?.linkLeadingIcon], direction })" />
42
+ <UIcon :name="link.icon || icon" data-slot="linkLeadingIcon" :class="ui.linkLeadingIcon({ class: [uiProp?.linkLeadingIcon, link.ui?.linkLeadingIcon], direction })" />
41
43
  </slot>
42
44
  </div>
43
45
 
44
- <p data-slot="linkTitle" :class="ui.linkTitle({ class: [props.ui?.linkTitle, link.ui?.linkTitle] })">
46
+ <p data-slot="linkTitle" :class="ui.linkTitle({ class: [uiProp?.linkTitle, link.ui?.linkTitle] })">
45
47
  <slot name="link-title" :link="link" :ui="ui">
46
48
  {{ link.title }}
47
49
  </slot>
48
50
  </p>
49
51
 
50
- <p data-slot="linkDescription" :class="ui.linkDescription({ class: [props.ui?.linkDescription, link.ui?.linkDescription] })">
52
+ <p data-slot="linkDescription" :class="ui.linkDescription({ class: [uiProp?.linkDescription, link.ui?.linkDescription] })">
51
53
  <slot name="link-description" :link="link" :ui="ui">
52
54
  {{ link.description }}
53
55
  </slot>
@@ -57,7 +59,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentSurrou
57
59
  <span v-else class="hidden sm:block">&nbsp;</span>
58
60
  </DefineLinkTemplate>
59
61
 
60
- <Primitive v-if="surround" :as="as" v-bind="$attrs" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
62
+ <Primitive v-if="surround" :as="as" v-bind="$attrs" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
61
63
  <ReuseLinkTemplate :link="surround[0]" :icon="prevIcon || appConfig.ui.icons.arrowLeft" direction="left" />
62
64
  <ReuseLinkTemplate :link="surround[1]" :icon="nextIcon || appConfig.ui.icons.arrowRight" direction="right" />
63
65
  </Primitive>
@@ -7,6 +7,7 @@ import { computed } from "vue";
7
7
  import { CollapsibleRoot, CollapsibleTrigger, CollapsibleContent, useForwardPropsEmits } from "reka-ui";
8
8
  import { reactivePick, createReusableTemplate } from "@vueuse/core";
9
9
  import { useRouter, useAppConfig, useNuxtApp } from "#imports";
10
+ import { useComponentUI } from "../../composables/useComponentUI";
10
11
  import { useScrollspy } from "../../composables/useScrollspy";
11
12
  import { useLocale } from "../../composables/useLocale";
12
13
  import { tv } from "../../utils/tv";
@@ -21,7 +22,7 @@ const props = defineProps({
21
22
  highlightColor: { type: null, required: false },
22
23
  links: { type: Array, required: false },
23
24
  class: { type: null, required: false },
24
- ui: { type: null, required: false },
25
+ ui: { type: Object, required: false },
25
26
  defaultOpen: { type: Boolean, required: false },
26
27
  open: { type: Boolean, required: false }
27
28
  });
@@ -31,6 +32,7 @@ const rootProps = useForwardPropsEmits(reactivePick(props, "as", "open", "defaul
31
32
  const { t } = useLocale();
32
33
  const router = useRouter();
33
34
  const appConfig = useAppConfig();
35
+ const uiProp = useComponentUI("contentToc", props);
34
36
  const { activeHeadings, updateHeadings } = useScrollspy();
35
37
  const [DefineListTemplate, ReuseListTemplate] = createReusableTemplate({
36
38
  props: {
@@ -79,11 +81,11 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
79
81
  <template>
80
82
  <!-- eslint-disable-next-line vue/no-template-shadow -->
81
83
  <DefineListTemplate v-slot="{ links, level }">
82
- <ul :class="level > 0 ? ui.listWithChildren({ class: props.ui?.listWithChildren }) : ui.list({ class: props.ui?.list })">
83
- <li v-for="(link, index) in links" :key="index" :class="link.children && link.children.length > 0 ? ui.itemWithChildren({ class: [props.ui?.itemWithChildren, link.ui?.itemWithChildren] }) : ui.item({ class: [props.ui?.item, link.ui?.item] })">
84
- <a :href="`#${link.id}`" data-slot="link" :class="ui.link({ class: [props.ui?.link, link.ui?.link, link.class], active: activeHeadings.includes(link.id) })" @click.prevent="scrollToHeading(link.id)">
84
+ <ul :class="level > 0 ? ui.listWithChildren({ class: uiProp?.listWithChildren }) : ui.list({ class: uiProp?.list })">
85
+ <li v-for="(link, index) in links" :key="index" :class="link.children && link.children.length > 0 ? ui.itemWithChildren({ class: [uiProp?.itemWithChildren, link.ui?.itemWithChildren] }) : ui.item({ class: [uiProp?.item, link.ui?.item] })">
86
+ <a :href="`#${link.id}`" data-slot="link" :class="ui.link({ class: [uiProp?.link, link.ui?.link, link.class], active: activeHeadings.includes(link.id) })" @click.prevent="scrollToHeading(link.id)">
85
87
  <slot name="link" :link="link">
86
- <span data-slot="linkText" :class="ui.linkText({ class: [props.ui?.linkText, link.ui?.linkText] })">
88
+ <span data-slot="linkText" :class="ui.linkText({ class: [uiProp?.linkText, link.ui?.linkText] })">
87
89
  {{ link.text }}
88
90
  </span>
89
91
  </slot>
@@ -97,20 +99,20 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
97
99
  <DefineTriggerTemplate v-slot="{ open }">
98
100
  <slot name="leading" :open="open" :ui="ui" />
99
101
 
100
- <span data-slot="title" :class="ui.title({ class: props.ui?.title })">
102
+ <span data-slot="title" :class="ui.title({ class: uiProp?.title })">
101
103
  <slot :open="open">{{ title || t("contentToc.title") }}</slot>
102
104
  </span>
103
105
 
104
- <span data-slot="trailing" :class="ui.trailing({ class: props.ui?.trailing })">
106
+ <span data-slot="trailing" :class="ui.trailing({ class: uiProp?.trailing })">
105
107
  <slot name="trailing" :open="open" :ui="ui">
106
- <UIcon :name="trailingIcon || appConfig.ui.icons.chevronDown" data-slot="trailingIcon" :class="ui.trailingIcon({ class: props.ui?.trailingIcon })" />
108
+ <UIcon :name="trailingIcon || appConfig.ui.icons.chevronDown" data-slot="trailingIcon" :class="ui.trailingIcon({ class: uiProp?.trailingIcon })" />
107
109
  </slot>
108
110
  </span>
109
111
  </DefineTriggerTemplate>
110
112
 
111
- <CollapsibleRoot v-slot="{ open }" v-bind="{ ...rootProps, ...$attrs }" :default-open="defaultOpen" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
112
- <div data-slot="container" :class="ui.container({ class: props.ui?.container })">
113
- <div v-if="!!slots.top" data-slot="top" :class="ui.top({ class: props.ui?.top })">
113
+ <CollapsibleRoot v-slot="{ open }" v-bind="{ ...rootProps, ...$attrs }" :default-open="defaultOpen" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
114
+ <div data-slot="container" :class="ui.container({ class: uiProp?.container })">
115
+ <div v-if="!!slots.top" data-slot="top" :class="ui.top({ class: uiProp?.top })">
114
116
  <slot name="top" :links="links" />
115
117
  </div>
116
118
 
@@ -119,8 +121,8 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
119
121
  <ReuseTriggerTemplate :open="open" />
120
122
  </CollapsibleTrigger>
121
123
 
122
- <CollapsibleContent data-slot="content" :class="ui.content({ class: [props.ui?.content, 'lg:hidden'] })">
123
- <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: props.ui?.indicator })" :style="indicatorStyle" />
124
+ <CollapsibleContent data-slot="content" :class="ui.content({ class: [uiProp?.content, 'lg:hidden'] })">
125
+ <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="indicatorStyle" />
124
126
 
125
127
  <slot name="content" :links="links">
126
128
  <ReuseListTemplate :links="links" :level="0" />
@@ -131,8 +133,8 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
131
133
  <ReuseTriggerTemplate :open="open" />
132
134
  </p>
133
135
 
134
- <div data-slot="content" :class="ui.content({ class: [props.ui?.content, 'hidden lg:flex'] })">
135
- <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: props.ui?.indicator })" :style="indicatorStyle" />
136
+ <div data-slot="content" :class="ui.content({ class: [uiProp?.content, 'hidden lg:flex'] })">
137
+ <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="indicatorStyle" />
136
138
 
137
139
  <slot name="content" :links="links">
138
140
  <ReuseListTemplate :links="links" :level="0" />
@@ -140,7 +142,7 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
140
142
  </div>
141
143
  </template>
142
144
 
143
- <div v-if="!!slots.bottom" data-slot="bottom" :class="ui.bottom({ class: props.ui?.bottom, body: !!slots.top || !!links?.length })">
145
+ <div v-if="!!slots.bottom" data-slot="bottom" :class="ui.bottom({ class: uiProp?.bottom, body: !!slots.top || !!links?.length })">
144
146
  <slot name="bottom" :links="links" />
145
147
  </div>
146
148
  </div>
@@ -15,6 +15,6 @@ declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
15
15
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
16
16
  }>, {
17
17
  valueKey: "code";
18
- labelKey: string;
18
+ labelKey: import("../../types").GetItemKeys<Locale<any>[]>;
19
19
  searchInput: boolean | import("../Input.vue").InputProps;
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -28,7 +28,7 @@ const props = defineProps({
28
28
  labelKey: { type: null, required: false, default: "name" },
29
29
  descriptionKey: { type: null, required: false },
30
30
  defaultValue: { type: null, required: false },
31
- modelModifiers: { type: Object, required: false },
31
+ modelModifiers: { type: null, required: false },
32
32
  multiple: { type: Boolean, required: false },
33
33
  highlight: { type: Boolean, required: false },
34
34
  createItem: { type: [Boolean, String, Object], required: false },
@@ -37,7 +37,7 @@ const props = defineProps({
37
37
  autofocus: { type: Boolean, required: false },
38
38
  autofocusDelay: { type: Number, required: false },
39
39
  class: { type: null, required: false },
40
- ui: { type: null, required: false },
40
+ ui: { type: Object, required: false },
41
41
  open: { type: Boolean, required: false },
42
42
  defaultOpen: { type: Boolean, required: false },
43
43
  disabled: { type: Boolean, required: false },
@@ -15,6 +15,6 @@ declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
15
15
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
16
16
  }>, {
17
17
  valueKey: "code";
18
- labelKey: string;
18
+ labelKey: import("../../types").GetItemKeys<Locale<any>[]>;
19
19
  searchInput: boolean | import("../Input.vue").InputProps;
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -2,6 +2,9 @@ export interface ProseAProps {
2
2
  href?: string;
3
3
  target?: '_blank' | '_parent' | '_self' | '_top' | (string & object) | null | undefined;
4
4
  class?: any;
5
+ ui?: {
6
+ base?: any;
7
+ };
5
8
  }
6
9
  export interface ProseASlots {
7
10
  default(props?: {}): any;
@@ -5,20 +5,23 @@ import theme from "#build/ui/prose/a";
5
5
  <script setup>
6
6
  import { computed } from "vue";
7
7
  import { useAppConfig } from "#imports";
8
+ import { useComponentUI } from "../../composables/useComponentUI";
8
9
  import { tv } from "../../utils/tv";
9
10
  import ULink from "../Link.vue";
10
- const appConfig = useAppConfig();
11
- const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.a || {} }));
12
11
  const props = defineProps({
13
12
  href: { type: String, required: false },
14
13
  target: { type: null, required: false },
15
- class: { type: null, required: false }
14
+ class: { type: null, required: false },
15
+ ui: { type: Object, required: false }
16
16
  });
17
17
  defineSlots();
18
+ const appConfig = useAppConfig();
19
+ const uiProp = useComponentUI("prose.a", props);
20
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.a || {} }));
18
21
  </script>
19
22
 
20
23
  <template>
21
- <ULink :href="href" :target="target" :class="ui({ class: props.class })" raw>
24
+ <ULink :href="href" :target="target" :class="ui({ class: [uiProp?.base, props.class] })" raw>
22
25
  <slot />
23
26
  </ULink>
24
27
  </template>
@@ -2,6 +2,9 @@ export interface ProseAProps {
2
2
  href?: string;
3
3
  target?: '_blank' | '_parent' | '_self' | '_top' | (string & object) | null | undefined;
4
4
  class?: any;
5
+ ui?: {
6
+ base?: any;
7
+ };
5
8
  }
6
9
  export interface ProseASlots {
7
10
  default(props?: {}): any;
@@ -5,16 +5,18 @@ import theme from "#build/ui/prose/accordion";
5
5
  <script setup>
6
6
  import { computed, ref, onBeforeUpdate } from "vue";
7
7
  import { useAppConfig } from "#imports";
8
+ import { useComponentUI } from "../../composables/useComponentUI";
8
9
  import { transformUI } from "../../utils";
9
10
  import { tv } from "../../utils/tv";
10
11
  import UAccordion from "../Accordion.vue";
11
12
  const props = defineProps({
12
13
  type: { type: String, required: false, default: "multiple" },
13
14
  class: { type: null, required: false },
14
- ui: { type: void 0, required: false }
15
+ ui: { type: Object, required: false }
15
16
  });
16
17
  const slots = defineSlots();
17
18
  const appConfig = useAppConfig();
19
+ const uiProp = useComponentUI("prose.accordion", props);
18
20
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.accordion || {} }));
19
21
  const rerenderCount = ref(1);
20
22
  const items = computed(() => {
@@ -37,7 +39,7 @@ onBeforeUpdate(() => rerenderCount.value++);
37
39
  </script>
38
40
 
39
41
  <template>
40
- <UAccordion :type="type" :items="items" :unmount-on-hide="false" :class="props.class" :ui="transformUI(ui(), props.ui)">
42
+ <UAccordion :type="type" :items="items" :unmount-on-hide="false" :class="props.class" :ui="transformUI(ui(), uiProp)">
41
43
  <template #content="{ item }">
42
44
  <component :is="item.component" />
43
45
  </template>
@@ -2,6 +2,9 @@ export interface ProseAccordionItemProps {
2
2
  label: string;
3
3
  description?: string;
4
4
  class?: any;
5
+ ui?: {
6
+ base?: any;
7
+ };
5
8
  }
6
9
  export interface ProseAccordionItemSlots {
7
10
  default(props?: {}): any;
@@ -5,19 +5,22 @@ import theme from "#build/ui/prose/accordion-item";
5
5
  <script setup>
6
6
  import { computed } from "vue";
7
7
  import { useAppConfig } from "#imports";
8
+ import { useComponentUI } from "../../composables/useComponentUI";
8
9
  import { tv } from "../../utils/tv";
9
10
  const props = defineProps({
10
11
  label: { type: String, required: true },
11
12
  description: { type: String, required: false },
12
- class: { type: null, required: false }
13
+ class: { type: null, required: false },
14
+ ui: { type: Object, required: false }
13
15
  });
14
16
  defineSlots();
15
17
  const appConfig = useAppConfig();
18
+ const uiProp = useComponentUI("prose.accordionItem", props);
16
19
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.accordionItem || {} }));
17
20
  </script>
18
21
 
19
22
  <template>
20
- <div :class="ui({ class: props.class })">
23
+ <div :class="ui({ class: [uiProp?.base, props.class] })">
21
24
  <slot>
22
25
  {{ description }}
23
26
  </slot>
@@ -2,6 +2,9 @@ export interface ProseAccordionItemProps {
2
2
  label: string;
3
3
  description?: string;
4
4
  class?: any;
5
+ ui?: {
6
+ base?: any;
7
+ };
5
8
  }
6
9
  export interface ProseAccordionItemSlots {
7
10
  default(props?: {}): any;
@@ -1,5 +1,8 @@
1
1
  export interface ProseBadgeProps {
2
2
  class?: any;
3
+ ui?: {
4
+ base?: any;
5
+ };
3
6
  }
4
7
  export interface ProseBadgeSlots {
5
8
  default(props?: {}): any;
@@ -5,18 +5,21 @@ import theme from "#build/ui/prose/badge";
5
5
  <script setup>
6
6
  import { computed } from "vue";
7
7
  import { useAppConfig } from "#imports";
8
+ import { useComponentUI } from "../../composables/useComponentUI";
8
9
  import { tv } from "../../utils/tv";
9
10
  import UBadge from "../Badge.vue";
10
11
  const props = defineProps({
11
- class: { type: null, required: false }
12
+ class: { type: null, required: false },
13
+ ui: { type: Object, required: false }
12
14
  });
13
15
  defineSlots();
14
16
  const appConfig = useAppConfig();
17
+ const uiProp = useComponentUI("prose.badge", props);
15
18
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.badge || {} }));
16
19
  </script>
17
20
 
18
21
  <template>
19
- <UBadge color="primary" variant="subtle" :class="ui({ class: props.class })">
22
+ <UBadge color="primary" variant="subtle" :class="ui({ class: [uiProp?.base, props.class] })">
20
23
  <slot mdc-unwrap="p" />
21
24
  </UBadge>
22
25
  </template>
@@ -1,5 +1,8 @@
1
1
  export interface ProseBadgeProps {
2
2
  class?: any;
3
+ ui?: {
4
+ base?: any;
5
+ };
3
6
  }
4
7
  export interface ProseBadgeSlots {
5
8
  default(props?: {}): any;
@@ -1,5 +1,8 @@
1
1
  export interface ProseBlockquoteProps {
2
2
  class?: any;
3
+ ui?: {
4
+ base?: any;
5
+ };
3
6
  }
4
7
  export interface ProseBlockquoteSlots {
5
8
  default(props?: {}): any;
@@ -5,17 +5,20 @@ import theme from "#build/ui/prose/blockquote";
5
5
  <script setup>
6
6
  import { computed } from "vue";
7
7
  import { useAppConfig } from "#imports";
8
+ import { useComponentUI } from "../../composables/useComponentUI";
8
9
  import { tv } from "../../utils/tv";
9
10
  const props = defineProps({
10
- class: { type: null, required: false }
11
+ class: { type: null, required: false },
12
+ ui: { type: Object, required: false }
11
13
  });
12
14
  defineSlots();
13
15
  const appConfig = useAppConfig();
16
+ const uiProp = useComponentUI("prose.blockquote", props);
14
17
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.blockquote || {} }));
15
18
  </script>
16
19
 
17
20
  <template>
18
- <blockquote :class="ui({ class: props.class })">
21
+ <blockquote :class="ui({ class: [uiProp?.base, props.class] })">
19
22
  <slot />
20
23
  </blockquote>
21
24
  </template>
@@ -1,5 +1,8 @@
1
1
  export interface ProseBlockquoteProps {
2
2
  class?: any;
3
+ ui?: {
4
+ base?: any;
5
+ };
3
6
  }
4
7
  export interface ProseBlockquoteSlots {
5
8
  default(props?: {}): any;
@@ -5,6 +5,7 @@ import theme from "#build/ui/prose/callout";
5
5
  <script setup>
6
6
  import { computed } from "vue";
7
7
  import { useAppConfig } from "#imports";
8
+ import { useComponentUI } from "../../composables/useComponentUI";
8
9
  import { tv } from "../../utils/tv";
9
10
  import ULink from "../Link.vue";
10
11
  import UIcon from "../Icon.vue";
@@ -15,10 +16,11 @@ const props = defineProps({
15
16
  icon: { type: null, required: false },
16
17
  color: { type: null, required: false },
17
18
  class: { type: null, required: false },
18
- ui: { type: null, required: false }
19
+ ui: { type: Object, required: false }
19
20
  });
20
21
  defineSlots();
21
22
  const appConfig = useAppConfig();
23
+ const uiProp = useComponentUI("prose.callout", props);
22
24
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.callout || {} })({
23
25
  color: props.color,
24
26
  to: !!props.to
@@ -27,7 +29,7 @@ const target = computed(() => props.target || (!!props.to && typeof props.to ===
27
29
  </script>
28
30
 
29
31
  <template>
30
- <div :class="ui.base({ class: props.class })">
32
+ <div :class="ui.base({ class: [uiProp?.base, props.class] })">
31
33
  <ULink
32
34
  v-if="to"
33
35
  v-bind="{ to, target, ...$attrs }"
@@ -37,8 +39,8 @@ const target = computed(() => props.target || (!!props.to && typeof props.to ===
37
39
  <span class="absolute inset-0" aria-hidden="true" />
38
40
  </ULink>
39
41
 
40
- <UIcon v-if="icon" :name="icon" :class="ui.icon({ class: props.ui?.icon })" />
41
- <UIcon v-if="!!to && target === '_blank'" :name="appConfig.ui.icons.external" :class="ui.externalIcon({ class: props.ui?.externalIcon })" />
42
+ <UIcon v-if="icon" :name="icon" :class="ui.icon({ class: uiProp?.icon })" />
43
+ <UIcon v-if="!!to && target === '_blank'" :name="appConfig.ui.icons.external" :class="ui.externalIcon({ class: uiProp?.externalIcon })" />
42
44
 
43
45
  <slot mdc-unwrap="p" />
44
46
  </div>
@@ -5,6 +5,7 @@ import theme from "#build/ui/prose/card";
5
5
  <script setup>
6
6
  import { computed } from "vue";
7
7
  import { useAppConfig } from "#imports";
8
+ import { useComponentUI } from "../../composables/useComponentUI";
8
9
  import { tv } from "../../utils/tv";
9
10
  import ULink from "../Link.vue";
10
11
  import UIcon from "../Icon.vue";
@@ -17,10 +18,11 @@ const props = defineProps({
17
18
  description: { type: String, required: false },
18
19
  color: { type: null, required: false },
19
20
  class: { type: null, required: false },
20
- ui: { type: null, required: false }
21
+ ui: { type: Object, required: false }
21
22
  });
22
23
  const slots = defineSlots();
23
24
  const appConfig = useAppConfig();
25
+ const uiProp = useComponentUI("prose.card", props);
24
26
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.card || {} })({
25
27
  color: props.color,
26
28
  to: !!props.to,
@@ -31,7 +33,7 @@ const ariaLabel = computed(() => (props.title || "Card link").trim());
31
33
  </script>
32
34
 
33
35
  <template>
34
- <div :class="ui.base({ class: props.class })">
36
+ <div :class="ui.base({ class: [uiProp?.base, props.class] })">
35
37
  <ULink
36
38
  v-if="to"
37
39
  :aria-label="ariaLabel"
@@ -42,16 +44,16 @@ const ariaLabel = computed(() => (props.title || "Card link").trim());
42
44
  <span class="absolute inset-0" aria-hidden="true" />
43
45
  </ULink>
44
46
 
45
- <UIcon v-if="icon" :name="icon" :class="ui.icon({ class: props.ui?.icon })" />
46
- <UIcon v-if="!!to && target === '_blank'" :name="appConfig.ui.icons.external" :class="ui.externalIcon({ class: props.ui?.externalIcon })" />
47
+ <UIcon v-if="icon" :name="icon" :class="ui.icon({ class: uiProp?.icon })" />
48
+ <UIcon v-if="!!to && target === '_blank'" :name="appConfig.ui.icons.external" :class="ui.externalIcon({ class: uiProp?.externalIcon })" />
47
49
 
48
- <p v-if="title || !!slots.title" :class="ui.title({ class: props.ui?.title })">
50
+ <p v-if="title || !!slots.title" :class="ui.title({ class: uiProp?.title })">
49
51
  <slot name="title" mdc-unwrap="p">
50
52
  {{ title }}
51
53
  </slot>
52
54
  </p>
53
55
 
54
- <div v-if="!!slots.default" :class="ui.description({ class: props.ui?.description })">
56
+ <div v-if="!!slots.default" :class="ui.description({ class: uiProp?.description })">
55
57
  <slot>
56
58
  {{ description }}
57
59
  </slot>
@@ -1,5 +1,8 @@
1
1
  export interface ProseCardGroupProps {
2
2
  class?: any;
3
+ ui?: {
4
+ base?: any;
5
+ };
3
6
  }
4
7
  export interface ProseCardGroupSlots {
5
8
  default(props?: {}): any;