@nuxt/ui 4.2.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/.nuxt/ui.css +2 -0
  2. package/README.md +6 -5
  3. package/cli/package.json +1 -1
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +4 -4
  6. package/dist/runtime/components/Accordion.d.vue.ts +16 -7
  7. package/dist/runtime/components/Accordion.vue +2 -1
  8. package/dist/runtime/components/Accordion.vue.d.ts +16 -7
  9. package/dist/runtime/components/Alert.d.vue.ts +4 -4
  10. package/dist/runtime/components/Alert.vue.d.ts +4 -4
  11. package/dist/runtime/components/App.d.vue.ts +10 -6
  12. package/dist/runtime/components/App.vue.d.ts +10 -6
  13. package/dist/runtime/components/AuthForm.d.vue.ts +53 -11
  14. package/dist/runtime/components/AuthForm.vue.d.ts +53 -11
  15. package/dist/runtime/components/Avatar.d.vue.ts +2 -2
  16. package/dist/runtime/components/Avatar.vue.d.ts +2 -2
  17. package/dist/runtime/components/AvatarGroup.d.vue.ts +1 -1
  18. package/dist/runtime/components/AvatarGroup.vue.d.ts +1 -1
  19. package/dist/runtime/components/Badge.d.vue.ts +2 -2
  20. package/dist/runtime/components/Badge.vue.d.ts +2 -2
  21. package/dist/runtime/components/Banner.d.vue.ts +5 -6
  22. package/dist/runtime/components/Banner.vue +49 -23
  23. package/dist/runtime/components/Banner.vue.d.ts +5 -6
  24. package/dist/runtime/components/BlogPost.d.vue.ts +2 -2
  25. package/dist/runtime/components/BlogPost.vue +0 -1
  26. package/dist/runtime/components/BlogPost.vue.d.ts +2 -2
  27. package/dist/runtime/components/BlogPosts.d.vue.ts +10 -6
  28. package/dist/runtime/components/BlogPosts.vue.d.ts +10 -6
  29. package/dist/runtime/components/Breadcrumb.d.vue.ts +10 -6
  30. package/dist/runtime/components/Breadcrumb.vue.d.ts +10 -6
  31. package/dist/runtime/components/Button.d.vue.ts +1 -1
  32. package/dist/runtime/components/Button.vue.d.ts +1 -1
  33. package/dist/runtime/components/Calendar.d.vue.ts +17 -12
  34. package/dist/runtime/components/Calendar.vue +13 -2
  35. package/dist/runtime/components/Calendar.vue.d.ts +17 -12
  36. package/dist/runtime/components/Card.d.vue.ts +1 -1
  37. package/dist/runtime/components/Card.vue.d.ts +1 -1
  38. package/dist/runtime/components/Carousel.d.vue.ts +14 -10
  39. package/dist/runtime/components/Carousel.vue +22 -0
  40. package/dist/runtime/components/Carousel.vue.d.ts +14 -10
  41. package/dist/runtime/components/ChangelogVersion.d.vue.ts +2 -2
  42. package/dist/runtime/components/ChangelogVersion.vue +0 -1
  43. package/dist/runtime/components/ChangelogVersion.vue.d.ts +2 -2
  44. package/dist/runtime/components/ChangelogVersions.d.vue.ts +14 -8
  45. package/dist/runtime/components/ChangelogVersions.vue +3 -2
  46. package/dist/runtime/components/ChangelogVersions.vue.d.ts +14 -8
  47. package/dist/runtime/components/ChatMessage.d.vue.ts +2 -2
  48. package/dist/runtime/components/ChatMessage.vue.d.ts +2 -2
  49. package/dist/runtime/components/ChatMessages.d.vue.ts +5 -5
  50. package/dist/runtime/components/ChatMessages.vue.d.ts +5 -5
  51. package/dist/runtime/components/ChatPalette.d.vue.ts +1 -1
  52. package/dist/runtime/components/ChatPalette.vue.d.ts +1 -1
  53. package/dist/runtime/components/ChatPrompt.d.vue.ts +3 -3
  54. package/dist/runtime/components/ChatPrompt.vue.d.ts +3 -3
  55. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +7 -7
  56. package/dist/runtime/components/ChatPromptSubmit.vue +1 -20
  57. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +7 -7
  58. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  59. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  60. package/dist/runtime/components/CheckboxGroup.d.vue.ts +12 -8
  61. package/dist/runtime/components/CheckboxGroup.vue.d.ts +12 -8
  62. package/dist/runtime/components/Chip.d.vue.ts +2 -2
  63. package/dist/runtime/components/Chip.vue.d.ts +2 -2
  64. package/dist/runtime/components/Collapsible.d.vue.ts +2 -2
  65. package/dist/runtime/components/Collapsible.vue.d.ts +2 -2
  66. package/dist/runtime/components/ColorPicker.d.vue.ts +2 -2
  67. package/dist/runtime/components/ColorPicker.vue.d.ts +2 -2
  68. package/dist/runtime/components/CommandPalette.d.vue.ts +31 -13
  69. package/dist/runtime/components/CommandPalette.vue +26 -18
  70. package/dist/runtime/components/CommandPalette.vue.d.ts +31 -13
  71. package/dist/runtime/components/Container.d.vue.ts +1 -1
  72. package/dist/runtime/components/Container.vue.d.ts +1 -1
  73. package/dist/runtime/components/ContextMenu.d.vue.ts +17 -9
  74. package/dist/runtime/components/ContextMenu.vue.d.ts +17 -9
  75. package/dist/runtime/components/ContextMenuContent.d.vue.ts +11 -7
  76. package/dist/runtime/components/ContextMenuContent.vue +12 -13
  77. package/dist/runtime/components/ContextMenuContent.vue.d.ts +11 -7
  78. package/dist/runtime/components/DashboardGroup.d.vue.ts +2 -2
  79. package/dist/runtime/components/DashboardGroup.vue.d.ts +2 -2
  80. package/dist/runtime/components/DashboardNavbar.d.vue.ts +5 -5
  81. package/dist/runtime/components/DashboardNavbar.vue.d.ts +5 -5
  82. package/dist/runtime/components/DashboardPanel.d.vue.ts +2 -2
  83. package/dist/runtime/components/DashboardPanel.vue.d.ts +2 -2
  84. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +1 -1
  85. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +1 -1
  86. package/dist/runtime/components/DashboardSearch.d.vue.ts +10 -6
  87. package/dist/runtime/components/DashboardSearch.vue +3 -1
  88. package/dist/runtime/components/DashboardSearch.vue.d.ts +10 -6
  89. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +5 -5
  90. package/dist/runtime/components/DashboardSearchButton.vue +1 -20
  91. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +5 -5
  92. package/dist/runtime/components/DashboardSidebar.d.vue.ts +13 -9
  93. package/dist/runtime/components/DashboardSidebar.vue.d.ts +13 -9
  94. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +5 -5
  95. package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -20
  96. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +5 -5
  97. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +5 -5
  98. package/dist/runtime/components/DashboardSidebarToggle.vue +1 -20
  99. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +5 -5
  100. package/dist/runtime/components/DashboardToolbar.d.vue.ts +1 -1
  101. package/dist/runtime/components/DashboardToolbar.vue.d.ts +1 -1
  102. package/dist/runtime/components/Drawer.d.vue.ts +3 -3
  103. package/dist/runtime/components/Drawer.vue.d.ts +3 -3
  104. package/dist/runtime/components/DropdownMenu.d.vue.ts +17 -9
  105. package/dist/runtime/components/DropdownMenu.vue.d.ts +17 -9
  106. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +11 -7
  107. package/dist/runtime/components/DropdownMenuContent.vue +12 -13
  108. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +11 -7
  109. package/dist/runtime/components/Editor.d.vue.ts +101 -0
  110. package/dist/runtime/components/Editor.vue +199 -0
  111. package/dist/runtime/components/Editor.vue.d.ts +101 -0
  112. package/dist/runtime/components/EditorDragHandle.d.vue.ts +68 -0
  113. package/dist/runtime/components/EditorDragHandle.vue +127 -0
  114. package/dist/runtime/components/EditorDragHandle.vue.d.ts +68 -0
  115. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +41 -0
  116. package/dist/runtime/components/EditorEmojiMenu.vue +73 -0
  117. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +41 -0
  118. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +49 -0
  119. package/dist/runtime/components/EditorMentionMenu.vue +79 -0
  120. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +49 -0
  121. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +58 -0
  122. package/dist/runtime/components/EditorSuggestionMenu.vue +83 -0
  123. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +58 -0
  124. package/dist/runtime/components/EditorToolbar.d.vue.ts +92 -0
  125. package/dist/runtime/components/EditorToolbar.vue +242 -0
  126. package/dist/runtime/components/EditorToolbar.vue.d.ts +92 -0
  127. package/dist/runtime/components/Empty.d.vue.ts +1 -1
  128. package/dist/runtime/components/Empty.vue.d.ts +1 -1
  129. package/dist/runtime/components/Error.d.vue.ts +6 -5
  130. package/dist/runtime/components/Error.vue +1 -1
  131. package/dist/runtime/components/Error.vue.d.ts +6 -5
  132. package/dist/runtime/components/FieldGroup.d.vue.ts +2 -2
  133. package/dist/runtime/components/FieldGroup.vue.d.ts +2 -2
  134. package/dist/runtime/components/FileUpload.d.vue.ts +13 -9
  135. package/dist/runtime/components/FileUpload.vue +2 -2
  136. package/dist/runtime/components/FileUpload.vue.d.ts +13 -9
  137. package/dist/runtime/components/Footer.d.vue.ts +2 -2
  138. package/dist/runtime/components/Footer.vue.d.ts +2 -2
  139. package/dist/runtime/components/FooterColumns.d.vue.ts +10 -6
  140. package/dist/runtime/components/FooterColumns.vue.d.ts +10 -6
  141. package/dist/runtime/components/Form.d.vue.ts +11 -7
  142. package/dist/runtime/components/Form.vue.d.ts +11 -7
  143. package/dist/runtime/components/FormField.d.vue.ts +8 -1
  144. package/dist/runtime/components/FormField.vue +6 -5
  145. package/dist/runtime/components/FormField.vue.d.ts +8 -1
  146. package/dist/runtime/components/Header.d.vue.ts +13 -9
  147. package/dist/runtime/components/Header.vue.d.ts +13 -9
  148. package/dist/runtime/components/Icon.d.vue.ts +1 -1
  149. package/dist/runtime/components/Icon.vue.d.ts +1 -1
  150. package/dist/runtime/components/Input.d.vue.ts +14 -10
  151. package/dist/runtime/components/Input.vue.d.ts +14 -10
  152. package/dist/runtime/components/InputDate.d.vue.ts +13 -9
  153. package/dist/runtime/components/InputDate.vue.d.ts +13 -9
  154. package/dist/runtime/components/InputMenu.d.vue.ts +34 -13
  155. package/dist/runtime/components/InputMenu.vue +56 -11
  156. package/dist/runtime/components/InputMenu.vue.d.ts +34 -13
  157. package/dist/runtime/components/InputNumber.d.vue.ts +18 -14
  158. package/dist/runtime/components/InputNumber.vue +1 -1
  159. package/dist/runtime/components/InputNumber.vue.d.ts +18 -14
  160. package/dist/runtime/components/InputTags.d.vue.ts +13 -9
  161. package/dist/runtime/components/InputTags.vue.d.ts +13 -9
  162. package/dist/runtime/components/InputTime.d.vue.ts +4 -4
  163. package/dist/runtime/components/InputTime.vue.d.ts +4 -4
  164. package/dist/runtime/components/Kbd.d.vue.ts +2 -2
  165. package/dist/runtime/components/Kbd.vue.d.ts +2 -2
  166. package/dist/runtime/components/Link.d.vue.ts +8 -3
  167. package/dist/runtime/components/Link.vue.d.ts +8 -3
  168. package/dist/runtime/components/LinkBase.d.vue.ts +3 -3
  169. package/dist/runtime/components/LinkBase.vue.d.ts +3 -3
  170. package/dist/runtime/components/Main.d.vue.ts +4 -2
  171. package/dist/runtime/components/Main.vue +1 -1
  172. package/dist/runtime/components/Main.vue.d.ts +4 -2
  173. package/dist/runtime/components/Marquee.d.vue.ts +3 -3
  174. package/dist/runtime/components/Marquee.vue.d.ts +3 -3
  175. package/dist/runtime/components/Modal.d.vue.ts +7 -7
  176. package/dist/runtime/components/Modal.vue.d.ts +7 -7
  177. package/dist/runtime/components/NavigationMenu.d.vue.ts +17 -8
  178. package/dist/runtime/components/NavigationMenu.vue +3 -2
  179. package/dist/runtime/components/NavigationMenu.vue.d.ts +17 -8
  180. package/dist/runtime/components/Page.d.vue.ts +1 -1
  181. package/dist/runtime/components/Page.vue.d.ts +1 -1
  182. package/dist/runtime/components/PageAnchors.d.vue.ts +10 -6
  183. package/dist/runtime/components/PageAnchors.vue.d.ts +10 -6
  184. package/dist/runtime/components/PageAside.d.vue.ts +2 -2
  185. package/dist/runtime/components/PageAside.vue.d.ts +2 -2
  186. package/dist/runtime/components/PageBody.d.vue.ts +1 -1
  187. package/dist/runtime/components/PageBody.vue.d.ts +1 -1
  188. package/dist/runtime/components/PageCTA.d.vue.ts +2 -2
  189. package/dist/runtime/components/PageCTA.vue.d.ts +2 -2
  190. package/dist/runtime/components/PageCard.d.vue.ts +2 -2
  191. package/dist/runtime/components/PageCard.vue.d.ts +2 -2
  192. package/dist/runtime/components/PageColumns.d.vue.ts +1 -1
  193. package/dist/runtime/components/PageColumns.vue.d.ts +1 -1
  194. package/dist/runtime/components/PageFeature.d.vue.ts +2 -2
  195. package/dist/runtime/components/PageFeature.vue +2 -2
  196. package/dist/runtime/components/PageFeature.vue.d.ts +2 -2
  197. package/dist/runtime/components/PageGrid.d.vue.ts +1 -1
  198. package/dist/runtime/components/PageGrid.vue.d.ts +1 -1
  199. package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
  200. package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
  201. package/dist/runtime/components/PageHero.d.vue.ts +2 -2
  202. package/dist/runtime/components/PageHero.vue.d.ts +2 -2
  203. package/dist/runtime/components/PageLinks.d.vue.ts +10 -6
  204. package/dist/runtime/components/PageLinks.vue.d.ts +10 -6
  205. package/dist/runtime/components/PageList.d.vue.ts +2 -2
  206. package/dist/runtime/components/PageList.vue.d.ts +2 -2
  207. package/dist/runtime/components/PageLogos.d.vue.ts +2 -2
  208. package/dist/runtime/components/PageLogos.vue.d.ts +2 -2
  209. package/dist/runtime/components/PageSection.d.vue.ts +2 -2
  210. package/dist/runtime/components/PageSection.vue.d.ts +2 -2
  211. package/dist/runtime/components/Pagination.d.vue.ts +4 -5
  212. package/dist/runtime/components/Pagination.vue.d.ts +4 -5
  213. package/dist/runtime/components/PinInput.d.vue.ts +13 -9
  214. package/dist/runtime/components/PinInput.vue +1 -1
  215. package/dist/runtime/components/PinInput.vue.d.ts +13 -9
  216. package/dist/runtime/components/Popover.d.vue.ts +11 -7
  217. package/dist/runtime/components/Popover.vue.d.ts +11 -7
  218. package/dist/runtime/components/PricingPlan.d.vue.ts +2 -2
  219. package/dist/runtime/components/PricingPlan.vue.d.ts +2 -2
  220. package/dist/runtime/components/PricingPlans.d.vue.ts +10 -6
  221. package/dist/runtime/components/PricingPlans.vue.d.ts +10 -6
  222. package/dist/runtime/components/PricingTable.d.vue.ts +10 -6
  223. package/dist/runtime/components/PricingTable.vue.d.ts +10 -6
  224. package/dist/runtime/components/Progress.d.vue.ts +2 -2
  225. package/dist/runtime/components/Progress.vue.d.ts +2 -2
  226. package/dist/runtime/components/RadioGroup.d.vue.ts +12 -8
  227. package/dist/runtime/components/RadioGroup.vue.d.ts +12 -8
  228. package/dist/runtime/components/ScrollArea.d.vue.ts +85 -0
  229. package/dist/runtime/components/ScrollArea.vue +187 -0
  230. package/dist/runtime/components/ScrollArea.vue.d.ts +85 -0
  231. package/dist/runtime/components/Select.d.vue.ts +21 -9
  232. package/dist/runtime/components/Select.vue +24 -6
  233. package/dist/runtime/components/Select.vue.d.ts +21 -9
  234. package/dist/runtime/components/SelectMenu.d.vue.ts +34 -13
  235. package/dist/runtime/components/SelectMenu.vue +58 -12
  236. package/dist/runtime/components/SelectMenu.vue.d.ts +34 -13
  237. package/dist/runtime/components/Separator.d.vue.ts +4 -4
  238. package/dist/runtime/components/Separator.vue.d.ts +4 -4
  239. package/dist/runtime/components/Skeleton.d.vue.ts +2 -2
  240. package/dist/runtime/components/Skeleton.vue.d.ts +2 -2
  241. package/dist/runtime/components/Slideover.d.vue.ts +12 -7
  242. package/dist/runtime/components/Slideover.vue +3 -1
  243. package/dist/runtime/components/Slideover.vue.d.ts +12 -7
  244. package/dist/runtime/components/Slider.d.vue.ts +12 -8
  245. package/dist/runtime/components/Slider.vue +2 -2
  246. package/dist/runtime/components/Slider.vue.d.ts +12 -8
  247. package/dist/runtime/components/Stepper.d.vue.ts +21 -9
  248. package/dist/runtime/components/Stepper.vue +20 -16
  249. package/dist/runtime/components/Stepper.vue.d.ts +21 -9
  250. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  251. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  252. package/dist/runtime/components/Table.d.vue.ts +27 -23
  253. package/dist/runtime/components/Table.vue +55 -33
  254. package/dist/runtime/components/Table.vue.d.ts +27 -23
  255. package/dist/runtime/components/Tabs.d.vue.ts +17 -8
  256. package/dist/runtime/components/Tabs.vue +5 -4
  257. package/dist/runtime/components/Tabs.vue.d.ts +17 -8
  258. package/dist/runtime/components/Textarea.d.vue.ts +14 -10
  259. package/dist/runtime/components/Textarea.vue.d.ts +14 -10
  260. package/dist/runtime/components/Timeline.d.vue.ts +24 -10
  261. package/dist/runtime/components/Timeline.vue +26 -17
  262. package/dist/runtime/components/Timeline.vue.d.ts +24 -10
  263. package/dist/runtime/components/Toast.d.vue.ts +5 -5
  264. package/dist/runtime/components/Toast.vue.d.ts +5 -5
  265. package/dist/runtime/components/Toaster.d.vue.ts +2 -2
  266. package/dist/runtime/components/Toaster.vue.d.ts +2 -2
  267. package/dist/runtime/components/Tooltip.d.vue.ts +2 -2
  268. package/dist/runtime/components/Tooltip.vue.d.ts +2 -2
  269. package/dist/runtime/components/Tree.d.vue.ts +13 -9
  270. package/dist/runtime/components/Tree.vue.d.ts +13 -9
  271. package/dist/runtime/components/User.d.vue.ts +2 -2
  272. package/dist/runtime/components/User.vue +0 -1
  273. package/dist/runtime/components/User.vue.d.ts +2 -2
  274. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  275. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  276. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +5 -5
  277. package/dist/runtime/components/color-mode/ColorModeButton.vue +3 -22
  278. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +5 -5
  279. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +1 -1
  280. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +1 -1
  281. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +2 -2
  282. package/dist/runtime/components/color-mode/ColorModeSelect.vue +5 -0
  283. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +2 -2
  284. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  285. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  286. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +11 -7
  287. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +11 -7
  288. package/dist/runtime/components/content/ContentSearch.d.vue.ts +18 -10
  289. package/dist/runtime/components/content/ContentSearch.vue +3 -1
  290. package/dist/runtime/components/content/ContentSearch.vue.d.ts +18 -10
  291. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +5 -5
  292. package/dist/runtime/components/content/ContentSearchButton.vue +1 -20
  293. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +5 -5
  294. package/dist/runtime/components/content/ContentSurround.d.vue.ts +10 -6
  295. package/dist/runtime/components/content/ContentSurround.vue +1 -1
  296. package/dist/runtime/components/content/ContentSurround.vue.d.ts +10 -6
  297. package/dist/runtime/components/content/ContentToc.d.vue.ts +11 -7
  298. package/dist/runtime/components/content/ContentToc.vue.d.ts +11 -7
  299. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +2 -2
  300. package/dist/runtime/components/locale/LocaleSelect.vue +14 -3
  301. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +2 -2
  302. package/dist/runtime/components/prose/A.d.vue.ts +1 -1
  303. package/dist/runtime/components/prose/A.vue.d.ts +1 -1
  304. package/dist/runtime/components/prose/Accordion.d.vue.ts +2 -2
  305. package/dist/runtime/components/prose/Accordion.vue.d.ts +2 -2
  306. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +1 -1
  307. package/dist/runtime/components/prose/AccordionItem.vue.d.ts +1 -1
  308. package/dist/runtime/components/prose/Badge.d.vue.ts +1 -1
  309. package/dist/runtime/components/prose/Badge.vue.d.ts +1 -1
  310. package/dist/runtime/components/prose/Blockquote.d.vue.ts +1 -1
  311. package/dist/runtime/components/prose/Blockquote.vue.d.ts +1 -1
  312. package/dist/runtime/components/prose/Callout.d.vue.ts +1 -1
  313. package/dist/runtime/components/prose/Callout.vue +0 -1
  314. package/dist/runtime/components/prose/Callout.vue.d.ts +1 -1
  315. package/dist/runtime/components/prose/Card.d.vue.ts +1 -1
  316. package/dist/runtime/components/prose/Card.vue +0 -1
  317. package/dist/runtime/components/prose/Card.vue.d.ts +1 -1
  318. package/dist/runtime/components/prose/CardGroup.d.vue.ts +1 -1
  319. package/dist/runtime/components/prose/CardGroup.vue.d.ts +1 -1
  320. package/dist/runtime/components/prose/Code.d.vue.ts +1 -1
  321. package/dist/runtime/components/prose/Code.vue.d.ts +1 -1
  322. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +2 -2
  323. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +2 -2
  324. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +2 -2
  325. package/dist/runtime/components/prose/CodeGroup.vue.d.ts +2 -2
  326. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  327. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  328. package/dist/runtime/components/prose/CodePreview.d.vue.ts +1 -1
  329. package/dist/runtime/components/prose/CodePreview.vue.d.ts +1 -1
  330. package/dist/runtime/components/prose/CodeTree.d.vue.ts +20 -1
  331. package/dist/runtime/components/prose/CodeTree.vue +34 -7
  332. package/dist/runtime/components/prose/CodeTree.vue.d.ts +20 -1
  333. package/dist/runtime/components/prose/Collapsible.d.vue.ts +1 -1
  334. package/dist/runtime/components/prose/Collapsible.vue.d.ts +1 -1
  335. package/dist/runtime/components/prose/Em.d.vue.ts +1 -1
  336. package/dist/runtime/components/prose/Em.vue.d.ts +1 -1
  337. package/dist/runtime/components/prose/Field.d.vue.ts +1 -1
  338. package/dist/runtime/components/prose/Field.vue.d.ts +1 -1
  339. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +1 -1
  340. package/dist/runtime/components/prose/FieldGroup.vue.d.ts +1 -1
  341. package/dist/runtime/components/prose/H1.d.vue.ts +1 -1
  342. package/dist/runtime/components/prose/H1.vue.d.ts +1 -1
  343. package/dist/runtime/components/prose/H2.d.vue.ts +1 -1
  344. package/dist/runtime/components/prose/H2.vue.d.ts +1 -1
  345. package/dist/runtime/components/prose/H3.d.vue.ts +1 -1
  346. package/dist/runtime/components/prose/H3.vue.d.ts +1 -1
  347. package/dist/runtime/components/prose/H4.d.vue.ts +1 -1
  348. package/dist/runtime/components/prose/H4.vue.d.ts +1 -1
  349. package/dist/runtime/components/prose/Hr.d.vue.ts +1 -1
  350. package/dist/runtime/components/prose/Hr.vue.d.ts +1 -1
  351. package/dist/runtime/components/prose/Icon.d.vue.ts +1 -1
  352. package/dist/runtime/components/prose/Icon.vue.d.ts +1 -1
  353. package/dist/runtime/components/prose/Img.d.vue.ts +2 -2
  354. package/dist/runtime/components/prose/Img.vue.d.ts +2 -2
  355. package/dist/runtime/components/prose/Kbd.d.vue.ts +1 -1
  356. package/dist/runtime/components/prose/Kbd.vue.d.ts +1 -1
  357. package/dist/runtime/components/prose/Li.d.vue.ts +1 -1
  358. package/dist/runtime/components/prose/Li.vue.d.ts +1 -1
  359. package/dist/runtime/components/prose/Ol.d.vue.ts +1 -1
  360. package/dist/runtime/components/prose/Ol.vue.d.ts +1 -1
  361. package/dist/runtime/components/prose/P.d.vue.ts +1 -1
  362. package/dist/runtime/components/prose/P.vue.d.ts +1 -1
  363. package/dist/runtime/components/prose/Pre.d.vue.ts +1 -1
  364. package/dist/runtime/components/prose/Pre.vue.d.ts +1 -1
  365. package/dist/runtime/components/prose/Steps.d.vue.ts +1 -1
  366. package/dist/runtime/components/prose/Steps.vue.d.ts +1 -1
  367. package/dist/runtime/components/prose/Strong.d.vue.ts +1 -1
  368. package/dist/runtime/components/prose/Strong.vue.d.ts +1 -1
  369. package/dist/runtime/components/prose/Table.d.vue.ts +1 -1
  370. package/dist/runtime/components/prose/Table.vue.d.ts +1 -1
  371. package/dist/runtime/components/prose/Tabs.d.vue.ts +2 -2
  372. package/dist/runtime/components/prose/Tabs.vue.d.ts +2 -2
  373. package/dist/runtime/components/prose/TabsItem.d.vue.ts +1 -1
  374. package/dist/runtime/components/prose/TabsItem.vue.d.ts +1 -1
  375. package/dist/runtime/components/prose/Tbody.d.vue.ts +1 -1
  376. package/dist/runtime/components/prose/Tbody.vue.d.ts +1 -1
  377. package/dist/runtime/components/prose/Td.d.vue.ts +2 -1
  378. package/dist/runtime/components/prose/Td.vue +2 -1
  379. package/dist/runtime/components/prose/Td.vue.d.ts +2 -1
  380. package/dist/runtime/components/prose/Th.d.vue.ts +2 -1
  381. package/dist/runtime/components/prose/Th.vue +2 -1
  382. package/dist/runtime/components/prose/Th.vue.d.ts +2 -1
  383. package/dist/runtime/components/prose/Thead.d.vue.ts +1 -1
  384. package/dist/runtime/components/prose/Thead.vue.d.ts +1 -1
  385. package/dist/runtime/components/prose/Tr.d.vue.ts +1 -1
  386. package/dist/runtime/components/prose/Tr.vue.d.ts +1 -1
  387. package/dist/runtime/components/prose/Ul.d.vue.ts +1 -1
  388. package/dist/runtime/components/prose/Ul.vue.d.ts +1 -1
  389. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +2 -2
  390. package/dist/runtime/components/prose/callout/Caution.vue.d.ts +2 -2
  391. package/dist/runtime/components/prose/callout/Note.d.vue.ts +2 -2
  392. package/dist/runtime/components/prose/callout/Note.vue.d.ts +2 -2
  393. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +2 -2
  394. package/dist/runtime/components/prose/callout/Tip.vue.d.ts +2 -2
  395. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +2 -2
  396. package/dist/runtime/components/prose/callout/Warning.vue.d.ts +2 -2
  397. package/dist/runtime/composables/defineShortcuts.d.ts +2 -1
  398. package/dist/runtime/composables/defineShortcuts.js +63 -16
  399. package/dist/runtime/composables/useEditorMenu.d.ts +75 -0
  400. package/dist/runtime/composables/useEditorMenu.js +435 -0
  401. package/dist/runtime/composables/useFileUpload.d.ts +1 -2
  402. package/dist/runtime/composables/useOverlay.d.ts +3 -1
  403. package/dist/runtime/locale/cs.js +2 -2
  404. package/dist/runtime/locale/en_gb.d.ts +3 -0
  405. package/dist/runtime/locale/en_gb.js +7 -0
  406. package/dist/runtime/locale/eu.d.ts +3 -0
  407. package/dist/runtime/locale/eu.js +129 -0
  408. package/dist/runtime/locale/index.d.ts +3 -0
  409. package/dist/runtime/locale/index.js +3 -0
  410. package/dist/runtime/locale/lo.d.ts +3 -0
  411. package/dist/runtime/locale/lo.js +129 -0
  412. package/dist/runtime/locale/sk.js +2 -2
  413. package/dist/runtime/types/editor.d.ts +70 -0
  414. package/dist/runtime/types/editor.js +0 -0
  415. package/dist/runtime/types/index.d.ts +8 -0
  416. package/dist/runtime/types/index.js +8 -0
  417. package/dist/runtime/utils/ai.d.ts +7 -0
  418. package/dist/runtime/utils/content.d.ts +2 -2
  419. package/dist/runtime/utils/editor.d.ts +69 -0
  420. package/dist/runtime/utils/editor.js +382 -0
  421. package/dist/runtime/utils/fuse.js +22 -3
  422. package/dist/runtime/utils/index.d.ts +1 -0
  423. package/dist/runtime/utils/index.js +2 -2
  424. package/dist/runtime/utils/locale.d.ts +1 -2
  425. package/dist/runtime/utils/virtualizer.d.ts +1 -3
  426. package/dist/runtime/utils/virtualizer.js +15 -6
  427. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
  428. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  429. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +2 -2
  430. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +5 -0
  431. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +2 -2
  432. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  433. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  434. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.d.vue.ts +4 -4
  435. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue +3 -3
  436. package/dist/runtime/{inertia/components → vue/overrides/inertia}/Link.vue.d.ts +4 -4
  437. package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.d.vue.ts +4 -4
  438. package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue.d.ts +4 -4
  439. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +76 -0
  440. package/dist/runtime/vue/overrides/none/Link.vue +130 -0
  441. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +76 -0
  442. package/dist/runtime/vue/{components → overrides/vue-router}/Link.d.vue.ts +4 -4
  443. package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue +6 -6
  444. package/dist/runtime/vue/{components → overrides/vue-router}/Link.vue.d.ts +4 -4
  445. package/dist/runtime/vue/plugins/router.d.ts +4 -0
  446. package/dist/runtime/vue/plugins/router.js +7 -0
  447. package/dist/runtime/vue/{stubs.d.ts → stubs/base.d.ts} +4 -5
  448. package/dist/runtime/vue/{stubs.js → stubs/base.js} +4 -5
  449. package/dist/runtime/vue/stubs/inertia.d.ts +5 -0
  450. package/dist/runtime/vue/stubs/inertia.js +10 -0
  451. package/dist/runtime/vue/stubs/none.d.ts +56 -0
  452. package/dist/runtime/vue/stubs/none.js +48 -0
  453. package/dist/runtime/vue/stubs/vue-router.d.ts +2 -0
  454. package/dist/runtime/vue/stubs/vue-router.js +2 -0
  455. package/dist/shared/{ui.B77q-Dvh.mjs → ui.Ddb3hKxo.mjs} +511 -81
  456. package/dist/unplugin.d.mts +14 -0
  457. package/dist/unplugin.mjs +77 -50
  458. package/dist/vite.d.mts +2 -3
  459. package/dist/vite.mjs +1 -1
  460. package/package.json +64 -34
  461. package/dist/runtime/inertia/stubs.d.ts +0 -44
  462. package/dist/runtime/inertia/stubs.js +0 -84
  463. /package/dist/runtime/{inertia/components → vue/overrides/inertia}/LinkBase.vue +0 -0
