@nuxt/ui 4.0.0-alpha.1 → 4.0.0-beta.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 (257) hide show
  1. package/.nuxt/ui/content/content-navigation.ts +2 -1
  2. package/.nuxt/ui/marquee.ts +1 -1
  3. package/.nuxt/ui/progress.ts +3 -3
  4. package/.nuxt/ui/prose/code-tree.ts +1 -1
  5. package/.nuxt/ui/prose/img.ts +1 -1
  6. package/.nuxt/ui/tree.ts +1 -1
  7. package/README.md +14 -1
  8. package/dist/module.d.mts +6 -6
  9. package/dist/module.json +2 -2
  10. package/dist/module.mjs +8 -6
  11. package/dist/runtime/components/Accordion.d.vue.ts +79 -0
  12. package/dist/runtime/components/Accordion.vue +3 -3
  13. package/dist/runtime/components/Accordion.vue.d.ts +2 -2
  14. package/dist/runtime/components/Alert.d.vue.ts +81 -0
  15. package/dist/runtime/components/App.d.vue.ts +25 -0
  16. package/dist/runtime/components/AuthForm.d.vue.ts +128 -0
  17. package/dist/runtime/components/AuthForm.vue.d.ts +39 -1
  18. package/dist/runtime/components/Avatar.d.vue.ts +41 -0
  19. package/dist/runtime/components/AvatarGroup.d.vue.ts +31 -0
  20. package/dist/runtime/components/Badge.d.vue.ts +43 -0
  21. package/dist/runtime/components/Banner.d.vue.ts +72 -0
  22. package/dist/runtime/components/Banner.vue +1 -1
  23. package/dist/runtime/components/BlogPost.d.vue.ts +60 -0
  24. package/dist/runtime/components/BlogPosts.d.vue.ts +31 -0
  25. package/dist/runtime/components/Breadcrumb.d.vue.ts +67 -0
  26. package/dist/runtime/components/Breadcrumb.vue +1 -1
  27. package/dist/runtime/components/Breadcrumb.vue.d.ts +2 -2
  28. package/dist/runtime/components/Button.d.vue.ts +44 -0
  29. package/dist/runtime/components/Calendar.d.vue.ts +112 -0
  30. package/dist/runtime/components/Card.d.vue.ts +29 -0
  31. package/dist/runtime/components/Carousel.d.vue.ts +127 -0
  32. package/dist/runtime/components/Carousel.vue.d.ts +10 -10
  33. package/dist/runtime/components/ChangelogVersion.d.vue.ts +59 -0
  34. package/dist/runtime/components/ChangelogVersions.d.vue.ts +78 -0
  35. package/dist/runtime/components/ChangelogVersions.vue +2 -2
  36. package/dist/runtime/components/ChatMessage.d.vue.ts +67 -0
  37. package/dist/runtime/components/ChatMessages.d.vue.ts +83 -0
  38. package/dist/runtime/components/ChatMessages.vue +6 -6
  39. package/dist/runtime/components/ChatPalette.d.vue.ts +24 -0
  40. package/dist/runtime/components/ChatPrompt.d.vue.ts +61 -0
  41. package/dist/runtime/components/ChatPrompt.vue +2 -2
  42. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +100 -0
  43. package/dist/runtime/components/Checkbox.d.vue.ts +74 -0
  44. package/dist/runtime/components/CheckboxGroup.d.vue.ts +89 -0
  45. package/dist/runtime/components/CheckboxGroup.vue +8 -8
  46. package/dist/runtime/components/CheckboxGroup.vue.d.ts +20 -16
  47. package/dist/runtime/components/Chip.d.vue.ts +57 -0
  48. package/dist/runtime/components/Collapsible.d.vue.ts +35 -0
  49. package/dist/runtime/components/ColorPicker.d.vue.ts +48 -0
  50. package/dist/runtime/components/CommandPalette.d.vue.ts +193 -0
  51. package/dist/runtime/components/CommandPalette.vue +5 -4
  52. package/dist/runtime/components/CommandPalette.vue.d.ts +2 -1
  53. package/dist/runtime/components/Container.d.vue.ts +18 -0
  54. package/dist/runtime/components/ContextMenu.d.vue.ts +110 -0
  55. package/dist/runtime/components/ContextMenu.vue +2 -2
  56. package/dist/runtime/components/ContextMenu.vue.d.ts +2 -2
  57. package/dist/runtime/components/ContextMenuContent.d.vue.ts +50 -0
  58. package/dist/runtime/components/ContextMenuContent.vue +2 -2
  59. package/dist/runtime/components/ContextMenuContent.vue.d.ts +2 -2
  60. package/dist/runtime/components/DashboardGroup.d.vue.ts +24 -0
  61. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -1
  62. package/dist/runtime/components/DashboardNavbar.d.vue.ts +52 -0
  63. package/dist/runtime/components/DashboardPanel.d.vue.ts +30 -0
  64. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +18 -0
  65. package/dist/runtime/components/DashboardSearch.d.vue.ts +91 -0
  66. package/dist/runtime/components/DashboardSearch.vue +2 -2
  67. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +59 -0
  68. package/dist/runtime/components/DashboardSearchButton.vue +2 -2
  69. package/dist/runtime/components/DashboardSidebar.d.vue.ts +75 -0
  70. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +19 -0
  71. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +19 -0
  72. package/dist/runtime/components/DashboardToolbar.d.vue.ts +25 -0
  73. package/dist/runtime/components/Drawer.d.vue.ts +84 -0
  74. package/dist/runtime/components/DropdownMenu.d.vue.ts +120 -0
  75. package/dist/runtime/components/DropdownMenu.vue +2 -2
  76. package/dist/runtime/components/DropdownMenu.vue.d.ts +2 -2
  77. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +56 -0
  78. package/dist/runtime/components/DropdownMenuContent.vue +2 -2
  79. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +2 -2
  80. package/dist/runtime/components/Error.d.vue.ts +47 -0
  81. package/dist/runtime/components/FieldGroup.d.vue.ts +34 -0
  82. package/dist/runtime/components/FileUpload.d.vue.ts +166 -0
  83. package/dist/runtime/components/FileUpload.vue +1 -0
  84. package/dist/runtime/components/Footer.d.vue.ts +29 -0
  85. package/dist/runtime/components/FooterColumns.d.vue.ts +57 -0
  86. package/dist/runtime/components/Form.d.vue.ts +114 -0
  87. package/dist/runtime/components/Form.vue +144 -60
  88. package/dist/runtime/components/Form.vue.d.ts +54 -11
  89. package/dist/runtime/components/FormField.d.vue.ts +61 -0
  90. package/dist/runtime/components/FormField.vue +9 -3
  91. package/dist/runtime/components/Header.d.vue.ts +68 -0
  92. package/dist/runtime/components/Icon.d.vue.ts +8 -0
  93. package/dist/runtime/components/Input.d.vue.ts +74 -0
  94. package/dist/runtime/components/Input.vue.d.ts +4 -3
  95. package/dist/runtime/components/InputMenu.d.vue.ts +330 -0
  96. package/dist/runtime/components/InputMenu.vue +2 -2
  97. package/dist/runtime/components/InputMenu.vue.d.ts +4 -4
  98. package/dist/runtime/components/InputNumber.d.vue.ts +188 -0
  99. package/dist/runtime/components/InputNumber.vue +2 -2
  100. package/dist/runtime/components/InputNumber.vue.d.ts +0 -2
  101. package/dist/runtime/components/InputTags.d.vue.ts +186 -0
  102. package/dist/runtime/components/InputTags.vue +2 -2
  103. package/dist/runtime/components/Kbd.d.vue.ts +38 -0
  104. package/dist/runtime/components/Link.d.vue.ts +91 -0
  105. package/dist/runtime/components/LinkBase.d.vue.ts +25 -0
  106. package/dist/runtime/components/Main.d.vue.ts +20 -0
  107. package/dist/runtime/components/Marquee.d.vue.ts +32 -0
  108. package/dist/runtime/components/Marquee.vue +1 -1
  109. package/dist/runtime/components/Modal.d.vue.ts +107 -0
  110. package/dist/runtime/components/NavigationMenu.d.vue.ts +171 -0
  111. package/dist/runtime/components/NavigationMenu.vue.d.ts +2 -2
  112. package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -0
  113. package/dist/runtime/components/Page.d.vue.ts +25 -0
  114. package/dist/runtime/components/PageAnchors.d.vue.ts +47 -0
  115. package/dist/runtime/components/PageAside.d.vue.ts +27 -0
  116. package/dist/runtime/components/PageBody.d.vue.ts +18 -0
  117. package/dist/runtime/components/PageCTA.d.vue.ts +56 -0
  118. package/dist/runtime/components/PageCard.d.vue.ts +72 -0
  119. package/dist/runtime/components/PageColumns.d.vue.ts +18 -0
  120. package/dist/runtime/components/PageFeature.d.vue.ts +44 -0
  121. package/dist/runtime/components/PageGrid.d.vue.ts +18 -0
  122. package/dist/runtime/components/PageHeader.d.vue.ts +36 -0
  123. package/dist/runtime/components/PageHero.d.vue.ts +53 -0
  124. package/dist/runtime/components/PageLinks.d.vue.ts +49 -0
  125. package/dist/runtime/components/PageList.d.vue.ts +21 -0
  126. package/dist/runtime/components/PageLogos.d.vue.ts +33 -0
  127. package/dist/runtime/components/PageSection.d.vue.ts +68 -0
  128. package/dist/runtime/components/Pagination.d.vue.ts +118 -0
  129. package/dist/runtime/components/PinInput.d.vue.ts +60 -0
  130. package/dist/runtime/components/Popover.d.vue.ts +71 -0
  131. package/dist/runtime/components/PricingPlan.d.vue.ts +112 -0
  132. package/dist/runtime/components/PricingPlans.d.vue.ts +44 -0
  133. package/dist/runtime/components/PricingTable.d.vue.ts +105 -0
  134. package/dist/runtime/components/Progress.d.vue.ts +66 -0
  135. package/dist/runtime/components/Progress.vue +2 -3
  136. package/dist/runtime/components/RadioGroup.d.vue.ts +99 -0
  137. package/dist/runtime/components/RadioGroup.vue +13 -11
  138. package/dist/runtime/components/RadioGroup.vue.d.ts +17 -13
  139. package/dist/runtime/components/Select.d.vue.ts +254 -0
  140. package/dist/runtime/components/Select.vue +3 -3
  141. package/dist/runtime/components/Select.vue.d.ts +5 -5
  142. package/dist/runtime/components/SelectMenu.d.vue.ts +303 -0
  143. package/dist/runtime/components/SelectMenu.vue.d.ts +4 -4
  144. package/dist/runtime/components/Separator.d.vue.ts +54 -0
  145. package/dist/runtime/components/Skeleton.d.vue.ts +17 -0
  146. package/dist/runtime/components/Slideover.d.vue.ts +108 -0
  147. package/dist/runtime/components/Slider.d.vue.ts +57 -0
  148. package/dist/runtime/components/Stepper.d.vue.ts +87 -0
  149. package/dist/runtime/components/Switch.d.vue.ts +71 -0
  150. package/dist/runtime/components/Table.d.vue.ts +201 -0
  151. package/dist/runtime/components/Table.vue.d.ts +26 -26
  152. package/dist/runtime/components/Tabs.d.vue.ts +99 -0
  153. package/dist/runtime/components/Tabs.vue +12 -5
  154. package/dist/runtime/components/Tabs.vue.d.ts +2 -2
  155. package/dist/runtime/components/Textarea.d.vue.ts +74 -0
  156. package/dist/runtime/components/Timeline.d.vue.ts +71 -0
  157. package/dist/runtime/components/Toast.d.vue.ts +165 -0
  158. package/dist/runtime/components/Toaster.d.vue.ts +44 -0
  159. package/dist/runtime/components/Tooltip.d.vue.ts +57 -0
  160. package/dist/runtime/components/Tree.d.vue.ts +112 -0
  161. package/dist/runtime/components/Tree.vue +88 -47
  162. package/dist/runtime/components/Tree.vue.d.ts +20 -24
  163. package/dist/runtime/components/User.d.vue.ts +47 -0
  164. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +7 -0
  165. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +23 -0
  166. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +6 -0
  167. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
  168. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
  169. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +102 -0
  170. package/dist/runtime/components/content/ContentNavigation.vue +5 -4
  171. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +2 -2
  172. package/dist/runtime/components/content/ContentSearch.d.vue.ts +114 -0
  173. package/dist/runtime/components/content/ContentSearch.vue +2 -2
  174. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +59 -0
  175. package/dist/runtime/components/content/ContentSearchButton.vue +2 -2
  176. package/dist/runtime/components/content/ContentSurround.d.vue.ts +59 -0
  177. package/dist/runtime/components/content/ContentToc.d.vue.ts +88 -0
  178. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +15 -0
  179. package/dist/runtime/components/prose/A.d.vue.ts +15 -0
  180. package/dist/runtime/components/prose/Accordion.d.vue.ts +16 -0
  181. package/dist/runtime/components/prose/AccordionItem.d.vue.ts +15 -0
  182. package/dist/runtime/components/prose/Badge.d.vue.ts +13 -0
  183. package/dist/runtime/components/prose/Blockquote.d.vue.ts +13 -0
  184. package/dist/runtime/components/prose/Callout.d.vue.ts +26 -0
  185. package/dist/runtime/components/prose/Card.d.vue.ts +29 -0
  186. package/dist/runtime/components/prose/CardGroup.d.vue.ts +13 -0
  187. package/dist/runtime/components/prose/Code.d.vue.ts +22 -0
  188. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +47 -0
  189. package/dist/runtime/components/prose/CodeGroup.d.vue.ts +37 -0
  190. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +7 -0
  191. package/dist/runtime/components/prose/CodePreview.d.vue.ts +19 -0
  192. package/dist/runtime/components/prose/CodeTree.d.vue.ts +28 -0
  193. package/dist/runtime/components/prose/CodeTree.vue +38 -31
  194. package/dist/runtime/components/prose/Collapsible.d.vue.ts +39 -0
  195. package/dist/runtime/components/prose/Em.d.vue.ts +13 -0
  196. package/dist/runtime/components/prose/Field.d.vue.ts +39 -0
  197. package/dist/runtime/components/prose/FieldGroup.d.vue.ts +18 -0
  198. package/dist/runtime/components/prose/H1.d.vue.ts +19 -0
  199. package/dist/runtime/components/prose/H2.d.vue.ts +19 -0
  200. package/dist/runtime/components/prose/H3.d.vue.ts +19 -0
  201. package/dist/runtime/components/prose/H4.d.vue.ts +19 -0
  202. package/dist/runtime/components/prose/Hr.d.vue.ts +5 -0
  203. package/dist/runtime/components/prose/Icon.d.vue.ts +6 -0
  204. package/dist/runtime/components/prose/Img.d.vue.ts +21 -0
  205. package/dist/runtime/components/prose/Kbd.d.vue.ts +6 -0
  206. package/dist/runtime/components/prose/Li.d.vue.ts +13 -0
  207. package/dist/runtime/components/prose/Ol.d.vue.ts +13 -0
  208. package/dist/runtime/components/prose/P.d.vue.ts +13 -0
  209. package/dist/runtime/components/prose/Pre.d.vue.ts +26 -0
  210. package/dist/runtime/components/prose/Script.d.vue.ts +5 -0
  211. package/dist/runtime/components/prose/Steps.d.vue.ts +22 -0
  212. package/dist/runtime/components/prose/Strong.d.vue.ts +13 -0
  213. package/dist/runtime/components/prose/Table.d.vue.ts +18 -0
  214. package/dist/runtime/components/prose/Tabs.d.vue.ts +36 -0
  215. package/dist/runtime/components/prose/TabsItem.d.vue.ts +15 -0
  216. package/dist/runtime/components/prose/Tbody.d.vue.ts +13 -0
  217. package/dist/runtime/components/prose/Td.d.vue.ts +13 -0
  218. package/dist/runtime/components/prose/Th.d.vue.ts +13 -0
  219. package/dist/runtime/components/prose/Thead.d.vue.ts +13 -0
  220. package/dist/runtime/components/prose/Tr.d.vue.ts +13 -0
  221. package/dist/runtime/components/prose/Ul.d.vue.ts +13 -0
  222. package/dist/runtime/components/prose/callout/Caution.d.vue.ts +14 -0
  223. package/dist/runtime/components/prose/callout/Note.d.vue.ts +14 -0
  224. package/dist/runtime/components/prose/callout/Tip.d.vue.ts +14 -0
  225. package/dist/runtime/components/prose/callout/Warning.d.vue.ts +14 -0
  226. package/dist/runtime/composables/useFormField.d.ts +1 -0
  227. package/dist/runtime/composables/useFormField.js +1 -4
  228. package/dist/runtime/inertia/components/Link.d.vue.ts +63 -0
  229. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +25 -0
  230. package/dist/runtime/locale/de_ch.d.ts +3 -0
  231. package/dist/runtime/locale/de_ch.js +129 -0
  232. package/dist/runtime/locale/id.js +1 -1
  233. package/dist/runtime/locale/index.d.ts +2 -0
  234. package/dist/runtime/locale/index.js +2 -0
  235. package/dist/runtime/locale/ka.d.ts +3 -0
  236. package/dist/runtime/locale/ka.js +132 -0
  237. package/dist/runtime/locale/pt.js +2 -2
  238. package/dist/runtime/types/form.d.ts +12 -13
  239. package/dist/runtime/types/form.js +1 -3
  240. package/dist/runtime/types/index.d.ts +1 -0
  241. package/dist/runtime/types/index.js +1 -0
  242. package/dist/runtime/types/tv.d.ts +9 -2
  243. package/dist/runtime/types/utils.d.ts +7 -3
  244. package/dist/runtime/utils/form.d.ts +2 -6
  245. package/dist/runtime/utils/form.js +28 -60
  246. package/dist/runtime/utils/fuse.d.ts +2 -1
  247. package/dist/runtime/utils/index.d.ts +3 -3
  248. package/dist/runtime/utils/index.js +6 -3
  249. package/dist/runtime/vue/components/Icon.d.vue.ts +6 -0
  250. package/dist/runtime/vue/components/Link.d.vue.ts +93 -0
  251. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +16 -0
  252. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
  253. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
  254. package/dist/shared/{ui.BEZXPd3d.mjs → ui.DGJZ-1aX.mjs} +18 -13
  255. package/dist/unplugin.mjs +1 -1
  256. package/dist/vite.mjs +1 -1
  257. package/package.json +27 -40
