UNPKG

@volverjs/ui-vue

Version:

@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.

299 lines (298 loc) 8.86 kB
import type { MaybeElement } from '@vueuse/core'; import type { Option } from '../../types/generic'; export type VvSelectEmits = { 'update:modelValue': [any]; 'focus': [MaybeElement]; 'blur': [MaybeElement]; 'clear': []; }; export declare const VvSelectProps: { /** * This Boolean attribute indicates that multiple options can be selected in the list. * If it is not specified, then only one option can be selected at a time. * When multiple is specified, most browsers will show a scrolling list box instead of a single line dropdown. * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple */ multiple: BooleanConstructor; /** * A Boolean attribute indicating that an option with a non-empty string value must be selected. * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-required */ required: BooleanConstructor; /** * If the control is presented as a scrolling list box (e.g. when multiple is specified), * this attribute represents the number of rows in the list that should be visible at one time. * Browsers are not required to present a select element as a scrolled list box. The default value is 0. * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-size */ size: (StringConstructor | NumberConstructor)[]; /** * modelValue can be a string, number, boolean, object or array of string, number, boolean, object */ modelValue: { type: (ObjectConstructor | ArrayConstructor | BooleanConstructor | StringConstructor | NumberConstructor)[]; default: undefined; }; /** * Select first option automatically */ autoselectFirst: { type: BooleanConstructor; default: boolean; }; /** * Select placeholder */ placeholder: StringConstructor; showClearAction: { type: BooleanConstructor; default: boolean; }; iconClear: { type: PropType<string | import("../VvIcon").VvIconProps>; default: "close"; }; labelClear: { type: StringConstructor; default: string; }; label: { type: (StringConstructor | NumberConstructor)[]; default: undefined; }; unselectable: { type: BooleanConstructor; default: boolean; }; floating: { type: BooleanConstructor; default: boolean; }; icon: { type: PropType<string | import("../VvIcon").VvIconProps>; default: undefined; }; iconPosition: { type: PropType<`${import("../../constants").Position}`>; default: import("../../constants").Position; validation: (value: import("../../constants").Position) => boolean; }; options: { type: PropType<(Option | string)[]>; default: () => never[]; }; labelKey: { type: (StringConstructor | FunctionConstructor)[]; default: string; }; valueKey: { type: (StringConstructor | FunctionConstructor)[]; default: string; }; disabledKey: { type: (StringConstructor | FunctionConstructor)[]; default: string; }; modifiers: { type: PropType<string | string[]>; default: undefined; }; readonly: { type: BooleanConstructor; default: boolean; }; disabled: { type: BooleanConstructor; default: boolean; }; loading: { type: BooleanConstructor; default: boolean; }; loadingLabel: { type: StringConstructor; default: string; }; hintLabel: { type: StringConstructor; default: string; }; invalid: { type: BooleanConstructor; default: boolean; }; invalidLabel: { type: (ArrayConstructor | StringConstructor)[]; default: undefined; }; valid: { type: BooleanConstructor; default: boolean; }; validLabel: { type: (ArrayConstructor | StringConstructor)[]; default: undefined; }; tabindex: { type: (StringConstructor | NumberConstructor)[]; default: number; }; autocomplete: { type: StringConstructor; default: string; }; autofocus: { type: BooleanConstructor; default: boolean; }; name: { type: StringConstructor; required: boolean; }; id: (StringConstructor | NumberConstructor)[]; }; export declare function useVvSelectProps<T extends Option | string>(): { options: { type: PropType<T[]>; default: () => never[]; }; /** * This Boolean attribute indicates that multiple options can be selected in the list. * If it is not specified, then only one option can be selected at a time. * When multiple is specified, most browsers will show a scrolling list box instead of a single line dropdown. * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple */ multiple: BooleanConstructor; /** * A Boolean attribute indicating that an option with a non-empty string value must be selected. * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-required */ required: BooleanConstructor; /** * If the control is presented as a scrolling list box (e.g. when multiple is specified), * this attribute represents the number of rows in the list that should be visible at one time. * Browsers are not required to present a select element as a scrolled list box. The default value is 0. * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-size */ size: (StringConstructor | NumberConstructor)[]; /** * modelValue can be a string, number, boolean, object or array of string, number, boolean, object */ modelValue: { type: (ObjectConstructor | ArrayConstructor | BooleanConstructor | StringConstructor | NumberConstructor)[]; default: undefined; }; /** * Select first option automatically */ autoselectFirst: { type: BooleanConstructor; default: boolean; }; /** * Select placeholder */ placeholder: StringConstructor; showClearAction: { type: BooleanConstructor; default: boolean; }; iconClear: { type: PropType<string | import("../VvIcon").VvIconProps>; default: "close"; }; labelClear: { type: StringConstructor; default: string; }; label: { type: (StringConstructor | NumberConstructor)[]; default: undefined; }; unselectable: { type: BooleanConstructor; default: boolean; }; floating: { type: BooleanConstructor; default: boolean; }; icon: { type: PropType<string | import("../VvIcon").VvIconProps>; default: undefined; }; iconPosition: { type: PropType<`${import("../../constants").Position}`>; default: import("../../constants").Position; validation: (value: import("../../constants").Position) => boolean; }; labelKey: { type: (StringConstructor | FunctionConstructor)[]; default: string; }; valueKey: { type: (StringConstructor | FunctionConstructor)[]; default: string; }; disabledKey: { type: (StringConstructor | FunctionConstructor)[]; default: string; }; modifiers: { type: PropType<string | string[]>; default: undefined; }; readonly: { type: BooleanConstructor; default: boolean; }; disabled: { type: BooleanConstructor; default: boolean; }; loading: { type: BooleanConstructor; default: boolean; }; loadingLabel: { type: StringConstructor; default: string; }; hintLabel: { type: StringConstructor; default: string; }; invalid: { type: BooleanConstructor; default: boolean; }; invalidLabel: { type: (ArrayConstructor | StringConstructor)[]; default: undefined; }; valid: { type: BooleanConstructor; default: boolean; }; validLabel: { type: (ArrayConstructor | StringConstructor)[]; default: undefined; }; tabindex: { type: (StringConstructor | NumberConstructor)[]; default: number; }; autocomplete: { type: StringConstructor; default: string; }; autofocus: { type: BooleanConstructor; default: boolean; }; name: { type: StringConstructor; required: boolean; }; id: (StringConstructor | NumberConstructor)[]; };