@@ -4,12 +4,12 @@ import theme from "#build/ui/table";
4
4
 
5
5
  <script setup>
6
6
  import { ref, computed, useTemplateRef, watch, toRef } from "vue";
7
- import { Primitive } from "reka-ui";
7
+ import { Primitive, useForwardProps } from "reka-ui";
8
8
  import { upperFirst } from "scule";
9
9
  import { defu } from "defu";
10
10
  import { FlexRender, getCoreRowModel, getFilteredRowModel, getSortedRowModel, getExpandedRowModel, useVueTable } from "@tanstack/vue-table";
11
11
  import { useVirtualizer } from "@tanstack/vue-virtual";
12
- import { reactiveOmit, createReusableTemplate } from "@vueuse/core";
12
+ import { reactivePick, createReusableTemplate } from "@vueuse/core";
13
13
  import { useAppConfig } from "#imports";
14
14
  import { useLocale } from "../composables/useLocale";
15
15
  import { tv } from "../utils/tv";
@@ -121,56 +121,59 @@ const hasFooter = computed(() => {
121
121
  }
122
122
  return hasFooterRecursive(columns.value);
123
123
  });
124
- const globalFilterState = defineModel("globalFilter", { type: String, ...{ default: void 0 } });
125
- const columnFiltersState = defineModel("columnFilters", { type: Array, ...{ default: [] } });
126
- const columnOrderState = defineModel("columnOrder", { type: Array, ...{ default: [] } });
127
- const columnVisibilityState = defineModel("columnVisibility", { type: Object, ...{ default: {} } });
128
- const columnPinningState = defineModel("columnPinning", { type: Object, ...{ default: {} } });
129
- const columnSizingState = defineModel("columnSizing", { type: Object, ...{ default: {} } });
130
- const columnSizingInfoState = defineModel("columnSizingInfo", { type: Object, ...{ default: {} } });
131
- const rowSelectionState = defineModel("rowSelection", { type: Object, ...{ default: {} } });
132
- const rowPinningState = defineModel("rowPinning", { type: Object, ...{ default: {} } });
133
- const sortingState = defineModel("sorting", { type: Array, ...{ default: [] } });
134
- const groupingState = defineModel("grouping", { type: Array, ...{ default: [] } });
135
- const expandedState = defineModel("expanded", { type: [Boolean, Object], ...{ default: {} } });
136
- const paginationState = defineModel("pagination", { type: Object, ...{ default: {} } });
124
+ const globalFilterState = defineModel("globalFilter", { type: String });
125
+ const columnFiltersState = defineModel("columnFilters", { type: Array });
126
+ const columnOrderState = defineModel("columnOrder", { type: Array });
127
+ const columnVisibilityState = defineModel("columnVisibility", { type: Object });
128
+ const columnPinningState = defineModel("columnPinning", { type: Object });
129
+ const columnSizingState = defineModel("columnSizing", { type: Object });
130
+ const columnSizingInfoState = defineModel("columnSizingInfo", { type: Object });
131
+ const rowSelectionState = defineModel("rowSelection", { type: Object });
132
+ const rowPinningState = defineModel("rowPinning", { type: Object });
133
+ const sortingState = defineModel("sorting", { type: Array });
134
+ const groupingState = defineModel("grouping", { type: Array });
135
+ const expandedState = defineModel("expanded", { type: [Boolean, Object] });
136
+ const paginationState = defineModel("pagination", { type: Object });
137
137
  const rootRef = useTemplateRef("rootRef");
