@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
@@ -2,7 +2,7 @@ import type { CheckboxGroupRootProps, CheckboxGroupRootEmits } from 'reka-ui';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/ui/checkbox-group';
4
4
  import type { CheckboxProps } from '../types';
5
- import type { AcceptableValue, GetItemKeys, GetModelValue } from '../types/utils';
5
+ import type { AcceptableValue, GetItemKeys, GetModelValue, GetModelValueEmits } from '../types/utils';
6
6
  import type { ComponentConfig } from '../types/tv';
7
7
  type CheckboxGroup = ComponentConfig<typeof theme, AppConfig, 'checkboxGroup'>;
8
8
  export type CheckboxGroupValue = AcceptableValue;
@@ -58,9 +58,9 @@ export interface CheckboxGroupProps<T extends CheckboxGroupItem[] = CheckboxGrou
58
58
  class?: any;
59
59
  ui?: CheckboxGroup['slots'] & CheckboxProps['ui'];
60
60
  }
61
- export type CheckboxGroupEmits<T extends CheckboxGroupItem[] = CheckboxGroupItem[]> = CheckboxGroupRootEmits<T[number]> & {
61
+ export type CheckboxGroupEmits<T extends CheckboxGroupItem[] = CheckboxGroupItem[], VK extends GetItemKeys<T> = 'value'> = Omit<CheckboxGroupRootEmits, 'update:modelValue'> & {
62
62
  change: [event: Event];
63
- };
63
+ } & GetModelValueEmits<T, VK, true>;
64
64
  type SlotProps<T extends CheckboxGroupItem> = (props: {
65
65
  item: T & {
66
66
  id: string;
@@ -76,14 +76,14 @@ export default _default;
76
76
  declare const __VLS_export: <T extends CheckboxGroupItem[], VK extends GetItemKeys<T> = "value">(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
77
77
  props: import("vue").PublicProps & __VLS_PrettifyLocal<CheckboxGroupProps<T, VK> & {
78
78
  onChange?: ((event: Event) => any) | undefined;
79
- "onUpdate:modelValue"?: ((value: T[number][]) => any) | undefined;
79
+ "onUpdate:modelValue"?: ((value: import("../types").GetItemValue<T, VK, undefined, import("../types").NestedItem<T>>[]) => any) | undefined;
80
80
  }> & (typeof globalThis extends {
81
81
  __VLS_PROPS_FALLBACK: infer P;
82
82
  } ? P : {});
83
83
  expose: (exposed: {}) => void;
84
84
  attrs: any;
85
85
  slots: CheckboxGroupSlots<T>;
86
- emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T[number][]) => void);
86
+ emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: import("../types").GetItemValue<T, VK, undefined, import("../types").NestedItem<T>>[]) => void);
87
87
  }>) => import("vue").VNode & {
88
88
  __ctx?: Awaited<typeof __VLS_setup>;
89
89
  };
@@ -6,6 +6,7 @@ import theme from "#build/ui/chip";
6
6
  import { computed } from "vue";
7
7
  import { Primitive, Slot } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
+ import { useComponentUI } from "../composables/useComponentUI";
9
10
  import { useAvatarGroup } from "../composables/useAvatarGroup";
10
11
  import { tv } from "../utils/tv";
11
12
  defineOptions({ inheritAttrs: false });
@@ -18,12 +19,13 @@ const props = defineProps({
18
19
  inset: { type: Boolean, required: false, default: false },
19
20
  standalone: { type: Boolean, required: false, default: false },
20
21
  class: { type: null, required: false },
21
- ui: { type: null, required: false }
22
+ ui: { type: Object, required: false }
22
23
  });
23
24
  defineSlots();
24
25
  const show = defineModel("show", { type: Boolean, ...{ default: true } });
25
26
  const { size } = useAvatarGroup(props);
26
27
  const appConfig = useAppConfig();
28
+ const uiProp = useComponentUI("chip", props);
27
29
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chip || {} })({
28
30
  color: props.color,
29
31
  size: size.value,
@@ -34,12 +36,12 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chip || {} })
34
36
  </script>
35
37
 
36
38
  <template>
37
- <Primitive :as="as" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
39
+ <Primitive :as="as" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
38
40
  <Slot v-bind="$attrs">
39
41
  <slot />
40
42
  </Slot>
41
43
 
42
- <span v-if="show" data-slot="base" :class="ui.base({ class: props.ui?.base })">
44
+ <span v-if="show" data-slot="base" :class="ui.base({ class: uiProp?.base })">
43
45
  <slot name="content">
44
46
  {{ text }}
45
47
  </slot>
@@ -7,11 +7,12 @@ import { computed } from "vue";
7
7
  import { CollapsibleRoot, CollapsibleTrigger, CollapsibleContent, useForwardPropsEmits } from "reka-ui";
8
8
  import { reactivePick } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
+ import { useComponentUI } from "../composables/useComponentUI";
10
11
  import { tv } from "../utils/tv";
