vuetify 3.10.11 → 3.10.12

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.
@@ -1,4 +1,4 @@
1
- import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode } from "vue";
1
+ import { Fragment as _Fragment, createElementVNode as _createElementVNode, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode } from "vue";
2
2
  // Styles
3
3
  import "./VSelect.css";
4
4
 
@@ -15,6 +15,7 @@ import { VMenu } from "../VMenu/index.js";
15
15
  import { makeVTextFieldProps, VTextField } from "../VTextField/VTextField.js";
16
16
  import { VVirtualScroll } from "../VVirtualScroll/index.js"; // Composables
17
17
  import { useScrolling } from "./useScrolling.js";
18
+ import { useAutocomplete } from "../../composables/autocomplete.js";
18
19
  import { useForm } from "../../composables/form.js";
19
20
  import { forwardRefs } from "../../composables/forwardRefs.js";
20
21
  import { IconValue } from "../../composables/icons.js";
@@ -98,6 +99,7 @@ export const VSelect = genericComponent()({
98
99
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
99
100
  });
100
101
  const form = useForm(props);
102
+ const autocomplete = useAutocomplete(props);
101
103
  const selectedValues = computed(() => model.value.map(selection => selection.value));
102
104
  const isFocused = shallowRef(false);
103
105
  let keyboardLookupPrefix = '';
