vuetify 3.10.1 → 3.10.2
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/LICENSE.md +21 -0
- package/README.md +331 -0
- package/dist/json/attributes.json +3758 -3758
- package/dist/json/importMap-labs.json +14 -14
- package/dist/json/importMap.json +162 -162
- package/dist/json/web-types.json +6612 -6612
- package/dist/vuetify-labs.cjs +14 -97
- package/dist/vuetify-labs.css +4544 -4544
- package/dist/vuetify-labs.d.ts +49 -50
- package/dist/vuetify-labs.esm.js +14 -97
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +14 -97
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +14 -97
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +6241 -6241
- package/dist/vuetify.d.ts +49 -50
- package/dist/vuetify.esm.js +14 -97
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +14 -97
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +692 -704
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +5 -2
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VChip/VChip.js +3 -4
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -1
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -1
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/composables/router.d.ts +0 -1
- package/lib/composables/router.js +0 -6
- package/lib/composables/router.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +49 -49
- package/lib/framework.js +1 -1
- package/package.json +1 -1
|
@@ -292,7 +292,7 @@ export const VAutocomplete = genericComponent()({
|
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
294
|
});
|
|
295
|
-
watch(
|
|
295
|
+
watch(items, (newVal, oldVal) => {
|
|
296
296
|
if (menu.value) return;
|
|
297
297
|
if (isFocused.value && !oldVal.length && newVal.length) {
|
|
298
298
|
menu.value = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VAutocomplete.js","names":["VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeSelectProps","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useTextColor","highlightResult","makeFilterProps","useFilter","useForm","forwardRefs","useItems","useLocale","useMenuActivator","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","noop","omit","propsFactory","useRender","wrapInArray","makeVAutocompleteProps","autoSelectFirst","type","Boolean","String","clearOnSelect","search","filterKeys","modelValue","role","transition","VAutocomplete","name","props","emits","focused","value","setup","_ref","slots","t","vTextFieldRef","isFocused","isPristine","listHasFocus","vMenuRef","vVirtualScrollRef","selectionIndex","items","transformIn","transformOut","textColorClasses","textColorStyles","color","model","v","transformed","multiple","counterValue","length","form","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","hasChips","chips","chip","hasSelectionSlot","selection","selectedValues","map","highlightFirst","selectFirst","title","menuDisabled","hideNoData","isReadonly","isDisabled","_menu","menu","get","set","ΨopenChildren","size","menuId","ariaExpanded","ariaControls","ariaLabel","listRef","listEvents","onClear","e","openOnClear","onMousedownControl","onMousedownMenuIcon","preventDefault","stopPropagation","onListKeydown","key","focus","onKeydown","selectionStart","includes","_ref2","select","originalSelectionIndex","prev","searchLength","setSelectionRange","next","onChange","item","find","target","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","onFocusin","setTimeout","onFocusout","onUpdateModelValue","isSelecting","arguments","undefined","disabled","index","findIndex","valueComparator","add","splice","val","oldVal","at","window","requestAnimationFrame","scrollToIndex","newVal","hasList","isDirty","textFieldProps","filterProps","_createVNode","_mergeProps","$event","externalValue","class","style","placeholder","default","_createElementVNode","_Fragment","menuProps","itemColor","listProps","noDataText","_ref3","itemRef","itemProps","active","onClick","divider","raw","subheader","prepend","_ref4","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","_normalizeClass","_normalizeStyle","closableChips","closable","text","_createTextVNode","append-inner","_len","args","Array","_key","menuIcon","fieldIconColor"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem, VListSubheader } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { highlightResult, makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useMenuActivator } from '@/composables/menuActivator'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n noop,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVAutocompleteProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n clearOnSelect: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VAutocomplete')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VAutocomplete = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n subheader: { props: Record<string, unknown>, index: number }\n divider: { props: Record<string, unknown>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VAutocomplete',\n\n props: makeVAutocompleteProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:search': (value: any) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref<VTextField>()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const selectionIndex = shallowRef(-1)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => vTextFieldRef.value?.color)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : model.value.length\n })\n const form = useForm(props)\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const hasChips = computed(() => !!(props.chips || slots.chip))\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection)\n\n const selectedValues = computed(() => model.value.map(selection => selection.props.value))\n\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n if (v && menuDisabled.value) return\n _menu.value = v\n },\n })\n\n const { menuId, ariaExpanded, ariaControls, ariaLabel } = useMenuActivator(props, menu)\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (checkPrintable(e) || e.key === 'Backspace') {\n vTextFieldRef.value?.focus()\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (form.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value?.selectionStart\n const length = model.value.length\n\n if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (\n highlightFirst.value &&\n ['Enter', 'Tab'].includes(e.key) &&\n !model.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(displayItems.value[0])\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (\n !props.multiple &&\n hasSelectionSlot.value &&\n model.value.length > 0 &&\n !search.value\n ) return select(model.value[0], false)\n\n if (~selectionIndex.value) {\n e.preventDefault()\n const originalSelectionIndex = selectionIndex.value\n select(model.value[selectionIndex.value], false)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n if (!props.multiple) return\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (model.value[prev]) {\n selectionIndex.value = prev\n } else {\n const searchLength = search.value?.length ?? null\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(searchLength, searchLength)\n }\n } else if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (model.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(0, 0)\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1\n }\n }\n\n function onChange (e: Event) {\n if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === (e.target as HTMLInputElement).value)\n if (item) {\n select(item)\n }\n }\n }\n\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple && !hasSelectionSlot.value)) model.value = []\n }\n\n const isSelecting = shallowRef(false)\n\n /** @param set - null means toggle */\n function select (item: ListItem | undefined, set: boolean | null = true) {\n if (!item || item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n\n if (props.clearOnSelect) {\n search.value = ''\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n search.value = add && !hasSelectionSlot.value ? item.title : ''\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n watch(isFocused, (val, oldVal) => {\n if (val === oldVal) return\n\n if (val) {\n isSelecting.value = true\n search.value = (props.multiple || hasSelectionSlot.value) ? '' : String(model.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n if (!props.multiple && search.value == null) model.value = []\n menu.value = false\n if (props.multiple || hasSelectionSlot.value) search.value = ''\n selectionIndex.value = -1\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => item.value === s.value)\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n onChange={ onChange }\n class={[\n 'v-autocomplete',\n `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`,\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n 'v-autocomplete--selection-slot': !!hasSelectionSlot.value,\n 'v-autocomplete--selecting-index': selectionIndex.value > -1,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ form.isReadonly.value }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n aria-expanded={ ariaExpanded.value }\n aria-controls={ ariaControls.value }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n id={ menuId.value }\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n filterable\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n tabindex=\"-1\"\n selectable\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item, null),\n })\n\n if (item.type === 'divider') {\n return slots.divider?.({ props: item.raw, index }) ?? (\n <VDivider { ...item.props } key={ `divider-${index}` } />\n )\n }\n\n if (item.type === 'subheader') {\n return slots.subheader?.({ props: item.raw, index }) ?? (\n <VListSubheader { ...item.props } key={ `subheader-${index}` } />\n )\n }\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult('v-autocomplete', item.title, getMatches(item)?.title)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips.value\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-autocomplete__selection',\n index === selectionIndex.value && [\n 'v-autocomplete__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips.value ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-autocomplete__menu-icon\"\n color={ vTextFieldRef.value?.fieldIconColor }\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n aria-label={ ariaLabel.value }\n title={ ariaLabel.value }\n tabindex=\"-1\"\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,OAAO;AAAA,SACPC,YAAY;AAAA,SACZC,KAAK;AAAA,SACLC,iBAAiB;AAAA,SACjBC,QAAQ;AAAA,SACRC,KAAK;AAAA,SACLC,KAAK,EAAEC,SAAS,EAAEC,cAAc;AAAA,SAChCC,KAAK;AAAA,SACLC,eAAe;AAAA,SACfC,mBAAmB,EAAEC,UAAU;AAAA,SAC/BC,cAAc,sCAEvB;AAAA,SACSC,YAAY;AAAA,SACZC,YAAY;AAAA,SACZC,eAAe,EAAEC,eAAe,EAAEC,SAAS;AAAA,SAC3CC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,QAAQ;AAAA,SACRC,SAAS;AAAA,SACTC,gBAAgB;AAAA,SAChBC,eAAe;AAAA,SACfC,mBAAmB,2CAE5B;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAE1EC,cAAc,EACdC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,EAChBC,UAAU,EACVC,eAAe,EACfC,IAAI,EACJC,IAAI,EACJC,YAAY,EACZC,SAAS,EACTC,WAAW,+BAGb;AAkBA,OAAO,MAAMC,sBAAsB,GAAGH,YAAY,CAAC;EACjDI,eAAe,EAAE;IACfC,IAAI,EAAE,CAACC,OAAO,EAAEC,MAAM;EACxB,CAAC;EACDC,aAAa,EAAEF,OAAO;EACtBG,MAAM,EAAEF,MAAM;EAEd,GAAG9B,eAAe,CAAC;IAAEiC,UAAU,EAAE,CAAC,OAAO;EAAE,CAAC,CAAC;EAC7C,GAAGxC,eAAe,CAAC,CAAC;EACpB,GAAG6B,IAAI,CAAC5B,mBAAmB,CAAC;IAC1BwC,UAAU,EAAE,IAAI;IAChBC,IAAI,EAAE;EACR,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;EACpD,GAAG3B,mBAAmB,CAAC;IAAE4B,UAAU,EAAE;EAAM,CAAC;AAC9C,CAAC,EAAE,eAAe,CAAC;AAInB,OAAO,MAAMC,aAAa,GAAGnB,gBAAgB,CA2BE,CAAC,CAAC;EAC/CoB,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAEb,sBAAsB,CAAC,CAAC;EAE/Bc,KAAK,EAAE;IACL,gBAAgB,EAAGC,OAAgB,IAAK,IAAI;IAC5C,eAAe,EAAGC,KAAU,IAAK,IAAI;IACrC,mBAAmB,EAAGA,KAAU,IAAK,IAAI;IACzC,aAAa,EAAGA,KAAc,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAE,CAAC,GAAGzC,SAAS,CAAC,CAAC;IACzB,MAAM0C,aAAa,GAAGnC,GAAG,CAAa,CAAC;IACvC,MAAMoC,SAAS,GAAGnC,UAAU,CAAC,KAAK,CAAC;IACnC,MAAMoC,UAAU,GAAGpC,UAAU,CAAC,IAAI,CAAC;IACnC,MAAMqC,YAAY,GAAGrC,UAAU,CAAC,KAAK,CAAC;IACtC,MAAMsC,QAAQ,GAAGvC,GAAG,CAAQ,CAAC;IAC7B,MAAMwC,iBAAiB,GAAGxC,GAAG,CAAiB,CAAC;IAC/C,MAAMyC,cAAc,GAAGxC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM;MAAEyC,KAAK;MAAEC,WAAW;MAAEC;IAAa,CAAC,GAAGpD,QAAQ,CAACmC,KAAK,CAAC;IAC5D,MAAM;MAAEkB,gBAAgB;MAAEC;IAAgB,CAAC,GAAG5D,YAAY,CAAC,MAAMiD,aAAa,CAACL,KAAK,EAAEiB,KAAK,CAAC;IAC5F,MAAM3B,MAAM,GAAGzB,eAAe,CAACgC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;IACnD,MAAMqB,KAAK,GAAGrD,eAAe,CAC3BgC,KAAK,EACL,YAAY,EACZ,EAAE,EACFsB,CAAC,IAAIN,WAAW,CAACM,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,GAAGpC,WAAW,CAACoC,CAAC,CAAC,CAAC,EACtDA,CAAC,IAAI;MACH,MAAMC,WAAW,GAAGN,YAAY,CAACK,CAAC,CAAC;MACnC,OAAOtB,KAAK,CAACwB,QAAQ,GAAGD,WAAW,GAAIA,WAAW,CAAC,CAAC,CAAC,IAAI,IAAK;IAChE,CACF,CAAC;IACD,MAAME,YAAY,GAAGvD,QAAQ,CAAC,MAAM;MAClC,OAAO,OAAO8B,KAAK,CAACyB,YAAY,KAAK,UAAU,GAAGzB,KAAK,CAACyB,YAAY,CAACJ,KAAK,CAAClB,KAAK,CAAC,GAC7E,OAAOH,KAAK,CAACyB,YAAY,KAAK,QAAQ,GAAGzB,KAAK,CAACyB,YAAY,GAC3DJ,KAAK,CAAClB,KAAK,CAACuB,MAAM;IACxB,CAAC,CAAC;IACF,MAAMC,IAAI,GAAGhE,OAAO,CAACqC,KAAK,CAAC;IAC3B,MAAM;MAAE4B,aAAa;MAAEC;IAAW,CAAC,GAAGnE,SAAS,CAACsC,KAAK,EAAEe,KAAK,EAAE,MAAML,UAAU,CAACP,KAAK,GAAG,EAAE,GAAGV,MAAM,CAACU,KAAK,CAAC;IAEzG,MAAM2B,YAAY,GAAG5D,QAAQ,CAAC,MAAM;MAClC,IAAI8B,KAAK,CAAC+B,YAAY,EAAE;QACtB,OAAOH,aAAa,CAACzB,KAAK,CAAC6B,MAAM,CAACC,YAAY,IAAI,CAACZ,KAAK,CAAClB,KAAK,CAAC+B,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAChC,KAAK,KAAK8B,YAAY,CAAC9B,KAAK,CAAC,CAAC;MAC3G;MACA,OAAOyB,aAAa,CAACzB,KAAK;IAC5B,CAAC,CAAC;IAEF,MAAMiC,QAAQ,GAAGlE,QAAQ,CAAC,MAAM,CAAC,EAAE8B,KAAK,CAACqC,KAAK,IAAI/B,KAAK,CAACgC,IAAI,CAAC,CAAC;IAC9D,MAAMC,gBAAgB,GAAGrE,QAAQ,CAAC,MAAMkE,QAAQ,CAACjC,KAAK,IAAI,CAAC,CAACG,KAAK,CAACkC,SAAS,CAAC;IAE5E,MAAMC,cAAc,GAAGvE,QAAQ,CAAC,MAAMmD,KAAK,CAAClB,KAAK,CAACuC,GAAG,CAACF,SAAS,IAAIA,SAAS,CAACxC,KAAK,CAACG,KAAK,CAAC,CAAC;IAE1F,MAAMwC,cAAc,GAAGzE,QAAQ,CAAC,MAAM;MACpC,MAAM0E,WAAW,GAAG5C,KAAK,CAACZ,eAAe,KAAK,IAAI,IAC/CY,KAAK,CAACZ,eAAe,KAAK,OAAO,IAAIK,MAAM,CAACU,KAAK,KAAK2B,YAAY,CAAC3B,KAAK,CAAC,CAAC,CAAC,EAAE0C,KAAM;MACtF,OAAOD,WAAW,IAChBd,YAAY,CAAC3B,KAAK,CAACuB,MAAM,GAAG,CAAC,IAC7B,CAAChB,UAAU,CAACP,KAAK,IACjB,CAACQ,YAAY,CAACR,KAAK;IACvB,CAAC,CAAC;IAEF,MAAM2C,YAAY,GAAG5E,QAAQ,CAAC,MAC3B8B,KAAK,CAAC+C,UAAU,IAAI,CAACjB,YAAY,CAAC3B,KAAK,CAACuB,MAAM,IAC/CC,IAAI,CAACqB,UAAU,CAAC7C,KAAK,IAAIwB,IAAI,CAACsB,UAAU,CAAC9C,KAC1C,CAAC;IACF,MAAM+C,KAAK,GAAGlF,eAAe,CAACgC,KAAK,EAAE,MAAM,CAAC;IAC5C,MAAMmD,IAAI,GAAGjF,QAAQ,CAAC;MACpBkF,GAAG,EAAEA,CAAA,KAAMF,KAAK,CAAC/C,KAAK;MACtBkD,GAAG,EAAE/B,CAAC,IAAI;QACR,IAAI4B,KAAK,CAAC/C,KAAK,IAAI,CAACmB,CAAC,IAAIV,QAAQ,CAACT,KAAK,EAAEmD,aAAa,CAACC,IAAI,EAAE;QAC7D,IAAIjC,CAAC,IAAIwB,YAAY,CAAC3C,KAAK,EAAE;QAC7B+C,KAAK,CAAC/C,KAAK,GAAGmB,CAAC;MACjB;IACF,CAAC,CAAC;IAEF,MAAM;MAAEkC,MAAM;MAAEC,YAAY;MAAEC,YAAY;MAAEC;IAAU,CAAC,GAAG5F,gBAAgB,CAACiC,KAAK,EAAEmD,IAAI,CAAC;IAEvF,MAAMS,OAAO,GAAGvF,GAAG,CAAQ,CAAC;IAC5B,MAAMwF,UAAU,GAAGvG,YAAY,CAACsG,OAAO,EAAEpD,aAAa,CAAC;IACvD,SAASsD,OAAOA,CAAEC,CAAa,EAAE;MAC/B,IAAI/D,KAAK,CAACgE,WAAW,EAAE;QACrBb,IAAI,CAAChD,KAAK,GAAG,IAAI;MACnB;MAEAV,MAAM,CAACU,KAAK,GAAG,EAAE;IACnB;IACA,SAAS8D,kBAAkBA,CAAA,EAAI;MAC7B,IAAInB,YAAY,CAAC3C,KAAK,EAAE;MAExBgD,IAAI,CAAChD,KAAK,GAAG,IAAI;IACnB;IACA,SAAS+D,mBAAmBA,CAAEH,CAAa,EAAE;MAC3C,IAAIjB,YAAY,CAAC3C,KAAK,EAAE;MAExB,IAAIM,SAAS,CAACN,KAAK,EAAE;QACnB4D,CAAC,CAACI,cAAc,CAAC,CAAC;QAClBJ,CAAC,CAACK,eAAe,CAAC,CAAC;MACrB;MACAjB,IAAI,CAAChD,KAAK,GAAG,CAACgD,IAAI,CAAChD,KAAK;IAC1B;IACA,SAASkE,aAAaA,CAAEN,CAAgB,EAAE;MACxC,IAAIvF,cAAc,CAACuF,CAAC,CAAC,IAAIA,CAAC,CAACO,GAAG,KAAK,WAAW,EAAE;QAC9C9D,aAAa,CAACL,KAAK,EAAEoE,KAAK,CAAC,CAAC;MAC9B;IACF;IACA,SAASC,SAASA,CAAET,CAAgB,EAAE;MACpC,IAAIpC,IAAI,CAACqB,UAAU,CAAC7C,KAAK,EAAE;MAE3B,MAAMsE,cAAc,GAAGjE,aAAa,CAACL,KAAK,EAAEsE,cAAc;MAC1D,MAAM/C,MAAM,GAAGL,KAAK,CAAClB,KAAK,CAACuB,MAAM;MAEjC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAACgD,QAAQ,CAACX,CAAC,CAACO,GAAG,CAAC,EAAE;QACrDP,CAAC,CAACI,cAAc,CAAC,CAAC;MACpB;MAEA,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAACO,QAAQ,CAACX,CAAC,CAACO,GAAG,CAAC,EAAE;QAC1CnB,IAAI,CAAChD,KAAK,GAAG,IAAI;MACnB;MAEA,IAAI,CAAC,QAAQ,CAAC,CAACuE,QAAQ,CAACX,CAAC,CAACO,GAAG,CAAC,EAAE;QAC9BnB,IAAI,CAAChD,KAAK,GAAG,KAAK;MACpB;MAEA,IACEwC,cAAc,CAACxC,KAAK,IACpB,CAAC,OAAO,EAAE,KAAK,CAAC,CAACuE,QAAQ,CAACX,CAAC,CAACO,GAAG,CAAC,IAChC,CAACjD,KAAK,CAAClB,KAAK,CAAC+B,IAAI,CAACyC,KAAA;QAAA,IAAC;UAAExE;QAAM,CAAC,GAAAwE,KAAA;QAAA,OAAKxE,KAAK,KAAK2B,YAAY,CAAC3B,KAAK,CAAC,CAAC,CAAC,CAACA,KAAK;MAAA,EAAC,EACvE;QACAyE,MAAM,CAAC9C,YAAY,CAAC3B,KAAK,CAAC,CAAC,CAAC,CAAC;MAC/B;MAEA,IAAI4D,CAAC,CAACO,GAAG,KAAK,WAAW,IAAI3B,cAAc,CAACxC,KAAK,EAAE;QACjDyD,OAAO,CAACzD,KAAK,EAAEoE,KAAK,CAAC,MAAM,CAAC;MAC9B;MAEA,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAACG,QAAQ,CAACX,CAAC,CAACO,GAAG,CAAC,EAAE;QAC3C,IACE,CAACtE,KAAK,CAACwB,QAAQ,IACfe,gBAAgB,CAACpC,KAAK,IACtBkB,KAAK,CAAClB,KAAK,CAACuB,MAAM,GAAG,CAAC,IACtB,CAACjC,MAAM,CAACU,KAAK,EACb,OAAOyE,MAAM,CAACvD,KAAK,CAAClB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QAEtC,IAAI,CAACW,cAAc,CAACX,KAAK,EAAE;UACzB4D,CAAC,CAACI,cAAc,CAAC,CAAC;UAClB,MAAMU,sBAAsB,GAAG/D,cAAc,CAACX,KAAK;UACnDyE,MAAM,CAACvD,KAAK,CAAClB,KAAK,CAACW,cAAc,CAACX,KAAK,CAAC,EAAE,KAAK,CAAC;UAEhDW,cAAc,CAACX,KAAK,GAAG0E,sBAAsB,IAAInD,MAAM,GAAG,CAAC,GAAIA,MAAM,GAAG,CAAC,GAAImD,sBAAsB;QACrG,CAAC,MAAM,IAAId,CAAC,CAACO,GAAG,KAAK,WAAW,IAAI,CAAC7E,MAAM,CAACU,KAAK,EAAE;UACjDW,cAAc,CAACX,KAAK,GAAGuB,MAAM,GAAG,CAAC;QACnC;QAEA;MACF;MAEA,IAAI,CAAC1B,KAAK,CAACwB,QAAQ,EAAE;MAErB,IAAIuC,CAAC,CAACO,GAAG,KAAK,WAAW,EAAE;QACzB,IAAIxD,cAAc,CAACX,KAAK,GAAG,CAAC,IAAIsE,cAAc,IAAIA,cAAc,GAAG,CAAC,EAAE;QAEtE,MAAMK,IAAI,GAAGhE,cAAc,CAACX,KAAK,GAAG,CAAC,CAAC,GAClCW,cAAc,CAACX,KAAK,GAAG,CAAC,GACxBuB,MAAM,GAAG,CAAC;QAEd,IAAIL,KAAK,CAAClB,KAAK,CAAC2E,IAAI,CAAC,EAAE;UACrBhE,cAAc,CAACX,KAAK,GAAG2E,IAAI;QAC7B,CAAC,MAAM;UACL,MAAMC,YAAY,GAAGtF,MAAM,CAACU,KAAK,EAAEuB,MAAM,IAAI,IAAI;UACjDZ,cAAc,CAACX,KAAK,GAAG,CAAC,CAAC;UACzBK,aAAa,CAACL,KAAK,EAAE6E,iBAAiB,CAACD,YAAY,EAAEA,YAAY,CAAC;QACpE;MACF,CAAC,MAAM,IAAIhB,CAAC,CAACO,GAAG,KAAK,YAAY,EAAE;QACjC,IAAIxD,cAAc,CAACX,KAAK,GAAG,CAAC,EAAE;QAE9B,MAAM8E,IAAI,GAAGnE,cAAc,CAACX,KAAK,GAAG,CAAC;QAErC,IAAIkB,KAAK,CAAClB,KAAK,CAAC8E,IAAI,CAAC,EAAE;UACrBnE,cAAc,CAACX,KAAK,GAAG8E,IAAI;QAC7B,CAAC,MAAM;UACLnE,cAAc,CAACX,KAAK,GAAG,CAAC,CAAC;UACzBK,aAAa,CAACL,KAAK,EAAE6E,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9C;MACF,CAAC,MAAM,IAAI,CAAClE,cAAc,CAACX,KAAK,IAAI3B,cAAc,CAACuF,CAAC,CAAC,EAAE;QACrDjD,cAAc,CAACX,KAAK,GAAG,CAAC,CAAC;MAC3B;IACF;IAEA,SAAS+E,QAAQA,CAAEnB,CAAQ,EAAE;MAC3B,IAAIlF,eAAe,CAAC2B,aAAa,CAACL,KAAK,EAAE,WAAW,CAAC,IAAItB,eAAe,CAAC2B,aAAa,CAACL,KAAK,EAAE,mBAAmB,CAAC,EAAE;QAClH,MAAMgF,IAAI,GAAGpE,KAAK,CAACZ,KAAK,CAACiF,IAAI,CAACD,IAAI,IAAIA,IAAI,CAACtC,KAAK,KAAMkB,CAAC,CAACsB,MAAM,CAAsBlF,KAAK,CAAC;QAC1F,IAAIgF,IAAI,EAAE;UACRP,MAAM,CAACO,IAAI,CAAC;QACd;MACF;IACF;IAEA,SAASG,YAAYA,CAAA,EAAI;MACvB,IAAItF,KAAK,CAACuF,KAAK,EAAE;QACf1E,iBAAiB,CAACV,KAAK,EAAEqF,qBAAqB,CAAC,CAAC;MAClD;IACF;IACA,SAASC,YAAYA,CAAA,EAAI;MACvB,IAAIhF,SAAS,CAACN,KAAK,EAAE;QACnBO,UAAU,CAACP,KAAK,GAAG,IAAI;QACvBK,aAAa,CAACL,KAAK,EAAEoE,KAAK,CAAC,CAAC;MAC9B;IACF;IAEA,SAASmB,SAASA,CAAE3B,CAAa,EAAE;MACjCtD,SAAS,CAACN,KAAK,GAAG,IAAI;MACtBwF,UAAU,CAAC,MAAM;QACfhF,YAAY,CAACR,KAAK,GAAG,IAAI;MAC3B,CAAC,CAAC;IACJ;IACA,SAASyF,UAAUA,CAAE7B,CAAa,EAAE;MAClCpD,YAAY,CAACR,KAAK,GAAG,KAAK;IAC5B;IACA,SAAS0F,kBAAkBA,CAAEvE,CAAM,EAAE;MACnC,IAAIA,CAAC,IAAI,IAAI,IAAKA,CAAC,KAAK,EAAE,IAAI,CAACtB,KAAK,CAACwB,QAAQ,IAAI,CAACe,gBAAgB,CAACpC,KAAM,EAAEkB,KAAK,CAAClB,KAAK,GAAG,EAAE;IAC7F;IAEA,MAAM2F,WAAW,GAAGxH,UAAU,CAAC,KAAK,CAAC;;IAErC;IACA,SAASsG,MAAMA,CAAEO,IAA0B,EAA8B;MAAA,IAA5B9B,GAAmB,GAAA0C,SAAA,CAAArE,MAAA,QAAAqE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;MACrE,IAAI,CAACZ,IAAI,IAAIA,IAAI,CAACnF,KAAK,CAACiG,QAAQ,EAAE;MAElC,IAAIjG,KAAK,CAACwB,QAAQ,EAAE;QAClB,MAAM0E,KAAK,GAAG7E,KAAK,CAAClB,KAAK,CAACgG,SAAS,CAAC3D,SAAS,IAAI,CAACxC,KAAK,CAACoG,eAAe,IAAI3H,SAAS,EAAE+D,SAAS,CAACrC,KAAK,EAAEgF,IAAI,CAAChF,KAAK,CAAC,CAAC;QACnH,MAAMkG,GAAG,GAAGhD,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC6C,KAAK,GAAG7C,GAAG;QAEvC,IAAI,CAAC6C,KAAK,EAAE;UACV,MAAM/F,KAAK,GAAGkG,GAAG,GAAG,CAAC,GAAGhF,KAAK,CAAClB,KAAK,EAAEgF,IAAI,CAAC,GAAG,CAAC,GAAG9D,KAAK,CAAClB,KAAK,CAAC;UAC7DA,KAAK,CAACmG,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;UACtB7E,KAAK,CAAClB,KAAK,GAAGA,KAAK;QACrB,CAAC,MAAM,IAAIkG,GAAG,EAAE;UACdhF,KAAK,CAAClB,KAAK,GAAG,CAAC,GAAGkB,KAAK,CAAClB,KAAK,EAAEgF,IAAI,CAAC;QACtC;QAEA,IAAInF,KAAK,CAACR,aAAa,EAAE;UACvBC,MAAM,CAACU,KAAK,GAAG,EAAE;QACnB;MACF,CAAC,MAAM;QACL,MAAMkG,GAAG,GAAGhD,GAAG,KAAK,KAAK;QACzBhC,KAAK,CAAClB,KAAK,GAAGkG,GAAG,GAAG,CAAClB,IAAI,CAAC,GAAG,EAAE;QAC/B1F,MAAM,CAACU,KAAK,GAAGkG,GAAG,IAAI,CAAC9D,gBAAgB,CAACpC,KAAK,GAAGgF,IAAI,CAACtC,KAAK,GAAG,EAAE;;QAE/D;QACAzE,QAAQ,CAAC,MAAM;UACb+E,IAAI,CAAChD,KAAK,GAAG,KAAK;UAClBO,UAAU,CAACP,KAAK,GAAG,IAAI;QACzB,CAAC,CAAC;MACJ;IACF;IAEA5B,KAAK,CAACkC,SAAS,EAAE,CAAC8F,GAAG,EAAEC,MAAM,KAAK;MAChC,IAAID,GAAG,KAAKC,MAAM,EAAE;MAEpB,IAAID,GAAG,EAAE;QACPT,WAAW,CAAC3F,KAAK,GAAG,IAAI;QACxBV,MAAM,CAACU,KAAK,GAAIH,KAAK,CAACwB,QAAQ,IAAIe,gBAAgB,CAACpC,KAAK,GAAI,EAAE,GAAGZ,MAAM,CAAC8B,KAAK,CAAClB,KAAK,CAACsG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEzG,KAAK,CAAC6C,KAAK,IAAI,EAAE,CAAC;QAC9GnC,UAAU,CAACP,KAAK,GAAG,IAAI;QAEvB/B,QAAQ,CAAC,MAAM0H,WAAW,CAAC3F,KAAK,GAAG,KAAK,CAAC;MAC3C,CAAC,MAAM;QACL,IAAI,CAACH,KAAK,CAACwB,QAAQ,IAAI/B,MAAM,CAACU,KAAK,IAAI,IAAI,EAAEkB,KAAK,CAAClB,KAAK,GAAG,EAAE;QAC7DgD,IAAI,CAAChD,KAAK,GAAG,KAAK;QAClB,IAAIH,KAAK,CAACwB,QAAQ,IAAIe,gBAAgB,CAACpC,KAAK,EAAEV,MAAM,CAACU,KAAK,GAAG,EAAE;QAC/DW,cAAc,CAACX,KAAK,GAAG,CAAC,CAAC;MAC3B;IACF,CAAC,CAAC;IAEF5B,KAAK,CAACkB,MAAM,EAAE8G,GAAG,IAAI;MACnB,IAAI,CAAC9F,SAAS,CAACN,KAAK,IAAI2F,WAAW,CAAC3F,KAAK,EAAE;MAE3C,IAAIoG,GAAG,EAAEpD,IAAI,CAAChD,KAAK,GAAG,IAAI;MAE1BO,UAAU,CAACP,KAAK,GAAG,CAACoG,GAAG;IACzB,CAAC,CAAC;IAEFhI,KAAK,CAAC4E,IAAI,EAAE,MAAM;MAChB,IAAI,CAACnD,KAAK,CAAC+B,YAAY,IAAIoB,IAAI,CAAChD,KAAK,IAAIkB,KAAK,CAAClB,KAAK,CAACuB,MAAM,EAAE;QAC3D,MAAMwE,KAAK,GAAGpE,YAAY,CAAC3B,KAAK,CAACgG,SAAS,CACxChB,IAAI,IAAI9D,KAAK,CAAClB,KAAK,CAAC+B,IAAI,CAACC,CAAC,IAAIgD,IAAI,CAAChF,KAAK,KAAKgC,CAAC,CAAChC,KAAK,CACtD,CAAC;QACDvB,UAAU,IAAI8H,MAAM,CAACC,qBAAqB,CAAC,MAAM;UAC/CT,KAAK,IAAI,CAAC,IAAIrF,iBAAiB,CAACV,KAAK,EAAEyG,aAAa,CAACV,KAAK,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF3H,KAAK,CAAC,MAAMyB,KAAK,CAACe,KAAK,EAAE,CAAC8F,MAAM,EAAEL,MAAM,KAAK;MAC3C,IAAIrD,IAAI,CAAChD,KAAK,EAAE;MAEhB,IAAIM,SAAS,CAACN,KAAK,IAAI,CAACqG,MAAM,CAAC9E,MAAM,IAAImF,MAAM,CAACnF,MAAM,EAAE;QACtDyB,IAAI,CAAChD,KAAK,GAAG,IAAI;MACnB;IACF,CAAC,CAAC;IAEFlB,SAAS,CAAC,MAAM;MACd,MAAM6H,OAAO,GAAG,CAAC,EACd,CAAC9G,KAAK,CAAC+C,UAAU,IAAIjB,YAAY,CAAC3B,KAAK,CAACuB,MAAM,IAC/CpB,KAAK,CAAC,cAAc,CAAC,IACrBA,KAAK,CAAC,aAAa,CAAC,IACpBA,KAAK,CAAC,SAAS,CAAC,CACjB;MACD,MAAMyG,OAAO,GAAG1F,KAAK,CAAClB,KAAK,CAACuB,MAAM,GAAG,CAAC;MACtC,MAAMsF,cAAc,GAAG5J,UAAU,CAAC6J,WAAW,CAACjH,KAAK,CAAC;MAEpD,OAAAkH,YAAA,CAAA9J,UAAA,EAAA+J,WAAA;QAAA,OAEU3G;MAAa,GACdwG,cAAc;QAAA,cACTvH,MAAM,CAACU,KAAK;QAAA,wBAAAiH,MAAA,IAAZ3H,MAAM,CAACU,KAAK,GAAAiH,MAAA,EACAvB,kBAAkB;QAAA,WACtBpF,SAAS,CAACN,KAAK;QAAA,oBAAAiH,MAAA,IAAf3G,SAAS,CAACN,KAAK,GAAAiH,MAAA;QAAA,mBACf/F,KAAK,CAACgG,aAAa;QAAA,gBACtB5F,YAAY,CAACtB,KAAK;QAAA,SACzB4G,OAAO;QAAA,YACJ7B,QAAQ;QAAA,SACZ,CACL,gBAAgB,EAChB,mBAAmBlF,KAAK,CAACwB,QAAQ,GAAG,UAAU,GAAG,QAAQ,EAAE,EAC3D;UACE,6BAA6B,EAAE2B,IAAI,CAAChD,KAAK;UACzC,uBAAuB,EAAE,CAAC,CAACH,KAAK,CAACqC,KAAK;UACtC,gCAAgC,EAAE,CAAC,CAACE,gBAAgB,CAACpC,KAAK;UAC1D,iCAAiC,EAAEW,cAAc,CAACX,KAAK,GAAG,CAAC;QAC7D,CAAC,EACDH,KAAK,CAACsH,KAAK,CACZ;QAAA,SACOtH,KAAK,CAACuH,KAAK;QAAA,YACR5F,IAAI,CAACqB,UAAU,CAAC7C,KAAK;QAAA,eAClB4G,OAAO,GAAGf,SAAS,GAAGhG,KAAK,CAACwH,WAAW;QAAA,iBACrC1D,OAAO;QAAA,uBACDG,kBAAkB;QAAA,aAC5BO,SAAS;QAAA,iBACLf,YAAY,CAACtD,KAAK;QAAA,iBAClBuD,YAAY,CAACvD;MAAK;QAGhC,GAAGG,KAAK;QACRmH,OAAO,EAAEA,CAAA,KAAAC,mBAAA,CAAAC,SAAA,SAAAT,YAAA,CAAAjK,KAAA,EAAAkK,WAAA;UAAA,MAGE3D,MAAM,CAACrD,KAAK;UAAA,OACXS,QAAQ;UAAA,cACJuC,IAAI,CAAChD,KAAK;UAAA,uBAAAiH,MAAA,IAAVjE,IAAI,CAAChD,KAAK,GAAAiH,MAAA;UAAA;UAAA;UAAA,YAGTtE,YAAY,CAAC3C,KAAK;UAAA,SACrBH,KAAK,CAACuF,KAAK;UAAA,aACP,GAAG;UAAA,eACD,KAAK;UAAA,uBACG,KAAK;UAAA,cACdvF,KAAK,CAACH,UAAU;UAAA,gBACdyF,YAAY;UAAA,gBACZG;QAAY,GACtBzF,KAAK,CAAC4H,SAAS;UAAAH,OAAA,EAAAA,CAAA,MAElBX,OAAO,IAAAI,YAAA,CAAApK,KAAA,EAAAqK,WAAA;YAAA,OAECvD,OAAO;YAAA;YAAA,YAEFnB,cAAc,CAACtC,KAAK;YAAA,kBACdH,KAAK,CAACwB,QAAQ,GAAG,aAAa,GAAG,oBAAoB;YAAA,eACvDuC,CAAa,IAAKA,CAAC,CAACI,cAAc,CAAC,CAAC;YAAA,aACvCE,aAAa;YAAA,aACbqB,SAAS;YAAA,cACRE,UAAU;YAAA;YAAA;YAAA;YAAA,SAIf5F,KAAK,CAAC6H,SAAS,IAAI7H,KAAK,CAACoB;UAAK,GACjCyC,UAAU,EACV7D,KAAK,CAAC8H,SAAS;YAAAL,OAAA,EAAAA,CAAA,MAElBnH,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAEzB,CAACwB,YAAY,CAAC3B,KAAK,CAACuB,MAAM,IAAI,CAAC1B,KAAK,CAAC+C,UAAU,KAAKzC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAA4G,YAAA,CAAAnK,SAAA;cAAA;cAAA,SACvCwD,CAAC,CAACP,KAAK,CAAC+H,UAAU;YAAC,QACrD,CAAC,EAAAb,YAAA,CAAA7J,cAAA;cAAA,OAEoBwD,iBAAiB;cAAA;cAAA,SAAsBiB,YAAY,CAAC3B,KAAK;cAAA;YAAA;cAAAsH,OAAA,EAC3EO,KAAA,IAA8B;gBAAA,IAA7B;kBAAE7C,IAAI;kBAAEe,KAAK;kBAAE+B;gBAAQ,CAAC,GAAAD,KAAA;gBACzB,MAAME,SAAS,GAAG/J,UAAU,CAACgH,IAAI,CAACnF,KAAK,EAAE;kBACvC3B,GAAG,EAAE4J,OAAO;kBACZ3D,GAAG,EAAEa,IAAI,CAAChF,KAAK;kBACfgI,MAAM,EAAGxF,cAAc,CAACxC,KAAK,IAAI+F,KAAK,KAAK,CAAC,GAAI,IAAI,GAAGF,SAAS;kBAChEoC,OAAO,EAAEA,CAAA,KAAMxD,MAAM,CAACO,IAAI,EAAE,IAAI;gBAClC,CAAC,CAAC;gBAEF,IAAIA,IAAI,CAAC9F,IAAI,KAAK,SAAS,EAAE;kBAC3B,OAAOiB,KAAK,CAAC+H,OAAO,GAAG;oBAAErI,KAAK,EAAEmF,IAAI,CAACmD,GAAG;oBAAEpC;kBAAM,CAAC,CAAC,IAAAgB,YAAA,CAAAtK,QAAA,EAAAuK,WAAA,CACjChC,IAAI,CAACnF,KAAK;oBAAA,OAAS,WAAWkG,KAAK;kBAAE,SACrD;gBACH;gBAEA,IAAIf,IAAI,CAAC9F,IAAI,KAAK,WAAW,EAAE;kBAC7B,OAAOiB,KAAK,CAACiI,SAAS,GAAG;oBAAEvI,KAAK,EAAEmF,IAAI,CAACmD,GAAG;oBAAEpC;kBAAM,CAAC,CAAC,IAAAgB,YAAA,CAAAlK,cAAA,EAAAmK,WAAA,CAC7BhC,IAAI,CAACnF,KAAK;oBAAA,OAAS,aAAakG,KAAK;kBAAE,SAC7D;gBACH;gBAEA,OAAO5F,KAAK,CAAC6E,IAAI,GAAG;kBAClBA,IAAI;kBACJe,KAAK;kBACLlG,KAAK,EAAEkI;gBACT,CAAC,CAAC,IAAAhB,YAAA,CAAAnK,SAAA,EAAAoK,WAAA,CACgBe,SAAS;kBAAA;gBAAA;kBAEvBM,OAAO,EAAEC,KAAA;oBAAA,IAAC;sBAAEC;oBAAW,CAAC,GAAAD,KAAA;oBAAA,OAAAf,mBAAA,CAAAC,SAAA,SAElB3H,KAAK,CAACwB,QAAQ,IAAI,CAACxB,KAAK,CAAC+B,YAAY,GAAAmF,YAAA,CAAAzK,YAAA;sBAAA,OAE7B0I,IAAI,CAAChF,KAAK;sBAAA,cACHuI,UAAU;sBAAA,UACd,KAAK;sBAAA;oBAAA,WAGd1C,SAAS,EAEXb,IAAI,CAACnF,KAAK,CAAC2I,aAAa,IAAAzB,YAAA,CAAA1K,OAAA;sBAAA,SACP2I,IAAI,CAACnF,KAAK,CAAC2I;oBAAa,QAC1C,EAECxD,IAAI,CAACnF,KAAK,CAAC4I,WAAW,IAAA1B,YAAA,CAAArK,KAAA;sBAAA,QACRsI,IAAI,CAACnF,KAAK,CAAC4I;oBAAW,QACrC;kBAAA,CAEJ;kBACD/F,KAAK,EAAEA,CAAA,KAAM;oBACX,OAAOnC,UAAU,CAACP,KAAK,GACnBgF,IAAI,CAACtC,KAAK,GACVrF,eAAe,CAAC,gBAAgB,EAAE2H,IAAI,CAACtC,KAAK,EAAEhB,UAAU,CAACsD,IAAI,CAAC,EAAEtC,KAAK,CAAC;kBAC5E;gBAAC,EAGJ;cACH;YAAC,IAGDvC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;UAAA,EAE7B;QAAA,IAGDe,KAAK,CAAClB,KAAK,CAACuC,GAAG,CAAC,CAACyC,IAAI,EAAEe,KAAK,KAAK;UACjC,SAAS2C,WAAWA,CAAE9E,CAAQ,EAAE;YAC9BA,CAAC,CAACK,eAAe,CAAC,CAAC;YACnBL,CAAC,CAACI,cAAc,CAAC,CAAC;YAElBS,MAAM,CAACO,IAAI,EAAE,KAAK,CAAC;UACrB;UAEA,MAAM2D,SAAS,GAAG;YAChB,eAAe,EAAED,WAAW;YAC5BrE,SAASA,CAAET,CAAgB,EAAE;cAC3B,IAAIA,CAAC,CAACO,GAAG,KAAK,OAAO,IAAIP,CAAC,CAACO,GAAG,KAAK,GAAG,EAAE;cAExCP,CAAC,CAACI,cAAc,CAAC,CAAC;cAClBJ,CAAC,CAACK,eAAe,CAAC,CAAC;cAEnByE,WAAW,CAAC9E,CAAC,CAAC;YAChB,CAAC;YACDgF,WAAWA,CAAEhF,CAAa,EAAE;cAC1BA,CAAC,CAACI,cAAc,CAAC,CAAC;cAClBJ,CAAC,CAACK,eAAe,CAAC,CAAC;YACrB,CAAC;YACDzE,UAAU,EAAE,IAAI;YAChB,qBAAqB,EAAEqG;UACzB,CAAC;UAED,MAAMgD,OAAO,GAAG5G,QAAQ,CAACjC,KAAK,GAAG,CAAC,CAACG,KAAK,CAACgC,IAAI,GAAG,CAAC,CAAChC,KAAK,CAACkC,SAAS;UACjE,MAAMyG,WAAW,GAAGD,OAAO,GACvBtK,gBAAgB,CAChB0D,QAAQ,CAACjC,KAAK,GACVG,KAAK,CAACgC,IAAI,CAAE;YAAE6C,IAAI;YAAEe,KAAK;YAAElG,KAAK,EAAE8I;UAAU,CAAC,CAAC,GAC9CxI,KAAK,CAACkC,SAAS,CAAE;YAAE2C,IAAI;YAAEe;UAAM,CAAC,CACtC,CAAC,GACCF,SAAS;UAEb,IAAIgD,OAAO,IAAI,CAACC,WAAW,EAAE,OAAOjD,SAAS;UAE7C,OAAA0B,mBAAA;YAAA,OAEUvC,IAAI,CAAChF,KAAK;YAAA,SAAA+I,eAAA,CACT,CACL,2BAA2B,EAC3BhD,KAAK,KAAKpF,cAAc,CAACX,KAAK,IAAI,CAChC,qCAAqC,EACrCe,gBAAgB,CAACf,KAAK,CACvB,CACF;YAAA,SAAAgJ,eAAA,CACOjD,KAAK,KAAKpF,cAAc,CAACX,KAAK,GAAGgB,eAAe,CAAChB,KAAK,GAAG,CAAC,CAAC;UAAA,IAEjEiC,QAAQ,CAACjC,KAAK,GACd,CAACG,KAAK,CAACgC,IAAI,GAAA4E,YAAA,CAAAxK,KAAA,EAAAyK,WAAA;YAAA;YAAA,YAGInH,KAAK,CAACoJ,aAAa;YAAA;YAAA,QAEvBjE,IAAI,CAACtC,KAAK;YAAA,YACNsC,IAAI,CAACnF,KAAK,CAACiG;UAAQ,GACzB6C,SAAS,WAAA5B,YAAA,CAAAvK,iBAAA;YAAA;YAAA,YAKJ;cACRD,KAAK,EAAE;gBACL2M,QAAQ,EAAErJ,KAAK,CAACoJ,aAAa;gBAC7B7F,IAAI,EAAE,OAAO;gBACb+F,IAAI,EAAEnE,IAAI,CAACtC;cACb;YACF;UAAC;YAAA4E,OAAA,EAAAA,CAAA,MAECwB,WAAW;UAAA,EAEhB,GAEDA,WAAW,IAAAvB,mBAAA;YAAA;UAAA,IAELvC,IAAI,CAACtC,KAAK,EACV7C,KAAK,CAACwB,QAAQ,IAAK0E,KAAK,GAAG7E,KAAK,CAAClB,KAAK,CAACuB,MAAM,GAAG,CAAE,IAAAgG,mBAAA;YAAA;UAAA,IAAA6B,gBAAA,OAEnD,EAGN;QAGP,CAAC,CAAC,EAEL;QACD,cAAc,EAAE,SAAAC,CAAA;UAAA,SAAAC,IAAA,GAAA1D,SAAA,CAAArE,MAAA,EAAIgI,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAA7D,SAAA,CAAA6D,IAAA;UAAA;UAAA,OAAAlC,mBAAA,CAAAC,SAAA,SAElBrH,KAAK,CAAC,cAAc,CAAC,GAAG,GAAGoJ,IAAI,CAAC,EAChC1J,KAAK,CAAC6J,QAAQ,GAAA3C,YAAA,CAAArK,KAAA;YAAA;YAAA,SAGJ2D,aAAa,CAACL,KAAK,EAAE2J,cAAc;YAAA,QACpC9J,KAAK,CAAC6J,QAAQ;YAAA,eACP3F,mBAAmB;YAAA,WACvBpF,IAAI;YAAA,cACD6E,SAAS,CAACxD,KAAK;YAAA,SACpBwD,SAAS,CAACxD,KAAK;YAAA;UAAA,WAGvB6F,SAAS;QAAA;MAEhB;IAIT,CAAC,CAAC;IAEF,OAAOpI,WAAW,CAAC;MACjB6C,SAAS;MACTC,UAAU;MACVyC,IAAI;MACJ1D,MAAM;MACNmC,aAAa;MACbgD;IACF,CAAC,EAAEpE,aAAa,CAAC;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VAutocomplete.js","names":["VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeSelectProps","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useTextColor","highlightResult","makeFilterProps","useFilter","useForm","forwardRefs","useItems","useLocale","useMenuActivator","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","noop","omit","propsFactory","useRender","wrapInArray","makeVAutocompleteProps","autoSelectFirst","type","Boolean","String","clearOnSelect","search","filterKeys","modelValue","role","transition","VAutocomplete","name","props","emits","focused","value","setup","_ref","slots","t","vTextFieldRef","isFocused","isPristine","listHasFocus","vMenuRef","vVirtualScrollRef","selectionIndex","items","transformIn","transformOut","textColorClasses","textColorStyles","color","model","v","transformed","multiple","counterValue","length","form","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","hasChips","chips","chip","hasSelectionSlot","selection","selectedValues","map","highlightFirst","selectFirst","title","menuDisabled","hideNoData","isReadonly","isDisabled","_menu","menu","get","set","ΨopenChildren","size","menuId","ariaExpanded","ariaControls","ariaLabel","listRef","listEvents","onClear","e","openOnClear","onMousedownControl","onMousedownMenuIcon","preventDefault","stopPropagation","onListKeydown","key","focus","onKeydown","selectionStart","includes","_ref2","select","originalSelectionIndex","prev","searchLength","setSelectionRange","next","onChange","item","find","target","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","onFocusin","setTimeout","onFocusout","onUpdateModelValue","isSelecting","arguments","undefined","disabled","index","findIndex","valueComparator","add","splice","val","oldVal","at","window","requestAnimationFrame","scrollToIndex","newVal","hasList","isDirty","textFieldProps","filterProps","_createVNode","_mergeProps","$event","externalValue","class","style","placeholder","default","_createElementVNode","_Fragment","menuProps","itemColor","listProps","noDataText","_ref3","itemRef","itemProps","active","onClick","divider","raw","subheader","prepend","_ref4","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","_normalizeClass","_normalizeStyle","closableChips","closable","text","_createTextVNode","append-inner","_len","args","Array","_key","menuIcon","fieldIconColor"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem, VListSubheader } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { highlightResult, makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useMenuActivator } from '@/composables/menuActivator'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n noop,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVAutocompleteProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n clearOnSelect: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VAutocomplete')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VAutocomplete = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n subheader: { props: Record<string, unknown>, index: number }\n divider: { props: Record<string, unknown>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VAutocomplete',\n\n props: makeVAutocompleteProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:search': (value: any) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref<VTextField>()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const selectionIndex = shallowRef(-1)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => vTextFieldRef.value?.color)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : model.value.length\n })\n const form = useForm(props)\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const hasChips = computed(() => !!(props.chips || slots.chip))\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection)\n\n const selectedValues = computed(() => model.value.map(selection => selection.props.value))\n\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n if (v && menuDisabled.value) return\n _menu.value = v\n },\n })\n\n const { menuId, ariaExpanded, ariaControls, ariaLabel } = useMenuActivator(props, menu)\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (checkPrintable(e) || e.key === 'Backspace') {\n vTextFieldRef.value?.focus()\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (form.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value?.selectionStart\n const length = model.value.length\n\n if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (\n highlightFirst.value &&\n ['Enter', 'Tab'].includes(e.key) &&\n !model.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(displayItems.value[0])\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (\n !props.multiple &&\n hasSelectionSlot.value &&\n model.value.length > 0 &&\n !search.value\n ) return select(model.value[0], false)\n\n if (~selectionIndex.value) {\n e.preventDefault()\n const originalSelectionIndex = selectionIndex.value\n select(model.value[selectionIndex.value], false)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n if (!props.multiple) return\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (model.value[prev]) {\n selectionIndex.value = prev\n } else {\n const searchLength = search.value?.length ?? null\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(searchLength, searchLength)\n }\n } else if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (model.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(0, 0)\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1\n }\n }\n\n function onChange (e: Event) {\n if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === (e.target as HTMLInputElement).value)\n if (item) {\n select(item)\n }\n }\n }\n\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple && !hasSelectionSlot.value)) model.value = []\n }\n\n const isSelecting = shallowRef(false)\n\n /** @param set - null means toggle */\n function select (item: ListItem | undefined, set: boolean | null = true) {\n if (!item || item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n\n if (props.clearOnSelect) {\n search.value = ''\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n search.value = add && !hasSelectionSlot.value ? item.title : ''\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n watch(isFocused, (val, oldVal) => {\n if (val === oldVal) return\n\n if (val) {\n isSelecting.value = true\n search.value = (props.multiple || hasSelectionSlot.value) ? '' : String(model.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n if (!props.multiple && search.value == null) model.value = []\n menu.value = false\n if (props.multiple || hasSelectionSlot.value) search.value = ''\n selectionIndex.value = -1\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => item.value === s.value)\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n onChange={ onChange }\n class={[\n 'v-autocomplete',\n `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`,\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n 'v-autocomplete--selection-slot': !!hasSelectionSlot.value,\n 'v-autocomplete--selecting-index': selectionIndex.value > -1,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ form.isReadonly.value }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n aria-expanded={ ariaExpanded.value }\n aria-controls={ ariaControls.value }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n id={ menuId.value }\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n filterable\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n tabindex=\"-1\"\n selectable\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item, null),\n })\n\n if (item.type === 'divider') {\n return slots.divider?.({ props: item.raw, index }) ?? (\n <VDivider { ...item.props } key={ `divider-${index}` } />\n )\n }\n\n if (item.type === 'subheader') {\n return slots.subheader?.({ props: item.raw, index }) ?? (\n <VListSubheader { ...item.props } key={ `subheader-${index}` } />\n )\n }\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult('v-autocomplete', item.title, getMatches(item)?.title)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips.value\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-autocomplete__selection',\n index === selectionIndex.value && [\n 'v-autocomplete__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips.value ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-autocomplete__menu-icon\"\n color={ vTextFieldRef.value?.fieldIconColor }\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n aria-label={ ariaLabel.value }\n title={ ariaLabel.value }\n tabindex=\"-1\"\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -149,9 +149,12 @@ export const VBtn = genericComponent()({
|
|
|
149
149
|
if (props.value === undefined || typeof props.value === 'symbol') return undefined;
|
|
150
150
|
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
|
151
151
|
});
|
|
152
|
-
|
|
152
|
+
function onClick(e) {
|
|
153
153
|
if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;
|
|
154
|
-
if (
|
|
154
|
+
if (link.isLink.value) {
|
|
155
|
+
link.navigate?.(e);
|
|
156
|
+
} else {
|
|
157
|
+
// Group active state for links is handled by useSelectLink
|
|
155
158
|
group?.toggle();
|
|
156
159
|
}
|
|
157
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","spaced","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigateWithCheck","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","selectedClass","loading","class","style","linkProps","_createElementVNode","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String as PropType<'start' | 'end' | 'both'>,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n async function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n if (await (link.navigateWithCheck?.(e) ?? true)) {\n group?.toggle()\n }\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n props.spaced\n ? [\n 'v-btn--spaced',\n `v-btn--spaced-${props.spaced}`,\n ]\n : [],\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n { ...link.linkProps }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n vRipple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","spaced","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","selectedClass","loading","class","style","linkProps","_createElementVNode","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String as PropType<'start' | 'end' | 'both'>,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n if (link.isLink.value) {\n link.navigate?.(e)\n } else {\n // Group active state for links is handled by useSelectLink\n group?.toggle()\n }\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n props.spaced\n ? [\n 'v-btn--spaced',\n `v-btn--spaced-${props.spaced}`,\n ]\n : [],\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n { ...link.linkProps }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n vRipple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -149,12 +149,11 @@ export const VChip = genericComponent()({
|
|
|
149
149
|
variant: props.variant
|
|
150
150
|
};
|
|
151
151
|
});
|
|
152
|
-
|
|
152
|
+
function onClick(e) {
|
|
153
153
|
emit('click', e);
|
|
154
154
|
if (!isClickable.value) return;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
155
|
+
link.navigate?.(e);
|
|
156
|
+
group?.toggle();
|
|
158
157
|
}
|
|
159
158
|
function onKeyDown(e) {
|
|
160
159
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigateWithCheck","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","selectedClass","class","style","linkProps","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n disabled: props.disabled,\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n async function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n if (await (link.navigateWithCheck?.(e) ?? true)) {\n group?.toggle()\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","selectedClass","class","style","linkProps","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n disabled: props.disabled,\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -363,7 +363,7 @@ export const VCombobox = genericComponent()({
|
|
|
363
363
|
}, {
|
|
364
364
|
immediate: true
|
|
365
365
|
});
|
|
366
|
-
watch(
|
|
366
|
+
watch(items, (newVal, oldVal) => {
|
|
367
367
|
if (menu.value) return;
|
|
368
368
|
if (isFocused.value && !oldVal.length && newVal.length) {
|
|
369
369
|
menu.value = true;
|