iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
8 lines • 46.7 kB
JavaScript
export const __webpack_ids__=["35103"];export const __webpack_modules__={92636:function(e,t,i){i.d(t,{z:()=>a});const a=e=>(t,i)=>e.includes(t,i)},17803:function(e,t,i){i.d(t,{I:()=>a,_:()=>n});const a=(e,t,i,a)=>{const[n,s,o]=e.split(".",3);return Number(n)>t||Number(n)===t&&(void 0===a?Number(s)>=i:Number(s)>i)||void 0!==a&&Number(n)===t&&Number(s)===i&&Number(o)>=a},n=e=>e.includes("dev")},59847:function(e,t,i){i.d(t,{N:()=>n});var a=i(73850);const n=e=>(0,a.M)(e.entity_id)},75278:function(e,t,i){i.d(t,{e:()=>a});const a=(e,t)=>n(e.attributes,t),n=(e,t)=>!!(e.supported_features&t)},31064:function(e,t,i){i.d(t,{T:()=>n});const a=/^(\w+)\.(\w+)$/,n=e=>a.test(e)},50602:function(e,t,i){i.a(e,(async function(e,a){try{i.d(t,{SL:()=>d,l4:()=>h,sJ:()=>l,uf:()=>u});var n=i(16485),s=i(20382),o=i(34618),r=e([n]);n=(r.then?(await r)():r)[0];const d=e=>l(e.attributes),l=(e,t)=>!!e.unit_of_measurement||!!e.state_class||(t||[]).includes(e.device_class||""),c=e=>{switch(e.number_format){case s.y4.comma_decimal:return["en-US","en"];case s.y4.decimal_comma:return["de","es","it"];case s.y4.space_comma:return["fr","sv","cs"];case s.y4.system:return;default:return e.language}},u=(e,t,i)=>{const a=t?c(t):void 0;return Number.isNaN=Number.isNaN||function e(t){return"number"==typeof t&&e(t)},t?.number_format===s.y4.none||Number.isNaN(Number(e))?Number.isNaN(Number(e))||""===e||t?.number_format!==s.y4.none?"string"==typeof e?e:`${(0,o.N)(e,i?.maximumFractionDigits).toString()}${"currency"===i?.style?` ${i.currency}`:""}`:new Intl.NumberFormat("en-US",f(e,{...i,useGrouping:!1})).format(Number(e)):new Intl.NumberFormat(a,f(e,i)).format(Number(e))},h=(e,t)=>{const i=t?.display_precision;return null!=i?{maximumFractionDigits:i,minimumFractionDigits:i}:Number.isInteger(Number(e?.attributes?.step))&&Number.isInteger(Number(e?.state))?{maximumFractionDigits:0}:void 0},f=(e,t)=>{const i={maximumFractionDigits:2,...t};if("string"!=typeof e)return i;if(!t||void 0===t.minimumFractionDigits&&void 0===t.maximumFractionDigits){const t=e.indexOf(".")>-1?e.split(".")[1].length:0;i.minimumFractionDigits=t,i.maximumFractionDigits=t}return i};a()}catch(e){a(e)}}))},34618:function(e,t,i){i.d(t,{N:()=>a});const a=(e,t=2)=>Math.round(e*10**t)/10**t},45061:function(e,t,i){i.d(t,{K:()=>a});const a=e=>{switch(e.language){case"cs":case"de":case"fi":case"fr":case"sk":case"sv":return" ";default:return""}}},32587:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),n=(i(9359),i(56475),i(70104),i(57243)),s=i(15093),o=i(27486),r=i(36522),d=i(31064),l=i(58725),c=e([l]);l=(c.then?(await c)():c)[0];(0,a.Z)([(0,s.Mo)("ha-entities-picker")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Array})],key:"value",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"required",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Array,attribute:"include-domains"})],key:"includeDomains",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Array,attribute:"exclude-domains"})],key:"excludeDomains",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Array,attribute:"include-device-classes"})],key:"includeDeviceClasses",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Array,attribute:"include-unit-of-measurement"})],key:"includeUnitOfMeasurement",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Array,attribute:"include-entities"})],key:"includeEntities",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Array,attribute:"exclude-entities"})],key:"excludeEntities",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"picked-entity-label"})],key:"pickedEntityLabel",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"pick-entity-label"})],key:"pickEntityLabel",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"entityFilter",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1,type:Array})],key:"createDomains",value:void 0},{kind:"method",key:"render",value:function(){if(!this.hass)return n.Ld;const e=this._currentEntities;return n.dy` ${e.map((e=>n.dy` <div> <ha-entity-picker allow-custom-entity .curValue="${e}" .hass="${this.hass}" .includeDomains="${this.includeDomains}" .excludeDomains="${this.excludeDomains}" .includeEntities="${this.includeEntities}" .excludeEntities="${this.excludeEntities}" .includeDeviceClasses="${this.includeDeviceClasses}" .includeUnitOfMeasurement="${this.includeUnitOfMeasurement}" .entityFilter="${this.entityFilter}" .value="${e}" .label="${this.pickedEntityLabel}" .disabled="${this.disabled}" .createDomains="${this.createDomains}" -changed="${this._entityChanged}"></ha-entity-picker> </div> `))} <div> <ha-entity-picker allow-custom-entity .hass="${this.hass}" .includeDomains="${this.includeDomains}" .excludeDomains="${this.excludeDomains}" .includeEntities="${this.includeEntities}" .excludeEntities="${this._excludeEntities(this.value,this.excludeEntities)}" .includeDeviceClasses="${this.includeDeviceClasses}" .includeUnitOfMeasurement="${this.includeUnitOfMeasurement}" .entityFilter="${this.entityFilter}" .label="${this.pickEntityLabel}" .helper="${this.helper}" .disabled="${this.disabled}" .createDomains="${this.createDomains}" .required="${this.required&&!e.length}" -changed="${this._addEntity}"></ha-entity-picker> </div> `}},{kind:"field",key:"_excludeEntities",value:()=>(0,o.Z)(((e,t)=>void 0===e?t:[...t||[],...e]))},{kind:"get",key:"_currentEntities",value:function(){return this.value||[]}},{kind:"method",key:"_updateEntities",value:async function(e){this.value=e,(0,r.B)(this,"value-changed",{value:e})}},{kind:"method",key:"_entityChanged",value:function(e){e.stopPropagation();const t=e.currentTarget.curValue,i=e.detail.value;if(i===t||void 0!==i&&!(0,d.T)(i))return;const a=this._currentEntities;i&&!a.includes(i)?this._updateEntities(a.map((e=>e===t?i:e))):this._updateEntities(a.filter((e=>e!==t)))}},{kind:"method",key:"_addEntity",value:async function(e){e.stopPropagation();const t=e.detail.value;if(!t)return;if(e.currentTarget.value="",!t)return;const i=this._currentEntities;i.includes(t)||this._updateEntities([...i,t])}},{kind:"field",static:!0,key:"styles",value:()=>n.iv`div{margin-top:8px}`}]}}),n.oi);t()}catch(e){t(e)}}))},59826:function(e,t,i){var a=i(44249),n=i(31622),s=i(57243),o=i(15093),r=i(22344);(0,a.Z)([(0,o.Mo)("ha-button")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[r.W,s.iv`::slotted([slot=icon]){margin-inline-start:0px;margin-inline-end:8px;direction:var(--direction);display:block}.mdc-button{height:var(--button-height,36px)}.trailing-icon{display:flex}.slot-container{overflow:var(--button-slot-container-overflow,visible)}:host([destructive]){--mdc-theme-primary:var(--error-color)}`]}]}}),n.Button)},73729:function(e,t,i){i.d(t,{i:()=>u});var a=i(44249),n=i(72621),s=i(74966),o=i(51408),r=i(57243),d=i(15093),l=i(76525);i(23334);const c=["button","ha-list-item"],u=(e,t)=>r.dy` <div class="header_title"> <ha-icon-button .label="${e?.localize("ui.common.close")??"Close"}" .path="${"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"}" dialogAction="close" class="header_button"></ha-icon-button> <span>${t}</span> </div> `;(0,a.Z)([(0,d.Mo)("ha-dialog")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:l.gA,value:void 0},{kind:"method",key:"scrollToPos",value:function(e,t){this.contentElement?.scrollTo(e,t)}},{kind:"method",key:"renderHeading",value:function(){return r.dy`<slot name="heading"> ${(0,n.Z)(i,"renderHeading",this,3)([])} </slot>`}},{kind:"method",key:"firstUpdated",value:function(){(0,n.Z)(i,"firstUpdated",this,3)([]),this.suppressDefaultPressSelector=[this.suppressDefaultPressSelector,c].join(", "),this._updateScrolledAttribute(),this.contentElement?.addEventListener("scroll",this._onScroll,{passive:!0})}},{kind:"method",key:"disconnectedCallback",value:function(){(0,n.Z)(i,"disconnectedCallback",this,3)([]),this.contentElement.removeEventListener("scroll",this._onScroll)}},{kind:"field",key:"_onScroll",value(){return()=>{this._updateScrolledAttribute()}}},{kind:"method",key:"_updateScrolledAttribute",value:function(){this.contentElement&&this.toggleAttribute("scrolled",0!==this.contentElement.scrollTop)}},{kind:"field",static:!0,key:"styles",value:()=>[o.W,r.iv`:host([scrolled]) ::slotted(ha-dialog-header){border-bottom:1px solid var(--mdc-dialog-scroll-divider-color,rgba(0,0,0,.12))}.mdc-dialog{--mdc-dialog-scroll-divider-color:var(
--dialog-scroll-divider-color,
var(--divider-color)
);z-index:var(--dialog-z-index,8);-webkit-backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));--mdc-dialog-box-shadow:var(--dialog-box-shadow, none);--mdc-typography-headline6-font-weight:400;--mdc-typography-headline6-font-size:1.574rem}.mdc-dialog__actions{justify-content:var(--justify-action-buttons,flex-end);padding-bottom:max(env(safe-area-inset-bottom),24px)}.mdc-dialog__actions span:first-child{flex:var(--secondary-action-button-flex,unset)}.mdc-dialog__actions span:nth-child(2){flex:var(--primary-action-button-flex,unset)}.mdc-dialog__container{align-items:var(--vertical-align-dialog,center)}.mdc-dialog__title{padding:24px 24px 0 24px}.mdc-dialog__title:has(span){padding:12px 12px 0}.mdc-dialog__actions{padding:12px 24px 12px 24px}.mdc-dialog__title::before{content:unset}.mdc-dialog .mdc-dialog__content{position:var(--dialog-content-position,relative);padding:var(--dialog-content-padding,24px)}:host([hideactions]) .mdc-dialog .mdc-dialog__content{padding-bottom:max(var(--dialog-content-padding,24px),env(safe-area-inset-bottom))}.mdc-dialog .mdc-dialog__surface{position:var(--dialog-surface-position,relative);top:var(--dialog-surface-top);margin-top:var(--dialog-surface-margin-top);min-height:var(--mdc-dialog-min-height,auto);border-radius:var(--ha-dialog-border-radius,28px);-webkit-backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);background:var(--ha-dialog-surface-background,var(--mdc-theme-surface,#fff))}:host([flexContent]) .mdc-dialog .mdc-dialog__content{display:flex;flex-direction:column}.header_title{display:flex;align-items:center;direction:var(--direction)}.header_title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;padding-left:4px}.header_button{text-decoration:none;color:inherit;inset-inline-start:initial;inset-inline-end:-12px;direction:var(--direction)}.dialog-actions{inset-inline-start:initial!important;inset-inline-end:0px!important;direction:var(--direction)}`]}]}}),s.M)},55486:function(e,t,i){var a=i(44249),n=i(4918),s=i(6394),o=i(57243),r=i(15093),d=i(35359),l=i(36522);(0,a.Z)([(0,r.Mo)("ha-formfield")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,r.Cb)({type:Boolean,reflect:!0})],key:"disabled",value:()=>!1},{kind:"method",key:"render",value:function(){const e={"mdc-form-field--align-end":this.alignEnd,"mdc-form-field--space-between":this.spaceBetween,"mdc-form-field--nowrap":this.nowrap};return o.dy` <div class="mdc-form-field ${(0,d.$)(e)}"> <slot></slot> <label class="mdc-label" ="${this._labelClick}"> <slot name="label">${this.label}</slot> </label> </div>`}},{kind:"method",key:"_labelClick",value:function(){const e=this.input;if(e&&(e.focus(),!e.disabled))switch(e.tagName){case"HA-CHECKBOX":e.checked=!e.checked,(0,l.B)(e,"change");break;case"HA-RADIO":e.checked=!0,(0,l.B)(e,"change");break;default:e.click()}}},{kind:"field",static:!0,key:"styles",value:()=>[s.W,o.iv`:host(:not([alignEnd])) ::slotted(ha-switch){margin-right:10px;margin-inline-end:10px;margin-inline-start:inline}.mdc-form-field{align-items:var(--ha-formfield-align-items,center);gap:4px}.mdc-form-field>label{direction:var(--direction);margin-inline-start:0;margin-inline-end:auto;padding:0}:host([disabled]) label{color:var(--disabled-text-color)}`]}]}}),n.a)},65981:function(e,t,i){i.r(t),i.d(t,{HaIcon:()=>k});var a=i(44249),n=i(72621),s=i(57243),o=i(15093),r=i(36522),d=i(22381),l=i(80654),c=(i(92745),i(9359),i(31526),i(27608)),u=i(27486),h=i(37394);const f=JSON.parse('{"version":"7.4.47","parts":[{"file":"7a7139d465f1f41cb26ab851a17caa21a9331234"},{"start":"account-supervisor-circle-","file":"9561286c4c1021d46b9006596812178190a7cc1c"},{"start":"alpha-r-c","file":"eb466b7087fb2b4d23376ea9bc86693c45c500fa"},{"start":"arrow-decision-o","file":"4b3c01b7e0723b702940c5ac46fb9e555646972b"},{"start":"baby-f","file":"2611401d85450b95ab448ad1d02c1a432b409ed2"},{"start":"battery-hi","file":"89bcd31855b34cd9d31ac693fb073277e74f1f6a"},{"start":"blur-r","file":"373709cd5d7e688c2addc9a6c5d26c2d57c02c48"},{"start":"briefcase-account-","file":"a75956cf812ee90ee4f656274426aafac81e1053"},{"start":"calendar-question-","file":"3253f2529b5ebdd110b411917bacfacb5b7063e6"},{"start":"car-lig","file":"74566af3501ad6ae58ad13a8b6921b3cc2ef879d"},{"start":"cellphone-co","file":"7677f1cfb2dd4f5562a2aa6d3ae43a2e6997b21a"},{"start":"circle-slice-2","file":"70d08c50ec4522dd75d11338db57846588263ee2"},{"start":"cloud-co","file":"141d2bfa55ca4c83f4bae2812a5da59a84fec4ff"},{"start":"cog-s","file":"5a640365f8e47c609005d5e098e0e8104286d120"},{"start":"cookie-l","file":"dd85b8eb8581b176d3acf75d1bd82e61ca1ba2fc"},{"start":"currency-eur-","file":"15362279f4ebfc3620ae55f79d2830ad86d5213e"},{"start":"delete-o","file":"239434ab8df61237277d7599ebe066c55806c274"},{"start":"draw-","file":"5605918a592070803ba2ad05a5aba06263da0d70"},{"start":"emoticon-po","file":"a838cfcec34323946237a9f18e66945f55260f78"},{"start":"fan","file":"effd56103b37a8c7f332e22de8e4d67a69b70db7"},{"start":"file-question-","file":"b2424b50bd465ae192593f1c3d086c5eec893af8"},{"start":"flask-off-","file":"3b76295cde006a18f0301dd98eed8c57e1d5a425"},{"start":"food-s","file":"1c6941474cbeb1755faaaf5771440577f4f1f9c6"},{"start":"gamepad-u","file":"c6efe18db6bc9654ae3540c7dee83218a5450263"},{"start":"google-f","file":"df341afe6ad4437457cf188499cb8d2df8ac7b9e"},{"start":"head-c","file":"282121c9e45ed67f033edcc1eafd279334c00f46"},{"start":"home-pl","file":"27e8e38fc7adcacf2a210802f27d841b49c8c508"},{"start":"inbox-","file":"0f0316ec7b1b7f7ce3eaabce26c9ef619b5a1694"},{"start":"key-v","file":"ea33462be7b953ff1eafc5dac2d166b210685a60"},{"start":"leaf-circle-","file":"33db9bbd66ce48a2db3e987fdbd37fb0482145a4"},{"start":"lock-p","file":"b89e27ed39e9d10c44259362a4b57f3c579d3ec8"},{"start":"message-s","file":"7b5ab5a5cadbe06e3113ec148f044aa701eac53a"},{"start":"moti","file":"01024d78c248d36805b565e343dd98033cc3bcaf"},{"start":"newspaper-variant-o","file":"22a6ec4a4fdd0a7c0acaf805f6127b38723c9189"},{"start":"on","file":"c73d55b412f394e64632e2011a59aa05e5a1f50d"},{"start":"paw-ou","file":"3f669bf26d16752dc4a9ea349492df93a13dcfbf"},{"start":"pigg","file":"0c24edb27eb1c90b6e33fc05f34ef3118fa94256"},{"start":"printer-pos-sy","file":"41a55cda866f90b99a64395c3bb18c14983dcf0a"},{"start":"read","file":"c7ed91552a3a64c9be88c85e807404cf705b7edf"},{"start":"robot-vacuum-variant-o","file":"917d2a35d7268c0ea9ad9ecab2778060e19d90e0"},{"start":"sees","file":"6e82d9861d8fac30102bafa212021b819f303bdb"},{"start":"shoe-f","file":"e2fe7ce02b5472301418cc90a0e631f187b9f238"},{"start":"snowflake-m","file":"a28ba9f5309090c8b49a27ca20ff582a944f6e71"},{"start":"st","file":"7e92d03f095ec27e137b708b879dfd273bd735ab"},{"start":"su","file":"61c74913720f9de59a379bdca37f1d2f0dc1f9db"},{"start":"tag-plus-","file":"8f3184156a4f38549cf4c4fffba73a6a941166ae"},{"start":"timer-a","file":"baab470d11cfb3a3cd3b063ee6503a77d12a80d0"},{"start":"transit-d","file":"8561c0d9b1ac03fab360fd8fe9729c96e8693239"},{"start":"vector-arrange-b","file":"c9a3439257d4bab33d3355f1f2e11842e8171141"},{"start":"water-ou","file":"02dbccfb8ca35f39b99f5a085b095fc1275005a0"},{"start":"webc","file":"57bafd4b97341f4f2ac20a609d023719f23a619c"},{"start":"zip","file":"65ae094e8263236fa50486584a08c03497a38d93"}]}'),p=(0,u.Z)((async()=>{const e=(0,c.MT)("hass-icon-db","mdi-icon-store");{const t=await(0,c.U2)("_version",e);t?t!==f.version&&(await(0,c.ZH)(e),(0,c.t8)("_version",f.version,e)):(0,c.t8)("_version",f.version,e)}return e})),m=["mdi","hass","hassio","hademo"];let g=[];i(37583);const _={},v={},b=(0,d.D)((()=>(async e=>{const t=Object.keys(e),i=await Promise.all(Object.values(e));(await p())("readwrite",(a=>{i.forEach(((i,n)=>{Object.entries(i).forEach((([e,t])=>{a.put(t,e)})),delete e[t[n]]}))}))})(v)),2e3),y={};let k=(0,a.Z)([(0,o.Mo)("ha-icon")],(function(e,t){class a extends t{constructor(...t){super(...t),e(this)}}return{F:a,d:[{kind:"field",decorators:[(0,o.Cb)()],key:"icon",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_path",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_secondaryPath",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_viewBox",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_legacy",value:()=>!1},{kind:"method",key:"willUpdate",value:function(e){(0,n.Z)(a,"willUpdate",this,3)([e]),e.has("icon")&&(this._path=void 0,this._secondaryPath=void 0,this._viewBox=void 0,this._loadIcon())}},{kind:"method",key:"render",value:function(){return this.icon?this._legacy?s.dy` <iron-icon .icon="${this.icon}"></iron-icon>`:s.dy`<ha-svg-icon .path="${this._path}" .secondaryPath="${this._secondaryPath}" .viewBox="${this._viewBox}"></ha-svg-icon>`:s.Ld}},{kind:"method",key:"_loadIcon",value:async function(){if(!this.icon)return;const e=this.icon,[t,a]=this.icon.split(":",2);let n,s=a;if(!t||!s)return;if(!m.includes(t)){const i=l.g[t];return i?void(i&&"function"==typeof i.getIcon&&this._setCustomPath(i.getIcon(s),e)):void(this._legacy=!0)}if(this._legacy=!1,s in _){const e=_[s];let i;e.newName?(i=`Icon ${t}:${s} was renamed to ${t}:${e.newName}, please change your config, it will be removed in version ${e.removeIn}.`,s=e.newName):i=`Icon ${t}:${s} was removed from MDI, please replace this icon with an other icon in your config, it will be removed in version ${e.removeIn}.`,console.warn(i),(0,r.B)(this,"write_log",{level:"warning",message:i})}if(s in y)return void(this._path=y[s]);if("home-assistant"===s){const t=(await i.e("48348").then(i.bind(i,30511))).mdiHomeAssistant;return this.icon===e&&(this._path=t),void(y[s]=t)}try{n=await(e=>new Promise(((t,i)=>{if(g.push([e,t,i]),g.length>1)return;const a=p();(0,h.n)(1e3,(async()=>{(await a)("readonly",(e=>{for(const[t,i,a]of g)(0,c.RV)(e.get(t)).then((e=>i(e))).catch((e=>a(e)));g=[]}))})()).catch((e=>{for(const[,,t]of g)t(e);g=[]}))})))(s)}catch(e){n=void 0}if(n)return this.icon===e&&(this._path=n),void(y[s]=n);const o=(e=>{let t;for(const i of f.parts){if(void 0!==i.start&&e<i.start)break;t=i}return t.file})(s);if(o in v)return void this._setPath(v[o],s,e);const d=fetch(`/static/mdi/${o}.json`).then((e=>e.json()));v[o]=d,this._setPath(d,s,e),b()}},{kind:"method",key:"_setCustomPath",value:async function(e,t){const i=await e;this.icon===t&&(this._path=i.path,this._secondaryPath=i.secondaryPath,this._viewBox=i.viewBox)}},{kind:"method",key:"_setPath",value:async function(e,t,i){const a=await e;this.icon===i&&(this._path=a[t]),y[t]=a[t]}},{kind:"field",static:!0,key:"styles",value:()=>s.iv`:host{fill:currentcolor}`}]}}),s.oi)},30509:function(e,t,i){var a=i(44249),n=i(57243),s=i(15093);(0,a.Z)([(0,s.Mo)("ha-settings-row")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"slim",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,attribute:"three-line"})],key:"threeLine",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],key:"wrapHeading",value:()=>!1},{kind:"method",key:"render",value:function(){return n.dy` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${!this.threeLine}" ?three-line="${this.threeLine}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `}},{kind:"field",static:!0,key:"styles",value:()=>n.iv`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:var(--paper-item-body-three-line-min-height,88px)}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var(
--mdc-typography-body2-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif)
);-webkit-font-smoothing:antialiased;font-size:var(--mdc-typography-body2-font-size, .875rem);font-weight:var(--mdc-typography-body2-font-weight,400);line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(var(--paper-item-body-two-line-min-height,72px) - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`}]}}),n.oi)},51223:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),n=i(57243),s=i(15093),o=i(94571),r=i(59847),d=i(45729),l=(i(65981),i(37583),e([d]));d=(l.then?(await l)():l)[0];(0,a.Z)([(0,s.Mo)("ha-state-icon")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"stateValue",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"icon",value:void 0},{kind:"method",key:"render",value:function(){const e=this.icon||this.stateObj&&this.hass?.entities[this.stateObj.entity_id]?.icon||this.stateObj?.attributes.icon;if(e)return n.dy`<ha-icon .icon="${e}"></ha-icon>`;if(!this.stateObj)return n.Ld;if(!this.hass)return this._renderFallback();const t=(0,d.gD)(this.hass,this.stateObj,this.stateValue).then((e=>e?n.dy`<ha-icon .icon="${e}"></ha-icon>`:this._renderFallback()));return n.dy`${(0,o.C)(t)}`}},{kind:"method",key:"_renderFallback",value:function(){const e=(0,r.N)(this.stateObj);return n.dy` <ha-svg-icon .path="${d.Ls[e]||d.Rb}"></ha-svg-icon> `}}]}}),n.oi);t()}catch(e){t(e)}}))},83166:function(e,t,i){var a=i(44249),n=i(72621),s=i(1105),o=i(33990),r=i(57243),d=i(15093),l=i(5111);(0,a.Z)([(0,d.Mo)("ha-textfield")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"invalid",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"icon",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"iconTrailing",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)()],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"autocorrect",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"input-spellcheck"})],key:"inputSpellcheck",value:void 0},{kind:"field",decorators:[(0,d.IO)("input")],key:"formElement",value:void 0},{kind:"method",key:"updated",value:function(e){(0,n.Z)(i,"updated",this,3)([e]),(e.has("invalid")||e.has("errorMessage"))&&(this.setCustomValidity(this.invalid?this.errorMessage||this.validationMessage||"Invalid":""),(this.invalid||this.validateOnInitialRender||e.has("invalid")&&void 0!==e.get("invalid"))&&this.reportValidity()),e.has("autocomplete")&&(this.autocomplete?this.formElement.setAttribute("autocomplete",this.autocomplete):this.formElement.removeAttribute("autocomplete")),e.has("autocorrect")&&(this.autocorrect?this.formElement.setAttribute("autocorrect",this.autocorrect):this.formElement.removeAttribute("autocorrect")),e.has("inputSpellcheck")&&(this.inputSpellcheck?this.formElement.setAttribute("spellcheck",this.inputSpellcheck):this.formElement.removeAttribute("spellcheck"))}},{kind:"method",key:"renderIcon",value:function(e,t=!1){const i=t?"trailing":"leading";return r.dy` <span class="mdc-text-field__icon mdc-text-field__icon--${i}" tabindex="${t?1:-1}"> <slot name="${i}Icon"></slot> </span> `}},{kind:"field",static:!0,key:"styles",value:()=>[o.W,r.iv`.mdc-text-field__input{width:var(--ha-textfield-input-width,100%)}.mdc-text-field:not(.mdc-text-field--with-leading-icon){padding:var(--text-field-padding,0px 16px)}.mdc-text-field__affix--suffix{padding-left:var(--text-field-suffix-padding-left,12px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,12px);padding-inline-end:var(--text-field-suffix-padding-right,0px);direction:ltr}.mdc-text-field--with-leading-icon{padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,16px);direction:var(--direction)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:var(--text-field-suffix-padding-left,0px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,0px)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix{color:var(--secondary-text-color)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon{color:var(--secondary-text-color)}.mdc-text-field__icon--leading{margin-inline-start:16px;margin-inline-end:8px;direction:var(--direction)}.mdc-text-field__icon--trailing{padding:var(--textfield-icon-trailing-padding,12px)}.mdc-floating-label:not(.mdc-floating-label--float-above){text-overflow:ellipsis;width:inherit;padding-right:30px;padding-inline-end:30px;padding-inline-start:initial;box-sizing:border-box;direction:var(--direction)}input{text-align:var(--text-field-text-align,start)}input[type=color]{height:20px}::-ms-reveal{display:none}:host([no-spinner]) input::-webkit-inner-spin-button,:host([no-spinner]) input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=color]::-webkit-color-swatch-wrapper{padding:0}:host([no-spinner]) input[type=number]{-moz-appearance:textfield}.mdc-text-field__ripple{overflow:hidden}.mdc-text-field{overflow:var(--text-field-overflow)}.mdc-floating-label{inset-inline-start:16px!important;inset-inline-end:initial!important;transform-origin:var(--float-start);direction:var(--direction);text-align:var(--float-start)}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px - var(--text-field-suffix-padding-left,0px));inset-inline-start:calc(48px + var(--text-field-suffix-padding-left,0px))!important;inset-inline-end:initial!important;direction:var(--direction)}.mdc-text-field__input[type=number]{direction:var(--direction)}.mdc-text-field__affix--prefix{padding-right:var(--text-field-prefix-padding-right,2px);padding-inline-end:var(--text-field-prefix-padding-right,2px);padding-inline-start:initial}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix{color:var(--mdc-text-field-label-ink-color)}#helper-text ha-markdown{display:inline-block}`,"rtl"===l.E.document.dir?r.iv`.mdc-floating-label,.mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field__icon--leading,.mdc-text-field__input[type=number]{direction:rtl;--direction:rtl}`:r.iv``]}]}}),s.P)},43546:function(e,t,i){i.d(t,{Cp:()=>o,TZ:()=>r,W2:()=>s,YY:()=>l,iI:()=>n,j2:()=>d,oT:()=>a});i(9359),i(70104);const a=e=>e.map((e=>{if("string"!==e.type)return e;switch(e.name){case"username":return{...e,autocomplete:"username",autofocus:!0};case"password":return{...e,autocomplete:"current-password"};case"code":return{...e,autocomplete:"one-time-code",autofocus:!0};default:return e}})),n=(e,t)=>e.callWS({type:"auth/sign_path",path:t}),s=async(e,t,i,a)=>e.callWS({type:"config/auth_provider/homeassistant/create",user_id:t,username:i,password:a}),o=(e,t,i)=>e.callWS({type:"config/auth_provider/homeassistant/change_password",current_password:t,new_password:i}),r=(e,t,i)=>e.callWS({type:"config/auth_provider/homeassistant/admin_change_password",user_id:t,password:i}),d=(e,t,i)=>e.callWS({type:"config/auth_provider/homeassistant/admin_change_username",user_id:t,username:i}),l=(e,t,i)=>e.callWS({type:"auth/delete_all_refresh_tokens",token_type:t,delete_current_token:i})},99650:function(e,t,i){i.d(t,{B:()=>b,Ch:()=>l,Lr:()=>f,Mw:()=>_,T9:()=>p,Xn:()=>g,i4:()=>u,jU:()=>d,kU:()=>r,nk:()=>c,ou:()=>k,qW:()=>o,r:()=>m,sF:()=>s,z9:()=>x,zj:()=>y});var a=i(86190),n=i(43546);const s=[1,2,3,4,6,8],o=2,r="hls",d="web_rtc",l=(e,t,i)=>`${e}&width=${t}&height=${i}`,c=e=>`/api/camera_proxy_stream/${e.entity_id}?token=${e.attributes.access_token}`,u=async(e,t,i,n)=>{const s=await(0,a.U)("_cameraTmbUrl",9e3,h,e,t);return l(s,i,n)},h=async(e,t)=>{const i=await(0,n.iI)(e,`/api/camera_proxy/${t}`);return e.hassUrl(i.path)},f=async(e,t,i)=>{const a={type:"camera/stream",entity_id:t};i&&(a.format=i);const n=await e.callWS(a);return n.url=e.hassUrl(n.url),n},p=(e,t,i,a)=>e.connection.subscribeMessage(a,{type:"camera/webrtc/offer",entity_id:t,offer:i}),m=(e,t,i,a)=>e.callWS({type:"camera/webrtc/candidate",entity_id:t,session_id:i,candidate:a}),g=(e,t)=>e.callWS({type:"camera/get_prefs",entity_id:t}),_=(e,t,i)=>e.callWS({type:"camera/update_prefs",entity_id:t,...i}),v="media-source://camera/",b=e=>e.startsWith(v),y=e=>e.substring(22),k=async(e,t)=>e.callWS({type:"camera/capabilities",entity_id:t}),x=async(e,t)=>e.callWS({type:"camera/webrtc/get_client_config",entity_id:t})},80654:function(e,t,i){i.d(t,{g:()=>o});const a=window;"customIconsets"in a||(a.customIconsets={});const n=a.customIconsets,s=window;"customIcons"in s||(s.customIcons={});const o=new Proxy(s.customIcons,{get:(e,t)=>e[t]??(n[t]?{getIcon:n[t]}:void 0)})},96194:function(e,t,i){i.d(t,{ON:()=>o,PX:()=>r,V_:()=>d,lz:()=>s,nZ:()=>n,rk:()=>c});var a=i(92636);const n="unavailable",s="unknown",o="on",r="off",d=[n,s],l=[n,s,r],c=(0,a.z)(d);(0,a.z)(l)},69919:function(e,t,i){i.a(e,(async function(e,a){try{i.d(t,{EX:()=>f,Fj:()=>x,M$:()=>w,SO:()=>p,Sk:()=>g,TN:()=>C,UJ:()=>_,Ym:()=>$,hF:()=>m});i(9359),i(56475),i(70104);var n=i(73358),s=i(73850),o=i(59847),r=i(75278),d=i(50602),l=i(1416),c=i(76131),u=i(72473),h=e([d]);d=(h.then?(await h)():h)[0];let f=function(e){return e[e.INSTALL=1]="INSTALL",e[e.SPECIFIC_VERSION=2]="SPECIFIC_VERSION",e[e.PROGRESS=4]="PROGRESS",e[e.BACKUP=8]="BACKUP",e[e.RELEASE_NOTES=16]="RELEASE_NOTES",e}({});const p=e=>(0,r.e)(e,f.PROGRESS)&&null!==e.attributes.update_percentage,m=(e,t=!1)=>(e.state===n.uo||t&&Boolean(e.attributes.skipped_version))&&(0,r.e)(e,f.INSTALL),g=e=>!!e.attributes.in_progress,_=(e,t)=>e.callWS({type:"update/release_notes",entity_id:t}),v="ioBroker Core",b="ioBroker Supervisor",y="ioBroker Operating System",k=(e,t)=>Object.values(e).filter((e=>"update"===(0,o.N)(e))).sort(((e,i)=>e.attributes.title===v?-3:i.attributes.title===v?3:e.attributes.title===y?-2:i.attributes.title===y?2:e.attributes.title===b?-1:i.attributes.title===b?1:(0,l.fe)(e.attributes.title||e.attributes.friendly_name||"",i.attributes.title||i.attributes.friendly_name||"",t))),x=(e,t=!1)=>k(e).filter((e=>m(e,t))),w=async(e,t)=>{const i=k(t.states,t.locale.language).map((e=>e.entity_id));if(!i.length)return void(0,c.showAlertDialog)(e,{title:t.localize("ui.panel.config.updates.no_update_entities.title"),text:t.localize("ui.panel.config.updates.no_update_entities.description"),warning:!0});(0,u.C)(e,{message:t.localize("ui.panel.config.updates.checking_updates")});let a=0;const n=await t.connection.subscribeEvents((i=>{"update"===(0,s.M)(i.data.entity_id)&&(a++,(0,u.C)(e,{message:t.localize("ui.panel.config.updates.updates_refreshed",{count:a})}))}),"state_changed");await t.callService("homeassistant","update_entity",{entity_id:i}),await new Promise((e=>{setTimeout(e,15e3)})),n(),0===a&&(0,u.C)(e,{message:t.localize("ui.panel.config.updates.no_new_updates")})},$=(e,t)=>{const i=e.state,a=e.attributes;if("off"===i){return a.latest_version&&a.skipped_version===a.latest_version?a.latest_version:t.formatEntityState(e)}if("on"===i&&g(e)){return(0,r.e)(e,f.PROGRESS)&&null!==a.update_percentage?t.localize("ui.card.update.installing_with_progress",{progress:(0,d.uf)(a.update_percentage,t.locale,{maximumFractionDigits:a.display_precision,minimumFractionDigits:a.display_precision})}):t.localize("ui.card.update.installing")}return t.formatEntityState(e)},C=(e,t)=>{const i=e.entity_id,a=t[i]?.domain;if("hassio"!==a)return"generic";const n=e.attributes.title||"";return n===v?"home_assistant":[v,b,y].includes(n)?"generic":"addon"};a()}catch(e){a(e)}}))},96530:function(e,t,i){i.d(t,{X:()=>s,y:()=>n});var a=i(92636);const n=["input_boolean","input_button","input_text","input_number","input_datetime","input_select","counter","timer","schedule"],s=(0,a.z)(n)},2903:function(e,t,i){i.a(e,(async function(e,a){try{i.r(t);var n=i(44249),s=(i(9359),i(1331),i(52924),i(57243)),o=i(15093),r=i(27486),d=i(32587),l=(i(59826),i(73729)),c=(i(55486),i(23334),i(56002),i(30509),i(83166),i(43546)),u=i(4242),h=i(76131),f=i(28008),p=i(73192),m=i(77419),g=i(71364),_=i(36522),v=e([d]);d=(v.then?(await v)():v)[0];const b="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z",y=["device_tracker"],k={round:!0,quality:.75,aspectRatio:1};let x=(0,n.Z)(null,(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_name",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_userId",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_user",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_isAdmin",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_localOnly",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_deviceTrackers",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_picture",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_error",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_params",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_submitting",value:()=>!1},{kind:"field",decorators:[(0,o.SB)()],key:"_personExists",value:()=>!1},{kind:"field",key:"_deviceTrackersAvailable",value:()=>(0,r.Z)((e=>Object.keys(e.states).some((e=>"device_tracker"===e.substr(0,e.indexOf("."))))))},{kind:"method",key:"showDialog",value:async function(e){this._params=e,this._error=void 0,this._params.entry?(this._personExists=!0,this._name=this._params.entry.name||"",this._userId=this._params.entry.user_id||void 0,this._deviceTrackers=this._params.entry.device_trackers||[],this._picture=this._params.entry.picture||null,this._user=this._userId?this._params.users.find((e=>e.id===this._userId)):void 0,this._isAdmin=this._user?.group_ids.includes(u.Pb),this._localOnly=this._user?.local_only):(this._personExists=!1,this._name="",this._userId=void 0,this._user=void 0,this._isAdmin=void 0,this._localOnly=void 0,this._deviceTrackers=[],this._picture=null),await this.updateComplete}},{kind:"method",key:"closeDialog",value:function(){if(!this._personExists&&this._userId){const e=this._params?.refreshUsers;(0,u.h8)(this.hass,this._userId).then((()=>{e?.()})),this._userId=void 0}return this._params=void 0,(0,_.B)(this,"dialog-closed",{dialog:this.localName}),!0}},{kind:"method",key:"render",value:function(){if(!this._params)return s.Ld;const e=""===this._name.trim();return s.dy` <ha-dialog open ="${this.closeDialog}" scrimClickAction escapeKeyAction .heading="${(0,l.i)(this.hass,this._params.entry?this._params.entry.name:this.hass.localize("ui.panel.config.person.detail.new_person"))}"> <div> ${this._error?s.dy` <div class="error">${this._error}</div> `:""} <div class="form"> <ha-textfield dialogInitialFocus .value="${this._name}" ="${this._nameChanged}" label="${this.hass.localize("ui.panel.config.person.detail.name")}" .validationMessage="${this.hass.localize("ui.panel.config.person.detail.name_error_msg")}" required></ha-textfield> <ha-picture-upload .hass="${this.hass}" .value="${this._picture}" crop select-media .cropOptions="${k}" ="${this._pictureChanged}"></ha-picture-upload> <ha-settings-row> <span slot="heading"> ${this.hass.localize("ui.panel.config.person.detail.allow_login")} </span> <span slot="description"> ${this.hass.localize("ui.panel.config.person.detail.allow_login_description")} </span> <ha-switch ="${this._allowLoginChanged}" .disabled="${this._user&&(this._user.id===this.hass.user?.id||this._user.system_generated||this._user.is_owner)}" .checked="${this._userId}"></ha-switch> </ha-settings-row> ${this._renderUserFields()} ${this._deviceTrackersAvailable(this.hass)?s.dy` <p> ${this.hass.localize("ui.panel.config.person.detail.device_tracker_intro")} </p> <ha-entities-picker .hass="${this.hass}" .value="${this._deviceTrackers}" .includeDomains="${y}" .pickedEntityLabel="${this.hass.localize("ui.panel.config.person.detail.device_tracker_picked")}" .pickEntityLabel="${this.hass.localize("ui.panel.config.person.detail.device_tracker_pick")}" -changed="${this._deviceTrackersChanged}"> </ha-entities-picker> `:s.dy` <p> ${this.hass.localize("ui.panel.config.person.detail.no_device_tracker_available_intro")} </p> <ul> <li> <a href="${(0,p.R)(this.hass,"/integrations/#presence-detection")}" target="_blank" rel="noreferrer">${this.hass.localize("ui.panel.config.person.detail.link_presence_detection_integrations")}</a> </li> <li> <a ="${this.closeDialog}" href="/config/integrations"> ${this.hass.localize("ui.panel.config.person.detail.link_integrations_page")}</a> </li> </ul> `} </div> </div> ${this._params.entry?s.dy` <ha-button slot="secondaryAction" class="warning" ="${this._deleteEntry}" .disabled="${this._user&&this._user.is_owner||this._submitting}"> ${this.hass.localize("ui.panel.config.person.detail.delete")} </ha-button> `:s.Ld} <ha-button slot="primaryAction" ="${this._updateEntry}" .disabled="${e||this._submitting}"> ${this._params.entry?this.hass.localize("ui.panel.config.person.detail.update"):this.hass.localize("ui.panel.config.person.detail.create")} </ha-button> </ha-dialog> `}},{kind:"method",key:"_renderUserFields",value:function(){const e=this._user;return e?s.dy` ${e.system_generated?s.Ld:s.dy` <ha-settings-row> <span slot="heading"> ${this.hass.localize("ui.panel.config.person.detail.username")} </span> <span slot="description">${e.username}</span> ${this.hass.user?.is_owner?s.dy` <ha-icon-button .path="${b}" ="${this._changeUsername}" .label="${this.hass.localize("ui.panel.config.person.detail.change_username")}"> </ha-icon-button> `:s.Ld} </ha-settings-row> `} ${!e.system_generated&&this.hass.user?.is_owner?s.dy` <ha-settings-row> <span slot="heading"> ${this.hass.localize("ui.panel.config.person.detail.password")} </span> <span slot="description">************</span> ${this.hass.user?.is_owner?s.dy` <ha-icon-button .path="${b}" ="${this._changePassword}" .label="${this.hass.localize("ui.panel.config.person.detail.change_password")}"> </ha-icon-button> `:s.Ld} </ha-settings-row> `:s.Ld} <ha-settings-row> <span slot="heading"> ${this.hass.localize("ui.panel.config.person.detail.local_access_only")} </span> <span slot="description"> ${this.hass.localize("ui.panel.config.person.detail.local_access_only_description")} </span> <ha-switch .disabled="${e.system_generated}" .checked="${this._localOnly}" ="${this._localOnlyChanged}"> </ha-switch> </ha-settings-row> <ha-settings-row> <span slot="heading"> ${this.hass.localize("ui.panel.config.person.detail.admin")} </span> <span slot="description"> ${this.hass.localize("ui.panel.config.person.detail.admin_description")} </span> <ha-switch .disabled="${e.system_generated||e.is_owner}" .checked="${this._isAdmin}" ="${this._adminChanged}"> </ha-switch> </ha-settings-row> `:s.Ld}},{kind:"method",key:"_nameChanged",value:function(e){this._error=void 0,this._name=e.target.value}},{kind:"method",key:"_adminChanged",value:function(e){this._isAdmin=e.target.checked}},{kind:"method",key:"_localOnlyChanged",value:function(e){this._localOnly=e.target.checked}},{kind:"method",key:"_allowLoginChanged",value:async function(e){const t=e.target;if(t.checked)t.checked=!1,(0,m.G)(this,{userAddedCallback:async e=>{e&&(t.checked=!0,this._params.entry&&await this._params.updateEntry({user_id:e.id}),this._params?.refreshUsers(),this._user=e,this._userId=e.id,this._isAdmin=e.group_ids.includes(u.Pb),this._localOnly=e.local_only)},name:this._name});else if(this._userId){if(!await(0,h.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.config.person.detail.confirm_delete_user_title"),text:this.hass.localize("ui.panel.config.person.detail.confirm_delete_user_text",{name:this._name}),confirmText:this.hass.localize("ui.common.delete"),dismissText:this.hass.localize("ui.common.cancel"),destructive:!0}))return void(t.checked=!0);await(0,u.h8)(this.hass,this._userId),this._params?.refreshUsers(),this._userId=void 0,this._user=void 0,this._isAdmin=void 0,this._localOnly=void 0}}},{kind:"method",key:"_deviceTrackersChanged",value:function(e){this._error=void 0,this._deviceTrackers=e.detail.value}},{kind:"method",key:"_pictureChanged",value:function(e){this._error=void 0,this._picture=e.target.value}},{kind:"method",key:"_changePassword",value:async function(){if(!this._user)return;this._user.credentials.find((e=>"homeassistant"===e.type))?(0,g.o)(this,{userId:this._user.id}):(0,h.showAlertDialog)(this,{title:"No ioBroker credentials found."})}},{kind:"method",key:"_changeUsername",value:async function(){if(!this._user)return;if(!this._user.credentials.find((e=>"homeassistant"===e.type)))return void(0,h.showAlertDialog)(this,{title:"No ioBroker credentials found."});const e=await(0,h.showPromptDialog)(this,{inputLabel:this.hass.localize("ui.panel.config.users.change_username.new_username"),confirmText:this.hass.localize("ui.panel.config.users.change_username.change"),title:this.hass.localize("ui.panel.config.users.change_username.caption"),defaultValue:this._user.username});if(e)try{await(0,c.j2)(this.hass,this._user.id,e),this._params?.refreshUsers(),this._user={...this._user,username:e},(0,h.showAlertDialog)(this,{text:this.hass.localize("ui.panel.config.users.change_username.username_changed")})}catch(e){(0,h.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.users.change_username.failed"),text:e.message})}}},{kind:"method",key:"_updateEntry",value:async function(){this._submitting=!0;try{(this._userId&&this._name!==this._params.entry?.name||this._isAdmin!==this._user?.group_ids.includes(u.Pb)||this._localOnly!==this._user?.local_only)&&(await(0,u.Nq)(this.hass,this._userId,{name:this._name.trim(),group_ids:[this._isAdmin?u.Pb:u.CE],local_only:this._localOnly}),this._params?.refreshUsers());const e={name:this._name.trim(),device_trackers:this._deviceTrackers,user_id:this._userId||null,picture:this._picture};this._params.entry?await this._params.updateEntry(e):(await this._params.createEntry(e),this._personExists=!0),this.closeDialog()}catch(e){this._error=e?e.message:"Unknown error"}finally{this._submitting=!1}}},{kind:"method",key:"_deleteEntry",value:async function(){this._submitting=!0;try{await this._params.removeEntry()&&(this._params.entry.user_id&&(0,u.h8)(this.hass,this._params.entry.user_id),this.closeDialog())}finally{this._submitting=!1}}},{kind:"get",static:!0,key:"styles",value:function(){return[f.yu,s.iv`ha-picture-upload,ha-textfield{display:block}ha-picture-upload{margin-bottom:16px;--file-upload-image-border-radius:50%}ha-settings-row{padding:0}a{color:var(--primary-color)}p{color:var(--primary-text-color)}`]}}]}}),s.oi);customElements.define("dialog-person-detail",x),a()}catch(e){a(e)}}))},77419:function(e,t,i){i.d(t,{G:()=>s});var a=i(36522);const n=()=>Promise.all([i.e("5604"),i.e("36265")]).then(i.bind(i,78845)),s=(e,t)=>{(0,a.B)(e,"show-dialog",{dialogTag:"dialog-add-user",dialogImport:n,dialogParams:t})}},71364:function(e,t,i){i.d(t,{o:()=>s});var a=i(36522);const n=()=>Promise.all([i.e("63055"),i.e("99646")]).then(i.bind(i,45676)),s=(e,t)=>{(0,a.B)(e,"show-dialog",{dialogTag:"dialog-admin-change-password",dialogImport:n,dialogParams:t})}},30511:function(e,t,i){i.r(t),i.d(t,{mdiHomeAssistant:()=>a});const a="m12.151 1.5882c-.3262 0-.6523.1291-.8996.3867l-8.3848 8.7354c-.0619.0644-.1223.1368-.1807.2154-.0588.0789-.1151.1638-.1688.2534-.2593.4325-.4552.9749-.5232 1.4555-.0026.018-.0076.0369-.0094.0548-.0121.0987-.0184.1944-.0184.2857v8.0124a1.2731 1.2731 0 001.2731 1.2731h7.8313l-3.4484-3.593a1.7399 1.7399 0 111.0803-1.125l2.6847 2.7972v-10.248a1.7399 1.7399 0 111.5276-0v7.187l2.6702-2.782a1.7399 1.7399 0 111.0566 1.1505l-3.7269 3.8831v2.7299h8.174a1.2471 1.2471 0 001.2471-1.2471v-8.0375c0-.0912-.0059-.1868-.0184-.2855-.0603-.4935-.2636-1.0617-.5326-1.5105-.0537-.0896-.1101-.1745-.1684-.253-.0588-.079-.1191-.1513-.181-.2158l-8.3848-8.7363c-.2473-.2577-.5735-.3866-.8995-.3864"}};
//# sourceMappingURL=35103.fbb7fd0ec718c144.js.map