1 line
No EOL
7.1 KiB
Text
1 line
No EOL
7.1 KiB
Text
{"version":3,"sources":["../../../src/components/VWindow/VWindowItem.ts"],"names":[],"mappings":";;;;;;;AAIA;;AACA;;AAGA;;AAGA;;AACA;;;;AATA;AAIA;AAGA;AAOA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB,wBAAiB,aAAjB,EAAgC,eAAhC,EAAiD,UAAjD,CAFiB,CAAnB;;eAUe,UAAU,CAAC,MAAX,GAA6B,MAA7B,GAEb,MAFa,CAEN;AACP,EAAA,IAAI,EAAE,eADC;AAGP,EAAA,UAAU,EAAE;AACV,IAAA,KAAK,EAAL;AADU,GAHL;AAOP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,iBAAiB,EAAE;AACjB,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADW;AAEjB,MAAA,OAAO,EAAE;AAFQ,KAFd;AAML,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADI;AAEV,MAAA,OAAO,EAAE;AAFC,KANP;AAUL,IAAA,KAAK,EAAE;AACL,MAAA,QAAQ,EAAE;AADL;AAVF,GAPA;AAsBP,EAAA,IAtBO,kBAsBH;AACF,WAAO;AACL,MAAA,IAAI,EAAE,IADD;AAEL,MAAA,QAAQ,EAAE,KAFL;AAGL,MAAA,YAAY,EAAE;AAHT,KAAP;AAKD,GA5BM;AA8BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,aAAO,KAAK,YAAZ;AACD,KAHO;AAIR,IAAA,kBAJQ,gCAIU;AAChB,UAAI,CAAC,KAAK,WAAL,CAAiB,eAAtB,EAAuC;AACrC,eAAO,OAAO,KAAK,UAAZ,KAA2B,WAA3B,GACH,KAAK,UAAL,IAAmB,EADhB,GAEH,KAAK,WAAL,CAAiB,kBAFrB;AAGD;;AAED,aAAO,OAAO,KAAK,iBAAZ,KAAkC,WAAlC,GACH,KAAK,iBAAL,IAA0B,EADvB,GAEH,KAAK,WAAL,CAAiB,kBAFrB;AAGD;AAdO,GA9BH;AA+CP,EAAA,OA/CO,qBA+CA;AACL,SAAK,GAAL,CAAS,gBAAT,CAA0B,eAA1B,EAA2C,KAAK,eAAhD,EAAiE,KAAjE;AACD,GAjDM;AAmDP,EAAA,aAnDO,2BAmDM;AACX,SAAK,GAAL,CAAS,mBAAT,CAA6B,eAA7B,EAA8C,KAAK,eAAnD,EAAoE,KAApE;AACD,GArDM;AAuDP,EAAA,OAAO,EAAE;AACP,IAAA,cADO,4BACO;AACZ,aAAO,KAAK,MAAL,CAAY,OAAnB;AACD,KAHM;AAIP,IAAA,aAJO,2BAIM;AACX,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,eADmB;AAEhC,QAAA,KAAK,EAAE,KAAK,OAFoB;AAGhC,QAAA,UAAU,EAAE,CAAC;AACX,UAAA,IAAI,EAAE,MADK;AAEX,UAAA,KAAK,EAAE,KAAK;AAFD,SAAD,CAHoB;AAOhC,QAAA,EAAE,EAAE,KAAK;AAPuB,OAA3B,EAQJ,KAAK,eAAL,CAAqB,KAAK,cAAL,EAArB,CARI,CAAP;AASD,KAdM;AAeP,IAAA,YAfO,0BAeK;AAAA;;AACV,UAAI,KAAK,YAAT,EAAuB;AACrB,aAAK,YAAL,GAAoB,KAApB;AACA;AACD;;AAED,MAAA,qBAAqB,CAAC,YAAK;AACzB,QAAA,KAAI,CAAC,WAAL,CAAiB,cAAjB,GAAkC,SAAlC;AACA,QAAA,KAAI,CAAC,WAAL,CAAiB,QAAjB,GAA4B,KAA5B;AACD,OAHoB,CAArB;AAID,KAzBM;AA0BP,IAAA,aA1BO,2BA0BM;AACX,WAAK,WAAL,CAAiB,QAAjB,GAA4B,IAA5B;AACD,KA5BM;AA6BP,IAAA,aA7BO,yBA6BQ,EA7BR,EA6BuB;AAC5B,WAAK,WAAL,CAAiB,cAAjB,GAAkC,4BAAc,EAAE,CAAC,YAAjB,CAAlC;AACD,KA/BM;AAgCP,IAAA,gBAhCO,8BAgCS;AACd,WAAK,YAAL,GAAoB,IAApB;AACD,KAlCM;AAmCP,IAAA,OAnCO,mBAmCE,EAnCF,EAmCmB,IAnCnB,EAmCmC;AAAA;;AACxC,UAAM,QAAQ,GAAG,KAAK,WAAL,CAAiB,QAAlC;AAEA,UAAI,QAAJ,EAAc,KAAK,IAAL,GAAY,IAAZ;AAEd,WAAK,SAAL,CAAe,YAAK;AAClB,YAAI,CAAC,MAAI,CAAC,kBAAV,EAA8B,OAAO,IAAI,EAAX;AAE9B,QAAA,MAAI,CAAC,WAAL,CAAiB,cAAjB,GAAkC,4BAAc,EAAE,CAAC,YAAjB,CAAlC,CAHkB,CAKlB;AACA;AACA;;AACA,SAAC,QAAD,IAAa,UAAU,CAAC,IAAD,EAAO,GAAP,CAAvB;AACD,OATD;AAUD,KAlDM;AAmDP,IAAA,eAnDO,2BAmDU,CAnDV,EAmD4B;AACjC;AACA;AACA;AACA,UACE,CAAC,CAAC,YAAF,KAAmB,WAAnB,IACA,CAAC,CAAC,MAAF,KAAa,KAAK,GADlB,IAEA,CAAC,KAAK,IAHR,EAIE;AAEF,WAAK,IAAL;AACA,WAAK,IAAL,GAAY,IAAZ;AACD;AA/DM,GAvDF;AAyHP,EAAA,MAzHO,kBAyHC,CAzHD,EAyHE;AACP,WAAO,CAAC,CAAC,YAAD,EAAe;AACrB,MAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,KAAK;AADN,OADc;AAIrB,MAAA,EAAE,EAAE;AACF,QAAA,UAAU,EAAE,KAAK,YADf;AAEF,QAAA,WAAW,EAAE,KAAK,aAFhB;AAGF,QAAA,WAAW,EAAE,KAAK,aAHhB;AAIF,QAAA,KAAK,EAAE,KAAK,OAJV;AAKF,QAAA,cAAc,EAAE,KAAK;AALnB;AAJiB,KAAf,EAWL,CAAC,KAAK,aAAL,EAAD,CAXK,CAAR;AAYD;AAtIM,CAFM,C","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 mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n windowGroup: InstanceType<typeof VWindow>\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\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 classes (): object {\n return this.groupClasses\n },\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 genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.showLazyContent(this.genDefaultSlot()))\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 onBeforeLeave (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 this.$nextTick(() => {\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 return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n afterEnter: this.onAfterEnter,\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave,\n enter: this.onEnter,\n enterCancelled: this.onEnterCancelled,\n },\n }, [this.genWindowItem()])\n },\n})\n"],"sourceRoot":"","file":"VWindowItem.js"} |