@bitrix24/b24ui-nuxt 2.0.9 → 2.1.1

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 (143) hide show
  1. package/dist/meta.d.mts +79556 -44766
  2. package/dist/meta.mjs +79556 -44766
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +3 -3
  5. package/dist/runtime/components/App.d.vue.ts +1 -1
  6. package/dist/runtime/components/App.vue +2 -1
  7. package/dist/runtime/components/App.vue.d.ts +1 -1
  8. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  9. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  10. package/dist/runtime/components/Button.vue +1 -0
  11. package/dist/runtime/components/Calendar.vue +1 -3
  12. package/dist/runtime/components/ChatPrompt.d.vue.ts +2 -2
  13. package/dist/runtime/components/ChatPrompt.vue +5 -5
  14. package/dist/runtime/components/ChatPrompt.vue.d.ts +2 -2
  15. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +5 -5
  16. package/dist/runtime/components/ChatPromptSubmit.vue +53 -4
  17. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +5 -5
  18. package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
  19. package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
  20. package/dist/runtime/components/CommandPalette.vue +5 -4
  21. package/dist/runtime/components/DashboardSearch.d.vue.ts +3 -6
  22. package/dist/runtime/components/DashboardSearch.vue +2 -3
  23. package/dist/runtime/components/DashboardSearch.vue.d.ts +3 -6
  24. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
  25. package/dist/runtime/components/DashboardSearchButton.vue +44 -6
  26. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
  27. package/dist/runtime/components/Error.d.vue.ts +1 -1
  28. package/dist/runtime/components/Error.vue.d.ts +1 -1
  29. package/dist/runtime/components/FileUpload.d.vue.ts +3 -2
  30. package/dist/runtime/components/FileUpload.vue +9 -9
  31. package/dist/runtime/components/FileUpload.vue.d.ts +3 -2
  32. package/dist/runtime/components/Form.d.vue.ts +2 -1
  33. package/dist/runtime/components/Form.vue.d.ts +2 -1
  34. package/dist/runtime/components/Input.d.vue.ts +7 -7
  35. package/dist/runtime/components/Input.vue +2 -2
  36. package/dist/runtime/components/Input.vue.d.ts +7 -7
  37. package/dist/runtime/components/InputDate.d.vue.ts +110 -0
  38. package/dist/runtime/components/InputDate.vue +192 -0
  39. package/dist/runtime/components/InputDate.vue.d.ts +110 -0
  40. package/dist/runtime/components/InputMenu.d.vue.ts +7 -128
  41. package/dist/runtime/components/InputMenu.vue +3 -3
  42. package/dist/runtime/components/InputMenu.vue.d.ts +7 -128
  43. package/dist/runtime/components/InputNumber.d.vue.ts +25 -129
  44. package/dist/runtime/components/InputNumber.vue +4 -7
  45. package/dist/runtime/components/InputNumber.vue.d.ts +25 -129
  46. package/dist/runtime/components/InputTags.d.vue.ts +6 -109
  47. package/dist/runtime/components/InputTags.vue +8 -8
  48. package/dist/runtime/components/InputTags.vue.d.ts +6 -109
  49. package/dist/runtime/components/InputTime.d.vue.ts +94 -0
  50. package/dist/runtime/components/InputTime.vue +164 -0
  51. package/dist/runtime/components/InputTime.vue.d.ts +94 -0
  52. package/dist/runtime/components/Link.d.vue.ts +4 -49
  53. package/dist/runtime/components/Link.vue +1 -0
  54. package/dist/runtime/components/Link.vue.d.ts +4 -49
  55. package/dist/runtime/components/Modal.d.vue.ts +1 -1
  56. package/dist/runtime/components/Modal.vue.d.ts +1 -1
  57. package/dist/runtime/components/Pagination.d.vue.ts +2 -2
  58. package/dist/runtime/components/Pagination.vue.d.ts +2 -2
  59. package/dist/runtime/components/PinInput.d.vue.ts +3 -3
  60. package/dist/runtime/components/PinInput.vue.d.ts +3 -3
  61. package/dist/runtime/components/Progress.d.vue.ts +1 -1
  62. package/dist/runtime/components/Progress.vue.d.ts +1 -1
  63. package/dist/runtime/components/Select.d.vue.ts +6 -107
  64. package/dist/runtime/components/Select.vue +3 -3
  65. package/dist/runtime/components/Select.vue.d.ts +6 -107
  66. package/dist/runtime/components/SelectMenu.d.vue.ts +7 -106
  67. package/dist/runtime/components/SelectMenu.vue +3 -3
  68. package/dist/runtime/components/SelectMenu.vue.d.ts +7 -106
  69. package/dist/runtime/components/Slideover.d.vue.ts +1 -1
  70. package/dist/runtime/components/Slideover.vue.d.ts +1 -1
  71. package/dist/runtime/components/Switch.d.vue.ts +2 -1
  72. package/dist/runtime/components/Switch.vue.d.ts +2 -1
  73. package/dist/runtime/components/Table.d.vue.ts +5 -4
  74. package/dist/runtime/components/Table.vue +4 -3
  75. package/dist/runtime/components/Table.vue.d.ts +5 -4
  76. package/dist/runtime/components/Textarea.d.vue.ts +7 -6
  77. package/dist/runtime/components/Textarea.vue +2 -2
  78. package/dist/runtime/components/Textarea.vue.d.ts +7 -6
  79. package/dist/runtime/components/Toast.vue +5 -5
  80. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  81. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  82. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
  83. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
  84. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
  85. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -3
  86. package/dist/runtime/components/color-mode/ColorModeButton.vue +54 -6
  87. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -3
  88. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
  89. package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
  90. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
  91. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  92. package/dist/runtime/components/color-mode/ColorModeSelect.vue +47 -5
  93. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  94. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
  95. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
  96. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
  97. package/dist/runtime/components/content/ContentSearch.d.vue.ts +3 -6
  98. package/dist/runtime/components/content/ContentSearch.vue +2 -3
  99. package/dist/runtime/components/content/ContentSearch.vue.d.ts +3 -6
  100. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
  101. package/dist/runtime/components/content/ContentSearchButton.vue +43 -5
  102. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
  103. package/dist/runtime/components/content/ContentSurround.vue +7 -1
  104. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +11 -7
  105. package/dist/runtime/components/locale/LocaleSelect.vue +50 -6
  106. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +11 -7
  107. package/dist/runtime/components/prose/Callout.vue +4 -0
  108. package/dist/runtime/composables/index.d.ts +8 -0
  109. package/dist/runtime/composables/index.js +8 -0
  110. package/dist/runtime/composables/useFileUpload.d.ts +2 -1
  111. package/dist/runtime/composables/useFileUpload.js +13 -4
  112. package/dist/runtime/inertia/components/Link.d.vue.ts +17 -10
  113. package/dist/runtime/inertia/components/Link.vue +8 -6
  114. package/dist/runtime/inertia/components/Link.vue.d.ts +17 -10
  115. package/dist/runtime/inertia/stubs.d.ts +1 -1
  116. package/dist/runtime/types/html.d.ts +8 -0
  117. package/dist/runtime/types/html.js +0 -0
  118. package/dist/runtime/types/index.d.ts +2 -0
  119. package/dist/runtime/types/index.js +2 -0
  120. package/dist/runtime/types/input.d.ts +5 -5
  121. package/dist/runtime/types/utils.d.ts +2 -0
  122. package/dist/runtime/utils/content.d.ts +2 -2
  123. package/dist/runtime/utils/dashboard.d.ts +1 -1
  124. package/dist/runtime/utils/link.d.ts +1 -0
  125. package/dist/runtime/utils/link.js +40 -24
  126. package/dist/runtime/vue/components/Link.d.vue.ts +8 -37
  127. package/dist/runtime/vue/components/Link.vue +6 -11
  128. package/dist/runtime/vue/components/Link.vue.d.ts +8 -37
  129. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +2 -2
  130. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +55 -5
  131. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +2 -2
  132. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  133. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +46 -3
  134. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  135. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  136. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
  137. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  138. package/dist/runtime/vue/stubs.d.ts +2 -2
  139. package/dist/runtime/vue/stubs.js +1 -1
  140. package/dist/shared/{b24ui-nuxt.4XNR9Ysu.mjs → b24ui-nuxt.B13KxxqP.mjs} +137 -3
  141. package/dist/unplugin.mjs +1 -1
  142. package/dist/vite.mjs +1 -1
  143. package/package.json +24 -14
