@dimailn/vuetify 2.7.2-alpha53 → 2.7.2-alpha55

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.
@@ -489,6 +489,7 @@ var _default2 = baseMixins.extend({
489
489
  var input = _VTextField2.default.methods.genInput.call(this);
490
490
 
491
491
  delete input.props.name;
492
+ delete input.props.placeholder;
492
493
  input.props = (0, _mergeData.default)(input.props, {
493
494
  readonly: true,
494
495
  type: 'text',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes, normalizeAttrs } from '../../util/helpers'\nimport { consoleError, breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport type { PropType, VNode } from 'vue'\nimport { withDirectives, h } from 'vue'\nimport type { VNodeData } from '../../types/vue-internal'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ntype options = {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-select',\n\n $_emitChangeEvent: true,\n $_modelEvent: 'update:modelValue',\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown'\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false\n },\n auto: Boolean,\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n } as unknown as PropType<any[]>,\n itemColor: {\n type: String,\n default: 'primary'\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value'\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps\n },\n minWidth: [String, Number],\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean\n },\n\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'keydown', 'click', 'update:list-index', 'click:clear'],\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n detectedScopeId: null as string | null\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this.$?.uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): any[] | undefined {\n return [\n [\n ClickOutside,\n {\n handler: () => this.isFocused && this.blur(),\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements()\n }\n ]\n ]\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$slots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n return {\n id: this.computedOwns,\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n onSelect: this.selectItem\n }\n },\n listAttrs (): object {\n const scopeIdAttrs: Record<string, any> = {}\n\n // Используем detectedScopeId из mounted hook\n if (this.detectedScopeId) {\n scopeIdAttrs[this.detectedScopeId] = ''\n }\n\n // scopeId успешно передается в VSelectList\n\n return scopeIdAttrs\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs\n }, {\n item: this.$slots.item\n })\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n modelValue: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n auto: this.auto,\n minWidth: this.minWidth,\n ...normalisedProps\n }\n }\n },\n\n watch: {\n internalValue: {\n handler (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n deep: true\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n }\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n this.$nextTick(() => {\n if (this.$el && this.$el.attributes) {\n const attrs = this.$el.attributes\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i]\n if (attr.name.startsWith('data-v-')) {\n this.detectedScopeId = attr.name\n // scopeId найден и сохранен для использования в dropdown\n break\n }\n }\n }\n })\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n this.$emit('click:clear')\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this.$.isUnmounted &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return h(VChip, {\n class: 'v-chip--select',\n tabindex: -1,\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n modelValue: index === this.selectedIndex,\n small: this.smallChips,\n onClick: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'onClick:close': () => this.onChipInput(item),\n key: JSON.stringify(this.getValue(item))\n }, () => this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return h('div', this.setTextColor(color, {\n class: ['v-select__selection v-select__selection--comma', {\n 'v-select__selection--disabled': isDisabled\n }],\n key: JSON.stringify(this.getValue(item))\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n withDirectives(h('div', {\n class: 'v-select__slot'\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput()\n ]), this.directives),\n this.genMenu(),\n this.genProgress()\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n const iconChild = icon.children![0]\n const hasListeners = Object.keys(iconChild.props || {}).some(key => key.startsWith('on'))\n iconChild.props = mergeData(iconChild.props || {}, {\n tabindex: hasListeners ? '-1' : undefined,\n 'aria-hidden': 'true',\n 'aria-label': undefined\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.methods.genInput.call(this)\n\n delete input.props.name\n\n input.props = mergeData(input.props, {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n onKeypress: this.onKeyPress\n })\n\n input.props = { ...input.props, value: null }\n input.props = normalizeAttrs(input.props)\n\n return input\n },\n genHiddenInput (): VNode {\n let value = this.lazyValue\n\n if (this.multiple && Array.isArray(value)) {\n value = value.map(item => {\n if (typeof item === 'object' && item !== null) {\n return this.getValue(item)\n }\n return item\n }).join(',')\n } else if (typeof value === 'object' && value !== null) {\n value = this.getValue(value)\n }\n\n return h('input', {\n value,\n type: 'hidden',\n name: this.$attrs.name\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.methods.genInputSlot.call(this)\n\n render.props = {\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n ...render.props\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = Object.fromEntries(['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => [\n slotName,\n this.$slots[slotName]\n ]\n ))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs\n }, { ...slots, item: this.$slots.item })\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return h(VMenu, {\n role: undefined,\n ...props,\n 'onUpdate:modelValue': (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n onScroll: this.onScroll,\n ref: 'menu'\n }, () => [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n\n const children = new Array(length)\n\n let genSelection\n if (this.$slots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return h('div', {\n class: 'v-select__selections'\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$slots.selection!({\n class: 'v-chip--select',\n parent: this,\n item,\n index,\n onSelect: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(\n keyCode as typeof keyCodes.up | typeof keyCodes.down | typeof keyCodes.home | typeof keyCodes.end | typeof keyCodes.enter\n )) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space\n ].includes(keyCode as typeof keyCodes.enter | typeof keyCodes.space)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(\n keyCode as typeof keyCodes.up | typeof keyCodes.down | typeof keyCodes.home | typeof keyCodes.end\n )\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n }\n }\n})\n"],"sourceRoot":"","file":"VSelect.js"}
1
+ {"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes, normalizeAttrs } from '../../util/helpers'\nimport { consoleError, breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport type { PropType, VNode } from 'vue'\nimport { withDirectives, h } from 'vue'\nimport type { VNodeData } from '../../types/vue-internal'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ntype options = {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-select',\n\n $_emitChangeEvent: true,\n $_modelEvent: 'update:modelValue',\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown'\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false\n },\n auto: Boolean,\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n } as unknown as PropType<any[]>,\n itemColor: {\n type: String,\n default: 'primary'\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value'\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps\n },\n minWidth: [String, Number],\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean\n },\n\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'keydown', 'click', 'update:list-index', 'click:clear'],\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n detectedScopeId: null as string | null\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this.$?.uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): any[] | undefined {\n return [\n [\n ClickOutside,\n {\n handler: () => this.isFocused && this.blur(),\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements()\n }\n ]\n ]\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$slots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n return {\n id: this.computedOwns,\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n onSelect: this.selectItem\n }\n },\n listAttrs (): object {\n const scopeIdAttrs: Record<string, any> = {}\n\n // Используем detectedScopeId из mounted hook\n if (this.detectedScopeId) {\n scopeIdAttrs[this.detectedScopeId] = ''\n }\n\n // scopeId успешно передается в VSelectList\n\n return scopeIdAttrs\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs\n }, {\n item: this.$slots.item\n })\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n modelValue: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n auto: this.auto,\n minWidth: this.minWidth,\n ...normalisedProps\n }\n }\n },\n\n watch: {\n internalValue: {\n handler (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n deep: true\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n }\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n this.$nextTick(() => {\n if (this.$el && this.$el.attributes) {\n const attrs = this.$el.attributes\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i]\n if (attr.name.startsWith('data-v-')) {\n this.detectedScopeId = attr.name\n // scopeId найден и сохранен для использования в dropdown\n break\n }\n }\n }\n })\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n this.$emit('click:clear')\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this.$.isUnmounted &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return h(VChip, {\n class: 'v-chip--select',\n tabindex: -1,\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n modelValue: index === this.selectedIndex,\n small: this.smallChips,\n onClick: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'onClick:close': () => this.onChipInput(item),\n key: JSON.stringify(this.getValue(item))\n }, () => this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return h('div', this.setTextColor(color, {\n class: ['v-select__selection v-select__selection--comma', {\n 'v-select__selection--disabled': isDisabled\n }],\n key: JSON.stringify(this.getValue(item))\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n withDirectives(h('div', {\n class: 'v-select__slot'\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput()\n ]), this.directives),\n this.genMenu(),\n this.genProgress()\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n const iconChild = icon.children![0]\n const hasListeners = Object.keys(iconChild.props || {}).some(key => key.startsWith('on'))\n iconChild.props = mergeData(iconChild.props || {}, {\n tabindex: hasListeners ? '-1' : undefined,\n 'aria-hidden': 'true',\n 'aria-label': undefined\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.methods.genInput.call(this)\n\n delete input.props.name\n delete input.props.placeholder\n\n input.props = mergeData(input.props, {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n onKeypress: this.onKeyPress\n })\n\n input.props = { ...input.props, value: null }\n input.props = normalizeAttrs(input.props)\n\n return input\n },\n genHiddenInput (): VNode {\n let value = this.lazyValue\n\n if (this.multiple && Array.isArray(value)) {\n value = value.map(item => {\n if (typeof item === 'object' && item !== null) {\n return this.getValue(item)\n }\n return item\n }).join(',')\n } else if (typeof value === 'object' && value !== null) {\n value = this.getValue(value)\n }\n\n return h('input', {\n value,\n type: 'hidden',\n name: this.$attrs.name\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.methods.genInputSlot.call(this)\n\n render.props = {\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n ...render.props\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = Object.fromEntries(['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => [\n slotName,\n this.$slots[slotName]\n ]\n ))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs\n }, { ...slots, item: this.$slots.item })\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return h(VMenu, {\n role: undefined,\n ...props,\n 'onUpdate:modelValue': (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n onScroll: this.onScroll,\n ref: 'menu'\n }, () => [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n\n const children = new Array(length)\n\n let genSelection\n if (this.$slots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return h('div', {\n class: 'v-select__selections'\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$slots.selection!({\n class: 'v-chip--select',\n parent: this,\n item,\n index,\n onSelect: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(\n keyCode as typeof keyCodes.up | typeof keyCodes.down | typeof keyCodes.home | typeof keyCodes.end | typeof keyCodes.enter\n )) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space\n ].includes(keyCode as typeof keyCodes.enter | typeof keyCodes.space)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(\n keyCode as typeof keyCodes.up | typeof keyCodes.down | typeof keyCodes.home | typeof keyCodes.end\n )\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n }\n }\n})\n"],"sourceRoot":"","file":"VSelect.js"}
@@ -383,7 +383,7 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
383
383
  },
