@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
TypeScript
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)[];
};