@@ -104,11 +104,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ModalP
104
104
  "onAfter:enter"?: (() => any) | undefined;
105
105
  "onClose:prevent"?: (() => any) | undefined;
106
106
  }>, {
107
+ overlay: boolean;
107
108
  close: boolean | Partial<ButtonProps>;
108
109
  transition: boolean;
109
110
  modal: boolean;
110
111
  portal: boolean | string | HTMLElement;
111
- overlay: boolean;
112
112
  overlayBlur: Modal["variants"]["overlayBlur"];
113
113
  dismissible: boolean;
114
114
  scrollbarThin: boolean;
@@ -92,8 +92,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Pagina
92
92
  }, string, import("vue").PublicProps, Readonly<PaginationProps> & Readonly<{
93
93
  "onUpdate:page"?: ((value: number) => any) | undefined;
94
94
  }>, {
95
- color: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "default" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
96
- activeColor: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "default" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
95
+ color: "default" | "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
96
+ activeColor: "default" | "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
97
97
  itemsPerPage: number;
98
98
  showEdges: boolean;
99
99
  siblingCount: number;
@@ -92,8 +92,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Pagina
92
92
  }, string, import("vue").PublicProps, Readonly<PaginationProps> & Readonly<{
93
93
  "onUpdate:page"?: ((value: number) => any) | undefined;
94
94
  }>, {
95
- color: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "default" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
96
- activeColor: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "default" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
95
+ color: "default" | "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
96
+ activeColor: "default" | "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
97
97
  itemsPerPage: number;
98
98
  showEdges: boolean;
99
99
  siblingCount: number;
@@ -25,7 +25,7 @@ export interface PinInputProps<T extends PinInputType = 'text'> extends Pick<Pin
25
25
  */
26
26
  underline?: boolean;
27
27
  /**
28
- * Rounds the corners of the button
28
+ * Rounds the corners of the input
29
29
  * @defaultValue false
30
30
  */
31
31
  rounded?: boolean;
@@ -51,8 +51,8 @@ export type PinInputEmits<T extends PinInputType = 'text'> = PinInputRootEmits<T
51
51
  };