138
138
  const tableRef = useTemplateRef("tableRef");
139
+ const tableProps = useForwardProps(reactivePick(props, "_features", "autoResetAll", "debugAll", "debugCells", "debugColumns", "debugHeaders", "debugRows", "debugTable", "defaultColumn", "getRowId", "getSubRows", "initialState", "mergeOptions", "renderFallbackValue"));
139
140
  const tableApi = useVueTable({
140
- ...reactiveOmit(props, "as", "data", "columns", "virtualize", "caption", "sticky", "loading", "loadingColor", "loadingAnimation", "class", "ui"),
141
- data,
141
+ ...tableProps.value,
142
+ get data() {
143
+ return data.value;
144
+ },
142
145
  get columns() {
143
146
  return columns.value;
144
147
  },
145
148
  meta: meta.value,
146
149
  getCoreRowModel: getCoreRowModel(),
147
150
  ...props.globalFilterOptions || {},
148
- onGlobalFilterChange: (updaterOrValue) => valueUpdater(updaterOrValue, globalFilterState),
151
+ ...globalFilterState.value !== void 0 && { onGlobalFilterChange: (updaterOrValue) => valueUpdater(updaterOrValue, globalFilterState) },
149
152
  ...props.columnFiltersOptions || {},
150
153
  getFilteredRowModel: getFilteredRowModel(),
151
- onColumnFiltersChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnFiltersState),
152
- onColumnOrderChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnOrderState),
154
+ ...columnFiltersState.value !== void 0 && { onColumnFiltersChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnFiltersState) },
155
+ ...columnOrderState.value !== void 0 && { onColumnOrderChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnOrderState) },
153
156
  ...props.visibilityOptions || {},
