{"version":3,"sources":["webpack:///../../../src/components/VWindow/VWindowItem.ts","webpack:///./src/components/FileUpload.vue","webpack:///src/components/FileUpload.vue","webpack:///./src/components/FileUpload.vue?fd36","webpack:///./src/components/FileUpload.vue?16c7","webpack:///../../../src/components/VTabs/VTabItem.ts","webpack:///./src/components/EventBus.js","webpack:///../../../src/components/VWindow/VWindow.ts"],"names":["baseMixins","mixins","Bootable","GroupableFactory","extend","name","directives","Touch","props","disabled","Boolean","reverseTransition","type","String","default","undefined","transition","value","required","data","isActive","inTransition","computed","classes","this","groupClasses","computedTransition","windowGroup","internalReverse","methods","genDefaultSlot","$slots","genWindowItem","$createElement","staticClass","class","on","$listeners","onAfterTransition","transitionCount","transitionHeight","onBeforeTransition","convertToUnit","$el","clientHeight","onTransitionCancelled","onEnter","el","$nextTick","render","h","beforeEnter","afterEnter","enterCancelled","beforeLeave","afterLeave","leaveCancelled","enter","showLazyContent","attrs","_vm","callback","dialog","$$v","expression","_c","model","uploading","loading","staticRenderFns","components","UppyUpload","UrlUpload","endpoint","tab","created","eventBus","component","VWindowItem","id","item","options","call","domProps","EventBus","Vue","BaseItemGroup","provide","activeClass","continuous","mandatory","nextIcon","prevIcon","reverse","showArrows","showArrowsOnHover","touch","Object","touchless","vertical","changedByDelimiters","internalHeight","isBooted","isReverse","axis","direction","hasActiveItems","items","find","hasNext","internalIndex","length","hasPrev","findIndex","i","internalValue","getValue","$vuetify","rtl","watch","val","oldVal","updateReverse","mounted","window","requestAnimationFrame","genContainer","children","push","genControlIcons","style","height","genIcon","icon","click","e","stopPropagation","lang","t","$scopedSlots","_b","VBtn","VIcon","large","icons","prev","next","getNextIndex","index","nextIndex","getPrevIndex","prevIndex","lastIndex","itemsLength","left","right","end","start"],"mappings":"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","file":"static/js/chunk-2592f299.8755b89d.js","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 {\n $el: HTMLElement\n windowGroup: InstanceType\n}\n\nexport default baseMixins.extend().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 isActive: false,\n inTransition: 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 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.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"disabled\":_vm.disabled,\"persistent\":\"\",\"width\":\"50%\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: dialog, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"disabled\":_vm.disabled,\"id\":\"open-thumbnail-modal\",\"color\":\"primary\",\"e2e-space-upload\":\"\"}},'v-btn',attrs,false),{ ...dialog }),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-upload\")]),_vm._v(\" Upload \")],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"File upload\")]),_c('v-card-text',[_c('v-tabs',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab',[_vm._v(\"Local device\")]),_c('v-tab',[_vm._v(\"Web Address (URL)\")])],1),_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',[_c('v-card',{staticClass:\"mt-4\",attrs:{\"flat\":\"\"}},[_c('v-card-text',[_c('uppy-upload',{attrs:{\"endpoint\":_vm.endpoint,\"reset\":_vm.dialog},on:{\"uploadComplete\":function($event){_vm.dialog = false},\"uploading\":_vm.uploading}})],1)],1)],1),_c('v-tab-item',[_c('v-card',{staticClass:\"mt-4\",attrs:{\"flat\":\"\"}},[_c('v-card-text',[_c('url-upload',{attrs:{\"reset\":_vm.dialog},on:{\"uploadComplete\":function($event){_vm.dialog = false},\"uploading\":_vm.uploading}})],1)],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"disabled\":_vm.loading},on:{\"click\":function($event){_vm.dialog = false}}},[_vm._v(\"Cancel\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileUpload.vue?vue&type=template&id=4a0c32c1&\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=js&\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n/* @vue/component */\nexport default VWindowItem.extend({\n name: 'v-tab-item',\n\n props: {\n id: String,\n },\n\n methods: {\n genWindowItem () {\n const item = VWindowItem.options.methods.genWindowItem.call(this)\n\n item.data!.domProps = item.data!.domProps || {}\n item.data!.domProps.id = this.id || this.value\n\n return item\n },\n },\n})\n","import Vue from 'vue'\nconst EventBus = new Vue()\nexport default EventBus\n","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n"],"sourceRoot":""}