52
52
  declare const __VLS_export: <T extends PinInputType>(__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<{
53
53
  props: __VLS_PrettifyLocal<PinInputProps<T> & {
54
- onBlur?: ((event: Event) => any) | undefined;
55
54
  onChange?: ((event: Event) => any) | undefined;
55
+ onBlur?: ((event: Event) => any) | undefined;
56
56
  "onUpdate:modelValue"?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
57
57
  onComplete?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
58
58
  }> & import("vue").PublicProps;
@@ -61,7 +61,7 @@ declare const __VLS_export: <T extends PinInputType>(__VLS_props: NonNullable<Aw
61
61
  }>) => void;
62
62
  attrs: any;
63
63
  slots: {};
64
- emit: ((evt: "blur", event: Event) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: [T] extends ["number"] ? number[] : string[]) => void) & ((evt: "complete", value: [T] extends ["number"] ? number[] : string[]) => void);
64
+ emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: Event) => void) & ((evt: "update:modelValue", value: [T] extends ["number"] ? number[] : string[]) => void) & ((evt: "complete", value: [T] extends ["number"] ? number[] : string[]) => void);
65
65
  }>) => import("vue").VNode & {
66
66
  __ctx?: Awaited<typeof __VLS_setup>;
67
67
  };
@@ -25,7 +25,7 @@ export interface PinInputProps<T extends PinInputType = 'text'> extends Pick<Pin
25
25
  */
26
26
  underline?: boolean;
27
27
  /**
28
- * Rounds the corners of the button
28
+ * Rounds the corners of the input
29
29
  * @defaultValue false
30
30
  */
31
31
  rounded?: boolean;
@@ -51,8 +51,8 @@ export type PinInputEmits<T extends PinInputType = 'text'> = PinInputRootEmits<T
51
51
  };
52
52
  declare const __VLS_export: <T extends PinInputType>(__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<{
53
53
  props: __VLS_PrettifyLocal<PinInputProps<T> & {
54
- onBlur?: ((event: Event) => any) | undefined;
55
54
  onChange?: ((event: Event) => any) | undefined;
55
+ onBlur?: ((event: Event) => any) | undefined;
56
56
  "onUpdate:modelValue"?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
57
57
  onComplete?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
58
58
  }> & import("vue").PublicProps;
@@ -61,7 +61,7 @@ declare const __VLS_export: <T extends PinInputType>(__VLS_props: NonNullable<Aw
61
61
  }>) => void;
62
62
  attrs: any;
63
63
  slots: {};
64
- emit: ((evt: "blur", event: Event) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: [T] extends ["number"] ? number[] : string[]) => void) & ((evt: "complete", value: [T] extends ["number"] ? number[] : string[]) => void);
64
+ emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: Event) => void) & ((evt: "update:modelValue", value: [T] extends ["number"] ? number[] : string[]) => void) & ((evt: "complete", value: [T] extends ["number"] ? number[] : string[]) => void);
65
65
  }>) => import("vue").VNode & {
66
66
  __ctx?: Awaited<typeof __VLS_setup>;
67
67
  };