154
- onColumnVisibilityChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnVisibilityState),
157
+ ...columnVisibilityState.value !== void 0 && { onColumnVisibilityChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnVisibilityState) },
155
158
  ...props.columnPinningOptions || {},
156
- onColumnPinningChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnPinningState),
159
+ ...columnPinningState.value !== void 0 && { onColumnPinningChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnPinningState) },
157
160
  ...props.columnSizingOptions || {},
158
- onColumnSizingChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnSizingState),
159
- onColumnSizingInfoChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnSizingInfoState),
161
+ ...columnSizingState.value !== void 0 && { onColumnSizingChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnSizingState) },
162
+ ...columnSizingInfoState.value !== void 0 && { onColumnSizingInfoChange: (updaterOrValue) => valueUpdater(updaterOrValue, columnSizingInfoState) },
160
163
  ...props.rowSelectionOptions || {},
161
- onRowSelectionChange: (updaterOrValue) => valueUpdater(updaterOrValue, rowSelectionState),
164
+ ...rowSelectionState.value !== void 0 && { onRowSelectionChange: (updaterOrValue) => valueUpdater(updaterOrValue, rowSelectionState) },
162
165
  ...props.rowPinningOptions || {},
163
- onRowPinningChange: (updaterOrValue) => valueUpdater(updaterOrValue, rowPinningState),
166
+ ...rowPinningState.value !== void 0 && { onRowPinningChange: (updaterOrValue) => valueUpdater(updaterOrValue, rowPinningState) },
164
167
  ...props.sortingOptions || {},