384
384
  register: function register(node) {
385
385
  var key = (0, _helpers.getObjectValueByPath)(node.item, this.itemKey);
386
- this.nodes[key].vnode = node;
386
+ this.nodes[key].vnode = (0, _vue.markRaw)(node);
387
387
  this.updateVnodeState(key);
388
388
  },
389
389
  unregister: function unregister(node) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropType, VNode } from 'vue'\nimport { h } from 'vue'\nimport type { VNodeChildrenArrayContents } from '../../types/vue-internal'\n// Styles\nimport './VTreeview.sass'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<any[]>,\n modelValue: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false // TODO: Should be true in next major\n },\n search: String,\n ...VTreeviewNodeProps\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n }\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n modelValue (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.modelValue.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key)\n ? this.nodes[key]\n : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('update:modelValue', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n }\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses\n }]\n }, children)\n }\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
1
+ {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropType, VNode } from 'vue'\nimport { h, markRaw } from 'vue'\nimport type { VNodeChildrenArrayContents } from '../../types/vue-internal'\n// Styles\nimport './VTreeview.sass'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<any[]>,\n modelValue: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false // TODO: Should be true in next major\n },\n search: String,\n ...VTreeviewNodeProps\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n }\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n modelValue (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.modelValue.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key)\n ? this.nodes[key]\n : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('update:modelValue', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = markRaw(node)\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n }\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses\n }]\n }, children)\n }\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
package/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.7.2-alpha53";
82
+ Vuetify.version = "2.7.2-alpha55";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
@@ -9,8 +9,6 @@ var _vue = require("vue");
9
9
 
