UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

2 lines (1 loc) 34.8 kB
import{a2 as W,bl as de,dE as ve,cF as me,bE as ue,bj as V,cY as ae,cK as H,cG as ol,cW as Ve,dh as il,a6 as Y,U as r,n as z,a1 as U,dF as sl,dG as xe,dH as pe,dI as Xe,dJ as fe,dK as ye,dL as rl,dM as dl,b as f,h as te,ac as cl,ad as ml,cl as vl,cj as hl,dN as Be,cD as ke,bq as G,cH as fl,cp as Vl,a8 as bl,a4 as ge,cg as Fe,cc as Ye,cn as yl,dO as kl,v as be,x as gl,dP as wl,cI as Cl,co as Sl,ch as _e,dQ as xl,de as pl,a5 as Pe,dg as _l,dk as Le,dR as Pl,an as Je,$ as re,d4 as Nl,dS as Rl,dT as Oe,dU as Qe,dV as Me,cX as Tl,dW as Ml,i as Ne,dX as El,dY as zl,dZ as Bl,y as Ie,bF as Fl,d_ as Ll,cv as Ol,_ as Il,aE as De,aF as He,u as Ae,o as g,c as X,w as p,k as Z,t as q,l as B,q as $,bi as Ue,ao as je,T as Dl,W as ce,Q as Ge,ab as Hl,N as Al,O as Ul,P as jl,g as Gl,bB as ql,af as Wl}from"./index-B9yS4Bcc.js";import{c as Kl}from"./colors-DoZdCu1D.js";const Xl=W({color:{type:Object},disabled:Boolean,dotSize:{type:[Number,String],default:10},height:{type:[Number,String],default:150},width:{type:[Number,String],default:300},...de()},"VColorPickerCanvas"),Yl=ve({name:"VColorPickerCanvas",props:Xl(),emits:{"update:color":e=>!0,"update:position":e=>!0},setup(e,l){let{emit:t}=l;const i=me(!1),o=ue(),a=me(parseFloat(e.width)),u=me(parseFloat(e.height)),s=ue({x:0,y:0}),n=V({get:()=>s.value,set(c){var k,T;if(!o.value)return;const{x:v,y:w}=c;s.value=c,t("update:color",{h:((k=e.color)==null?void 0:k.h)??0,s:ae(v,0,a.value)/a.value,v:1-ae(w,0,u.value)/u.value,a:((T=e.color)==null?void 0:T.a)??1})}}),b=V(()=>{const{x:c,y:v}=n.value,w=parseInt(e.dotSize,10)/2;return{width:H(e.dotSize),height:H(e.dotSize),transform:`translate(${H(c-w)}, ${H(v-w)})`}}),{resizeRef:m}=ol(c=>{var k;if(!((k=m.el)!=null&&k.offsetParent))return;const{width:v,height:w}=c[0].contentRect;a.value=v,u.value=w});function y(c,v,w){const{left:k,top:T,width:O,height:A}=w;n.value={x:ae(c-k,0,O),y:ae(v-T,0,A)}}function _(c){c.type==="mousedown"&&c.preventDefault(),!e.disabled&&(S(c),window.addEventListener("mousemove",S),window.addEventListener("mouseup",F),window.addEventListener("touchmove",S),window.addEventListener("touchend",F))}function S(c){if(e.disabled||!o.value)return;i.value=!0;const v=sl(c);y(v.clientX,v.clientY,o.value.getBoundingClientRect())}function F(){window.removeEventListener("mousemove",S),window.removeEventListener("mouseup",F),window.removeEventListener("touchmove",S),window.removeEventListener("touchend",F)}function L(){var T;if(!o.value)return;const c=o.value,v=c.getContext("2d");if(!v)return;const w=v.createLinearGradient(0,0,c.width,0);w.addColorStop(0,"hsla(0, 0%, 100%, 1)"),w.addColorStop(1,`hsla(${((T=e.color)==null?void 0:T.h)??0}, 100%, 50%, 1)`),v.fillStyle=w,v.fillRect(0,0,c.width,c.height);const k=v.createLinearGradient(0,0,0,c.height);k.addColorStop(0,"hsla(0, 0%, 0%, 0)"),k.addColorStop(1,"hsla(0, 0%, 0%, 1)"),v.fillStyle=k,v.fillRect(0,0,c.width,c.height)}return Ve(()=>{var c;return(c=e.color)==null?void 0:c.h},L,{immediate:!0}),Ve(()=>[a.value,u.value],(c,v)=>{L(),s.value={x:n.value.x*c[0]/v[0],y:n.value.y*c[1]/v[1]}},{flush:"post"}),Ve(()=>e.color,()=>{if(i.value){i.value=!1;return}s.value=e.color?{x:e.color.s*a.value,y:(1-e.color.v)*u.value}:{x:0,y:0}},{deep:!0,immediate:!0}),il(()=>L()),Y(()=>r("div",{ref:m,class:z(["v-color-picker-canvas",e.class]),style:U(e.style),onMousedown:_,onTouchstartPassive:_},[r("canvas",{ref:o,width:a.value,height:u.value},null),e.color&&r("div",{class:z(["v-color-picker-canvas__dot",{"v-color-picker-canvas__dot--disabled":e.disabled}]),style:U(b.value)},null)])),{}}});function Jl(e,l){if(l){const{a:t,...i}=e;return i}return e}function Ql(e,l){if(l==null||typeof l=="string"){const t=e.a!==1;if(l!=null&&l.startsWith("rgb(")){const{r:o,g:a,b:u,a:s}=xe(e);return`rgb(${o} ${a} ${u}`+(t?` / ${s})`:")")}else if(l!=null&&l.startsWith("hsl(")){const{h:o,s:a,l:u,a:s}=pe(e);return`hsl(${o} ${Math.round(a*100)} ${Math.round(u*100)}`+(t?` / ${s})`:")")}const i=Xe(e);return e.a===1?i.slice(0,7):i}if(typeof l=="object"){let t;return fe(l,["r","g","b"])?t=xe(e):fe(l,["h","s","l"])?t=pe(e):fe(l,["h","s","v"])&&(t=e),Jl(t,!fe(l,["a"])&&e.a===1)}return e}const se={h:0,s:0,v:0,a:1},Re={inputProps:{type:"number",min:0},inputs:[{label:"R",max:255,step:1,getValue:e=>Math.round(e.r),getColor:(e,l)=>({...e,r:Number(l)})},{label:"G",max:255,step:1,getValue:e=>Math.round(e.g),getColor:(e,l)=>({...e,g:Number(l)})},{label:"B",max:255,step:1,getValue:e=>Math.round(e.b),getColor:(e,l)=>({...e,b:Number(l)})},{label:"A",max:1,step:.01,getValue:e=>{let{a:l}=e;return l!=null?Math.round(l*100)/100:1},getColor:(e,l)=>({...e,a:Number(l)})}],to:xe,from:ye};var Ke;const Zl={...Re,inputs:(Ke=Re.inputs)==null?void 0:Ke.slice(0,3)},Te={inputProps:{type:"number",min:0},inputs:[{label:"H",max:360,step:1,getValue:e=>Math.round(e.h),getColor:(e,l)=>({...e,h:Number(l)})},{label:"S",max:1,step:.01,getValue:e=>Math.round(e.s*100)/100,getColor:(e,l)=>({...e,s:Number(l)})},{label:"L",max:1,step:.01,getValue:e=>Math.round(e.l*100)/100,getColor:(e,l)=>({...e,l:Number(l)})},{label:"A",max:1,step:.01,getValue:e=>{let{a:l}=e;return l!=null?Math.round(l*100)/100:1},getColor:(e,l)=>({...e,a:Number(l)})}],to:pe,from:rl},$l={...Te,inputs:Te.inputs.slice(0,3)},Ze={inputProps:{type:"text"},inputs:[{label:"HEXA",getValue:e=>e,getColor:(e,l)=>l}],to:Xe,from:dl},et={...Ze,inputs:[{label:"HEX",getValue:e=>e.slice(0,7),getColor:(e,l)=>l}]},ne={rgb:Zl,rgba:Re,hsl:$l,hsla:Te,hex:et,hexa:Ze},lt=e=>{let{label:l,...t}=e;return r("div",{class:"v-color-picker-edit__input"},[r("input",cl(ml(t)),null),r("span",null,[l])])},tt=W({color:Object,disabled:Boolean,mode:{type:String,default:"rgba",validator:e=>Object.keys(ne).includes(e)},modes:{type:Array,default:()=>Object.keys(ne),validator:e=>Array.isArray(e)&&e.every(l=>Object.keys(ne).includes(l))},...de()},"VColorPickerEdit"),at=ve({name:"VColorPickerEdit",props:tt(),emits:{"update:color":e=>!0,"update:mode":e=>!0},setup(e,l){let{emit:t}=l;const i=V(()=>e.modes.map(a=>({...ne[a],name:a}))),o=V(()=>{var s;const a=i.value.find(n=>n.name===e.mode);if(!a)return[];const u=e.color?a.to(e.color):null;return(s=a.inputs)==null?void 0:s.map(n=>{let{getValue:b,getColor:m,...y}=n;return{...a.inputProps,...y,disabled:e.disabled,value:u&&b(u),onChange:_=>{const S=_.target;S&&t("update:color",a.from(m(u??a.to(se),S.value)))}}})});return Y(()=>{var a;return r("div",{class:z(["v-color-picker-edit",e.class]),style:U(e.style)},[(a=o.value)==null?void 0:a.map(u=>f(lt,u,null)),i.value.length>1&&f(te,{icon:"$unfold",size:"x-small",variant:"plain",onClick:()=>{const u=i.value.findIndex(s=>s.name===e.mode);t("update:mode",i.value[(u+1)%i.value.length].name)}},null)])}),{}}}),Ee=Symbol.for("vuetify:v-slider");function nt(e,l,t){const i=t==="vertical",o=l.getBoundingClientRect(),a="touches"in e?e.touches[0]:e;return i?a.clientY-(o.top+o.height/2):a.clientX-(o.left+o.width/2)}function ut(e,l){return"touches"in e&&e.touches.length?e.touches[0][l]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][l]:e[l]}const ot=W({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,...vl(),...hl({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),it=e=>{const l=V(()=>parseFloat(e.min)),t=V(()=>parseFloat(e.max)),i=V(()=>Number(e.step)>0?parseFloat(e.step):0),o=V(()=>Math.max(Be(i.value),Be(l.value)));function a(u){if(u=parseFloat(u),i.value<=0)return u;const s=ae(u,l.value,t.value),n=l.value%i.value;let b=Math.round((s-n)/i.value)*i.value+n;return s>b&&b+i.value>t.value&&(b=t.value),parseFloat(Math.min(b,t.value).toFixed(o.value))}return{min:l,max:t,step:i,decimals:o,roundValue:a}},st=e=>{let{props:l,steps:t,onSliderStart:i,onSliderMove:o,onSliderEnd:a,getActiveThumb:u}=e;const{isRtl:s}=ke(),n=G(()=>l.reverse),b=V(()=>l.direction==="vertical"),m=V(()=>b.value!==n.value),{min:y,max:_,step:S,decimals:F,roundValue:L}=t,c=V(()=>parseInt(l.thumbSize,10)),v=V(()=>parseInt(l.tickSize,10)),w=V(()=>parseInt(l.trackSize,10)),k=V(()=>(_.value-y.value)/S.value),T=G(()=>l.disabled),O=V(()=>l.error||l.disabled?void 0:l.thumbColor??l.color),A=V(()=>l.error||l.disabled?void 0:l.trackColor??l.color),x=V(()=>l.error||l.disabled?void 0:l.trackFillColor??l.color),M=me(!1),P=me(0),I=ue(),E=ue();function C(d){var ze;const h=(ze=I.value)==null?void 0:ze.$el;if(!h)return;const j=l.direction==="vertical",el=j?"top":"left",ll=j?"height":"width",tl=j?"clientY":"clientX",{[el]:al,[ll]:nl}=h.getBoundingClientRect(),ul=ut(d,tl);let Se=ae((ul-al-P.value)/nl)||0;return(j?m.value:m.value!==s.value)&&(Se=1-Se),L(y.value+Se*(_.value-y.value))}const ee=d=>{const h=C(d);h!=null&&a({value:h}),M.value=!1,P.value=0},K=d=>{const h=C(d);E.value=u(d),E.value&&(M.value=!0,E.value.contains(d.target)?P.value=nt(d,E.value,l.direction):(P.value=0,h!=null&&o({value:h})),h!=null&&i({value:h}),bl(()=>{var j;return(j=E.value)==null?void 0:j.focus()}))},D={passive:!0,capture:!0};function J(d){const h=C(d);h!=null&&o({value:h})}function Q(d){d.stopPropagation(),d.preventDefault(),ee(d),window.removeEventListener("mousemove",J,D),window.removeEventListener("mouseup",Q)}function he(d){var h;ee(d),window.removeEventListener("touchmove",J,D),(h=d.target)==null||h.removeEventListener("touchend",he)}function we(d){var h;K(d),window.addEventListener("touchmove",J,D),(h=d.target)==null||h.addEventListener("touchend",he,{passive:!1})}function Ce(d){d.button===0&&(d.preventDefault(),K(d),window.addEventListener("mousemove",J,D),window.addEventListener("mouseup",Q,{passive:!1}))}const oe=d=>{const h=(d-y.value)/(_.value-y.value)*100;return ae(isNaN(h)?0:h,0,100)},R=G(()=>l.showTicks),N=V(()=>R.value?l.ticks?Array.isArray(l.ticks)?l.ticks.map(d=>({value:d,position:oe(d),label:d.toString()})):Object.keys(l.ticks).map(d=>({value:parseFloat(d),position:oe(parseFloat(d)),label:l.ticks[d]})):k.value!==1/0?fl(k.value+1).map(d=>{const h=y.value+d*S.value;return{value:h,position:oe(h)}}):[]:[]),ie=V(()=>N.value.some(d=>{let{label:h}=d;return!!h})),le={activeThumbRef:E,color:G(()=>l.color),decimals:F,disabled:T,direction:G(()=>l.direction),elevation:G(()=>l.elevation),hasLabels:ie,isReversed:n,indexFromEnd:m,min:y,max:_,mousePressed:M,numTicks:k,onSliderMousedown:Ce,onSliderTouchstart:we,parsedTicks:N,parseMouseMove:C,position:oe,readonly:G(()=>l.readonly),rounded:G(()=>l.rounded),roundValue:L,showTicks:R,startOffset:P,step:S,thumbSize:c,thumbColor:O,thumbLabel:G(()=>l.thumbLabel),ticks:G(()=>l.ticks),tickSize:v,trackColor:A,trackContainerRef:I,trackFillColor:x,trackSize:w,vertical:b};return Vl(Ee,le),le},rt=W({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},name:String,...de()},"VSliderThumb"),dt=ge()({name:"VSliderThumb",directives:{vRipple:Fe},props:rt(),emits:{"update:modelValue":e=>!0},setup(e,l){let{slots:t,emit:i}=l;const o=Ye(Ee),{isRtl:a,rtlClasses:u}=ke();if(!o)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{min:s,max:n,thumbColor:b,step:m,disabled:y,thumbSize:_,thumbLabel:S,direction:F,isReversed:L,vertical:c,readonly:v,elevation:w,mousePressed:k,decimals:T,indexFromEnd:O}=o,A=V(()=>y.value?void 0:w.value),{elevationClasses:x}=yl(A),{textColorClasses:M,textColorStyles:P}=kl(b),{pageup:I,pagedown:E,end:C,home:ee,left:K,right:D,down:J,up:Q}=Cl,he=[I,E,C,ee,K,D,J,Q],we=V(()=>m.value?[1,2,3]:[1,5,10]);function Ce(R,N){if(!he.includes(R.key))return;R.preventDefault();const ie=m.value||.1,le=(n.value-s.value)/ie;if([K,D,J,Q].includes(R.key)){const h=(c.value?[a.value?K:D,L.value?J:Q]:O.value!==a.value?[K,Q]:[D,Q]).includes(R.key)?1:-1,j=R.shiftKey?2:R.ctrlKey?1:0;h===-1&&N===n.value&&!j&&!Number.isInteger(le)?N=N-le%1*ie:N=N+h*ie*we.value[j]}else if(R.key===ee)N=s.value;else if(R.key===C)N=n.value;else{const d=R.key===E?1:-1;N=N-d*ie*(le>100?le/10:10)}return Math.max(e.min,Math.min(e.max,N))}function oe(R){const N=Ce(R,e.modelValue);N!=null&&i("update:modelValue",N)}return Y(()=>{const R=H(O.value?100-e.position:e.position,"%");return r("div",{class:z(["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&k.value},e.class,u.value]),style:U([{"--v-slider-thumb-position":R,"--v-slider-thumb-size":H(_.value)},e.style]),role:"slider",tabindex:y.value?-1:0,"aria-label":e.name,"aria-valuemin":s.value,"aria-valuemax":n.value,"aria-valuenow":e.modelValue,"aria-readonly":!!v.value,"aria-orientation":F.value,onKeydown:v.value?void 0:oe},[r("div",{class:z(["v-slider-thumb__surface",M.value,x.value]),style:{...P.value}},null),be(r("div",{class:z(["v-slider-thumb__ripple",M.value]),style:U(P.value)},null),[[Fe,e.ripple,null,{circle:!0,center:!0}]]),f(wl,{origin:"bottom center"},{default:()=>{var N;return[be(r("div",{class:"v-slider-thumb__label-container"},[r("div",{class:z(["v-slider-thumb__label",M.value])},[r("div",null,[((N=t["thumb-label"])==null?void 0:N.call(t,{modelValue:e.modelValue}))??e.modelValue.toFixed(m.value?T.value:1)])])]),[[gl,S.value&&e.focused||S.value==="always"]])]}})])}),{}}}),ct=W({start:{type:Number,required:!0},stop:{type:Number,required:!0},...de()},"VSliderTrack"),mt=ge()({name:"VSliderTrack",props:ct(),emits:{},setup(e,l){let{slots:t}=l;const i=Ye(Ee);if(!i)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:o,parsedTicks:a,rounded:u,showTicks:s,tickSize:n,trackColor:b,trackFillColor:m,trackSize:y,vertical:_,min:S,max:F,indexFromEnd:L}=i,{roundedClasses:c}=Sl(u),{backgroundColorClasses:v,backgroundColorStyles:w}=_e(m),{backgroundColorClasses:k,backgroundColorStyles:T}=_e(b),O=V(()=>`inset-${_.value?"block":"inline"}-${L.value?"end":"start"}`),A=V(()=>_.value?"height":"width"),x=V(()=>({[O.value]:"0%",[A.value]:"100%"})),M=V(()=>e.stop-e.start),P=V(()=>({[O.value]:H(e.start,"%"),[A.value]:H(M.value,"%")})),I=V(()=>s.value?(_.value?a.value.slice().reverse():a.value).map((C,ee)=>{var D;const K=C.value!==S.value&&C.value!==F.value?H(C.position,"%"):void 0;return r("div",{key:C.value,class:z(["v-slider-track__tick",{"v-slider-track__tick--filled":C.position>=e.start&&C.position<=e.stop,"v-slider-track__tick--first":C.value===S.value,"v-slider-track__tick--last":C.value===F.value}]),style:{[O.value]:K}},[(C.label||t["tick-label"])&&r("div",{class:"v-slider-track__tick-label"},[((D=t["tick-label"])==null?void 0:D.call(t,{tick:C,index:ee}))??C.label])])}):[]);return Y(()=>r("div",{class:z(["v-slider-track",c.value,e.class]),style:U([{"--v-slider-track-size":H(y.value),"--v-slider-tick-size":H(n.value)},e.style])},[r("div",{class:z(["v-slider-track__background",k.value,{"v-slider-track__background--opacity":!!o.value||!m.value}]),style:{...x.value,...T.value}},null),r("div",{class:z(["v-slider-track__fill",v.value]),style:{...P.value,...w.value}},null),s.value&&r("div",{class:z(["v-slider-track__ticks",{"v-slider-track__ticks--always-show":s.value==="always"}])},[I.value])])),{}}}),vt=W({...xl(),...ot(),...pl(),modelValue:{type:[Number,String],default:0}},"VSlider"),qe=ge()({name:"VSlider",props:vt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,l){let{slots:t,emit:i}=l;const o=ue(),a=ue(),{rtlClasses:u}=ke(),s=it(e),n=Pe(e,"modelValue",void 0,x=>s.roundValue(x??s.min.value)),{min:b,max:m,mousePressed:y,roundValue:_,onSliderMousedown:S,onSliderTouchstart:F,trackContainerRef:L,position:c,hasLabels:v,readonly:w}=st({props:e,steps:s,onSliderStart:()=>{i("start",n.value)},onSliderEnd:x=>{let{value:M}=x;const P=_(M);n.value=P,i("end",P)},onSliderMove:x=>{let{value:M}=x;return n.value=_(M)},getActiveThumb:()=>{var x;return(x=o.value)==null?void 0:x.$el}}),{isFocused:k,focus:T,blur:O}=_l(e),A=V(()=>c(n.value));return Y(()=>{const x=Le.filterProps(e),M=!!(e.label||t.label||t.prepend);return f(Le,re({ref:a,class:["v-slider",{"v-slider--has-labels":!!t["tick-label"]||v.value,"v-slider--focused":k.value,"v-slider--pressed":y.value,"v-slider--disabled":e.disabled},u.value,e.class],style:e.style},x,{focused:k.value}),{...t,prepend:M?P=>{var I,E;return r(Je,null,[((I=t.label)==null?void 0:I.call(t,P))??(e.label?f(Pl,{id:P.id.value,class:"v-slider__label",text:e.label},null):void 0),(E=t.prepend)==null?void 0:E.call(t,P)])}:void 0,default:P=>{let{id:I,messagesId:E}=P;return r("div",{class:"v-slider__container",onMousedown:w.value?void 0:S,onTouchstartPassive:w.value?void 0:F},[r("input",{id:I.value,name:e.name||I.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:n.value},null),f(mt,{ref:L,start:0,stop:A.value},{"tick-label":t["tick-label"]}),f(dt,{ref:o,"aria-describedby":E.value,focused:k.value,min:b.value,max:m.value,modelValue:n.value,"onUpdate:modelValue":C=>n.value=C,position:A.value,elevation:e.elevation,onFocus:T,onBlur:O,ripple:e.ripple,name:e.name},{"thumb-label":t["thumb-label"]})])}})}),Nl({focus:()=>{var x;return(x=o.value)==null?void 0:x.$el.focus()}},a)}}),ht=W({color:{type:Object},disabled:Boolean,hideAlpha:Boolean,...de()},"VColorPickerPreview"),ft=ve({name:"VColorPickerPreview",props:ht(),emits:{"update:color":e=>!0},setup(e,l){let{emit:t}=l;const i=new AbortController;Rl(()=>i.abort());async function o(){if(!Oe||e.disabled)return;const a=new window.EyeDropper;try{const u=await a.open({signal:i.signal}),s=ye(Me(u.sRGBHex));t("update:color",{...e.color??se,...s})}catch{}}return Y(()=>{var a,u;return r("div",{class:z(["v-color-picker-preview",{"v-color-picker-preview--hide-alpha":e.hideAlpha},e.class]),style:U(e.style)},[Oe&&r("div",{class:"v-color-picker-preview__eye-dropper",key:"eyeDropper"},[f(te,{density:"comfortable",disabled:e.disabled,icon:"$eyeDropper",variant:"plain",onClick:o},null)]),r("div",{class:"v-color-picker-preview__dot"},[r("div",{style:{background:Qe(e.color??se)}},null)]),r("div",{class:"v-color-picker-preview__sliders"},[f(qe,{class:"v-color-picker-preview__track v-color-picker-preview__hue",modelValue:(a=e.color)==null?void 0:a.h,"onUpdate:modelValue":s=>t("update:color",{...e.color??se,h:s}),step:0,min:0,max:360,disabled:e.disabled,thumbSize:14,trackSize:8,trackFillColor:"white",hideDetails:!0},null),!e.hideAlpha&&f(qe,{class:"v-color-picker-preview__track v-color-picker-preview__alpha",modelValue:((u=e.color)==null?void 0:u.a)??1,"onUpdate:modelValue":s=>t("update:color",{...e.color??se,a:s}),step:1/256,min:0,max:1,disabled:e.disabled,thumbSize:14,trackSize:8,trackFillColor:"white",hideDetails:!0},null)])])}),{}}}),Vt=W({swatches:{type:Array,default:()=>bt(Kl)},disabled:Boolean,color:Object,maxHeight:[Number,String],...de()},"VColorPickerSwatches");function bt(e){return Object.keys(e).map(l=>{const t=e[l];return t.base?[t.base,t.darken4,t.darken3,t.darken2,t.darken1,t.lighten1,t.lighten2,t.lighten3,t.lighten4,t.lighten5]:[t.black,t.white,t.transparent]})}const yt=ve({name:"VColorPickerSwatches",props:Vt(),emits:{"update:color":e=>!0},setup(e,l){let{emit:t}=l;return Y(()=>r("div",{class:z(["v-color-picker-swatches",e.class]),style:U([{maxHeight:H(e.maxHeight)},e.style])},[r("div",null,[e.swatches.map(i=>r("div",{class:"v-color-picker-swatches__swatch"},[i.map(o=>{const a=Me(o),u=ye(a),s=El(a);return r("div",{class:"v-color-picker-swatches__color",onClick:()=>u&&t("update:color",u)},[r("div",{style:{background:s}},[e.color&&Tl(e.color,u)?f(Ne,{size:"x-small",icon:"$success",color:Ml(o,"#FFFFFF")>2?"white":"black"},null):void 0])])})]))])])),{}}}),kt=zl("v-picker-title"),$e=W({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,...Bl()},"VPicker"),We=ge()({name:"VPicker",props:$e(),setup(e,l){let{slots:t}=l;const{backgroundColorClasses:i,backgroundColorStyles:o}=_e(()=>e.color);return Y(()=>{const a=Ie.filterProps(e),u=!!(e.title||t.title);return f(Ie,re(a,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!t.actions},e.class],style:e.style}),{default:()=>{var s;return[!e.hideHeader&&r("div",{key:"header",class:z([i.value]),style:U([o.value])},[u&&f(kt,{key:"picker-title"},{default:()=>{var n;return[((n=t.title)==null?void 0:n.call(t))??e.title]}}),t.header&&r("div",{class:"v-picker__header"},[t.header()])]),r("div",{class:"v-picker__body"},[(s=t.default)==null?void 0:s.call(t)]),t.actions&&f(Fl,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[r("div",{class:"v-picker__actions"},[t.actions()])]})]}})}),{}}}),gt=W({canvasHeight:{type:[String,Number],default:150},disabled:Boolean,dotSize:{type:[Number,String],default:10},hideCanvas:Boolean,hideSliders:Boolean,hideInputs:Boolean,mode:{type:String,default:"rgba",validator:e=>Object.keys(ne).includes(e)},modes:{type:Array,default:()=>Object.keys(ne),validator:e=>Array.isArray(e)&&e.every(l=>Object.keys(ne).includes(l))},showSwatches:Boolean,swatches:Array,swatchesMaxHeight:{type:[Number,String],default:150},modelValue:{type:[Object,String]},...$e({hideHeader:!0})},"VColorPicker"),wt=ve({name:"VColorPicker",props:gt(),emits:{"update:modelValue":e=>!0,"update:mode":e=>!0},setup(e,l){let{slots:t}=l;const i=Pe(e,"mode"),o=ue(null),a=Pe(e,"modelValue",void 0,m=>{if(m==null||m==="")return null;let y;try{y=ye(Me(m))}catch{return null}return y},m=>m?Ql(m,e.modelValue):null),u=V(()=>a.value?{...a.value,h:o.value??a.value.h}:null),{rtlClasses:s}=ke();let n=!0;Ve(a,m=>{if(!n){n=!0;return}m&&(o.value=m.h)},{immediate:!0});const b=m=>{n=!1,o.value=m.h,a.value=m};return Ll(()=>{e.modes.includes(i.value)||(i.value=e.modes[0])}),Ol({VSlider:{color:void 0,trackColor:void 0,trackFillColor:void 0}}),Y(()=>{const m=We.filterProps(e);return f(We,re(m,{class:["v-color-picker",s.value,e.class],style:[{"--v-color-picker-color-hsv":Qe({...u.value??se,a:1})},e.style]}),{...t,default:()=>r(Je,null,[!e.hideCanvas&&f(Yl,{key:"canvas",color:u.value,"onUpdate:color":b,disabled:e.disabled,dotSize:e.dotSize,width:e.width,height:e.canvasHeight},null),(!e.hideSliders||!e.hideInputs)&&r("div",{key:"controls",class:"v-color-picker__controls"},[!e.hideSliders&&f(ft,{key:"preview",color:u.value,"onUpdate:color":b,hideAlpha:!i.value.endsWith("a"),disabled:e.disabled},null),!e.hideInputs&&f(at,{key:"edit",modes:e.modes,mode:i.value,"onUpdate:mode":y=>i.value=y,color:u.value,"onUpdate:color":b,disabled:e.disabled},null)]),e.showSwatches&&f(yt,{key:"swatches",color:u.value,"onUpdate:color":b,maxHeight:e.swatchesMaxHeight,swatches:e.swatches,disabled:e.disabled},null)])})}),{}}}),Ct={props:{modelValue:{type:Object},disable_send:{type:Boolean},node:{type:Object}},data(){return{durations:["seconds","minutes"],showMenu:!1,error:null}},computed:{trueLabel(){var e,l;return this.modelValue.type==="boolean"&&((e=this.modelValue.states)==null?void 0:e.length)>0?(l=this.modelValue.states.find(t=>t.value===!0))==null?void 0:l.text:null},isDefault(){return this.modelValue.default!==void 0&&this.modelValue.default===this.modelValue.newValue},numberOutOfRange(){const e=this.modelValue.min??-1/0,l=this.modelValue.max??1/0;return this.modelValue.type==="number"&&(this.modelValue.newValue<e||this.modelValue.newValue>l)},falseLabel(){var e,l;return this.modelValue.type==="boolean"&&((e=this.modelValue.states)==null?void 0:e.length)>0?(l=this.modelValue.states.find(t=>t.value===!1))==null?void 0:l.text:null},selectedItem(){const e=this.modelValue.type==="number"?Number(this.modelValue.newValue):this.modelValue.newValue;return this.modelValue.states?this.modelValue.states.find(l=>l.value===e):null},canIdleNotification(){var e;return!this.modelValue||this.disable_send?!1:this.modelValue.commandClassName==="Notification"&&((e=this.modelValue.states)==null?void 0:e.find(l=>l.value===0))},canResetConfiguration(){return!this.modelValue||this.disable_send?!1:this.modelValue.writeable&&this.modelValue.commandClass===112&&this.modelValue.commandClassVersion>3},items(){return this.selectedItem?this.modelValue.states:[{value:this.modelValue.newValue,text:"Custom"},...this.modelValue.states]},label(){return"["+this.modelValue.id+"] "+this.modelValue.label},help(){return`${this.modelValue.description?`${this.modelValue.description} `:""}${this.modelValue.default!==void 0&&!this.modelValue.list?`(Default: ${this.modelValue.default}${this.modelValue.max!==void 0?`, max: ${this.modelValue.max}`:""}${this.modelValue.min!==void 0?`, min: ${this.modelValue.min}`:""})`:""}`},color:{get:function(){return"#"+(this.modelValue.newValue||"ffffff").toUpperCase()},set:function(e){this.modelValue.newValue=e?e.substr(1,7):null}},parsedValue:{get:function(){return typeof this.modelValue.newValue=="object"?JSON.stringify(this.modelValue.newValue):this.modelValue.states&&this.modelValue.newValue!==void 0?this.itemText(this.selectedItem||this.modelValue.newValue):this.modelValue===null?"(unknown)":this.modelValue===void 0?"(missing)":this.modelValue.newValue},set:function(e){try{this.modelValue.type==="any"?this.modelValue.newValue=JSON.parse(e):typeof e=="string"&&this.modelValue.type==="number"&&(this.modelValue.newValue=Number(e)),this.error=null}catch{this.error="Value not valid"}}},pickerStyle(){return this.modelValue.type!=="color"?null:{backgroundColor:this.color,cursor:"pointer",border:"1px solid "+(this.$vuetify.theme.current.dark?"white":"black"),height:"30px",width:"30px",borderRadius:this.showMenu?"50%":"4px",transition:"border-radius 200ms ease-in-out"}}},methods:{async resetConfig(){(await De.getInstance(He.APP).apiRequest("sendCommand",[{nodeId:this.node.id,commandClass:112},"reset",[this.modelValue.property]])).success&&Ae().showSnackbar("Configuration reset","success")},async idleNotification(){(await De.getInstance(He.APP).apiRequest("manuallyIdleNotificationValue",[this.modelValue],{infoSnack:!1,errorSnack:!0})).success&&Ae().showSnackbar("Notification manually idled","success")},itemText(e){return typeof e=="object"?`[${e.value}] ${e.text}${this.modelValue.default===e.value?" (Default)":""}`:e},updateValue(e,l){var t;l!==void 0&&(e.newValue=l),e.type==="boolean"&&((t=e.states)==null?void 0:t.length)===1&&(l=e.states[0].value,e.newValue=l),this.$emit("updateValue",e,l)}}},St={class:"valueid-slot"},xt={key:0},pt={class:"readonly mt-5"},_t={key:0,class:"text-caption mt-1 help"},Pt={key:1,class:"d-flex align-center"},Nt={key:3,style:{display:"flex"}},Rt={key:7},Tt={key:0},Mt={key:0},Et={key:0,class:"text-caption mt-2 help"},zt={class:"help"};function Bt(e,l,t,i,o,a){var u,s;return g(),X("div",St,[f(Dl,{class:"valueid-label"},{default:p(()=>[Z(q(a.label)+" ",1),a.canResetConfiguration?(g(),B(te,{key:0,class:"ml-2 mb-1",onClick:a.resetConfig,size:"x-small",variant:"outlined",color:"error"},{default:p(()=>l[20]||(l[20]=[Z("Reset")])),_:1,__:[20]},8,["onClick"])):$("",!0),a.isDefault?be((g(),B(Ue,{key:1,class:"ml-2 mb-1",size:"x-small",variant:"outlined",color:"primary"},{default:p(()=>l[21]||(l[21]=[Z("Default")])),_:1,__:[21]})),[[je,"This value is set to its default","bottom"]]):$("",!0)]),_:1}),t.modelValue.writeable?(g(),X("div",Pt,[!t.modelValue.list&&(t.modelValue.type==="string"||t.modelValue.type==="buffer")?(g(),B(ce,{key:0,"append-icon":t.disable_send?null:"send",suffix:t.modelValue.unit,"persistent-hint":"",hint:a.help,modelValue:t.modelValue.newValue,"onUpdate:modelValue":l[0]||(l[0]=n=>t.modelValue.newValue=n),"onClick:append":l[1]||(l[1]=n=>a.updateValue(t.modelValue))},null,8,["append-icon","suffix","hint","modelValue"])):!t.modelValue.list&&t.modelValue.type==="number"?(g(),B(ce,{key:1,type:"number","append-icon":!t.disable_send&&!a.numberOutOfRange?"send":null,suffix:t.modelValue.unit,min:t.modelValue.min!=t.modelValue.max?t.modelValue.min:null,step:t.modelValue.step||1,"persistent-hint":"",max:t.modelValue.min!=t.modelValue.max?t.modelValue.max:null,hint:a.help,error:a.numberOutOfRange,"error-messages":a.numberOutOfRange?`Value must be between ${t.modelValue.min} and ${t.modelValue.max}`:"",modelValue:t.modelValue.newValue,"onUpdate:modelValue":l[2]||(l[2]=n=>t.modelValue.newValue=n),modelModifiers:{number:!0},"onClick:append":l[3]||(l[3]=n=>!a.numberOutOfRange&&a.updateValue(t.modelValue))},null,8,["append-icon","suffix","min","step","max","hint","error","error-messages","modelValue"])):!t.modelValue.list&&t.modelValue.type==="any"?(g(),B(ce,{key:2,"append-icon":t.disable_send?null:"send",suffix:t.modelValue.unit,"persistent-hint":"",error:!!o.error,"error-messages":o.error,hint:a.help,modelValue:a.parsedValue,"onUpdate:modelValue":l[4]||(l[4]=n=>a.parsedValue=n),"onClick:append":l[5]||(l[5]=n=>a.updateValue(t.modelValue))},null,8,["append-icon","suffix","error","error-messages","hint","modelValue"])):t.modelValue.type==="duration"?(g(),X("div",Nt,[f(ce,{type:t.modelValue.type==="number"?"number":"text",min:t.modelValue.min!=t.modelValue.max?t.modelValue.min:null,step:t.modelValue.step||1,"persistent-hint":"",readonly:t.disable_send,max:t.modelValue.min!=t.modelValue.max?t.modelValue.max:null,hint:a.help,modelValue:t.modelValue.newValue.value,"onUpdate:modelValue":l[6]||(l[6]=n=>t.modelValue.newValue.value=n),modelModifiers:{number:!0}},null,8,["type","min","step","readonly","max","hint","modelValue"]),f(Ge,{style:{"margin-left":"10px","min-width":"105px",width:"135px"},items:o.durations,modelValue:t.modelValue.newValue.unit,"onUpdate:modelValue":l[7]||(l[7]=n=>t.modelValue.newValue.unit=n),readonly:t.disable_send,"persistent-hint":"","append-icon":t.disable_send?null:"send","onClick:append":l[8]||(l[8]=n=>a.updateValue(t.modelValue))},null,8,["items","modelValue","readonly","append-icon"])])):t.modelValue.type==="color"?(g(),B(ce,{key:4,style:{"max-width":"250px","margin-top":"10px"},flat:"",variant:"solo",modelValue:a.color,"onUpdate:modelValue":l[11]||(l[11]=n=>a.color=n),"persistent-hint":"","append-icon":t.disable_send?null:"send",hint:a.help,"onClick:append":l[12]||(l[12]=n=>a.updateValue(t.modelValue))},{append:p(()=>[f(Hl,{modelValue:o.showMenu,"onUpdate:modelValue":l[10]||(l[10]=n=>o.showMenu=n),location:"top",offset:[16,105],"close-on-content-click":!1},{activator:p(({props:n})=>[r("div",re({class:"ml-2",style:a.pickerStyle},n),null,16)]),default:p(()=>[f(Al,null,{default:p(()=>[f(Ul,{class:"pa-0"},{default:p(()=>[o.showMenu?(g(),B(wt,{key:0,modelValue:a.color,"onUpdate:modelValue":l[9]||(l[9]=n=>a.color=n)},null,8,["modelValue"])):$("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue","append-icon","hint"])):t.modelValue.list&&!t.modelValue.allowManualEntry&&t.modelValue.type!=="boolean"?(g(),B(Ge,{key:5,items:a.items,style:U({"max-width":e.$vuetify.display.smAndDown?"280px":e.$vuetify.display.sm?"400px":"auto"}),hint:a.help,"persistent-hint":"","return-object":!1,"item-title":a.itemText,"item-value":"value",suffix:t.modelValue.unit,"append-icon":t.disable_send?null:"send",modelValue:t.modelValue.newValue,"onUpdate:modelValue":l[13]||(l[13]=n=>t.modelValue.newValue=n),"onClick:append":l[14]||(l[14]=n=>a.updateValue(t.modelValue))},{selection:p(({item:n})=>[r("span",null,q(a.itemText(a.selectedItem||n)),1)]),_:1},8,["items","style","hint","item-title","suffix","append-icon","modelValue"])):t.modelValue.list&&t.modelValue.allowManualEntry&&t.modelValue.type!=="boolean"?(g(),B(jl,{key:6,items:a.items,style:U({"max-width":e.$vuetify.display.smAndDown?"280px":e.$vuetify.display.sm?"400px":"auto"}),hint:a.help,"persistent-hint":"",chips:"",suffix:t.modelValue.unit,"item-title":a.itemText,"item-value":"value",type:t.modelValue.type==="number"?"number":"text","return-object":!1,"append-icon":t.disable_send?null:"send",modelValue:t.modelValue.newValue,"onUpdate:modelValue":l[15]||(l[15]=n=>t.modelValue.newValue=n),ref:"myCombo","onClick:append":l[16]||(l[16]=n=>a.updateValue(t.modelValue))},{chip:p(({attrs:n,item:b,selected:m})=>[f(Ue,re(n,{"model-value":m}),{default:p(()=>[r("span",null,q(a.itemText(a.selectedItem||b)),1)]),_:2},1040,["model-value"])]),_:1},8,["items","style","hint","suffix","item-title","type","append-icon","modelValue"])):t.modelValue.type==="boolean"&&(t.modelValue.writeable&&t.modelValue.readable||t.modelValue.states&&t.modelValue.states.length===2)?(g(),X("div",Rt,[f(Gl,{class:"my-2",rounded:"xl"},{default:p(()=>[f(te,{variant:t.modelValue.newValue===!0?"flat":"outlined",modelValue:!0,color:"success",onClick:l[17]||(l[17]=n=>a.updateValue(t.modelValue,!0))},{default:p(()=>[a.trueLabel?(g(),X("span",Tt,q(a.trueLabel),1)):(g(),B(Ne,{key:1,size:"large",color:t.modelValue.newValue===!0&&!t.modelValue.list?"white":"success",style:{rotate:"90deg"}},{default:p(()=>l[23]||(l[23]=[Z(" horizontal_rule ")])),_:1,__:[23]},8,["color"]))]),_:1},8,["variant"]),f(te,{variant:t.modelValue.newValue===!1?"flat":"outlined",modelValue:!1,color:"error",onClick:l[18]||(l[18]=n=>a.updateValue(t.modelValue,!1))},{default:p(()=>[a.falseLabel?(g(),X("span",Mt,q(a.falseLabel),1)):(g(),B(Ne,{key:1,size:"large",color:t.modelValue.newValue===!1&&!t.modelValue.list?"white":"error"},{default:p(()=>l[24]||(l[24]=[Z("radio_button_unchecked")])),_:1,__:[24]},8,["color"]))]),_:1},8,["variant"])]),_:1}),a.help?(g(),X("div",Et,q(a.help),1)):$("",!0)])):t.modelValue.type==="boolean"&&!t.modelValue.readable?(g(),B(ql,{key:8,location:"right"},{activator:p(({props:n})=>[f(te,re({"max-width":"100%",size:"small",variant:"flat"},n,{color:"primary",onClick:l[19]||(l[19]=b=>a.updateValue(t.modelValue)),class:"mb-2 mt-2"}),{default:p(()=>[Z(q(a.trueLabel||a.falseLabel||t.modelValue.label),1)]),_:2},1040)]),default:p(()=>[r("span",zt,q("["+t.modelValue.id+"] "+a.help),1)]),_:1})):$("",!0),t.modelValue.toUpdate?be((g(),B(Wl,{key:9,indeterminate:"",class:"ml-2",size:"20",color:((u=t.node)==null?void 0:u.status)==="Asleep"?"warning":"primary"},null,8,["color"])),[[je,((s=t.node)==null?void 0:s.status)==="Asleep"?"Wake up your device in order to send commands":"Set value in progress...","bottom"]]):$("",!0)])):(g(),X("div",xt,[r("div",pt,[Z(q(a.parsedValue+(t.modelValue.unit?" "+t.modelValue.unit:""))+" ",1),a.canIdleNotification?(g(),B(te,{key:0,onClick:a.idleNotification,size:"small",color:"primary"},{default:p(()=>l[22]||(l[22]=[Z("Idle")])),_:1,__:[22]},8,["onClick"])):$("",!0)]),a.help?(g(),X("div",_t,q(a.help),1)):$("",!0)]))])}const Ot=Il(Ct,[["render",Bt],["__scopeId","data-v-7cd5e85e"]]);export{Ot as default};