iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 6.08 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[82158],{28732:function(t,i,e){var a=e(40445),n=e(27686),s=e(7731),o=e(5124),r=e(67576);let l,d,c,h=t=>t;class p extends n.J{renderRipple(){return this.noninteractive?"":super.renderRipple()}static get styles(){return[s.R,(0,o.AH)(l||(l=h`: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?(0,o.AH)(d||(d=h`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`)):(0,o.AH)(c||(c=h``))]}}p=(0,a.Cg)([(0,r.EM)("ha-list-item")],p)},5981:function(t,i,e){e.a(t,async function(t,a){try{e.r(i);e(18111),e(61701),e(3362),e(62953);var n=e(40445),s=e(5124),o=e(67576),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),u=e(46049),_=e(14503),g=t([d,c,h,p,m]);[d,c,h,p,m]=g.then?(await g)():g;let v,y,b,f,x,$=t=>t;const O="M8,5.14V19.14L19,12.14L8,5.14Z",C="M18,18H6V6H18V18Z";class w 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,u.n.TONES)&&this._stateObj.attributes.available_tones,i=(0,l.$)(this._stateObj,u.n.VOLUME_SET),e=(0,l.$)(this._stateObj,u.n.DURATION);return(0,s.qy)(v||(v=$` <ha-dialog .open="${0}" header-title="${0}" ="${0}"> <div> <div class="options"> ${0} ${0} ${0} </div> <div class="controls"> <ha-control-button .label="${0}" ="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> </ha-control-button> <ha-control-button .label="${0}" ="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> </ha-control-button> </div> </div> <ha-dialog-footer slot="footer"> <ha-button slot="secondaryAction" appearance="plain" ="${0}"> ${0} </ha-button> </ha-dialog-footer> </ha-dialog> `),this._open,this.hass.localize("ui.components.siren.advanced_controls"),this._dialogClosed,t?(0,s.qy)(y||(y=$` <ha-select .label="${0}" ="${0}" .value="${0}" .options="${0}"> </ha-select> `),this.hass.localize("ui.components.siren.tone"),this._handleToneChange,this._tone,Object.entries(this._stateObj.attributes.available_tones).map(([t,i])=>({value:Array.isArray(this._stateObj.attributes.available_tones)?i:t,label:i}))):s.s6,i?(0,s.qy)(b||(b=$` <ha-input type="number" .label="${0}" .value="${0}" ="${0}" .min="${0}" .max="${0}" .step="${0}"> <span slot="end">%</span> </ha-input> `),this.hass.localize("ui.components.siren.volume"),this._volume?""+100*this._volume:void 0,this._handleVolumeChange,0,100,1):s.s6,e?(0,s.qy)(f||(f=$` <ha-input type="number" .label="${0}" .value="${0}" ="${0}"> <span slot="end">s</span> </ha-input> `),this.hass.localize("ui.components.siren.duration"),void 0!==this._duration?this._duration.toString():void 0,this._handleDurationChange):s.s6,this.hass.localize("ui.card.common.turn_on"),this._turnOn,O,this.hass.localize("ui.card.common.turn_off"),this._turnOff,C,this.closeDialog,this.hass.localize("ui.common.close"))}_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[_.RF,(0,s.AH)(x||(x=$`.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})],w.prototype,"hass",void 0),(0,n.Cg)([(0,o.wk)()],w.prototype,"_stateObj",void 0),(0,n.Cg)([(0,o.wk)()],w.prototype,"_open",void 0),(0,n.Cg)([(0,o.wk)()],w.prototype,"_tone",void 0),(0,n.Cg)([(0,o.wk)()],w.prototype,"_volume",void 0),(0,n.Cg)([(0,o.wk)()],w.prototype,"_duration",void 0),w=(0,n.Cg)([(0,o.EM)("ha-more-info-siren-advanced-controls")],w),a()}catch(v){a(v)}})}}]);