platypush/platypush/backend/http/webapp/dist/static/js/1155.96c16dad.js

2 lines
12 KiB
JavaScript

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[1155,3673],{4212:function(e,t,a){a.d(t,{N:function(){return s}});class s{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 s=t*Math.min(a,1-a)/100,n=t=>{const n=(t+e/30)%12,l=a-s*Math.max(Math.min(n-3,9-n,1),-1);return Math.round(255*l)};return[n(0),n(8),n(4)]}rgbToHsl(e,t,a){e/=255,t/=255,a/=255;const s=Math.max(e,t,a),n=Math.min(e,t,a);let l,i,r=(s+n)/2;if(s===n)l=i=0;else{const o=s-n;switch(i=r>.5?o/(2-s-n):o/(s+n),s){case e:l=(t-a)/o+(t<a?6:0);break;case t:l=(a-e)/o+2;break;case a:l=(e-t)/o+4;break}l/=6}return[parseInt(this.normalize(l,[0,1],this.ranges.hue)),parseInt(this.normalize(i,[0,1],this.ranges.sat)),parseInt(this.normalize(r,[0,1],this.ranges.bri))]}xyToRgb(e,t,a){null==a&&(a=this.ranges.bri[1]);const s=1-e-t,n=(a/(this.ranges.bri[1]-1)).toFixed(2),l=n/t*e,i=n/t*s;let r=1.656492*l-.354851*n-.255038*i,o=.707196*-l+1.655397*n+.036152*i,u=.051713*l-.121364*n+1.01153*i;return r>u&&r>o&&r>1?(o/=r,u/=r,r=1):o>u&&o>r&&o>1?(r/=o,u/=o,o=1):u>r&&u>o&&u>1&&(r/=u,o/=u,u=1),r=r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055,o=o<=.0031308?12.92*o:1.055*Math.pow(o,1/2.4)-.055,u=u<=.0031308?12.92*u:1.055*Math.pow(u,1/2.4)-.055,r=Math.round(255*r),o=Math.round(255*o),u=Math.round(255*u),isNaN(r)&&(r=0),isNaN(o)&&(o=0),isNaN(u)&&(u=0),[r,o,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 s=.664511*e+.154324*t+.162028*a,n=.283881*e+.668433*t+.047685*a,l=88e-6*e+.07231*t+.986039*a;let i=parseFloat((s/(s+n+l)).toFixed(4)),r=parseFloat((n/(s+n+l)).toFixed(4));return isNaN(i)&&(i=0),isNaN(r)&&(r=0),[i,r]}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("")}}},6237:function(e,t,a){a.d(t,{Z:function(){return v}});var s=a(6252),n=a(3577),l=a(9963);const i={class:"slider-wrapper"},r=["min","max","step","disabled","value"],o={class:"track-inner",ref:"track"},u={class:"thumb",ref:"thumb"},c=["textContent"];function h(e,t,a,h,d,g){return(0,s.wg)(),(0,s.iD)("label",i,[(0,s._)("input",{class:(0,n.C_)(["slider",{"with-label":a.withLabel}]),type:"range",min:a.range[0],max:a.range[1],step:a.step,disabled:a.disabled,value:a.value,ref:"range",onInput:t[0]||(t[0]=(0,l.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onChange:t[1]||(t[1]=(0,l.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"]))},null,42,r),(0,s._)("div",{class:(0,n.C_)(["track",{"with-label":a.withLabel}])},[(0,s._)("div",o,null,512)],2),(0,s._)("div",u,null,512),a.withLabel?((0,s.wg)(),(0,s.iD)("span",{key:0,class:"label",textContent:(0,n.zw)(a.value),ref:"label"},null,8,c)):(0,s.kq)("",!0)])}var d={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=this.$refs.range.clientWidth,a=(e-this.range[0])/(this.range[1]-this.range[0]),s=a*t,n=this.$refs.thumb;n.style.left=s-n.clientWidth/2+"px",this.$refs.thumb.style.transform=`translate(-${a}%, -50%)`,this.$refs.track.style.width=`${s}px`}},mounted(){null!=this.value&&this.update(this.value)}},g=a(3744);const p=(0,g.Z)(d,[["render",h],["__scopeId","data-v-15d8c6c5"]]);var v=p},6:function(e,t,a){a.d(t,{Z:function(){return p}});var s=a(6252),n=a(3577),l=a(9963);const i=e=>((0,s.dD)("data-v-a6396ae8"),e=e(),(0,s.Cn)(),e),r=["checked"],o=i((()=>(0,s._)("div",{class:"switch"},[(0,s._)("div",{class:"dot"})],-1))),u={class:"label"};function c(e,t,a,i,c,h){return(0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)(["power-switch",{disabled:a.disabled}]),onClick:t[0]||(t[0]=(0,l.iM)(((...e)=>h.onInput&&h.onInput(...e)),["stop"]))},[(0,s._)("input",{type:"checkbox",checked:a.value},null,8,r),(0,s._)("label",null,[o,(0,s._)("span",u,[(0,s.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 g=(0,d.Z)(h,[["render",c],["__scopeId","data-v-a6396ae8"]]);var p=g},3673:function(e,t,a){a.r(t),a.d(t,{default:function(){return g}});var s=a(6252),n=a(3577),l=a(3540);const i={key:0,src:l,class:"loading"},r={key:1,class:"fas fa-circle-exclamation error"};function o(e,t,a,l,o,u){const c=(0,s.up)("Icon");return(0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)(["entity-icon-container",{"with-color-fill":!!u.colorFill}]),style:(0,n.j5)(u.colorFillStyle)},[a.loading?((0,s.wg)(),(0,s.iD)("img",i)):a.error?((0,s.wg)(),(0,s.iD)("i",r)):((0,s.wg)(),(0,s.j4)(c,(0,n.vs)((0,s.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&&!this.error?{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",o],["__scopeId","data-v-e4043550"]]);var g=d},1155:function(e,t,a){a.r(t),a.d(t,{default:function(){return L}});var s=a(6252),n=a(3577),l=a(9963);const i=e=>((0,s.dD)("data-v-18a5dc7b"),e=e(),(0,s.Cn)(),e),r={class:"entity light-container"},o={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"},g=i((()=>(0,s._)("div",{class:"icon"},[(0,s._)("i",{class:"fas fa-palette"})],-1))),p={class:"input"},v=["value"],b={key:1,class:"row"},m=i((()=>(0,s._)("div",{class:"icon"},[(0,s._)("i",{class:"fas fa-sun"})],-1))),f={class:"input"},y={key:2,class:"row"},_=i((()=>(0,s._)("div",{class:"icon"},[(0,s._)("i",{class:"fas fa-droplet"})],-1))),x={class:"input"},w={key:3,class:"row"},C=i((()=>(0,s._)("div",{class:"icon"},[(0,s._)("i",{class:"fas fa-temperature-half"})],-1))),k={class:"input"};function I(e,t,a,i,I,T){const M=(0,s.up)("EntityIcon"),F=(0,s.up)("ToggleSwitch"),R=(0,s.up)("Slider");return(0,s.wg)(),(0,s.iD)("div",r,[(0,s._)("div",{class:(0,n.C_)(["head",{expanded:I.expanded}])},[(0,s._)("div",o,[(0,s.Wm)(M,{icon:T.icon,hasColorFill:!0,loading:e.loading,error:e.error},null,8,["icon","loading","error"])]),(0,s._)("div",u,[(0,s._)("div",{class:"name",textContent:(0,n.zw)(e.value.name)},null,8,c)]),(0,s._)("div",h,[(0,s.Wm)(F,{value:e.value.on,onInput:T.toggle,onClick:t[0]||(t[0]=(0,l.iM)((()=>{}),["stop"])),disabled:e.loading||e.value.is_read_only},null,8,["value","onInput","disabled"]),(0,s._)("button",{onClick:t[1]||(t[1]=(0,l.iM)((e=>I.expanded=!I.expanded),["stop"]))},[(0,s._)("i",{class:(0,n.C_)(["fas",{"fa-angle-up":I.expanded,"fa-angle-down":!I.expanded}])},null,2)])])],2),I.expanded?((0,s.wg)(),(0,s.iD)("div",{key:0,class:"body",onClick:t[6]||(t[6]=(0,l.iM)(((...e)=>T.prevent&&T.prevent(...e)),["stop"]))},[T.cssColor?((0,s.wg)(),(0,s.iD)("div",d,[g,(0,s._)("div",p,[(0,s._)("input",{type:"color",value:T.cssColor,onChange:t[2]||(t[2]=e=>T.setLight({color:e.target.value}))},null,40,v)])])):(0,s.kq)("",!0),e.value.brightness?((0,s.wg)(),(0,s.iD)("div",b,[m,(0,s._)("div",f,[(0,s.Wm)(R,{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,s.kq)("",!0),e.value.saturation?((0,s.wg)(),(0,s.iD)("div",y,[_,(0,s._)("div",x,[(0,s.Wm)(R,{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,s.kq)("",!0),e.value.temperature?((0,s.wg)(),(0,s.iD)("div",w,[C,(0,s._)("div",k,[(0,s.Wm)(R,{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,s.kq)("",!0)])):(0,s.kq)("",!0)])}var T=a(6237),M=a(6),F=a(7909),R=a(3673),D=a(4212),N={name:"Light",components:{ToggleSwitch:M.Z,Slider:T.Z,EntityIcon:R["default"]},mixins:[F["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 D.N(e)}},B=a(3744);const $=(0,B.Z)(N,[["render",I],["__scopeId","data-v-18a5dc7b"]]);var L=$},3540:function(e,t,a){e.exports=a.p+"static/img/spinner.c0bee445.gif"}}]);
//# sourceMappingURL=1155.96c16dad.js.map