10
10
  var _ripple = _interopRequireDefault(require("../../directives/ripple"));
11
11
 
12
- var _helpers = require("../../util/helpers");
13
-
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
@@ -19,6 +17,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
19
17
 
20
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
19
 
20
+ // Utilities
22
21
  var _default = (0, _vue.defineComponent)({
23
22
  name: 'routable',
24
23
  directives: {
@@ -147,10 +146,15 @@ var _default = (0, _vue.defineComponent)({
147
146
  if (!this.to || !this.$refs.link || !this.$route) return;
148
147
  var activeClass = "".concat(this.activeClass || '', " ").concat(this.proxyClass || '').trim();
149
148
  var exactActiveClass = "".concat(this.exactActiveClass || '', " ").concat(this.proxyClass || '').trim() || activeClass;
150
- var path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass);
149
+ var activeClasses = (this.exact ? exactActiveClass : activeClass).split(' ');
151
150
  this.$nextTick(function () {
152
151
  /* istanbul ignore else */
153
- var isLinkActive = Boolean((0, _helpers.getObjectValueByPath)(_this.$refs.link, path));
152
+ var el = _this.$refs.link.$el || _this.$refs.link;
153
+ var isLinkActive = activeClasses.every(function (c) {
154
+ var _a;
155
+
156
+ return (_a = el === null || el === void 0 ? void 0 : el.classList) === null || _a === void 0 ? void 0 : _a.contains(c);
157
+ });
154
158
 
155
159
  if (isLinkActive !== _this.isActive) {
156
160
  _this.toggle();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ')\n exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ')\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n const isLinkActive = Boolean(getObjectValueByPath(this.$refs.link, path))\n if (isLinkActive !== this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ')\n exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ')\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const activeClasses = (this.exact ? exactActiveClass : activeClass).split(' ')\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n const el = (this.$refs.link as any).$el || this.$refs.link\n const isLinkActive = activeClasses.every(c => el?.classList?.contains(c))\n\n if (isLinkActive !== this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -440,6 +440,7 @@ export default baseMixins.extend({
440
440
  genInput() {
441
441
  const input = VTextField.methods.genInput.call(this);
442
442
  delete input.props.name;
443
+ delete input.props.placeholder;
443
444
  input.props = mergeData(input.props, {
444
445
  readonly: true,
445
446
  type: 'text',