@bitrix24/b24ui-nuxt 2.0.9 → 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.
- package/dist/meta.d.mts +77776 -42923
- package/dist/meta.mjs +77776 -42923
- package/dist/module.json +1 -1
- package/dist/module.mjs +3 -3
- package/dist/runtime/components/Advice.d.vue.ts +1 -1
- package/dist/runtime/components/Advice.vue +1 -3
- package/dist/runtime/components/Advice.vue.d.ts +1 -1
- package/dist/runtime/components/App.d.vue.ts +1 -1
- package/dist/runtime/components/App.vue +2 -1
- package/dist/runtime/components/App.vue.d.ts +1 -1
- package/dist/runtime/components/Avatar.d.vue.ts +2 -1
- package/dist/runtime/components/Avatar.vue.d.ts +2 -1
- package/dist/runtime/components/Button.vue +1 -0
- package/dist/runtime/components/ChatPrompt.d.vue.ts +2 -2
- package/dist/runtime/components/ChatPrompt.vue +5 -5
- package/dist/runtime/components/ChatPrompt.vue.d.ts +2 -2
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +5 -5
- package/dist/runtime/components/ChatPromptSubmit.vue +53 -4
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +5 -5
- package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
- package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
- package/dist/runtime/components/CommandPalette.vue +5 -4
- package/dist/runtime/components/DashboardSearch.d.vue.ts +3 -6
- package/dist/runtime/components/DashboardSearch.vue +2 -3
- package/dist/runtime/components/DashboardSearch.vue.d.ts +3 -6
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/DashboardSearchButton.vue +44 -6
- package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
- package/dist/runtime/components/Error.d.vue.ts +1 -1
- package/dist/runtime/components/Error.vue.d.ts +1 -1
- package/dist/runtime/components/FileUpload.d.vue.ts +3 -2
- package/dist/runtime/components/FileUpload.vue +9 -9
- package/dist/runtime/components/FileUpload.vue.d.ts +3 -2
- package/dist/runtime/components/Form.d.vue.ts +2 -1
- package/dist/runtime/components/Form.vue.d.ts +2 -1
- package/dist/runtime/components/Input.d.vue.ts +7 -7
- package/dist/runtime/components/Input.vue +2 -2
- package/dist/runtime/components/Input.vue.d.ts +7 -7
- package/dist/runtime/components/InputDate.d.vue.ts +115 -0
- package/dist/runtime/components/InputDate.vue +198 -0
- package/dist/runtime/components/InputDate.vue.d.ts +115 -0
- package/dist/runtime/components/InputMenu.d.vue.ts +7 -128
- package/dist/runtime/components/InputMenu.vue +3 -3
- package/dist/runtime/components/InputMenu.vue.d.ts +7 -128
- package/dist/runtime/components/InputNumber.d.vue.ts +25 -124
- package/dist/runtime/components/InputNumber.vue +3 -3
- package/dist/runtime/components/InputNumber.vue.d.ts +25 -124
- package/dist/runtime/components/InputTags.d.vue.ts +6 -109
- package/dist/runtime/components/InputTags.vue +8 -8
- package/dist/runtime/components/InputTags.vue.d.ts +6 -109
- package/dist/runtime/components/InputTime.d.vue.ts +99 -0
- package/dist/runtime/components/InputTime.vue +170 -0
- package/dist/runtime/components/InputTime.vue.d.ts +99 -0
- package/dist/runtime/components/Link.d.vue.ts +4 -49
- package/dist/runtime/components/Link.vue +1 -0
- package/dist/runtime/components/Link.vue.d.ts +4 -49
- package/dist/runtime/components/Modal.d.vue.ts +1 -1
- package/dist/runtime/components/Modal.vue.d.ts +1 -1
- package/dist/runtime/components/Pagination.d.vue.ts +2 -2
- package/dist/runtime/components/Pagination.vue.d.ts +2 -2
- package/dist/runtime/components/PinInput.d.vue.ts +3 -3
- package/dist/runtime/components/PinInput.vue.d.ts +3 -3
- package/dist/runtime/components/Progress.d.vue.ts +1 -1
- package/dist/runtime/components/Progress.vue.d.ts +1 -1
- package/dist/runtime/components/Select.d.vue.ts +6 -107
- package/dist/runtime/components/Select.vue +3 -3
- package/dist/runtime/components/Select.vue.d.ts +6 -107
- package/dist/runtime/components/SelectMenu.d.vue.ts +7 -106
- package/dist/runtime/components/SelectMenu.vue +3 -3
- package/dist/runtime/components/SelectMenu.vue.d.ts +7 -106
- package/dist/runtime/components/Slideover.d.vue.ts +1 -1
- package/dist/runtime/components/Slideover.vue.d.ts +1 -1
- package/dist/runtime/components/Switch.d.vue.ts +2 -1
- package/dist/runtime/components/Switch.vue.d.ts +2 -1
- package/dist/runtime/components/Table.d.vue.ts +5 -4
- package/dist/runtime/components/Table.vue +4 -3
- package/dist/runtime/components/Table.vue.d.ts +5 -4
- package/dist/runtime/components/Textarea.d.vue.ts +7 -6
- package/dist/runtime/components/Textarea.vue +2 -2
- package/dist/runtime/components/Textarea.vue.d.ts +7 -6
- package/dist/runtime/components/Toast.vue +5 -5
- package/dist/runtime/components/Toaster.d.vue.ts +1 -1
- package/dist/runtime/components/Toaster.vue.d.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeButton.vue +54 -6
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
- package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
- package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.vue +47 -5
- package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
- package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
- package/dist/runtime/components/content/ContentSearch.d.vue.ts +3 -6
- package/dist/runtime/components/content/ContentSearch.vue +2 -3
- package/dist/runtime/components/content/ContentSearch.vue.d.ts +3 -6
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/content/ContentSearchButton.vue +43 -5
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
- package/dist/runtime/components/content/ContentSurround.vue +7 -1
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +11 -7
- package/dist/runtime/components/locale/LocaleSelect.vue +50 -6
- package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +11 -7
- package/dist/runtime/components/prose/Callout.vue +4 -0
- package/dist/runtime/composables/index.d.ts +8 -0
- package/dist/runtime/composables/index.js +8 -0
- package/dist/runtime/composables/useFileUpload.d.ts +2 -1
- package/dist/runtime/composables/useFileUpload.js +13 -4
- package/dist/runtime/inertia/components/Link.d.vue.ts +17 -10
- package/dist/runtime/inertia/components/Link.vue +8 -6
- package/dist/runtime/inertia/components/Link.vue.d.ts +17 -10
- package/dist/runtime/inertia/stubs.d.ts +1 -1
- package/dist/runtime/types/html.d.ts +8 -0
- package/dist/runtime/types/html.js +0 -0
- package/dist/runtime/types/index.d.ts +2 -0
- package/dist/runtime/types/index.js +2 -0
- package/dist/runtime/types/input.d.ts +5 -5
- package/dist/runtime/types/utils.d.ts +2 -0
- package/dist/runtime/utils/content.d.ts +2 -2
- package/dist/runtime/utils/dashboard.d.ts +1 -1
- package/dist/runtime/utils/link.d.ts +1 -0
- package/dist/runtime/utils/link.js +40 -24
- package/dist/runtime/vue/components/Link.d.vue.ts +8 -37
- package/dist/runtime/vue/components/Link.vue +6 -11
- package/dist/runtime/vue/components/Link.vue.d.ts +8 -37
- package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +2 -2
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +55 -5
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +2 -2
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +46 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
- package/dist/runtime/vue/stubs.d.ts +2 -2
- package/dist/runtime/vue/stubs.js +1 -1
- package/dist/shared/{b24ui-nuxt.4XNR9Ysu.mjs → b24ui-nuxt.CXLCGBie.mjs} +135 -1
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +24 -14
|
@@ -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
|
|
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: "
|
|
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
|
|
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: "
|
|
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);
|
|
@@ -3,7 +3,7 @@ import theme from "#build/b24ui/select-menu";
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
|
-
import {
|
|
6
|
+
import { useTemplateRef, computed, onMounted, toRef, toRaw } from "vue";
|
|
7
7
|
import { Primitive, ComboboxRoot, ComboboxArrow, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxPortal, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxVirtualizer, ComboboxLabel, ComboboxSeparator, ComboboxItem, ComboboxItemIndicator, FocusScope, useForwardPropsEmits, useFilter } from "reka-ui";
|
|
8
8
|
import { defu } from "defu";
|
|
9
9
|
import { reactivePick, createReusableTemplate } from "@vueuse/core";
|
|
@@ -174,7 +174,7 @@ const createItem = computed(() => {
|
|
|
174
174
|
return !filteredItems.value.length;
|
|
175
175
|
});
|
|
176
176
|
const createItemPosition = computed(() => typeof props.createItem === "object" ? props.createItem.position : "bottom");
|
|
177
|
-
const triggerRef =
|
|
177
|
+
const triggerRef = useTemplateRef("triggerRef");
|
|
178
178
|
function autoFocus() {
|
|
179
179
|
if (props.autofocus) {
|
|
180
180
|
triggerRef.value?.$el?.focus({
|
|
@@ -232,7 +232,7 @@ function isSelectItem(item) {
|
|
|
232
232
|
return typeof item === "object" && item !== null;
|
|
233
233
|
}
|
|
234
234
|
defineExpose({
|
|
235
|
-
triggerRef
|
|
235
|
+
triggerRef: toRef(() => triggerRef.value?.$el)
|
|
236
236
|
});
|
|
237
237
|
</script>
|
|
238
238
|
|
|
@@ -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
|
|
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: "
|
|
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);
|
|
@@ -107,11 +107,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Slideo
|
|
|
107
107
|
"onAfter:enter"?: (() => any) | undefined;
|
|
108
108
|
"onClose:prevent"?: (() => any) | undefined;
|
|
109
109
|
}>, {
|
|
110
|
+
overlay: boolean;
|
|
110
111
|
close: boolean | Partial<ButtonProps>;
|
|
111
112
|
transition: boolean;
|
|
112
113
|
modal: boolean;
|
|
113
114
|
portal: boolean | string | HTMLElement;
|
|
114
|
-
overlay: boolean;
|
|
115
115
|
side: Slideover["variants"]["side"];
|
|
116
116
|
overlayBlur: Slideover["variants"]["overlayBlur"];
|
|
117
117
|
dismissible: boolean;
|
|
@@ -107,11 +107,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Slideo
|
|
|
107
107
|
"onAfter:enter"?: (() => any) | undefined;
|
|
108
108
|
"onClose:prevent"?: (() => any) | undefined;
|
|
109
109
|
}>, {
|
|
110
|
+
overlay: boolean;
|
|
110
111
|
close: boolean | Partial<ButtonProps>;
|
|
111
112
|
transition: boolean;
|
|
112
113
|
modal: boolean;
|
|
113
114
|
portal: boolean | string | HTMLElement;
|
|
114
|
-
overlay: boolean;
|
|
115
115
|
side: Slideover["variants"]["side"];
|
|
116
116
|
overlayBlur: Slideover["variants"]["overlayBlur"];
|
|
117
117
|
dismissible: boolean;
|
|
@@ -2,9 +2,10 @@ import type { SwitchRootProps } from 'reka-ui';
|
|
|
2
2
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
3
|
import theme from '#build/b24ui/switch';
|
|
4
4
|
import type { IconComponent } from '../types';
|
|
5
|
+
import type { ButtonHTMLAttributes } from '../types/html';
|
|
5
6
|
import type { ComponentConfig } from '../types/tv';
|
|
6
7
|
type Switch = ComponentConfig<typeof theme, AppConfig, 'switch'>;
|
|
7
|
-
export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | 'name' | 'required' | 'value' | 'defaultValue'> {
|
|
8
|
+
export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | 'name' | 'required' | 'value' | 'defaultValue'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
|
|
8
9
|
/**
|
|
9
10
|
* The element or component this component should render as.
|
|
10
11
|
* @defaultValue 'div'
|
|
@@ -2,9 +2,10 @@ import type { SwitchRootProps } from 'reka-ui';
|
|
|
2
2
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
3
|
import theme from '#build/b24ui/switch';
|
|
4
4
|
import type { IconComponent } from '../types';
|
|
5
|
+
import type { ButtonHTMLAttributes } from '../types/html';
|
|
5
6
|
import type { ComponentConfig } from '../types/tv';
|
|
6
7
|
type Switch = ComponentConfig<typeof theme, AppConfig, 'switch'>;
|
|
7
|
-
export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | 'name' | 'required' | 'value' | 'defaultValue'> {
|
|
8
|
+
export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | 'name' | 'required' | 'value' | 'defaultValue'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled' | 'name'> {
|
|
8
9
|
/**
|
|
9
10
|
* The element or component this component should render as.
|
|
10
11
|
* @defaultValue 'div'
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WatchOptions } from 'vue';
|
|
2
2
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
3
|
import type { Cell, Header, RowData, TableMeta } from '@tanstack/table-core';
|
|
4
4
|
import type { CellContext, ColumnDef, ColumnFiltersOptions, ColumnFiltersState, ColumnOrderState, ColumnPinningOptions, ColumnPinningState, ColumnSizingInfoState, ColumnSizingOptions, ColumnSizingState, CoreOptions, ExpandedOptions, ExpandedState, FacetedOptions, GlobalFilterOptions, GroupingOptions, GroupingState, HeaderContext, PaginationOptions, PaginationState, Row, RowPinningOptions, RowPinningState, RowSelectionOptions, RowSelectionState, SortingOptions, SortingState, VisibilityOptions, VisibilityState } from '@tanstack/vue-table';
|
|
5
5
|
import type { VirtualizerOptions } from '@tanstack/vue-virtual';
|
|
6
6
|
import theme from '#build/b24ui/table';
|
|
7
|
+
import type { TableHTMLAttributes } from '../types/html';
|
|
7
8
|
import type { ComponentConfig } from '../types/tv';
|
|
8
9
|
declare module '@tanstack/table-core' {
|
|
9
10
|
interface ColumnMeta<TData extends RowData, TValue> {
|
|
@@ -40,7 +41,7 @@ export interface TableOptions<T extends TableData = TableData> extends Omit<Core
|
|
|
40
41
|
onStateChange?: CoreOptions<T>['onStateChange'];
|
|
41
42
|
renderFallbackValue?: CoreOptions<T>['renderFallbackValue'];
|
|
42
43
|
}
|
|
43
|
-
export interface TableProps<T extends TableData = TableData> extends TableOptions<T
|
|
44
|
+
export interface TableProps<T extends TableData = TableData> extends TableOptions<T>, /** @vue-ignore */ TableHTMLAttributes {
|
|
44
45
|
/**
|
|
45
46
|
* The element or component this component should render as.
|
|
46
47
|
* @defaultValue 'div'
|
|
@@ -205,8 +206,8 @@ declare const __VLS_export: <T extends TableData>(__VLS_props: NonNullable<Await
|
|
|
205
206
|
"onUpdate:pagination"?: ((value: PaginationState) => any) | undefined;
|
|
206
207
|
}> & import("vue").PublicProps;
|
|
207
208
|
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
208
|
-
readonly $el:
|
|
209
|
-
tableRef:
|
|
209
|
+
readonly $el: HTMLElement;
|
|
210
|
+
tableRef: Readonly<import("vue").ShallowRef<HTMLTableElement | null>>;
|
|
210
211
|
tableApi: import("@tanstack/table-core").Table<T>;
|
|
211
212
|
}>) => void;
|
|
212
213
|
attrs: any;
|
|
@@ -3,7 +3,7 @@ import theme from "#build/b24ui/table";
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
|
-
import { computed,
|
|
6
|
+
import { ref, computed, useTemplateRef, watch, toRef } from "vue";
|
|
7
7
|
import { Primitive } from "reka-ui";
|
|
8
8
|
import { upperFirst } from "scule";
|
|
9
9
|
import { defu } from "defu";
|
|
@@ -134,8 +134,8 @@ const sortingState = defineModel("sorting", { type: Array, ...{ default: [] } })
|
|
|
134
134
|
const groupingState = defineModel("grouping", { type: Array, ...{ default: [] } });
|
|
135
135
|
const expandedState = defineModel("expanded", { type: [Boolean, Object], ...{ default: {} } });
|
|
136
136
|
const paginationState = defineModel("pagination", { type: Object, ...{ default: {} } });
|
|
137
|
-
const rootRef =
|
|
138
|
-
const tableRef =
|
|
137
|
+
const rootRef = useTemplateRef("rootRef");
|
|
138
|
+
const tableRef = useTemplateRef("tableRef");
|
|
139
139
|
const tableApi = useVueTable({
|
|
140
140
|
...reactiveOmit(props, "as", "data", "columns", "virtualize", "caption", "sticky", "loading", "loadingColor", "loadingAnimation", "class", "b24ui"),
|
|
141
141
|
data,
|
|
@@ -349,6 +349,7 @@ defineExpose({
|
|
|
349
349
|
],
|
|
350
350
|
pinned: !!header.column.getIsPinned()
|
|
351
351
|
})"
|
|
352
|
+
:style="resolveValue(header.column.columnDef.meta?.style?.th, header)"
|
|
352
353
|
>
|
|
353
354
|
<slot :name="`${header.id}-header`" v-bind="header.getContext()">
|
|
354
355
|
<FlexRender v-if="!header.isPlaceholder" :render="header.column.columnDef.header" :props="header.getContext()" />
|