@dimailn/vuetify 2.7.2-alpha5 → 2.7.2-alpha7
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 +49 -32
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAutocomplete/VAutocomplete.js +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VData/VData.js +14 -2
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +1 -1
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +1 -1
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +1 -1
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +1 -1
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VInput/VInput.js +1 -1
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VList/VListGroup.js +1 -1
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -1
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +1 -1
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +1 -1
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +1 -1
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/activatable/index.js +9 -4
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/applicationable/index.js +1 -1
- package/es5/mixins/applicationable/index.js.map +1 -1
- package/es5/mixins/detachable/index.js +3 -3
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +1 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/intersectable/index.js +1 -1
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/menuable/index.js +1 -1
- package/es5/mixins/menuable/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +1 -1
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/translatable/index.js +1 -1
- package/es5/mixins/translatable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +2 -2
- package/es5/mixins/validatable/index.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VData/VData.js +15 -2
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +1 -1
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +1 -1
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +1 -1
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +1 -1
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VInput/VInput.js +1 -1
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VList/VListGroup.js +1 -1
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -1
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +1 -1
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +1 -1
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/activatable/index.js +10 -5
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/applicationable/index.js +1 -1
- package/lib/mixins/applicationable/index.js.map +1 -1
- package/lib/mixins/detachable/index.js +3 -3
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +1 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/intersectable/index.js +1 -1
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/menuable/index.js +1 -1
- package/lib/mixins/menuable/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +1 -1
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/translatable/index.js +1 -1
- package/lib/mixins/translatable/index.js.map +1 -1
- package/lib/mixins/validatable/index.js +2 -2
- package/lib/mixins/validatable/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAutocomplete/VAutocomplete.ts +1 -1
- package/src/components/VData/VData.ts +12 -1
- package/src/components/VDataIterator/VDataIterator.ts +1 -1
- package/src/components/VDataTable/VDataTable.ts +1 -1
- package/src/components/VDataTable/VVirtualTable.ts +1 -1
- package/src/components/VDialog/VDialog.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
- package/src/components/VInput/VInput.ts +1 -1
- package/src/components/VList/VListGroup.ts +1 -1
- package/src/components/VMenu/VMenu.ts +1 -0
- package/src/components/VStepper/VStepperContent.ts +1 -1
- package/src/components/VStepper/VStepperStep.ts +1 -1
- package/src/components/VTextField/VTextField.ts +1 -1
- package/src/components/VTreeview/VTreeviewNode.ts +1 -1
- package/src/mixins/activatable/index.ts +8 -4
- package/src/mixins/applicationable/index.ts +1 -1
- package/src/mixins/detachable/index.ts +5 -5
- package/src/mixins/groupable/index.ts +1 -1
- package/src/mixins/intersectable/index.ts +1 -1
- package/src/mixins/menuable/index.ts +1 -1
- package/src/mixins/overlayable/index.ts +1 -1
- package/src/mixins/translatable/index.ts +1 -1
- package/src/mixins/validatable/index.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, Transition, vShow, withDirectives} from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, Transition, vShow, withDirectives} from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n this.$refs.content &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
|
|
@@ -79,7 +79,7 @@ var _default = baseMixins.extend({
|
|
|
79
79
|
this.$refs.wrapper.addEventListener('transitionend', this.onTransition, false);
|
|
80
80
|
this.stepper && this.stepper.register(this);
|
|
81
81
|
},
|
|
82
|
-
|
|
82
|
+
beforeUnmount: function beforeUnmount() {
|
|
83
83
|
this.$refs.wrapper.removeEventListener('transitionend', this.onTransition, false);
|
|
84
84
|
this.stepper && this.stepper.unregister(this);
|
|
85
85
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VStepper/VStepperContent.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper-content',\n\n inject: {\n isVerticalProvided: {\n from: 'isVertical',\n },\n },\n\n props: {\n step: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n height: 0 as number | string,\n // Must be null to allow\n // previous comparison\n isActive: null as boolean | null,\n isReverse: false,\n isVertical: this.isVerticalProvided,\n }\n },\n\n computed: {\n computedTransition (): FunctionalComponentOptions {\n // Fix for #8978\n const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n return reverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height),\n }\n },\n },\n\n watch: {\n isActive (current, previous) {\n // If active and the previous state\n // was null, is just booting up\n if (current && previous == null) {\n this.height = 'auto'\n return\n }\n\n if (!this.isVertical) return\n\n if (this.isActive) this.enter()\n else this.leave()\n },\n },\n\n mounted () {\n this.$refs.wrapper.addEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.register(this)\n },\n\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VStepper/VStepperContent.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper-content',\n\n inject: {\n isVerticalProvided: {\n from: 'isVertical',\n },\n },\n\n props: {\n step: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n height: 0 as number | string,\n // Must be null to allow\n // previous comparison\n isActive: null as boolean | null,\n isReverse: false,\n isVertical: this.isVerticalProvided,\n }\n },\n\n computed: {\n computedTransition (): FunctionalComponentOptions {\n // Fix for #8978\n const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n return reverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height),\n }\n },\n },\n\n watch: {\n isActive (current, previous) {\n // If active and the previous state\n // was null, is just booting up\n if (current && previous == null) {\n this.height = 'auto'\n return\n }\n\n if (!this.isVertical) return\n\n if (this.isActive) this.enter()\n else this.leave()\n },\n },\n\n mounted () {\n this.$refs.wrapper.addEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.register(this)\n },\n\n beforeUnmount () {\n this.$refs.wrapper.removeEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n onTransition (e: TransitionEvent) {\n if (!this.isActive ||\n e.propertyName !== 'height'\n ) return\n\n this.height = 'auto'\n },\n enter () {\n let scrollHeight = 0\n\n // Render bug with height\n requestAnimationFrame(() => {\n scrollHeight = this.$refs.wrapper.scrollHeight\n })\n\n this.height = 0\n\n // Give the collapsing element time to collapse\n setTimeout(() => this.isActive && (this.height = (scrollHeight || 'auto')), 450)\n },\n leave () {\n this.height = this.$refs.wrapper.clientHeight\n setTimeout(() => (this.height = 0), 10)\n },\n toggle (step: string | number, reverse: boolean) {\n this.isActive = step.toString() === this.step.toString()\n this.isReverse = reverse\n },\n },\n\n render (): VNode {\n const contentData = {\n class: 'v-stepper__content',\n } as VNodeData\n const wrapperData = {\n class: 'v-stepper__wrapper',\n style: this.styles,\n ref: 'wrapper',\n }\n\n if (!this.isVertical) {\n contentData.directives = [{\n name: 'show',\n value: this.isActive,\n }]\n }\n\n const wrapper = h('div', wrapperData, getSlot(this))\n const content = withDirectives(\n h('div', contentData, [wrapper]), this.isVertical ? [] :\n [\n [\n vShow,\n this.isActive\n ]\n ])\n\n return h(this.computedTransition, {\n ...this.$listeners,\n }, [content])\n },\n})\n"],"sourceRoot":"","file":"VStepperContent.js"}
|
|
@@ -84,7 +84,7 @@ var _default2 = baseMixins.extend({
|
|
|
84
84
|
mounted: function mounted() {
|
|
85
85
|
this.stepper && this.stepper.register(this);
|
|
86
86
|
},
|
|
87
|
-
|
|
87
|
+
beforeUnmount: function beforeUnmount() {
|
|
88
88
|
this.stepper && this.stepper.unregister(this);
|
|
89
89
|
},
|
|
90
90
|
methods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VStepper/VStepperStep.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<VuetifyStepperRuleValidator[]>,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VStepper/VStepperStep.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AAGA;;AAGA;;AACA;;;;;;AAQA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,yBAAkB,SAAlB,EAA6B,gBAA7B,EAA+C,WAA/C,CAFiB,CAAnB;AAQA;;gBACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,gBADyB;AAG/B,EAAA,UAAU,EAAE;AAAE,IAAA,MAAM,EAAN;AAAF,GAHmB;AAK/B,EAAA,MAAM,EAAE,CAAC,WAAD,CALuB;AAO/B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KADF;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,MADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KANT;AAUL,IAAA,QAAQ,EAAE,OAVL;AAWL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAXL;AAeL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,MADG;AAET,MAAA,OAAO,EAAE;AAFA,KAfN;AAmBL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ,KAnBF;AAuBL,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT;AAvBD,GAPwB;AAiC/B,EAAA,IAjC+B,kBAiC3B;AACF,WAAO;AACL,MAAA,QAAQ,EAAE,KADL;AAEL,MAAA,UAAU,EAAE;AAFP,KAAP;AAID,GAtC8B;AAwC/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,aAAO;AACL,mCAA2B,KAAK,QAD3B;AAEL,qCAA6B,KAAK,QAF7B;AAGL,qCAA6B,KAAK,UAH7B;AAIL,8CAAsC,KAAK,QAJtC;AAKL,qCAA6B,KAAK;AAL7B,OAAP;AAOD,KATO;AAUR,IAAA,QAVQ,sBAUA;AACN,aAAO,KAAK,KAAL,CAAW,IAAX,CAAgB,UAAA,QAAQ;AAAA,eAAI,QAAQ,OAAO,IAAnB;AAAA,OAAxB,CAAP;AACD;AAZO,GAxCqB;AAuD/B,EAAA,OAvD+B,qBAuDxB;AACL,SAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,QAAb,CAAsB,IAAtB,CAAhB;AACD,GAzD8B;AA2D/B,EAAA,aA3D+B,2BA2DlB;AACX,SAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,UAAb,CAAwB,IAAxB,CAAhB;AACD,GA7D8B;AA+D/B,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EAC6B;AAClC,MAAA,CAAC,CAAC,eAAF;AAEA,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;;AAEA,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,SAAL,CAAe,KAAK,IAApB;AACD;AACF,KATM;AAUP,IAAA,OAVO,mBAUE,IAVF,EAUc;AACnB,aAAO,YAAE,cAAF,EAAS,IAAT,CAAP;AACD,KAZM;AAaP,IAAA,QAbO,sBAaC;AACN,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,sBAAQ,IAAR,CAFI,CAAP;AAGD,KAjBM;AAkBP,IAAA,OAlBO,qBAkBA;AACL,UAAM,KAAK,GAAI,CAAC,KAAK,QAAN,KAAmB,KAAK,QAAL,IAAiB,KAAK,QAAzC,CAAD,GAAuD,KAAK,KAA5D,GAAoE,KAAlF;AAEA,aAAO,YAAE,MAAF,EAAU,KAAK,kBAAL,CAAwB,KAAxB,EAA+B;AAC9C,QAAA,KAAK,EAAE;AADuC,OAA/B,CAAV,EAEH,KAAK,cAAL,EAFG,CAAP;AAGD,KAxBM;AAyBP,IAAA,cAzBO,4BAyBO;AACZ,UAAM,QAAQ,GAAG,EAAjB;;AAEA,UAAI,KAAK,QAAT,EAAmB;AACjB,QAAA,QAAQ,CAAC,IAAT,CAAc,KAAK,OAAL,CAAa,KAAK,SAAlB,CAAd;AACD,OAFD,MAEO,IAAI,KAAK,QAAT,EAAmB;AACxB,YAAI,KAAK,QAAT,EAAmB;AACjB,UAAA,QAAQ,CAAC,IAAT,CAAc,KAAK,OAAL,CAAa,KAAK,QAAlB,CAAd;AACD,SAFD,MAEO;AACL,UAAA,QAAQ,CAAC,IAAT,CAAc,KAAK,OAAL,CAAa,KAAK,YAAlB,CAAd;AACD;AACF,OANM,MAMA;AACL,QAAA,QAAQ,CAAC,IAAT,CAAc,MAAM,CAAC,KAAK,IAAN,CAApB;AACD;;AAED,aAAO,QAAP;AACD,KAzCM;AA0CP,IAAA,aA1CO,yBA0CQ,CA1CR,EA0CwB;AAC7B,UAAI,CAAC,CAAC,OAAF,KAAc,kBAAS,KAA3B,EAAkC;AAChC,aAAK,KAAL,CAAW,CAAX;AACD;AACF,KA9CM;AA+CP,IAAA,MA/CO,kBA+CC,IA/CD,EA+CsB;AAC3B,WAAK,QAAL,GAAgB,IAAI,CAAC,QAAL,OAAoB,KAAK,IAAL,CAAU,QAAV,EAApC;AACA,WAAK,UAAL,GAAkB,MAAM,CAAC,IAAD,CAAN,GAAe,MAAM,CAAC,KAAK,IAAN,CAAvC;AACD;AAlDM,GA/DsB;AAoH/B,EAAA,MApH+B,oBAoHzB;AAAA;;AACJ,WAAO,YAAE,KAAF;AACL,MAAA,KAAK,EAAE;AACL,QAAA,QAAQ,EAAE,KAAK,QAAL,GAAgB,CAAhB,GAAoB,CAAC;AAD1B,OADF;AAIL,MAAA,KAAK,EAAE;AAJF,oCAKE,KAAK,OALP,qCAMO,CAAC;AACX,MAAA,IAAI,EAAE,QADK;AAEX,MAAA,KAAK,EAAE,KAAK;AAFD,KAAD,CANP,6BAUD;AACF,MAAA,KAAK,EAAE,KAAK,KADV;AAEF,MAAA,OAAO,EAAE,KAAK;AAFZ,KAVC,QAcJ,CACD,KAAK,OAAL,EADC,EAED,KAAK,QAAL,EAFC,CAdI,CAAP;AAkBD;AAvI8B,CAAlB,C","sourcesContent":["import {h} from 'vue'\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<VuetifyStepperRuleValidator[]>,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeUnmount () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return h(VIcon, icon)\n },\n genLabel () {\n return h('div', {\n class: 'v-stepper__label',\n }, getSlot(this))\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return h('span', this.setBackgroundColor(color, {\n class: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n keyboardClick (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.space) {\n this.click(e)\n }\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (): VNode {\n return h('div', {\n attrs: {\n tabindex: this.editable ? 0 : -1,\n },\n class: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: {\n click: this.click,\n keydown: this.keyboardClick,\n },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VStepperStep.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('update:modelValue', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner']() as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n h('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n\n return h(VLabel, data, getSlot(this, 'label') || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = h('span', {\n innerHTML: '​',\n class: 'notranslate',\n })\n\n return h('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return h('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('update:modelValue', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('update:modelValue', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('update:modelValue', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner']() as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n h('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n\n return h(VLabel, data, getSlot(this, 'label') || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = h('span', {\n innerHTML: '​',\n class: 'notranslate',\n })\n\n return h('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return h('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('update:modelValue', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('update:modelValue', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
|
|
@@ -174,7 +174,7 @@ var VTreeviewNode = baseMixins.extend({
|
|
|
174
174
|
created: function created() {
|
|
175
175
|
this.treeview.register(this);
|
|
176
176
|
},
|
|
177
|
-
|
|
177
|
+
beforeUnmount: function beforeUnmount() {
|
|
178
178
|
this.treeview.unregister(this);
|
|
179
179
|
},
|
|
180
180
|
methods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAIA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,yBAAkB,UAAlB,CAFiB,CAAnB;AASO,IAAM,kBAAkB,GAAG;AAChC,EAAA,WAAW,EAAE,OADmB;AAEhC,EAAA,WAAW,EAAE;AACX,IAAA,IAAI,EAAE,MADK;AAEX,IAAA,OAAO,EAAE;AAFE,GAFmB;AAMhC,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE,MADD;AAEL,IAAA,OAAO,EAAE;AAFJ,GANyB;AAUhC,EAAA,cAAc,EAAE,OAVgB;AAWhC,EAAA,UAAU,EAAE;AACV,IAAA,IAAI,EAAE,MADI;AAEV,IAAA,OAAO,EAAE;AAFC,GAXoB;AAehC,EAAA,iBAAiB,EAAE;AACjB,IAAA,IAAI,EAAE,MADW;AAEjB,IAAA,OAAO,EAAE;AAFQ,GAfa;AAmBhC,EAAA,YAAY,EAAE;AACZ,IAAA,IAAI,EAAE,MADM;AAEZ,IAAA,OAAO,EAAE;AAFG,GAnBkB;AAuBhC,EAAA,YAAY,EAAE;AACZ,IAAA,IAAI,EAAE,MADM;AAEZ,IAAA,OAAO,EAAE;AAFG,GAvBkB;AA2BhC,EAAA,OAAO,EAAE;AACP,IAAA,IAAI,EAAE,MADC;AAEP,IAAA,OAAO,EAAE;AAFF,GA3BuB;AA+BhC,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,MADE;AAER,IAAA,OAAO,EAAE;AAFD,GA/BsB;AAmChC,EAAA,YAAY,EAAE,QAnCkB;AAoChC,EAAA,WAAW,EAAE;AACX,IAAA,IAAI,EAAE,MADK;AAEX,IAAA,OAAO,EAAE;AAFE,GApCmB;AAwChC,EAAA,OAAO,EAAE;AACP,IAAA,IAAI,EAAE,MADC;AAEP,IAAA,OAAO,EAAE;AAFF,GAxCuB;AA4ChC,EAAA,MAAM,EAAE;AACN,IAAA,IAAI,EAAE,MADA;AAEN,IAAA,OAAO,EAAE;AAFH,GA5CwB;AAgDhC,EAAA,WAAW,EAAE,OAhDmB;AAiDhC,EAAA,OAAO,EAAE,OAjDuB;AAkDhC,EAAA,UAAU,EAAE,OAlDoB;AAmDhC,EAAA,aAAa,EAAE;AACb,IAAA,IAAI,EAAE,MADO;AAEb,IAAA,OAAO,EAAE;AAFI,GAnDiB;AAuDhC,EAAA,MAAM,EAAE,OAvDwB;AAwDhC,EAAA,UAAU,EAAE,OAxDoB;AAyDhC,EAAA,aAAa,EAAE;AACb,IAAA,IAAI,EAAE,MADO;AAEb,IAAA,OAAO,EAAE,MAFI;AAGb,IAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,aAAe,CAAC,MAAD,EAAS,aAAT,EAAwB,QAAxB,CAAiC,CAAjC,CAAf;AAAA;AAHE;AAzDiB,CAA3B;AAgEP;;;AACA,IAAM,aAAa,GAAG,UAAU,CAAC,MAAX,CAAkB;AACtC,EAAA,IAAI,EAAE,iBADgC;AAGtC,EAAA,MAAM,EAAE;AACN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD;AADJ,GAH8B;AAStC,EAAA,KAAK;AACH,IAAA,KAAK,EAAE,MADJ;AAEH,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAAA,eAAM,IAAN;AAAA;AAFL,KAFH;AAMH,IAAA,gBAAgB,EAAE;AANf,KAOA,kBAPA,CATiC;AAmBtC,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,SAAS,EAAE,KADA;AAEX,MAAA,QAAQ,EAAE,KAFC;AAGX,MAAA,eAAe,EAAE,KAHN;AAIX,MAAA,SAAS,EAAE,KAJA;AAKX,MAAA,MAAM,EAAE,KALG;AAMX,MAAA,UAAU,EAAE,KAND,CAMQ;;AANR,KAAP;AAAA,GAnBgC;AA4BtC,EAAA,QAAQ,EAAE;AACR,IAAA,QADQ,sBACA;AACN,aACE,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,YAArC,KACC,CAAC,KAAK,cAAN,IAAyB,KAAK,gBAAL,IAAyB,KAAK,aAAL,KAAuB,MAF5E;AAID,KANO;AAOR,IAAA,GAPQ,iBAOL;AACD,aAAO,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,OAArC,CAAP;AACD,KATO;AAUR,IAAA,QAVQ,sBAUA;AAAA;;AACN,UAAM,QAAQ,GAAG,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,YAArC,CAAjB;AACA,aAAO,QAAQ,IAAI,QAAQ,CAAC,MAAT,CAAgB,UAAC,KAAD;AAAA,eAAgB,CAAC,KAAI,CAAC,QAAL,CAAc,UAAd,CAAyB,mCAAqB,KAArB,EAA4B,KAAI,CAAC,OAAjC,CAAzB,CAAjB;AAAA,OAAhB,CAAnB;AACD,KAbO;AAcR,IAAA,IAdQ,kBAcJ;AACF,aAAO,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,QAArC,CAAP;AACD,KAhBO;AAiBR,IAAA,WAjBQ,yBAiBG;AACT,aAAO;AACL,QAAA,IAAI,EAAE,KAAK,IADN;AAEL,QAAA,IAAI,EAAE,CAAC,KAAK,QAFP;AAGL,QAAA,QAAQ,EAAE,KAAK,UAHV;AAIL,QAAA,aAAa,EAAE,KAAK,eAJf;AAKL,QAAA,MAAM,EAAE,KAAK,QALR;AAML,QAAA,IAAI,EAAE,KAAK;AANN,OAAP;AAQD,KA1BO;AA2BR,IAAA,YA3BQ,0BA2BI;AACV,UAAI,KAAK,eAAT,EAA0B,OAAO,KAAK,iBAAZ,CAA1B,KACK,IAAI,KAAK,UAAT,EAAqB,OAAO,KAAK,MAAZ,CAArB,KACA,OAAO,KAAK,OAAZ;AACN,KA/BO;AAgCR,IAAA,WAhCQ,yBAgCG;AACT,aAAO,CAAC,CAAC,KAAK,QAAP,KAAoB,CAAC,CAAC,KAAK,QAAL,CAAc,MAAhB,IAA0B,CAAC,CAAC,KAAK,YAArD,CAAP;AACD;AAlCO,GA5B4B;AAiEtC,EAAA,OAjEsC,qBAiE/B;AACL,SAAK,QAAL,CAAc,QAAd,CAAuB,IAAvB;AACD,GAnEqC;AAqEtC,EAAA,aArEsC,2BAqEzB;AACX,SAAK,QAAL,CAAc,UAAd,CAAyB,IAAzB;AACD,GAvEqC;AAyEtC,EAAA,OAAO,EAAE;AACP,IAAA,aADO,2BACM;AAAA;;AACX,aAAO,IAAI,OAAJ,CAAkB,UAAA,OAAO,EAAG;AACjC;AACA;AACA,YAAI,CAAC,MAAI,CAAC,QAAN,IAAkB,MAAI,CAAC,QAAL,CAAc,MAAhC,IAA0C,CAAC,MAAI,CAAC,YAAhD,IAAgE,MAAI,CAAC,SAAzE,EAAoF,OAAO,OAAO,EAAd;AAEpF,QAAA,MAAI,CAAC,SAAL,GAAiB,IAAjB;AACA,QAAA,OAAO,CAAC,MAAI,CAAC,YAAL,CAAkB,MAAI,CAAC,IAAvB,CAAD,CAAP;AACD,OAPM,EAOJ,IAPI,CAOC,YAAK;AACX,QAAA,MAAI,CAAC,SAAL,GAAiB,KAAjB;AACA,QAAA,MAAI,CAAC,SAAL,GAAiB,IAAjB;AACD,OAVM,CAAP;AAWD,KAbM;AAcP,IAAA,IAdO,kBAcH;AACF,WAAK,MAAL,GAAc,CAAC,KAAK,MAApB;AACA,WAAK,QAAL,CAAc,UAAd,CAAyB,KAAK,GAA9B,EAAmC,KAAK,MAAxC;AACA,WAAK,QAAL,CAAc,QAAd;AACD,KAlBM;AAmBP,IAAA,QAnBO,sBAmBC;AACN,UAAM,QAAQ,GAAG,EAAjB;AAEA,UAAI,KAAK,MAAL,CAAY,KAAhB,EAAuB,QAAQ,CAAC,IAAT,CAAc,KAAK,MAAL,CAAY,KAAZ,CAAkB,KAAK,WAAvB,CAAd,EAAvB,KACK,QAAQ,CAAC,IAAT,CAAc,KAAK,IAAnB;AAEL,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,IAAI,EAAE,OADQ;AAEd,QAAA,KAAK,EAAE;AAFO,OAAT,EAGJ,QAHI,CAAP;AAID,KA7BM;AA8BP,IAAA,cA9BO,4BA8BO;AACZ,UAAI,CAAC,KAAK,MAAL,CAAY,OAAjB,EAA0B,OAAO,IAAP;AAE1B,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,KAAK,MAAL,CAAY,OAAZ,CAAoB,KAAK,WAAzB,CAFI,CAAP;AAGD,KApCM;AAqCP,IAAA,aArCO,2BAqCM;AACX,UAAI,CAAC,KAAK,MAAL,CAAY,MAAjB,EAAyB,OAAO,IAAP;AAEzB,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,KAAK,MAAL,CAAY,MAAZ,CAAmB,KAAK,WAAxB,CAFI,CAAP;AAGD,KA3CM;AA4CP,IAAA,UA5CO,wBA4CG;AACR,UAAM,QAAQ,GAAG,CACf,KAAK,cAAL,EADe,EAEf,KAAK,QAAL,EAFe,EAGf,KAAK,aAAL,EAHe,CAAjB;AAMA,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,QAFI,CAAP;AAGD,KAtDM;AAuDP,IAAA,SAvDO,uBAuDE;AAAA;;AACP,aAAO,YAAE,YAAF,EAAS;AACd,QAAA,KAAK,EAAE,CAAC,yBAAD,EAA4B;AACjC,2CAAiC,KAAK,MADL;AAEjC,8CAAoC,KAAK;AAFR,SAA5B,CADO;AAKd,QAAA,IAAI,EAAE,SALQ;AAMd,QAAA,OAAO,EAAE,iBAAC,CAAD,EAAkB;AACzB,UAAA,CAAC,CAAC,eAAF;AAEA,cAAI,MAAI,CAAC,SAAT,EAAoB;;AAEpB,UAAA,MAAI,CAAC,aAAL,GAAqB,IAArB,CAA0B;AAAA,mBAAM,MAAI,CAAC,IAAL,EAAN;AAAA,WAA1B;AACD;AAZa,OAAT,EAaJ,CAAC,KAAK,SAAL,GAAiB,KAAK,WAAtB,GAAoC,KAAK,UAA1C,CAbI,CAAP;AAcD,KAtEM;AAuEP,IAAA,WAvEO,yBAuEI;AAAA;;AACT,aAAO,YAAE,YAAF,EAAS;AACd,QAAA,KAAK,EAAE,2BADO;AAEd,QAAA,KAAK,EAAE,KAAK,UAAL,IAAmB,KAAK,eAAxB,GAA0C,KAAK,aAA/C,GAA+D,SAFxD;AAGd,QAAA,QAAQ,EAAE,KAAK,QAHD;AAId,QAAA,OAAO,EAAE,iBAAC,CAAD,EAAkB;AACzB,UAAA,CAAC,CAAC,eAAF;AAEA,cAAI,MAAI,CAAC,SAAT,EAAoB;;AAEpB,UAAA,MAAI,CAAC,aAAL,GAAqB,IAArB,CAA0B,YAAK;AAC7B;AACA,YAAA,MAAI,CAAC,SAAL,CAAe,YAAK;AAClB,cAAA,MAAI,CAAC,UAAL,GAAkB,CAAC,MAAI,CAAC,UAAxB;AACA,cAAA,MAAI,CAAC,eAAL,GAAuB,KAAvB;;AAEA,cAAA,MAAI,CAAC,QAAL,CAAc,cAAd,CAA6B,MAAI,CAAC,GAAlC,EAAuC,MAAI,CAAC,UAA5C;;AACA,cAAA,MAAI,CAAC,QAAL,CAAc,YAAd;AACD,aAND;AAOD,WATD;AAUD;AAnBa,OAAT,EAoBJ,CAAC,KAAK,YAAN,CApBI,CAAP;AAqBD,KA7FM;AA8FP,IAAA,QA9FO,oBA8FG,KA9FH,EA8FgB;AACrB,aAAO,0BAAY,KAAZ,EAAmB,GAAnB,CAAuB;AAAA,eAAM,YAAE,KAAF,EAAS;AAC3C,UAAA,KAAK,EAAE;AADoC,SAAT,CAAN;AAAA,OAAvB,CAAP;AAGD,KAlGM;AAmGP,IAAA,OAnGO,qBAmGA;AAAA;;AACL,UAAM,QAAQ,GAAG,CAAC,KAAK,UAAL,EAAD,CAAjB;AAEA,UAAI,KAAK,UAAT,EAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,WAAL,EAAjB;;AAErB,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,QAAQ,CAAC,OAAT,CAAiB,KAAK,SAAL,EAAjB;AACD,OAFD,MAEO;AACL,QAAA,QAAQ,CAAC,OAAT,OAAA,QAAQ,qBAAY,KAAK,QAAL,CAAc,CAAd,CAAZ,EAAR;AACD;;AAED,MAAA,QAAQ,CAAC,OAAT,OAAA,QAAQ,qBAAY,KAAK,QAAL,CAAc,KAAK,KAAnB,CAAZ,EAAR;AAEA,aAAO,YAAE,KAAF,EAAS,KAAK,YAAL,CAAkB,KAAK,QAAL,IAAiB,KAAK,KAAxC,EAA+C;AAC7D,QAAA,KAAK,EAAE,CAAC,uBAAD,sBACJ,KAAK,WADD,EACe,KAAK,QADpB,EADsD;AAI7D,QAAA,OAAO,EAAE,mBAAK;AACZ,cAAI,MAAI,CAAC,WAAL,IAAoB,MAAI,CAAC,WAA7B,EAA0C;AACxC,YAAA,MAAI,CAAC,aAAL,GAAqB,IAArB,CAA0B,MAAI,CAAC,IAA/B;AACD,WAFD,MAEO,IAAI,MAAI,CAAC,WAAL,IAAoB,CAAC,MAAI,CAAC,QAA9B,EAAwC;AAC7C,YAAA,MAAI,CAAC,QAAL,GAAgB,CAAC,MAAI,CAAC,QAAtB;;AACA,YAAA,MAAI,CAAC,QAAL,CAAc,YAAd,CAA2B,MAAI,CAAC,GAAhC,EAAqC,MAAI,CAAC,QAA1C;;AACA,YAAA,MAAI,CAAC,QAAL,CAAc,UAAd;AACD;AACF;AAZ4D,OAA/C,CAAT,EAaH,QAbG,CAAP;AAcD,KA9HM;AA+HP,IAAA,QA/HO,oBA+HG,IA/HH,EA+Hc,gBA/Hd,EA+HuC;AAC5C,aAAO,YAAE,aAAF,EAAiB;AACtB,QAAA,GAAG,EAAE,mCAAqB,IAArB,EAA2B,KAAK,OAAhC,CADiB;AAEtB,QAAA,WAAW,EAAE,KAAK,WAFI;AAGtB,QAAA,WAAW,EAAE,KAAK,WAHI;AAItB,QAAA,IAAI,EAAJ,IAJsB;AAKtB,QAAA,UAAU,EAAE,KAAK,UALK;AAMtB,QAAA,aAAa,EAAE,KAAK,aANE;AAOtB,QAAA,KAAK,EAAE,KAAK,KAPU;AAQtB,QAAA,cAAc,EAAE,KAAK,cARC;AAStB,QAAA,UAAU,EAAE,KAAK,UATK;AAUtB,QAAA,iBAAiB,EAAE,KAAK,iBAVF;AAWtB,QAAA,OAAO,EAAE,KAAK,OAXQ;AAYtB,QAAA,MAAM,EAAE,KAAK,MAZS;AAatB,QAAA,WAAW,EAAE,KAAK,WAbI;AActB,QAAA,OAAO,EAAE,KAAK,OAdQ;AAetB,QAAA,QAAQ,EAAE,KAAK,QAfO;AAgBtB,QAAA,YAAY,EAAE,KAAK,YAhBG;AAiBtB,QAAA,YAAY,EAAE,KAAK,YAjBG;AAkBtB,QAAA,YAAY,EAAE,KAAK,YAlBG;AAmBtB,QAAA,UAAU,EAAE,KAAK,UAnBK;AAoBtB,QAAA,WAAW,EAAE,KAAK,WApBI;AAqBtB,QAAA,OAAO,EAAE,KAAK,OArBQ;AAsBtB,QAAA,MAAM,EAAE,KAAK,MAtBS;AAuBtB,QAAA,KAAK,EAAE,KAAK,KAAL,GAAa,CAvBE;AAwBtB,QAAA,aAAa,EAAE,KAAK,aAxBE;AAyBtB,QAAA,gBAAgB,EAAhB;AAzBsB,OAAjB,EA0BJ,KAAK,MA1BD,CAAP;AA2BD,KA3JM;AA4JP,IAAA,kBA5JO,gCA4JW;AAAA;;AAChB,UAAI,CAAC,KAAK,MAAN,IAAgB,CAAC,KAAK,QAA1B,EAAoC,OAAO,IAAP;AAEpC,UAAM,QAAQ,GAAG,CAAC,KAAK,QAAL,CAAc,GAAd,CAAkB,UAAA,CAAC;AAAA,eAAI,MAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,MAAI,CAAC,QAAtB,CAAJ;AAAA,OAAnB,CAAD,CAAjB;AAEA,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,QAFI,CAAP;AAGD,KApKM;AAqKP,IAAA,aArKO,2BAqKM;AACX,aAAO,YAAE,8BAAF,EAAqB,CAAC,KAAK,kBAAL,EAAD,CAArB,CAAP;AACD;AAvKM,GAzE6B;AAmPtC,EAAA,MAnPsC,oBAmPhC;AACJ,QAAM,QAAQ,GAAkB,CAAC,KAAK,OAAL,EAAD,CAAhC;AAEA,QAAI,KAAK,UAAT,EAAqB,QAAQ,CAAC,IAAT,CAAc,KAAK,aAAL,EAAd,EAArB,KACK,QAAQ,CAAC,IAAT,CAAc,KAAK,kBAAL,EAAd;AAEL,WAAO,YAAE,KAAF,EAAS;AACd,MAAA,KAAK,EAAE,CAAC,iBAAD,EAAoB;AACzB,iCAAyB,CAAC,KAAK,WADN;AAEzB,kCAA0B,KAAK,WAFN;AAGzB,qCAA6B,KAAK,QAHT;AAIzB,oCAA4B,KAAK,OAJR;AAKzB,mCAA2B,KAAK,MALP;AAMzB,qCAA6B,KAAK;AANT,OAApB,CADO;AASd,uBAAiB,MAAM,CAAC,KAAK,MAAN;AATT,KAAT,EAUJ,QAVI,CAAP;AAWD;AApQqC,CAAlB,CAAtB;gBAuQe,a","sourcesContent":["import {h} from 'vue'\n// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disablePerNode: Boolean,\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (!this.disablePerNode && (this.parentIsDisabled && this.selectionType === 'leaf'))\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$slots.label) children.push(this.$slots.label(this.scopedProps))\n else children.push(this.text)\n\n return h('div', {\n slot: 'label',\n class: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$slots.prepend) return null\n\n return h('div', {\n class: 'v-treeview-node__prepend',\n }, this.$slots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$slots.append) return null\n\n return h('div', {\n class: 'v-treeview-node__append',\n }, this.$slots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return h('div', {\n class: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return h(VIcon, {\n class: ['v-treeview-node__toggle', {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n }],\n slot: 'prepend',\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n }\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return h(VIcon, {\n class: 'v-treeview-node__checkbox',\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => h('div', {\n class: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-treeview-node__root', {\n [this.activeClass]: this.isActive,\n }],\n onClick: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n }\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return h(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n disablePerNode: this.disablePerNode,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n }, this.$slots)\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return h('div', {\n class: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return h(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n class: ['v-treeview-node', {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n }],\n 'aria-expanded': String(this.isOpen),\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disablePerNode: Boolean,\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (!this.disablePerNode && (this.parentIsDisabled && this.selectionType === 'leaf'))\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeUnmount () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$slots.label) children.push(this.$slots.label(this.scopedProps))\n else children.push(this.text)\n\n return h('div', {\n slot: 'label',\n class: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$slots.prepend) return null\n\n return h('div', {\n class: 'v-treeview-node__prepend',\n }, this.$slots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$slots.append) return null\n\n return h('div', {\n class: 'v-treeview-node__append',\n }, this.$slots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return h('div', {\n class: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return h(VIcon, {\n class: ['v-treeview-node__toggle', {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n }],\n slot: 'prepend',\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n }\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return h(VIcon, {\n class: 'v-treeview-node__checkbox',\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => h('div', {\n class: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: ['v-treeview-node__root', {\n [this.activeClass]: this.isActive,\n }],\n onClick: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n }\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return h(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n disablePerNode: this.disablePerNode,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n }, this.$slots)\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return h('div', {\n class: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return h(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n class: ['v-treeview-node', {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n }],\n 'aria-expanded': String(this.isOpen),\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
|
package/es5/framework.js
CHANGED
|
@@ -69,7 +69,7 @@ var _default = baseMixins.extend({
|
|
|
69
69
|
|
|
70
70
|
this.addActivatorEvents();
|
|
71
71
|
},
|
|
72
|
-
|
|
72
|
+
beforeUnmount: function beforeUnmount() {
|
|
73
73
|
this.removeActivatorEvents();
|
|
74
74
|
},
|
|
75
75
|
computed: {
|
|
@@ -92,7 +92,10 @@ var _default = baseMixins.extend({
|
|
|
92
92
|
var node = (0, _helpers.getSlot)(this, 'activator', Object.assign(this.getValueProxy(), {
|
|
93
93
|
attrs: _objectSpread(_objectSpread({}, this.genActivatorListeners()), this.genActivatorAttributes())
|
|
94
94
|
})) || [];
|
|
95
|
-
|
|
95
|
+
node = Array.isArray(node) ? node : [node];
|
|
96
|
+
this.activatorNode = node.flatMap(function (node) {
|
|
97
|
+
return node.type === Symbol.for('v-fgt') ? node.children : node;
|
|
98
|
+
});
|
|
96
99
|
return node;
|
|
97
100
|
},
|
|
98
101
|
genActivatorAttributes: function genActivatorAttributes() {
|
|
@@ -142,7 +145,9 @@ var _default = baseMixins.extend({
|
|
|
142
145
|
return listeners;
|
|
143
146
|
},
|
|
144
147
|
getActivator: function getActivator(e) {
|
|
145
|
-
// If we've already fetched the activator, re-use
|
|
148
|
+
var _a; // If we've already fetched the activator, re-use
|
|
149
|
+
|
|
150
|
+
|
|
146
151
|
if (this.activatorElement) return this.activatorElement;
|
|
147
152
|
var activator = null;
|
|
148
153
|
|
|
@@ -163,7 +168,7 @@ var _default = baseMixins.extend({
|
|
|
163
168
|
// Use the contents of the activator slot
|
|
164
169
|
// There's either only one element in it or we
|
|
165
170
|
// don't have a click event to use as a last resort
|
|
166
|
-
var vm = this.activatorNode[0].component.ctx;
|
|
171
|
+
var vm = (_a = this.activatorNode[0].component) === null || _a === void 0 ? void 0 : _a.ctx;
|
|
167
172
|
|
|
168
173
|
if (vm && (vm.isActivatable !== undefined || vm.isMenuable !== undefined)) {
|
|
169
174
|
// Activator is actually another activatible component, use its activator (#8846)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n computed: {\n isActivatable() {\n return true\n }\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n attrs: {\n ...this.genActivatorListeners(),\n ...this.genActivatorAttributes(),\n }\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.onMouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onMouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.onClick = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].component.ctx\n if (\n vm &&\n (vm.isActivatable !== undefined || vm.isMenuable !== undefined)\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].el as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeUnmount () {\n this.removeActivatorEvents()\n },\n\n computed: {\n isActivatable() {\n return true\n }\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n let node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n attrs: {\n ...this.genActivatorListeners(),\n ...this.genActivatorAttributes(),\n }\n })) || []\n\n node = Array.isArray(node) ? node : [node]\n\n this.activatorNode = node.flatMap(node => {\n return node.type === Symbol.for('v-fgt') ? node.children : node\n })\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.onMouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onMouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.onClick = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].component?.ctx\n if (\n vm &&\n (vm.isActivatable !== undefined || vm.isMenuable !== undefined)\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].el as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n }\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|