1 |
- {"version":3,"sources":["../../../src/components/VWindow/VWindowItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ntype VBaseWindow = InstanceType<typeof VWindow>\n\ninterface options extends Vue {\n $el: HTMLElement\n windowGroup: VBaseWindow\n}\n\nexport default mixins<options & ExtractVue<[typeof Bootable]>>(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch\n },\n\n props: {\n reverseTransition: {\n type: [Boolean, String],\n default: undefined\n },\n transition: {\n type: [Boolean, String],\n default: undefined\n },\n value: {\n required: false\n }\n },\n\n data () {\n return {\n done: null as null | (() => void),\n isActive: false,\n wasCancelled: false\n }\n },\n\n computed: {\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n }\n },\n\n mounted () {\n this.$el.addEventListener('transitionend', this.onTransitionEnd, false)\n },\n\n beforeDestroy () {\n this.$el.removeEventListener('transitionend', this.onTransitionEnd, false)\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n onAfterEnter () {\n if (this.wasCancelled) {\n this.wasCancelled = false\n return\n }\n\n requestAnimationFrame(() => {\n this.windowGroup.internalHeight = undefined\n this.windowGroup.isActive = false\n })\n },\n onBeforeEnter () {\n this.windowGroup.isActive = true\n },\n onLeave (el: HTMLElement) {\n this.windowGroup.internalHeight = convertToUnit(el.clientHeight)\n },\n onEnterCancelled () {\n this.wasCancelled = true\n },\n onEnter (el: HTMLElement, done: () => void) {\n const isBooted = this.windowGroup.isBooted\n\n if (isBooted) this.done = done\n\n requestAnimationFrame(() => {\n if (!this.computedTransition) return done()\n\n this.windowGroup.internalHeight = convertToUnit(el.clientHeight)\n\n // On initial render, there is no transition\n // Vue leaves a `enter` transition class\n // if done is called too fast\n !isBooted && setTimeout(done, 100)\n })\n },\n onTransitionEnd (e: TransitionEvent) {\n // This ensures we only call done\n // when the element transform\n // completes\n if (\n e.propertyName !== 'transform' ||\n e.target !== this.$el ||\n !this.done\n ) return\n\n this.done()\n this.done = null\n }\n },\n\n render (h): VNode {\n const div = h('div', {\n staticClass: 'v-window-item',\n directives: [{\n name: 'show',\n value: this.isActive\n }],\n on: this.$listeners\n }, this.showLazyContent(this.genDefaultSlot()))\n\n return h('transition', {\n props: {\n name: this.computedTransition\n },\n on: {\n afterEnter: this.onAfterEnter,\n beforeEnter: this.onBeforeEnter,\n leave: this.onLeave,\n enter: this.onEnter,\n enterCancelled: this.onEnterCancelled\n }\n }, [div])\n }\n})\n"],"sourceRoot":""}
|