@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,303 @@
1
+ import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxContentEmits, ComboboxArrowProps } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/ui/select-menu';
4
+ import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
+ import type { AvatarProps, ChipProps, IconProps, InputProps } from '../types';
6
+ import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
7
+ import type { ComponentConfig } from '../types/tv';
8
+ type SelectMenu = ComponentConfig<typeof theme, AppConfig, 'selectMenu'>;
9
+ export type SelectMenuValue = AcceptableValue;
10
+ export type SelectMenuItem = SelectMenuValue | {
11
+ label?: string;
12
+ /**
13
+ * @IconifyIcon
14
+ */
15
+ icon?: IconProps['name'];
16
+ avatar?: AvatarProps;
17
+ chip?: ChipProps;
18
+ /**
19
+ * The item type.
20
+ * @defaultValue 'item'
21
+ */
22
+ type?: 'label' | 'separator' | 'item';
23
+ disabled?: boolean;
24
+ onSelect?(e?: Event): void;
25
+ class?: any;
26
+ ui?: Pick<SelectMenu['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemLabel' | 'itemTrailing' | 'itemTrailingIcon'>;
27
+ [key: string]: any;
28
+ };
29
+ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover'>, UseComponentIconsProps {
30
+ id?: string;
31
+ /** The placeholder text when the select is empty. */
32
+ placeholder?: string;
33
+ /**
34
+ * Whether to display the search input or not.
35
+ * Can be an object to pass additional props to the input.
36
+ * `{ placeholder: 'Search...', variant: 'none' }`{lang="ts-type"}
37
+ * @defaultValue true
38
+ */
39
+ searchInput?: boolean | InputProps;
40
+ /**
41
+ * @defaultValue 'primary'
42
+ */
43
+ color?: SelectMenu['variants']['color'];
44
+ /**
45
+ * @defaultValue 'outline'
46
+ */
47
+ variant?: SelectMenu['variants']['variant'];
48
+ /**
49
+ * @defaultValue 'md'
50
+ */
51
+ size?: SelectMenu['variants']['size'];
52
+ required?: boolean;
53
+ /**
54
+ * The icon displayed to open the menu.
55
+ * @defaultValue appConfig.ui.icons.chevronDown
56
+ * @IconifyIcon
57
+ */
58
+ trailingIcon?: IconProps['name'];
59
+ /**
60
+ * The icon displayed when an item is selected.
61
+ * @defaultValue appConfig.ui.icons.check
62
+ * @IconifyIcon
63
+ */
64
+ selectedIcon?: IconProps['name'];
65
+ /**
66
+ * The content of the menu.
67
+ * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
68
+ */
69
+ content?: Omit<ComboboxContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<ComboboxContentEmits>>;
70
+ /**
71
+ * Display an arrow alongside the menu.
72
+ * @defaultValue false
73
+ * @IconifyIcon
74
+ */
75
+ arrow?: boolean | Omit<ComboboxArrowProps, 'as' | 'asChild'>;
76
+ /**
77
+ * Render the menu in a portal.
78
+ * @defaultValue true
79
+ */
80
+ portal?: boolean | string | HTMLElement;
81
+ /**
82
+ * When `items` is an array of objects, select the field to use as the value instead of the object itself.
83
+ * @defaultValue undefined
84
+ */
85
+ valueKey?: VK;
86
+ /**
87
+ * When `items` is an array of objects, select the field to use as the label.
88
+ * @defaultValue 'label'
89
+ */
90
+ labelKey?: GetItemKeys<T>;
91
+ items?: T;
92
+ /** The value of the SelectMenu when initially rendered. Use when you do not need to control the state of the SelectMenu. */
93
+ defaultValue?: GetModelValue<T, VK, M>;
94
+ /** The controlled value of the SelectMenu. Can be binded-with with `v-model`. */
95
+ modelValue?: GetModelValue<T, VK, M>;
96
+ /** Whether multiple options can be selected or not. */
97
+ multiple?: M & boolean;
98
+ /** Highlight the ring color like a focus state. */
99
+ highlight?: boolean;
100
+ /**
101
+ * Determines if custom user input that does not exist in options can be added.
102
+ * @defaultValue false
103
+ */
104
+ createItem?: boolean | 'always' | {
105
+ position?: 'top' | 'bottom';
106
+ when?: 'empty' | 'always';
107
+ };
108
+ /**
109
+ * Fields to filter items by.
110
+ * @defaultValue [labelKey]
111
+ */
112
+ filterFields?: string[];
113
+ /**
114
+ * When `true`, disable the default filters, useful for custom filtering (useAsyncData, useFetch, etc.).
115
+ * @defaultValue false
116
+ */
117
+ ignoreFilter?: boolean;
118
+ autofocus?: boolean;
119
+ autofocusDelay?: number;
120
+ class?: any;
121
+ ui?: SelectMenu['slots'];
122
+ }
123
+ export type SelectMenuEmits<A extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined, M extends boolean> = Pick<ComboboxRootEmits, 'update:open'> & {
124
+ change: [event: Event];
125
+ blur: [event: FocusEvent];
126
+ focus: [event: FocusEvent];
127
+ create: [item: string];
128
+ /** Event handler when highlighted element changes. */
129
+ highlight: [
130
+ payload: {
131
+ ref: HTMLElement;
132
+ value: GetModelValue<A, VK, M>;
133
+ } | undefined
134
+ ];
135
+ } & GetModelValueEmits<A, VK, M>;
136
+ type SlotProps<T extends SelectMenuItem> = (props: {
137
+ item: T;
138
+ index: number;
139
+ }) => any;
140
+ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
141
+ 'leading'(props: {
142
+ modelValue?: GetModelValue<A, VK, M>;
143
+ open: boolean;
144
+ ui: {
145
+ [K in keyof Required<SelectMenu['slots']>]: (props?: Record<string, any>) => string;
146
+ };
147
+ }): any;
148
+ 'default'(props: {
149
+ modelValue?: GetModelValue<A, VK, M>;
150
+ open: boolean;
151
+ }): any;
152
+ 'trailing'(props: {
153
+ modelValue?: GetModelValue<A, VK, M>;
154
+ open: boolean;
155
+ ui: {
156
+ [K in keyof Required<SelectMenu['slots']>]: (props?: Record<string, any>) => string;
157
+ };
158
+ }): any;
159
+ 'empty'(props: {
160
+ searchTerm?: string;
161
+ }): any;
162
+ 'item': SlotProps<T>;
163
+ 'item-leading': SlotProps<T>;
164
+ 'item-label': SlotProps<T>;
165
+ 'item-trailing': SlotProps<T>;
166
+ 'content-top': (props?: {}) => any;
167
+ 'content-bottom': (props?: {}) => any;
168
+ 'create-item-label'(props: {
169
+ item: string;
170
+ }): any;
171
+ }
172
+ declare const _default: <T extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
173
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
174
+ readonly onBlur?: ((event: FocusEvent) => any) | undefined;
175
+ readonly onChange?: ((event: Event) => any) | undefined;
176
+ readonly onFocus?: ((event: FocusEvent) => any) | undefined;
177
+ readonly onCreate?: ((item: string) => any) | undefined;
178
+ readonly "onUpdate:open"?: ((value: boolean) => any) | undefined;
179
+ readonly "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
180
+ readonly onHighlight?: ((payload: {
181
+ ref: HTMLElement;
182
+ value: GetModelValue<T, VK, M>;
183
+ } | undefined) => any) | undefined;
184
+ readonly "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
185
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onFocus" | "onBlur" | "onChange" | "onUpdate:open" | "onUpdate:modelValue" | "onCreate" | "onHighlight" | "onUpdate:searchTerm"> & (SelectMenuProps<T, VK, M> & {
186
+ searchTerm?: string;
187
+ }) & {}> & import("vue").PublicProps;
188
+ expose(exposed: import("vue").ShallowUnwrapRef<{
189
+ triggerRef: import("vue").Ref<({
190
+ $: import("vue").ComponentInternalInstance;
191
+ $data: {};
192
+ $props: {
193
+ readonly disabled?: boolean | undefined;
194
+ readonly asChild?: boolean | undefined;
195
+ readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
196
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
197
+ $attrs: {
198
+ [x: string]: unknown;
199
+ };
200
+ $refs: {
201
+ [x: string]: unknown;
202
+ };
203
+ $slots: Readonly<{
204
+ [name: string]: import("vue").Slot<any> | undefined;
205
+ }>;
206
+ $root: import("vue").ComponentPublicInstance | null;
207
+ $parent: import("vue").ComponentPublicInstance | null;
208
+ $host: Element | null;
209
+ $emit: (event: string, ...args: any[]) => void;
210
+ $el: any;
211
+ $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
212
+ as: import("reka-ui").AsTag | import("vue").Component;
213
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
214
+ beforeCreate?: (() => void) | (() => void)[];
215
+ created?: (() => void) | (() => void)[];
216
+ beforeMount?: (() => void) | (() => void)[];
217
+ mounted?: (() => void) | (() => void)[];
218
+ beforeUpdate?: (() => void) | (() => void)[];
219
+ updated?: (() => void) | (() => void)[];
220
+ activated?: (() => void) | (() => void)[];
221
+ deactivated?: (() => void) | (() => void)[];
222
+ beforeDestroy?: (() => void) | (() => void)[];
223
+ beforeUnmount?: (() => void) | (() => void)[];
224
+ destroyed?: (() => void) | (() => void)[];
225
+ unmounted?: (() => void) | (() => void)[];
226
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
227
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
228
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
229
+ };
230
+ $forceUpdate: () => void;
231
+ $nextTick: typeof import("vue").nextTick;
232
+ $watch<T_1 extends string | ((...args: any) => any)>(source: T_1, cb: T_1 extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
233
+ } & Readonly<{
234
+ as: import("reka-ui").AsTag | import("vue").Component;
235
+ }> & Omit<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
236
+ $slots: {
237
+ default?: (props: {}) => any;
238
+ };
239
+ }) | null, ({
240
+ $: import("vue").ComponentInternalInstance;
241
+ $data: {};
242
+ $props: {
243
+ readonly disabled?: boolean | undefined;
244
+ readonly asChild?: boolean | undefined;
245
+ readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
246
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
247
+ $attrs: {
248
+ [x: string]: unknown;
249
+ };
250
+ $refs: {
251
+ [x: string]: unknown;
252
+ };
253
+ $slots: Readonly<{
254
+ [name: string]: import("vue").Slot<any> | undefined;
255
+ }>;
256
+ $root: import("vue").ComponentPublicInstance | null;
257
+ $parent: import("vue").ComponentPublicInstance | null;
258
+ $host: Element | null;
259
+ $emit: (event: string, ...args: any[]) => void;
260
+ $el: any;
261
+ $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
262
+ as: import("reka-ui").AsTag | import("vue").Component;
263
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
264
+ beforeCreate?: (() => void) | (() => void)[];
265
+ created?: (() => void) | (() => void)[];
266
+ beforeMount?: (() => void) | (() => void)[];
267
+ mounted?: (() => void) | (() => void)[];
268
+ beforeUpdate?: (() => void) | (() => void)[];
269
+ updated?: (() => void) | (() => void)[];
270
+ activated?: (() => void) | (() => void)[];
271
+ deactivated?: (() => void) | (() => void)[];
272
+ beforeDestroy?: (() => void) | (() => void)[];
273
+ beforeUnmount?: (() => void) | (() => void)[];
274
+ destroyed?: (() => void) | (() => void)[];
275
+ unmounted?: (() => void) | (() => void)[];
276
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
277
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
278
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
279
+ };
280
+ $forceUpdate: () => void;
281
+ $nextTick: typeof import("vue").nextTick;
282
+ $watch<T_1 extends string | ((...args: any) => any)>(source: T_1, cb: T_1 extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
283
+ } & Readonly<{
284
+ as: import("reka-ui").AsTag | import("vue").Component;
285
+ }> & Omit<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
286
+ $slots: {
287
+ default?: (props: {}) => any;
288
+ };
289
+ }) | null>;
290
+ }>): void;
291
+ attrs: any;
292
+ slots: SelectMenuSlots<T, VK, M, NestedItem<T>>;
293
+ emit: (((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "create", item: string) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
294
+ ref: HTMLElement;
295
+ value: GetModelValue<T, VK, M>;
296
+ } | undefined) => void)) & ((evt: "update:searchTerm", value: string) => void);
297
+ }>) => import("vue").VNode & {
298
+ __ctx?: Awaited<typeof __VLS_setup>;
299
+ };
300
+ export default _default;
301
+ type __VLS_PrettifyLocal<T> = {
302
+ [K in keyof T as K]: T[K];
303
+ } & {};
@@ -6,7 +6,8 @@ import type { AvatarProps, ChipProps, IconProps, InputProps } from '../types';
6
6
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
7
7
  import type { ComponentConfig } from '../types/tv';
