iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
25 lines • 13.1 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[7241],{2226:function(e,o,a){a(89463),a(18111),a(61701),a(62953);var t=a(40445),i=a(35211),r=a(5124),s=a(67576),n=a(6412),l=a(63672),c=a(89784),d=a(1087),h=a(15638),p=a(22792);a(64013),a(92677);let u,m,g,v,_,f=e=>e;class y extends r.WF{render(){var e;const o=null!==(e=this.maxColumns)&&void 0!==e?e:3,a=Math.min(o,this.options.length);return(0,r.qy)(u||(u=f` <ha-radio-group class="list" style="${0}" .value="${0}" ="${0}"> ${0} </ha-radio-group> `),(0,c.W)({"--columns":a}),this.value,this._radioChanged,this.options.map(e=>this._renderOption(e)))}_renderOption(e){var o;const a=1===this.maxColumns&&!this.stackedImage,t=1===this.maxColumns&&this.stackedImage,i=e.disabled||this.disabled||!1,s=e.value===this.value,c=(null===(o=this._ui)||void 0===o?void 0:o.themes.darkMode)||!1,d=!!this._i18n&&(0,h.qC)(this._i18n.language,this._i18n.translationMetadata.translations),p="object"==typeof e.image?c&&e.image.src_dark||e.image.src:e.image,u="object"==typeof e.image&&(d&&e.image.flip_rtl);return(0,r.qy)(m||(m=f` <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,n.H)({horizontal:a,stacked:t,selected:s}),i,(0,l.J)(e.description?`desc-${e.value}`:void 0),`label-${e.value}`,e.value,i,`label-${e.value}`,e.label,e.description?(0,r.qy)(g||(g=f`<span class="description" id="desc-${0}">${0}</span>`),e.value,e.description):r.s6,p?(0,r.qy)(v||(v=f` <img class="${0}" alt="" src="${0}"> `),u?"flipped":"",p):r.s6)}_radioChanged(e){var o;e.stopPropagation();const a=e.currentTarget.value;this.disabled||void 0===a||a===(null!==(o=this.value)&&void 0!==o?o:"")||(0,d.r)(this,"value-changed",{value:a})}constructor(...e){super(...e),this.options=[],this.stackedImage=!1}}y.styles=(0,r.AH)(_||(_=f`.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,s.MZ)({attribute:!1})],y.prototype,"options",void 0),(0,t.Cg)([(0,s.MZ)({attribute:!1})],y.prototype,"value",void 0),(0,t.Cg)([(0,s.MZ)({type:Boolean})],y.prototype,"disabled",void 0),(0,t.Cg)([(0,s.MZ)({type:Number,attribute:"max_columns"})],y.prototype,"maxColumns",void 0),(0,t.Cg)([(0,s.MZ)({type:Boolean,attribute:"stacked_image"})],y.prototype,"stackedImage",void 0),(0,t.Cg)([(0,s.wk)(),(0,i.Fg)({context:p.D5,subscribe:!0})],y.prototype,"_i18n",void 0),(0,t.Cg)([(0,s.wk)(),(0,i.Fg)({context:p.EK,subscribe:!0})],y.prototype,"_ui",void 0),y=(0,t.Cg)([(0,s.EM)("ha-select-box")],y)},64013:function(e,o,a){var t=a(40445),i=a(97086),r=a(5124),s=a(67576);let n,l=e=>e;class c extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{--wa-form-control-required-content:var(
--ha-radio-group-required-marker,
var(--ha-input-required-marker, "*")
);--wa-form-control-required-content-offset:var(
--ha-radio-group-required-marker-offset,
0.1rem
)}`))]}constructor(){super(),this.radioTag="ha-radio-option"}}c=(0,t.Cg)([(0,s.EM)("ha-radio-group")],c)},92677:function(e,o,a){var t=a(40445),i=a(17010),r=a(5124),s=a(67576);let n,l=e=>e;class c extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{--wa-form-control-activated-color:var(
--ha-radio-option-active-color,
var(--ha-color-fill-primary-loud-resting)
);--wa-form-control-height:var(--ha-radio-option-height, 40px);--wa-form-control-toggle-size:var(
--ha-radio-option-toggle-size,
20px
);--wa-form-control-border-width:var(
--ha-radio-option-border-width,
var(--ha-border-width-md)
);--wa-form-control-border-color:var(
--ha-radio-option-border-color,
var(--ha-color-border-neutral-normal)
);--wa-form-control-background-color:var(
--ha-radio-option-background-color,
var(--wa-form-control-background-color)
);--checked-icon-color:var(
--ha-radio-option-checked-icon-color,
var(--wa-form-control-activated-color)
);--checked-icon-scale:var(--ha-radio-option-checked-icon-scale, 0.7)}:host([appearance=default]) .control{margin:var(--ha-radio-option-control-margin,var(--ha-space-3) var(--ha-space-2) var(--ha-space-3) var(--ha-space-3))}:host(:not([aria-checked=true],[aria-disabled=true]):hover) .control{border-color:var(--ha-radio-option-border-color-hover,var(--ha-radio-option-border-color,var(--ha-color-border-neutral-loud)));background-color:var(--ha-radio-option-background-color-hover,var(--ha-color-fill-neutral-quiet-hover))}:host([aria-checked=true]) .control{background-color:var(--ha-radio-option-checked-background-color,var(--ha-color-fill-primary-normal-resting));color:var(--checked-icon-color);border-color:var(--checked-icon-color)}[part~=label]{display:inline-flex;align-items:center;cursor:pointer}:host([disabled]) [part~=label]{cursor:not-allowed}`))]}}c=(0,t.Cg)([(0,s.EM)("ha-radio-option")],c)},78896:function(e,o,a){a.a(e,async function(e,t){try{a.r(o);a(74423),a(3362),a(27495),a(25440),a(42762),a(62953);var i=a(40445),r=a(5124),s=a(67576),n=a(1087),l=a(38962),c=a(18350),d=(a(93444),a(65829)),h=(a(2226),a(91485)),p=a(72554),u=a(49847),m=a(14503),g=e([l,c,d,h,p]);[l,c,d,h,p]=g.then?(await g)():g;let v,_,f,y,b,k,x=e=>e;const $=["unrestricted_user","disposable_user"];class w extends r.WF{async showDialog(e){this._params=e,this._error="",this._pinCode="",this._open=!0,e.user?(this._userName=e.user.user_name||"",this._userType=e.user.user_type):(this._userName="",this._userType="unrestricted_user")}render(){var e,o,a,t;if(!this._params)return r.s6;const i=!this._params.user,s=null!==(e=null===(o=this._params.lockInfo)||void 0===o||null===(o=o.supported_credential_types)||void 0===o?void 0:o.includes("pin"))&&void 0!==e&&e,n=i?this.hass.localize("ui.panel.config.matter.lock.users.add"):this.hass.localize("ui.panel.config.matter.lock.users.edit"),l=(null===(a=this._params.lockInfo)||void 0===a?void 0:a.min_pin_length)||4,c=(null===(t=this._params.lockInfo)||void 0===t?void 0:t.max_pin_length)||8;return(0,r.qy)(v||(v=x` <ha-dialog .open="${0}" header-title="${0}" ="${0}"> <div class="form"> ${0} <ha-input .label="${0}" .value="${0}" ="${0}" maxlength="10"></ha-input> ${0} ${0} <div class="user-type-section"> <label>${0}</label> <ha-select-box .options="${0}" .value="${0}" .maxColumns="${0}" -changed="${0}"></ha-select-box> </div> </div> <ha-dialog-footer slot="footer"> <ha-button slot="secondaryAction" appearance="plain" ="${0}"> ${0} </ha-button> <ha-button slot="primaryAction" ="${0}" .disabled="${0}"> ${0} </ha-button> </ha-dialog-footer> </ha-dialog> `),this._open,n,this._dialogClosed,this._error?(0,r.qy)(_||(_=x`<ha-alert alert-type="error">${0}</ha-alert>`),this._error):r.s6,this.hass.localize("ui.panel.config.matter.lock.users.name"),this._userName,this._handleNameChange,i&&s?(0,r.qy)(f||(f=x` <ha-input .label="${0}" .value="${0}" ="${0}" type="password" inputmode="numeric" pattern="[0-9]*" placeholder="${0}" minlength="${0}" maxlength="${0}" required></ha-input> `),this.hass.localize("ui.panel.config.matter.lock.credentials.data"),this._pinCode,this._handlePinChange,this.hass.localize("ui.panel.config.matter.lock.errors.pin_placeholder",{min:l,max:c}),l,c):r.s6,i&&!s?(0,r.qy)(y||(y=x`<ha-alert alert-type="warning"> ${0} </ha-alert>`),this.hass.localize("ui.panel.config.matter.lock.errors.no_credential_types_supported")):r.s6,this.hass.localize("ui.panel.config.matter.lock.users.type"),this._userTypeOptions,this._userType,1,this._handleUserTypeChanged,this.closeDialog,this.hass.localize("ui.common.cancel"),this._save,this._saving||i&&!s,this._saving?(0,r.qy)(b||(b=x`<ha-spinner size="small"></ha-spinner>`)):i?this.hass.localize("ui.panel.config.matter.lock.users.add"):this.hass.localize("ui.common.save"))}_handleNameChange(e){this._userName=e.target.value}_handlePinChange(e){const o=e.target.value.replace(/\D/g,"");this._pinCode=o,e.target.value=o}get _userTypeOptions(){return $.map(e=>({value:e,label:this.hass.localize(`ui.panel.config.matter.lock.users.user_types.${e}.label`),description:this.hass.localize(`ui.panel.config.matter.lock.users.user_types.${e}.description`)}))}_handleUserTypeChanged(e){this._userType=e.detail.value}async _save(){var e,o;if(!this._params)return;this._error="";const a=!this._params.user,t=(null===(e=this._params.lockInfo)||void 0===e?void 0:e.min_pin_length)||4,i=(null===(o=this._params.lockInfo)||void 0===o?void 0:o.max_pin_length)||8;if(this._userName.trim()){if(a){if(!this._pinCode)return void(this._error=this.hass.localize("ui.panel.config.matter.lock.errors.pin_required"));if(this._pinCode.length<t||this._pinCode.length>i)return void(this._error=this.hass.localize("ui.panel.config.matter.lock.errors.pin_length",{min:t,max:i}));if(!/^\d+$/.test(this._pinCode))return void(this._error=this.hass.localize("ui.panel.config.matter.lock.errors.pin_digits_only"))}this._saving=!0;try{if(a){const e=await(0,u._w)(this.hass,this._params.entity_id,{credential_type:"pin",credential_data:this._pinCode,user_type:this._userType});null!==e.user_index&&this._userName.trim()&&await(0,u.aj)(this.hass,this._params.entity_id,{user_index:e.user_index,user_name:this._userName.trim()})}else await(0,u.aj)(this.hass,this._params.entity_id,{user_index:this._params.user.user_index,user_name:this._userName.trim(),user_type:this._userType});this._params.onSaved(),this.closeDialog()}catch(r){this._error=r.message||this.hass.localize("ui.panel.config.matter.lock.errors.save_failed")}finally{this._saving=!1}}else this._error=this.hass.localize("ui.panel.config.matter.lock.errors.name_required")}closeDialog(){this._open=!1}_dialogClosed(){this._params=void 0,this._userName="",this._userType="unrestricted_user",this._pinCode="",this._saving=!1,this._error="",(0,n.r)(this,"dialog-closed",{dialog:this.localName})}static get styles(){return[m.nA,(0,r.AH)(k||(k=x`.form{display:flex;flex-direction:column;gap:var(--ha-space-4)}.user-type-section{display:flex;flex-direction:column;gap:var(--ha-space-2)}.user-type-section>label{font-weight:500;color:var(--primary-text-color)}ha-alert{display:block}`))]}constructor(...e){super(...e),this._userName="",this._userType="unrestricted_user",this._pinCode="",this._saving=!1,this._error="",this._open=!1}}(0,i.Cg)([(0,s.MZ)({attribute:!1})],w.prototype,"hass",void 0),(0,i.Cg)([(0,s.wk)()],w.prototype,"_params",void 0),(0,i.Cg)([(0,s.wk)()],w.prototype,"_userName",void 0),(0,i.Cg)([(0,s.wk)()],w.prototype,"_userType",void 0),(0,i.Cg)([(0,s.wk)()],w.prototype,"_pinCode",void 0),(0,i.Cg)([(0,s.wk)()],w.prototype,"_saving",void 0),(0,i.Cg)([(0,s.wk)()],w.prototype,"_error",void 0),(0,i.Cg)([(0,s.wk)()],w.prototype,"_open",void 0),w=(0,i.Cg)([(0,s.EM)("dialog-matter-lock-user-edit")],w),t()}catch(v){t(v)}})}}]);