{"version":3,"sources":["webpack:///../../../src/components/VSwitch/VSwitch.ts","webpack:///./src/components/common/SimpleSwitch.vue","webpack:///src/components/common/SimpleSwitch.vue","webpack:///./src/components/common/SimpleSwitch.vue?e897","webpack:///./src/components/common/SimpleSwitch.vue?0cdb"],"names":["Selectable","extend","name","directives","Touch","props","inset","Boolean","loading","type","String","default","flat","computed","classes","_objectSpread","VInput","options","call","this","attrs","isActive","isDisabled","role","validationState","hasError","shouldValidate","hasSuccess","hasColor","computedColor","switchData","setTextColor","undefined","class","themeClasses","methods","genDefaultSlot","genSwitch","genLabel","_this$attrs$","attrs$","switchAttrs","title","_objectWithoutProperties","_excluded","$createElement","staticClass","genInput","genRipple","value","left","onSwipeLeft","right","onSwipeRight","genProgress","VFabTransition","$slots","progress","VProgressCircular","color","size","width","indeterminate","onChange","onKeydown","e","keyCode","keyCodes","_c","_self","scopedSlots","_vm","fn","staticStyle","hint","model","callback","data","expression","components","SimpleHelperMsg","label","colorIcon","get","set","$emit","component","staticRenderFns"],"mappings":"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","file":"js/chunk-6cdd7082.bac173cd.js","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { 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\n computed: {\n classes (): object {\n return {\n ...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 attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\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 (): string | undefined {\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 switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\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 })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : 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 onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-switch',{staticClass:\"ma-0 pa-0\",attrs:{\"flat\":\"\",\"hide-details\":\"\",\"color\":_vm.color},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"d-flex align-start\",staticStyle:{\"gap\":\"0.1rem\"}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.hint)?_c('SimpleHelperMsg',_vm._b({attrs:{\"msg\":_vm.hint}},'SimpleHelperMsg',{ colorIcon: _vm.colorIcon },false)):_vm._e()],1)]},proxy:true}]),model:{value:(_vm.data),callback:function ($$v) {_vm.data=$$v},expression:\"data\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n {{ label }}\n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleSwitch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleSwitch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SimpleSwitch.vue?vue&type=template&id=19a918c4&\"\nimport script from \"./SimpleSwitch.vue?vue&type=script&lang=js&\"\nexport * from \"./SimpleSwitch.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"],"sourceRoot":""}