@@ -60,9 +60,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Progre
60
60
  "onUpdate:modelValue"?: ((value: string[] | undefined) => any) | undefined;
61
61
  "onUpdate:max"?: ((value: number) => any) | undefined;
62
62
  }>, {
63
+ modelValue: number | null;
63
64
  inverted: boolean;
64
65
  orientation: Progress["variants"]["orientation"];
65
- modelValue: number | null;
66
66
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ProgressSlots>;
67
67
  declare const _default: typeof __VLS_export;
68
68
  export default _default;
@@ -60,9 +60,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Progre
60
60
  "onUpdate:modelValue"?: ((value: string[] | undefined) => any) | undefined;
61
61
  "onUpdate:max"?: ((value: number) => any) | undefined;
62
62
  }>, {
63
+ modelValue: number | null;
63
64
  inverted: boolean;
64
65
  orientation: Progress["variants"]["orientation"];
65
- modelValue: number | null;
66
66
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ProgressSlots>;
67
67
  declare const _default: typeof __VLS_export;
68
68
  export default _default;
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/select';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, BadgeProps, IconComponent } from '../types';
6
+ import type { ButtonHTMLAttributes } from '../types/html';
6
7
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
7
8
  import type { ComponentConfig } from '../types/tv';
8
9
  type Select = ComponentConfig<typeof theme, AppConfig, 'select'>;
@@ -30,7 +31,7 @@ export type SelectItem = SelectValue | {
30
31
  b24ui?: Pick<Select['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
31
32
  [key: string]: any;
32
33
  };
33
- export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Omit<SelectRootProps<T>, 'dir' | 'multiple' | 'modelValue' | 'defaultValue' | 'by'>, UseComponentIconsProps {
34
+ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Omit<SelectRootProps<T>, 'dir' | 'multiple' | 'modelValue' | 'defaultValue' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
34
35
  id?: string;
35
36
  /** The placeholder text when the select is empty. */
36
37
  placeholder?: string;
@@ -58,7 +59,7 @@ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested
58
59
  */
59
60
  underline?: boolean;
60
61
  /**
61
- * Rounds the corners of the button
62
+ * Rounds the corners of the select
62
63
  * @defaultValue false
63
64
  */
64
65
  rounded?: boolean;
@@ -165,120 +166,18 @@ export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested
165
166
  }
166
167
  declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = "value", 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<{
167
168
  props: __VLS_PrettifyLocal<SelectProps<T, VK, M> & {
168
- onBlur?: ((event: FocusEvent) => any) | undefined;
169
169
  onChange?: ((event: Event) => any) | undefined;
170
+ onBlur?: ((event: FocusEvent) => any) | undefined;
170
171
  onFocus?: ((event: FocusEvent) => any) | undefined;
171
172
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
172
173
  "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
173
174
  }> & import("vue").PublicProps;
174
175
  expose: (exposed: import("vue").ShallowUnwrapRef<{
175
- triggerRef: import("vue").Ref<({
176
- $: import("vue").ComponentInternalInstance;
177
- $data: {};
178
- $props: {
179
- readonly disabled?: boolean | undefined;
180
- readonly reference?: import("reka-ui").ReferenceElement | undefined;
181
- readonly asChild?: boolean | undefined;
182
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
183
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
184
- $attrs: {
185
- [x: string]: unknown;
186
- };
187
- $refs: {
188
- [x: string]: unknown;
189
- };
190
- $slots: Readonly<{
191
- [name: string]: import("vue").Slot<any> | undefined;
192
- }>;
193
- $root: import("vue").ComponentPublicInstance | null;
194
- $parent: import("vue").ComponentPublicInstance | null;
195
- $host: Element | null;
196
- $emit: (event: string, ...args: any[]) => void;
197
- $el: any;
198
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
199
- as: import("reka-ui").AsTag | import("vue").Component;
200
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
201
- beforeCreate?: (() => void) | (() => void)[];
202
- created?: (() => void) | (() => void)[];
203
- beforeMount?: (() => void) | (() => void)[];
204
- mounted?: (() => void) | (() => void)[];
205
- beforeUpdate?: (() => void) | (() => void)[];
206
- updated?: (() => void) | (() => void)[];
207
- activated?: (() => void) | (() => void)[];
208
- deactivated?: (() => void) | (() => void)[];
209
- beforeDestroy?: (() => void) | (() => void)[];
210
- beforeUnmount?: (() => void) | (() => void)[];
211
- destroyed?: (() => void) | (() => void)[];
212
- unmounted?: (() => void) | (() => void)[];
213
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
214
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
215
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
216
- };
217
- $forceUpdate: () => void;
218
- $nextTick: typeof import("vue").nextTick;
219
- $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;
220
- } & Readonly<{
221
- as: import("reka-ui").AsTag | import("vue").Component;
222
- }> & Omit<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
223
- $slots: {
224
- default?: (props: {}) => any;
225
- };
226
- }) | null, ({
227
- $: import("vue").ComponentInternalInstance;
228
- $data: {};
229
- $props: {
230
- readonly disabled?: boolean | undefined;
231
- readonly reference?: import("reka-ui").ReferenceElement | undefined;
232
- readonly asChild?: boolean | undefined;
233
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
234
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
235
- $attrs: {
236
- [x: string]: unknown;
237
- };
238
- $refs: {
239
- [x: string]: unknown;
240
- };
241
- $slots: Readonly<{
242
- [name: string]: import("vue").Slot<any> | undefined;
243
- }>;
244
- $root: import("vue").ComponentPublicInstance | null;
245
- $parent: import("vue").ComponentPublicInstance | null;
246
- $host: Element | null;
247
- $emit: (event: string, ...args: any[]) => void;
248
- $el: any;
249
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
250
- as: import("reka-ui").AsTag | import("vue").Component;
251
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
252
- beforeCreate?: (() => void) | (() => void)[];
253
- created?: (() => void) | (() => void)[];
254
- beforeMount?: (() => void) | (() => void)[];
255
- mounted?: (() => void) | (() => void)[];
256
- beforeUpdate?: (() => void) | (() => void)[];
257
- updated?: (() => void) | (() => void)[];
258
- activated?: (() => void) | (() => void)[];
259
- deactivated?: (() => void) | (() => void)[];
260
- beforeDestroy?: (() => void) | (() => void)[];
261
- beforeUnmount?: (() => void) | (() => void)[];
262
- destroyed?: (() => void) | (() => void)[];
263
- unmounted?: (() => void) | (() => void)[];
264
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
265
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
266
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
267
- };
268
- $forceUpdate: () => void;
269
- $nextTick: typeof import("vue").nextTick;
270
- $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;
271
- } & Readonly<{
272
- as: import("reka-ui").AsTag | import("vue").Component;
273
- }> & Omit<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
274
- $slots: {
275
- default?: (props: {}) => any;
276
- };
277
- }) | null>;
176
+ triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
278
177
  }>) => void;
279
178
  attrs: any;
280
179
  slots: SelectSlots<T, VK, M, NestedItem<T>>;
281
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
180
+ emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
282
181
  }>) => import("vue").VNode & {
283
182
  __ctx?: Awaited<typeof __VLS_setup>;
284
183
  };