165
168
  getSortedRowModel: getSortedRowModel(),
166
- onSortingChange: (updaterOrValue) => valueUpdater(updaterOrValue, sortingState),
169
+ ...sortingState.value !== void 0 && { onSortingChange: (updaterOrValue) => valueUpdater(updaterOrValue, sortingState) },
167
170
  ...props.groupingOptions || {},
168
- onGroupingChange: (updaterOrValue) => valueUpdater(updaterOrValue, groupingState),
171
+ ...groupingState.value !== void 0 && { onGroupingChange: (updaterOrValue) => valueUpdater(updaterOrValue, groupingState) },
169
172
  ...props.expandedOptions || {},
170
173
  getExpandedRowModel: getExpandedRowModel(),
171
- onExpandedChange: (updaterOrValue) => valueUpdater(updaterOrValue, expandedState),
174
+ ...expandedState.value !== void 0 && { onExpandedChange: (updaterOrValue) => valueUpdater(updaterOrValue, expandedState) },
172
175
  ...props.paginationOptions || {},
173
- onPaginationChange: (updaterOrValue) => valueUpdater(updaterOrValue, paginationState),
176
+ ...paginationState.value !== void 0 && { onPaginationChange: (updaterOrValue) => valueUpdater(updaterOrValue, paginationState) },
174
177
  ...props.facetedOptions || {},
175
178
  state: {
176
179
  get globalFilter() {
@@ -278,6 +281,16 @@ function resolveValue(prop, arg) {
278
281
  }
279
282
  return prop;
280
283
  }
284
+ function getColumnStyles(column) {
285
+ const styles = {};
286
+ const pinned = column.getIsPinned();
287
+ if (pinned === "left") {
288
+ styles.left = `${column.getStart("left")}px`;
289
+ } else if (pinned === "right") {
290
+ styles.right = `${column.getAfter("right")}px`;
291
+ }
292
+ return styles;
293
+ }
281
294
  watch(() => props.data, () => {
282
295
  data.value = props.data ? [...props.data] : [];
283
296
  }, props.watchOptions);
@@ -325,7 +338,10 @@ defineExpose({
325
338
  ],
326
339
  pinned: !!cell.column.getIsPinned()
327
340
  })"
328
- :style="resolveValue(cell.column.columnDef.meta?.style?.td, cell)"
341
+ :style="[
342
+ getColumnStyles(cell.column),
343
+ resolveValue(cell.column.columnDef.meta?.style?.td, cell)
344
+ ]"
329
345
  >
330
346
  <slot :name="`${cell.column.id}-cell`" v-bind="cell.getContext()">
331
347
  <FlexRender :render="cell.column.columnDef.cell" :props="cell.getContext()" />
@@ -365,7 +381,10 @@ defineExpose({
365
381
  ],
366
382
  pinned: !!header.column.getIsPinned()
367
383
  })"
368
- :style="resolveValue(header.column.columnDef.meta?.style?.th, header)"
384
+ :style="[
385
+ getColumnStyles(header.column),
386
+ resolveValue(header.column.columnDef.meta?.style?.th, header)
387
+ ]"
369
388
  >
370
389
  <slot :name="`${header.id}-header`" v-bind="header.getContext()">
371
390
  <FlexRender v-if="!header.isPlaceholder" :render="header.column.columnDef.header" :props="header.getContext()" />
@@ -439,7 +458,10 @@ defineExpose({
439
458
  ],
440
459
  pinned: !!header.column.getIsPinned()
441
460
  })"
442
- :style="resolveValue(header.column.columnDef.meta?.style?.th, header)"
461
+ :style="[
462
+ getColumnStyles(header.column),
463
+ resolveValue(header.column.columnDef.meta?.style?.th, header)
464
+ ]"
443
465
  >
444
466
  <slot :name="`${header.id}-footer`" v-bind="header.getContext()">
445
467
  <FlexRender v-if="!header.isPlaceholder" :render="header.column.columnDef.footer" :props="header.getContext()" />
@@ -1,7 +1,6 @@
1
1
  import type { WatchOptions } from 'vue';
2
2
  import type { AppConfig } from '@nuxt/schema';
3
- import type { Cell, Header, RowData, TableMeta } from '@tanstack/table-core';
4
- import type { CellContext, ColumnDef, ColumnFiltersOptions, ColumnFiltersState, ColumnOrderState, ColumnPinningOptions, ColumnPinningState, ColumnSizingInfoState, ColumnSizingOptions, ColumnSizingState, CoreOptions, ExpandedOptions, ExpandedState, FacetedOptions, GlobalFilterOptions, GroupingOptions, GroupingState, HeaderContext, PaginationOptions, PaginationState, Row, RowPinningOptions, RowPinningState, RowSelectionOptions, RowSelectionState, SortingOptions, SortingState, VisibilityOptions, VisibilityState } from '@tanstack/vue-table';
3
+ import type { Cell, CellContext, ColumnDef, ColumnFiltersOptions, ColumnFiltersState, ColumnOrderState, ColumnPinningOptions, ColumnPinningState, ColumnSizingInfoState, ColumnSizingOptions, ColumnSizingState, CoreOptions, ExpandedOptions, ExpandedState, FacetedOptions, GlobalFilterOptions, GroupingOptions, GroupingState, Header, HeaderContext, PaginationOptions, PaginationState, Row, RowData, RowPinningOptions, RowPinningState, RowSelectionOptions, RowSelectionState, SortingOptions, SortingState, TableMeta, VisibilityOptions, VisibilityState } from '@tanstack/vue-table';
5
4
  import type { VirtualizerOptions } from '@tanstack/vue-virtual';