11
12
  const props = defineProps({
12
13
  as: { type: null, required: false },
13
14
  class: { type: null, required: false },
14
- ui: { type: null, required: false },
15
+ ui: { type: Object, required: false },
15
16
  defaultOpen: { type: Boolean, required: false },
16
17
  open: { type: Boolean, required: false },
17
18
  disabled: { type: Boolean, required: false },
@@ -20,17 +21,18 @@ const props = defineProps({
20
21
  const emits = defineEmits(["update:open"]);
21
22
  const slots = defineSlots();
22
23
  const appConfig = useAppConfig();
24
+ const uiProp = useComponentUI("collapsible", props);
23
25
  const rootProps = useForwardPropsEmits(reactivePick(props, "as", "defaultOpen", "open", "disabled", "unmountOnHide"), emits);
24
26
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.collapsible || {} })());
25
27
  </script>
26
28
 
27
29
  <template>
28
- <CollapsibleRoot v-slot="{ open }" v-bind="rootProps" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
30
+ <CollapsibleRoot v-slot="{ open }" v-bind="rootProps" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
29
31
  <CollapsibleTrigger v-if="!!slots.default" as-child>
30
32
  <slot :open="open" />
31
33
  </CollapsibleTrigger>
32
34
 
33
- <CollapsibleContent data-slot="content" :class="ui.content({ class: props.ui?.content })">
35
+ <CollapsibleContent data-slot="content" :class="ui.content({ class: uiProp?.content })">
34
36
  <slot name="content" />
35
37
  </CollapsibleContent>
36
38
  </CollapsibleRoot>
@@ -26,6 +26,7 @@ import { useEventListener, useElementBounding, watchThrottled, watchPausable } f
26
26
  import { isClient } from "@vueuse/shared";
27
27
  import { ColorTranslator } from "colortranslator";
28
28
  import { useAppConfig } from "#imports";
29
+ import { useComponentUI } from "../composables/useComponentUI";
29
30
  import { tv } from "../utils/tv";
30
31
  const props = defineProps({
31
32
  as: { type: null, required: false },
@@ -35,10 +36,11 @@ const props = defineProps({
35
36
  format: { type: String, required: false, default: "hex" },
36
37
  size: { type: null, required: false },
37
38
  class: { type: null, required: false },
38
- ui: { type: null, required: false }
39
+ ui: { type: Object, required: false }
39
40
  });
40
41
  const modelValue = defineModel({ type: String, ...void 0 });
41
42
  const appConfig = useAppConfig();
43
+ const uiProp = useComponentUI("colorPicker", props);
42
44
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.colorPicker || {} })({
43
45
  size: props.size
44
46
  }));
@@ -178,19 +180,19 @@ const trackThumbStyle = computed(() => ({
178
180
  </script>
179
181
 
180
182
  <template>
181
- <Primitive :as="as" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })" :data-disabled="disabled ? true : void 0">
182
- <div data-slot="picker" :class="ui.picker({ class: props.ui?.picker })">
183
+ <Primitive :as="as" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })" :data-disabled="disabled ? true : void 0">
184
+ <div data-slot="picker" :class="ui.picker({ class: uiProp?.picker })">
183
185
  <div
184
186
  ref="selectorRef"
185
187
  data-slot="selector"
186
- :class="ui.selector({ class: props.ui?.selector })"
188
+ :class="ui.selector({ class: uiProp?.selector })"
187
189
  :style="selectorStyle"
188
190
  >
189
- <div data-slot="selectorBackground" :class="ui.selectorBackground({ class: props.ui?.selectorBackground })" data-color-picker-background>
191
+ <div data-slot="selectorBackground" :class="ui.selectorBackground({ class: uiProp?.selectorBackground })" data-color-picker-background>
190
192
  <div
191
193
  ref="selectorThumbRef"
192
194
  data-slot="selectorThumb"
193
- :class="ui.selectorThumb({ class: props.ui?.selectorThumb })"
195
+ :class="ui.selectorThumb({ class: uiProp?.selectorThumb })"
194
196
  :style="selectorThumbStyle"
195
197
  :data-disabled="disabled ? true : void 0"
196
198
  />
