@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
@@ -6,7 +6,8 @@ import type { ModelModifiers } from '../types/input';
6
6
  import type { AcceptableValue } from '../types/utils';
7
7
  import type { ComponentConfig } from '../types/tv';
8
8
  type Input = ComponentConfig<typeof theme, AppConfig, 'input'>;
9
- export interface InputProps<T extends AcceptableValue = AcceptableValue> extends UseComponentIconsProps {
9
+ export type InputValue = AcceptableValue;
10
+ export interface InputProps<T extends InputValue = InputValue> extends UseComponentIconsProps {
10
11
  /**
11
12
  * The element or component this component should render as.
12
13
  * @defaultValue 'div'
@@ -42,7 +43,7 @@ export interface InputProps<T extends AcceptableValue = AcceptableValue> extends
42
43
  class?: any;
43
44
  ui?: Input['slots'];
44
45
  }
45
- export interface InputEmits<T extends AcceptableValue = AcceptableValue> {
46
+ export interface InputEmits<T extends InputValue = InputValue> {
46
47
  'update:modelValue': [value: T];
47
48
  'blur': [event: FocusEvent];
48
49
  'change': [event: Event];
@@ -52,7 +53,7 @@ export interface InputSlots {
52
53
  default(props?: {}): any;
53
54
  trailing(props?: {}): any;
54
55
  }
55
- declare const _default: <T extends AcceptableValue>(__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
+ declare const _default: <T extends InputValue>(__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
57
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
57
58
  readonly onBlur?: ((event: FocusEvent) => any) | undefined;
58
59
  readonly onChange?: ((event: Event) => any) | undefined;
@@ -0,0 +1,330 @@
1
+ import { nextTick } from 'vue';
2
+ import type { InputHTMLAttributes } from 'vue';
3
+ import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxContentEmits, ComboboxArrowProps } from 'reka-ui';
4
+ import type { AppConfig } from '@nuxt/schema';
5
+ import theme from '#build/ui/input-menu';
6
+ import type { UseComponentIconsProps } from '../composables/useComponentIcons';
7
+ import type { AvatarProps, ChipProps, IconProps } from '../types';
8
+ import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
9
+ import type { ComponentConfig } from '../types/tv';
10
+ type InputMenu = ComponentConfig<typeof theme, AppConfig, 'inputMenu'>;
11
+ export type InputMenuValue = AcceptableValue;
12
+ export type InputMenuItem = InputMenuValue | {
13
+ label?: string;
14
+ /**
15
+ * @IconifyIcon
16
+ */
17
+ icon?: IconProps['name'];
18
+ avatar?: AvatarProps;
19
+ chip?: ChipProps;
20
+ /**
21
+ * The item type.
22
+ * @defaultValue 'item'
23
+ */
24
+ type?: 'label' | 'separator' | 'item';
25
+ disabled?: boolean;
26
+ onSelect?(e?: Event): void;
27
+ class?: any;
28
+ ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemLabel' | 'itemTrailing' | 'itemTrailingIcon'>;
29
+ [key: string]: any;
30
+ };
31
+ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover' | 'openOnClick' | 'openOnFocus'>, UseComponentIconsProps {
32
+ /**
33
+ * The element or component this component should render as.
34
+ * @defaultValue 'div'
35
+ */
36
+ as?: any;
37
+ id?: string;
38
+ type?: InputHTMLAttributes['type'];
39
+ /** The placeholder text when the input is empty. */
40
+ placeholder?: string;
41
+ /**
42
+ * @defaultValue 'primary'
43
+ */
44
+ color?: InputMenu['variants']['color'];
45
+ /**
46
+ * @defaultValue 'outline'
47
+ */
48
+ variant?: InputMenu['variants']['variant'];
49
+ /**
50
+ * @defaultValue 'md'
51
+ */
52
+ size?: InputMenu['variants']['size'];
53
+ required?: boolean;
54
+ autofocus?: boolean;
55
+ autofocusDelay?: number;
56
+ /**
57
+ * The icon displayed to open the menu.
58
+ * @defaultValue appConfig.ui.icons.chevronDown
59
+ * @IconifyIcon
60
+ */
61
+ trailingIcon?: IconProps['name'];
62
+ /**
63
+ * The icon displayed when an item is selected.
64
+ * @defaultValue appConfig.ui.icons.check
65
+ * @IconifyIcon
66
+ */
67
+ selectedIcon?: IconProps['name'];
68
+ /**
69
+ * The icon displayed to delete a tag.
70
+ * Works only when `multiple` is `true`.
71
+ * @defaultValue appConfig.ui.icons.close
72
+ * @IconifyIcon
73
+ */
74
+ deleteIcon?: IconProps['name'];
75
+ /**
76
+ * The content of the menu.
77
+ * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
78
+ */
79
+ content?: Omit<ComboboxContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<ComboboxContentEmits>>;
80
+ /**
81
+ * Display an arrow alongside the menu.
82
+ * @defaultValue false
83
+ */
84
+ arrow?: boolean | Omit<ComboboxArrowProps, 'as' | 'asChild'>;
85
+ /**
86
+ * Render the menu in a portal.
87
+ * @defaultValue true
88
+ */
89
+ portal?: boolean | string | HTMLElement;
90
+ /**
91
+ * When `items` is an array of objects, select the field to use as the value instead of the object itself.
92
+ * @defaultValue undefined
93
+ */
94
+ valueKey?: VK;
95
+ /**
96
+ * When `items` is an array of objects, select the field to use as the label.
97
+ * @defaultValue 'label'
98
+ */
99
+ labelKey?: GetItemKeys<T>;
100
+ items?: T;
101
+ /** The value of the InputMenu when initially rendered. Use when you do not need to control the state of the InputMenu. */
102
+ defaultValue?: GetModelValue<T, VK, M>;
103
+ /** The controlled value of the InputMenu. Can be binded-with with `v-model`. */
104
+ modelValue?: GetModelValue<T, VK, M>;
105
+ /** Whether multiple options can be selected or not. */
106
+ multiple?: M & boolean;
107
+ /** Highlight the ring color like a focus state. */
108
+ highlight?: boolean;
109
+ /**
110
+ * Determines if custom user input that does not exist in options can be added.
111
+ * @defaultValue false
112
+ */
113
+ createItem?: boolean | 'always' | {
114
+ position?: 'top' | 'bottom';
115
+ when?: 'empty' | 'always';
116
+ };
117
+ /**
118
+ * Fields to filter items by.
119
+ * @defaultValue [labelKey]
120
+ */
121
+ filterFields?: string[];
122
+ /**
123
+ * When `true`, disable the default filters, useful for custom filtering (useAsyncData, useFetch, etc.).
124
+ * @defaultValue false
125
+ */
126
+ ignoreFilter?: boolean;
127
+ class?: any;
128
+ ui?: InputMenu['slots'];
129
+ }
130
+ export type InputMenuEmits<A extends ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined, M extends boolean> = Pick<ComboboxRootEmits, 'update:open'> & {
131
+ 'change': [event: Event];
132
+ 'blur': [event: FocusEvent];
133
+ 'focus': [event: FocusEvent];
134
+ 'create': [item: string];
135
+ /** Event handler when highlighted element changes. */
136
+ 'highlight': [
137
+ payload: {
138
+ ref: HTMLElement;
139
+ value: GetModelValue<A, VK, M>;
140
+ } | undefined
141
+ ];
142
+ 'remove-tag': [item: GetModelValue<A, VK, M>];
143
+ } & GetModelValueEmits<A, VK, M>;
144
+ type SlotProps<T extends InputMenuItem> = (props: {
145
+ item: T;
146
+ index: number;
147
+ }) => any;
148
+ export interface InputMenuSlots<A extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
149
+ 'leading'(props: {
150
+ modelValue?: GetModelValue<A, VK, M>;
151
+ open: boolean;
152
+ ui: {
153
+ [K in keyof Required<InputMenu['slots']>]: (props?: Record<string, any>) => string;
154
+ };
155
+ }): any;
156
+ 'trailing'(props: {
157
+ modelValue?: GetModelValue<A, VK, M>;
158
+ open: boolean;
159
+ ui: {
160
+ [K in keyof Required<InputMenu['slots']>]: (props?: Record<string, any>) => string;
161
+ };
162
+ }): any;
163
+ 'empty'(props: {
164
+ searchTerm?: string;
165
+ }): any;
166
+ 'item': SlotProps<T>;
167
+ 'item-leading': SlotProps<T>;
168
+ 'item-label': SlotProps<T>;
169
+ 'item-trailing': SlotProps<T>;
170
+ 'tags-item-text': SlotProps<T>;
171
+ 'tags-item-delete': SlotProps<T>;
172
+ 'content-top': (props?: {}) => any;
173
+ 'content-bottom': (props?: {}) => any;
174
+ 'create-item-label'(props: {
175
+ item: string;
176
+ }): any;
177
+ }
178
+ declare const _default: <T extends ArrayOrNested<InputMenuItem>, 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<{
179
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
180
+ readonly onBlur?: ((event: FocusEvent) => any) | undefined;
181
+ readonly onChange?: ((event: Event) => any) | undefined;
182
+ readonly onFocus?: ((event: FocusEvent) => any) | undefined;
183
+ readonly onCreate?: ((item: string) => any) | undefined;
184
+ readonly "onUpdate:open"?: ((value: boolean) => any) | undefined;
185
+ readonly "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
186
+ readonly onHighlight?: ((payload: {
187
+ ref: HTMLElement;
188
+ value: GetModelValue<T, VK, M>;
189
+ } | undefined) => any) | undefined;
190
+ readonly "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
191
+ readonly "onRemove-tag"?: ((item: GetModelValue<T, VK, M>) => any) | undefined;
192
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onFocus" | "onBlur" | "onChange" | "onUpdate:open" | "onUpdate:modelValue" | "onCreate" | "onHighlight" | "onUpdate:searchTerm" | "onRemove-tag"> & (InputMenuProps<T, VK, M> & {
193
+ searchTerm?: string;
194
+ }) & {}> & import("vue").PublicProps;
195
+ expose(exposed: import("vue").ShallowUnwrapRef<{
196
+ inputRef: import("vue").Ref<({
197
+ $: import("vue").ComponentInternalInstance;
198
+ $data: {};
199
+ $props: {
200
+ readonly displayValue?: ((val: any) => string) | undefined;
201
+ readonly modelValue?: string | undefined;
202
+ readonly autoFocus?: boolean | undefined;
203
+ readonly disabled?: boolean | undefined;
204
+ readonly asChild?: boolean | undefined;
205
+ readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
206
+ readonly "onUpdate:modelValue"?: ((args_0: string) => any) | undefined | undefined;
207
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
208
+ $attrs: {
209
+ [x: string]: unknown;
210
+ };
211
+ $refs: {
212
+ [x: string]: unknown;
213
+ };
214
+ $slots: Readonly<{
215
+ [name: string]: import("vue").Slot<any> | undefined;
216
+ }>;
217
+ $root: import("vue").ComponentPublicInstance | null;
218
+ $parent: import("vue").ComponentPublicInstance | null;
219
+ $host: Element | null;
220
+ $emit: (event: "update:modelValue", args_0: string) => void;
221
+ $el: any;
222
+ $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").ComboboxInputProps> & Readonly<{
223
+ "onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
224
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
225
+ "update:modelValue": (args_0: string) => any;
226
+ }, string, {
227
+ as: import("reka-ui").AsTag | import("vue").Component;
228
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
229
+ beforeCreate?: (() => void) | (() => void)[];
230
+ created?: (() => void) | (() => void)[];
231
+ beforeMount?: (() => void) | (() => void)[];
232
+ mounted?: (() => void) | (() => void)[];
233
+ beforeUpdate?: (() => void) | (() => void)[];
234
+ updated?: (() => void) | (() => void)[];
235
+ activated?: (() => void) | (() => void)[];
236
+ deactivated?: (() => void) | (() => void)[];
237
+ beforeDestroy?: (() => void) | (() => void)[];
238
+ beforeUnmount?: (() => void) | (() => void)[];
239
+ destroyed?: (() => void) | (() => void)[];
240
+ unmounted?: (() => void) | (() => void)[];
241
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
242
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
243
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
244
+ };
245
+ $forceUpdate: () => void;
246
+ $nextTick: typeof nextTick;
247
+ $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;
248
+ } & Readonly<{
249
+ as: import("reka-ui").AsTag | import("vue").Component;
250
+ }> & Omit<Readonly<import("reka-ui").ComboboxInputProps> & Readonly<{
251
+ "onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
252
+ }>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
253
+ $slots: {
254
+ default?: (props: {}) => any;
255
+ };
256
+ }) | null, ({
257
+ $: import("vue").ComponentInternalInstance;
258
+ $data: {};
259
+ $props: {
260
+ readonly displayValue?: ((val: any) => string) | undefined;
261
+ readonly modelValue?: string | undefined;
262
+ readonly autoFocus?: boolean | undefined;
263
+ readonly disabled?: boolean | undefined;
264
+ readonly asChild?: boolean | undefined;
265
+ readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
266
+ readonly "onUpdate:modelValue"?: ((args_0: string) => any) | undefined | undefined;
267
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
268
+ $attrs: {
269
+ [x: string]: unknown;
270
+ };
271
+ $refs: {
272
+ [x: string]: unknown;
273
+ };
274
+ $slots: Readonly<{
275
+ [name: string]: import("vue").Slot<any> | undefined;
276
+ }>;
277
+ $root: import("vue").ComponentPublicInstance | null;
278
+ $parent: import("vue").ComponentPublicInstance | null;
279
+ $host: Element | null;
280
+ $emit: (event: "update:modelValue", args_0: string) => void;
281
+ $el: any;
282
+ $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").ComboboxInputProps> & Readonly<{
283
+ "onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
284
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
285
+ "update:modelValue": (args_0: string) => any;
286
+ }, string, {
287
+ as: import("reka-ui").AsTag | import("vue").Component;
288
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
289
+ beforeCreate?: (() => void) | (() => void)[];
290
+ created?: (() => void) | (() => void)[];
291
+ beforeMount?: (() => void) | (() => void)[];
292
+ mounted?: (() => void) | (() => void)[];
293
+ beforeUpdate?: (() => void) | (() => void)[];
294
+ updated?: (() => void) | (() => void)[];
295
+ activated?: (() => void) | (() => void)[];
296
+ deactivated?: (() => void) | (() => void)[];
297
+ beforeDestroy?: (() => void) | (() => void)[];
298
+ beforeUnmount?: (() => void) | (() => void)[];
299
+ destroyed?: (() => void) | (() => void)[];
300
+ unmounted?: (() => void) | (() => void)[];
301
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
302
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
303
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
304
+ };
305
+ $forceUpdate: () => void;
306
+ $nextTick: typeof nextTick;
307
+ $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;
308
+ } & Readonly<{
309
+ as: import("reka-ui").AsTag | import("vue").Component;
310
+ }> & Omit<Readonly<import("reka-ui").ComboboxInputProps> & Readonly<{
311
+ "onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
312
+ }>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
313
+ $slots: {
314
+ default?: (props: {}) => any;
315
+ };
316
+ }) | null>;
317
+ }>): void;
318
+ attrs: any;
319
+ slots: InputMenuSlots<T, VK, M, NestedItem<T>>;
320
+ 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: {
321
+ ref: HTMLElement;
322
+ value: GetModelValue<T, VK, M>;
323
+ } | undefined) => void) & ((evt: "remove-tag", item: GetModelValue<T, VK, M>) => void)) & ((evt: "update:searchTerm", value: string) => void);
324
+ }>) => import("vue").VNode & {
325
+ __ctx?: Awaited<typeof __VLS_setup>;
326
+ };
327
+ export default _default;
328
+ type __VLS_PrettifyLocal<T> = {
329
+ [K in keyof T as K]: T[K];
330
+ } & {};
@@ -92,6 +92,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.inputMenu ||
92
92
  multiple: props.multiple,
