@dimailn/vuetify 2.7.2-alpha36 → 2.7.2-alpha38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vuetify.js +29 -16
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VDialog/VDialog.js +1 -1
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +1 -1
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -1
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +1 -1
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +12 -7
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +2 -2
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +1 -1
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/detachable/index.js +1 -1
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +5 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +1 -1
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +1 -1
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +1 -1
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -1
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -1
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +14 -4
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +1 -1
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/detachable/index.js +1 -1
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +3 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +1 -1
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VBtn/__tests__/VBtn.spec.ts +2 -1
- package/src/components/VDialog/VDialog.ts +1 -1
- package/src/components/VItemGroup/VItemGroup.ts +1 -1
- package/src/components/VMenu/VMenu.ts +1 -1
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +1 -1
- package/src/components/VSelect/VSelect.ts +1 -1
- package/src/components/VSelect/VSelectList.ts +14 -3
- package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
- package/src/components/VTabs/VTabs.ts +1 -1
- package/src/mixins/detachable/index.ts +1 -1
- package/src/mixins/groupable/index.ts +3 -1
- package/src/mixins/proxyable/index.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag () {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height () {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\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 beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n return [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless,\n },\n ],\n ]\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n const node = h(this.$tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag () {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height () {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\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 beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this.$.isUnmounted && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n return [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless,\n },\n ],\n ]\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n const node = h(this.$tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
|
|
@@ -333,7 +333,7 @@ export default baseMixins.extend({
|
|
|
333
333
|
|
|
334
334
|
closeConditional(e) {
|
|
335
335
|
if (!this.isMenuActive) return true;
|
|
336
|
-
return !this
|
|
336
|
+
return !this.$.isUnmounted && ( // Click originates from outside the menu content
|
|
337
337
|
// Multiple selects don't close when an item is clicked
|
|
338
338
|
!this.getContent() || !this.getContent().contains(e.target)) && // Click originates from outside the element
|
|
339
339
|
this.$el && !this.$el.contains(e.target) && e.target !== this.$el;
|
|
@@ -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 { VNode, VNodeDirective, PropType, VNodeData, withDirectives, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\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\ninterface options extends InstanceType<typeof baseMixins> {\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 PropValidator<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 (): VNodeDirective[] | 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._isDestroyed &&\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(keyCode)) {\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)) 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(keyCode)\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 { VNode, VNodeDirective, PropType, VNodeData, withDirectives, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\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\ninterface options extends InstanceType<typeof baseMixins> {\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 PropValidator<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 (): VNodeDirective[] | 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(keyCode)) {\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)) 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(keyCode)\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"}
|
|
@@ -194,12 +194,22 @@ export default mixins(Colorable, Themeable).extend({
|
|
|
194
194
|
return this.parsedItems.indexOf(this.getValue(item)) > -1;
|
|
195
195
|
},
|
|
196
196
|
|
|
197
|
+
checkSlotFragment(type) {
|
|
198
|
+
return typeof type === 'symbol' && String(type) === 'Symbol(v-fgt)';
|
|
199
|
+
},
|
|
200
|
+
|
|
197
201
|
needsTile(slot) {
|
|
198
|
-
const [vnode] = slot !== null && slot !== void 0 ? slot : [];
|
|
199
202
|
if (!(slot === null || slot === void 0 ? void 0 : slot.length) || slot.length !== 1) return true;
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
+
let vnode = slot[0];
|
|
204
|
+
if (!vnode) return true;
|
|
205
|
+
let type = vnode.type;
|
|
206
|
+
|
|
207
|
+
if (this.checkSlotFragment(type) && Array.isArray(vnode.children)) {
|
|
208
|
+
if (vnode.children.length !== 1) return true;
|
|
209
|
+
vnode = vnode.children[0];
|
|
210
|
+
type = vnode && vnode.type;
|
|
211
|
+
}
|
|
212
|
+
|
|
203
213
|
const isComponent = type && typeof type === 'object';
|
|
204
214
|
const isVListItem = isComponent && 'name' in type && type.name === 'v-list-item';
|
|
205
215
|
return !isVListItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\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 noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\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 methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, {}, () => [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n 'onUpdate:modelValue': () => this.$emit('select', item),\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, props)\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, props, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n modelValue: value,\n // Передаем scopeId атрибуты от родительского компонента\n ...Object.keys(this.$attrs).reduce((acc, key) => {\n if (key.startsWith('data-v-')) {\n acc[key] = this.$attrs[key]\n }\n return acc\n }, {} as Record<string, any>),\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const { onClick, onMousedown, ...attrsWithoutEvents } = tile\n const scopedSlot = this.$slots.item({\n parent,\n item,\n active: value,\n attrs: tile,\n on: {\n onMousedown,\n onClick,\n },\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, {}, () => [\n h(VListItemTitle, {}, () => [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined): boolean {\n const [vnode] = slot ?? []\n\n if (!slot?.length || slot.length !== 1) return true\n\n const { type } = vnode ?? {}\n\n const isComponent = type && typeof type === 'object'\n\n const isVListItem = isComponent && 'name' in type && type.name === 'v-list-item'\n\n return !isVListItem\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n ...this.$attrs,\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSelect/VSelectList.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\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 noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType<any>,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n role: undefined,\n onMousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n }\n\n return h(VListItem, tile, [\n this.genTileContent(this.noDataText),\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 methods: {\n genAction (item: object, inputValue: any): VNode {\n return h(VListItemAction, {}, () => [\n h(VSimpleCheckbox, {\n color: this.color,\n modelValue: inputValue,\n ripple: false,\n 'onUpdate:modelValue': () => this.$emit('select', item),\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return h(VDivider, props)\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return h(VSubheader, props, props.header)\n },\n genHighlight (text: string) {\n return h('span', { class: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this.$.uid}-${index}`,\n role: 'option',\n onMousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n onClick: () => disabled || this.$emit('select', item),\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n modelValue: value,\n // Передаем scopeId атрибуты от родительского компонента\n ...Object.keys(this.$attrs).reduce((acc, key) => {\n if (key.startsWith('data-v-')) {\n acc[key] = this.$attrs[key]\n }\n return acc\n }, {} as Record<string, any>),\n }\n\n if (!this.$slots.item) {\n return h(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const { onClick, onMousedown, ...attrsWithoutEvents } = tile\n const scopedSlot = this.$slots.item({\n parent,\n item,\n active: value,\n attrs: tile,\n on: {\n onMousedown,\n onClick,\n },\n })\n\n return this.needsTile(scopedSlot)\n ? h(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return h(VListItemContent, {}, () => [\n h(VListItemTitle, {}, () => [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n checkSlotFragment (type: any) {\n return typeof type === 'symbol' && String(type) === 'Symbol(v-fgt)'\n },\n needsTile (slot: VNode[] | undefined): boolean {\n if (!slot?.length || slot.length !== 1) return true\n\n let vnode = slot[0] as any\n\n if (!vnode) return true\n\n let type = vnode.type\n\n if (this.checkSlotFragment(type) && Array.isArray(vnode.children)) {\n if (vnode.children.length !== 1) return true\n vnode = vnode.children[0] as VNode\n type = vnode && (vnode.type as any)\n }\n\n const isComponent = type && typeof type === 'object'\n\n const isVListItem = isComponent && 'name' in type && type.name === 'v-list-item'\n\n return !isVListItem\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data']?.() || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']())\n\n this.$slots['append-item'] && children.push(this.$slots['append-item']())\n\n return h(VList, {\n ...this.$attrs,\n class: ['v-select-list', this.themeClasses],\n role: 'listbox',\n tabindex: -1,\n onMousedown: (e: Event) => {\n e.preventDefault()\n },\n dense: this.dense,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VSelectList.js"}
|
|
@@ -307,7 +307,7 @@ export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
|
|
|
307
307
|
|
|
308
308
|
onResize() {
|
|
309
309
|
/* istanbul ignore next */
|
|
310
|
-
if (this
|
|
310
|
+
if (this.$.isUnmounted) return;
|
|
311
311
|
this.setWidths();
|
|
312
312
|
},
|
|
313
313
|
|
|
@@ -413,7 +413,7 @@ export const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
|
|
|
413
413
|
|
|
414
414
|
setWidths() {
|
|
415
415
|
window.requestAnimationFrame(() => {
|
|
416
|
-
if (this
|
|
416
|
+
if (this.$.isUnmounted) return;
|
|
417
417
|
const content = this.$refs.content;
|
|
418
418
|
const wrapper = this.$refs.wrapper;
|
|
419
419
|
if (!content || !wrapper) return;
|