@@ -199,13 +201,13 @@ const trackThumbStyle = computed(() => ({
199
201
  <div
200
202
  ref="trackRef"
201
203
  data-slot="track"
202
- :class="ui.track({ class: props.ui?.track })"
204
+ :class="ui.track({ class: uiProp?.track })"
203
205
  data-color-picker-track
204
206
  >
205
207
  <div
206
208
  ref="trackThumbRef"
207
209
  data-slot="trackThumb"
208
- :class="ui.trackThumb({ class: props.ui?.trackThumb })"
210
+ :class="ui.trackThumb({ class: uiProp?.trackThumb })"
209
211
  :style="trackThumbStyle"
210
212
  :data-disabled="disabled ? true : void 0"
211
213
  />
@@ -214,12 +214,12 @@ declare const __VLS_export: <G extends CommandPaletteGroup<T>, T extends Command
214
214
  props: import("vue").PublicProps & __VLS_PrettifyLocal<(CommandPaletteProps<G, T> & {
215
215
  searchTerm?: string;
216
216
  }) & {
217
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
218
- "onUpdate:modelValue"?: ((value: T) => any) | undefined;
219
217
  onHighlight?: ((payload: {
220
218
  ref: HTMLElement;
221
219
  value: T;
222
220
  } | undefined) => any) | undefined;
221
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
222
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
223
223
  "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
224
224
  onEntryFocus?: ((event: CustomEvent<any>) => any) | undefined;
225
225
  onLeave?: ((event: Event) => any) | undefined;
@@ -229,10 +229,10 @@ declare const __VLS_export: <G extends CommandPaletteGroup<T>, T extends Command
229
229
  expose: (exposed: {}) => void;
230
230
  attrs: any;
231
231
  slots: CommandPaletteSlots<G, T>;
232
- emit: (((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "highlight", payload: {
232
+ emit: (((evt: "highlight", payload: {
233
233
  ref: HTMLElement;
234
234
  value: T;
235
- } | undefined) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "leave", event: Event) => void)) & ((evt: "update:searchTerm", value: string) => void);
235
+ } | undefined) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "leave", event: Event) => void)) & ((event: "update:searchTerm", value: string) => void);
236
236
  }>) => import("vue").VNode & {
237
237
  __ctx?: Awaited<typeof __VLS_setup>;
238
238
  };
@@ -9,6 +9,7 @@ import { defu } from "defu";
9
9
  import { reactivePick, createReusableTemplate, refThrottled } from "@vueuse/core";
10
10
  import { useFuse } from "@vueuse/integrations/useFuse";
11
11
  import { useAppConfig } from "#imports";
12
+ import { useComponentUI } from "../composables/useComponentUI";
12
13
  import { useLocale } from "../composables/useLocale";
13
14
  import { omit, get } from "../utils";
14
15
  import { highlight } from "../utils/fuse";