6
5
  import theme from '#build/ui/table';
7
6
  import type { TableHTMLAttributes } from '../types/html';
@@ -54,6 +53,7 @@ export interface TableProps<T extends TableData = TableData> extends TableOption
54
53
  /**
55
54
  * Enable virtualization for large datasets.
56
55
  * Note: when enabled, the divider between rows and sticky properties are not supported.
56
+ * @see https://tanstack.com/virtual/latest/docs/api/virtualizer#options
57
57
  * @defaultValue false
58
58
  */
59
59
  virtualize?: boolean | (Partial<Omit<VirtualizerOptions<Element, Element>, 'getScrollElement' | 'count' | 'estimateSize' | 'overscan'>> & {
@@ -175,8 +175,10 @@ export type TableSlots<T extends TableData = TableData> = {
175
175
  'body-top': (props?: {}) => any;
176
176
  'body-bottom': (props?: {}) => any;
177
177
  } & DynamicHeaderSlots<T> & DynamicFooterSlots<T> & DynamicCellSlots<T>;
178
- declare const __VLS_export: <T extends TableData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
179
- props: __VLS_PrettifyLocal<(TableProps<T> & {
178
+ declare const _default: typeof __VLS_export;
179
+ export default _default;
180
+ declare const __VLS_export: <T extends TableData>(__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<{
181
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(TableProps<T> & {
180
182
  globalFilter?: string;
181
183
  columnFilters?: ColumnFiltersState;
182
184
  columnOrder?: ColumnOrderState;
@@ -191,20 +193,22 @@ declare const __VLS_export: <T extends TableData>(__VLS_props: NonNullable<Await
191
193
  expanded?: ExpandedState;
192
194
  pagination?: PaginationState;
193
195
  }) & {
194
- "onUpdate:globalFilter"?: ((value: string) => any) | undefined;
195
- "onUpdate:columnFilters"?: ((value: ColumnFiltersState) => any) | undefined;
196
- "onUpdate:columnOrder"?: ((value: ColumnOrderState) => any) | undefined;
197
- "onUpdate:columnVisibility"?: ((value: VisibilityState) => any) | undefined;
198
- "onUpdate:columnPinning"?: ((value: ColumnPinningState) => any) | undefined;
199
- "onUpdate:columnSizing"?: ((value: ColumnSizingState) => any) | undefined;
200
- "onUpdate:columnSizingInfo"?: ((value: ColumnSizingInfoState) => any) | undefined;
201
- "onUpdate:rowSelection"?: ((value: RowSelectionState) => any) | undefined;
202
- "onUpdate:rowPinning"?: ((value: RowPinningState) => any) | undefined;
203
- "onUpdate:sorting"?: ((value: SortingState) => any) | undefined;
204
- "onUpdate:grouping"?: ((value: GroupingState) => any) | undefined;
205
- "onUpdate:expanded"?: ((value: ExpandedState) => any) | undefined;
206
- "onUpdate:pagination"?: ((value: PaginationState) => any) | undefined;
207
- }> & import("vue").PublicProps;
196
+ "onUpdate:globalFilter"?: ((value: string | undefined) => any) | undefined;
197
+ "onUpdate:columnFilters"?: ((value: ColumnFiltersState | undefined) => any) | undefined;
198
+ "onUpdate:columnOrder"?: ((value: ColumnOrderState | undefined) => any) | undefined;
199
+ "onUpdate:columnVisibility"?: ((value: VisibilityState | undefined) => any) | undefined;
200
+ "onUpdate:columnPinning"?: ((value: ColumnPinningState | undefined) => any) | undefined;
201
+ "onUpdate:columnSizing"?: ((value: ColumnSizingState | undefined) => any) | undefined;
202
+ "onUpdate:columnSizingInfo"?: ((value: ColumnSizingInfoState | undefined) => any) | undefined;
203
+ "onUpdate:rowSelection"?: ((value: RowSelectionState | undefined) => any) | undefined;
204
+ "onUpdate:rowPinning"?: ((value: RowPinningState | undefined) => any) | undefined;
205
+ "onUpdate:sorting"?: ((value: SortingState | undefined) => any) | undefined;
206
+ "onUpdate:grouping"?: ((value: GroupingState | undefined) => any) | undefined;
207
+ "onUpdate:expanded"?: ((value: ExpandedState | undefined) => any) | undefined;
208
+ "onUpdate:pagination"?: ((value: PaginationState | undefined) => any) | undefined;
209
+ }> & (typeof globalThis extends {
210
+ __VLS_PROPS_FALLBACK: infer P;
211
+ } ? P : {});
208
212
  expose: (exposed: import("vue").ShallowUnwrapRef<{
209
213
  readonly $el: HTMLElement;
210
214
  tableRef: Readonly<import("vue").ShallowRef<HTMLTableElement | null>>;
@@ -212,12 +216,12 @@ declare const __VLS_export: <T extends TableData>(__VLS_props: NonNullable<Await
212
216
  }>) => void;
213
217
  attrs: any;
214
218
  slots: TableSlots<T>;
215
- emit: ((evt: "update:globalFilter", value: string) => void) & ((evt: "update:columnFilters", value: ColumnFiltersState) => void) & ((evt: "update:columnOrder", value: ColumnOrderState) => void) & ((evt: "update:columnVisibility", value: VisibilityState) => void) & ((evt: "update:columnPinning", value: ColumnPinningState) => void) & ((evt: "update:columnSizing", value: ColumnSizingState) => void) & ((evt: "update:columnSizingInfo", value: ColumnSizingInfoState) => void) & ((evt: "update:rowSelection", value: RowSelectionState) => void) & ((evt: "update:rowPinning", value: RowPinningState) => void) & ((evt: "update:sorting", value: SortingState) => void) & ((evt: "update:grouping", value: GroupingState) => void) & ((evt: "update:expanded", value: ExpandedState) => void) & ((evt: "update:pagination", value: PaginationState) => void);
219
+ emit: ((evt: "update:globalFilter", value: string | undefined) => void) & ((evt: "update:columnFilters", value: ColumnFiltersState | undefined) => void) & ((evt: "update:columnOrder", value: ColumnOrderState | undefined) => void) & ((evt: "update:columnVisibility", value: VisibilityState | undefined) => void) & ((evt: "update:columnPinning", value: ColumnPinningState | undefined) => void) & ((evt: "update:columnSizing", value: ColumnSizingState | undefined) => void) & ((evt: "update:columnSizingInfo", value: ColumnSizingInfoState | undefined) => void) & ((evt: "update:rowSelection", value: RowSelectionState | undefined) => void) & ((evt: "update:rowPinning", value: RowPinningState | undefined) => void) & ((evt: "update:sorting", value: SortingState | undefined) => void) & ((evt: "update:grouping", value: GroupingState | undefined) => void) & ((evt: "update:expanded", value: ExpandedState | undefined) => void) & ((evt: "update:pagination", value: PaginationState | undefined) => void);
216
220
  }>) => import("vue").VNode & {
217
221
  __ctx?: Awaited<typeof __VLS_setup>;
218
222
  };
219
- declare const _default: typeof __VLS_export;
220
- export default _default;
221
- type __VLS_PrettifyLocal<T> = {
223
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
224
+ [K in keyof T]: T[K];
225
+ } : {
222
226
  [K in keyof T as K]: T[K];
223
- } & {};
227
+ }) & {};
@@ -50,12 +50,17 @@ export interface TabsProps<T extends TabsItem = TabsItem> extends Pick<TabsRootP
50
50
  * The orientation of the tabs.
51
51
  * @defaultValue 'horizontal'
52
52
  */
53
- orientation?: TabsRootProps['orientation'];
53
+ orientation?: Tabs['variants']['orientation'];
54
54
  /**
55
55
  * The content of the tabs, can be disabled to prevent rendering the content.
56
56
  * @defaultValue true
57
57
  */
58
58
  content?: boolean;
59
+ /**
60
+ * The key used to get the value from the item.
61
+ * @defaultValue 'value'
62
+ */
63
+ valueKey?: GetItemKeys<T>;
59
64
  /**
60
65
  * The key used to get the label from the item.
61
66
  * @defaultValue 'label'
@@ -85,10 +90,14 @@ export type TabsSlots<T extends TabsItem = TabsItem> = {
85
90
  index: number;
86
91
  ui: Tabs['ui'];
87
92
  }>;
88
- declare const __VLS_export: <T extends TabsItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
89
- props: __VLS_PrettifyLocal<TabsProps<T> & {
93
+ declare const _default: typeof __VLS_export;
94
+ export default _default;
95
+ declare const __VLS_export: <T extends TabsItem>(__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<{
96
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<TabsProps<T> & {
90
97
  "onUpdate:modelValue"?: ((payload: string | number) => any) | undefined;
91
- }> & import("vue").PublicProps;
98
+ }> & (typeof globalThis extends {
99
+ __VLS_PROPS_FALLBACK: infer P;
100
+ } ? P : {});
92
101
  expose: (exposed: import("vue").ShallowUnwrapRef<{
93
102
  triggersRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
94
103
  }>) => void;
@@ -98,8 +107,8 @@ declare const __VLS_export: <T extends TabsItem>(__VLS_props: NonNullable<Awaite
98
107
  }>) => import("vue").VNode & {
99
108
  __ctx?: Awaited<typeof __VLS_setup>;
100
109
  };
101
- declare const _default: typeof __VLS_export;
102
- export default _default;
103
- type __VLS_PrettifyLocal<T> = {
110
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
111
+ [K in keyof T]: T[K];
112
+ } : {
104
113
  [K in keyof T as K]: T[K];
105
- } & {};
114
+ }) & {};
@@ -20,11 +20,12 @@ const props = defineProps({
20
20
  size: { type: null, required: false },
21
21
  orientation: { type: null, required: false, default: "horizontal" },
22
22
  content: { type: Boolean, required: false, default: true },
23
+ valueKey: { type: null, required: false, default: "value" },
23
24
  labelKey: { type: null, required: false, default: "label" },
24
25
  class: { type: null, required: false },
25
26
  ui: { type: null, required: false },
26
- defaultValue: { type: null, required: false, default: "0" },
27
- modelValue: { type: null, required: false },
27
+ defaultValue: { type: [String, Number], required: false, default: "0" },
28
+ modelValue: { type: [String, Number], required: false },
28
29
  activationMode: { type: String, required: false },
29
30
  unmountOnHide: { type: Boolean, required: false, default: true }
30
31
  });
@@ -63,7 +64,7 @@ defineExpose({
63
64
  v-for="(item, index) of items"
64
65
  :key="index"
65
66
  :ref="(el) => triggersRef[index] = el"
66
- :value="item.value ?? String(index)"
67
+ :value="get(item, props.valueKey) ?? String(index)"
67
68
  :disabled="item.disabled"
68
69
  data-slot="trigger"
69
70
  :class="ui.trigger({ class: [props.ui?.trigger, item.ui?.trigger] })"
@@ -94,7 +95,7 @@ defineExpose({
94
95
  </TabsList>
95
96
 
96
97
  <template v-if="!!content">
97
- <TabsContent v-for="(item, index) of items" :key="index" :value="item.value ?? String(index)" data-slot="content" :class="ui.content({ class: [props.ui?.content, item.ui?.content, item.class] })">
98
+ <TabsContent v-for="(item, index) of items" :key="index" :value="get(item, props.valueKey) ?? String(index)" data-slot="content" :class="ui.content({ class: [props.ui?.content, item.ui?.content, item.class] })">
98
99
  <slot :name="item.slot || 'content'" :item="item" :index="index" :ui="ui">
99
100
  {{ item.content }}
100
101
  </slot>
@@ -50,12 +50,17 @@ export interface TabsProps<T extends TabsItem = TabsItem> extends Pick<TabsRootP
50
50
  * The orientation of the tabs.
51
51
  * @defaultValue 'horizontal'
52
52
  */
53
- orientation?: TabsRootProps['orientation'];
53
+ orientation?: Tabs['variants']['orientation'];
54
54
  /**
55
55
  * The content of the tabs, can be disabled to prevent rendering the content.
56
56
  * @defaultValue true
57
57
  */
58
58
  content?: boolean;
59
+ /**
60
+ * The key used to get the value from the item.
61
+ * @defaultValue 'value'
62
+ */
63
+ valueKey?: GetItemKeys<T>;
59
64
  /**
60
65
  * The key used to get the label from the item.
61
66
  * @defaultValue 'label'
@@ -85,10 +90,14 @@ export type TabsSlots<T extends TabsItem = TabsItem> = {
85
90
  index: number;
86
91
  ui: Tabs['ui'];
87
92
  }>;
88
- declare const __VLS_export: <T extends TabsItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
89
- props: __VLS_PrettifyLocal<TabsProps<T> & {
93
+ declare const _default: typeof __VLS_export;
94
+ export default _default;
95
+ declare const __VLS_export: <T extends TabsItem>(__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<{
96
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<TabsProps<T> & {
90
97
  "onUpdate:modelValue"?: ((payload: string | number) => any) | undefined;
91
- }> & import("vue").PublicProps;
98
+ }> & (typeof globalThis extends {
99
+ __VLS_PROPS_FALLBACK: infer P;
100
+ } ? P : {});
92
101
  expose: (exposed: import("vue").ShallowUnwrapRef<{
93
102
  triggersRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
94
103
  }>) => void;
@@ -98,8 +107,8 @@ declare const __VLS_export: <T extends TabsItem>(__VLS_props: NonNullable<Awaite
98
107
  }>) => import("vue").VNode & {
99
108
  __ctx?: Awaited<typeof __VLS_setup>;
100
109
  };
101
- declare const _default: typeof __VLS_export;
102
- export default _default;
103
- type __VLS_PrettifyLocal<T> = {
110
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
111
+ [K in keyof T]: T[K];
112
+ } : {
104
113
  [K in keyof T as K]: T[K];
105
- } & {};
114
+ }) & {};
@@ -60,23 +60,27 @@ export interface TextareaSlots {
60
60
  ui: Textarea['ui'];
61
61
  }): any;
62
62
  }
63
- declare const __VLS_export: <T extends TextareaValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
64
- props: __VLS_PrettifyLocal<TextareaProps<T> & {
65
- onChange?: ((event: Event) => any) | undefined;
63
+ declare const _default: typeof __VLS_export;
64
+ export default _default;
65
+ declare const __VLS_export: <T extends TextareaValue>(__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<{
66
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<TextareaProps<T> & {
66
67
  onBlur?: ((event: FocusEvent) => any) | undefined;
68
+ onChange?: ((event: Event) => any) | undefined;
67
69
  "onUpdate:modelValue"?: ((value: T) => any) | undefined;
68
- }> & import("vue").PublicProps;
70
+ }> & (typeof globalThis extends {
71
+ __VLS_PROPS_FALLBACK: infer P;
72
+ } ? P : {});
69
73
  expose: (exposed: import("vue").ShallowUnwrapRef<{
70
- textareaRef: Readonly<import("vue").ShallowRef<HTMLTextAreaElement | null>>;
74
+ textareaRef: Readonly<import("vue").ShallowRef<HTMLTextAreaElement | null, HTMLTextAreaElement | null>>;
71
75
  }>) => void;
72
76
  attrs: any;
73
77
  slots: TextareaSlots;
74
- emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "update:modelValue", value: T) => void);
78
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T) => void);
75
79
  }>) => import("vue").VNode & {
76
80
  __ctx?: Awaited<typeof __VLS_setup>;
77
81
  };
78
- declare const _default: typeof __VLS_export;
79
- export default _default;
80
- type __VLS_PrettifyLocal<T> = {
82
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
83
+ [K in keyof T]: T[K];
84
+ } : {
81
85
  [K in keyof T as K]: T[K];
82
- } & {};
86
+ }) & {};
@@ -60,23 +60,27 @@ export interface TextareaSlots {
60
60
  ui: Textarea['ui'];
61
61
  }): any;
62
62
  }
63
- declare const __VLS_export: <T extends TextareaValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
64
- props: __VLS_PrettifyLocal<TextareaProps<T> & {
65
- onChange?: ((event: Event) => any) | undefined;
63
+ declare const _default: typeof __VLS_export;
64
+ export default _default;
65
+ declare const __VLS_export: <T extends TextareaValue>(__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<{
66
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<TextareaProps<T> & {
66
67
  onBlur?: ((event: FocusEvent) => any) | undefined;
68
+ onChange?: ((event: Event) => any) | undefined;
67
69
  "onUpdate:modelValue"?: ((value: T) => any) | undefined;
68
- }> & import("vue").PublicProps;
70
+ }> & (typeof globalThis extends {
71
+ __VLS_PROPS_FALLBACK: infer P;
72
+ } ? P : {});
69
73
  expose: (exposed: import("vue").ShallowUnwrapRef<{
70
- textareaRef: Readonly<import("vue").ShallowRef<HTMLTextAreaElement | null>>;
74
+ textareaRef: Readonly<import("vue").ShallowRef<HTMLTextAreaElement | null, HTMLTextAreaElement | null>>;
71
75
  }>) => void;
72
76
  attrs: any;
73
77
  slots: TextareaSlots;
74
- emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "update:modelValue", value: T) => void);
78
+ emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T) => void);
75
79
  }>) => import("vue").VNode & {
76
80
  __ctx?: Awaited<typeof __VLS_setup>;
77
81
  };
78
- declare const _default: typeof __VLS_export;
79
- export default _default;
80
- type __VLS_PrettifyLocal<T> = {
82
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
83
+ [K in keyof T]: T[K];
84
+ } : {
81
85
  [K in keyof T as K]: T[K];
82
- } & {};
86
+ }) & {};
@@ -1,7 +1,7 @@
1
1
  import type { AppConfig } from '@nuxt/schema';
2
2
  import theme from '#build/ui/timeline';
3
3
  import type { AvatarProps, IconProps } from '../types';
4
- import type { DynamicSlots } from '../types/utils';
4
+ import type { DynamicSlots, GetItemKeys } from '../types/utils';
5
5
  import type { ComponentConfig } from '../types/tv';
6
6
  type Timeline = ComponentConfig<typeof theme, AppConfig, 'timeline'>;
7
7
  export interface TimelineItem {
@@ -36,6 +36,11 @@ export interface TimelineProps<T extends TimelineItem = TimelineItem> {
36
36
  * @defaultValue 'vertical'
37
37
  */
38
38
  orientation?: Timeline['variants']['orientation'];
39
+ /**
40
+ * The key used to get the value from the item.
41
+ * @defaultValue 'value'
42
+ */
43
+ valueKey?: GetItemKeys<T>;
39
44
  defaultValue?: string | number;
40
45
  reverse?: boolean;
41
46
  class?: any;
@@ -44,29 +49,38 @@ export interface TimelineProps<T extends TimelineItem = TimelineItem> {
44
49
  type SlotProps<T extends TimelineItem> = (props: {
45
50
  item: T;
46
51
  }) => any;
52
+ export interface TimelineEmits<T extends TimelineItem = TimelineItem> {
53
+ select: [event: Event, item: T];
54
+ }
47
55
  export type TimelineSlots<T extends TimelineItem = TimelineItem> = {
48
56
  indicator: SlotProps<T>;
57
+ wrapper: SlotProps<T>;
49
58
  date: SlotProps<T>;
50
59
  title: SlotProps<T>;
51
60
  description: SlotProps<T>;
52
- } & DynamicSlots<T, 'indicator' | 'date' | 'title' | 'description', {
61
+ } & DynamicSlots<T, 'indicator' | 'wrapper' | 'date' | 'title' | 'description', {
53
62
  item: T;
54
63
  }>;
55
- declare const __VLS_export: <T extends TimelineItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
56
- props: __VLS_PrettifyLocal<(TimelineProps<T> & {
64
+ declare const _default: typeof __VLS_export;
65
+ export default _default;
66
+ declare const __VLS_export: <T extends TimelineItem>(__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<{
67
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(TimelineProps<T> & {
57
68
  modelValue?: string | number;
58
69
  }) & {
70
+ onSelect?: ((event: Event, item: T) => any) | undefined;
59
71
  "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
60
- }> & import("vue").PublicProps;
72
+ }> & (typeof globalThis extends {
73
+ __VLS_PROPS_FALLBACK: infer P;
74
+ } ? P : {});
61
75
  expose: (exposed: {}) => void;
62
76
  attrs: any;
63
77
  slots: TimelineSlots<T>;
64
- emit: (evt: "update:modelValue", value: string | number | undefined) => void;
78
+ emit: ((evt: "select", event: Event, item: T) => void) & ((evt: "update:modelValue", value: string | number | undefined) => void);
65
79
  }>) => import("vue").VNode & {
66
80
  __ctx?: Awaited<typeof __VLS_setup>;
67
81
  };
68
- declare const _default: typeof __VLS_export;
69
- export default _default;
70
- type __VLS_PrettifyLocal<T> = {
82
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
83
+ [K in keyof T]: T[K];
84
+ } : {
71
85
  [K in keyof T as K]: T[K];
72
- } & {};
86
+ }) & {};
@@ -7,6 +7,7 @@ import { computed } from "vue";
7
7
  import { Primitive, Separator } from "reka-ui";
8
8
  import { useAppConfig } from "#imports";
9
9
  import { tv } from "../utils/tv";
10
+ import { get } from "../utils";
10
11
  import UAvatar from "./Avatar.vue";
11
12
  const props = defineProps({
12
13
  as: { type: null, required: false },
@@ -14,11 +15,13 @@ const props = defineProps({
14
15
  size: { type: null, required: false },
15
16
  color: { type: null, required: false },
16
17
  orientation: { type: null, required: false, default: "vertical" },
18
+ valueKey: { type: null, required: false, default: "value" },
17
19
  defaultValue: { type: [String, Number], required: false },
18
20
  reverse: { type: Boolean, required: false },
19
21
  class: { type: null, required: false },
20
22
  ui: { type: null, required: false }
21
23
  });
24
+ const emits = defineEmits(["select"]);
22
25
  const slots = defineSlots();
23
26
  const modelValue = defineModel({ type: [String, Number] });
24
27
  const appConfig = useAppConfig();
@@ -31,7 +34,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.timeline || {
31
34
  const currentStepIndex = computed(() => {
32
35
  const value = modelValue.value ?? props.defaultValue;
33
36
  if (typeof value === "string") {
34
- return props.items.findIndex((item) => item.value === value) ?? -1;
37
+ return props.items.findIndex((item) => get(item, props.valueKey) === value) ?? -1;
35
38
  }
36
39
  if (props.reverse) {
37
40
  return value != null ? props.items.length - 1 - value : -1;
@@ -48,16 +51,20 @@ function getItemState(index) {
48
51
  return index < currentStepIndex.value ? "completed" : void 0;
49
52
  }
50
53
  }
54
+ function onSelect(event, item) {
55
+ emits("select", event, item);
56
+ }
51
57
  </script>
52
58
 
53
59
  <template>
54
60
  <Primitive :as="as" :data-orientation="orientation" data-slot="root" :class="ui.root({ class: [props.ui?.root, props.class] })">
55
61
  <div
56
62
  v-for="(item, index) in items"
57
- :key="item.value ?? index"
63
+ :key="index"
58
64
  data-slot="item"
59
65
  :class="ui.item({ class: [props.ui?.item, item.ui?.item, item.class] })"
60
66
  :data-state="getItemState(index)"
67
+ @click="onSelect($event, item)"
61
68
  >
62
69
  <div data-slot="container" :class="ui.container({ class: [props.ui?.container, item.ui?.container] })">
63
70
  <UAvatar
@@ -80,21 +87,23 @@ function getItemState(index) {
80
87
  </div>
81
88
 
82
89
  <div data-slot="wrapper" :class="ui.wrapper({ class: [props.ui?.wrapper, item.ui?.wrapper] })">
83
- <div v-if="item.date" data-slot="date" :class="ui.date({ class: [props.ui?.date, item.ui?.date] })">
84
- <slot :name="item.slot ? `${item.slot}-date` : 'date'" :item="item">
85
- {{ item.date }}
86
- </slot>
87
- </div>
88
- <div v-if="item.title || !!slots.title" data-slot="title" :class="ui.title({ class: [props.ui?.title, item.ui?.title] })">
89
- <slot :name="item.slot ? `${item.slot}-title` : 'title'" :item="item">
90
- {{ item.title }}
91
- </slot>
92
- </div>
93
- <div v-if="item.description || !!slots.description" data-slot="description" :class="ui.description({ class: [props.ui?.description, item.ui?.description] })">
94
- <slot :name="item.slot ? `${item.slot}-description` : 'description'" :item="item">
95
- {{ item.description }}
96
- </slot>
97
- </div>
90
+ <slot :name="item.slot ? `${item.slot}-wrapper` : 'wrapper'" :item="item">
91
+ <div v-if="item.date || !!slots[item.slot ? `${item.slot}-date` : 'date']" data-slot="date" :class="ui.date({ class: [props.ui?.date, item.ui?.date] })">
92
+ <slot :name="item.slot ? `${item.slot}-date` : 'date'" :item="item">
93
+ {{ item.date }}
94
+ </slot>
95
+ </div>
96
+ <div v-if="item.title || !!slots[item.slot ? `${item.slot}-title` : 'title']" data-slot="title" :class="ui.title({ class: [props.ui?.title, item.ui?.title] })">
97
+ <slot :name="item.slot ? `${item.slot}-title` : 'title'" :item="item">
98
+ {{ item.title }}
99
+ </slot>
100
+ </div>
101
+ <div v-if="item.description || !!slots[item.slot ? `${item.slot}-description` : 'description']" data-slot="description" :class="ui.description({ class: [props.ui?.description, item.ui?.description] })">
102
+ <slot :name="item.slot ? `${item.slot}-description` : 'description'" :item="item">
103
+ {{ item.description }}
104
+ </slot>
105
+ </div>
106
+ </slot>
98
107
  </div>
99
108
  </div>
100
109
  </Primitive>