@@ -3,7 +3,7 @@ import theme from "#build/b24ui/select";
3
3
  </script>
4
4
 
5
5
  <script setup>
6
- import { ref, computed, onMounted, toRef } from "vue";
6
+ import { useTemplateRef, computed, onMounted, toRef } from "vue";
7
7
  import { Primitive, SelectRoot, SelectArrow, SelectTrigger, SelectPortal, SelectContent, SelectLabel, SelectGroup, SelectItem as RSelectItem, SelectItemIndicator, SelectItemText, SelectSeparator, useForwardPropsEmits } from "reka-ui";
8
8
  import { defu } from "defu";
9
9
  import { reactivePick } from "@vueuse/core";
@@ -105,7 +105,7 @@ function displayValue(value) {
105
105
  valueKey: props.valueKey
106
106
  });
107
107
  }
108
- const triggerRef = ref(null);
108
+ const triggerRef = useTemplateRef("triggerRef");
109
109
  function autoFocus() {
110
110
  if (props.autofocus) {
111
111
  triggerRef.value?.$el?.focus({
@@ -139,7 +139,7 @@ function isSelectItem(item) {
139
139
  return typeof item === "object" && item !== null;
140
140
  }
141
141
  defineExpose({
142
- triggerRef
142
+ triggerRef: toRef(() => triggerRef.value?.$el)
143
143
  });
144
144
  </script>
145
145
 
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/select';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, BadgeProps, IconComponent } from '../types';
6
+ import type { ButtonHTMLAttributes } from '../types/html';
6
7
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
7
8
  import type { ComponentConfig } from '../types/tv';
8
9
  type Select = ComponentConfig<typeof theme, AppConfig, 'select'>;
@@ -30,7 +31,7 @@ export type SelectItem = SelectValue | {
30
31
  b24ui?: Pick<Select['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
31
32
  [key: string]: any;
32
33
  };
33
- export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Omit<SelectRootProps<T>, 'dir' | 'multiple' | 'modelValue' | 'defaultValue' | 'by'>, UseComponentIconsProps {
34
+ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Omit<SelectRootProps<T>, 'dir' | 'multiple' | 'modelValue' | 'defaultValue' | 'by'>, UseComponentIconsProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
34
35
  id?: string;
35
36
  /** The placeholder text when the select is empty. */
36
37
  placeholder?: string;
@@ -58,7 +59,7 @@ export interface SelectProps<T extends ArrayOrNested<SelectItem> = ArrayOrNested
58
59
  */
59
60
  underline?: boolean;
60
61
  /**
61
- * Rounds the corners of the button
62
+ * Rounds the corners of the select
62
63
  * @defaultValue false
63
64
  */
64
65
  rounded?: boolean;
@@ -165,120 +166,18 @@ export interface SelectSlots<A extends ArrayOrNested<SelectItem> = ArrayOrNested
165
166
  }
166
167
  declare const __VLS_export: <T extends ArrayOrNested<SelectItem>, VK extends GetItemKeys<T> = "value", 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<{
167
168
  props: __VLS_PrettifyLocal<SelectProps<T, VK, M> & {
168
- onBlur?: ((event: FocusEvent) => any) | undefined;
169
169
  onChange?: ((event: Event) => any) | undefined;
170
+ onBlur?: ((event: FocusEvent) => any) | undefined;
170
171
  onFocus?: ((event: FocusEvent) => any) | undefined;
171
172
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
172
173
  "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
173
174
  }> & import("vue").PublicProps;
174
175
  expose: (exposed: import("vue").ShallowUnwrapRef<{
175
- triggerRef: import("vue").Ref<({
176
- $: import("vue").ComponentInternalInstance;
177
- $data: {};
178
- $props: {
179
- readonly disabled?: boolean | undefined;
180
- readonly reference?: import("reka-ui").ReferenceElement | undefined;
181
- readonly asChild?: boolean | undefined;
182
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
183
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
184
- $attrs: {
185
- [x: string]: unknown;
186
- };
187
- $refs: {
188
- [x: string]: unknown;
189
- };
190
- $slots: Readonly<{
191
- [name: string]: import("vue").Slot<any> | undefined;
192
- }>;
193
- $root: import("vue").ComponentPublicInstance | null;
194
- $parent: import("vue").ComponentPublicInstance | null;
195
- $host: Element | null;
196
- $emit: (event: string, ...args: any[]) => void;
197
- $el: any;
198
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
199
- as: import("reka-ui").AsTag | import("vue").Component;
200
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
201
- beforeCreate?: (() => void) | (() => void)[];
202
- created?: (() => void) | (() => void)[];
203
- beforeMount?: (() => void) | (() => void)[];
204
- mounted?: (() => void) | (() => void)[];
205
- beforeUpdate?: (() => void) | (() => void)[];
206
- updated?: (() => void) | (() => void)[];
207
- activated?: (() => void) | (() => void)[];
208
- deactivated?: (() => void) | (() => void)[];
209
- beforeDestroy?: (() => void) | (() => void)[];
210
- beforeUnmount?: (() => void) | (() => void)[];
211
- destroyed?: (() => void) | (() => void)[];
212
- unmounted?: (() => void) | (() => void)[];
213
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
214
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
215
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
216
- };
217
- $forceUpdate: () => void;
218
- $nextTick: typeof import("vue").nextTick;
219
- $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;
220
- } & Readonly<{
221
- as: import("reka-ui").AsTag | import("vue").Component;
222
- }> & Omit<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
223
- $slots: {
224
- default?: (props: {}) => any;
225
- };
226
- }) | null, ({
227
- $: import("vue").ComponentInternalInstance;
228
- $data: {};
229
- $props: {
230
- readonly disabled?: boolean | undefined;
231
- readonly reference?: import("reka-ui").ReferenceElement | undefined;
232
- readonly asChild?: boolean | undefined;
233
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
234
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
235
- $attrs: {
236
- [x: string]: unknown;
237
- };
238
- $refs: {
239
- [x: string]: unknown;
240
- };
241
- $slots: Readonly<{
242
- [name: string]: import("vue").Slot<any> | undefined;
243
- }>;
244
- $root: import("vue").ComponentPublicInstance | null;
245
- $parent: import("vue").ComponentPublicInstance | null;
246
- $host: Element | null;
247
- $emit: (event: string, ...args: any[]) => void;
248
- $el: any;
249
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
250
- as: import("reka-ui").AsTag | import("vue").Component;
251
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
252
- beforeCreate?: (() => void) | (() => void)[];
253
- created?: (() => void) | (() => void)[];
254
- beforeMount?: (() => void) | (() => void)[];
255
- mounted?: (() => void) | (() => void)[];
256
- beforeUpdate?: (() => void) | (() => void)[];
257
- updated?: (() => void) | (() => void)[];
258
- activated?: (() => void) | (() => void)[];
259
- deactivated?: (() => void) | (() => void)[];
260
- beforeDestroy?: (() => void) | (() => void)[];
261
- beforeUnmount?: (() => void) | (() => void)[];
262
- destroyed?: (() => void) | (() => void)[];
263
- unmounted?: (() => void) | (() => void)[];
264
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
265
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
266
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
267
- };
268
- $forceUpdate: () => void;
269
- $nextTick: typeof import("vue").nextTick;
270
- $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;
271
- } & Readonly<{
272
- as: import("reka-ui").AsTag | import("vue").Component;
273
- }> & Omit<Readonly<import("reka-ui").SelectTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
274
- $slots: {
275
- default?: (props: {}) => any;
276
- };
277
- }) | null>;
176
+ triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
278
177
  }>) => void;
279
178
  attrs: any;
280
179
  slots: SelectSlots<T, VK, M, NestedItem<T>>;
281
- emit: ((evt: "blur", event: FocusEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
180
+ emit: ((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void);
282
181
  }>) => import("vue").VNode & {
283
182
  __ctx?: Awaited<typeof __VLS_setup>;
284
183
  };
@@ -3,6 +3,7 @@ import type { AppConfig } from '@nuxt/schema';
3
3
  import theme from '#build/b24ui/select-menu';
4
4
  import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
5
  import type { AvatarProps, ChipProps, InputProps, BadgeProps, IconComponent } from '../types';
6
+ import type { ButtonHTMLAttributes } from '../types/html';
6
7
  import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps } from '../types/utils';
7
8
  import type { ComponentConfig } from '../types/tv';
8
9
  type SelectMenu = ComponentConfig<typeof theme, AppConfig, 'selectMenu'>;
@@ -29,7 +30,7 @@ export type SelectMenuItem = SelectMenuValue | {
29
30
  b24ui?: Pick<SelectMenu['slots'], 'label' | 'separator' | 'item' | 'itemLeadingIcon' | 'itemLeadingAvatarSize' | 'itemLeadingAvatar' | 'itemLeadingChipSize' | 'itemLeadingChip' | 'itemWrapper' | 'itemLabel' | 'itemDescription' | 'itemTrailing' | 'itemTrailingIcon'>;
30
31
  [key: string]: any;
31
32
  };
32
- 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 {
33
+ 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, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
33
34
  id?: string;
34
35
  /** The placeholder text when the select is empty. */
35
36
  placeholder?: string;
@@ -64,7 +65,7 @@ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = Array
64
65
  */
65
66
  underline?: boolean;
66
67
  /**
67
- * Rounds the corners of the button
68
+ * Rounds the corners of the select
68
69
  * @defaultValue false
69
70
  */
70
71
  rounded?: boolean;
@@ -226,11 +227,11 @@ declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends
226
227
  props: __VLS_PrettifyLocal<(SelectMenuProps<T, VK, M> & {
227
228
  searchTerm?: string;
228
229
  }) & {
229
- onBlur?: ((event: FocusEvent) => any) | undefined;
230
230
  onChange?: ((event: Event) => any) | undefined;
231
+ onBlur?: ((event: FocusEvent) => any) | undefined;
231
232
  onFocus?: ((event: FocusEvent) => any) | undefined;
232
- onCreate?: ((item: string) => any) | undefined;
233
233
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
234
+ onCreate?: ((item: string) => any) | undefined;
234
235
  "onUpdate:modelValue"?: ((value: GetModelValue<T, VK, M>) => any) | undefined;
235
236
  onHighlight?: ((payload: {
236
237
  ref: HTMLElement;
@@ -239,111 +240,11 @@ declare const __VLS_export: <T extends ArrayOrNested<SelectMenuItem>, VK extends
239
240
  "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
240
241
  }> & import("vue").PublicProps;
241
242
  expose: (exposed: import("vue").ShallowUnwrapRef<{
242
- triggerRef: import("vue").Ref<({
243
- $: import("vue").ComponentInternalInstance;
244
- $data: {};
245
- $props: {
246
- readonly disabled?: boolean | undefined;
247
- readonly asChild?: boolean | undefined;
248
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
249
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
250
- $attrs: {
251
- [x: string]: unknown;
252
- };
253
- $refs: {
254
- [x: string]: unknown;
255
- };
256
- $slots: Readonly<{
257
- [name: string]: import("vue").Slot<any> | undefined;
258
- }>;
259
- $root: import("vue").ComponentPublicInstance | null;
260
- $parent: import("vue").ComponentPublicInstance | null;
261
- $host: Element | null;
262
- $emit: (event: string, ...args: any[]) => void;
263
- $el: any;
264
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
265
- as: import("reka-ui").AsTag | import("vue").Component;
266
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
267
- beforeCreate?: (() => void) | (() => void)[];
268
- created?: (() => void) | (() => void)[];
269
- beforeMount?: (() => void) | (() => void)[];
270
- mounted?: (() => void) | (() => void)[];
271
- beforeUpdate?: (() => void) | (() => void)[];
272
- updated?: (() => void) | (() => void)[];
273
- activated?: (() => void) | (() => void)[];
274
- deactivated?: (() => void) | (() => void)[];
275
- beforeDestroy?: (() => void) | (() => void)[];
276
- beforeUnmount?: (() => void) | (() => void)[];
277
- destroyed?: (() => void) | (() => void)[];
278
- unmounted?: (() => void) | (() => void)[];
279
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
280
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
281
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
282
- };
283
- $forceUpdate: () => void;
284
- $nextTick: typeof import("vue").nextTick;
285
- $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;
286
- } & Readonly<{
287
- as: import("reka-ui").AsTag | import("vue").Component;
288
- }> & Omit<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
289
- $slots: {
290
- default?: (props: {}) => any;
291
- };
292
- }) | null, ({
293
- $: import("vue").ComponentInternalInstance;
294
- $data: {};
295
- $props: {
296
- readonly disabled?: boolean | undefined;
297
- readonly asChild?: boolean | undefined;
298
- readonly as?: (import("reka-ui").AsTag | import("vue").Component) | undefined;
299
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
300
- $attrs: {
301
- [x: string]: unknown;
302
- };
303
- $refs: {
304
- [x: string]: unknown;
305
- };
306
- $slots: Readonly<{
307
- [name: string]: import("vue").Slot<any> | undefined;
308
- }>;
309
- $root: import("vue").ComponentPublicInstance | null;
310
- $parent: import("vue").ComponentPublicInstance | null;
311
- $host: Element | null;
312
- $emit: (event: string, ...args: any[]) => void;
313
- $el: any;
314
- $options: import("vue").ComponentOptionsBase<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
315
- as: import("reka-ui").AsTag | import("vue").Component;
316
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
317
- beforeCreate?: (() => void) | (() => void)[];
318
- created?: (() => void) | (() => void)[];
319
- beforeMount?: (() => void) | (() => void)[];
320
- mounted?: (() => void) | (() => void)[];
321
- beforeUpdate?: (() => void) | (() => void)[];
322
- updated?: (() => void) | (() => void)[];
323
- activated?: (() => void) | (() => void)[];
324
- deactivated?: (() => void) | (() => void)[];
325
- beforeDestroy?: (() => void) | (() => void)[];
326
- beforeUnmount?: (() => void) | (() => void)[];
327
- destroyed?: (() => void) | (() => void)[];
328
- unmounted?: (() => void) | (() => void)[];
329
- renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
330
- renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
331
- errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
332
- };
333
- $forceUpdate: () => void;
334
- $nextTick: typeof import("vue").nextTick;
335
- $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;
336
- } & Readonly<{
337
- as: import("reka-ui").AsTag | import("vue").Component;
338
- }> & Omit<Readonly<import("reka-ui").ComboboxTriggerProps> & Readonly<{}>, "as"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
339
- $slots: {
340
- default?: (props: {}) => any;
341
- };
342
- }) | null>;
243
+ triggerRef: Readonly<import("vue").Ref<HTMLButtonElement, HTMLButtonElement>>;
343
244
  }>) => void;
344
245
  attrs: any;
345
246
  slots: SelectMenuSlots<T, VK, M, NestedItem<T>>;
346
- 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: {
247
+ emit: (((evt: "change", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "create", item: string) => void) & ((evt: "update:modelValue", value: GetModelValue<T, VK, M>) => void) & ((evt: "highlight", payload: {
347
248
  ref: HTMLElement;
348
249
  value: GetModelValue<T, VK, M>;
349
250
  } | undefined) => void)) & ((evt: "update:searchTerm", value: string) => void);