@@ -0,0 +1,127 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { EmblaCarouselType, EmblaOptionsType } from 'embla-carousel';
3
+ import type { AutoplayOptionsType } from 'embla-carousel-autoplay';
4
+ import type { AutoScrollOptionsType } from 'embla-carousel-auto-scroll';
5
+ import type { AutoHeightOptionsType } from 'embla-carousel-auto-height';
6
+ import type { ClassNamesOptionsType } from 'embla-carousel-class-names';
7
+ import type { FadeOptionsType } from 'embla-carousel-fade';
8
+ import type { WheelGesturesPluginOptions } from 'embla-carousel-wheel-gestures';
9
+ import theme from '#build/ui/carousel';
10
+ import type { ButtonProps, IconProps } from '../types';
11
+ import type { AcceptableValue } from '../types/utils';
12
+ import type { ComponentConfig } from '../types/tv';
13
+ type Carousel = ComponentConfig<typeof theme, AppConfig, 'carousel'>;
14
+ export type CarouselValue = AcceptableValue;
15
+ export type CarouselItem = CarouselValue | {
16
+ class?: any;
17
+ ui?: Pick<Carousel['slots'], 'item'>;
18
+ [key: string]: any;
19
+ };
20
+ export interface CarouselProps<T extends CarouselItem = CarouselItem> extends Omit<EmblaOptionsType, 'axis' | 'container' | 'slides' | 'direction'> {
21
+ /**
22
+ * The element or component this component should render as.
23
+ * @defaultValue 'div'
24
+ */
25
+ as?: any;
26
+ /**
27
+ * Configure the prev button when arrows are enabled.
28
+ * @defaultValue { size: 'md', color: 'neutral', variant: 'link' }
29
+ */
30
+ prev?: ButtonProps;
31
+ /**
32
+ * The icon displayed in the prev button.
33
+ * @defaultValue appConfig.ui.icons.arrowLeft
34
+ * @IconifyIcon
35
+ */
36
+ prevIcon?: IconProps['name'];
37
+ /**
38
+ * Configure the next button when arrows are enabled.
39
+ * @defaultValue { size: 'md', color: 'neutral', variant: 'link' }
40
+ */
41
+ next?: ButtonProps;
42
+ /**
43
+ * The icon displayed in the next button.
44
+ * @defaultValue appConfig.ui.icons.arrowRight
45
+ * @IconifyIcon
46
+ */
47
+ nextIcon?: IconProps['name'];
48
+ /**
49
+ * Display prev and next buttons to scroll the carousel.
50
+ * @defaultValue false
51
+ */
52
+ arrows?: boolean;
53
+ /**
54
+ * Display dots to scroll to a specific slide.
55
+ * @defaultValue false
56
+ */
57
+ dots?: boolean;
58
+ /**
59
+ * The orientation of the carousel.
60
+ * @defaultValue 'horizontal'
61
+ */
62
+ orientation?: Carousel['variants']['orientation'];
63
+ items?: T[];
64
+ /**
65
+ * Enable Autoplay plugin
66
+ * @see https://www.embla-carousel.com/plugins/autoplay/
67
+ */
68
+ autoplay?: boolean | AutoplayOptionsType;
69
+ /**
70
+ * Enable Auto Scroll plugin
71
+ * @see https://www.embla-carousel.com/plugins/auto-scroll/
72
+ */
73
+ autoScroll?: boolean | AutoScrollOptionsType;
74
+ /**
75
+ * Enable Auto Height plugin
76
+ * @see https://www.embla-carousel.com/plugins/auto-height/
77
+ */
78
+ autoHeight?: boolean | AutoHeightOptionsType;
79
+ /**
80
+ * Enable Class Names plugin
81
+ * @see https://www.embla-carousel.com/plugins/class-names/
82
+ */
83
+ classNames?: boolean | ClassNamesOptionsType;
84
+ /**
85
+ * Enable Fade plugin
86
+ * @see https://www.embla-carousel.com/plugins/fade/
87
+ */
88
+ fade?: boolean | FadeOptionsType;
89
+ /**
90
+ * Enable Wheel Gestures plugin
91
+ * @see https://www.embla-carousel.com/plugins/wheel-gestures/
92
+ */
93
+ wheelGestures?: boolean | WheelGesturesPluginOptions;
94
+ class?: any;
95
+ ui?: Carousel['slots'];
96
+ }
97
+ export type CarouselSlots<T extends CarouselItem = CarouselItem> = {
98
+ default(props: {
99
+ item: T;
100
+ index: number;
101
+ }): any;
102
+ };
103
+ export interface CarouselEmits {
104
+ /**
105
+ * Emitted when the selected slide changes
106
+ * @param selectedIndex The index of the selected slide
107
+ */
108
+ select: [selectedIndex: number];
109
+ }
110
+ declare const _default: <T extends CarouselItem>(__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<{
111
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
112
+ readonly onSelect?: ((selectedIndex: number) => any) | undefined;
113
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onSelect"> & CarouselProps<T> & {}> & import("vue").PublicProps;
114
+ expose(exposed: import("vue").ShallowUnwrapRef<{
115
+ emblaRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
116
+ emblaApi: import("vue").Ref<EmblaCarouselType | undefined, EmblaCarouselType | undefined>;
117
+ }>): void;
118
+ attrs: any;
119
+ slots: CarouselSlots<T>;
120
+ emit: (evt: "select", selectedIndex: number) => void;
121
+ }>) => import("vue").VNode & {
122
+ __ctx?: Awaited<typeof __VLS_setup>;
123
+ };
124
+ export default _default;
125
+ type __VLS_PrettifyLocal<T> = {
126
+ [K in keyof T as K]: T[K];
127
+ } & {};
@@ -1,5 +1,4 @@
1
1
  import type { AppConfig } from '@nuxt/schema';
