iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 14.6 kB
JavaScript
/*! For license information please see 54937.d8f80e229b46127c.js.LICENSE.txt */
export const __rspack_esm_id=54937;export const __rspack_esm_ids=[54937];export const __webpack_modules__={97577(e,t,a){a.d(t,{A:()=>w});var i=a(5124),r=a(22441),o=a(6412),n=a(63672),s=a(34514),l=a(40991),c=a(92070),h=a(49546),d=a(9395),u=a(62676),p=a(15477),b=a(31896),v=(a(38625),i.AH`:host{--checked-icon-color:var(--wa-color-brand-on-loud);--checked-icon-scale:0.8;display:inline-flex;color:var(--wa-form-control-value-color);font-family:inherit;font-weight:var(--wa-form-control-value-font-weight);line-height:var(--wa-form-control-value-line-height);user-select:none;-webkit-user-select:none}[part~=control]{display:inline-flex;flex:0 0 auto;position:relative;align-items:center;justify-content:center;width:var(--wa-form-control-toggle-size);height:var(--wa-form-control-toggle-size);border-color:var(--wa-form-control-border-color);border-radius:min(calc(var(--wa-form-control-toggle-size) * .375),var(--wa-border-radius-s));border-style:var(--wa-border-style);border-width:var(--wa-form-control-border-width);background-color:var(--wa-form-control-background-color);transition:background var(--wa-transition-normal),border-color var(--wa-transition-fast),box-shadow var(--wa-transition-fast),color var(--wa-transition-fast);transition-timing-function:var(--wa-transition-easing);margin-inline-end:.5em}[part~=base]{display:flex;align-items:flex-start;position:relative;color:currentColor;vertical-align:middle;cursor:pointer}[part~=label]{display:inline}[part~=control]:has(:checked,:indeterminate){color:var(--checked-icon-color);border-color:var(--wa-form-control-activated-color);background-color:var(--wa-form-control-activated-color)}[part~=control]:has(> input:focus-visible:not(:disabled)){outline:var(--wa-focus-ring);outline-offset:var(--wa-focus-ring-offset)}:host [part~=base]:has(input:disabled){opacity:.5;cursor:not-allowed}input{position:absolute;padding:0;margin:0;height:100%;width:100%;opacity:0;pointer-events:none}[part~=icon]{display:flex;scale:var(--checked-icon-scale)}[part~=icon]::part(svg){translate:0.0009765625em}input:not(:checked,:indeterminate)+[part~=icon]{visibility:hidden}:host([required]) [part~=label]::after{content:var(--wa-form-control-required-content);color:var(--wa-form-control-required-content-color);margin-inline-start:var(--wa-form-control-required-content-offset)}`),k=Object.defineProperty,m=Object.getOwnPropertyDescriptor,g=(e,t,a,i)=>{for(var r,o=i>1?void 0:i?m(t,a):t,n=e.length-1;n>=0;n--)(r=e[n])&&(o=(i?r(t,a,o):r(o))||o);return i&&o&&k(t,a,o),o};let w=class extends u.q{static get validators(){const e=i.S$?[]:[(0,h.Y)({validationProperty:"checked",validationElement:Object.assign(document.createElement("input"),{type:"checkbox",required:!0})})];return[...super.validators,...e]}get value(){return this._value??"on"}set value(e){this._value=e}handleSizeChange(){(0,l.b)(this.localName,this.size)}get checked(){return this.valueHasChanged?Boolean(this._checked):this._checked??this.defaultChecked}set checked(e){this._checked=Boolean(e),this.valueHasChanged=!0}handleClick(){this.hasInteracted=!0,this.checked=!this.checked,this.indeterminate=!1,this.updateComplete.then(()=>{this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))})}connectedCallback(){super.connectedCallback(),this.handleDefaultCheckedChange()}handleDefaultCheckedChange(){this.handleValueOrCheckedChange()}handleValueOrCheckedChange(){this.setValue(this.checked?this.value:null,this._value),this.updateValidity()}handleStateChange(){this.hasUpdated&&(this.input.checked=this.checked,this.input.indeterminate=this.indeterminate),this.customStates.set("checked",this.checked),this.customStates.set("indeterminate",this.indeterminate),this.updateValidity()}handleDisabledChange(){this.customStates.set("disabled",this.disabled)}willUpdate(e){super.willUpdate(e),(e.has("value")||e.has("checked")||e.has("defaultChecked"))&&this.handleValueOrCheckedChange()}formResetCallback(){this._checked=null,super.formResetCallback(),this.handleValueOrCheckedChange()}click(){this.input.click()}focus(e){this.input.focus(e)}blur(){this.input.blur()}render(){const e=!!i.S$||this.hasSlotController.test("hint"),t=!!this.hint||!!e,a=!this.checked&&this.indeterminate,r=a?"indeterminate":"check",l=a?"indeterminate":"check";return i.qy` <label part="base"> <span part="control"> <input class="input" type="checkbox" title="${this.title}" name="${(0,n.J)(this.name)}" value="${(0,n.J)(this._value)}" .indeterminate="${(0,s.V)(this.indeterminate)}" .checked="${(0,s.V)(this.checked)}" .disabled="${this.disabled}" .required="${this.required}" aria-checked="${this.indeterminate?"mixed":this.checked?"true":"false"}" aria-describedby="hint" ="${this.handleClick}"> <wa-icon part="${l}-icon icon" library="system" name="${r}"></wa-icon> </span> <slot part="label"></slot> </label> <slot id="hint" part="hint" name="hint" aria-hidden="${t?"false":"true"}" class="${(0,o.H)({"has-slotted":t})}"> ${this.hint} </slot> `}constructor(){super(...arguments),this.hasSlotController=new c.X(this,"hint"),this.title="",this.name=null,this._value=this.getAttribute("value")??null,this.size="m",this.disabled=!1,this.indeterminate=!1,this._checked=null,this.defaultChecked=this.hasAttribute("checked"),this.required=!1,this.hint=""}};w.css=[p.A,b.A,v],w.shadowRootOptions={...u.q.shadowRootOptions,delegatesFocus:!0},g([(0,r.P)('input[type="checkbox"]')],w.prototype,"input",2),g([(0,r.MZ)()],w.prototype,"title",2),g([(0,r.MZ)({reflect:!0})],w.prototype,"name",2),g([(0,r.MZ)({reflect:!0})],w.prototype,"value",1),g([(0,r.MZ)({reflect:!0})],w.prototype,"size",2),g([(0,d.w)("size")],w.prototype,"handleSizeChange",1),g([(0,r.MZ)({type:Boolean})],w.prototype,"disabled",2),g([(0,r.MZ)({type:Boolean,reflect:!0})],w.prototype,"indeterminate",2),g([(0,r.MZ)({type:Boolean,attribute:!1})],w.prototype,"checked",1),g([(0,r.MZ)({type:Boolean,reflect:!0,attribute:"checked"})],w.prototype,"defaultChecked",2),g([(0,r.MZ)({type:Boolean,reflect:!0})],w.prototype,"required",2),g([(0,r.MZ)()],w.prototype,"hint",2),g([(0,d.w)(["checked","defaultChecked"])],w.prototype,"handleDefaultCheckedChange",1),g([(0,d.w)(["checked","indeterminate"])],w.prototype,"handleStateChange",1),g([(0,d.w)("disabled")],w.prototype,"handleDisabledChange",1),w=g([(0,r.EM)("wa-checkbox")],w),w.disableWarning?.("change-in-update")},68825(e,t,a){var i=a(22441),r=a(9395),o=a(717),n=a(5124).AH`:host{--color:var(--wa-color-surface-border);--width:var(--wa-border-width-s);--spacing:var(--wa-space-m)}:host(:not([orientation=vertical])){display:block;border-top:solid var(--width) var(--color);margin:var(--spacing) 0}:host([orientation=vertical]){display:inline-block;height:100%;border-inline-start:solid var(--width) var(--color);margin:0 var(--spacing);min-block-size:1lh}`,s=Object.defineProperty,l=Object.getOwnPropertyDescriptor,c=(e,t,a,i)=>{for(var r,o=i>1?void 0:i?l(t,a):t,n=e.length-1;n>=0;n--)(r=e[n])&&(o=(i?r(t,a,o):r(o))||o);return i&&o&&s(t,a,o),o};let h=class extends o.A{connectedCallback(){super.connectedCallback(),this.setAttribute("role","separator")}handleVerticalChange(){this.setAttribute("aria-orientation",this.orientation)}constructor(){super(...arguments),this.orientation="horizontal"}};h.css=n,c([(0,i.MZ)({reflect:!0})],h.prototype,"orientation",2),c([(0,r.w)("orientation")],h.prototype,"handleVerticalChange",1),h=c([(0,i.EM)("wa-divider")],h)},29344(e,t,a){a.a(e,async function(e,i){try{a.d(t,{A:()=>C});var r=a(5124),o=a(22441),n=a(6412),s=a(63672),l=a(34514),c=a(40991),h=a(92070),d=a(41268),u=a(9395),p=a(62676),b=a(15477),v=a(31896),k=a(17060),m=a(19978),g=e([k]);k=(g.then?(await g)():g)[0];var w=Object.defineProperty,f=Object.getOwnPropertyDescriptor,y=(e,t,a,i)=>{for(var r,o=i>1?void 0:i?f(t,a):t,n=e.length-1;n>=0;n--)(r=e[n])&&(o=(i?r(t,a,o):r(o))||o);return i&&o&&w(t,a,o),o};let C=class extends p.q{static get validators(){return[...super.validators,(0,d.i)()]}get value(){return this._value??"on"}set value(e){this._value=e}handleSizeChange(){(0,c.b)(this.localName,this.size)}get checked(){return this.valueHasChanged?Boolean(this._checked):this._checked??this.defaultChecked}set checked(e){this._checked=Boolean(e),this.valueHasChanged=!0}handleClick(){this.hasInteracted=!0,this.checked=!this.checked,this.updateComplete.then(()=>{this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))})}handleKeyDown(e){const t="rtl"===this.localize.dir();"ArrowLeft"===e.key&&(e.preventDefault(),this.checked=t,this.updateComplete.then(()=>{this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),this.dispatchEvent(new InputEvent("input",{bubbles:!0,composed:!0}))})),"ArrowRight"===e.key&&(e.preventDefault(),this.checked=!t,this.updateComplete.then(()=>{this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),this.dispatchEvent(new InputEvent("input",{bubbles:!0,composed:!0}))}))}willUpdate(e){super.willUpdate(e),(e.has("value")||e.has("checked")||e.has("defaultChecked"))&&this.handleValueOrCheckedChange()}handleValueOrCheckedChange(){this.setValue(this.checked?this.value:null,this._value),this.updateValidity()}handleStateChange(){this.hasUpdated&&(this.input.checked=this.checked),this.customStates.set("checked",this.checked),this.updateValidity()}handleDisabledChange(){this.updateValidity()}click(){this.input.click()}focus(e){this.input.focus(e)}blur(){this.input.blur()}setValue(e,t){this.checked?this.internals.setFormValue(e??"on",t):this.internals.setFormValue(null,null)}formResetCallback(){this._checked=null,super.formResetCallback(),this.handleValueOrCheckedChange()}render(){const e=this.hasUpdated?this.hasSlotController.test("hint"):this.withHint,t=!!this.hint||!!e;return r.qy` <label part="base" class="${(0,n.H)({checked:this.checked,disabled:this.disabled})}"> <input class="input" type="checkbox" title="${this.title}" name="${(0,s.J)(this.name)}" value="${(0,s.J)(this.value)}" .checked="${(0,l.V)(this.checked)}" .disabled="${this.disabled}" .required="${this.required}" role="switch" aria-checked="${this.checked?"true":"false"}" aria-describedby="hint" ="${this.handleClick}" ="${this.handleKeyDown}"> <span part="control" class="switch"> <span part="thumb" class="thumb"></span> </span> <slot part="label" class="label"></slot> </label> <slot id="hint" name="hint" part="hint" class="${(0,n.H)({"has-slotted":t})}" aria-hidden="${t?"false":"true"}">${this.hint}</slot> `}constructor(){super(...arguments),this.hasSlotController=new h.X(this,"hint"),this.localize=new k.c(this),this.title="",this.name=null,this._value=this.getAttribute("value")??null,this.size="m",this.disabled=!1,this._checked=null,this.defaultChecked=this.hasAttribute("checked"),this.required=!1,this.hint="",this.withHint=!1}};C.shadowRootOptions={...p.q.shadowRootOptions,delegatesFocus:!0},C.css=[b.A,v.A,m.A],y([(0,o.P)('input[type="checkbox"]')],C.prototype,"input",2),y([(0,o.MZ)()],C.prototype,"title",2),y([(0,o.MZ)({reflect:!0})],C.prototype,"name",2),y([(0,o.MZ)({reflect:!0})],C.prototype,"value",1),y([(0,o.MZ)({reflect:!0})],C.prototype,"size",2),y([(0,u.w)("size")],C.prototype,"handleSizeChange",1),y([(0,o.MZ)({type:Boolean})],C.prototype,"disabled",2),y([(0,o.MZ)({type:Boolean,attribute:!1})],C.prototype,"checked",1),y([(0,o.MZ)({type:Boolean,attribute:"checked",reflect:!0})],C.prototype,"defaultChecked",2),y([(0,o.MZ)({type:Boolean,reflect:!0})],C.prototype,"required",2),y([(0,o.MZ)({attribute:"hint"})],C.prototype,"hint",2),y([(0,o.MZ)({attribute:"with-hint",type:Boolean})],C.prototype,"withHint",2),y([(0,u.w)(["checked","defaultChecked"])],C.prototype,"handleStateChange",1),y([(0,u.w)("disabled",{waitUntilFirstUpdate:!0})],C.prototype,"handleDisabledChange",1),C=y([(0,o.EM)("wa-switch")],C),C.disableWarning?.("change-in-update"),i()}catch(e){i(e)}})},19978(e,t,a){a.d(t,{A:()=>i});var i=a(5124).AH`:host{--height:var(--wa-form-control-toggle-size);--width:calc(var(--height) * 1.75);--thumb-size:0.75em;display:inline-flex;line-height:var(--wa-form-control-value-line-height)}label{position:relative;display:flex;align-items:center;font:inherit;color:var(--wa-form-control-value-color);vertical-align:middle;cursor:pointer}.switch{flex:0 0 auto;position:relative;display:flex;align-items:center;justify-content:center;width:var(--width);height:var(--height);background-color:var(--wa-form-control-background-color);border-color:var(--wa-form-control-border-color);border-radius:var(--height);border-style:var(--wa-form-control-border-style);border-width:var(--wa-form-control-border-width);transition-property:translate,background,border-color,box-shadow;transition-duration:var(--wa-transition-normal);transition-timing-function:var(--wa-transition-easing)}.switch .thumb{aspect-ratio:1/1;width:var(--thumb-size);height:var(--thumb-size);background-color:var(--wa-form-control-border-color);border-radius:50%;translate:calc((var(--width) - var(--height))/ -2);transition:inherit}.switch .thumb:dir(rtl){translate:calc((var(--width) - var(--height))/ 2)}.input{position:absolute;opacity:0;padding:0;margin:0;pointer-events:none}label:not(.disabled) .input:focus-visible~.switch .thumb{outline:var(--wa-focus-ring);outline-offset:var(--wa-focus-ring-offset)}.checked .switch{background-color:var(--wa-form-control-activated-color);border-color:var(--wa-form-control-activated-color)}.checked .switch .thumb{background-color:var(--wa-color-surface-default);translate:calc((var(--width) - var(--height))/ 2)}.checked .switch .thumb:dir(rtl){translate:calc((var(--width) - var(--height))/ -2)}label:has(> :disabled){opacity:.5;cursor:not-allowed}[part~=label]{display:inline-block;line-height:var(--height);margin-inline-start:.5em;user-select:none;-webkit-user-select:none}:host([required]) [part~=label]::after{content:var(--wa-form-control-required-content);color:var(--wa-form-control-required-content-color);margin-inline-start:var(--wa-form-control-required-content-offset)} (forced-colors:active){:checked+.switch .thumb,:checked:enabled+.switch:hover .thumb{background-color:ButtonText}}`},49546(e,t,a){a.d(t,{Y:()=>i});a(44114);const i=(e={})=>{let{validationElement:t,validationProperty:a}=e;t||(t=Object.assign(document.createElement("input"),{required:!0})),a||(a="value");const i={observedAttributes:["required"],message:t.validationMessage,checkValidity(e){const t={message:"",isValid:!0,invalidKeys:[]};if(!(e.required??e.hasAttribute("required")))return t;return!e[a]&&(t.message="function"==typeof i.message?i.message(e):i.message||"",t.isValid=!1,t.invalidKeys.push("valueMissing")),t}};return i}}};