@@ -290,7 +292,8 @@ export const VSelect = genericComponent()({
290
292
  return _createVNode(VTextField, _mergeProps({
291
293
  "ref": vTextFieldRef
292
294
  }, textFieldProps, {
293
- "modelValue": model.value.map(v => v.props.value).join(', '),
295
+ "modelValue": model.value.map(v => v.props.title).join(', '),
296
+ "name": undefined,
294
297
  "onUpdate:modelValue": onModelUpdate,
295
298
  "focused": isFocused.value,
296
299
  "onUpdate:focused": $event => isFocused.value = $event,
@@ -317,7 +320,15 @@ export const VSelect = genericComponent()({
317
320
  "title": ariaLabel.value
318
321
  }), {
319
322
  ...slots,
320
- default: () => _createElementVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({
323
+ default: () => _createElementVNode(_Fragment, null, [_createElementVNode("select", {
324
+ "hidden": true,
325
+ "multiple": props.multiple,
326
+ "name": autocomplete.fieldName.value
327
+ }, [items.value.map(item => _createElementVNode("option", {
328
+ "key": item.value,
329
+ "value": item.value,
330
+ "selected": selectedValues.value.includes(item.value)
331
+ }, null))]), _createVNode(VMenu, _mergeProps({
321
332
  "id": menuId.value,
322
333
  "ref": vMenuRef,
323
334
  "modelValue": menu.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VSelect.js","names":["VDialogTransition","VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useForm","forwardRefs","IconValue","makeItemsProps","useItems","useLocale","makeMenuActivatorProps","useMenuActivator","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","camelizeProps","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","listProps","type","Object","menu","menuIcon","default","menuProps","multiple","noDataText","String","openOnClear","itemColor","noAutoScroll","itemChildren","makeVSelectProps","modelValue","role","transition","component","VSelect","name","props","emits","focused","value","ue","setup","_ref","slots","t","vTextFieldRef","vMenuRef","vVirtualScrollRef","items","transformIn","transformOut","model","v","transformed","counterValue","length","form","selectedValues","map","selection","isFocused","keyboardLookupPrefix","keyboardLookupIndex","keyboardLookupLastTime","displayItems","filter","item","some","s","valueComparator","menuDisabled","isReadonly","isDisabled","_menu","get","set","ΨopenChildren","size","menuId","ariaExpanded","ariaControls","ariaLabel","computedMenuProps","activatorProps","listRef","listEvents","onClear","e","onMousedownControl","onListKeydown","onKeydown","key","includes","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","now","performance","toLowerCase","findItem","result","findItemBase","at","slice","i","_item","title","startsWith","undefined","index","select","arguments","disabled","findIndex","add","splice","onBlur","$el","contains","relatedTarget","onAfterEnter","calculateVisibleItems","onAfterLeave","onFocusin","onModelUpdate","find","window","requestAnimationFrame","scrollToIndex","newVal","oldVal","hasChips","chip","hasList","isDirty","textFieldProps","filterProps","placeholder","label","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","class","style","_createElementVNode","_Fragment","color","_ref2","itemRef","camelizedProps","itemProps","onClick","divider","raw","subheader","prepend","_ref3","isSelected","event","prependAvatar","prependIcon","onChipClose","stopPropagation","slotProps","onMousedown","hasSlot","slotContent","closable","text","_createTextVNode","append-inner","_len","args","Array","_key","fieldIconColor"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\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 { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from './useScrolling'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { makeMenuActivatorProps, 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 camelizeProps,\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { Component, 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 makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n listProps: {\n type: Object as PropType<VList['$props']>,\n },\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n itemColor: String,\n noAutoScroll: Boolean,\n\n ...makeMenuActivatorProps(),\n ...makeItemsProps({ itemChildren: false }),\n}, 'Select')\n\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition as Component } }),\n}, 'VSelect')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VSelect = 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: 'VSelect',\n\n props: makeVSelectProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (ue: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref<VTextField>()\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const { items, transformIn, transformOut } = useItems(props)\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 selectedValues = computed(() => model.value.map(selection => selection.value))\n const isFocused = shallowRef(false)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupIndex = -1\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => (props.valueComparator || deepEqual)(s, item)))\n }\n return items.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 computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...(props.menuProps?.activatorProps || {}),\n 'aria-haspopup': 'listbox', // Set aria-haspopup to 'listbox'\n },\n }\n })\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 function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (checkPrintable(e)) {\n onKeydown(e)\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (!e.key || form.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n if (!checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n keyboardLookupIndex = -1\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const items = displayItems.value\n function findItem () {\n let result = findItemBase()\n if (result) return result\n\n if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {\n // No matches but we have a repeated letter, try the next item with that prefix\n keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1)\n result = findItemBase()\n if (result) return result\n }\n\n // Still nothing, wrap around to the top\n keyboardLookupIndex = -1\n result = findItemBase()\n if (result) return result\n\n // Still nothing, try just the new letter\n keyboardLookupPrefix = e.key.toLowerCase()\n return findItemBase()\n }\n function findItemBase () {\n for (let i = keyboardLookupIndex + 1; i < items.length; i++) {\n const _item = items[i]\n if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {\n return [_item, i] as const\n }\n }\n return undefined\n }\n\n const result = findItem()\n if (!result) return\n\n const [item, index] = result\n keyboardLookupIndex = index\n listRef.value?.focus(index)\n if (!props.multiple) {\n model.value = [item]\n }\n }\n\n /** @param set - null means toggle */\n function select (item: ListItem, set: boolean | null = true) {\n if (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 } else {\n const add = set !== false\n model.value = add ? [item] : []\n\n nextTick(() => {\n menu.value = false\n })\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n vTextFieldRef.value?.focus()\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onModelUpdate (v: any) {\n if (v == null) model.value = []\n else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v)\n if (item) {\n select(item)\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = ''\n }\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 => (props.valueComparator || deepEqual)(s.value, item.value))\n )\n IN_BROWSER && !props.noAutoScroll && 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 && props.hideNoData && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\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 const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ onModelUpdate }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection,\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"none\"\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n aria-expanded={ ariaExpanded.value }\n aria-controls={ ariaControls.value }\n aria-label={ ariaLabel.value }\n title={ ariaLabel.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-select__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 { ...computedMenuProps.value }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n tabindex=\"-1\"\n selectable\n aria-live=\"polite\"\n aria-label={ `${props.label}-list` }\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 camelizedProps = camelizeProps(item.props)\n\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\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 onClick={ (event: MouseEvent) => event.preventDefault() }\n />\n ) : undefined }\n\n { camelizedProps.prependAvatar && (\n <VAvatar image={ camelizedProps.prependAvatar } />\n )}\n\n { camelizedProps.prependIcon && (\n <VIcon icon={ camelizedProps.prependIcon } />\n )}\n </>\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 ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips\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 key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\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-select__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-select__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-select__menu-icon\"\n color={ vTextFieldRef.value?.fieldIconColor }\n icon={ props.menuIcon }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VSelect.js","names":["VDialogTransition","VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useAutocomplete","useForm","forwardRefs","IconValue","makeItemsProps","useItems","useLocale","makeMenuActivatorProps","useMenuActivator","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","camelizeProps","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","listProps","type","Object","menu","menuIcon","default","menuProps","multiple","noDataText","String","openOnClear","itemColor","noAutoScroll","itemChildren","makeVSelectProps","modelValue","role","transition","component","VSelect","name","props","emits","focused","value","ue","setup","_ref","slots","t","vTextFieldRef","vMenuRef","vVirtualScrollRef","items","transformIn","transformOut","model","v","transformed","counterValue","length","form","autocomplete","selectedValues","map","selection","isFocused","keyboardLookupPrefix","keyboardLookupIndex","keyboardLookupLastTime","displayItems","filter","item","some","s","valueComparator","menuDisabled","isReadonly","isDisabled","_menu","get","set","ΨopenChildren","size","menuId","ariaExpanded","ariaControls","ariaLabel","computedMenuProps","activatorProps","listRef","listEvents","onClear","e","onMousedownControl","onListKeydown","onKeydown","key","includes","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","now","performance","toLowerCase","findItem","result","findItemBase","at","slice","i","_item","title","startsWith","undefined","index","select","arguments","disabled","findIndex","add","splice","onBlur","$el","contains","relatedTarget","onAfterEnter","calculateVisibleItems","onAfterLeave","onFocusin","onModelUpdate","find","window","requestAnimationFrame","scrollToIndex","newVal","oldVal","hasChips","chip","hasList","isDirty","textFieldProps","filterProps","placeholder","label","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","class","style","_createElementVNode","_Fragment","fieldName","color","_ref2","itemRef","camelizedProps","itemProps","onClick","divider","raw","subheader","prepend","_ref3","isSelected","event","prependAvatar","prependIcon","onChipClose","stopPropagation","slotProps","onMousedown","hasSlot","slotContent","closable","text","_createTextVNode","append-inner","_len","args","Array","_key","fieldIconColor"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\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 { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from './useScrolling'\nimport { useAutocomplete } from '@/composables/autocomplete'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { makeMenuActivatorProps, 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 camelizeProps,\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { Component, 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 makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n listProps: {\n type: Object as PropType<VList['$props']>,\n },\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n itemColor: String,\n noAutoScroll: Boolean,\n\n ...makeMenuActivatorProps(),\n ...makeItemsProps({ itemChildren: false }),\n}, 'Select')\n\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition as Component } }),\n}, 'VSelect')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VSelect = 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: 'VSelect',\n\n props: makeVSelectProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (ue: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref<VTextField>()\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const { items, transformIn, transformOut } = useItems(props)\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 autocomplete = useAutocomplete(props)\n const selectedValues = computed(() => model.value.map(selection => selection.value))\n const isFocused = shallowRef(false)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupIndex = -1\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => (props.valueComparator || deepEqual)(s, item)))\n }\n return items.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 computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...(props.menuProps?.activatorProps || {}),\n 'aria-haspopup': 'listbox', // Set aria-haspopup to 'listbox'\n },\n }\n })\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 function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (checkPrintable(e)) {\n onKeydown(e)\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (!e.key || form.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n if (!checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n keyboardLookupIndex = -1\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const items = displayItems.value\n function findItem () {\n let result = findItemBase()\n if (result) return result\n\n if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {\n // No matches but we have a repeated letter, try the next item with that prefix\n keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1)\n result = findItemBase()\n if (result) return result\n }\n\n // Still nothing, wrap around to the top\n keyboardLookupIndex = -1\n result = findItemBase()\n if (result) return result\n\n // Still nothing, try just the new letter\n keyboardLookupPrefix = e.key.toLowerCase()\n return findItemBase()\n }\n function findItemBase () {\n for (let i = keyboardLookupIndex + 1; i < items.length; i++) {\n const _item = items[i]\n if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {\n return [_item, i] as const\n }\n }\n return undefined\n }\n\n const result = findItem()\n if (!result) return\n\n const [item, index] = result\n keyboardLookupIndex = index\n listRef.value?.focus(index)\n if (!props.multiple) {\n model.value = [item]\n }\n }\n\n /** @param set - null means toggle */\n function select (item: ListItem, set: boolean | null = true) {\n if (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 } else {\n const add = set !== false\n model.value = add ? [item] : []\n\n nextTick(() => {\n menu.value = false\n })\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n vTextFieldRef.value?.focus()\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onModelUpdate (v: any) {\n if (v == null) model.value = []\n else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v)\n if (item) {\n select(item)\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = ''\n }\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 => (props.valueComparator || deepEqual)(s.value, item.value))\n )\n IN_BROWSER && !props.noAutoScroll && 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 && props.hideNoData && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\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 const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.title).join(', ') }\n name={ undefined }\n onUpdate:modelValue={ onModelUpdate }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection,\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"none\"\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n aria-expanded={ ariaExpanded.value }\n aria-controls={ ariaControls.value }\n aria-label={ ariaLabel.value }\n title={ ariaLabel.value }\n >\n {{\n ...slots,\n default: () => (\n <>\n <select\n hidden\n multiple={ props.multiple }\n name={ autocomplete.fieldName.value }\n >\n { items.value.map(item => (\n <option\n key={ item.value }\n value={ item.value }\n selected={ selectedValues.value.includes(item.value) }\n />\n ))}\n </select>\n\n <VMenu\n id={ menuId.value }\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__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 { ...computedMenuProps.value }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n tabindex=\"-1\"\n selectable\n aria-live=\"polite\"\n aria-label={ `${props.label}-list` }\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 camelizedProps = camelizeProps(item.props)\n\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\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 onClick={ (event: MouseEvent) => event.preventDefault() }\n />\n ) : undefined }\n\n { camelizedProps.prependAvatar && (\n <VAvatar image={ camelizedProps.prependAvatar } />\n )}\n\n { camelizedProps.prependIcon && (\n <VIcon icon={ camelizedProps.prependIcon } />\n )}\n </>\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 ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips\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 key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\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-select__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-select__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-select__menu-icon\"\n color={ vTextFieldRef.value?.fieldIconColor }\n icon={ props.menuIcon }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ export function useAutocomplete(props) {
11
11
  const reloadTrigger = shallowRef(0);
12
12
  const isSuppressing = toRef(() => props.autocomplete === 'suppress');
13
13
  const fieldName = toRef(() => {
14
+ if (!props.name) return undefined;
14
15
  return isSuppressing.value ? `${props.name}-${uniqueId}-${reloadTrigger.value}` : props.name;
15
16
  });
16
17
  const fieldAutocomplete = toRef(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","names":["shallowRef","toRef","useId","propsFactory","makeAutocompleteProps","autocomplete","String","useAutocomplete","props","uniqueId","reloadTrigger","isSuppressing","fieldName","value","name","fieldAutocomplete","update","Date","getTime"],"sources":["../../src/composables/autocomplete.ts"],"sourcesContent":["// Utilities\nimport { shallowRef, toRef, useId } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface InputAutocompleteProps {\n autocomplete: 'suppress' | string | undefined\n name?: string\n}\n\n// Composables\nexport const makeAutocompleteProps = propsFactory({\n autocomplete: String as PropType<'suppress' | string>,\n}, 'autocomplete')\n\nexport function useAutocomplete (props: InputAutocompleteProps) {\n const uniqueId = useId()\n const reloadTrigger = shallowRef(0)\n\n const isSuppressing = toRef(() => props.autocomplete === 'suppress')\n\n const fieldName = toRef(() => {\n return isSuppressing.value\n ? `${props.name}-${uniqueId}-${reloadTrigger.value}`\n : props.name\n })\n\n const fieldAutocomplete = toRef(() => {\n return isSuppressing.value\n ? 'off'\n : props.autocomplete\n })\n\n return {\n isSuppressing,\n fieldAutocomplete,\n fieldName,\n update: () => reloadTrigger.value = new Date().getTime(),\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,UAAU,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACrCC,YAAY,4BAErB;AAGA;AAMA;AACA,OAAO,MAAMC,qBAAqB,GAAGD,YAAY,CAAC;EAChDE,YAAY,EAAEC;AAChB,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,SAASC,eAAeA,CAAEC,KAA6B,EAAE;EAC9D,MAAMC,QAAQ,GAAGP,KAAK,CAAC,CAAC;EACxB,MAAMQ,aAAa,GAAGV,UAAU,CAAC,CAAC,CAAC;EAEnC,MAAMW,aAAa,GAAGV,KAAK,CAAC,MAAMO,KAAK,CAACH,YAAY,KAAK,UAAU,CAAC;EAEpE,MAAMO,SAAS,GAAGX,KAAK,CAAC,MAAM;IAC5B,OAAOU,aAAa,CAACE,KAAK,GACtB,GAAGL,KAAK,CAACM,IAAI,IAAIL,QAAQ,IAAIC,aAAa,CAACG,KAAK,EAAE,GAClDL,KAAK,CAACM,IAAI;EAChB,CAAC,CAAC;EAEF,MAAMC,iBAAiB,GAAGd,KAAK,CAAC,MAAM;IACpC,OAAOU,aAAa,CAACE,KAAK,GACtB,KAAK,GACLL,KAAK,CAACH,YAAY;EACxB,CAAC,CAAC;EAEF,OAAO;IACLM,aAAa;IACbI,iBAAiB;IACjBH,SAAS;IACTI,MAAM,EAAEA,CAAA,KAAMN,aAAa,CAACG,KAAK,GAAG,IAAII,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC;EACzD,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"autocomplete.js","names":["shallowRef","toRef","useId","propsFactory","makeAutocompleteProps","autocomplete","String","useAutocomplete","props","uniqueId","reloadTrigger","isSuppressing","fieldName","name","undefined","value","fieldAutocomplete","update","Date","getTime"],"sources":["../../src/composables/autocomplete.ts"],"sourcesContent":["// Utilities\nimport { shallowRef, toRef, useId } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface InputAutocompleteProps {\n autocomplete: 'suppress' | string | undefined\n name?: string\n}\n\n// Composables\nexport const makeAutocompleteProps = propsFactory({\n autocomplete: String as PropType<'suppress' | string>,\n}, 'autocomplete')\n\nexport function useAutocomplete (props: InputAutocompleteProps) {\n const uniqueId = useId()\n const reloadTrigger = shallowRef(0)\n\n const isSuppressing = toRef(() => props.autocomplete === 'suppress')\n\n const fieldName = toRef(() => {\n if (!props.name) return undefined\n\n return isSuppressing.value\n ? `${props.name}-${uniqueId}-${reloadTrigger.value}`\n : props.name\n })\n\n const fieldAutocomplete = toRef(() => {\n return isSuppressing.value\n ? 'off'\n : props.autocomplete\n })\n\n return {\n isSuppressing,\n fieldAutocomplete,\n fieldName,\n update: () => reloadTrigger.value = new Date().getTime(),\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,UAAU,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACrCC,YAAY,4BAErB;AAGA;AAMA;AACA,OAAO,MAAMC,qBAAqB,GAAGD,YAAY,CAAC;EAChDE,YAAY,EAAEC;AAChB,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,SAASC,eAAeA,CAAEC,KAA6B,EAAE;EAC9D,MAAMC,QAAQ,GAAGP,KAAK,CAAC,CAAC;EACxB,MAAMQ,aAAa,GAAGV,UAAU,CAAC,CAAC,CAAC;EAEnC,MAAMW,aAAa,GAAGV,KAAK,CAAC,MAAMO,KAAK,CAACH,YAAY,KAAK,UAAU,CAAC;EAEpE,MAAMO,SAAS,GAAGX,KAAK,CAAC,MAAM;IAC5B,IAAI,CAACO,KAAK,CAACK,IAAI,EAAE,OAAOC,SAAS;IAEjC,OAAOH,aAAa,CAACI,KAAK,GACtB,GAAGP,KAAK,CAACK,IAAI,IAAIJ,QAAQ,IAAIC,aAAa,CAACK,KAAK,EAAE,GAClDP,KAAK,CAACK,IAAI;EAChB,CAAC,CAAC;EAEF,MAAMG,iBAAiB,GAAGf,KAAK,CAAC,MAAM;IACpC,OAAOU,aAAa,CAACI,KAAK,GACtB,KAAK,GACLP,KAAK,CAACH,YAAY;EACxB,CAAC,CAAC;EAEF,OAAO;IACLM,aAAa;IACbK,iBAAiB;IACjBJ,SAAS;IACTK,MAAM,EAAEA,CAAA,KAAMP,aAAa,CAACK,KAAK,GAAG,IAAIG,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC;EACzD,CAAC;AACH","ignoreList":[]}
@@ -1,9 +1,12 @@
1
1
  // Components
2
2
  import { VTooltip } from "../../components/VTooltip/index.js"; // Composables
3
- import { useDirectiveComponent } from "../../composables/directiveComponent.js"; // Types
3
+ import { useDirectiveComponent } from "../../composables/directiveComponent.js"; // Utilities
4
+ import { isObject } from "../../util/index.js"; // Types
4
5
  export const Tooltip = useDirectiveComponent(VTooltip, binding => {
6
+ const disabled = isObject(binding.value) ? !binding.value.text : ['', false, null].includes(binding.value); // undefined means true
7
+
5
8
  return {
6
- activator: 'parent',
9
+ activator: disabled ? null : 'parent',
7
10
  location: binding.arg?.replace('-', ' '),
8
11
  text: typeof binding.value === 'boolean' ? undefined : binding.value
9
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VTooltip","useDirectiveComponent","Tooltip","binding","activator","location","arg","replace","text","value","undefined"],"sources":["../../../src/directives/tooltip/index.ts"],"sourcesContent":["// Components\nimport { VTooltip } from '@/components/VTooltip'\n\n// Composables\nimport { useDirectiveComponent } from '@/composables/directiveComponent'\n\n// Types\nimport type { DirectiveBinding } from 'vue'\nimport type { Anchor } from '@/util'\n\nexport interface TooltipDirectiveBinding extends Omit<DirectiveBinding<string>, 'arg' | 'value'> {\n arg?: { [T in Anchor]: T extends `${infer A} ${infer B}` ? `${A}-${B}` : T }[Anchor]\n value: boolean | string | Record<string, any>\n}\n\nexport const Tooltip = useDirectiveComponent<TooltipDirectiveBinding>(VTooltip, binding => {\n return {\n activator: 'parent',\n location: binding.arg?.replace('-', ' '),\n text: typeof binding.value === 'boolean' ? undefined : binding.value,\n }\n})\n\nexport default Tooltip\n"],"mappings":"AAAA;AAAA,SACSA,QAAQ,8CAEjB;AAAA,SACSC,qBAAqB,mDAE9B;AASA,OAAO,MAAMC,OAAO,GAAGD,qBAAqB,CAA0BD,QAAQ,EAAEG,OAAO,IAAI;EACzF,OAAO;IACLC,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAEF,OAAO,CAACG,GAAG,EAAEC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IACxCC,IAAI,EAAE,OAAOL,OAAO,CAACM,KAAK,KAAK,SAAS,GAAGC,SAAS,GAAGP,OAAO,CAACM;EACjE,CAAC;AACH,CAAC,CAAC;AAEF,eAAeP,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["VTooltip","useDirectiveComponent","isObject","Tooltip","binding","disabled","value","text","includes","activator","location","arg","replace","undefined"],"sources":["../../../src/directives/tooltip/index.ts"],"sourcesContent":["// Components\nimport { VTooltip } from '@/components/VTooltip'\n\n// Composables\nimport { useDirectiveComponent } from '@/composables/directiveComponent'\n\n// Utilities\nimport { isObject } from '@/util'\n\n// Types\nimport type { DirectiveBinding } from 'vue'\nimport type { Anchor } from '@/util'\n\nexport interface TooltipDirectiveBinding extends Omit<DirectiveBinding<string>, 'arg' | 'value'> {\n arg?: { [T in Anchor]: T extends `${infer A} ${infer B}` ? `${A}-${B}` : T }[Anchor]\n value: boolean | string | Record<string, any>\n}\n\nexport const Tooltip = useDirectiveComponent<TooltipDirectiveBinding>(VTooltip, binding => {\n const disabled = isObject(binding.value)\n ? !binding.value.text\n : ['', false, null].includes(binding.value) // undefined means true\n\n return {\n activator: disabled ? null : 'parent',\n location: binding.arg?.replace('-', ' '),\n text: typeof binding.value === 'boolean' ? undefined : binding.value,\n }\n})\n\nexport default Tooltip\n"],"mappings":"AAAA;AAAA,SACSA,QAAQ,8CAEjB;AAAA,SACSC,qBAAqB,mDAE9B;AAAA,SACSC,QAAQ,+BAEjB;AASA,OAAO,MAAMC,OAAO,GAAGF,qBAAqB,CAA0BD,QAAQ,EAAEI,OAAO,IAAI;EACzF,MAAMC,QAAQ,GAAGH,QAAQ,CAACE,OAAO,CAACE,KAAK,CAAC,GACpC,CAACF,OAAO,CAACE,KAAK,CAACC,IAAI,GACnB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAACC,QAAQ,CAACJ,OAAO,CAACE,KAAK,CAAC,EAAC;;EAE9C,OAAO;IACLG,SAAS,EAAEJ,QAAQ,GAAG,IAAI,GAAG,QAAQ;IACrCK,QAAQ,EAAEN,OAAO,CAACO,GAAG,EAAEC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IACxCL,IAAI,EAAE,OAAOH,OAAO,CAACE,KAAK,KAAK,SAAS,GAAGO,SAAS,GAAGT,OAAO,CAACE;EACjE,CAAC;AACH,CAAC,CAAC;AAEF,eAAeH,OAAO","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.10.11";
19
+ export const version = "3.10.12";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2729,35 +2729,34 @@ declare module 'vue' {
2729
2729
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2730
2730
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2731
2731
  VAvatar: typeof import('vuetify/components')['VAvatar']
2732
- VBadge: typeof import('vuetify/components')['VBadge']
2733
2732
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2734
- VBanner: typeof import('vuetify/components')['VBanner']
2735
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2736
- VBannerText: typeof import('vuetify/components')['VBannerText']
2737
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2733
+ VBadge: typeof import('vuetify/components')['VBadge']
2734
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2738
2735
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2739
2736
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2740
2737
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2741
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2742
- VBtn: typeof import('vuetify/components')['VBtn']
2738
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2743
2739
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2740
+ VBanner: typeof import('vuetify/components')['VBanner']
2741
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2742
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2743
+ VBtn: typeof import('vuetify/components')['VBtn']
2744
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2745
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2746
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2744
2747
  VCard: typeof import('vuetify/components')['VCard']
2745
2748
  VCardActions: typeof import('vuetify/components')['VCardActions']
2746
2749
  VCardItem: typeof import('vuetify/components')['VCardItem']
2747
2750
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2748
2751
  VCardText: typeof import('vuetify/components')['VCardText']
2749
2752
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2750
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2753
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2754
+ VChip: typeof import('vuetify/components')['VChip']
2751
2755
  VCarousel: typeof import('vuetify/components')['VCarousel']
2752
2756
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2753
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2754
- VCode: typeof import('vuetify/components')['VCode']
2755
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2756
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2757
2757
  VCombobox: typeof import('vuetify/components')['VCombobox']
2758
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2759
- VCounter: typeof import('vuetify/components')['VCounter']
2760
- VChip: typeof import('vuetify/components')['VChip']
2758
+ VCode: typeof import('vuetify/components')['VCode']
2759
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2761
2760
  VDataTable: typeof import('vuetify/components')['VDataTable']
2762
2761
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2763
2762
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2765,35 +2764,39 @@ declare module 'vue' {
2765
2764
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2766
2765
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2767
2766
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2768
- VDialog: typeof import('vuetify/components')['VDialog']
2767
+ VCounter: typeof import('vuetify/components')['VCounter']
2769
2768
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2770
2769
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2771
2770
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2772
2771
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2773
2772
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2774
2773
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2775
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2776
- VDivider: typeof import('vuetify/components')['VDivider']
2777
- VFab: typeof import('vuetify/components')['VFab']
2778
2774
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2779
2775
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2780
2776
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2781
2777
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2778
+ VDivider: typeof import('vuetify/components')['VDivider']
2779
+ VDialog: typeof import('vuetify/components')['VDialog']
2780
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2781
+ VFab: typeof import('vuetify/components')['VFab']
2782
2782
  VField: typeof import('vuetify/components')['VField']
2783
2783
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2784
- VFooter: typeof import('vuetify/components')['VFooter']
2785
2784
  VFileInput: typeof import('vuetify/components')['VFileInput']
2785
+ VFooter: typeof import('vuetify/components')['VFooter']
2786
2786
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2787
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2788
+ VItem: typeof import('vuetify/components')['VItem']
2787
2789
  VIcon: typeof import('vuetify/components')['VIcon']
2788
2790
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2789
2791
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2790
2792
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2791
2793
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2792
2794
  VImg: typeof import('vuetify/components')['VImg']
2793
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2794
- VItem: typeof import('vuetify/components')['VItem']
2795
- VInput: typeof import('vuetify/components')['VInput']
2795
+ VKbd: typeof import('vuetify/components')['VKbd']
2796
2796
  VLabel: typeof import('vuetify/components')['VLabel']
2797
+ VInput: typeof import('vuetify/components')['VInput']
2798
+ VMenu: typeof import('vuetify/components')['VMenu']
2799
+ VMessages: typeof import('vuetify/components')['VMessages']
2797
2800
  VList: typeof import('vuetify/components')['VList']
2798
2801
  VListGroup: typeof import('vuetify/components')['VListGroup']
2799
2802
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2803,81 +2806,75 @@ declare module 'vue' {
2803
2806
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2804
2807
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2805
2808
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2806
- VKbd: typeof import('vuetify/components')['VKbd']
2807
- VMessages: typeof import('vuetify/components')['VMessages']
2808
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2809
- VMenu: typeof import('vuetify/components')['VMenu']
2810
2809
  VMain: typeof import('vuetify/components')['VMain']
2811
- VOverlay: typeof import('vuetify/components')['VOverlay']
2810
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2812
2811
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2812
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2813
2813
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2814
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2815
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2816
- VPagination: typeof import('vuetify/components')['VPagination']
2817
- VRating: typeof import('vuetify/components')['VRating']
2814
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2818
2815
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2819
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2816
+ VPagination: typeof import('vuetify/components')['VPagination']
2817
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2820
2818
  VSelect: typeof import('vuetify/components')['VSelect']
2819
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2820
+ VRating: typeof import('vuetify/components')['VRating']
2821
2821
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2822
- VSheet: typeof import('vuetify/components')['VSheet']
2823
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2824
- VSlider: typeof import('vuetify/components')['VSlider']
2825
2822
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2826
2823
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2827
- VSwitch: typeof import('vuetify/components')['VSwitch']
2828
2824
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2825
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2826
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2827
+ VSlider: typeof import('vuetify/components')['VSlider']
2828
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2829
2829
  VStepper: typeof import('vuetify/components')['VStepper']
2830
2830
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2831
2831
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2832
2832
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2833
2833
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2834
2834
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2835
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2835
+ VTextField: typeof import('vuetify/components')['VTextField']
2836
+ VTable: typeof import('vuetify/components')['VTable']
2837
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2836
2838
  VTab: typeof import('vuetify/components')['VTab']
2837
2839
  VTabs: typeof import('vuetify/components')['VTabs']
2838
2840
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2839
2841
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2840
- VTable: typeof import('vuetify/components')['VTable']
2841
- VTextField: typeof import('vuetify/components')['VTextField']
2842
- VTextarea: typeof import('vuetify/components')['VTextarea']
2843
2842
  VToolbar: typeof import('vuetify/components')['VToolbar']
2844
2843
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2845
2844
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2846
2845
  VTimeline: typeof import('vuetify/components')['VTimeline']
2847
2846
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2847
+ VWindow: typeof import('vuetify/components')['VWindow']
2848
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
2848
2849
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2849
2850
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2850
2851
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2852
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2851
2853
  VTreeview: typeof import('vuetify/components')['VTreeview']
2852
2854
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2853
2855
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2854
- VTooltip: typeof import('vuetify/components')['VTooltip']
2855
- VWindow: typeof import('vuetify/components')['VWindow']
2856
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
2857
2856
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2858
2857
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2859
2858
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2860
- VHover: typeof import('vuetify/components')['VHover']
2861
2859
  VForm: typeof import('vuetify/components')['VForm']
2860
+ VHover: typeof import('vuetify/components')['VHover']
2862
2861
  VContainer: typeof import('vuetify/components')['VContainer']
2863
2862
  VCol: typeof import('vuetify/components')['VCol']
2864
2863
  VRow: typeof import('vuetify/components')['VRow']
2865
2864
  VSpacer: typeof import('vuetify/components')['VSpacer']
2865
+ VLazy: typeof import('vuetify/components')['VLazy']
2866
2866
  VLayout: typeof import('vuetify/components')['VLayout']
2867
2867
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2868
- VLazy: typeof import('vuetify/components')['VLazy']
2868
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2869
2869
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2870
- VRadio: typeof import('vuetify/components')['VRadio']
2871
2870
  VParallax: typeof import('vuetify/components')['VParallax']
2872
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2871
+ VRadio: typeof import('vuetify/components')['VRadio']
2873
2872
  VResponsive: typeof import('vuetify/components')['VResponsive']
2874
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2875
- VSparkline: typeof import('vuetify/components')['VSparkline']
2873
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2876
2874
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2877
2875
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2876
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2878
2877
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2879
- VValidation: typeof import('vuetify/components')['VValidation']
2880
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2881
2878
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2882
2879
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2883
2880
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2894,23 +2891,26 @@ declare module 'vue' {
2894
2891
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2895
2892
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2896
2893
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2897
- VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2894
+ VValidation: typeof import('vuetify/components')['VValidation']
2895
+ VSheet: typeof import('vuetify/components')['VSheet']
2896
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2897
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2898
2898
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2899
2899
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2900
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2901
2900
  VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2901
+ VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2902
+ VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2903
+ VVideo: typeof import('vuetify/labs/components')['VVideo']
2904
+ VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2905
+ VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2902
2906
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2903
2907
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2904
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2905
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2906
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2907
2908
  VPie: typeof import('vuetify/labs/components')['VPie']
2908
2909
  VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2909
2910
  VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2910
- VVideo: typeof import('vuetify/labs/components')['VVideo']
2911
- VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2912
- VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2913
- VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2911
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2912
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2913
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2914
2914
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2915
2915
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2916
2916
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.10.11";
112
+ export const version = "3.10.12";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -316,7 +316,7 @@ export function findChildrenWithProvide(key, vnode) {
316
316
  } else if (Array.isArray(vnode.children)) {
317
317
  return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);
318
318
  } else if (vnode.component) {
319
- if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {
319
+ if (Object.getOwnPropertyDescriptor(vnode.component.provides, key)) {
320
320
  return [vnode.component];
321
321
  } else if (vnode.component.subTree) {
322
322
  return findChildrenWithProvide(key, vnode.component.subTree).flat(1);