@@ -46,7 +47,7 @@ const props = defineProps({
46
47
  descriptionKey: { type: null, required: false, default: "description" },
47
48
  preserveGroupOrder: { type: Boolean, required: false, default: false },
48
49
  class: { type: null, required: false },
49
- ui: { type: null, required: false },
50
+ ui: { type: Object, required: false },
50
51
  multiple: { type: Boolean, required: false },
51
52
  disabled: { type: Boolean, required: false },
52
53
  modelValue: { type: null, required: false },
@@ -62,6 +63,7 @@ const slots = defineSlots();
62
63
  const searchTerm = defineModel("searchTerm", { type: String, ...{ default: "" } });
63
64
  const { t } = useLocale();
64
65
  const appConfig = useAppConfig();
66
+ const uiProp = useComponentUI("commandPalette", props);
65
67
  const rootProps = useForwardPropsEmits(reactivePick(props, "as", "disabled", "multiple", "modelValue", "defaultValue", "highlightOnHover", "by"), emits);
66
68
  const virtualizerProps = toRef(() => {
67
69
  if (!props.virtualize) return false;
@@ -222,61 +224,61 @@ function onSelect(e, item) {
222
224
  as-child
223
225
  @select="onSelect($event, item)"
224
226
  >
225
- <ULinkBase v-bind="slotProps" data-slot="item" :class="ui.item({ class: [props.ui?.item, item.ui?.item, item.class], active: active || item.active })">
227
+ <ULinkBase v-bind="slotProps" data-slot="item" :class="ui.item({ class: [uiProp?.item, item.ui?.item, item.class], active: active || item.active })">
226
228
  <slot :name="item.slot || group?.slot || 'item'" :item="item" :index="index" :ui="ui">
227
229
  <slot :name="item.slot ? `${item.slot}-leading` : group?.slot ? `${group.slot}-leading` : `item-leading`" :item="item" :index="index" :ui="ui">
228
- <UIcon v-if="item.loading" :name="loadingIcon || appConfig.ui.icons.loading" data-slot="itemLeadingIcon" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon], loading: true })" />
229
- <UIcon v-else-if="item.icon" :name="item.icon" data-slot="itemLeadingIcon" :class="ui.itemLeadingIcon({ class: [props.ui?.itemLeadingIcon, item.ui?.itemLeadingIcon], active: active || item.active })" />
230
- <UAvatar v-else-if="item.avatar" :size="item.ui?.itemLeadingAvatarSize || props.ui?.itemLeadingAvatarSize || ui.itemLeadingAvatarSize()" v-bind="item.avatar" data-slot="itemLeadingAvatar" :class="ui.itemLeadingAvatar({ class: [props.ui?.itemLeadingAvatar, item.ui?.itemLeadingAvatar], active: active || item.active })" />
230
+ <UIcon v-if="item.loading" :name="loadingIcon || appConfig.ui.icons.loading" data-slot="itemLeadingIcon" :class="ui.itemLeadingIcon({ class: [uiProp?.itemLeadingIcon, item.ui?.itemLeadingIcon], loading: true })" />
231
+ <UIcon v-else-if="item.icon" :name="item.icon" data-slot="itemLeadingIcon" :class="ui.itemLeadingIcon({ class: [uiProp?.itemLeadingIcon, item.ui?.itemLeadingIcon], active: active || item.active })" />
232
+ <UAvatar v-else-if="item.avatar" :size="item.ui?.itemLeadingAvatarSize || uiProp?.itemLeadingAvatarSize || ui.itemLeadingAvatarSize()" v-bind="item.avatar" data-slot="itemLeadingAvatar" :class="ui.itemLeadingAvatar({ class: [uiProp?.itemLeadingAvatar, item.ui?.itemLeadingAvatar], active: active || item.active })" />
231
233
  <UChip
232
234
  v-else-if="item.chip"
233
- :size="item.ui?.itemLeadingChipSize || props.ui?.itemLeadingChipSize || ui.itemLeadingChipSize()"
235
+ :size="item.ui?.itemLeadingChipSize || uiProp?.itemLeadingChipSize || ui.itemLeadingChipSize()"
234
236
  inset
235
237
  standalone
236
238
  v-bind="item.chip"
237
239
  data-slot="itemLeadingChip"
238
- :class="ui.itemLeadingChip({ class: [props.ui?.itemLeadingChip, item.ui?.itemLeadingChip], active: active || item.active })"
240
+ :class="ui.itemLeadingChip({ class: [uiProp?.itemLeadingChip, item.ui?.itemLeadingChip], active: active || item.active })"
239
241
  />
240
242
  </slot>
241
243
 
242
- <span v-if="item.prefix || (item.labelHtml || get(item, props.labelKey)) || (item.suffixHtml || item.suffix) || !!slots[item.slot ? `${item.slot}-label` : group?.slot ? `${group.slot}-label` : `item-label`] || (get(item, props.descriptionKey) || !!slots[item.slot ? `${item.slot}-description` : group?.slot ? `${group.slot}-description` : `item-description`])" data-slot="itemWrapper" :class="ui.itemWrapper({ class: [props.ui?.itemWrapper, item.ui?.itemWrapper] })">
243
- <span data-slot="itemLabel" :class="ui.itemLabel({ class: [props.ui?.itemLabel, item.ui?.itemLabel], active: active || item.active })">
244
+ <span v-if="item.prefix || (item.labelHtml || get(item, props.labelKey)) || (item.suffixHtml || item.suffix) || !!slots[item.slot ? `${item.slot}-label` : group?.slot ? `${group.slot}-label` : `item-label`] || (get(item, props.descriptionKey) || !!slots[item.slot ? `${item.slot}-description` : group?.slot ? `${group.slot}-description` : `item-description`])" data-slot="itemWrapper" :class="ui.itemWrapper({ class: [uiProp?.itemWrapper, item.ui?.itemWrapper] })">
245
+ <span data-slot="itemLabel" :class="ui.itemLabel({ class: [uiProp?.itemLabel, item.ui?.itemLabel], active: active || item.active })">
244
246
  <slot :name="item.slot ? `${item.slot}-label` : group?.slot ? `${group.slot}-label` : `item-label`" :item="item" :index="index" :ui="ui">
245
- <span v-if="item.prefix" data-slot="itemLabelPrefix" :class="ui.itemLabelPrefix({ class: [props.ui?.itemLabelPrefix, item.ui?.itemLabelPrefix] })">{{ item.prefix }}</span>
247
+ <span v-if="item.prefix" data-slot="itemLabelPrefix" :class="ui.itemLabelPrefix({ class: [uiProp?.itemLabelPrefix, item.ui?.itemLabelPrefix] })">{{ item.prefix }}</span>
246
248
 
247
- <span v-if="item.labelHtml" data-slot="itemLabelBase" :class="ui.itemLabelBase({ class: [props.ui?.itemLabelBase, item.ui?.itemLabelBase], active: active || item.active })" v-html="item.labelHtml" />
248
- <span v-else data-slot="itemLabelBase" :class="ui.itemLabelBase({ class: [props.ui?.itemLabelBase, item.ui?.itemLabelBase], active: active || item.active })">{{ get(item, props.labelKey) }}</span>
249
+ <span v-if="item.labelHtml" data-slot="itemLabelBase" :class="ui.itemLabelBase({ class: [uiProp?.itemLabelBase, item.ui?.itemLabelBase], active: active || item.active })" v-html="item.labelHtml" />
250
+ <span v-else data-slot="itemLabelBase" :class="ui.itemLabelBase({ class: [uiProp?.itemLabelBase, item.ui?.itemLabelBase], active: active || item.active })">{{ get(item, props.labelKey) }}</span>
249
251
 
250
- <span v-if="item.suffixHtml" data-slot="itemLabelSuffix" :class="ui.itemLabelSuffix({ class: [props.ui?.itemLabelSuffix, item.ui?.itemLabelSuffix], active: active || item.active })" v-html="item.suffixHtml" />
251
- <span v-else-if="item.suffix" data-slot="itemLabelSuffix" :class="ui.itemLabelSuffix({ class: [props.ui?.itemLabelSuffix, item.ui?.itemLabelSuffix], active: active || item.active })">{{ item.suffix }}</span>
252
+ <span v-if="item.suffixHtml" data-slot="itemLabelSuffix" :class="ui.itemLabelSuffix({ class: [uiProp?.itemLabelSuffix, item.ui?.itemLabelSuffix], active: active || item.active })" v-html="item.suffixHtml" />
253
+ <span v-else-if="item.suffix" data-slot="itemLabelSuffix" :class="ui.itemLabelSuffix({ class: [uiProp?.itemLabelSuffix, item.ui?.itemLabelSuffix], active: active || item.active })">{{ item.suffix }}</span>
252
254
  </slot>
253
255
  </span>
254
256
 
255
- <span v-if="get(item, props.descriptionKey) || !!slots[item.slot ? `${item.slot}-description` : group?.slot ? `${group.slot}-description` : `item-description`]" data-slot="itemDescription" :class="ui.itemDescription({ class: [props.ui?.itemDescription, item.ui?.itemDescription] })">
257
+ <span v-if="get(item, props.descriptionKey) || !!slots[item.slot ? `${item.slot}-description` : group?.slot ? `${group.slot}-description` : `item-description`]" data-slot="itemDescription" :class="ui.itemDescription({ class: [uiProp?.itemDescription, item.ui?.itemDescription] })">
256
258
  <slot :name="item.slot ? `${item.slot}-description` : group?.slot ? `${group.slot}-description` : `item-description`" :item="item" :index="index" :ui="ui">
257
259
  {{ get(item, props.descriptionKey) }}
258
260
  </slot>
259
261
  </span>
260
262
  </span>
261
263
 
262
- <span data-slot="itemTrailing" :class="ui.itemTrailing({ class: [props.ui?.itemTrailing, item.ui?.itemTrailing] })">
264
+ <span data-slot="itemTrailing" :class="ui.itemTrailing({ class: [uiProp?.itemTrailing, item.ui?.itemTrailing] })">
263
265
  <slot :name="item.slot ? `${item.slot}-trailing` : group?.slot ? `${group.slot}-trailing` : `item-trailing`" :item="item" :index="index" :ui="ui">
264
266
  <UIcon
265
267
  v-if="item.children && item.children.length > 0"
266
268
  :name="childrenIcon || appConfig.ui.icons.chevronRight"
267
269
  data-slot="itemTrailingIcon"
268
- :class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, item.ui?.itemTrailingIcon] })"
270
+ :class="ui.itemTrailingIcon({ class: [uiProp?.itemTrailingIcon, item.ui?.itemTrailingIcon] })"
269
271
  />
