auto complete

This commit is contained in:
Luiz Silva 2026-07-13 14:53:47 -03:00
parent 642ccf4c1a
commit 1ee3b2d207
9 changed files with 2166 additions and 2163 deletions

3934
dist/eli-vue.es.js vendored

File diff suppressed because one or more lines are too long

74
dist/eli-vue.umd.js vendored

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,6 @@
import { type PropType } from "vue";
import type { PadroesEntradas } from "./tiposEntradas";
import { filtroSelecao } from "./utils/filtroSelecao";
type EntradaSelecao = PadroesEntradas["selecao"];
type ItemSelecao = {
chave: string;
@ -31,6 +32,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
itemProps: import("vue").ComputedRef<((item: ItemSelecao) => {
disabled: boolean;
}) | undefined>;
filtroSelecao: typeof filtroSelecao;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"update:value": (_v: EntradaSelecao["value"]) => true;
input: (_v: EntradaSelecao["value"]) => true;
@ -55,7 +57,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}>, {
value: string | null | undefined;
}, {}, {
VSelect: {
VAutocomplete: {
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
filterKeys: import("vuetify/lib/composables/filter.mjs").FilterKeys;
@ -68,11 +70,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
rules: readonly (string | boolean | PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult> | ((value: any) => import("vuetify/lib/composables/validation.mjs").ValidationResult) | ((value: any) => PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult>) | [string, any, (string | undefined)?])[];
density: import("vuetify/lib/composables/density.mjs").Density;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -106,6 +103,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
} & {
theme?: string | undefined;
class?: any;
@ -618,19 +616,21 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNodeChild) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined;
itemColor?: string | undefined;
autoSelectFirst?: "exact" | boolean | undefined;
search?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
"onUpdate:menu"?: ((value: boolean) => any) | undefined;
"onUpdate:search"?: ((value: any) => any) | undefined;
}, {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -2286,12 +2286,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "appendIcon" | "appendInnerIcon" | "autocomplete" | "baseColor" | "bgColor" | "class" | "color" | "counter" | "counterValue" | "hideDetails" | "hint" | "iconColor" | "id" | "label" | "loading" | "maxWidth" | "minWidth" | "modelModifiers" | "modelValue" | "name" | "onClick:append" | "onClick:appendInner" | "onClick:clear" | "onClick:control" | "onClick:prepend" | "onClick:prependInner" | "onMousedown:control" | "onUpdate:focused" | "onUpdate:modelValue" | "placeholder" | "prefix" | "prependIcon" | "prependInnerIcon" | "role" | "suffix" | "theme" | "v-slot:append" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:counter" | "v-slot:default" | "v-slot:details" | "v-slot:label" | "v-slot:loader" | "v-slot:message" | "v-slot:prepend" | "v-slot:prepend-inner" | "v-slots" | "validateOn" | "validationValue" | "width" | ("active" | "autofocus" | "centerAffix" | "clearIcon" | "clearable" | "density" | "dirty" | "disabled" | "error" | "errorMessages" | "flat" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentClear" | "persistentCounter" | "persistentHint" | "persistentPlaceholder" | "readonly" | "reverse" | "rounded" | "rules" | "singleLine" | "style" | "tile" | "type" | "variant") | keyof import("vue").VNodeProps>, `$${any}`> & {
_allExposed: {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} | (HTMLInputElement & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -2813,9 +2814,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
});
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
"update:focused": (focused: boolean) => true;
"update:search": (value: any) => true;
"update:modelValue": (value: any) => true;
"update:menu": (ue: boolean) => true;
"update:search": (value: string) => true;
"update:menu": (value: boolean) => true;
}, "$children" | "itemProps" | "itemTitle" | "itemValue" | "items" | "modelValue" | "multiple" | "returnObject" | "update:modelValue" | "v-slot:append" | "v-slot:append-inner" | "v-slot:append-item" | "v-slot:chip" | "v-slot:clear" | "v-slot:details" | "v-slot:divider" | "v-slot:item" | "v-slot:label" | "v-slot:loader" | "v-slot:menu-footer" | "v-slot:menu-header" | "v-slot:message" | "v-slot:no-data" | "v-slot:prepend" | "v-slot:prepend-inner" | "v-slot:prepend-item" | "v-slot:selection" | "v-slot:subheader" | "v-slots">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
style: import("vue").StyleValue;
filterKeys: import("vuetify/lib/composables/filter.mjs").FilterKeys;
@ -2829,11 +2830,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
density: import("vuetify/lib/composables/density.mjs").Density;
rounded: string | number | boolean;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -2868,6 +2864,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
}, true, {}, import("vue").SlotsType<Partial<{
prepend: (arg: import("vuetify/lib/components/VInput/VInput.mjs").VInputSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
@ -2973,11 +2970,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
rules: readonly (string | boolean | PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult> | ((value: any) => import("vuetify/lib/composables/validation.mjs").ValidationResult) | ((value: any) => PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult>) | [string, any, (string | undefined)?])[];
density: import("vuetify/lib/composables/density.mjs").Density;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -3011,6 +3003,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
} & {
theme?: string | undefined;
class?: any;
@ -3523,19 +3516,21 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNodeChild) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined;
itemColor?: string | undefined;
autoSelectFirst?: "exact" | boolean | undefined;
search?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
"onUpdate:menu"?: ((value: boolean) => any) | undefined;
"onUpdate:search"?: ((value: any) => any) | undefined;
}, {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -5191,12 +5186,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "appendIcon" | "appendInnerIcon" | "autocomplete" | "baseColor" | "bgColor" | "class" | "color" | "counter" | "counterValue" | "hideDetails" | "hint" | "iconColor" | "id" | "label" | "loading" | "maxWidth" | "minWidth" | "modelModifiers" | "modelValue" | "name" | "onClick:append" | "onClick:appendInner" | "onClick:clear" | "onClick:control" | "onClick:prepend" | "onClick:prependInner" | "onMousedown:control" | "onUpdate:focused" | "onUpdate:modelValue" | "placeholder" | "prefix" | "prependIcon" | "prependInnerIcon" | "role" | "suffix" | "theme" | "v-slot:append" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:counter" | "v-slot:default" | "v-slot:details" | "v-slot:label" | "v-slot:loader" | "v-slot:message" | "v-slot:prepend" | "v-slot:prepend-inner" | "v-slots" | "validateOn" | "validationValue" | "width" | ("active" | "autofocus" | "centerAffix" | "clearIcon" | "clearable" | "density" | "dirty" | "disabled" | "error" | "errorMessages" | "flat" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentClear" | "persistentCounter" | "persistentHint" | "persistentPlaceholder" | "readonly" | "reverse" | "rounded" | "rules" | "singleLine" | "style" | "tile" | "type" | "variant") | keyof import("vue").VNodeProps>, `$${any}`> & {
_allExposed: {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} | (HTMLInputElement & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -5729,11 +5725,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
density: import("vuetify/lib/composables/density.mjs").Density;
rounded: string | number | boolean;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -5768,6 +5759,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
@ -5784,11 +5776,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
rules: readonly (string | boolean | PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult> | ((value: any) => import("vuetify/lib/composables/validation.mjs").ValidationResult) | ((value: any) => PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult>) | [string, any, (string | undefined)?])[];
density: import("vuetify/lib/composables/density.mjs").Density;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -5822,6 +5809,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
} & {
theme?: string | undefined;
class?: any;
@ -6334,19 +6322,21 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNodeChild) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined;
itemColor?: string | undefined;
autoSelectFirst?: "exact" | boolean | undefined;
search?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
"onUpdate:menu"?: ((value: boolean) => any) | undefined;
"onUpdate:search"?: ((value: any) => any) | undefined;
}, {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -7937,12 +7927,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
} & import("vue").ComponentCustomProperties, "flat" | "name" | "color" | "type" | "variant" | "disabled" | "loading" | "reverse" | "error" | "label" | "style" | "class" | keyof import("vue").VNodeProps | "centerAffix" | "density" | "errorMessages" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentHint" | "readonly" | "rules" | "theme" | "onUpdate:focused" | "validateOn" | "validationValue" | "maxWidth" | "minWidth" | "width" | "id" | "appendIcon" | "baseColor" | "iconColor" | "prependIcon" | "hideDetails" | "hint" | "onClick:prepend" | "onClick:append" | "$children" | "modelValue" | "onUpdate:modelValue" | "v-slot:append" | "v-slot:default" | "v-slot:details" | "v-slot:message" | "v-slot:prepend" | "v-slots" | "v-slot:label" | "v-slot:loader" | "role" | "placeholder" | "rounded" | "tile" | "appendInnerIcon" | "bgColor" | "clearable" | "clearIcon" | "active" | "dirty" | "persistentClear" | "prependInnerIcon" | "singleLine" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "autocomplete" | "autofocus" | "counter" | "counterValue" | "prefix" | "persistentPlaceholder" | "persistentCounter" | "suffix" | "modelModifiers" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:counter" | "v-slot:prepend-inner" | "onClick:control" | "onMousedown:control">, `$${any}`> & {
_allExposed: {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} | (HTMLInputElement & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -8464,9 +8455,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
});
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
"update:focused": (focused: boolean) => true;
"update:search": (value: any) => true;
"update:modelValue": (value: any) => true;
"update:menu": (ue: boolean) => true;
"update:search": (value: string) => true;
"update:menu": (value: boolean) => true;
}, "$children" | "modelValue" | "v-slot:append" | "v-slot:details" | "v-slot:message" | "v-slot:prepend" | "v-slots" | "update:modelValue" | "v-slot:label" | "v-slot:loader" | "multiple" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:prepend-inner" | "itemProps" | "itemTitle" | "itemValue" | "items" | "returnObject" | "v-slot:append-item" | "v-slot:chip" | "v-slot:divider" | "v-slot:item" | "v-slot:menu-footer" | "v-slot:menu-header" | "v-slot:no-data" | "v-slot:prepend-item" | "v-slot:selection" | "v-slot:subheader">, string, {
style: import("vue").StyleValue;
filterKeys: import("vuetify/lib/composables/filter.mjs").FilterKeys;
@ -8480,11 +8471,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
density: import("vuetify/lib/composables/density.mjs").Density;
rounded: string | number | boolean;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -8519,6 +8505,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
}, {}, string, import("vue").SlotsType<Partial<{
prepend: (arg: import("vuetify/lib/components/VInput/VInput.mjs").VInputSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
@ -8605,11 +8592,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T extends readonly any[], Item = import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>, ReturnObject extends boolean = false, Multiple extends boolean = false, V extends import("vuetify/lib/components/VSelect/VSelect.mjs").Value<Item, ReturnObject, Multiple> = import("vuetify/lib/components/VSelect/VSelect.mjs").Value<Item, ReturnObject, Multiple>>(props: {
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T extends readonly any[], Item = import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>, ReturnObject extends boolean = false, Multiple extends boolean = false, V extends import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").Value<Item, ReturnObject, Multiple> = import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").Value<Item, ReturnObject, Multiple>>(props: {
items?: T | undefined;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
returnObject?: ReturnObject | undefined;
multiple?: Multiple | undefined;
modelValue?: V | null | undefined;
@ -8650,9 +8637,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
};
}) => import("vuetify/lib/util/defineComponent.mjs").GenericProps<{
items?: T | undefined;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
returnObject?: ReturnObject | undefined;
multiple?: Multiple | undefined;
modelValue?: V | null | undefined;
@ -8747,18 +8734,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
minWidth: (NumberConstructor | StringConstructor)[];
width: (NumberConstructor | StringConstructor)[];
loading: (BooleanConstructor | StringConstructor)[];
transition: {
type: PropType<string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
default: {
component: import("vue").Component;
} | NonNullable<string | boolean | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
};
id: StringConstructor;
appendIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
prependIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
@ -9356,6 +9331,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
openOnClear: BooleanConstructor;
itemColor: StringConstructor;
noAutoScroll: BooleanConstructor;
autoSelectFirst: {
type: PropType<"exact" | boolean>;
};
clearOnSelect: BooleanConstructor;
search: StringConstructor;
}, import("vue").ExtractPropTypes<{
theme: StringConstructor;
@ -9413,18 +9392,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
minWidth: (NumberConstructor | StringConstructor)[];
width: (NumberConstructor | StringConstructor)[];
loading: (BooleanConstructor | StringConstructor)[];
transition: {
type: PropType<string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
default: {
component: import("vue").Component;
} | NonNullable<string | boolean | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
};
id: StringConstructor;
appendIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
prependIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
@ -10022,6 +9989,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
openOnClear: BooleanConstructor;
itemColor: StringConstructor;
noAutoScroll: BooleanConstructor;
autoSelectFirst: {
type: PropType<"exact" | boolean>;
};
clearOnSelect: BooleanConstructor;
search: StringConstructor;
}>>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

View file

@ -1,5 +1,6 @@
import { type PropType } from "vue";
import type { PadroesEntradas } from "./tiposEntradas";
import { filtroSelecao } from "./utils/filtroSelecao";
type EntradaSelecaoMultipla = PadroesEntradas["selecaoMultipla"];
type ItemSelecao = {
chave: string;
@ -31,6 +32,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
itemProps: import("vue").ComputedRef<((item: ItemSelecao) => {
disabled: boolean;
}) | undefined>;
filtroSelecao: typeof filtroSelecao;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"update:value": (_v: EntradaSelecaoMultipla["value"]) => true;
input: (_v: EntradaSelecaoMultipla["value"]) => true;
@ -55,7 +57,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}>, {
value: string[] | null | undefined;
}, {}, {
VSelect: {
VAutocomplete: {
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
filterKeys: import("vuetify/lib/composables/filter.mjs").FilterKeys;
@ -68,11 +70,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
rules: readonly (string | boolean | PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult> | ((value: any) => import("vuetify/lib/composables/validation.mjs").ValidationResult) | ((value: any) => PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult>) | [string, any, (string | undefined)?])[];
density: import("vuetify/lib/composables/density.mjs").Density;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -106,6 +103,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
} & {
theme?: string | undefined;
class?: any;
@ -618,19 +616,21 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNodeChild) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined;
itemColor?: string | undefined;
autoSelectFirst?: "exact" | boolean | undefined;
search?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
"onUpdate:menu"?: ((value: boolean) => any) | undefined;
"onUpdate:search"?: ((value: any) => any) | undefined;
}, {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -2286,12 +2286,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "appendIcon" | "appendInnerIcon" | "autocomplete" | "baseColor" | "bgColor" | "class" | "color" | "counter" | "counterValue" | "hideDetails" | "hint" | "iconColor" | "id" | "label" | "loading" | "maxWidth" | "minWidth" | "modelModifiers" | "modelValue" | "name" | "onClick:append" | "onClick:appendInner" | "onClick:clear" | "onClick:control" | "onClick:prepend" | "onClick:prependInner" | "onMousedown:control" | "onUpdate:focused" | "onUpdate:modelValue" | "placeholder" | "prefix" | "prependIcon" | "prependInnerIcon" | "role" | "suffix" | "theme" | "v-slot:append" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:counter" | "v-slot:default" | "v-slot:details" | "v-slot:label" | "v-slot:loader" | "v-slot:message" | "v-slot:prepend" | "v-slot:prepend-inner" | "v-slots" | "validateOn" | "validationValue" | "width" | ("active" | "autofocus" | "centerAffix" | "clearIcon" | "clearable" | "density" | "dirty" | "disabled" | "error" | "errorMessages" | "flat" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentClear" | "persistentCounter" | "persistentHint" | "persistentPlaceholder" | "readonly" | "reverse" | "rounded" | "rules" | "singleLine" | "style" | "tile" | "type" | "variant") | keyof import("vue").VNodeProps>, `$${any}`> & {
_allExposed: {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} | (HTMLInputElement & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -2813,9 +2814,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
});
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
"update:focused": (focused: boolean) => true;
"update:search": (value: any) => true;
"update:modelValue": (value: any) => true;
"update:menu": (ue: boolean) => true;
"update:search": (value: string) => true;
"update:menu": (value: boolean) => true;
}, "$children" | "itemProps" | "itemTitle" | "itemValue" | "items" | "modelValue" | "multiple" | "returnObject" | "update:modelValue" | "v-slot:append" | "v-slot:append-inner" | "v-slot:append-item" | "v-slot:chip" | "v-slot:clear" | "v-slot:details" | "v-slot:divider" | "v-slot:item" | "v-slot:label" | "v-slot:loader" | "v-slot:menu-footer" | "v-slot:menu-header" | "v-slot:message" | "v-slot:no-data" | "v-slot:prepend" | "v-slot:prepend-inner" | "v-slot:prepend-item" | "v-slot:selection" | "v-slot:subheader" | "v-slots">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
style: import("vue").StyleValue;
filterKeys: import("vuetify/lib/composables/filter.mjs").FilterKeys;
@ -2829,11 +2830,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
density: import("vuetify/lib/composables/density.mjs").Density;
rounded: string | number | boolean;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -2868,6 +2864,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
}, true, {}, import("vue").SlotsType<Partial<{
prepend: (arg: import("vuetify/lib/components/VInput/VInput.mjs").VInputSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
@ -2973,11 +2970,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
rules: readonly (string | boolean | PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult> | ((value: any) => import("vuetify/lib/composables/validation.mjs").ValidationResult) | ((value: any) => PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult>) | [string, any, (string | undefined)?])[];
density: import("vuetify/lib/composables/density.mjs").Density;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -3011,6 +3003,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
} & {
theme?: string | undefined;
class?: any;
@ -3523,19 +3516,21 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNodeChild) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined;
itemColor?: string | undefined;
autoSelectFirst?: "exact" | boolean | undefined;
search?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
"onUpdate:menu"?: ((value: boolean) => any) | undefined;
"onUpdate:search"?: ((value: any) => any) | undefined;
}, {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -5191,12 +5186,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}> & {} & import("vue").ComponentCustomProperties & {}, "$children" | "appendIcon" | "appendInnerIcon" | "autocomplete" | "baseColor" | "bgColor" | "class" | "color" | "counter" | "counterValue" | "hideDetails" | "hint" | "iconColor" | "id" | "label" | "loading" | "maxWidth" | "minWidth" | "modelModifiers" | "modelValue" | "name" | "onClick:append" | "onClick:appendInner" | "onClick:clear" | "onClick:control" | "onClick:prepend" | "onClick:prependInner" | "onMousedown:control" | "onUpdate:focused" | "onUpdate:modelValue" | "placeholder" | "prefix" | "prependIcon" | "prependInnerIcon" | "role" | "suffix" | "theme" | "v-slot:append" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:counter" | "v-slot:default" | "v-slot:details" | "v-slot:label" | "v-slot:loader" | "v-slot:message" | "v-slot:prepend" | "v-slot:prepend-inner" | "v-slots" | "validateOn" | "validationValue" | "width" | ("active" | "autofocus" | "centerAffix" | "clearIcon" | "clearable" | "density" | "dirty" | "disabled" | "error" | "errorMessages" | "flat" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentClear" | "persistentCounter" | "persistentHint" | "persistentPlaceholder" | "readonly" | "reverse" | "rounded" | "rules" | "singleLine" | "style" | "tile" | "type" | "variant") | keyof import("vue").VNodeProps>, `$${any}`> & {
_allExposed: {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} | (HTMLInputElement & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -5729,11 +5725,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
density: import("vuetify/lib/composables/density.mjs").Density;
rounded: string | number | boolean;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -5768,6 +5759,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
@ -5784,11 +5776,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
rules: readonly (string | boolean | PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult> | ((value: any) => import("vuetify/lib/composables/validation.mjs").ValidationResult) | ((value: any) => PromiseLike<import("vuetify/lib/composables/validation.mjs").ValidationResult>) | [string, any, (string | undefined)?])[];
density: import("vuetify/lib/composables/density.mjs").Density;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -5822,6 +5809,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
} & {
theme?: string | undefined;
class?: any;
@ -6334,19 +6322,21 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNodeChild) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined;
itemColor?: string | undefined;
autoSelectFirst?: "exact" | boolean | undefined;
search?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
"onUpdate:menu"?: ((value: boolean) => any) | undefined;
"onUpdate:search"?: ((value: any) => any) | undefined;
}, {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -7937,12 +7927,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
} & import("vue").ComponentCustomProperties, "flat" | "name" | "color" | "type" | "variant" | "disabled" | "loading" | "reverse" | "error" | "label" | "style" | "class" | keyof import("vue").VNodeProps | "centerAffix" | "density" | "errorMessages" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentHint" | "readonly" | "rules" | "theme" | "onUpdate:focused" | "validateOn" | "validationValue" | "maxWidth" | "minWidth" | "width" | "id" | "appendIcon" | "baseColor" | "iconColor" | "prependIcon" | "hideDetails" | "hint" | "onClick:prepend" | "onClick:append" | "$children" | "modelValue" | "onUpdate:modelValue" | "v-slot:append" | "v-slot:default" | "v-slot:details" | "v-slot:message" | "v-slot:prepend" | "v-slots" | "v-slot:label" | "v-slot:loader" | "role" | "placeholder" | "rounded" | "tile" | "appendInnerIcon" | "bgColor" | "clearable" | "clearIcon" | "active" | "dirty" | "persistentClear" | "prependInnerIcon" | "singleLine" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "autocomplete" | "autofocus" | "counter" | "counterValue" | "prefix" | "persistentPlaceholder" | "persistentCounter" | "suffix" | "modelModifiers" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:counter" | "v-slot:prepend-inner" | "onClick:control" | "onMousedown:control">, `$${any}`> & {
_allExposed: {
isFocused: import("vue").ShallowRef<boolean, boolean>;
isPristine: import("vue").ShallowRef<boolean, boolean>;
menu: import("vue").WritableComputedRef<boolean, boolean>;
search: import("vue").Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: import("vue").ShallowRef<import("vuetify/lib/composables/list-items.mjs").ListItem<any>[], import("vuetify/lib/composables/list-items.mjs").ListItem<any>[]>;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any>, set?: boolean | null) => void;
select: (item: import("vuetify/lib/composables/list-items.mjs").ListItem<any> | undefined, set?: boolean | null) => void;
} | (HTMLInputElement & Omit<Omit<{
$: import("vue").ComponentInternalInstance;
$data: {};
@ -8464,9 +8455,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
});
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
"update:focused": (focused: boolean) => true;
"update:search": (value: any) => true;
"update:modelValue": (value: any) => true;
"update:menu": (ue: boolean) => true;
"update:search": (value: string) => true;
"update:menu": (value: boolean) => true;
}, "$children" | "modelValue" | "v-slot:append" | "v-slot:details" | "v-slot:message" | "v-slot:prepend" | "v-slots" | "update:modelValue" | "v-slot:label" | "v-slot:loader" | "multiple" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:prepend-inner" | "itemProps" | "itemTitle" | "itemValue" | "items" | "returnObject" | "v-slot:append-item" | "v-slot:chip" | "v-slot:divider" | "v-slot:item" | "v-slot:menu-footer" | "v-slot:menu-header" | "v-slot:no-data" | "v-slot:prepend-item" | "v-slot:selection" | "v-slot:subheader">, string, {
style: import("vue").StyleValue;
filterKeys: import("vuetify/lib/composables/filter.mjs").FilterKeys;
@ -8480,11 +8471,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
density: import("vuetify/lib/composables/density.mjs").Density;
rounded: string | number | boolean;
tile: boolean;
transition: string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
@ -8519,6 +8505,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
clearOnSelect: boolean;
}, {}, string, import("vue").SlotsType<Partial<{
prepend: (arg: import("vuetify/lib/components/VInput/VInput.mjs").VInputSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
@ -8605,11 +8592,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T extends readonly any[], Item = import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>, ReturnObject extends boolean = false, Multiple extends boolean = false, V extends import("vuetify/lib/components/VSelect/VSelect.mjs").Value<Item, ReturnObject, Multiple> = import("vuetify/lib/components/VSelect/VSelect.mjs").Value<Item, ReturnObject, Multiple>>(props: {
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T extends readonly any[], Item = import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>, ReturnObject extends boolean = false, Multiple extends boolean = false, V extends import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").Value<Item, ReturnObject, Multiple> = import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").Value<Item, ReturnObject, Multiple>>(props: {
items?: T | undefined;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
returnObject?: ReturnObject | undefined;
multiple?: Multiple | undefined;
modelValue?: V | null | undefined;
@ -8650,9 +8637,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
};
}) => import("vuetify/lib/util/defineComponent.mjs").GenericProps<{
items?: T | undefined;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VSelect/VSelect.mjs").ItemType<T>>;
itemTitle?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemValue?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
itemProps?: import("vuetify/lib/util/helpers.mjs").SelectItemKey<import("vuetify/lib/components/VAutocomplete/VAutocomplete.mjs").ItemType<T>>;
returnObject?: ReturnObject | undefined;
multiple?: Multiple | undefined;
modelValue?: V | null | undefined;
@ -8747,18 +8734,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
minWidth: (NumberConstructor | StringConstructor)[];
width: (NumberConstructor | StringConstructor)[];
loading: (BooleanConstructor | StringConstructor)[];
transition: {
type: PropType<string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
default: {
component: import("vue").Component;
} | NonNullable<string | boolean | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
};
id: StringConstructor;
appendIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
prependIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
@ -9356,6 +9331,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
openOnClear: BooleanConstructor;
itemColor: StringConstructor;
noAutoScroll: BooleanConstructor;
autoSelectFirst: {
type: PropType<"exact" | boolean>;
};
clearOnSelect: BooleanConstructor;
search: StringConstructor;
}, import("vue").ExtractPropTypes<{
theme: StringConstructor;
@ -9413,18 +9392,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
minWidth: (NumberConstructor | StringConstructor)[];
width: (NumberConstructor | StringConstructor)[];
loading: (BooleanConstructor | StringConstructor)[];
transition: {
type: PropType<string | boolean | {
component: import("vue").Component;
} | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
default: {
component: import("vue").Component;
} | NonNullable<string | boolean | (import("vue").TransitionProps & {
component?: import("vue").Component | undefined;
}) | null>;
};
id: StringConstructor;
appendIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
prependIcon: PropType<import("vuetify/lib/composables/icons.mjs").IconValue>;
@ -10022,6 +9989,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
openOnClear: BooleanConstructor;
itemColor: StringConstructor;
noAutoScroll: BooleanConstructor;
autoSelectFirst: {
type: PropType<"exact" | boolean>;
};
clearOnSelect: BooleanConstructor;
search: StringConstructor;
}>>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

View file

@ -0,0 +1,15 @@
/**
* Utilitário de filtragem para os componentes de seleção (EliEntradaSelecao e EliEntradaSelecaoMultipla).
*
* Normaliza a string removendo acentos e convertendo para minúsculas antes de comparar,
* garantindo que "São Paulo" seja encontrado digitando "sao paulo" ou "SÃO PAULO".
*/
/**
* Função de filtro customizada para v-autocomplete do Vuetify.
*
* Vuetify passa (value, query, item):
* - `value` → texto do item renderizado (item-title resolvido)
* - `query` → texto digitado pelo usuário
* - `item` → objeto completo do item (não usado aqui)
*/
export declare function filtroSelecao(value: string, query: string): boolean;

View file

@ -1,6 +1,6 @@
{
"name": "eli-vue",
"version": "0.1.218",
"version": "0.1.222",
"private": false,
"main": "./dist/eli-vue.umd.js",
"module": "./dist/eli-vue.es.js",

View file

@ -1,5 +1,5 @@
<template>
<v-select
<v-autocomplete
v-model="localValue"
:label="opcoes?.rotulo"
:placeholder="opcoes?.placeholder"
@ -18,6 +18,9 @@
:density="opcoes?.densidade ?? 'comfortable'"
:variant="opcoes?.variante ?? 'outlined'"
:readonly="Boolean(opcoes?.apenasLeitura)"
:custom-filter="filtroSelecao"
auto-select-first
no-data-text="Nenhum resultado encontrado"
v-bind="attrs"
@focus="() => emit('focus')"
@blur="() => emit('blur')"
@ -26,15 +29,16 @@
<script lang="ts">
import { computed, defineComponent, onMounted, type PropType, ref, watch } from "vue"
import { VSelect } from "vuetify/components"
import { VAutocomplete } from "vuetify/components"
import type { PadroesEntradas } from "./tiposEntradas"
import { filtroSelecao } from "./utils/filtroSelecao"
type EntradaSelecao = PadroesEntradas["selecao"]
type ItemSelecao = { chave: string; rotulo: string }
export default defineComponent({
name: "EliEntradaSelecao",
components: { VSelect },
components: { VAutocomplete },
inheritAttrs: false,
props: {
value: {
@ -109,7 +113,7 @@ export default defineComponent({
return (item: ItemSelecao) => ({ disabled: desativados.includes(item.chave) })
})
return { attrs, emit, localValue, itens, carregando, itemProps }
return { attrs, emit, localValue, itens, carregando, itemProps, filtroSelecao }
},
})
</script>

View file

@ -1,5 +1,5 @@
<template>
<v-select
<v-autocomplete
v-model="localValue"
:label="opcoes?.rotulo"
:placeholder="opcoes?.placeholder"
@ -20,6 +20,8 @@
multiple
chips
closable-chips
:custom-filter="filtroSelecao"
no-data-text="Nenhum resultado encontrado"
:readonly="Boolean(opcoes?.apenasLeitura)"
v-bind="attrs"
@focus="() => emit('focus')"
@ -29,15 +31,16 @@
<script lang="ts">
import { computed, defineComponent, onMounted, type PropType, ref, watch } from "vue"
import { VSelect } from "vuetify/components"
import { VAutocomplete } from "vuetify/components"
import type { PadroesEntradas } from "./tiposEntradas"
import { filtroSelecao } from "./utils/filtroSelecao"
type EntradaSelecaoMultipla = PadroesEntradas["selecaoMultipla"]
type ItemSelecao = { chave: string; rotulo: string }
export default defineComponent({
name: "EliEntradaSelecaoMultipla",
components: { VSelect },
components: { VAutocomplete },
inheritAttrs: false,
props: {
value: {
@ -98,7 +101,7 @@ export default defineComponent({
return (item: ItemSelecao) => ({ disabled: desativados.includes(item.chave) })
})
return { attrs, emit, localValue, itens, carregando, itemProps }
return { attrs, emit, localValue, itens, carregando, itemProps, filtroSelecao }
},
})
</script>

View file

@ -0,0 +1,27 @@
/**
* Utilitário de filtragem para os componentes de seleção (EliEntradaSelecao e EliEntradaSelecaoMultipla).
*
* Normaliza a string removendo acentos e convertendo para minúsculas antes de comparar,
* garantindo que "São Paulo" seja encontrado digitando "sao paulo" ou "SÃO PAULO".
*/
/** Remove acentos e converte para minúsculas para comparação insensível. */
function normalizar(texto: string): string {
return texto
.normalize("NFD") // decompõe caracteres acentuados (ex: "ã" → "a" + diacrítico)
.replace(/\p{Diacritic}/gu, "") // remove os diacríticos
.toLowerCase()
}
/**
* Função de filtro customizada para v-autocomplete do Vuetify.
*
* Vuetify passa (value, query, item):
* - `value` → texto do item renderizado (item-title resolvido)
* - `query` → texto digitado pelo usuário
* - `item` → objeto completo do item (não usado aqui)
*/
export function filtroSelecao(value: string, query: string): boolean {
if (!query) return true
return normalizar(value).includes(normalizar(query))
}