iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 8.23 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[86658],{2226:function(o,e,a){a(89463),a(18111),a(61701),a(62953);var t=a(40445),i=a(35211),s=a(5124),n=a(67576),r=a(6412),l=a(63672),d=a(89784),c=a(1087),h=a(15638),p=a(22792);a(64013),a(92677);let g,u,m,v,b,_=o=>o;class x extends s.WF{render(){var o;const e=null!==(o=this.maxColumns)&&void 0!==o?o:3,a=Math.min(e,this.options.length);return(0,s.qy)(g||(g=_` <ha-radio-group class="list" style="${0}" .value="${0}" ="${0}"> ${0} </ha-radio-group> `),(0,d.W)({"--columns":a}),this.value,this._radioChanged,this.options.map(o=>this._renderOption(o)))}_renderOption(o){var e;const a=1===this.maxColumns&&!this.stackedImage,t=1===this.maxColumns&&this.stackedImage,i=o.disabled||this.disabled||!1,n=o.value===this.value,d=(null===(e=this._ui)||void 0===e?void 0:e.themes.darkMode)||!1,c=!!this._i18n&&(0,h.qC)(this._i18n.language,this._i18n.translationMetadata.translations),p="object"==typeof o.image?d&&o.image.src_dark||o.image.src:o.image,g="object"==typeof o.image&&(c&&o.image.flip_rtl);return(0,s.qy)(u||(u=_` <label class="option ${0}" ?disabled="${0}"> <div class="content"> <ha-radio-option aria-describedby="${0}" aria-labelledby="${0}" .value="${0}" .disabled="${0}"></ha-radio-option> <div class="text"> <span id="${0}" class="label">${0}</span> ${0} </div> </div> ${0} </label> `),(0,r.H)({horizontal:a,stacked:t,selected:n}),i,(0,l.J)(o.description?`desc-${o.value}`:void 0),`label-${o.value}`,o.value,i,`label-${o.value}`,o.label,o.description?(0,s.qy)(m||(m=_`<span class="description" id="desc-${0}">${0}</span>`),o.value,o.description):s.s6,p?(0,s.qy)(v||(v=_` <img class="${0}" alt="" src="${0}"> `),g?"flipped":"",p):s.s6)}_radioChanged(o){var e;o.stopPropagation();const a=o.currentTarget.value;this.disabled||void 0===a||a===(null!==(e=this.value)&&void 0!==e?e:"")||(0,c.r)(this,"value-changed",{value:a})}constructor(...o){super(...o),this.options=[],this.stackedImage=!1}}x.styles=(0,s.AH)(b||(b=_`.list::part(form-control-input){display:grid;grid-template-columns:repeat(var(--columns,1),minmax(0,1fr));gap:var(--ha-space-3)}.option{position:relative;display:block;border:1px solid var(--divider-color);border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg));display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px;gap:var(--ha-space-2);overflow:hidden;cursor:pointer}.option .content{position:relative;display:flex;flex-direction:row;gap:var(--ha-space-2);min-width:0;width:100%}.option .content ha-radio-option{--ha-radio-option-control-margin:0;margin:0;flex:none}.option .content .text{display:flex;flex-direction:column;gap:var(--ha-space-1);min-width:0;flex:1;justify-content:center}.option .content .text .label{color:var(--primary-text-color);font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.option .content .text .description{color:var(--secondary-text-color);font-size:var(--ha-font-size-s);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed)}img{position:relative;max-width:var(--ha-select-box-image-size,96px);max-height:var(--ha-select-box-image-size,96px);margin:auto}.flipped{transform:scaleX(-1)}.option.horizontal{flex-direction:row;align-items:flex-start}.option.horizontal img{margin:0}.option.stacked{align-items:stretch}.option.stacked img{max-width:100%;max-height:var(--ha-select-box-image-size,96px);margin:0}.option:before{content:"";display:block;inset:0;position:absolute;background-color:transparent;pointer-events:none;opacity:.2;transition:background-color 180ms ease-in-out,opacity 180ms ease-in-out}.option:hover:before{background-color:var(--divider-color)}.option.selected:before{background-color:var(--primary-color)}.option[disabled]{cursor:not-allowed}.option[disabled] .content,.option[disabled] img{opacity:.5}.option[disabled]:before{background-color:var(--disabled-color);opacity:.05}`)),(0,t.Cg)([(0,n.MZ)({attribute:!1})],x.prototype,"options",void 0),(0,t.Cg)([(0,n.MZ)({attribute:!1})],x.prototype,"value",void 0),(0,t.Cg)([(0,n.MZ)({type:Boolean})],x.prototype,"disabled",void 0),(0,t.Cg)([(0,n.MZ)({type:Number,attribute:"max_columns"})],x.prototype,"maxColumns",void 0),(0,t.Cg)([(0,n.MZ)({type:Boolean,attribute:"stacked_image"})],x.prototype,"stackedImage",void 0),(0,t.Cg)([(0,n.wk)(),(0,i.Fg)({context:p.D5,subscribe:!0})],x.prototype,"_i18n",void 0),(0,t.Cg)([(0,n.wk)(),(0,i.Fg)({context:p.EK,subscribe:!0})],x.prototype,"_ui",void 0),x=(0,t.Cg)([(0,n.EM)("ha-select-box")],x)},30809:function(o,e,a){a.a(o,async function(o,t){try{a.r(e);a(18111),a(61701),a(62953);var i=a(40445),s=(a(68825),a(5124)),n=a(67576),r=a(1087),l=a(18350),d=a(72554),c=(a(93444),a(26300)),h=(a(2226),a(91485)),p=(a(88249),a(84025)),g=a(14503),u=a(36918),m=o([l,d,c,h]);[l,d,c,h]=m.then?(await m)():m;let v,b,_,x=o=>o;const f="M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z";class y extends s.WF{showDialog(o){this._open=!0,this._params=o,this._newMode=o.config.mode||"single",this._newMax=(0,p.Iq)(this._newMode)?o.config.max||10:void 0}closeDialog(){return this._open=!1,!0}_dialogClosed(){var o;null!==(o=this._params)&&void 0!==o&&o.onClose&&this._params.onClose(),this._params=void 0,(0,r.r)(this,"dialog-closed",{dialog:this.localName})}render(){var o,e;if(!this._params)return s.s6;const a=this.hass.localize("ui.panel.config.automation.editor.change_mode");return(0,s.qy)(v||(v=x` <ha-dialog .open="${0}" header-title="${0}" ="${0}"> <ha-icon-button .label="${0}" .path="${0}" href="${0}" slot="headerActionItems" target="_blank" rel="noopener noreferrer"></ha-icon-button> <ha-select-box .options="${0}" .value="${0}" -changed="${0}" .maxColumns="${0}"></ha-select-box> ${0} <ha-dialog-footer slot="footer"> <ha-button slot="secondaryAction" appearance="plain" ="${0}"> ${0} </ha-button> <ha-button slot="primaryAction" ="${0}"> ${0} </ha-button> </ha-dialog-footer> </ha-dialog> `),this._open,a,this._dialogClosed,this.hass.localize("ui.panel.config.automation.editor.modes.learn_more"),f,(0,u.o)(this.hass,"/docs/automation/modes/"),p.FN.map(o=>({label:this.hass.localize(`ui.panel.config.automation.editor.modes.${o}`),description:this.hass.localize(`ui.panel.config.automation.editor.modes.${o}_description`),value:o})),this._newMode,this._modeChanged,1,(0,p.Iq)(this._newMode)?(0,s.qy)(b||(b=x` <div class="max-value"> <wa-divider></wa-divider> <ha-input .label="${0}" type="number" name="max" .value="${0}" ="${0}"> </ha-input> </div> `),this.hass.localize(`ui.panel.config.automation.editor.max.${this._newMode}`),null!==(o=null===(e=this._newMax)||void 0===e?void 0:e.toString())&&void 0!==o?o:"",this._valueChanged):s.s6,this.closeDialog,this.hass.localize("ui.common.cancel"),this._save,this.hass.localize("ui.panel.config.automation.editor.change_mode"))}_modeChanged(o){const e=o.detail.value;this._newMode=e,(0,p.Iq)(e)?this._newMax||(this._newMax=10):this._newMax=void 0}_valueChanged(o){o.stopPropagation();const e=o.target;"max"===e.name&&(this._newMax=Number(e.value))}_save(){this._params&&(this._params.updateConfig(Object.assign(Object.assign({},this._params.config),{},{mode:this._newMode,max:this._newMax})),this.closeDialog())}static get styles(){return[g.RF,g.nA,(0,s.AH)(_||(_=x`.max-value{margin-top:var(--ha-space-3)}ha-wa-dialog ha-icon-button[slot=headerActionItems]{color:var(--secondary-text-color)}`))]}constructor(...o){super(...o),this._open=!1,this._newMode="single"}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"hass",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_open",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_params",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_newMode",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_newMax",void 0),y=(0,i.Cg)([(0,n.EM)("ha-dialog-automation-mode")],y),t()}catch(v){t(v)}})}}]);