270
272
 
271
- <span v-else-if="item.kbds?.length" data-slot="itemTrailingKbds" :class="ui.itemTrailingKbds({ class: [props.ui?.itemTrailingKbds, item.ui?.itemTrailingKbds] })">
272
- <UKbd v-for="(kbd, kbdIndex) in item.kbds" :key="kbdIndex" :size="item.ui?.itemTrailingKbdsSize || props.ui?.itemTrailingKbdsSize || ui.itemTrailingKbdsSize()" v-bind="typeof kbd === 'string' ? { value: kbd } : kbd" />
273
+ <span v-else-if="item.kbds?.length" data-slot="itemTrailingKbds" :class="ui.itemTrailingKbds({ class: [uiProp?.itemTrailingKbds, item.ui?.itemTrailingKbds] })">
274
+ <UKbd v-for="(kbd, kbdIndex) in item.kbds" :key="kbdIndex" :size="item.ui?.itemTrailingKbdsSize || uiProp?.itemTrailingKbdsSize || ui.itemTrailingKbdsSize()" v-bind="typeof kbd === 'string' ? { value: kbd } : kbd" />
273
275
  </span>
274
276
 
275
- <UIcon v-else-if="group?.highlightedIcon" :name="group.highlightedIcon" data-slot="itemTrailingHighlightedIcon" :class="ui.itemTrailingHighlightedIcon({ class: [props.ui?.itemTrailingHighlightedIcon, item.ui?.itemTrailingHighlightedIcon] })" />
277
+ <UIcon v-else-if="group?.highlightedIcon" :name="group.highlightedIcon" data-slot="itemTrailingHighlightedIcon" :class="ui.itemTrailingHighlightedIcon({ class: [uiProp?.itemTrailingHighlightedIcon, item.ui?.itemTrailingHighlightedIcon] })" />
276
278
  </slot>
277
279
 
278
280
  <ListboxItemIndicator v-if="!item.children?.length" as-child>
279
- <UIcon :name="selectedIcon || appConfig.ui.icons.check" data-slot="itemTrailingIcon" :class="ui.itemTrailingIcon({ class: [props.ui?.itemTrailingIcon, item.ui?.itemTrailingIcon] })" />
281
+ <UIcon :name="selectedIcon || appConfig.ui.icons.check" data-slot="itemTrailingIcon" :class="ui.itemTrailingIcon({ class: [uiProp?.itemTrailingIcon, item.ui?.itemTrailingIcon] })" />
280
282
  </ListboxItemIndicator>
281
283
  </span>
282
284
  </slot>
