{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VDialog/VDialog.js","webpack:///./node_modules/vuetify/lib/components/VSwitch/VSwitch.js","webpack:///./node_modules/vuetify/lib/mixins/selectable/index.js"],"names":["baseMixins","name","directives","ClickOutside","props","dark","Boolean","disabled","fullscreen","light","maxWidth","type","String","Number","default","noClickAnimation","origin","persistent","retainFocus","scrollable","transition","width","activatedBy","animate","animateTimeout","isActive","this","value","stackMinZIndex","computed","contentClass","trim","$slots","activator","$scopedSlots","watch","val","show","hideScroll","removeOverlay","unbind","showScroll","genOverlay","$attrs","hasOwnProperty","$nextTick","isBooted","window","methods","clearTimeout","setTimeout","e","target","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","getMaxZIndex","document","documentElement","classList","add","options","call","hideOverlay","focus","bind","addEventListener","onFocusin","removeEventListener","$emit","animateClick","keyCode","esc","getOpenDependents","length","getActivator","includes","getOpenDependentElements","some","el","focusable","querySelectorAll","find","hasAttribute","showLazyContent","$createElement","root","class","contentClasses","attrs","role","tabindex","undefined","getScopeIdAttrs","on","keydown","onKeydown","style","zIndex","ref","genTransition","genInnerContent","appear","data","classes","handler","onClickOutside","closeConditional","include","transformOrigin","getContentSlot","h","staticClass","attach","genActivator","genContent","extend","Touch","inset","loading","flat","isDisabled","hasError","shouldValidate","hasSuccess","hasColor","computedColor","setTextColor","validationState","themeClasses","genSwitch","genLabel","genInput","attrs$","genRipple","left","onSwipeLeft","right","onSwipeRight","switchData","genProgress","progress","color","size","indeterminate","onChange","prevent","preventDefault","model","prop","event","id","inputValue","falseValue","trueValue","multiple","label","lazyValue","isDark","appIsDark","Array","isArray","internalValue","input","isMultiple","item","valueComparator","click","Object","assign","toString","computedId","domProps","checked","blur","onBlur","change","onFocus","isFocused","isInteractive","filter","push","validate"],"mappings":"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","file":"js/chunk-10cd29a0.a83e5513.js","sourcesContent":["// Styles\nimport \"../../../src/components/VDialog/VDialog.sass\"; // Components\n\nimport { VThemeProvider } from '../VThemeProvider'; // Mixins\n\nimport Activatable from '../../mixins/activatable';\nimport Dependent from '../../mixins/dependent';\nimport Detachable from '../../mixins/detachable';\nimport Overlayable from '../../mixins/overlayable';\nimport Returnable from '../../mixins/returnable';\nimport Stackable from '../../mixins/stackable';\nimport Toggleable from '../../mixins/toggleable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside'; // Helpers\n\nimport mixins from '../../util/mixins';\nimport { removed } from '../../util/console';\nimport { convertToUnit, keyCodes } from '../../util/helpers';\nconst baseMixins = mixins(Activatable, Dependent, Detachable, Overlayable, Returnable, Stackable, Toggleable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'v-dialog',\n directives: {\n ClickOutside\n },\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none'\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center'\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition'\n },\n width: {\n type: [String, Number],\n default: 'auto'\n }\n },\n\n data() {\n return {\n activatedBy: null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200\n };\n },\n\n computed: {\n classes() {\n return {\n [`v-dialog ${this.contentClass}`.trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate\n };\n },\n\n contentClasses() {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive\n };\n },\n\n hasActivator() {\n return Boolean(!!this.$slots.activator || !!this.$scopedSlots.activator);\n }\n\n },\n watch: {\n isActive(val) {\n if (val) {\n this.show();\n this.hideScroll();\n } else {\n this.removeOverlay();\n this.unbind();\n }\n },\n\n fullscreen(val) {\n if (!this.isActive) return;\n\n if (val) {\n this.hideScroll();\n this.removeOverlay(false);\n } else {\n this.showScroll();\n this.genOverlay();\n }\n }\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 beforeMount() {\n this.$nextTick(() => {\n this.isBooted = this.isActive;\n this.isActive && this.show();\n });\n },\n\n beforeDestroy() {\n if (typeof window !== 'undefined') this.unbind();\n },\n\n methods: {\n animateClick() {\n this.animate = false; // Needed for when clicking very fast\n // outside of the dialog\n\n this.$nextTick(() => {\n this.animate = true;\n window.clearTimeout(this.animateTimeout);\n this.animateTimeout = window.setTimeout(() => this.animate = false, 150);\n });\n },\n\n closeConditional(e) {\n const target = e.target; // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n\n return !(this._isDestroyed || !this.isActive || this.$refs.content.contains(target) || this.overlay && target && !this.overlay.$el.contains(target)) && this.activeZIndex >= this.getMaxZIndex();\n },\n\n hideScroll() {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden');\n } else {\n Overlayable.options.methods.hideScroll.call(this);\n }\n },\n\n show() {\n !this.fullscreen && !this.hideOverlay && this.genOverlay();\n this.$nextTick(() => {\n this.$refs.content.focus();\n this.bind();\n });\n },\n\n bind() {\n window.addEventListener('focusin', this.onFocusin);\n },\n\n unbind() {\n window.removeEventListener('focusin', this.onFocusin);\n },\n\n onClickOutside(e) {\n this.$emit('click:outside', e);\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick();\n } else {\n this.isActive = false;\n }\n },\n\n onKeydown(e) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false;\n const activator = this.getActivator();\n this.$nextTick(() => activator && activator.focus());\n } else if (!this.noClickAnimation) {\n this.animateClick();\n }\n }\n\n this.$emit('keydown', e);\n },\n\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin(e) {\n if (!e || !this.retainFocus) return;\n const target = e.target;\n\n if (!!target && // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) && // It isn't inside the dialog body\n !this.$refs.content.contains(target) && // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() && // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target)) // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n const el = [...focusable].find(el => !el.hasAttribute('disabled'));\n el && el.focus();\n }\n },\n\n genContent() {\n return this.showLazyContent(() => [this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark\n }\n }, [this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs()\n },\n on: {\n keydown: this.onKeydown\n },\n style: {\n zIndex: this.activeZIndex\n },\n ref: 'content'\n }, [this.genTransition()])])]);\n },\n\n genTransition() {\n const content = this.genInnerContent();\n if (!this.transition) return content;\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true\n }\n }, [content]);\n },\n\n genInnerContent() {\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [{\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements\n }\n }, {\n name: 'show',\n value: this.isActive\n }],\n style: {\n transformOrigin: this.origin\n }\n };\n\n if (!this.fullscreen) {\n data.style = { ...data.style,\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width)\n };\n }\n\n return this.$createElement('div', data, this.getContentSlot());\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached': this.attach === '' || this.attach === true || this.attach === 'attach'\n },\n attrs: {\n role: 'dialog'\n }\n }, [this.genActivator(), this.genContent()]);\n }\n\n});\n//# sourceMappingURL=VDialog.js.map","// Styles\nimport \"../../../src/styles/components/_selection-controls.sass\";\nimport \"../../../src/components/VSwitch/VSwitch.sass\"; // Mixins\n\nimport Selectable from '../../mixins/selectable';\nimport VInput from '../VInput'; // Directives\n\nimport Touch from '../../directives/touch'; // Components\n\nimport { VFabTransition } from '../transitions';\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'; // Helpers\n\nimport { keyCodes } from '../../util/helpers';\n/* @vue/component */\n\nexport default Selectable.extend({\n name: 'v-switch',\n directives: {\n Touch\n },\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false\n },\n flat: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n classes() {\n return { ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset\n };\n },\n\n attrs() {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch'\n };\n },\n\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState() {\n if (this.hasError && this.shouldValidate) return 'error';\n if (this.hasSuccess) return 'success';\n if (this.hasColor !== null) return this.computedColor;\n return undefined;\n },\n\n switchData() {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses\n });\n }\n\n },\n methods: {\n genDefaultSlot() {\n return [this.genSwitch(), this.genLabel()];\n },\n\n genSwitch() {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input'\n }, [this.genInput('checkbox', { ...this.attrs,\n ...this.attrs$\n }), this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight\n }\n }]\n })), this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData\n }), this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData\n }, [this.genProgress()])]);\n },\n\n genProgress() {\n return this.$createElement(VFabTransition, {}, [this.loading === false ? null : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: this.loading === true || this.loading === '' ? this.color || 'primary' : this.loading,\n size: 16,\n width: 2,\n indeterminate: true\n }\n })]);\n },\n\n onSwipeLeft() {\n if (this.isActive) this.onChange();\n },\n\n onSwipeRight() {\n if (!this.isActive) this.onChange();\n },\n\n onKeydown(e) {\n if (e.keyCode === keyCodes.left && this.isActive || e.keyCode === keyCodes.right && !this.isActive) this.onChange();\n }\n\n }\n});\n//# sourceMappingURL=VSwitch.js.map","// Components\nimport VInput from '../../components/VInput'; // Mixins\n\nimport Rippleable from '../rippleable';\nimport Comparable from '../comparable'; // Utilities\n\nimport mixins from '../../util/mixins';\nexport function prevent(e) {\n e.preventDefault();\n}\n/* @vue/component */\n\nexport default mixins(VInput, Rippleable, Comparable).extend({\n name: 'selectable',\n model: {\n prop: 'inputValue',\n event: 'change'\n },\n props: {\n id: String,\n inputValue: null,\n falseValue: null,\n trueValue: null,\n multiple: {\n type: Boolean,\n default: null\n },\n label: String\n },\n\n data() {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue\n };\n },\n\n computed: {\n computedColor() {\n if (!this.isActive) return undefined;\n if (this.color) return this.color;\n if (this.isDark && !this.appIsDark) return 'white';\n return 'primary';\n },\n\n isMultiple() {\n return this.multiple === true || this.multiple === null && Array.isArray(this.internalValue);\n },\n\n isActive() {\n const value = this.value;\n const input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false;\n return input.some(item => this.valueComparator(item, value));\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value ? this.valueComparator(value, input) : Boolean(input);\n }\n\n return this.valueComparator(input, this.trueValue);\n },\n\n isDirty() {\n return this.isActive;\n },\n\n rippleState() {\n return !this.isDisabled && !this.validationState ? undefined : this.validationState;\n }\n\n },\n watch: {\n inputValue(val) {\n this.lazyValue = val;\n this.hasColor = val;\n }\n\n },\n methods: {\n genLabel() {\n const label = VInput.options.methods.genLabel.call(this);\n if (!label) return label;\n label.data.on = {\n // Label shouldn't cause the input to focus\n click: prevent\n };\n return label;\n },\n\n genInput(type, attrs) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent\n },\n ref: 'input'\n });\n },\n\n onBlur() {\n this.isFocused = false;\n },\n\n onClick(e) {\n this.onChange();\n this.$emit('click', e);\n },\n\n onChange() {\n if (!this.isInteractive) return;\n const value = this.value;\n let input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = [];\n }\n\n const length = input.length;\n input = input.filter(item => !this.valueComparator(item, value));\n\n if (input.length === length) {\n input.push(value);\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue;\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value;\n } else {\n input = !input;\n }\n\n this.validate(true, input);\n this.internalValue = input;\n this.hasColor = input;\n },\n\n onFocus() {\n this.isFocused = true;\n },\n\n /** @abstract */\n onKeydown(e) {}\n\n }\n});\n//# sourceMappingURL=index.js.map"],"sourceRoot":""}