platypush/platypush/backend/http/webapp/dist/static/js/1449.a86588b4.js.map

1 line
43 KiB
Plaintext

{"version":3,"file":"static/js/1449.a86588b4.js","mappings":"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","sources":["webpack://platypush/./src/components/widgets/Component/Index.vue","webpack://platypush/./src/components/widgets/Component/components/mixins.js","webpack://platypush/./src/components/widgets/Component/components/Run.vue","webpack://platypush/./src/components/widgets/Component/components/Run.vue?73ce","webpack://platypush/./src/components/widgets/Component/components/Sensor.vue","webpack://platypush/./src/components/widgets/Component/components/Sensor.vue?66dc","webpack://platypush/./src/components/widgets/Component/components/Slider.vue","webpack://platypush/./src/components/widgets/Component/components/Slider.vue?fc3e","webpack://platypush/./src/components/widgets/Component/components/Switch.vue","webpack://platypush/./src/components/widgets/Component/components/Switch.vue?ce7f","webpack://platypush/./src/components/widgets/Component/index.js","webpack://platypush/./src/components/elements/Slider.vue","webpack://platypush/./src/components/elements/Slider.vue?787f","webpack://platypush/./src/components/elements/ToggleSwitch.vue","webpack://platypush/./src/components/elements/ToggleSwitch.vue?94aa","webpack://platypush/./src/components/widgets/Component/Index.vue?276d"],"sourcesContent":["<template>\n <div class=\"component-widget\">\n <Loading v-if=\"loading\" />\n <div class=\"container\" ref=\"container\" />\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\nimport Loading from \"@/components/Loading\";\nimport components from './index'\nimport { createApp, h } from \"vue\";\nimport mitt from 'mitt';\n\nconst bus = mitt();\n\nexport default {\n name: \"Elements\",\n components: {Loading},\n mixins: [Utils],\n props: {\n content: {\n type: String,\n },\n },\n\n data() {\n return {\n loading: false,\n unwatch: null,\n }\n },\n\n methods: {\n _parseActions(element) {\n const actionsTags = [...element.children].filter((node) => node.tagName?.toLowerCase() === 'actions')\n const children = actionsTags?.length ? actionsTags[0].children : element.children\n const actionTags = [...children].filter((node) => node.tagName?.toLowerCase() === 'action')\n\n if (!actionTags?.length)\n return\n\n return [...actionTags]\n .map((actionTag) => {\n return {\n action: actionTag.attributes.name.value,\n args: [...actionTag.children].reduce((obj, arg) => {\n let value = undefined\n try {\n value = JSON.parse(arg.innerText)\n } catch (e) {\n if (arg.innerText?.length)\n value = arg.innerText\n }\n\n obj[arg.tagName.toLowerCase()] = value\n return obj\n }, {}),\n }\n })\n },\n\n _parseVars(element) {\n const varsTags = [...element.children].filter((node) => node.tagName?.toLowerCase() === 'vars')\n if (!varsTags?.length)\n return\n\n return [...varsTags[0].children].reduce((vars, varTag) => {\n let value = undefined\n try {\n value = JSON.parse(varTag.innerText)\n } catch (e) {\n if (varTag.innerText?.length)\n value = varTag.innerText\n }\n vars[varTag.tagName.toLowerCase()] = value\n return vars\n }, {})\n },\n\n _parseHandlers(element) {\n const handlers = {}\n const parseHndlScript = (hndlText) => {\n return (app) => {\n return eval(`// noinspection JSUnusedLocalSymbols\n (async function (self) {\n ${hndlText}\n })`)(app)\n }\n }\n\n const parseEventHndl = (hndlText) => {\n return (app) => {\n return (event) => {\n return eval(`// noinspection JSUnusedLocalSymbols\n (async function (self, event) {\n ${hndlText}\n })`)(app, event)\n }\n }\n }\n\n const hndlTags = [...element.children].filter((node) => node.tagName?.toLowerCase() === 'handlers')\n if (hndlTags?.length) {\n const mounted = [...hndlTags[0].children].filter((node) => node.tagName?.toLowerCase() === 'mounted')\n if (mounted?.length)\n handlers.mounted = parseHndlScript(mounted[0].innerText)\n\n const refresh = [...hndlTags[0].children].filter((node) => node.tagName?.toLowerCase() === 'refresh')\n if (refresh?.length) {\n handlers.refresh = {\n handler: parseHndlScript(refresh[0].innerText),\n interval: refresh[0].attributes.interval?.value || 10,\n }\n }\n\n const events = [...hndlTags[0].children].filter((node) => node.tagName?.toLowerCase() === 'event')\n if (events?.length)\n handlers.events = events.reduce((events, hndlTag) => {\n events[hndlTag.attributes.type.value] = parseEventHndl(hndlTag.innerText)\n return events\n }, {})\n }\n\n const actionsTags = [...element.children].filter((node) => node.tagName?.toLowerCase() === 'actions')\n if (actionsTags?.length) {\n const beforeActionsTags = [...actionsTags[0].children].filter((node) => node.tagName?.toLowerCase() === 'before')\n if (beforeActionsTags?.length)\n handlers.beforeActions = parseHndlScript(beforeActionsTags[0].innerText)\n\n const afterActionsTags = [...actionsTags[0].children].filter((node) => node.tagName?.toLowerCase() === 'after')\n if (afterActionsTags?.length)\n handlers.afterActions = parseHndlScript(afterActionsTags[0].innerText)\n }\n\n return handlers\n },\n\n _parseProps(element) {\n return [...element.attributes].reduce((obj, attr) => {\n obj[attr.name] = attr.value\n return obj\n }, {})\n },\n\n propagateEvent(event) {\n bus.emit('event', event)\n },\n\n _addEventHandler() {\n this.unwatch = this.subscribe((event) => {\n bus.emit('event', event)\n })\n },\n\n _removeEventHandler() {\n if (this.unwatch) {\n this.unwatch()\n this.unwatch = null\n }\n },\n },\n\n mounted() {\n this.loading = true\n this._addEventHandler()\n\n try {\n this.$refs.container.innerHTML = this.content\n\n Object.entries(components).forEach(([name, component]) => {\n this.$options.components[name] = component;\n [...this.$refs.container.getElementsByTagName(name)].forEach((element) => {\n const props = this._parseProps(element)\n props.actions = this._parseActions(element)\n props.handlers = this._parseHandlers(element)\n props._vars = this._parseVars(element)\n\n const newEl = document.createElement('div')\n newEl.setAttribute('class', 'component')\n newEl.innerHTML = element.innerHTML\n element.parentNode.replaceChild(newEl, element)\n\n createApp({\n render() { return h(component, props) },\n data() {\n return { bus: bus }\n },\n }).mount(newEl)\n })\n })\n\n for (const tagName of ['handlers', 'actions', 'vars'])\n this.$refs.container.getElementsByTagName(tagName).forEach((hndlTag) => {\n hndlTag.parentNode.removeChild(hndlTag)\n })\n } finally {\n this.loading = false\n }\n },\n\n unmounted() {\n this._removeEventHandler()\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.component-widget {\n margin: -.75em 0 0 -.75em !important;\n padding: 0;\n width: calc(100% + 1.5em);\n height: calc(100% + 1.5em);\n}\n</style>\n","import Utils from \"@/Utils\";\n\nexport default {\n mixins: [Utils],\n props: {\n /**\n * Component name\n */\n name: {\n type: String,\n default: '[Unnamed sensor]',\n },\n\n /**\n * Action (FontAwesome) icon class (default: `fa fa-play`)\n */\n iconClass: {\n type: String,\n },\n\n /**\n * Action icon URL (default: `fa fa-play`)\n */\n iconUrl: {\n type: String,\n },\n\n /**\n * Action icon color override, for FontAwesome icons\n */\n iconColor: {\n type: String,\n },\n\n /**\n * Actions to run upon interaction with the widget. Format:\n *\n * [\n * {\n * \"action\": \"light.hue.toggle\",\n * \"args\": {\n * \"lights\": [\"Bulb 1\", \"Bulb 2\"]\n * }\n * },\n * {\n * \"action\": \"music.mpd.pause\"\n * }\n * ]\n */\n actions: {\n type: Array,\n default: () => { return [] },\n },\n\n /**\n * Map of variables used by this component, in the form\n * variable_name -> variable_value.\n */\n _vars: {\n type: Object,\n default: () => { return {} },\n },\n\n /**\n * Map of handlers, in the form of event_type -> functions.\n * Supported event handler types:\n *\n * - mounted: Function to execute when the component is mounted.\n * - beforeActions: Function to execute before the component action is run.\n * - afterActions: Function to execute after the component action is run.\n * - refresh: Function to be called at startup (if mounted is also specified\n * then refresh will be called after mounted when the component is\n * first mounted) and at regular intervals defined on the\n * interval property (default: 10 seconds).\n * - events: This is a mapping of functions that react to Platypush\n * platform events published on the websocket (e.g. lights or\n * switches toggles, media events etc.). The form is\n * platypush_event_type -> function.\n */\n handlers: {\n type: Object,\n default: () => { return {} },\n },\n\n /**\n * Event bus\n */\n bus: {\n type: Object,\n },\n },\n\n data() {\n return {\n vars: {...(this._vars || {})},\n _interval: undefined,\n refresh: null,\n refreshInterval: null,\n value: null,\n loading: false,\n }\n },\n\n computed: {\n iconStyle() {\n if (!this.iconClass?.length && this.iconColor?.length)\n return\n\n return {'color': this.iconColor}\n },\n\n hasIcon() {\n return this.iconUrl?.length || this.iconClass?.length\n },\n },\n\n methods: {\n async run() {\n if (this.handlers.input)\n return this.handlers.input(this)(this.value)\n\n if (this.handlers.beforeActions)\n await this.handlers.beforeActions(this)\n for (const action of this.actions)\n await this.request_(action)\n if (this.handlers.afterActions) {\n await this.handlers.afterActions(this)\n }\n },\n\n async request_(action) {\n const args = Object.entries(action.args).reduce((args, [key, value]) => {\n if (value.trim) {\n value = value.trim()\n const m = value.match(/^{{\\s*(.*)\\s*}}/)\n if (m) {\n value = eval(`// noinspection JSUnusedLocalSymbols\n (function (self) {\n return ${m[1]}\n })`)(this)\n }\n }\n\n args[key] = value\n return args\n }, {})\n\n await this.request(action.action, args)\n },\n\n async processEvent(event) {\n const hndl = (this.handlers.events || {})[event.type]\n if (hndl)\n await hndl(this)(event)\n },\n },\n\n async mounted() {\n this.$root.bus.on('event', this.processEvent)\n\n if (this.handlers.mounted)\n await this.handlers.mounted(this)\n\n if (this.handlers.refresh) {\n this.refreshInterval = (this.handlers.refresh?.interval || 0) * 1000\n this.refresh = () => {\n this.handlers.refresh.handler(this)\n }\n\n await this.refresh()\n if (this.refreshInterval) {\n const self = this\n const wrapper = () => { return self.refresh() }\n this._interval = setInterval(wrapper, this.refreshInterval)\n }\n }\n },\n\n unmounted() {\n if (this._interval)\n clearInterval(this._interval)\n }\n}\n","<template>\n <div class=\"run component-row\" @click=\"run\">\n <div class=\"col-1 icon-container\" v-if=\"hasIcon\">\n <img class=\"icon\" :src=\"iconUrl\" :alt=\"name\" v-if=\"iconUrl?.length\">\n <i class=\"icon\" :class=\"iconClass\" :style=\"iconStyle\" v-else />\n </div>\n <div :class=\"{'col-11': hasIcon, 'col-12': !hasIcon}\" v-text=\"name\" />\n </div>\n</template>\n\n<script>\nimport mixins from './mixins';\n\n/**\n * This component is used to run one or more actions.\n */\nexport default {\n name: \"Run\",\n mixins: [mixins],\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"mixins\";\n</style>\n","import { render } from \"./Run.vue?vue&type=template&id=7478b72d&scoped=true\"\nimport script from \"./Run.vue?vue&type=script&lang=js\"\nexport * from \"./Run.vue?vue&type=script&lang=js\"\n\nimport \"./Run.vue?vue&type=style&index=0&id=7478b72d&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7478b72d\"]])\n\nexport default __exports__","<template>\n <div class=\"sensor component-row\" @click=\"run\">\n <div class=\"col-1 icon-container\" v-if=\"hasIcon\">\n <img class=\"icon\" :src=\"iconUrl\" :alt=\"name\" v-if=\"iconUrl?.length\">\n <i class=\"icon\" :class=\"iconClass\" :style=\"iconStyle\" v-else />\n </div>\n <div :class=\"{'col-8': hasIcon, 'col-9': !hasIcon}\" v-text=\"name\" />\n <div class=\"col-3 value-container\">\n <div class=\"value\">\n {{ value }}\n <span v-if=\"unit\" v-text=\"unit\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport mixins from './mixins';\n\n/**\n * This component is used to monitor values from sensors.\n */\nexport default {\n name: \"Sensor\",\n mixins: [mixins],\n props: {\n /**\n * Optional unit used for the sensor value\n */\n unit: {\n type: String,\n },\n },\n\n methods: {\n async run() {\n if (this.handlers.beforeActions)\n await this.handlers.beforeActions(this)\n\n if (this.actions?.length)\n for (const action of this.actions)\n await this.request_(action)\n else\n await this.refresh()\n\n if (this.handlers.afterActions) {\n await this.handlers.afterActions(this)\n }\n },\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"mixins\";\n\n.sensor {\n .value-container {\n position: relative;\n\n .value {\n position: absolute;\n right: 0;\n font-weight: bold;\n }\n }\n}\n</style>\n","import { render } from \"./Sensor.vue?vue&type=template&id=53594122&scoped=true\"\nimport script from \"./Sensor.vue?vue&type=script&lang=js\"\nexport * from \"./Sensor.vue?vue&type=script&lang=js\"\n\nimport \"./Sensor.vue?vue&type=style&index=0&id=53594122&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-53594122\"]])\n\nexport default __exports__","<template>\n <div class=\"slider-root component-row\">\n <div class=\"col-1 icon-container\" v-if=\"hasIcon\">\n <img class=\"icon\" :src=\"iconUrl\" :alt=\"name\" v-if=\"iconUrl?.length\">\n <i class=\"icon\" :class=\"iconClass\" :style=\"iconStyle\" v-else />\n </div>\n <div :class=\"{'col-6': hasIcon, 'col-7': !hasIcon}\" v-text=\"name\" />\n <div class=\"col-5 slider-container\">\n <div class=\"slider\">\n <SliderElement :value=\"value\" :range=\"[parseFloat(min), parseFloat(max)]\" @mouseup=\"run\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport mixins from './mixins';\nimport SliderElement from \"@/components/elements/Slider\";\n\n/**\n * This component can be used to run action on the basis of a\n * numeric value included in a specified interval (i.e. a slider).\n */\nexport default {\n name: \"Slider\",\n components: {SliderElement},\n mixins: [mixins],\n props: {\n /**\n * Minimum value for the slider (default: 0).\n */\n min: {\n type: [String, Number],\n default: 0,\n },\n\n /**\n * Maximum value for the slider.\n */\n max: {\n type: [String, Number],\n required: true,\n },\n },\n\n methods: {\n async run(event) {\n this.value = parseFloat(event.target.value)\n\n if (this.handlers.beforeActions)\n await this.handlers.beforeActions(this)\n for (const action of this.actions)\n await this.request_(action)\n if (this.handlers.afterActions) {\n await this.handlers.afterActions(this)\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"mixins\";\n\n.slider-root {\n .slider-container {\n position: relative;\n\n .slider {\n position: absolute;\n right: 0;\n }\n }\n}\n</style>\n","import { render } from \"./Slider.vue?vue&type=template&id=772cf288&scoped=true\"\nimport script from \"./Slider.vue?vue&type=script&lang=js\"\nexport * from \"./Slider.vue?vue&type=script&lang=js\"\n\nimport \"./Slider.vue?vue&type=style&index=0&id=772cf288&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-772cf288\"]])\n\nexport default __exports__","<template>\n <div class=\"switch component-row\" @click=\"run\">\n <div class=\"col-1 icon-container\" v-if=\"hasIcon\">\n <img class=\"icon\" :src=\"iconUrl\" :alt=\"name\" v-if=\"iconUrl?.length\">\n <i class=\"icon\" :class=\"iconClass\" :style=\"iconStyle\" v-else />\n </div>\n <div :class=\"{'col-9': hasIcon, 'col-10': !hasIcon}\" v-text=\"name\" />\n <div class=\"col-2 toggle-container\">\n <div class=\"toggle\">\n <ToggleSwitch :value=\"value\" @input.stop=\"run\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport mixins from './mixins';\nimport ToggleSwitch from \"@/components/elements/ToggleSwitch\";\n\n/**\n * This component can be used to trigger toggle actions on\n * entities with a binary (ON/OFF) state.\n */\nexport default {\n name: \"Switch\",\n components: {ToggleSwitch},\n mixins: [mixins],\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"mixins\";\n\n.switch {\n .toggle-container {\n position: relative;\n\n .toggle {\n position: absolute;\n right: 0;\n }\n }\n}\n</style>\n","import { render } from \"./Switch.vue?vue&type=template&id=97d3a936&scoped=true\"\nimport script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=97d3a936&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-97d3a936\"]])\n\nexport default __exports__","import Run from './components/Run'\nimport Sensor from \"./components/Sensor\";\nimport Slider from './components/Slider'\nimport Switch from './components/Switch'\n\nexport default {\n Run,\n Sensor,\n Slider,\n Switch,\n}\n","<template>\n <label class=\"slider-wrapper\">\n <span class=\"range-labels\" :class=\"{'with-label': withLabel}\" v-if=\"withRange\">\n <span class=\"label left\" v-if=\"withRange\" v-text=\"range[0]\" />\n <span class=\"label right\" v-if=\"withRange\" v-text=\"range[1]\" />\n </span>\n\n <span class=\"slider-container\">\n <input class=\"slider\"\n type=\"range\"\n :class=\"{'with-label': withLabel}\"\n :min=\"range[0]\"\n :max=\"range[1]\"\n :step=\"step\"\n :disabled=\"disabled\"\n :value=\"value\"\n ref=\"range\"\n @input.stop=\"onUpdate\"\n @change.stop=\"onUpdate\">\n\n <div class=\"track\" :class=\"{'with-label': withLabel}\">\n <div class=\"track-inner\" ref=\"track\"></div>\n </div>\n <div class=\"thumb\" ref=\"thumb\"></div>\n <span class=\"label\" v-if=\"withLabel\" v-text=\"value\" ref=\"label\"></span>\n </span>\n </label>\n</template>\n\n<script>\nexport default {\n name: \"Slider\",\n emits: ['input', 'change', 'mouseup', 'mousedown', 'touchstart', 'touchend', 'keyup', 'keydown'],\n props: {\n value: {\n type: Number,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n range: {\n type: Array,\n default: () => [0, 100],\n },\n\n step: {\n type: Number,\n default: 1,\n },\n\n withLabel: {\n type: Boolean,\n default: false,\n },\n\n withRange: {\n type: Boolean,\n default: false,\n }\n },\n\n methods: {\n onUpdate(event) {\n this.update(event.target.value)\n this.$emit(event.type, {\n ...event,\n target: {\n ...event.target,\n value: this.$refs.range.value,\n }\n })\n },\n\n update(value) {\n const sliderWidth = this.$refs.range.clientWidth\n const percent = (value - this.range[0]) / (this.range[1] - this.range[0])\n const innerWidth = percent * sliderWidth\n const thumb = this.$refs.thumb\n\n thumb.style.left = `${innerWidth - thumb.clientWidth / 2}px`\n this.$refs.thumb.style.transform = `translate(-${percent}%, -50%)`\n this.$refs.track.style.width = `${innerWidth}px`\n },\n },\n\n mounted() {\n if (this.value != null)\n this.update(this.value)\n this.$watch(() => this.value, (newValue) => this.update(newValue))\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$label-width: 3em;\n\n.slider-wrapper {\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: column;\n\n .slider-container {\n width: 100%;\n display: flex;\n position: relative;\n }\n\n .slider {\n width: 100%;\n cursor: pointer;\n opacity: 0;\n\n &::-ms-tooltip {\n display: none;\n }\n }\n\n .range-labels {\n width: 100%;\n display: flex;\n\n &.with-label {\n width: calc(100% - $label-width);\n }\n\n .left {\n text-align: left;\n }\n\n .right {\n @extend .pull-right;\n flex-grow: 1;\n }\n }\n\n .track {\n width: 100%;\n height: 0.75em;\n background: $slider-bg;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n border-radius: 0.5em;\n box-shadow: inset 1px 0px 3px 0 $slider-track-shadow;\n pointer-events: none;\n\n .track-inner {\n width: 0;\n height: 100%;\n background: $slider-progress-bg;\n border-radius: 0.5em 0 0 0.5em;\n }\n\n &.with-label {\n width: calc(100% - $label-width);\n }\n }\n\n .thumb {\n width: 1.25em;\n height: 1.25em;\n background: $slider-thumb-bg;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translate(0%, -50%);\n border-radius: 50%;\n box-shadow: 1px 0px 2px 0 $slider-thumb-shadow;\n pointer-events: none;\n }\n\n .label {\n width: $label-width;\n position: relative;\n font-weight: normal;\n text-align: center;\n }\n}\n</style>\n","import { render } from \"./Slider.vue?vue&type=template&id=4b38623f&scoped=true\"\nimport script from \"./Slider.vue?vue&type=script&lang=js\"\nexport * from \"./Slider.vue?vue&type=script&lang=js\"\n\nimport \"./Slider.vue?vue&type=style&index=0&id=4b38623f&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b38623f\"]])\n\nexport default __exports__","<template>\n <div class=\"power-switch\" :class=\"{disabled: disabled}\" @click.stop=\"onInput\">\n <!--suppress HtmlFormInputWithoutLabel -->\n <input type=\"checkbox\" :checked=\"value\">\n <label>\n <!--suppress HtmlUnknownTag -->\n <div class=\"switch\">\n <div class=\"dot\" />\n </div>\n <span class=\"label\">\n <slot />\n </span>\n </label>\n </div>\n</template>\n\n<script>\nexport default {\n name: \"ToggleSwitch\",\n emits: ['input'],\n props: {\n value: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n methods: {\n onInput(event) {\n if (this.disabled)\n return false\n\n this.$emit('input', event)\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.power-switch {\n position: relative;\n transition: transform .3s;\n transform: scale(var(--scale, 1)) translateZ(0);\n\n &:active {\n --scale: .96;\n }\n\n &.disabled {\n opacity: 0.6;\n }\n\n input {\n display: none;\n & + label {\n border-radius: 1em;\n display: inline-flex;\n cursor: pointer;\n position: relative;\n transition: box-shadow .4s;\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n background: none;\n opacity: var(--gradient, 0);\n transition: opacity .4s;\n }\n\n .switch {\n position: relative;\n display: inline-block;\n vertical-align: top;\n height: 1.4em;\n width: 2.5em;\n border-radius: 1em;\n background: $slider-bg;\n box-shadow: inset 1px 0px 3px 0 $slider-track-shadow;\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n background: $slider-progress-bg;\n opacity: var(--gradient, 0);\n transition: opacity .4s;\n }\n\n .dot {\n background: $toggle-dot-bg;\n position: absolute;\n width: 1.5em;\n height: 1.5em;\n border-radius: 50%;\n box-shadow: 1px 0px 3.5px 0 $slider-thumb-shadow;\n left: -0.25em;\n top: -0.05em;\n transform: translateX(var(--offset, 0));\n transition: transform .4s, box-shadow .4s;\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n background: $toggle-selected-dot-bg;\n opacity: var(--gradient, 0);\n transition: opacity .4s;\n }\n }\n }\n\n span {\n line-height: 2em;\n font-size: 1.2em;\n color: var(--text, #646B8C);\n font-weight: 500;\n display: inline-block;\n vertical-align: top;\n position: relative;\n margin-left: 0.5em;\n transition: color .4s;\n }\n\n & + span {\n text-align: center;\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n top: 100%;\n opacity: 0;\n font-size: 1em;\n font-weight: 500;\n color: $slider-bg;\n transform: translateY(0.2em);\n transition: opacity .4s, transform .4s;\n }\n }\n\n &:not(:checked) {\n & + label {\n pointer-events: none;\n & + span {\n opacity: 1;\n transform: translateY(0.6em);\n }\n }\n }\n\n &:checked {\n & + label {\n --offset: 1.5em;\n --text: $slider-progress-bg;\n --gradient: 1;\n --shadow: rgba(0, 39, 6, .1);\n }\n }\n }\n}\n</style>\n","import { render } from \"./ToggleSwitch.vue?vue&type=template&id=a6396ae8&scoped=true\"\nimport script from \"./ToggleSwitch.vue?vue&type=script&lang=js\"\nexport * from \"./ToggleSwitch.vue?vue&type=script&lang=js\"\n\nimport \"./ToggleSwitch.vue?vue&type=style&index=0&id=a6396ae8&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a6396ae8\"]])\n\nexport default __exports__","import { render } from \"./Index.vue?vue&type=template&id=450fcab1&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=450fcab1&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-450fcab1\"]])\n\nexport default __exports__"],"names":["bus","mitt","name","components","Loading","mixins","Utils","props","content","type","String","data","loading","unwatch","methods","_parseActions","element","actionsTags","children","filter","node","tagName","toLowerCase","length","actionTags","map","actionTag","action","attributes","value","args","reduce","obj","arg","JSON","parse","innerText","e","_parseVars","varsTags","vars","varTag","_parseHandlers","handlers","parseHndlScript","hndlText","app","eval","parseEventHndl","event","hndlTags","mounted","refresh","handler","interval","events","hndlTag","beforeActionsTags","beforeActions","afterActionsTags","afterActions","_parseProps","attr","propagateEvent","emit","_addEventHandler","this","subscribe","_removeEventHandler","$refs","container","innerHTML","Object","entries","forEach","component","$options","getElementsByTagName","actions","_vars","newEl","document","createElement","setAttribute","parentNode","replaceChild","createApp","render","h","mount","removeChild","unmounted","default","iconClass","iconUrl","iconColor","Array","_interval","undefined","refreshInterval","computed","iconStyle","hasIcon","run","input","request_","key","trim","m","match","request","processEvent","hndl","$root","on","self","wrapper","setInterval","clearInterval","class","_createElementBlock","onClick","_cache","_ctx","_hoisted_1","src","alt","_normalizeClass","style","_normalizeStyle","_createElementVNode","_toDisplayString","__exports__","_hoisted_4","_hoisted_5","$props","unit","_hoisted_2","_hoisted_6","_createVNode","_component_SliderElement","range","parseFloat","min","max","onMouseup","SliderElement","Number","required","target","_component_ToggleSwitch","onInput","_withModifiers","ToggleSwitch","Run","Sensor","Slider","Switch","ref","withRange","withLabel","step","disabled","onUpdate","onChange","_hoisted_7","emits","Boolean","update","$emit","sliderWidth","clientWidth","percent","innerWidth","thumb","left","transform","track","width","$watch","newValue","checked","_hoisted_3","_renderSlot","$slots","$data","_createBlock","_component_Loading"],"sourceRoot":""}