platypush/platypush/backend/http/webapp/dist/static/js/1155.1d3f7c87.js

2 lines
12 KiB
JavaScript

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[1155,3499],{4212:function(e,t,a){a.d(t,{N:function(){return n}});class n{constructor(e){if(this.ranges={hue:[0,360],sat:[0,100],bri:[0,100],ct:[154,500]},e)for(const t of Object.keys(this.ranges))e[t]&&(this.ranges[t]=e[t])}normalize(e,t,a){return a[0]+(e-t[0])*(a[1]-a[0])/(t[1]-t[0])}hslToRgb(e,t,a){[e,t,a]=[this.normalize(e,this.ranges.hue,[0,360]),this.normalize(t,this.ranges.sat,[0,100]),this.normalize(a,this.ranges.bri,[0,100])],a/=100;const n=t*Math.min(a,1-a)/100,s=t=>{const s=(t+e/30)%12,o=a-n*Math.max(Math.min(s-3,9-s,1),-1);return Math.round(255*o)};return[s(0),s(8),s(4)]}rgbToHsl(e,t,a){e/=255,t/=255,a/=255;const n=Math.max(e,t,a),s=Math.min(e,t,a);let o,i,l=(n+s)/2;if(n===s)o=i=0;else{const r=n-s;switch(i=l>.5?r/(2-n-s):r/(n+s),n){case e:o=(t-a)/r+(t<a?6:0);break;case t:o=(a-e)/r+2;break;case a:o=(e-t)/r+4;break}o/=6}return[parseInt(this.normalize(o,[0,1],this.ranges.hue)),parseInt(this.normalize(i,[0,1],this.ranges.sat)),parseInt(this.normalize(l,[0,1],this.ranges.bri))]}xyToRgb(e,t,a){null==a&&(a=this.ranges.bri[1]);const n=1-e-t,s=(a/(this.ranges.bri[1]-1)).toFixed(2),o=s/t*e,i=s/t*n;let l=1.656492*o-.354851*s-.255038*i,r=.707196*-o+1.655397*s+.036152*i,u=.051713*o-.121364*s+1.01153*i;return l>u&&l>r&&l>1?(r/=l,u/=l,l=1):r>u&&r>l&&r>1?(l/=r,u/=r,r=1):u>l&&u>r&&u>1&&(l/=u,r/=u,u=1),l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,r=r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055,u=u<=.0031308?12.92*u:1.055*Math.pow(u,1/2.4)-.055,l=Math.round(255*l),r=Math.round(255*r),u=Math.round(255*u),isNaN(l)&&(l=0),isNaN(r)&&(r=0),isNaN(u)&&(u=0),[l,r,u].map((e=>Math.min(Math.max(0,e),255)))}rgbToXY(e,t,a){e>1&&(e/=255),t>1&&(t/=255),a>1&&(a/=255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92;const n=.664511*e+.154324*t+.162028*a,s=.283881*e+.668433*t+.047685*a,o=88e-6*e+.07231*t+.986039*a;let i=parseFloat((n/(n+s+o)).toFixed(4)),l=parseFloat((s/(n+s+o)).toFixed(4));return isNaN(i)&&(i=0),isNaN(l)&&(l=0),[i,l]}rgbToBri(e,t,a){return Math.min(2*this.rgbToHsl(e,t,a)[2],this.ranges.bri[1])}getRGB(e){return null!=e.red&&null!=e.green&&null!=e.blue?[e.red,e.green,e.blue]:null!=e.r&&null!=e.g&&null!=e.b?[e.r,e.g,e.b]:e.rgb?e.rgb:void 0}getXY(e){return null!=e.x&&null!=e.y?[e.x,e.y]:e.xy?e.xy:void 0}toRGB(e){const t=this.getRGB(e);if(t)return t;const a=this.getXY(e);return a&&e.bri?this.xyToRgb(...a,e.bri):e.hue&&e.sat&&e.bri?this.hslToRgb(e.hue,e.sat,e.bri):(console.debug("Could not determine color space"),void console.debug(e))}toXY(e){const t=this.getXY(e);if(t&&e.bri)return[t[0],t[1],e.bri];const a=this.getRGB(e);if(a)return this.rgbToXY(...a);if(e.hue&&e.sat&&e.bri){const t=this.hslToRgb(e.hue,e.sat,e.bri);return this.rgbToXY(...t)}console.debug("Could not determine color space"),console.debug(e)}toHSL(e){if(e.hue&&e.sat&&e.bri)return[e.hue,e.sat,e.bri];const t=this.getRGB(e);if(t)return this.rgbToHsl(...t);const a=this.getXY(e);if(a&&e.bri){const t=this.xyToRgb(...a,e.bri);return this.rgbToHsl(...t)}console.debug("Could not determine color space"),console.debug(e)}hexToRgb(e){return[e.slice(1,3),e.slice(3,5),e.slice(5,7)].map((e=>parseInt(e,16)))}rgbToHex(e){return"#"+e.map((e=>{let t=e.toString(16);return t.length<2&&(t="0"+t),t})).join("")}}},376:function(e,t,a){a.d(t,{Z:function(){return b}});var n=a(6252),s=a(9963),o=a(3577);const i={class:"slider-wrapper"},l=["min","max","step","disabled","value"],r={class:"track"},u={class:"track-inner",ref:"track"},c={class:"thumb",ref:"thumb"},h=["textContent"];function d(e,t,a,d,p,g){return(0,n.wg)(),(0,n.iD)("label",i,[(0,n._)("input",{class:"slider",type:"range",ref:"range",min:a.range[0],max:a.range[1],step:a.step,disabled:a.disabled,value:a.value,onInput:t[0]||(t[0]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onChange:t[1]||(t[1]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onMouseup:t[2]||(t[2]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onMousedown:t[3]||(t[3]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onTouchstart:t[4]||(t[4]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onTouchend:t[5]||(t[5]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onKeyup:t[6]||(t[6]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onKeydown:t[7]||(t[7]=(0,s.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"]))},null,40,l),(0,n._)("div",r,[(0,n._)("div",u,null,512)]),(0,n._)("div",c,null,512),a.withLabel?((0,n.wg)(),(0,n.iD)("span",{key:0,class:"label",textContent:(0,o.zw)(a.value)},null,8,h)):(0,n.kq)("",!0)])}var p={name:"Slider",emits:["input","change","mouseup","mousedown","touchstart","touchend","keyup","keydown"],props:{value:{type:Number},disabled:{type:Boolean,default:!1},range:{type:Array,default:()=>[0,100]},step:{type:Number,default:1},withLabel:{type:Boolean,default:!1}},methods:{onUpdate(e){this.update(e.target.value),this.$emit(e.type,{...e,target:{...e.target,value:this.$refs.range.value}})},update(e){const t=100*(e-this.range[0])/(this.range[1]-this.range[0]);this.$refs.thumb.style.left=`${t}%`,this.$refs.thumb.style.transform=`translate(-${t}%, -50%)`,this.$refs.track.style.width=`${t}%`}},mounted(){null!=this.value&&this.update(this.value)}},g=a(3744);const v=(0,g.Z)(p,[["render",d],["__scopeId","data-v-95edc28a"]]);var b=v},6:function(e,t,a){a.d(t,{Z:function(){return g}});var n=a(6252),s=a(3577),o=a(9963);const i=e=>((0,n.dD)("data-v-a6396ae8"),e=e(),(0,n.Cn)(),e),l=["checked"],r=i((()=>(0,n._)("div",{class:"switch"},[(0,n._)("div",{class:"dot"})],-1))),u={class:"label"};function c(e,t,a,i,c,h){return(0,n.wg)(),(0,n.iD)("div",{class:(0,s.C_)(["power-switch",{disabled:a.disabled}]),onClick:t[0]||(t[0]=(0,o.iM)(((...e)=>h.onInput&&h.onInput(...e)),["stop"]))},[(0,n._)("input",{type:"checkbox",checked:a.value},null,8,l),(0,n._)("label",null,[r,(0,n._)("span",u,[(0,n.WI)(e.$slots,"default",{},void 0,!0)])])],2)}var h={name:"ToggleSwitch",emits:["input"],props:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{onInput(e){if(this.disabled)return!1;this.$emit("input",e)}}},d=a(3744);const p=(0,d.Z)(h,[["render",c],["__scopeId","data-v-a6396ae8"]]);var g=p},3499:function(e,t,a){a.r(t),a.d(t,{default:function(){return p}});var n=a(6252),s=a(3577),o=a(3540);const i={key:0,src:o,class:"loading"},l={key:1,class:"fas fa-circle-exclamation error"};function r(e,t,a,o,r,u){const c=(0,n.up)("Icon");return(0,n.wg)(),(0,n.iD)("div",{class:(0,s.C_)(["entity-icon-container",{"with-color-fill":!!u.colorFill}]),style:(0,s.j5)(u.colorFillStyle)},[a.loading?((0,n.wg)(),(0,n.iD)("img",i)):a.error?((0,n.wg)(),(0,n.iD)("i",l)):((0,n.wg)(),(0,n.j4)(c,(0,s.vs)((0,n.dG)({key:2},u.computedIcon)),null,16))],6)}var u=a(1478),c={name:"EntityIcon",components:{Icon:u.Z},props:{loading:{type:Boolean,default:!1},error:{type:Boolean,default:!1},icon:{type:Object,required:!0},hasColorFill:{type:Boolean,default:!1}},data(){return{component:null,modalVisible:!1}},computed:{colorFill(){return this.hasColorFill&&this.icon.color?this.icon.color:null},colorFillStyle(){return this.colorFill?{background:this.colorFill}:{}},computedIcon(){const e={...this.icon};return this.colorFill&&delete e.color,e},type(){let e=this.entity.type||"";return e.charAt(0).toUpperCase()+e.slice(1)}}},h=a(3744);const d=(0,h.Z)(c,[["render",r],["__scopeId","data-v-6f83c443"]]);var p=d},1155:function(e,t,a){a.r(t),a.d(t,{default:function(){return $}});var n=a(6252),s=a(3577),o=a(9963);const i=e=>((0,n.dD)("data-v-18a5dc7b"),e=e(),(0,n.Cn)(),e),l={class:"entity light-container"},r={class:"col-1 icon"},u={class:"col-s-8 col-m-9 label"},c=["textContent"],h={class:"col-s-3 col-m-2 buttons pull-right"},d={key:0,class:"row"},p=i((()=>(0,n._)("div",{class:"icon"},[(0,n._)("i",{class:"fas fa-palette"})],-1))),g={class:"input"},v=["value"],b={key:1,class:"row"},m=i((()=>(0,n._)("div",{class:"icon"},[(0,n._)("i",{class:"fas fa-sun"})],-1))),f={class:"input"},y={key:2,class:"row"},_=i((()=>(0,n._)("div",{class:"icon"},[(0,n._)("i",{class:"fas fa-droplet"})],-1))),x={class:"input"},w={key:3,class:"row"},C=i((()=>(0,n._)("div",{class:"icon"},[(0,n._)("i",{class:"fas fa-temperature-half"})],-1))),k={class:"input"};function M(e,t,a,i,M,T){const I=(0,n.up)("EntityIcon"),U=(0,n.up)("ToggleSwitch"),F=(0,n.up)("Slider");return(0,n.wg)(),(0,n.iD)("div",l,[(0,n._)("div",{class:(0,s.C_)(["head",{expanded:M.expanded}])},[(0,n._)("div",r,[(0,n.Wm)(I,{icon:T.icon,hasColorFill:!0,loading:e.loading,error:e.error},null,8,["icon","loading","error"])]),(0,n._)("div",u,[(0,n._)("div",{class:"name",textContent:(0,s.zw)(e.value.name)},null,8,c)]),(0,n._)("div",h,[(0,n.Wm)(U,{value:e.value.on,onInput:T.toggle,onClick:t[0]||(t[0]=(0,o.iM)((()=>{}),["stop"])),disabled:e.loading||e.value.is_read_only},null,8,["value","onInput","disabled"]),(0,n._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((e=>M.expanded=!M.expanded),["stop"]))},[(0,n._)("i",{class:(0,s.C_)(["fas",{"fa-angle-up":M.expanded,"fa-angle-down":!M.expanded}])},null,2)])])],2),M.expanded?((0,n.wg)(),(0,n.iD)("div",{key:0,class:"body",onClick:t[6]||(t[6]=(0,o.iM)(((...e)=>T.prevent&&T.prevent(...e)),["stop"]))},[T.cssColor?((0,n.wg)(),(0,n.iD)("div",d,[p,(0,n._)("div",g,[(0,n._)("input",{type:"color",value:T.cssColor,onChange:t[2]||(t[2]=e=>T.setLight({color:e.target.value}))},null,40,v)])])):(0,n.kq)("",!0),e.value.brightness?((0,n.wg)(),(0,n.iD)("div",b,[m,(0,n._)("div",f,[(0,n.Wm)(F,{range:[e.value.brightness_min,e.value.brightness_max],value:e.value.brightness,onInput:t[3]||(t[3]=e=>T.setLight({brightness:e.target.value}))},null,8,["range","value"])])])):(0,n.kq)("",!0),e.value.saturation?((0,n.wg)(),(0,n.iD)("div",y,[_,(0,n._)("div",x,[(0,n.Wm)(F,{range:[e.value.saturation_min,e.value.saturation_max],value:e.value.saturation,onInput:t[4]||(t[4]=e=>T.setLight({saturation:e.target.value}))},null,8,["range","value"])])])):(0,n.kq)("",!0),e.value.temperature?((0,n.wg)(),(0,n.iD)("div",w,[C,(0,n._)("div",k,[(0,n.Wm)(F,{range:[e.value.temperature_min,e.value.temperature_max],value:e.value.temperature,onInput:t[5]||(t[5]=e=>T.setLight({temperature:e.target.value}))},null,8,["range","value"])])])):(0,n.kq)("",!0)])):(0,n.kq)("",!0)])}var T=a(376),I=a(6),U=a(7909),F=a(3499),R=a(4212),D={name:"Light",components:{ToggleSwitch:I.Z,Slider:T.Z,EntityIcon:F["default"]},mixins:[U["default"]],data(){return{expanded:!1,colorConverter:null}},computed:{rgbColor(){return this.value.meta?.icon?.color?this.value.meta.icon.color:this.colorConverter&&(null!=this.value.hue||null!=this.value.x&&null!=this.value.y)?this.value.x&&this.value.y?this.colorConverter.xyToRgb(this.value.x,this.value.y,this.value.brightness):this.colorConverter.hslToRgb(this.value.hue,this.value.saturation,this.value.brightness):void 0},cssColor(){const e=this.rgbColor;return e?this.colorConverter.rgbToHex(e):null},icon(){const e={...this.value.meta?.icon||{}};return!e.color&&this.cssColor&&(e.color=this.cssColor),e}},methods:{prevent(e){return e.stopPropagation(),!1},async toggle(e){e.stopPropagation(),this.$emit("loading",!0);try{await this.request("entities.execute",{id:this.value.id,action:"toggle"})}finally{this.$emit("loading",!1)}},async setLight(e){if(e.color){const t=this.colorConverter.hexToRgb(e.color);null!=this.value.x&&null!=this.value.y?(e.xy=this.colorConverter.rgbToXY(...t),delete e.color):null!=this.value.hue&&([e.hue,e.saturation,e.brightness]=this.colorConverter.rgbToHsl(...t),delete e.color)}this.execute({type:"request",action:this.value.plugin+".set_lights",args:{lights:[this.value.external_id],...e}})}},mounted(){const e={};this.value.hue&&(e.hue=[this.value.hue_min,this.value.hue_max]),this.value.saturation&&(e.sat=[this.value.saturation_min,this.value.saturation_max]),this.value.brightness&&(e.bri=[this.value.brightness_min,this.value.brightness_max]),this.value.temperature&&(e.ct=[this.value.temperature_min,this.value.temperature_max]),this.colorConverter=new R.N(e)}},N=a(3744);const B=(0,N.Z)(D,[["render",M],["__scopeId","data-v-18a5dc7b"]]);var $=B},3540:function(e,t,a){e.exports=a.p+"static/img/spinner.c0bee445.gif"}}]);
//# sourceMappingURL=1155.1d3f7c87.js.map