2
- import type { AcceptableValue } from 'reka-ui';
3
2
  import type { EmblaCarouselType, EmblaOptionsType } from 'embla-carousel';
4
3
  import type { AutoplayOptionsType } from 'embla-carousel-autoplay';
5
4
  import type { AutoScrollOptionsType } from 'embla-carousel-auto-scroll';
@@ -9,14 +8,15 @@ import type { FadeOptionsType } from 'embla-carousel-fade';
9
8
  import type { WheelGesturesPluginOptions } from 'embla-carousel-wheel-gestures';
10
9
  import theme from '#build/ui/carousel';
11
10
  import type { ButtonProps, IconProps } from '../types';
11
+ import type { AcceptableValue } from '../types/utils';
12
12
  import type { ComponentConfig } from '../types/tv';
13
13
  type Carousel = ComponentConfig<typeof theme, AppConfig, 'carousel'>;
14
- interface _CarouselItem {
14
+ export type CarouselValue = AcceptableValue;
15
+ export type CarouselItem = CarouselValue | {
15
16
  class?: any;
16
17
  ui?: Pick<Carousel['slots'], 'item'>;
17
18
  [key: string]: any;
18
- }
19
- export type CarouselItem = _CarouselItem | AcceptableValue;
19
+ };
20
20
  export interface CarouselProps<T extends CarouselItem = CarouselItem> extends Omit<EmblaOptionsType, 'axis' | 'container' | 'slides' | 'direction'> {
21
21
  /**
22
22
  * The element or component this component should render as.
@@ -63,32 +63,32 @@ export interface CarouselProps<T extends CarouselItem = CarouselItem> extends Om
63
63
  items?: T[];
64
64
  /**
65
65
  * Enable Autoplay plugin
66
- * @link https://www.embla-carousel.com/plugins/autoplay/
66
+ * @see https://www.embla-carousel.com/plugins/autoplay/
67
67
  */
68
68
  autoplay?: boolean | AutoplayOptionsType;
69
69
  /**
70
70
  * Enable Auto Scroll plugin
71
- * @link https://www.embla-carousel.com/plugins/auto-scroll/
71
+ * @see https://www.embla-carousel.com/plugins/auto-scroll/
72
72
  */
73
73
  autoScroll?: boolean | AutoScrollOptionsType;
74
74
  /**
75
75
  * Enable Auto Height plugin
76
- * @link https://www.embla-carousel.com/plugins/auto-height/
76
+ * @see https://www.embla-carousel.com/plugins/auto-height/
77
77
  */
78
78
  autoHeight?: boolean | AutoHeightOptionsType;
79
79
  /**
80
80
  * Enable Class Names plugin
81
- * @link https://www.embla-carousel.com/plugins/class-names/
81
+ * @see https://www.embla-carousel.com/plugins/class-names/
82
82
  */
83
83
  classNames?: boolean | ClassNamesOptionsType;
84
84
  /**
85
85
  * Enable Fade plugin
86
- * @link https://www.embla-carousel.com/plugins/fade/
86
+ * @see https://www.embla-carousel.com/plugins/fade/
87
87
  */
88
88
  fade?: boolean | FadeOptionsType;
89
89
  /**
90
90
  * Enable Wheel Gestures plugin
91
- * @link https://www.embla-carousel.com/plugins/wheel-gestures/
91
+ * @see https://www.embla-carousel.com/plugins/wheel-gestures/
92
92
  */
93
93
  wheelGestures?: boolean | WheelGesturesPluginOptions;
94
94
  class?: any;
@@ -0,0 +1,59 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/changelog-version';
3
+ import type { BadgeProps, LinkProps, UserProps } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type ChangelogVersion = ComponentConfig<typeof theme, AppConfig, 'changelogVersion'>;
6
+ export interface ChangelogVersionProps {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'article'
10
+ */
11
+ as?: any;
12
+ title?: string;
13
+ description?: string;
14
+ /** The date of the changelog version. Can be a string or a Date object. */
15
+ date?: string | Date;
16
+ /**
17
+ * Display a badge on the changelog version.
18
+ * Can be a string or an object.
19
+ * `{ color: 'neutral', variant: 'solid' }`{lang="ts-type"}
20
+ */
21
+ badge?: string | BadgeProps;
22
+ /** The authors of the changelog version. */
23
+ authors?: UserProps[];
24
+ /** The image of the changelog version. Can be a string or an object. */
25
+ image?: string | Partial<HTMLImageElement>;
26
+ /**
27
+ * Display an indicator dot on the left.
28
+ * @defaultValue true
29
+ */
30
+ indicator?: boolean;
31
+ to?: LinkProps['to'];
32
+ target?: LinkProps['target'];
33
+ onClick?: (event: MouseEvent) => void | Promise<void>;
34
+ class?: any;
35
+ ui?: ChangelogVersion['slots'];
36
+ }
37
+ export interface ChangelogVersionSlots {
38
+ header(props?: {}): any;
39
+ badge(props?: {}): any;
40
+ date(props?: {}): any;
41
+ title(props?: {}): any;
42
+ description(props?: {}): any;
43
+ image(props?: {}): any;
44
+ body(props?: {}): any;
45
+ footer(props?: {}): any;
46
+ authors(props?: {}): any;
47
+ actions(props?: {}): any;
48
+ indicator(props?: {}): any;
49
+ }
50
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ChangelogVersionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChangelogVersionProps> & Readonly<{}>, {
51
+ as: any;
52
+ indicator: boolean;
53
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChangelogVersionSlots>;
54
+ export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -0,0 +1,78 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { SpringOptions } from 'motion-v';
3
+ import theme from '#build/ui/changelog-versions';
4
+ import type { ChangelogVersionProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type ChangelogVersions = ComponentConfig<typeof theme, AppConfig, 'changelogVersions'>;
7
+ export interface ChangelogVersionsProps<T extends ChangelogVersionProps = ChangelogVersionProps> {
8
+ /**
9
+ * The element or component this component should render as.
10
+ * @defaultValue 'div'
11
+ */
12
+ as?: any;
13
+ versions?: T[];
14
+ /**
15
+ * Display an indicator bar on the left.
16
+ * @defaultValue true
17
+ */
18
+ indicator?: boolean;
19
+ /**
20
+ * Enable scrolling motion effect on the indicator bar.
21
+ * `{ damping: 30, restDelta: 0.001 }`{lang="ts-type"}
22
+ * @defaultValue true
23
+ * @see https://motion.dev/docs/vue-transitions#spring
24
+ */
25
+ indicatorMotion?: boolean | SpringOptions;
26
+ class?: any;
27
+ ui?: ChangelogVersions['slots'];
28
+ }
29
+ export interface ChangelogVersionsSlots<T extends ChangelogVersionProps = ChangelogVersionProps> {
30
+ default(props?: {}): any;
31
+ indicator(props?: {}): any;
32
+ header(props: {
33
+ version: T;
34
+ }): any;
35
+ badge(props: {
36
+ version: T;
37
+ }): any;
38
+ date(props: {
39
+ version: T;
40
+ }): any;
41
+ title(props: {
42
+ version: T;
43
+ }): any;
44
+ description(props: {
45
+ version: T;
46
+ }): any;
47
+ image(props: {
48
+ version: T;
49
+ }): any;
50
+ body(props: {
51
+ version: T;
52
+ }): any;
53
+ footer(props: {
54
+ version: T;
55
+ }): any;
56
+ authors(props: {
57
+ version: T;
58
+ }): any;
59
+ actions(props: {
60
+ version: T;
61
+ }): any;
62
+ indicator(props: {
63
+ version: T;
64
+ }): any;
65
+ }
66
+ declare const _default: <T extends ChangelogVersionProps>(__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<{
67
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & ChangelogVersionsProps<T> & {}> & import("vue").PublicProps;
68
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
69
+ attrs: any;
70
+ slots: ChangelogVersionsSlots<T>;
71
+ emit: {};
72
+ }>) => import("vue").VNode & {
73
+ __ctx?: Awaited<typeof __VLS_setup>;
74
+ };
75
+ export default _default;
76
+ type __VLS_PrettifyLocal<T> = {
77
+ [K in keyof T as K]: T[K];
78
+ } & {};
@@ -20,7 +20,7 @@ const props = defineProps({
20
20
  ui: { type: null, required: false }
21
21
  });
22
22
  const slots = defineSlots();
23
- const proxySlots = omit(slots, ["default", "indicator"]);
23
+ const getProxySlots = () => omit(slots, ["default", "indicator"]);
24
24
  const appConfig = useAppConfig();
25
25
  const springOptions = computed(() => defu(typeof props.indicatorMotion === "object" ? props.indicatorMotion : {}, { damping: 30, restDelta: 1e-3 }));
26
26
  const { scrollYProgress } = useScroll();
@@ -45,7 +45,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.changelogVers
45
45
  :indicator="!!props.indicator"
46
46
  v-bind="version"
47
47
  >
48
- <template v-for="(_, name) in proxySlots" #[name]>
48
+ <template v-for="(_, name) in getProxySlots()" #[name]>
49
49
  <slot :name="name" v-bind="{ version }" />
50
50
  </template>
51
51
  </UChangelogVersion>
@@ -0,0 +1,67 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { UIMessage } from 'ai';
3
+ import theme from '#build/ui/chat-message';
4
+ import type { AvatarProps, ButtonProps, IconProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type ChatMessage = ComponentConfig<typeof theme, AppConfig, 'chatMessage'>;
7
+ export interface ChatMessageProps extends UIMessage {
8
+ /**
9
+ * The element or component this component should render as.
10
+ * @defaultValue 'article'
11
+ */
12
+ as?: any;
13
+ /**
14
+ * @IconifyIcon
15
+ */
16
+ icon?: IconProps['name'];
17
+ avatar?: AvatarProps & {
18
+ [key: string]: any;
19
+ };
20
+ /**
21
+ * @defaultValue 'naked'
22
+ */
23
+ variant?: ChatMessage['variants']['variant'];
24
+ /**
25
+ * @defaultValue 'left'
26
+ */
27
+ side?: ChatMessage['variants']['side'];
28
+ /**
29
+ * Display a list of actions under the message.
30
+ * The `label` will be used in a tooltip.
31
+ * `{ size: 'xs', color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
32
+ */
33
+ actions?: (Omit<ButtonProps, 'onClick'> & {
34
+ onClick?: (e: MouseEvent, message: UIMessage) => void;
35
+ })[];
36
+ /**
37
+ * Render the message in a compact style.
38
+ * This is done automatically when used inside a `UChatPalette`{lang="ts-type"}.
39
+ * @defaultValue false
40
+ */
41
+ compact?: boolean;
42
+ /**
43
+ * @deprecated Use `parts` instead. (https://ai-sdk.dev/docs/migration-guides/migration-guide-5-0#content--parts-array)
44
+ * Use to display the content of the message.
45
+ */
46
+ content?: string;
47
+ class?: any;
48
+ ui?: ChatMessage['slots'];
49
+ }
50
+ export interface ChatMessageSlots {
51
+ leading(props: {
52
+ avatar: ChatMessageProps['avatar'];
53
+ }): any;
54
+ content(props: ChatMessageProps): any;
55
+ actions(props: {
56
+ actions: ChatMessageProps['actions'];
57
+ }): any;
58
+ }
59
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ChatMessageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChatMessageProps> & Readonly<{}>, {
60
+ as: any;
61
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatMessageSlots>;
62
+ export default _default;
63
+ type __VLS_WithSlots<T, S> = T & {
64
+ new (): {
65
+ $slots: S;
66
+ };
67
+ };
@@ -0,0 +1,83 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import type { UIMessage, ChatStatus } from 'ai';
3
+ import theme from '#build/ui/chat-messages';
4
+ import type { ButtonProps, ChatMessageProps, IconProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type ChatMessages = ComponentConfig<typeof theme, AppConfig, 'chatMessages'>;
7
+ export interface ChatMessagesProps {
8
+ messages?: UIMessage[];
9
+ status?: ChatStatus;
10
+ /**
11
+ * Whether to automatically scroll to the bottom when a message is streaming.
12
+ * @defaultValue false
13
+ */
14
+ shouldAutoScroll?: boolean;
15
+ /**
16
+ * Whether to scroll to the bottom on mounted.
17
+ * @defaultValue true
18
+ */
19
+ shouldScrollToBottom?: boolean;
20
+ /**
21
+ * Display an auto scroll button.
22
+ * `{ size: 'md', color: 'neutral', variant: 'outline' }`{lang="ts-type"}
23
+ * @defaultValue true
24
+ */
25
+ autoScroll?: boolean | Partial<ButtonProps>;
26
+ /**
27
+ * The icon displayed in the auto scroll button.
28
+ * @defaultValue appConfig.ui.icons.arrowDown
29
+ * @IconifyIcon
30
+ */
31
+ autoScrollIcon?: IconProps['name'];
32
+ /**
33
+ * The `user` messages props.
34
+ * `{ side: 'right', variant: 'soft' }`{lang="ts-type"}
35
+ */
36
+ user?: Pick<ChatMessageProps, 'icon' | 'avatar' | 'variant' | 'side' | 'actions'>;
37
+ /**
38
+ * The `assistant` messages props.
39
+ * `{ side: 'left', variant: 'naked' }`{lang="ts-type"}
40
+ */
41
+ assistant?: Pick<ChatMessageProps, 'icon' | 'avatar' | 'variant' | 'side' | 'actions'>;
42
+ /**
43
+ * Render the messages in a compact style.
44
+ * This is done automatically when used inside a `UChatPalette`{lang="ts-type"}.
45
+ * @defaultValue false
46
+ */
47
+ compact?: boolean;
48
+ /**
49
+ * The spacing offset for the last message in px. Can be useful when the prompt is sticky for example.
50
+ * @defaultValue 0
51
+ */
52
+ spacingOffset?: number;
53
+ class?: any;
54
+ ui?: ChatMessages['slots'];
55
+ }
56
+ export interface ChatMessagesSlots {
57
+ default(props?: {}): any;
58
+ indicator(props?: {}): any;
59
+ viewport(props: {
60
+ onClick: () => void;
61
+ }): any;
62
+ content(props: {
63
+ message: UIMessage;
64
+ }): any;
65
+ leading(props: {
66
+ message: UIMessage;
67
+ }): any;
68
+ actions(props: {
69
+ message: UIMessage;
70
+ }): any;
71
+ }
72
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ChatMessagesProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChatMessagesProps> & Readonly<{}>, {
73
+ autoScroll: boolean | Partial<ButtonProps>;
74
+ shouldAutoScroll: boolean;
75
+ shouldScrollToBottom: boolean;
76
+ spacingOffset: number;
77
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatMessagesSlots>;
78
+ export default _default;
79
+ type __VLS_WithSlots<T, S> = T & {
80
+ new (): {
81
+ $slots: S;
82
+ };
83
+ };
@@ -27,7 +27,7 @@ const props = defineProps({
27
27
  ui: { type: null, required: false }
28
28
  });
29
29
  const slots = defineSlots();
30
- const proxySlots = omit(slots, ["default", "indicator", "viewport"]);
30
+ const getProxySlots = () => omit(slots, ["default", "indicator", "viewport"]);
31
31
  const appConfig = useAppConfig();
32
32
  const userProps = toRef(() => defu(props.user, { side: "right", variant: "soft" }));
33
33
  const assistantProps = toRef(() => defu(props.assistant, { side: "left", variant: "naked" }));
@@ -166,7 +166,7 @@ onMounted(() => {
166
166
  :ref="(el) => registerMessageRef(message.id, el)"
167
167
  :compact="compact"
168
168
  >
169
- <template v-for="(_, name) in proxySlots" #[name]>
169
+ <template v-for="(_, name) in getProxySlots()" #[name]>
170
170
  <slot :name="name" v-bind="{ message }" />
171
171
  </template>
172
172
  </UChatMessage>
@@ -180,13 +180,13 @@ onMounted(() => {
180
180
  :compact="compact"
181
181
  >
182
182
  <template #content>
183
- <div :class="ui.indicator({ class: props.ui?.indicator })">
184
- <slot name="indicator">
183
+ <slot name="indicator">
184
+ <div :class="ui.indicator({ class: props.ui?.indicator })">
185
185
  <span />
186
186
  <span />
187
187
  <span />
188
- </slot>
189
- </div>
188
+ </div>
189
+ </slot>
190
190
  </template>
191
191
  </UChatMessage>
192
192
 
@@ -0,0 +1,24 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/chat-palette';
3
+ import type { ComponentConfig } from '../types/tv';
4
+ type ChatPalette = ComponentConfig<typeof theme, AppConfig, 'chatPalette'>;
5
+ export interface ChatPaletteProps {
6
+ /**
7
+ * The element or component this component should render as.
8
+ * @defaultValue 'div'
9
+ */
10
+ as?: any;
11
+ class?: any;
12
+ ui?: ChatPalette['slots'];
13
+ }
14
+ export interface ChatPaletteSlots {
15
+ default(props?: {}): any;
16
+ prompt(props?: {}): any;
17
+ }
18
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ChatPaletteProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChatPaletteProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatPaletteSlots>;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,61 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/ui/chat-prompt';
3
+ import type { TextareaProps, TextareaSlots } from '../types';
4
+ import type { ComponentConfig } from '../types/tv';
5
+ type ChatPrompt = ComponentConfig<typeof theme, AppConfig, 'chatPrompt'>;
6
+ export interface ChatPromptProps extends /** @vue-ignore */ Pick<TextareaProps, 'autofocusDelay' | 'autoresizeDelay' | 'maxrows' | 'icon' | 'avatar' | 'loading' | 'loadingIcon'> {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'form'
10
+ */
11
+ as?: any;
12
+ /**
13
+ * The placeholder text for the textarea.
14
+ * @defaultValue t('chatPrompt.placeholder')
15
+ */
16
+ placeholder?: string;
17
+ autofocus?: TextareaProps['autofocus'];
18
+ autoresize?: TextareaProps['autoresize'];
19
+ rows?: TextareaProps['rows'];
20
+ /**
21
+ * @defaultValue 'outline'
22
+ */
23
+ variant?: ChatPrompt['variants']['variant'];
24
+ error?: Error;
25
+ class?: any;
26
+ ui?: ChatPrompt['slots'] & TextareaProps['ui'];
27
+ }
28
+ export interface ChatPromptEmits {
29
+ submit: [event: Event];
30
+ close: [event: Event];
31
+ }
32
+ export interface ChatPromptSlots extends TextareaSlots {
33
+ header(props?: {}): any;
34
+ footer(props?: {}): any;
35
+ }
36
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ChatPromptProps & {
37
+ modelValue?: string;
38
+ }, {
39
+ textareaRef: HTMLTextAreaElement | null | undefined;
40
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
41
+ close: (event: Event) => any;
42
+ submit: (event: Event) => any;
43
+ "update:modelValue": (value: string) => any;
44
+ }, string, import("vue").PublicProps, Readonly<ChatPromptProps & {
45
+ modelValue?: string;
46
+ }> & Readonly<{
47
+ onClose?: ((event: Event) => any) | undefined;
48
+ onSubmit?: ((event: Event) => any) | undefined;
49
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
50
+ }>, {
51
+ as: any;
52
+ autofocus: boolean;
53
+ rows: number;
54
+ autoresize: boolean;
55
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatPromptSlots>;
56
+ export default _default;
57
+ type __VLS_WithSlots<T, S> = T & {
58
+ new (): {
59
+ $slots: S;
60
+ };
61
+ };
@@ -29,7 +29,7 @@ const model = defineModel({ type: String, ...{ default: "" } });
29
29
  const { t } = useLocale();
30
30
  const appConfig = useAppConfig();
31
31
  const textareaProps = useForwardProps(reactivePick(props, "autofocus", "autoresize", "rows"));
32
- const proxySlots = omit(slots, ["header", "footer"]);
32
+ const getProxySlots = () => omit(slots, ["header", "footer"]);
33
33
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.chatPrompt || {} })({
34
34
  variant: props.variant
35
35
  }));
@@ -67,7 +67,7 @@ defineExpose({
67
67
  @keydown.enter.exact.prevent="submit"
68
68
  @keydown.esc="blur"
69
69
  >
70
- <template v-for="(_, name) in proxySlots" #[name]="slotData">
70
+ <template v-for="(_, name) in getProxySlots()" #[name]="slotData">
71
71
  <slot :name="name" v-bind="slotData" />
72
72
  </template>
73
73
  </UTextarea>