iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 7.16 kB
JavaScript
export const __rspack_esm_id=29130;export const __rspack_esm_ids=[29130];export const __webpack_modules__={48374(o,t,a){var i=a(62826),e=a(5124),r=a(22441),n=a(63672);a(54276);class l extends e.WF{render(){return e.qy` <button type="button" class="button" aria-label="${(0,n.J)(this.label)}" title="${(0,n.J)(this.label)}" .disabled="${Boolean(this.disabled)}"> <slot></slot> <ha-ripple .disabled="${this.disabled}"></ha-ripple> </button> `}constructor(...o){super(...o),this.disabled=!1}}l.styles=e.AH`:host{display:block;--control-button-focus-color:var(--secondary-text-color);--control-button-icon-color:var(--primary-text-color);--control-button-background-color:var(--disabled-color);--control-button-background-opacity:0.2;--control-button-border-radius:var(--ha-border-radius-md);--control-button-font-weight:var(--ha-font-weight-medium);--control-button-padding:8px;--mdc-icon-size:20px;--ha-ripple-color:var(--secondary-text-color);color:var(--primary-text-color);width:40px;height:40px;-webkit-tap-highlight-color:transparent}.button{overflow:hidden;position:relative;cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center;width:100%;height:100%;border-radius:var(--control-button-border-radius);border:none;margin:0;padding:var(--control-button-padding);box-sizing:border-box;line-height:inherit;font-family:var(--ha-font-family-body);font-weight:var(--control-button-font-weight);outline:0;overflow:hidden;background:0 0;z-index:0;font-size:inherit;color:inherit;transition:box-shadow 180ms ease-in-out,color 180ms ease-in-out;color:var(--control-button-icon-color)}.button:focus-visible{box-shadow:0 0 0 2px var(--control-button-focus-color)}.button::before{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--control-button-background-color);transition:background-color 180ms ease-in-out,opacity 180ms ease-in-out;opacity:var(--control-button-background-opacity);pointer-events:none;white-space:normal}.button ::slotted(*){pointer-events:none;opacity:.95}.button:disabled{cursor:not-allowed;--control-button-background-color:var(--disabled-color);--control-button-icon-color:var(--disabled-text-color);--control-button-background-opacity:0.2}`,(0,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],l.prototype,"disabled",void 0),(0,i.Cg)([(0,r.MZ)()],l.prototype,"label",void 0),l=(0,i.Cg)([(0,r.EM)("ha-control-button")],l)},24561(o,t,a){a.a(o,async function(o,i){try{a.r(t),a.d(t,{DialogEnterCode:()=>m});var e=a(62826),r=a(5124),n=a(22441),l=a(63672),s=a(1087),c=a(18350),d=(a(48374),a(72554)),h=(a(93444),a(91485)),u=o([c,d,h]);[c,d,h]=u.then?(await u)():u;const p="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",b="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",g=["1","2","3","4","5","6","7","8","9","0","clear","submit"];class m extends r.WF{async showDialog(o){this._dialogParams=o,this._open=!0,this._showClearButton=!1,this._closeAction=void 0,this._narrow=matchMedia("all and (max-width: 450px), all and (max-height: 500px)").matches,await this.updateComplete}closeDialog(){return this._open=!1,!0}_dialogClosed(){this._closeAction||this._dialogParams?.cancel?.(),this._dialogParams=void 0,this._showClearButton=!1,this._closeAction=void 0,(0,s.r)(this,"dialog-closed",{dialog:this.localName})}_submit(){this._dialogParams?.submit?.(this._input?.value??""),this._closeAction="submit",this.closeDialog()}_cancel(){this._dialogParams?.cancel?.(),this._closeAction="cancel",this.closeDialog()}_numberClick(o){const t=o.currentTarget.value;this._input.value=(this._input.value??"")+t,this._showClearButton=!0}_clear(){this._input.value="",this._showClearButton=!1}_inputValueChange(o){const t=o.currentTarget.value;this._showClearButton=!!t}render(){if(!this._dialogParams||!this.hass)return r.s6;return"text"===this._dialogParams.codeFormat?r.qy` <ha-dialog .open="${this._open}" header-title="${this._dialogParams.title??this.hass.localize("ui.dialogs.enter_code.title")}" width="small" ="${this._dialogClosed}"> <ha-input class="input" ?autofocus="${!this._narrow}" id="code" .label="${this.hass.localize("ui.dialogs.enter_code.input_label")}" type="password" autoValidate validateOnInitialRender pattern="${(0,l.J)(this._dialogParams.codePattern)}" inputmode="text"></ha-input> <ha-dialog-footer slot="footer"> <ha-button slot="secondaryAction" appearance="plain" ="${this._cancel}"> ${this._dialogParams.cancelText??this.hass.localize("ui.common.cancel")} </ha-button> <ha-button slot="primaryAction" ="${this._submit}"> ${this._dialogParams.submitText??this.hass.localize("ui.common.submit")} </ha-button> </ha-dialog-footer> </ha-dialog> `:r.qy` <ha-dialog .open="${this._open}" header-title="${this._dialogParams.title??"Enter code"}" width="small" ="${this._dialogClosed}"> <div class="container"> <ha-input ="${this._inputValueChange}" id="code" .label="${this.hass.localize("ui.dialogs.enter_code.input_label")}" type="password" inputmode="numeric" ?autofocus="${!this._narrow}" password-toggle></ha-input> <div class="keypad"> ${g.map(o=>""===o?r.qy`<span></span>`:"clear"===o?r.qy` <ha-control-button ="${this._clear}" class="clear" .disabled="${!this._showClearButton}" .label="${this.hass.localize("ui.common.clear")}"> <ha-svg-icon path="${b}"></ha-svg-icon> </ha-control-button> `:"submit"===o?r.qy` <ha-control-button ="${this._submit}" class="submit" .label="${this._dialogParams.submitText??this.hass.localize("ui.common.submit")}"> <ha-svg-icon path="${p}"></ha-svg-icon> </ha-control-button> `:r.qy` <ha-control-button .value="${o}" ="${this._numberClick}" .label="${o}"> ${o} </ha-control-button> `)} </div> </div> </ha-dialog> `}constructor(...o){super(...o),this._open=!1,this._showClearButton=!1,this._narrow=!1}}m.styles=r.AH`ha-dialog{--dialog-z-index:104}ha-input{width:100%;margin:auto}.container{display:flex;align-items:center;flex-direction:column}.keypad{--keypad-columns:3;margin-top:12px;padding:12px;display:grid;grid-template-columns:repeat(var(--keypad-columns),auto);grid-auto-rows:auto;grid-gap:var(--ha-space-6);justify-items:center;align-items:center;direction:ltr}.clear{grid-row-start:4;grid-column-start:0} all and (max-height:450px){.keypad{--keypad-columns:6}.clear{grid-row-start:1;grid-column-start:6}}ha-control-button{width:56px;height:56px;--control-button-border-radius:var(--ha-border-radius-4xl);--mdc-icon-size:24px;font-size:var(--ha-font-size-2xl)}.submit{--control-button-background-color:var(--green-color);--control-button-icon-color:var(--green-color)}.clear{--control-button-background-color:var(--red-color);--control-button-icon-color:var(--red-color)}`,(0,e.Cg)([(0,n.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,e.Cg)([(0,n.wk)()],m.prototype,"_dialogParams",void 0),(0,e.Cg)([(0,n.wk)()],m.prototype,"_open",void 0),(0,e.Cg)([(0,n.P)("#code")],m.prototype,"_input",void 0),(0,e.Cg)([(0,n.wk)()],m.prototype,"_showClearButton",void 0),(0,e.Cg)([(0,n.wk)()],m.prototype,"_narrow",void 0),m=(0,e.Cg)([(0,n.EM)("dialog-enter-code")],m),i()}catch(o){i(o)}})}};