@vue-interface/select-field
Version:
A Vue select field component.
107 lines (106 loc) • 8.77 kB
TypeScript
import { FormControlProps, FormControlSlots } from '@vue-interface/form-control';
import { SelectHTMLAttributes } from 'vue';
export type SelectFieldControlSizePrefix = 'form-select';
export type SelectFieldProps<ModelValue, Value> = FormControlProps<SelectHTMLAttributes, SelectFieldControlSizePrefix, ModelValue, Value>;
declare const _default: <ModelValue, Value>(__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<{
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
readonly onInput?: ((event: Event) => any) | undefined;
readonly onSelect?: ((event: Event) => any) | undefined;
readonly onBlur?: ((event: FocusEvent) => any) | undefined;
readonly onFocus?: ((event: FocusEvent) => any) | undefined;
readonly onFocusin?: ((event: FocusEvent) => any) | undefined;
readonly onFocusout?: ((event: FocusEvent) => any) | undefined;
readonly onClick?: ((event: MouseEvent) => any) | undefined;
readonly onDoubleclick?: ((event: MouseEvent) => any) | undefined;
readonly onContextmenu?: ((event: MouseEvent) => any) | undefined;
readonly onMousedown?: ((event: MouseEvent) => any) | undefined;
readonly onMouseup?: ((event: MouseEvent) => any) | undefined;
readonly onMouseover?: ((event: MouseEvent) => any) | undefined;
readonly onMouseout?: ((event: MouseEvent) => any) | undefined;
readonly onMouseenter?: ((event: MouseEvent) => any) | undefined;
readonly onMouseleave?: ((event: MouseEvent) => any) | undefined;
readonly onMousemove?: ((event: MouseEvent) => any) | undefined;
readonly onKeydown?: ((event: KeyboardEvent) => any) | undefined;
readonly onKeyup?: ((event: KeyboardEvent) => any) | undefined;
readonly onKeypress?: ((event: KeyboardEvent) => any) | undefined;
readonly onSelectionchange?: ((event: Event) => any) | undefined;
readonly onInvalid?: ((event: Event) => any) | undefined;
readonly onSubmit?: ((event: Event) => any) | undefined;
readonly onReset?: ((event: Event) => any) | undefined;
readonly onScroll?: ((event: Event) => any) | undefined;
readonly onWheel?: ((event: WheelEvent) => any) | undefined;
readonly onCopy?: ((event: ClipboardEvent) => any) | undefined;
readonly onCut?: ((event: ClipboardEvent) => any) | undefined;
readonly onPaste?: ((event: ClipboardEvent) => any) | undefined;
readonly onTouchstart?: ((event: TouchEvent) => any) | undefined;
readonly onTouchend?: ((event: TouchEvent) => any) | undefined;
readonly onTouchmove?: ((event: TouchEvent) => any) | undefined;
readonly onTouchcancel?: ((event: TouchEvent) => any) | undefined;
readonly onChange?: ((event: Event) => any) | undefined;
readonly onBeforeinput?: ((event: Event) => any) | undefined;
readonly "onUpdate:modelValue"?: ((value: ModelValue) => any) | undefined;
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onCopy" | "onCut" | "onPaste" | "onFocus" | "onFocusin" | "onFocusout" | "onBlur" | "onChange" | "onBeforeinput" | "onInput" | "onReset" | "onSubmit" | "onInvalid" | "onKeydown" | "onKeypress" | "onKeyup" | "onMousedown" | "onMouseenter" | "onMouseleave" | "onMousemove" | "onMouseout" | "onMouseover" | "onMouseup" | "onSelect" | "onScroll" | "onTouchcancel" | "onTouchend" | "onTouchmove" | "onTouchstart" | "onClick" | "onContextmenu" | "onWheel" | "onDoubleclick" | "onSelectionchange" | "onUpdate:modelValue"> & ({
modelValue?: ModelValue;
} & {
activity?: boolean;
disabled?: boolean;
error?: import('@vue-interface/form-control').FormControlErrorProp;
errors?: import('@vue-interface/form-control').FormControlErrorPropArray | import('@vue-interface/form-control').FormControlErrorPropRecord;
feedback?: import('@vue-interface/form-control').FormControlFeedbackProp;
formControlClass?: string;
helpText?: string;
id?: string;
indicator?: import('vue').Component;
indicatorSize?: import('@vue-interface/sizeable').ComponentSize<import('@vue-interface/activity-indicator').ActivityIndicatorSizePrefix>;
invalid?: boolean;
label?: string;
labelClass?: string;
modelValue?: ModelValue | undefined;
name?: string;
plaintext?: boolean;
size?: import('@vue-interface/form-control').FormControlSize<"form-select"> | undefined;
color?: string;
readonly?: boolean;
valid?: boolean;
value?: Value | undefined;
} & Omit<SelectHTMLAttributes, "size">) & Partial<{}>> & import('vue').PublicProps;
expose(exposed: import('vue').ShallowUnwrapRef<{
activity: Readonly<import('vue').ShallowRef<import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
size?: import('@vue-interface/sizeable').ComponentSize<import('@vue-interface/activity-indicator').ActivityIndicatorSizePrefix>;
type: import('vue').Component;
}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
size: import('@vue-interface/sizeable').ComponentSize<import('@vue-interface/activity-indicator').ActivityIndicatorSizePrefix>;
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<{
size?: import('@vue-interface/sizeable').ComponentSize<import('@vue-interface/activity-indicator').ActivityIndicatorSizePrefix>;
type: import('vue').Component;
}> & Readonly<{}>, {}, {}, {}, {}, {
size: import('@vue-interface/sizeable').ComponentSize<import('@vue-interface/activity-indicator').ActivityIndicatorSizePrefix>;
}> | null>>;
help: Readonly<import('vue').ShallowRef<HTMLElement | null>>;
field: Readonly<import('vue').ShallowRef<HTMLSelectElement | null>>;
label: Readonly<import('vue').ShallowRef<HTMLLabelElement | null>>;
wrapper: Readonly<import('vue').ShallowRef<HTMLDivElement | null>>;
focus: () => void | undefined;
blur: () => void | undefined;
}>): void;
attrs: any;
slots: Readonly<FormControlSlots<"form-select", ModelValue> & {
default: () => unknown;
}> & FormControlSlots<"form-select", ModelValue> & {
default: () => unknown;
};
emit: (((evt: "input", event: Event) => void) & ((evt: "select", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "focusin", event: FocusEvent) => void) & ((evt: "focusout", event: FocusEvent) => void) & ((evt: "click", event: MouseEvent) => void) & ((evt: "doubleclick", event: MouseEvent) => void) & ((evt: "contextmenu", event: MouseEvent) => void) & ((evt: "mousedown", event: MouseEvent) => void) & ((evt: "mouseup", event: MouseEvent) => void) & ((evt: "mouseover", event: MouseEvent) => void) & ((evt: "mouseout", event: MouseEvent) => void) & ((evt: "mouseenter", event: MouseEvent) => void) & ((evt: "mouseleave", event: MouseEvent) => void) & ((evt: "mousemove", event: MouseEvent) => void) & ((evt: "keydown", event: KeyboardEvent) => void) & ((evt: "keyup", event: KeyboardEvent) => void) & ((evt: "keypress", event: KeyboardEvent) => void) & ((evt: "selectionchange", event: Event) => void) & ((evt: "invalid", event: Event) => void) & ((evt: "submit", event: Event) => void) & ((evt: "reset", event: Event) => void) & ((evt: "scroll", event: Event) => void) & ((evt: "wheel", event: WheelEvent) => void) & ((evt: "copy", event: ClipboardEvent) => void) & ((evt: "cut", event: ClipboardEvent) => void) & ((evt: "paste", event: ClipboardEvent) => void) & ((evt: "touchstart", event: TouchEvent) => void) & ((evt: "touchend", event: TouchEvent) => void) & ((evt: "touchmove", event: TouchEvent) => void) & ((evt: "touchcancel", event: TouchEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "beforeinput", event: Event) => void)) & ((evt: "update:modelValue", value: ModelValue) => void);
}>) => import('vue').VNode & {
__ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
[K in keyof T]: T[K];
} & {};