@bitrix24/b24ui-nuxt 2.0.8 → 2.1.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 (165) hide show
  1. package/dist/meta.d.mts +84957 -50082
  2. package/dist/meta.mjs +84957 -50082
  3. package/dist/module.d.mts +13 -1
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +8 -7
  6. package/dist/runtime/air-design-tokens/001_b24_global.css +1 -1
  7. package/dist/runtime/air-design-tokens/003_b24_context_light.css +1 -1
  8. package/dist/runtime/air-design-tokens/004_b24_context_dark.css +1 -1
  9. package/dist/runtime/air-design-tokens/005_b24_context_edge-light.css +1 -1
  10. package/dist/runtime/air-design-tokens/006_b24_context_edge-dark.css +1 -1
  11. package/dist/runtime/air-design-tokens/007_b24_global.css +1 -1
  12. package/dist/runtime/air-design-tokens/008_ui_global.css +1 -1
  13. package/dist/runtime/air-design-tokens/009_b24_tools.css +1 -1
  14. package/dist/runtime/air-design-tokens/components/badge-counter.css +1 -1
  15. package/dist/runtime/air-design-tokens/components/button.css +1 -1
  16. package/dist/runtime/air-design-tokens/components/navigation-menu.css +1 -1
  17. package/dist/runtime/air-design-tokens/components/popup.css +1 -1
  18. package/dist/runtime/air-design-tokens/components/scrollbar.css +1 -2
  19. package/dist/runtime/air-design-tokens/index.css +1 -1
  20. package/dist/runtime/components/Advice.d.vue.ts +1 -1
  21. package/dist/runtime/components/Advice.vue +1 -3
  22. package/dist/runtime/components/Advice.vue.d.ts +1 -1
  23. package/dist/runtime/components/App.d.vue.ts +1 -1
  24. package/dist/runtime/components/App.vue +2 -1
  25. package/dist/runtime/components/App.vue.d.ts +1 -1
  26. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  27. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  28. package/dist/runtime/components/Button.vue +1 -0
  29. package/dist/runtime/components/ChatPrompt.d.vue.ts +2 -2
  30. package/dist/runtime/components/ChatPrompt.vue +5 -5
  31. package/dist/runtime/components/ChatPrompt.vue.d.ts +2 -2
  32. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +5 -5
  33. package/dist/runtime/components/ChatPromptSubmit.vue +53 -4
  34. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +5 -5
  35. package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
  36. package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
  37. package/dist/runtime/components/CommandPalette.vue +5 -4
  38. package/dist/runtime/components/DashboardSearch.d.vue.ts +3 -6
  39. package/dist/runtime/components/DashboardSearch.vue +2 -3
  40. package/dist/runtime/components/DashboardSearch.vue.d.ts +3 -6
  41. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
  42. package/dist/runtime/components/DashboardSearchButton.vue +44 -6
  43. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
  44. package/dist/runtime/components/Error.d.vue.ts +1 -1
  45. package/dist/runtime/components/Error.vue.d.ts +1 -1
  46. package/dist/runtime/components/FileUpload.d.vue.ts +3 -2
  47. package/dist/runtime/components/FileUpload.vue +9 -9
  48. package/dist/runtime/components/FileUpload.vue.d.ts +3 -2
  49. package/dist/runtime/components/Form.d.vue.ts +3 -2
  50. package/dist/runtime/components/Form.vue +3 -4
  51. package/dist/runtime/components/Form.vue.d.ts +3 -2
  52. package/dist/runtime/components/Input.d.vue.ts +7 -7
  53. package/dist/runtime/components/Input.vue +2 -2
  54. package/dist/runtime/components/Input.vue.d.ts +7 -7
  55. package/dist/runtime/components/InputDate.d.vue.ts +115 -0
  56. package/dist/runtime/components/InputDate.vue +198 -0
  57. package/dist/runtime/components/InputDate.vue.d.ts +115 -0
  58. package/dist/runtime/components/InputMenu.d.vue.ts +7 -128
  59. package/dist/runtime/components/InputMenu.vue +3 -3
  60. package/dist/runtime/components/InputMenu.vue.d.ts +7 -128
  61. package/dist/runtime/components/InputNumber.d.vue.ts +25 -124
  62. package/dist/runtime/components/InputNumber.vue +3 -3
  63. package/dist/runtime/components/InputNumber.vue.d.ts +25 -124
  64. package/dist/runtime/components/InputTags.d.vue.ts +6 -109
  65. package/dist/runtime/components/InputTags.vue +8 -8
  66. package/dist/runtime/components/InputTags.vue.d.ts +6 -109
  67. package/dist/runtime/components/InputTime.d.vue.ts +99 -0
  68. package/dist/runtime/components/InputTime.vue +170 -0
  69. package/dist/runtime/components/InputTime.vue.d.ts +99 -0
  70. package/dist/runtime/components/Link.d.vue.ts +4 -49
  71. package/dist/runtime/components/Link.vue +1 -0
  72. package/dist/runtime/components/Link.vue.d.ts +4 -49
  73. package/dist/runtime/components/Modal.d.vue.ts +6 -1
  74. package/dist/runtime/components/Modal.vue +37 -9
  75. package/dist/runtime/components/Modal.vue.d.ts +6 -1
  76. package/dist/runtime/components/Pagination.d.vue.ts +2 -2
  77. package/dist/runtime/components/Pagination.vue.d.ts +2 -2
  78. package/dist/runtime/components/PinInput.d.vue.ts +3 -3
  79. package/dist/runtime/components/PinInput.vue.d.ts +3 -3
  80. package/dist/runtime/components/Progress.d.vue.ts +1 -1
  81. package/dist/runtime/components/Progress.vue.d.ts +1 -1
  82. package/dist/runtime/components/Select.d.vue.ts +6 -107
  83. package/dist/runtime/components/Select.vue +3 -3
  84. package/dist/runtime/components/Select.vue.d.ts +6 -107
  85. package/dist/runtime/components/SelectMenu.d.vue.ts +7 -106
  86. package/dist/runtime/components/SelectMenu.vue +3 -3
  87. package/dist/runtime/components/SelectMenu.vue.d.ts +7 -106
  88. package/dist/runtime/components/Slideover.d.vue.ts +1 -1
  89. package/dist/runtime/components/Slideover.vue.d.ts +1 -1
  90. package/dist/runtime/components/Switch.d.vue.ts +2 -1
  91. package/dist/runtime/components/Switch.vue.d.ts +2 -1
  92. package/dist/runtime/components/Table.d.vue.ts +5 -4
  93. package/dist/runtime/components/Table.vue +4 -3
  94. package/dist/runtime/components/Table.vue.d.ts +5 -4
  95. package/dist/runtime/components/Textarea.d.vue.ts +7 -6
  96. package/dist/runtime/components/Textarea.vue +2 -2
  97. package/dist/runtime/components/Textarea.vue.d.ts +7 -6
  98. package/dist/runtime/components/Toast.vue +5 -5
  99. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  100. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  101. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
  102. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
  103. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
  104. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -3
  105. package/dist/runtime/components/color-mode/ColorModeButton.vue +54 -6
  106. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -3
  107. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
  108. package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
  109. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
  110. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  111. package/dist/runtime/components/color-mode/ColorModeSelect.vue +47 -5
  112. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  113. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
  114. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
  115. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
  116. package/dist/runtime/components/content/ContentSearch.d.vue.ts +3 -6
  117. package/dist/runtime/components/content/ContentSearch.vue +2 -3
  118. package/dist/runtime/components/content/ContentSearch.vue.d.ts +3 -6
  119. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
  120. package/dist/runtime/components/content/ContentSearchButton.vue +43 -5
  121. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
  122. package/dist/runtime/components/content/ContentSurround.vue +7 -1
  123. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +11 -7
  124. package/dist/runtime/components/locale/LocaleSelect.vue +50 -6
  125. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +11 -7
  126. package/dist/runtime/components/prose/Callout.vue +4 -0
  127. package/dist/runtime/composables/index.d.ts +8 -0
  128. package/dist/runtime/composables/index.js +8 -0
  129. package/dist/runtime/composables/useFileUpload.d.ts +2 -1
  130. package/dist/runtime/composables/useFileUpload.js +13 -4
  131. package/dist/runtime/index.css +1 -1
  132. package/dist/runtime/inertia/components/Link.d.vue.ts +17 -10
  133. package/dist/runtime/inertia/components/Link.vue +8 -6
  134. package/dist/runtime/inertia/components/Link.vue.d.ts +17 -10
  135. package/dist/runtime/inertia/stubs.d.ts +1 -1
  136. package/dist/runtime/plugins/colors.js +4 -8
  137. package/dist/runtime/types/html.d.ts +8 -0
  138. package/dist/runtime/types/index.d.ts +2 -0
  139. package/dist/runtime/types/index.js +2 -0
  140. package/dist/runtime/types/input.d.ts +5 -5
  141. package/dist/runtime/types/utils.d.ts +2 -0
  142. package/dist/runtime/utils/content.d.ts +2 -2
  143. package/dist/runtime/utils/dashboard.d.ts +1 -1
  144. package/dist/runtime/utils/link.d.ts +1 -0
  145. package/dist/runtime/utils/link.js +40 -24
  146. package/dist/runtime/vue/components/Link.d.vue.ts +8 -37
  147. package/dist/runtime/vue/components/Link.vue +6 -11
  148. package/dist/runtime/vue/components/Link.vue.d.ts +8 -37
  149. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +2 -2
  150. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +55 -5
  151. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +2 -2
  152. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  153. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +46 -3
  154. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  155. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  156. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
  157. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  158. package/dist/runtime/vue/stubs.d.ts +2 -2
  159. package/dist/runtime/vue/stubs.js +1 -1
  160. package/dist/shared/{b24ui-nuxt.CEMVb5Ee.mjs → b24ui-nuxt.CXLCGBie.mjs} +353 -128
  161. package/dist/unplugin.d.mts +3 -1
  162. package/dist/unplugin.mjs +4 -3
  163. package/dist/vite.mjs +3 -3
  164. package/package.json +27 -17
  165. /package/dist/runtime/{air-design-tokens/002_b24_context_utility.css → types/html.js} +0 -0