8
8
  type SelectMenu = ComponentConfig<typeof theme, AppConfig, 'selectMenu'>;
9
- interface _SelectMenuItem {
9
+ export type SelectMenuValue = AcceptableValue;
10
+ export type SelectMenuItem = SelectMenuValue | {
10
11
  label?: string;
11
12
  /**
12
13
  * @IconifyIcon
@@ -24,8 +25,7 @@ interface _SelectMenuItem {
24
25
  class?: any;
25
26
  ui?: Pick<SelectMenu['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemLabel' | 'itemTrailing' | 'itemTrailingIcon'>;
26
27
  [key: string]: any;
27
- }
28
- export type SelectMenuItem = _SelectMenuItem | AcceptableValue | boolean;
28
+ };
29
29
  export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover'>, UseComponentIconsProps {
30
30
  id?: string;
31
31
  /** The placeholder text when the select is empty. */
@@ -87,7 +87,7 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
87
87
  * When `items` is an array of objects, select the field to use as the label.
88
88
  * @defaultValue 'label'
89
89
  */
90
- labelKey?: keyof NestedItem<T>;
90
+ labelKey?: GetItemKeys<T>;
91
91
  items?: T;
92
92
  /** The value of the SelectMenu when initially rendered. Use when you do not need to control the state of the SelectMenu. */
93
93
  defaultValue?: GetModelValue<T, VK, M>;
@@ -0,0 +1,54 @@
1
+ import { Separator } from 'reka-ui';
2
+ import type { SeparatorProps as _SeparatorProps } from 'reka-ui';
3
+ import type { AppConfig } from '@nuxt/schema';
4
+ import theme from '#build/ui/separator';
5
+ import type { AvatarProps, IconProps } from '../types';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type Separator = ComponentConfig<typeof theme, AppConfig, 'separator'>;
8
+ export interface SeparatorProps extends Pick<_SeparatorProps, 'decorative'> {
9
+ /**
10
+ * The element or component this component should render as.
11
+ * @defaultValue 'div'
12
+ */
13
+ as?: any;
14
+ /** Display a label in the middle. */
15
+ label?: string;
16
+ /**
17
+ * Display an icon in the middle.
18
+ * @IconifyIcon
19
+ */
20
+ icon?: IconProps['name'];
21
+ /** Display an avatar in the middle. */
22
+ avatar?: AvatarProps;
23
+ /**
24
+ * @defaultValue 'neutral'
25
+ */
26
+ color?: Separator['variants']['color'];
27
+ /**
28
+ * @defaultValue 'xs'
29
+ */
30
+ size?: Separator['variants']['size'];
31
+ /**
32
+ * @defaultValue 'solid'
33
+ */
34
+ type?: Separator['variants']['type'];
35
+ /**
36
+ * The orientation of the separator.
37
+ * @defaultValue 'horizontal'
38
+ */
39
+ orientation?: _SeparatorProps['orientation'];
40
+ class?: any;
41
+ ui?: Separator['slots'];
42
+ }
43
+ export interface SeparatorSlots {
44
+ default(props?: {}): any;
45
+ }
46
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
47
+ orientation: "horizontal" | "vertical";
48
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SeparatorSlots>;
49
+ export default _default;
50
+ type __VLS_WithSlots<T, S> = T & {
51
+ new (): {
52
+ $slots: S;
53
+ };
54
+ };
@@ -0,0 +1,17 @@
1
+ export interface SkeletonProps {
2
+ /**
3
+ * The element or component this component should render as.
4
+ * @defaultValue 'div'
5
+ */
6
+ as?: any;
7
+ class?: any;
8
+ }
9
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<SkeletonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
10
+ default?: (props: {}) => any;
11
+ }>;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,108 @@
1
+ import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/ui/slideover';
4
+ import type { ButtonProps, IconProps } from '../types';
5
+ import type { EmitsToProps } from '../types/utils';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type Slideover = ComponentConfig<typeof theme, AppConfig, 'slideover'>;
8
+ export interface SlideoverProps extends DialogRootProps {
9
+ title?: string;
10
+ description?: string;
11
+ /** The content of the slideover. */
12
+ content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>;
13
+ /**
14
+ * Render an overlay behind the slideover.
15
+ * @defaultValue true
16
+ */
17
+ overlay?: boolean;
18
+ /**
19
+ * Animate the slideover when opening or closing.
20
+ * @defaultValue true
21
+ */
22
+ transition?: boolean;
23
+ /**
24
+ * The side of the slideover.
25
+ * @defaultValue 'right'
26
+ */
27
+ side?: Slideover['variants']['side'];
28
+ /**
29
+ * Render the slideover in a portal.
30
+ * @defaultValue true
31
+ */
32
+ portal?: boolean | string | HTMLElement;
33
+ /**
34
+ * Display a close button to dismiss the slideover.
35
+ * `{ size: 'md', color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
36
+ * @defaultValue true
37
+ */
38
+ close?: boolean | Partial<ButtonProps>;
39
+ /**
40
+ * The icon displayed in the close button.
41
+ * @defaultValue appConfig.ui.icons.close
42
+ * @IconifyIcon
43
+ */
44
+ closeIcon?: IconProps['name'];
45
+ /**
46
+ * When `false`, the slideover will not close when clicking outside or pressing escape.
47
+ * @defaultValue true
48
+ */
49
+ dismissible?: boolean;
50
+ class?: any;
51
+ ui?: Slideover['slots'];
52
+ }
53
+ export interface SlideoverEmits extends DialogRootEmits {
54
+ 'after:leave': [];
55
+ 'after:enter': [];
56
+ 'close:prevent': [];
57
+ }
58
+ export interface SlideoverSlots {
59
+ default(props: {
60
+ open: boolean;
61
+ }): any;
62
+ content(props: {
63
+ close: () => void;
64
+ }): any;
65
+ header(props: {
66
+ close: () => void;
67
+ }): any;
68
+ title(props?: {}): any;
69
+ description(props?: {}): any;
70
+ actions(props?: {}): any;
71
+ close(props: {
72
+ close: () => void;
73
+ ui: {
74
+ [K in keyof Required<Slideover['slots']>]: (props?: Record<string, any>) => string;
75
+ };
76
+ }): any;
77
+ body(props: {
78
+ close: () => void;
79
+ }): any;
80
+ footer(props: {
81
+ close: () => void;
82
+ }): any;
83
+ }
84
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<SlideoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
85
+ "update:open": (value: boolean) => any;
86
+ "after:leave": () => any;
87
+ "after:enter": () => any;
88
+ "close:prevent": () => any;
89
+ }, string, import("vue").PublicProps, Readonly<SlideoverProps> & Readonly<{
90
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
91
+ "onAfter:leave"?: (() => any) | undefined;
92
+ "onAfter:enter"?: (() => any) | undefined;
93
+ "onClose:prevent"?: (() => any) | undefined;
94
+ }>, {
95
+ close: boolean | Partial<ButtonProps>;
96
+ modal: boolean;
97
+ transition: boolean;
98
+ portal: boolean | string | HTMLElement;
99
+ overlay: boolean;
100
+ side: Slideover["variants"]["side"];
101
+ dismissible: boolean;
102
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SlideoverSlots>;
103
+ export default _default;
104
+ type __VLS_WithSlots<T, S> = T & {
105
+ new (): {
106
+ $slots: S;
107
+ };
108
+ };
@@ -0,0 +1,57 @@
1
+ import type { SliderRootProps } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/ui/slider';
4
+ import type { TooltipProps } from '../types';
5
+ import type { ComponentConfig } from '../types/tv';
6
+ type Slider = ComponentConfig<typeof theme, AppConfig, 'slider'>;
7
+ export interface SliderProps extends Pick<SliderRootProps, 'name' | 'disabled' | 'inverted' | 'min' | 'max' | 'step' | 'minStepsBetweenThumbs'> {
8
+ /**
9
+ * The element or component this component should render as.
10
+ * @defaultValue 'div'
11
+ */
12
+ as?: any;
13
+ /**
14
+ * @defaultValue 'md'
15
+ */
16
+ size?: Slider['variants']['size'];
17
+ /**
18
+ * @defaultValue 'primary'
19
+ */
20
+ color?: Slider['variants']['color'];
21
+ /**
22
+ * The orientation of the slider.
23
+ * @defaultValue 'horizontal'
24
+ */
25
+ orientation?: SliderRootProps['orientation'];
26
+ /**
27
+ * Display a tooltip around the slider thumbs with the current value.
28
+ * `{ disableClosingTrigger: true }`{lang="ts-type"}
29
+ * @defaultValue false
30
+ */
31
+ tooltip?: boolean | TooltipProps;
32
+ /** The value of the slider when initially rendered. Use when you do not need to control the state of the slider. */
33
+ defaultValue?: number | number[];
34
+ class?: any;
35
+ ui?: Slider['slots'];
36
+ }
37
+ export interface SliderEmits {
38
+ change: [event: Event];
39
+ }
40
+ declare const _default: <T extends number | number[]>(__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<{
41
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
42
+ readonly onChange?: ((event: Event) => any) | undefined;
43
+ readonly "onUpdate:modelValue"?: ((value: T | undefined) => any) | undefined;
44
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onChange" | "onUpdate:modelValue"> & (SliderProps & {
45
+ modelValue?: T;
46
+ }) & {}> & import("vue").PublicProps;
47
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
48
+ attrs: any;
49
+ slots: {};
50
+ emit: ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: T | undefined) => void);
51
+ }>) => import("vue").VNode & {
52
+ __ctx?: Awaited<typeof __VLS_setup>;
53
+ };
54
+ export default _default;
55
+ type __VLS_PrettifyLocal<T> = {
56
+ [K in keyof T as K]: T[K];
57
+ } & {};
@@ -0,0 +1,87 @@
1
+ import type { StepperRootProps, StepperRootEmits } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/ui/stepper';
4
+ import type { IconProps } from '../types';
5
+ import type { DynamicSlots } from '../types/utils';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type Stepper = ComponentConfig<typeof theme, AppConfig, 'stepper'>;
8
+ export interface StepperItem {
9
+ slot?: string;
10
+ value?: string | number;
11
+ title?: string;
12
+ description?: string;
13
+ /**
14
+ * @IconifyIcon
15
+ */
16
+ icon?: IconProps['name'];
17
+ content?: string;
18
+ disabled?: boolean;
19
+ class?: any;
20
+ ui?: Pick<Stepper['slots'], 'item' | 'container' | 'trigger' | 'indicator' | 'icon' | 'separator' | 'wrapper' | 'title' | 'description'>;
21
+ [key: string]: any;
22
+ }
23
+ export interface StepperProps<T extends StepperItem = StepperItem> extends Pick<StepperRootProps, 'linear'> {
24
+ /**
25
+ * The element or component this component should render as.
26
+ * @defaultValue 'div'
27
+ */
28
+ as?: any;
29
+ items: T[];
30
+ /**
31
+ * @defaultValue 'md'
32
+ */
33
+ size?: Stepper['variants']['size'];
34
+ /**
35
+ * @defaultValue 'primary'
36
+ */
37
+ color?: Stepper['variants']['color'];
38
+ /**
39
+ * The orientation of the stepper.
40
+ * @defaultValue 'horizontal'
41
+ */
42
+ orientation?: Stepper['variants']['orientation'];
43
+ /**
44
+ * The value of the step that should be active when initially rendered. Use when you do not need to control the state of the steps.
45
+ */
46
+ defaultValue?: string | number;
47
+ disabled?: boolean;
48
+ class?: any;
49
+ ui?: Stepper['slots'];
50
+ }
51
+ export type StepperEmits<T extends StepperItem = StepperItem> = Omit<StepperRootEmits, 'update:modelValue'> & {
52
+ next: [value: T];
53
+ prev: [value: T];
54
+ };
55
+ type SlotProps<T extends StepperItem> = (props: {
56
+ item: T;
57
+ }) => any;
58
+ export type StepperSlots<T extends StepperItem = StepperItem> = {
59
+ indicator: SlotProps<T>;
60
+ title: SlotProps<T>;
61
+ description: SlotProps<T>;
62
+ content: SlotProps<T>;
63
+ } & DynamicSlots<T>;
64
+ declare const _default: <T extends StepperItem>(__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<{
65
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
66
+ readonly onNext?: ((value: T) => any) | undefined;
67
+ readonly onPrev?: ((value: T) => any) | undefined;
68
+ readonly "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
69
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue" | "onNext" | "onPrev"> & (StepperProps<T> & {
70
+ modelValue?: string | number;
71
+ }) & {}> & import("vue").PublicProps;
72
+ expose(exposed: import("vue").ShallowUnwrapRef<{
73
+ next(): void;
74
+ prev(): void;
75
+ hasNext: import("vue").ComputedRef<boolean>;
76
+ hasPrev: import("vue").ComputedRef<boolean>;
77
+ }>): void;
78
+ attrs: any;
79
+ slots: StepperSlots<T>;
80
+ emit: (((evt: "next", value: T) => void) & ((evt: "prev", value: T) => void)) & ((evt: "update:modelValue", value: string | number | undefined) => void);
81
+ }>) => import("vue").VNode & {
82
+ __ctx?: Awaited<typeof __VLS_setup>;
83
+ };
84
+ export default _default;
85
+ type __VLS_PrettifyLocal<T> = {
86
+ [K in keyof T as K]: T[K];
87
+ } & {};