UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 7.71 kB
{"version":3,"file":"VStepperContent.mjs","names":["VTabTransition","VTabReverseTransition","inject","RegistrableInject","convertToUnit","mixins","baseMixins","extend","name","isVerticalProvided","from","props","step","type","Number","String","required","data","height","isActive","isReverse","isVertical","computed","computedTransition","reverse","$vuetify","rtl","styles","watch","current","previous","enter","leave","mounted","$refs","wrapper","addEventListener","onTransition","stepper","register","beforeDestroy","removeEventListener","unregister","methods","e","propertyName","scrollHeight","requestAnimationFrame","setTimeout","clientHeight","toggle","toString","render","h","contentData","staticClass","wrapperData","style","ref","directives","value","$slots","default","content","on","$listeners"],"sources":["../../../src/components/VStepper/VStepperContent.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\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 } 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<options>().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 beforeDestroy () {\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 (h): VNode {\n const contentData = {\n staticClass: 'v-stepper__content',\n } as VNodeData\n const wrapperData = {\n staticClass: '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, [this.$slots.default])\n const content = h('div', contentData, [wrapper])\n\n return h(this.computedTransition, {\n on: this.$listeners,\n }, [content])\n },\n})\n"],"mappings":"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"}