@@ -15,6 +15,11 @@ export interface ModalProps extends DialogRootProps {
15
15
  * @defaultValue true
16
16
  */
17
17
  overlay?: boolean;
18
+ /**
19
+ * When `true`, enables scrollable overlay mode where content scrolls within the overlay.
20
+ * @defaultValue false
21
+ */
22
+ scrollable?: boolean;
18
23
  /**
19
24
  * Render an overlay blur behind the modal.
20
25
  * `auto` use `motion-safe`.
@@ -99,11 +104,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ModalP
99
104
  "onAfter:enter"?: (() => any) | undefined;
100
105
  "onClose:prevent"?: (() => any) | undefined;
101
106
  }>, {
107
+ overlay: boolean;
102
108
  close: boolean | Partial<ButtonProps>;
103
109
  transition: boolean;
104
110
  modal: boolean;
105
111
  portal: boolean | string | HTMLElement;
106
- overlay: boolean;
107
112
  overlayBlur: Modal["variants"]["overlayBlur"];
108
113
  dismissible: boolean;
109
114
  scrollbarThin: boolean;
@@ -5,7 +5,7 @@ import theme from "#build/b24ui/modal";
5
5
  <script setup>
6
6
  import { computed, toRef } from "vue";
7
7
  import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, VisuallyHidden, useForwardPropsEmits } from "reka-ui";
8
- import { reactivePick } from "@vueuse/core";
8
+ import { reactivePick, createReusableTemplate } from "@vueuse/core";
9
9
  import { useAppConfig } from "#imports";
10
10
  import { useLocale } from "../composables/useLocale";
11
11
  import { usePortal } from "../composables/usePortal";
@@ -17,6 +17,7 @@ const props = defineProps({
17
17
  description: { type: String, required: false },
18
18
  content: { type: Object, required: false },
19
19
  overlay: { type: Boolean, required: false, default: true },
20
+ scrollable: { type: Boolean, required: false },
20
21
  overlayBlur: { type: null, required: false, default: "auto" },
21
22
  transition: { type: Boolean, required: false, default: true },
22
23
  fullscreen: { type: Boolean, required: false },
@@ -49,24 +50,33 @@ const contentEvents = computed(() => {
49
50
  return acc;
50
51
  }, {});
51
52
  }
53
+ if (props.scrollable) {
54
+ return {
55
+ // FIXME: This is a workaround to prevent the modal from closing when clicking on the scrollbar https://reka-ui.com/docs/components/dialog#scrollable-overlay but it's not working on Mac OS.
56
+ pointerDownOutside: (e) => {
57
+ const originalEvent = e.detail.originalEvent;
58
+ const target = originalEvent.target;
59
+ if (originalEvent.offsetX > target.clientWidth || originalEvent.offsetY > target.clientHeight) {
60
+ e.preventDefault();
61
+ }
62
+ }
63
+ };
64
+ }
52
65
  return {};
53
66
  });
67
+ const [DefineContentTemplate, ReuseContentTemplate] = createReusableTemplate();
54
68
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.modal || {} })({
55
69
  transition: props.transition,
56
70
  fullscreen: props.fullscreen,
57
- overlayBlur: props.overlayBlur
71
+ overlayBlur: props.overlayBlur,
72
+ overlay: props.overlay,
73
+ scrollable: props.scrollable
58
74
  }));
59
75
  </script>
60
76
 
61
77
  <template>
62
78
  <DialogRoot v-slot="{ open, close }" v-bind="rootProps">
63
- <DialogTrigger v-if="!!slots.default" as-child :class="props.class">
64
- <slot :open="open" />
65
- </DialogTrigger>
66
-
67
- <DialogPortal v-bind="portalProps">
68
- <DialogOverlay v-if="overlay" :class="b24ui.overlay({ class: props.b24ui?.overlay })" />
69
-
79
+ <DefineContentTemplate>
70
80
  <DialogContent
71
81
  :class="b24ui.content({ class: [!slots.default && props.class, props.b24ui?.content] })"
72
82
  v-bind="contentProps"
@@ -137,6 +147,24 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.modal |
137
147
  </div>
138
148
  </slot>
139
149
  </DialogContent>
150
+ </DefineContentTemplate>
151
+
152
+ <DialogTrigger v-if="!!slots.default" as-child :class="props.class">
153
+ <slot :open="open" />
154
+ </DialogTrigger>
155
+
156
+ <DialogPortal v-bind="portalProps">
157
+ <template v-if="scrollable">
158
+ <DialogOverlay :class="b24ui.overlay({ class: props.b24ui?.overlay })">
159
+ <ReuseContentTemplate />
160
+ </DialogOverlay>
161
+ </template>
162
+
163
+ <template v-else>
164
+ <DialogOverlay v-if="overlay" :class="b24ui.overlay({ class: props.b24ui?.overlay })" />
165
+
166
+ <ReuseContentTemplate />
167
+ </template>
140
168
  </DialogPortal>
141
169
  </DialogRoot>
142
170
  </template>
@@ -15,6 +15,11 @@ export interface ModalProps extends DialogRootProps {
15
15
  * @defaultValue true
16
16
  */
17
17
  overlay?: boolean;
18
+ /**
19
+ * When `true`, enables scrollable overlay mode where content scrolls within the overlay.
20
+ * @defaultValue false
21
+ */
22
+ scrollable?: boolean;
18
23
  /**
19
24
  * Render an overlay blur behind the modal.
20
25
  * `auto` use `motion-safe`.
@@ -99,11 +104,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ModalP
99
104
  "onAfter:enter"?: (() => any) | undefined;
100
105
  "onClose:prevent"?: (() => any) | undefined;
101
106
  }>, {
107
+ overlay: boolean;
102
108
  close: boolean | Partial<ButtonProps>;
103
109
  transition: boolean;
104
110
  modal: boolean;
105
111
  portal: boolean | string | HTMLElement;
106
- overlay: boolean;
107
112
  overlayBlur: Modal["variants"]["overlayBlur"];
108
113
  dismissible: boolean;
109
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
  };