93
93
  fieldGroup: orientation.value
94
94
  }));
95
+ const items = computed(() => groups.value.flatMap((group) => group));
95
96
  function displayValue(value) {
96
97
  return getDisplayValue(items.value, value, {
97
98
  labelKey: props.labelKey,
@@ -101,7 +102,6 @@ function displayValue(value) {
101
102
  const groups = computed(
102
103
  () => props.items?.length ? isArrayOfArray(props.items) ? props.items : [props.items] : []
103
104
  );
104
- const items = computed(() => groups.value.flatMap((group) => group));
105
105
  const filteredGroups = computed(() => {
106
106
  if (props.ignoreFilter || !searchTerm.value) {
107
107
  return groups.value;
@@ -259,7 +259,7 @@ defineExpose({
259
259
  @focus="onFocus"
260
260
  @remove-tag="onRemoveTag"
261
261
  >
262
- <TagsInputItem v-for="(item, index) in tags" :key="index" :value="item" :class="ui.tagsItem({ class: [props.ui?.tagsItem, isInputItem(item) && item.ui?.tagsItem] })">
262
+ <TagsInputItem v-for="(item, index) in tags" :key="index" :value="isInputItem(item) ? item : String(item)" :class="ui.tagsItem({ class: [props.ui?.tagsItem, isInputItem(item) && item.ui?.tagsItem] })">
263
263
  <TagsInputItemText :class="ui.tagsItemText({ class: [props.ui?.tagsItemText, isInputItem(item) && item.ui?.tagsItemText] })">
264
264
  <slot name="tags-item-text" :item="item" :index="index">
265
265
  {{ displayValue(item) }}
@@ -8,7 +8,8 @@ import type { AvatarProps, ChipProps, IconProps } from '../types';
8
8
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
9
9
  import type { ComponentConfig } from '../types/tv';
10
10
  type InputMenu = ComponentConfig<typeof theme, AppConfig, 'inputMenu'>;
11
- interface _InputMenuItem {
11
+ export type InputMenuValue = AcceptableValue;
12
+ export type InputMenuItem = InputMenuValue | {
12
13
  label?: string;
13
14
  /**
14
15
  * @IconifyIcon
@@ -26,8 +27,7 @@ interface _InputMenuItem {
26
27
  class?: any;
27
28
  ui?: Pick<InputMenu['slots'], 'tagsItem' | 'tagsItemText' | 'tagsItemDelete' | 'tagsItemDeleteIcon' | 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChip' | 'itemLeadingChipSize' | 'itemLabel' | 'itemTrailing' | 'itemTrailingIcon'>;
28
29
  [key: string]: any;
29
- }
30
- export type InputMenuItem = _InputMenuItem | AcceptableValue | boolean;
30
+ };
31
31
  export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOrNested<InputMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover' | 'openOnClick' | 'openOnFocus'>, UseComponentIconsProps {
32
32
  /**
33
33
  * The element or component this component should render as.
@@ -96,7 +96,7 @@ export interface InputMenuProps<T extends ArrayOrNested<InputMenuItem> = ArrayOr
96
96
  * When `items` is an array of objects, select the field to use as the label.
97
97
  * @defaultValue 'label'
98
98
  */
99
- labelKey?: keyof NestedItem<T>;
99
+ labelKey?: GetItemKeys<T>;
100
100
  items?: T;
101
101
  /** The value of the InputMenu when initially rendered. Use when you do not need to control the state of the InputMenu. */
102
102
  defaultValue?: GetModelValue<T, VK, M>;
@@ -0,0 +1,188 @@
1
+ import type { NumberFieldRootProps } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/ui/input-number';
4
+ import type { ButtonProps, IconProps } from '../types';
5
+ import type { ModelModifiers } from '../types/input';
6
+ import type { ComponentConfig } from '../types/tv';
7
+ type InputNumber = ComponentConfig<typeof theme, AppConfig, 'inputNumber'>;
8
+ export interface InputNumberProps extends Pick<NumberFieldRootProps, 'modelValue' | 'defaultValue' | 'min' | 'max' | 'step' | 'stepSnapping' | 'disabled' | 'required' | 'id' | 'name' | 'formatOptions' | 'disableWheelChange' | 'invertWheelChange' | 'readonly'> {
9
+ /**
10
+ * The element or component this component should render as.
11
+ * @defaultValue 'div'
12
+ */
13
+ as?: any;
14
+ /** The placeholder text when the input is empty. */
15
+ placeholder?: string;
16
+ color?: InputNumber['variants']['color'];
17
+ variant?: InputNumber['variants']['variant'];
18
+ size?: InputNumber['variants']['size'];
19
+ /** Highlight the ring color like a focus state. */
20
+ highlight?: boolean;
21
+ /**
22
+ * The orientation of the input menu.
23
+ * @defaultValue 'horizontal'
24
+ */
25
+ orientation?: 'vertical' | 'horizontal';
26
+ /**
27
+ * Configure the increment button. The `color` and `size` are inherited.
28
+ * @defaultValue { variant: 'link' }
29
+ */
30
+ increment?: ButtonProps;
31
+ /**
32
+ * The icon displayed to increment the value.
33
+ * @defaultValue appConfig.ui.icons.plus
34
+ * @IconifyIcon
35
+ */
36
+ incrementIcon?: IconProps['name'];
37
+ /** Disable the increment button. */
38
+ incrementDisabled?: boolean;
39
+ /**
40
+ * Configure the decrement button. The `color` and `size` are inherited.
41
+ * @defaultValue { variant: 'link' }
42
+ */
43
+ decrement?: ButtonProps;
44
+ /**
45
+ * The icon displayed to decrement the value.
46
+ * @defaultValue appConfig.ui.icons.minus
47
+ * @IconifyIcon
48
+ */
49
+ decrementIcon?: IconProps['name'];
50
+ /** Disable the decrement button. */
51
+ decrementDisabled?: boolean;
52
+ autofocus?: boolean;
53
+ autofocusDelay?: number;
54
+ modelModifiers?: Pick<ModelModifiers, 'optional'>;
55
+ /**
56
+ * The locale to use for formatting and parsing numbers.
57
+ * @defaultValue UApp.locale.code
58
+ */
59
+ locale?: string;
60
+ class?: any;
61
+ ui?: InputNumber['slots'];
62
+ }
63
+ export interface InputNumberEmits {
64
+ 'update:modelValue': [value: number];
65
+ 'blur': [event: FocusEvent];
66
+ 'change': [event: Event];
67
+ }
68
+ export interface InputNumberSlots {
69
+ increment(props?: {}): any;
70
+ decrement(props?: {}): any;
71
+ }
72
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InputNumberProps, {
73
+ inputRef: import("vue").Ref<({
74
+ $: import("vue").ComponentInternalInstance;
75
+ $data: {};
76
+ $props: {
77
+ readonly asChild?: boolean | undefined;
78
+ readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
79
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
80
+ $attrs: {
81
+ [x: string]: unknown;
82
+ };
83
+ $refs: {
84
+ [x: string]: unknown;
85
+ };
86
+ $slots: Readonly<{
87
+ [name: string]: import("vue").Slot<any> | undefined;
88
+ }>;
89
+ $root: import("vue").ComponentPublicInstance | null;
90
+ $parent: import("vue").ComponentPublicInstance | null;
91
+ $host: Element | null;
92
+ $emit: (event: string, ...args: any[]) => void;
93
+ $el: any;
94
+ $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").NumberFieldInputProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
95
+ as: import("reka-ui").AsTag | import("vue").Component;
96
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
97
+ beforeCreate?: (() => void) | (() => void)[];
98
+ created?: (() => void) | (() => void)[];
99
+ beforeMount?: (() => void) | (() => void)[];
100
+ mounted?: (() => void) | (() => void)[];
101
+ beforeUpdate?: (() => void) | (() => void)[];
102
+ updated?: (() => void) | (() => void)[];
103
+ activated?: (() => void) | (() => void)[];
104
+ deactivated?: (() => void) | (() => void)[];
105
+ beforeDestroy?: (() => void) | (() => void)[];
106
+ beforeUnmount?: (() => void) | (() => void)[];
107
+ destroyed?: (() => void) | (() => void)[];
108
+ unmounted?: (() => void) | (() => void)[];
109
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
110
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
111
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
112
+ };
113
+ $forceUpdate: () => void;
114
+ $nextTick: typeof import("vue").nextTick;
115
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T 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;
116
+ } & Readonly<{
117
+ as: import("reka-ui").AsTag | import("vue").Component;
118
+ }> & Omit<Readonly<import("reka-ui").NumberFieldInputProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
119
+ $slots: {
120
+ default?: (props: {}) => any;
121
+ };
122
+ }) | null, ({
123
+ $: import("vue").ComponentInternalInstance;
124
+ $data: {};
125
+ $props: {
126
+ readonly asChild?: boolean | undefined;
127
+ readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
128
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
129
+ $attrs: {
130
+ [x: string]: unknown;
131
+ };
132
+ $refs: {
133
+ [x: string]: unknown;
134
+ };
135
+ $slots: Readonly<{
136
+ [name: string]: import("vue").Slot<any> | undefined;
137
+ }>;
138
+ $root: import("vue").ComponentPublicInstance | null;
139
+ $parent: import("vue").ComponentPublicInstance | null;
140
+ $host: Element | null;
141
+ $emit: (event: string, ...args: any[]) => void;
142
+ $el: any;
143
+ $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").NumberFieldInputProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
144
+ as: import("reka-ui").AsTag | import("vue").Component;
145
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
146
+ beforeCreate?: (() => void) | (() => void)[];
147
+ created?: (() => void) | (() => void)[];
148
+ beforeMount?: (() => void) | (() => void)[];
149
+ mounted?: (() => void) | (() => void)[];
150
+ beforeUpdate?: (() => void) | (() => void)[];
151
+ updated?: (() => void) | (() => void)[];
152
+ activated?: (() => void) | (() => void)[];
153
+ deactivated?: (() => void) | (() => void)[];
154
+ beforeDestroy?: (() => void) | (() => void)[];
155
+ beforeUnmount?: (() => void) | (() => void)[];
156
+ destroyed?: (() => void) | (() => void)[];
157
+ unmounted?: (() => void) | (() => void)[];
158
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
159
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
160
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
161
+ };
162
+ $forceUpdate: () => void;
163
+ $nextTick: typeof import("vue").nextTick;
164
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T 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;
165
+ } & Readonly<{
166
+ as: import("reka-ui").AsTag | import("vue").Component;
167
+ }> & Omit<Readonly<import("reka-ui").NumberFieldInputProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
168
+ $slots: {
169
+ default?: (props: {}) => any;
170
+ };
171
+ }) | null>;
172
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
173
+ blur: (event: FocusEvent) => any;
174
+ change: (event: Event) => any;
175
+ "update:modelValue": (value: number) => any;
176
+ }, string, import("vue").PublicProps, Readonly<InputNumberProps> & Readonly<{
177
+ onBlur?: ((event: FocusEvent) => any) | undefined;
178
+ onChange?: ((event: Event) => any) | undefined;
179
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
180
+ }>, {
181
+ orientation: "vertical" | "horizontal";
182
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, InputNumberSlots>;
183
+ export default _default;
184
+ type __VLS_WithSlots<T, S> = T & {
185
+ new (): {
186
+ $slots: S;
187
+ };
188
+ };
@@ -29,12 +29,12 @@ const props = defineProps({
29
29
  decrementDisabled: { type: Boolean, required: false },
30
30
  autofocus: { type: Boolean, required: false },
31
31
  autofocusDelay: { type: Number, required: false },
32
- modelValue: { type: Number, required: false },
33
- defaultValue: { type: Number, required: false },
34
32
  modelModifiers: { type: Object, required: false },
35
33
  locale: { type: String, required: false },
36
34
  class: { type: null, required: false },
37
35
  ui: { type: null, required: false },
36
+ modelValue: { type: [Number, null], required: false },
37
+ defaultValue: { type: Number, required: false },
38
38
  min: { type: Number, required: false },
39
39
  max: { type: Number, required: false },
40
40
  step: { type: Number, required: false },
@@ -51,8 +51,6 @@ export interface InputNumberProps extends Pick<NumberFieldRootProps, 'modelValue
51
51
  decrementDisabled?: boolean;
52
52
  autofocus?: boolean;
53
53
  autofocusDelay?: number;
54
- modelValue?: number;
55
- defaultValue?: number;
56
54
  modelModifiers?: Pick<ModelModifiers, 'optional'>;
57
55
  /**
58
56
  * The locale to use for formatting and parsing numbers.