@@ -285,7 +287,7 @@ function onSelect(e, item) {
285
287
  </ULink>
286
288
  </DefineItemTemplate>
287
289
 
288
- <ListboxRoot v-bind="{ ...rootProps, ...$attrs }" ref="rootRef" :selection-behavior="selectionBehavior" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
290
+ <ListboxRoot v-bind="{ ...rootProps, ...$attrs }" ref="rootRef" :selection-behavior="selectionBehavior" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
289
291
  <ListboxFilter v-if="input" v-model="searchTerm" as-child>
290
292
  <UInput
291
293
  variant="none"
@@ -298,7 +300,7 @@ function onSelect(e, item) {
298
300
  :trailing-icon="trailingIcon"
299
301
  :icon="icon || appConfig.ui.icons.search"
300
302
  data-slot="input"
301
- :class="ui.input({ class: props.ui?.input })"
303
+ :class="ui.input({ class: uiProp?.input })"
302
304
  @keydown.backspace="onBackspace"
303
305
  >
304
306
  <template v-if="history?.length && (back || !!slots.back)" #leading>
@@ -311,7 +313,7 @@ function onSelect(e, item) {
311
313
  :aria-label="t('commandPalette.back')"
312
314
  v-bind="typeof back === 'object' ? back : {}"
313
315
  data-slot="back"
314
- :class="ui.back({ class: props.ui?.back })"
316
+ :class="ui.back({ class: uiProp?.back })"
315
317
  @click="navigateBack"
316
318
  />
317
319
  </slot>
@@ -328,7 +330,7 @@ function onSelect(e, item) {
328
330
  :aria-label="t('commandPalette.close')"
329
331
  v-bind="typeof close === 'object' ? close : {}"
330
332
  data-slot="close"
331
- :class="ui.close({ class: props.ui?.close })"
333
+ :class="ui.close({ class: uiProp?.close })"
332
334
  @click="emits('update:open', false)"
333
335
  />
334
336
  </slot>
@@ -336,8 +338,8 @@ function onSelect(e, item) {
336
338
  </UInput>
337
339
  </ListboxFilter>
338
340
 
339
- <ListboxContent data-slot="content" :class="ui.content({ class: props.ui?.content })">
340
- <div v-if="filteredGroups?.length" role="presentation" data-slot="viewport" :class="ui.viewport({ class: props.ui?.viewport })">
341
+ <ListboxContent data-slot="content" :class="ui.content({ class: uiProp?.content })">
342
+ <div v-if="filteredGroups?.length" role="presentation" data-slot="viewport" :class="ui.viewport({ class: uiProp?.viewport })">
341
343
  <ListboxVirtualizer
342
344
  v-if="!!virtualize"
343
345
  v-slot="{ option: item, virtualItem }"
@@ -349,8 +351,8 @@ function onSelect(e, item) {
349
351
  </ListboxVirtualizer>
350
352
 
351
353
  <template v-else>
352
- <ListboxGroup v-for="group in filteredGroups" :key="`group-${group.id}`" data-slot="group" :class="ui.group({ class: props.ui?.group })">
353
- <ListboxGroupLabel v-if="get(group, props.labelKey)" data-slot="label" :class="ui.label({ class: props.ui?.label })">
354
+ <ListboxGroup v-for="group in filteredGroups" :key="`group-${group.id}`" data-slot="group" :class="ui.group({ class: uiProp?.group })">
355
+ <ListboxGroupLabel v-if="get(group, props.labelKey)" data-slot="label" :class="ui.label({ class: uiProp?.label })">
354
356
  {{ get(group, props.labelKey) }}
355
357
  </ListboxGroupLabel>
356
358
 
@@ -365,14 +367,14 @@ function onSelect(e, item) {
365
367
  </template>
366
368
  </div>
367
369
 
368
- <div v-else data-slot="empty" :class="ui.empty({ class: props.ui?.empty })">
370
+ <div v-else data-slot="empty" :class="ui.empty({ class: uiProp?.empty })">
369
371
  <slot name="empty" :search-term="searchTerm">
370
372
  {{ searchTerm ? t("commandPalette.noMatch", { searchTerm }) : t("commandPalette.noData") }}
371
373
  </slot>
372
374
  </div>
373
375
  </ListboxContent>
374
376
 
375
- <div v-if="!!slots.footer" data-slot="footer" :class="ui.footer({ class: props.ui?.footer })">
377
+ <div v-if="!!slots.footer" data-slot="footer" :class="ui.footer({ class: uiProp?.footer })">
376
378
  <slot name="footer" :ui="ui" />
377
379
  </div>
378
380
  </ListboxRoot>
@@ -214,12 +214,12 @@ declare const __VLS_export: <G extends CommandPaletteGroup<T>, T extends Command
214
214
  props: import("vue").PublicProps & __VLS_PrettifyLocal<(CommandPaletteProps<G, T> & {
215
215
  searchTerm?: string;
216
216
  }) & {
217
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
218
- "onUpdate:modelValue"?: ((value: T) => any) | undefined;
219
217
  onHighlight?: ((payload: {
220
218
  ref: HTMLElement;
221
219
  value: T;
222
220
  } | undefined) => any) | undefined;
221
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
222
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
223
223
  "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
224
224
  onEntryFocus?: ((event: CustomEvent<any>) => any) | undefined;
225
225
  onLeave?: ((event: Event) => any) | undefined;
@@ -229,10 +229,10 @@ declare const __VLS_export: <G extends CommandPaletteGroup<T>, T extends Command
229
229
  expose: (exposed: {}) => void;
230
230
  attrs: any;
231
231
  slots: CommandPaletteSlots<G, T>;
232
- emit: (((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "highlight", payload: {
232
+ emit: (((evt: "highlight", payload: {
233
233
  ref: HTMLElement;
234
234
  value: T;
235
- } | undefined) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "leave", event: Event) => void)) & ((evt: "update:searchTerm", value: string) => void);
235
+ } | undefined) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "leave", event: Event) => void)) & ((event: "update:searchTerm", value: string) => void);
236
236
  }>) => import("vue").VNode & {
237
237
  __ctx?: Awaited<typeof __VLS_setup>;
238
238
  };
@@ -5,6 +5,9 @@ export interface ContainerProps {
5
5
  */
6
6
  as?: any;
7
7
  class?: any;
8
+ ui?: {
9
+ base?: any;
10
+ };
8
11
  }
9
12
  export interface ContainerSlots {
10
13
  default(props?: {}): any;
@@ -7,17 +7,20 @@ import { computed } from "vue";
7
7
  import { Primitive } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
9
  import { tv } from "../utils/tv";
10
+ import { useComponentUI } from "../composables/useComponentUI";
10
11
  const props = defineProps({
11
12
  as: { type: null, 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("container", props);
16
19
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.container || {} }));
17
20
  </script>
18
21
 
19
22
  <template>
20
- <Primitive :as="as" :class="ui({ class: props.class })">
23
+ <Primitive :as="as" :class="ui({ class: [uiProp?.base, props.class] })">
21
24
  <slot />
22
25
  </Primitive>
23
26
  </template>
@@ -5,6 +5,9 @@ export interface ContainerProps {
5
5
  */
6
6
  as?: any;
7
7
  class?: any;
8
+ ui?: {
9
+ base?: any;
10
+ };
8
11
  }
9
12
  export interface ContainerSlots {
10
13
  default(props?: {}): any;
@@ -7,6 +7,7 @@ import { computed, toRef } from "vue";
7
7
  import { ContextMenuRoot, ContextMenuTrigger, useForwardPropsEmits } from "reka-ui";
8
8
  import { reactivePick } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
+ import { useComponentUI } from "../composables/useComponentUI";
10
11
  import { omit } from "../utils";
11
12
  import { tv } from "../utils/tv";
12
13
  import UContextMenuContent from "./ContextMenuContent.vue";
@@ -22,13 +23,14 @@ const props = defineProps({
22
23
  descriptionKey: { type: null, required: false, default: "description" },
23
24
  disabled: { type: Boolean, required: false },
24
25
  class: { type: null, required: false },
25
- ui: { type: null, required: false },
26
+ ui: { type: Object, required: false },
26
27
  pressOpenDelay: { type: Number, required: false },
27
28
  modal: { type: Boolean, required: false, default: true }
28
29
  });
29
30
  const emits = defineEmits(["update:open"]);
30
31
  const slots = defineSlots();
31
32
  const appConfig = useAppConfig();
33
+ const uiProp = useComponentUI("contextMenu", props);
32
34
  const rootProps = useForwardPropsEmits(reactivePick(props, "modal"), emits);
33
35
  const contentProps = toRef(() => props.content);
34
36
  const getProxySlots = () => omit(slots, ["default"]);
@@ -44,9 +46,9 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contextMenu |
44
46
  </ContextMenuTrigger>
45
47
 
46
48
  <UContextMenuContent
47
- :class="ui.content({ class: [!slots.default && props.class, props.ui?.content] })"
49
+ :class="ui.content({ class: [!slots.default && props.class, uiProp?.content] })"
48
50
  :ui="ui"
49
- :ui-override="props.ui"
51
+ :ui-override="uiProp"
50
52
  v-bind="contentProps"
51
53
  :items="items"
52
54
  :portal="portal"
@@ -37,6 +37,7 @@ const props = defineProps({
37
37
  avoidCollisions: { type: Boolean, required: false },
38
38
  collisionBoundary: { type: null, required: false },
39
39
  collisionPadding: { type: [Number, Object], required: false },
40
+ hideShiftedArrow: { type: Boolean, required: false },
40
41
  sticky: { type: String, required: false },
41
42
  hideWhenDetached: { type: Boolean, required: false },
42
43
  positionStrategy: { type: String, required: false },
@@ -6,6 +6,9 @@ export interface DashboardGroupProps extends Pick<UseResizableProps, 'storage' |
6
6
  */
7
7
  as?: any;
8
8
  class?: any;
9
+ ui?: {
10
+ base?: any;
11
+ };
9
12
  }
10
13
  export interface DashboardGroupSlots {
11
14
  default(props?: {}): any;
@@ -8,9 +8,11 @@ import { Primitive } from "reka-ui";
8
8
  import { useNuxtApp, useAppConfig } from "#imports";
9
9
  import { provideDashboardContext } from "../utils/dashboard";
10
10
  import { tv } from "../utils/tv";
11
+ import { useComponentUI } from "../composables/useComponentUI";
11
12
  const props = defineProps({
12
13
  as: { type: null, required: false },
13
14
  class: { type: null, required: false },
15
+ ui: { type: Object, required: false },
14
16
  storage: { type: String, required: false, default: "cookie" },
15
17
  storageKey: { type: String, required: false, default: "dashboard" },
16
18
  persistent: { type: Boolean, required: false, default: true },
@@ -19,6 +21,7 @@ const props = defineProps({
19
21
  defineSlots();
20
22
  const nuxtApp = useNuxtApp();
21
23
  const appConfig = useAppConfig();
24
+ const uiProp = useComponentUI("dashboardGroup", props);
22
25
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.dashboardGroup || {} }));
23
26
  const sidebarOpen = ref(false);
24
27
  const sidebarCollapsed = ref(false);
@@ -42,7 +45,7 @@ provideDashboardContext({
42
45
  </script>
43
46
 
44
47
  <template>
45
- <Primitive :as="as" :class="ui({ class: props.class })">
48
+ <Primitive :as="as" :class="ui({ class: [uiProp?.base, props.class] })">
46
49
  <slot />
47
50
  </Primitive>
48
51
  </template>
@@ -6,6 +6,9 @@ export interface DashboardGroupProps extends Pick<UseResizableProps, 'storage' |
6
6
  */
7
7
  as?: any;
8
8
  class?: any;
9
+ ui?: {
10
+ base?: any;
11
+ };
9
12
  }
10
13
  export interface DashboardGroupSlots {
11
14
  default(props?: {}): any;
@@ -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 { useDashboard } from "../utils/dashboard";
11
12
  import { tv } from "../utils/tv";
12
13
  import UDashboardSidebarToggle from "./DashboardSidebarToggle.vue";
@@ -19,10 +20,11 @@ const props = defineProps({
19
20
  toggle: { type: [Boolean, Object], required: false, default: true },
20
21
  toggleSide: { type: String, required: false, default: "left" },
21
22
  class: { type: null, required: false },
22
- ui: { type: null, required: false }
23
+ ui: { type: Object, required: false }
23
24
  });
24
25
  const slots = defineSlots();
25
26
  const appConfig = useAppConfig();
27
+ const uiProp = useComponentUI("dashboardNavbar", props);
26
28
  const dashboardContext = useDashboard({});
27
29
  const [DefineToggleTemplate, ReuseToggleTemplate] = createReusableTemplate();
28
30
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.dashboardNavbar || {} })());
@@ -36,21 +38,21 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.dashboardNavb
36
38
  v-bind="typeof toggle === 'object' ? toggle : {}"
37
39
  :side="toggleSide"
38
40
  data-slot="toggle"
39
- :class="ui.toggle({ class: props.ui?.toggle, toggleSide })"
41
+ :class="ui.toggle({ class: uiProp?.toggle, toggleSide })"
40
42
  />
41
43
  </slot>
42
44
  </DefineToggleTemplate>
43
45
 
44
- <Primitive :as="as" v-bind="$attrs" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
45
- <div data-slot="left" :class="ui.left({ class: props.ui?.left })">
46
+ <Primitive :as="as" v-bind="$attrs" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
47
+ <div data-slot="left" :class="ui.left({ class: uiProp?.left })">
46
48
  <ReuseToggleTemplate v-if="toggleSide === 'left'" />
47
49
 
48
50
  <slot name="left" v-bind="dashboardContext">
49
51
  <slot name="leading" v-bind="{ ...dashboardContext, ui }">
50
- <UIcon v-if="icon" :name="icon" data-slot="icon" :class="ui.icon({ class: props.ui?.icon })" />
52
+ <UIcon v-if="icon" :name="icon" data-slot="icon" :class="ui.icon({ class: uiProp?.icon })" />
51
53
  </slot>
52
54
 
53
- <h1 data-slot="title" :class="ui.title({ class: props.ui?.title })">
55
+ <h1 data-slot="title" :class="ui.title({ class: uiProp?.title })">
54
56
  <slot name="title">
55
57
  {{ title }}
56
58
  </slot>
@@ -60,11 +62,11 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.dashboardNavb
60
62
  </slot>
61
63
  </div>
62
64
 
63
- <div v-if="!!slots.default" data-slot="center" :class="ui.center({ class: props.ui?.center })">
65
+ <div v-if="!!slots.default" data-slot="center" :class="ui.center({ class: uiProp?.center })">
64
66
  <slot v-bind="dashboardContext" />
65
67
  </div>
66
68
 
67
- <div data-slot="right" :class="ui.right({ class: props.ui?.right })">
69
+ <div data-slot="right" :class="ui.right({ class: uiProp?.right })">
68
70
  <slot name="right" v-bind="dashboardContext" />
69
71
 
70
72
  <ReuseToggleTemplate v-if="toggleSide === 'right'" />