UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

1 lines 5.83 kB
export const __rspack_esm_id=82158;export const __rspack_esm_ids=[82158];export const __webpack_modules__={28732(t,i,e){var a=e(62826),n=e(27686),s=e(7731),o=e(5124),r=e(22441);class l extends n.J{renderRipple(){return this.noninteractive?"":super.renderRipple()}static get styles(){return[s.R,o.AH`:host{padding-left:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-inline-start:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-right:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px));padding-inline-end:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px))}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:48px}span.material-icons:first-of-type{margin-inline-start:0px!important;margin-inline-end:var(--mdc-list-item-graphic-margin,16px)!important;direction:var(--direction)!important}span.material-icons:last-of-type{margin-inline-start:auto!important;margin-inline-end:0px!important;direction:var(--direction)!important}.mdc-deprecated-list-item__meta{display:var(--mdc-list-item-meta-display);align-items:center;flex-shrink:0}:host([graphic=icon]:not([twoline])) .mdc-deprecated-list-item__graphic{margin-inline-end:var(--mdc-list-item-graphic-margin,20px)!important}:host([multiline-secondary]){height:auto}:host([multiline-secondary]) .mdc-deprecated-list-item__text{padding:8px 0}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text{text-overflow:initial;white-space:normal;overflow:auto;display:inline-block;margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text{margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text::before{display:none}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text::before{display:none}:host([disabled]){color:var(--disabled-text-color)}:host([noninteractive]){pointer-events:unset}`,"rtl"===document.dir?o.AH`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`:o.AH``]}}l=(0,a.Cg)([(0,r.EM)("ha-list-item")],l)},5981(t,i,e){e.a(t,async function(t,a){try{e.r(i);e(18111),e(61701);var n=e(62826),s=e(5124),o=e(22441),r=e(1087),l=e(82286),d=e(18350),c=(e(48374),e(72554)),h=(e(93444),e(26300)),p=(e(28732),e(606)),m=e(91485),_=e(46049),u=e(14503),g=t([d,c,h,p,m]);[d,c,h,p,m]=g.then?(await g)():g;const v="M8,5.14V19.14L19,12.14L8,5.14Z",y="M18,18H6V6H18V18Z";class b extends s.WF{showDialog({stateObj:t}){this._stateObj=t,this._open=!0}closeDialog(){this._open=!1}_dialogClosed(){this._open=!1,this._stateObj=void 0,(0,r.r)(this,"dialog-closed",{dialog:this.localName})}render(){if(!this._stateObj)return s.s6;const t=(0,l.$)(this._stateObj,_.n.TONES)&&this._stateObj.attributes.available_tones,i=(0,l.$)(this._stateObj,_.n.VOLUME_SET),e=(0,l.$)(this._stateObj,_.n.DURATION);return s.qy` <ha-dialog .open="${this._open}" header-title="${this.hass.localize("ui.components.siren.advanced_controls")}" @closed="${this._dialogClosed}"> <div> <div class="options"> ${t?s.qy` <ha-select .label="${this.hass.localize("ui.components.siren.tone")}" @selected="${this._handleToneChange}" .value="${this._tone}" .options="${Object.entries(this._stateObj.attributes.available_tones).map(([t,i])=>({value:Array.isArray(this._stateObj.attributes.available_tones)?i:t,label:i}))}"> </ha-select> `:s.s6} ${i?s.qy` <ha-input type="number" .label="${this.hass.localize("ui.components.siren.volume")}" .value="${this._volume?""+100*this._volume:void 0}" @change="${this._handleVolumeChange}" .min="${0}" .max="${100}" .step="${1}"> <span slot="end">%</span> </ha-input> `:s.s6} ${e?s.qy` <ha-input type="number" .label="${this.hass.localize("ui.components.siren.duration")}" .value="${void 0!==this._duration?this._duration.toString():void 0}" @change="${this._handleDurationChange}"> <span slot="end">s</span> </ha-input> `:s.s6} </div> <div class="controls"> <ha-control-button .label="${this.hass.localize("ui.card.common.turn_on")}" @click="${this._turnOn}"> <ha-svg-icon .path="${v}"></ha-svg-icon> </ha-control-button> <ha-control-button .label="${this.hass.localize("ui.card.common.turn_off")}" @click="${this._turnOff}"> <ha-svg-icon .path="${y}"></ha-svg-icon> </ha-control-button> </div> </div> <ha-dialog-footer slot="footer"> <ha-button slot="secondaryAction" appearance="plain" @click="${this.closeDialog}"> ${this.hass.localize("ui.common.close")} </ha-button> </ha-dialog-footer> </ha-dialog> `}_handleToneChange(t){this._tone=t.detail.value}_handleVolumeChange(t){this._volume=parseFloat(t.target.value)/100,isNaN(this._volume)&&(this._volume=void 0)}_handleDurationChange(t){this._duration=parseInt(t.target.value),isNaN(this._duration)&&(this._duration=void 0)}async _turnOn(){await this.hass.callService("siren","turn_on",{entity_id:this._stateObj.entity_id,tone:this._tone,volume_level:this._volume,duration:this._duration})}async _turnOff(){await this.hass.callService("siren","turn_off",{entity_id:this._stateObj.entity_id})}static get styles(){return[u.RF,s.AH`.options{display:flex;flex-direction:column;gap:var(--ha-space-4)}.controls{display:flex;flex-direction:row;justify-content:center;gap:var(--ha-space-4);margin-top:var(--ha-space-4)}ha-control-button{--control-button-border-radius:var(--ha-border-radius-xl);--mdc-icon-size:24px;width:64px;height:64px}`]}constructor(...t){super(...t),this._open=!1}}(0,n.Cg)([(0,o.MZ)({attribute:!1})],b.prototype,"hass",void 0),(0,n.Cg)([(0,o.wk)()],b.prototype,"_stateObj",void 0),(0,n.Cg)([(0,o.wk)()],b.prototype,"_open",void 0),(0,n.Cg)([(0,o.wk)()],b.prototype,"_tone",void 0),(0,n.Cg)([(0,o.wk)()],b.prototype,"_volume",void 0),(0,n.Cg)([(0,o.wk)()],b.prototype,"_duration",void 0),b=(0,n.Cg)([(0,o.EM)("ha-more-info-siren-advanced-controls")],b),a()}catch(t){a(t)}})}};