iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
57 lines • 32.8 kB
JavaScript
export const __rspack_esm_id=86296;export const __rspack_esm_ids=[86296];export const __webpack_modules__={26218(t,e,a){a.d(e,{a:()=>i});const o=(0,a(77796).n)(t=>{history.replaceState({scrollPosition:t},"")},300);function i(t){return(e,a)=>{if("object"==typeof a)throw new Error("This decorator does not support this compilation type.");const i=e.connectedCallback;e.connectedCallback=function(){i.call(this);const e=this[a];e&&this.updateComplete.then(()=>{const a=this.renderRoot.querySelector(t);a&&setTimeout(()=>{a.scrollTop=e},0)})};const r=Object.getOwnPropertyDescriptor(e,a);let s;if(void 0===r)s={get(){return this[`__${String(a)}`]||history.state?.scrollPosition},set(t){o(t),this[`__${String(a)}`]=t},configurable:!0,enumerable:!0};else{const t=r.set;s={...r,set(e){o(e),this[`__${String(a)}`]=e,t?.call(this,e)}}}Object.defineProperty(e,a,s)}}},93905(t,e,a){a.d(e,{I:()=>r});a(44114),a(18111),a(7588),a(69112),a(33110);class o{addFromStorage(t){if(!this._storage[t]){const e=this.storage.getItem(t);e&&(this._storage[t]=JSON.parse(e))}}subscribeChanges(t,e){return this._listeners[t]?this._listeners[t].push(e):this._listeners[t]=[e],()=>{this.unsubscribeChanges(t,e)}}unsubscribeChanges(t,e){if(!(t in this._listeners))return;const a=this._listeners[t].indexOf(e);-1!==a&&this._listeners[t].splice(a,1)}hasKey(t){return t in this._storage}getValue(t){return this._storage[t]}setValue(t,e){const a=this._storage[t];this._storage[t]=e;try{void 0===e?this.storage.removeItem(t):this.storage.setItem(t,JSON.stringify(e))}catch(t){}finally{this._listeners[t]&&this._listeners[t].forEach(t=>t(a,e))}}constructor(t=window.localStorage){this._storage={},this._listeners={},this.storage=t,this.storage===window.localStorage&&window.addEventListener("storage",t=>{t.key&&this.hasKey(t.key)&&(this._storage[t.key]=t.newValue?JSON.parse(t.newValue):t.newValue,this._listeners[t.key]&&this._listeners[t.key].forEach(e=>e(t.oldValue?JSON.parse(t.oldValue):t.oldValue,this._storage[t.key])))})}}const i={};function r(t){return(e,a)=>{if("object"==typeof a)throw new Error("This decorator does not support this compilation type.");const r=t.storage||"localStorage";let s;r&&r in i?s=i[r]:(s=new o(window[r]),i[r]=s);const n=t.key||String(a);s.addFromStorage(n);const l=!1!==t.subscribe?t=>s.subscribeChanges(n,(e,o)=>{t.requestUpdate(a,e)}):void 0,c=()=>s.hasKey(n)?t.deserializer?t.deserializer(s.getValue(n)):s.getValue(n):void 0,h=(e,o)=>{let i;t.state&&(i=c()),s.setValue(n,t.serializer?t.serializer(o):o),t.state&&e.requestUpdate(a,i)},d=e.performUpdate;if(e.performUpdate=function(){this.__initialized=!0,d.call(this)},t.subscribe){const t=e.connectedCallback,a=e.disconnectedCallback;e.connectedCallback=function(){t.call(this);const e=this;e.__unbsubLocalStorage||(e.__unbsubLocalStorage=l?.(this))},e.disconnectedCallback=function(){a.call(this);this.__unbsubLocalStorage?.(),this.__unbsubLocalStorage=void 0}}const p=Object.getOwnPropertyDescriptor(e,a);let u;if(void 0===p)u={get:()=>c(),set(t){(this.__initialized||void 0===c())&&h(this,t)},configurable:!0,enumerable:!0};else{const t=p.set;u={...p,get:()=>c(),set(e){(this.__initialized||void 0===c())&&h(this,e),t?.call(this,e)}}}Object.defineProperty(e,a,u)}}},68348(t,e,a){a.d(e,{u:()=>o});a(18111),a(13579);const o=t=>{if(t.some(t=>"tagName"in t&&("HA-MENU"===t.tagName||"HA-CODE-EDITOR"===t.tagName)))return!1;const e=t[0];if("TEXTAREA"===e.tagName||"HA-SELECT"===e.parentElement?.tagName||"HA-DROPDOWN"===e.parentElement?.tagName)return!1;if("INPUT"!==e.tagName)return!0;switch(e.type){case"button":case"checkbox":case"hidden":case"radio":case"range":return!0;default:return!1}}},76830(t,e,a){a.d(e,{d:()=>o});a(18111),a(20116);const o=(t,e=!0)=>{if(t.defaultPrevented||0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey)return;const a=t.composedPath().find(t=>"A"===t.tagName);if(!a||a.target||a.hasAttribute("download")||"external"===a.getAttribute("rel"))return;let o=a.href;if(!o||-1!==o.indexOf("mailto:"))return;const i=window.location,r=i.origin||i.protocol+"//"+i.host;return o.startsWith(r)&&(o=o.slice(r.length),"#"!==o)?(e&&t.preventDefault(),o):void 0}},77796(t,e,a){a.d(e,{n:()=>o});const o=(t,e,a=!0,o=!0)=>{let i,r=0;const s=(...s)=>{const n=()=>{r=!1===a?0:Date.now(),i=void 0,t(...s)},l=Date.now();r||!1!==a||(r=l);const c=e-(l-r);c<=0||c>e?(i&&(clearTimeout(i),i=void 0),r=l,t(...s)):i||!1===o||(i=window.setTimeout(n,c))};return s.cancel=()=>{clearTimeout(i),i=void 0,r=0},s}},34296(t,e,a){var o=a(62826),i=a(96229),r=a(26069),s=a(91735),n=a(42034),l=a(5124),c=a(22441);class h extends i.k{renderOutline(){return this.filled?l.qy`<span class="filled"></span>`:super.renderOutline()}getContainerClasses(){return{...super.getContainerClasses(),active:this.active}}renderPrimaryContent(){return l.qy` <span class="leading icon" aria-hidden="true"> ${this.renderLeadingIcon()} </span> <span class="label">${this.label}</span> <span class="touch"></span> <span class="trailing leading icon" aria-hidden="true"> ${this.renderTrailingIcon()} </span> `}renderTrailingIcon(){return l.qy`<slot name="trailing-icon"></slot>`}constructor(...t){super(...t),this.filled=!1,this.active=!1}}h.styles=[s.R,n.R,r.R,l.AH`:host{--md-sys-color-primary:var(--primary-text-color);--md-sys-color-on-surface:var(--primary-text-color);--md-assist-chip-container-shape:var(
--ha-assist-chip-container-shape,
16px
);--md-assist-chip-outline-color:var(--outline-color);--md-assist-chip-label-text-weight:400}.filled{display:flex;pointer-events:none;border-radius:inherit;inset:0;position:absolute;background-color:var(--ha-assist-chip-filled-container-color)}::slotted([slot=icon]),::slotted([slot=trailing-icon]){display:flex;--mdc-icon-size:var(--md-input-chip-icon-size, 18px);font-size:var(--_label-text-size)!important}.trailing.icon ::slotted(*),.trailing.icon svg{margin-inline-end:unset;margin-inline-start:var(--_icon-label-space)}::before{background:var(--ha-assist-chip-container-color,transparent);opacity:var(--ha-assist-chip-container-opacity, 1)}:where(.active)::before{background:var(--ha-assist-chip-active-container-color);opacity:var(--ha-assist-chip-active-container-opacity)}.label{font-family:var(--ha-font-family-body)}`],(0,o.Cg)([(0,c.MZ)({type:Boolean,reflect:!0})],h.prototype,"filled",void 0),(0,o.Cg)([(0,c.MZ)({type:Boolean})],h.prototype,"active",void 0),h=(0,o.Cg)([(0,c.EM)("ha-assist-chip")],h)},30201(t,e,a){a.a(t,async function(t,e){try{var o=a(62826),i=a(5124),r=a(22441),s=(a(67094),a(34127)),n=t([s]);s=(n.then?(await n)():n)[0];class l extends i.WF{render(){return i.qy` <ha-tooltip for="svg-icon">${this.tooltip}</ha-tooltip> <ha-svg-icon id="svg-icon" .path="${this.path}"></ha-svg-icon> `}}l.styles=i.AH`:host{display:inline-block;position:relative}ha-svg-icon{color:var(--secondary-text-color)}`,(0,o.Cg)([(0,r.MZ)()],l.prototype,"tooltip",void 0),(0,o.Cg)([(0,r.MZ)()],l.prototype,"path",void 0),l=(0,o.Cg)([(0,r.EM)("ha-data-table-icon")],l),e()}catch(t){e(t)}})},9503(t,e,a){var o=a(62826),i=a(97577),r=a(5124),s=a(22441);class n extends i.A{get value(){return this._value??null}set value(t){this._value=t}static get styles(){return[i.A.styles,r.AH`:host{--wa-form-control-toggle-size:var(--ha-checkbox-size, 20px);--wa-form-control-border-color:var(
--ha-checkbox-border-color,
var(--ha-color-border-neutral-normal)
);--wa-form-control-background-color:var(
--ha-checkbox-background-color,
var(--wa-form-control-background-color)
);--checked-icon-color:var(
--ha-checkbox-checked-icon-color,
var(--wa-color-brand-on-loud)
);--wa-form-control-activated-color:var(
--ha-checkbox-checked-background-color,
var(--ha-color-fill-primary-loud-resting)
);-webkit-tap-highlight-color:transparent;--checked-icon-scale:var(--ha-checkbox-checked-icon-scale, 0.9);--wa-form-control-required-content:var(
--ha-checkbox-required-marker,
var(--ha-input-required-marker, "*")
);--wa-form-control-required-content-offset:var(
--ha-checkbox-required-marker-offset,
0.1rem
)}[part~=base]{align-items:center;gap:var(--ha-space-2)}[part~=control]{border-radius:var(--ha-checkbox-border-radius,var(--ha-border-radius-sm));border-width:var(--ha-checkbox-border-width,var(--ha-border-width-md));margin-inline-end:0}[part~=label]{line-height:1}#hint{font-size:var(--ha-font-size-xs);color:var(--ha-color-text-secondary)}label:has(input:not(:disabled)):hover{--wa-form-control-border-color:var(
--ha-checkbox-border-color-hover,
var(--ha-checkbox-border-color, var(--ha-color-border-neutral-loud))
)}label:has(input:not(:disabled)):hover [part~=control]{background-color:var(--ha-checkbox-background-color-hover,var(--ha-color-form-background-hover))}label:has(input:checked:not(:disabled)):hover [part~=control],label:has(input:indeterminate:not(:disabled)):hover [part~=control]{background-color:var(--ha-checkbox-checked-background-color-hover,var(--ha-color-fill-primary-loud-hover));border-color:var(--ha-checkbox-checked-background-color-hover,var(--ha-color-fill-primary-loud-hover))}`]}}n=(0,o.Cg)([(0,s.EM)("ha-checkbox")],n)},70947(t,e,a){var o=a(62826),i=a(50759),r=(a(38625),a(5124)),s=a(22441);a(67094);class n extends i.A{renderCheckboxIcon(){return r.qy` <ha-svg-icon id="check" part="checkmark" .path="${this.checked?"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z":"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z"}"></ha-svg-icon> `}static get styles(){return[i.A.styles,r.AH`:host{min-height:var(--ha-space-10)}#check{visibility:visible;flex-shrink:0}#icon ::slotted(*){color:var(--ha-color-on-neutral-normal)}:host([variant=danger]) #icon ::slotted(*){color:var(--ha-color-on-danger-quiet)}:host([selected]){font-weight:var(--ha-font-weight-medium);color:var(--primary-color);background-color:var(--ha-color-fill-primary-quiet-resting);--icon-primary-color:var(--primary-color)}:host([selected]:hover){background-color:var(--ha-color-fill-primary-quiet-hover)}`]}constructor(...t){super(...t),this.selected=!1}}(0,o.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],n.prototype,"selected",void 0),n=(0,o.Cg)([(0,s.EM)("ha-dropdown-item")],n)},29823(t,e,a){a.a(t,async function(t,e){try{var o=a(62826),i=a(52254),r=a(5124),s=a(22441),n=t([i]);i=(n.then?(await n)():n)[0];class l extends i.A{get anchorElement(){return this.popup?.anchor}set anchorElement(t){this.popup&&(this.popup.anchor&&"ha-icon-button"===this.popup.anchor.localName&&(this.popup.anchor.selected=!1),this.popup.anchor=t)}getTrigger(){return this.anchorElement?this.anchorElement:super.getTrigger()}async showMenu(){await super.showMenu();const t=this.getTrigger();t&&"ha-icon-button"===t.localName&&(t.selected=!0)}async hideMenu(){const t=this.getTrigger();t&&"ha-icon-button"===t.localName&&(t.selected=!1),await super.hideMenu()}static get styles(){return[i.A.styles,r.AH`:host{font-size:var(--ha-dropdown-font-size, var(--ha-font-size-m));--wa-color-surface-raised:var(
--card-background-color,
var(--ha-dialog-surface-background, var(--mdc-theme-surface, #fff)),
)}#menu{padding:var(--ha-space-1)}wa-popup::part(popup){z-index:200}`]}constructor(...t){super(...t),this.dropdownTag="ha-dropdown",this.dropdownItemTag="ha-dropdown-item"}}(0,o.Cg)([(0,s.MZ)({attribute:!1})],l.prototype,"dropdownTag",void 0),(0,o.Cg)([(0,s.MZ)({attribute:!1})],l.prototype,"dropdownItemTag",void 0),l=(0,o.Cg)([(0,s.EM)("ha-dropdown")],l),e()}catch(t){e(t)}})},90248(t,e,a){a.a(t,async function(t,o){try{a.r(e),a.d(e,{HaIconButtonArrowPrev:()=>p});var i=a(62826),r=a(5124),s=a(22441),n=a(63091),l=a(26300),c=t([l]);l=(c.then?(await c)():c)[0];const h="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z";class p extends r.WF{render(){return r.qy` <ha-icon-button .disabled="${this.disabled}" .label="${this.label||this.hass?.localize("ui.common.back")||"Back"}" .path="${this._icon}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"></ha-icon-button> `}constructor(...t){super(...t),this.disabled=!1,this._icon="rtl"===n.G.document.dir?d:h}}(0,i.Cg)([(0,s.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],p.prototype,"disabled",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"href",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"target",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"rel",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"download",void 0),(0,i.Cg)([(0,s.wk)()],p.prototype,"_icon",void 0),p=(0,i.Cg)([(0,s.EM)("ha-icon-button-arrow-prev")],p),o()}catch(t){o(t)}})},26300(t,e,a){a.a(t,async function(t,o){try{a.r(e),a.d(e,{HaIconButton:()=>h});var i=a(62826),r=a(5124),s=a(22441),n=a(63672),l=a(18350),c=(a(67094),t([l]));l=(c.then?(await c)():c)[0];class h extends r.WF{render(){return r.qy` <ha-button appearance="plain" variant="neutral" aria-label="${(0,n.J)(this.label)}" title="${(0,n.J)(this.hideTitle?void 0:this.label)}" aria-haspopup="${(0,n.J)(this.ariaHasPopup)}" .disabled="${this.disabled}" .iconTag="${this.path?"ha-svg-icon":"span"}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"> ${this.path?r.qy`<ha-svg-icon aria-hidden="true" .path="${this.path}"></ha-svg-icon>`:r.qy`<span><slot></slot></span>`} </ha-button> `}constructor(...t){super(...t),this.disabled=!1,this.hideTitle=!1,this.selected=!1}}h.shadowRootOptions={mode:"open",delegatesFocus:!0},h.styles=r.AH`:host{display:inline-block;outline:0;--ha-button-height:var(--ha-icon-button-size, 48px)}ha-button{position:relative;isolation:isolate;--wa-form-control-padding-inline:var(
--ha-icon-button-padding-inline,
--ha-space-2
);--wa-color-on-normal:currentColor;--wa-color-fill-quiet:transparent;--ha-button-label-overflow:visible}ha-button::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background-color:currentColor;opacity:0;pointer-events:none}ha-button::part(base){width:var(--wa-form-control-height);aspect-ratio:1;outline-offset:-4px}ha-button::part(label){display:flex}:host([selected]) ha-button::after{opacity:.1} (hover:hover){:host(:hover:not([disabled])) ha-button::after{opacity:.1}}`,(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],h.prototype,"disabled",void 0),(0,i.Cg)([(0,s.MZ)({type:String})],h.prototype,"path",void 0),(0,i.Cg)([(0,s.MZ)({type:String})],h.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)({type:String,attribute:"aria-haspopup"})],h.prototype,"ariaHasPopup",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"hide-title",type:Boolean})],h.prototype,"hideTitle",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],h.prototype,"selected",void 0),(0,i.Cg)([(0,s.MZ)()],h.prototype,"href",void 0),(0,i.Cg)([(0,s.MZ)()],h.prototype,"target",void 0),(0,i.Cg)([(0,s.MZ)()],h.prototype,"rel",void 0),(0,i.Cg)([(0,s.MZ)()],h.prototype,"download",void 0),h=(0,i.Cg)([(0,s.EM)("ha-icon-button")],h),o()}catch(t){o(t)}})},2054(t,e,a){a.a(t,async function(t,e){try{var o=a(62826),i=a(5124),r=a(22441),s=a(1087),n=a(44249),l=a(26300),c=t([l]);l=(c.then?(await c)():c)[0];const h="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z";class d extends i.WF{connectedCallback(){super.connectedCallback(),this._attachNotifOnConnect&&(this._attachNotifOnConnect=!1,this._subscribeNotifications())}disconnectedCallback(){super.disconnectedCallback(),this._unsubNotifications&&(this._attachNotifOnConnect=!0,this._unsubNotifications(),this._unsubNotifications=void 0)}render(){if(!this._show)return i.s6;const t=this._hasNotifications&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);return i.qy` <ha-icon-button .label="${this.hass.localize("ui.sidebar.sidebar_toggle")}" .path="${h}" ="${this._toggleMenu}"></ha-icon-button> ${t?i.qy`<div class="dot"></div>`:""} `}willUpdate(t){if(super.willUpdate(t),!t.has("narrow")&&!t.has("hass"))return;const e=t.has("hass")?t.get("hass"):this.hass,a=t.has("narrow")?t.get("narrow"):this.narrow,o=!1===e?.kioskMode&&(a||"always_hidden"===e?.dockedSidebar),i=!1===this.hass.kioskMode&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);this.hasUpdated&&o===i||(this._show=i||this._alwaysVisible,i?this._subscribeNotifications():this._unsubNotifications&&(this._unsubNotifications(),this._unsubNotifications=void 0))}_subscribeNotifications(){if(this._unsubNotifications)throw new Error("Already subscribed");this._unsubNotifications=(0,n.V)(this.hass.connection,t=>{this._hasNotifications=t.length>0})}_toggleMenu(){(0,s.r)(this,"hass-toggle-menu")}constructor(...t){super(...t),this.narrow=!1,this._hasNotifications=!1,this._show=!1,this._alwaysVisible=!1,this._attachNotifOnConnect=!1}}d.styles=i.AH`:host{position:relative}.dot{pointer-events:none;position:absolute;background-color:var(--accent-color);width:12px;height:12px;top:9px;right:7px;inset-inline-end:7px;inset-inline-start:initial;border-radius:var(--ha-border-radius-circle);border:2px solid var(--app-header-background-color)}`,(0,o.Cg)([(0,r.MZ)({type:Boolean})],d.prototype,"narrow",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,o.Cg)([(0,r.wk)()],d.prototype,"_hasNotifications",void 0),(0,o.Cg)([(0,r.wk)()],d.prototype,"_show",void 0),d=(0,o.Cg)([(0,r.EM)("ha-menu-button")],d),e()}catch(t){e(t)}})},54276(t,e,a){var o=a(62826),i=a(76482),r=a(91382),s=a(96245),n=a(5124),l=a(22441);class c extends r.n{attach(t){super.attach(t),this.attachableTouchController.attach(t)}disconnectedCallback(){super.disconnectedCallback(),this.hovered=!1,this.pressed=!1}detach(){super.detach(),this.attachableTouchController.detach()}_onTouchControlChange(t,e){t?.removeEventListener("touchend",this._handleTouchEnd),e?.addEventListener("touchend",this._handleTouchEnd)}constructor(...t){super(...t),this.attachableTouchController=new i.i(this,this._onTouchControlChange.bind(this)),this._handleTouchEnd=()=>{this.disabled||super.endPressAnimation()}}}c.styles=[s.R,n.AH`:host{--md-ripple-hover-opacity:var(--ha-ripple-hover-opacity, 0.08);--md-ripple-pressed-opacity:var(--ha-ripple-pressed-opacity, 0.12);--md-ripple-hover-color:var(
--ha-ripple-hover-color,
var(--ha-ripple-color, var(--secondary-text-color))
);--md-ripple-pressed-color:var(
--ha-ripple-pressed-color,
var(--ha-ripple-color, var(--secondary-text-color))
)}`],c=(0,o.Cg)([(0,l.EM)("ha-ripple")],c)},67094(t,e,a){a.r(e),a.d(e,{HaSvgIcon:()=>s});var o=a(62826),i=a(5124),r=a(22441);class s extends i.WF{render(){return i.JW` <svg viewBox="${this.viewBox||"0 0 24 24"}" preserveAspectRatio="xMidYMid meet" focusable="false" role="img" aria-hidden="true"> <g> ${this.path?i.JW`<path class="primary-path" d="${this.path}"></path>`:i.s6} ${this.secondaryPath?i.JW`<path class="secondary-path" d="${this.secondaryPath}"></path>`:i.s6} </g> </svg>`}}s.styles=i.AH`:host{display:var(--ha-icon-display,inline-flex);align-items:center;justify-content:center;position:relative;vertical-align:middle;fill:var(--icon-primary-color,currentcolor);width:var(--mdc-icon-size,24px);height:var(--mdc-icon-size,24px)}svg{width:100%;height:100%;pointer-events:none;display:block}path.primary-path{opacity:var(--icon-primary-opactity, 1)}path.secondary-path{fill:var(--icon-secondary-color,currentcolor);opacity:var(--icon-secondary-opactity, .5)}`,(0,o.Cg)([(0,r.MZ)()],s.prototype,"path",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],s.prototype,"secondaryPath",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],s.prototype,"viewBox",void 0),s=(0,o.Cg)([(0,r.EM)("ha-svg-icon")],s)},44249(t,e,a){a.d(e,{V:()=>o});const o=(t,e)=>{const a=new i,o=t.subscribeMessage(t=>e(a.processMessage(t)),{type:"persistent_notification/subscribe"});return()=>{o.then(t=>t?.())}};class i{processMessage(t){if("removed"===t.type)for(const e of Object.keys(t.notifications))delete this.notifications[e];else this.notifications={...this.notifications,...t.notifications};return Object.values(this.notifications)}constructor(){this.notifications={}}}},28669(t,e,a){a.d(e,{TK:()=>n,_2:()=>c,eR:()=>i,hG:()=>l,hU:()=>r,kg:()=>s,wj:()=>o,xg:()=>h});a(44114),a(18111),a(61701);const o="system-admin",i="system-users",r=async t=>t.callWS({type:"config/auth/list"}),s=async(t,e,a,o)=>t.callWS({type:"config/auth/create",name:e,group_ids:a,local_only:o}),n=async(t,e,a)=>t.callWS({...a,type:"config/auth/update",user_id:e}),l=async(t,e)=>t.callWS({type:"config/auth/delete",user_id:e}),c=t=>t?t.trim().split(" ").slice(0,3).map(t=>t.substring(0,1)).join(""):"?",h=(t,e,a)=>{const o=[],i=e=>t.localize(`ui.panel.config.users.${e}`);return e.is_owner&&o.push(["M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4S20 7.58 20 12C20 16.42 16.42 20 12 20M8 14L7 8L10 10L12 7L14 10L17 8L16 14H8M8.56 16C8.22 16 8 15.78 8 15.44V15H16V15.44C16 15.78 15.78 16 15.44 16H8.56Z",i("is_owner")]),a&&e.system_generated&&o.push(["M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z",i("is_system")]),e.local_only&&o.push(["M12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12 16.4 20 12 20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M11 14H13V17H16V12H18L12 7L6 12H8V17H11V14",i("is_local")]),e.is_active||o.push(["M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z",i("is_not_active")]),o}},1400(t,e,a){a.a(t,async function(t,o){try{a.r(e),a.d(e,{HaConfigUsers:()=>_});a(18111),a(22489),a(20116),a(7588),a(61701);var i=a(62826),r=a(5124),s=a(22441),n=a(22786),l=a(30201),c=a(18350),h=(a(67094),a(28669)),d=a(65063),p=a(72553),u=a(25635),g=a(44191),v=a(67575),b=a(93905),m=t([l,c,p]);[l,c,p]=m.then?(await m)():m;const f="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",y="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";class _ extends r.WF{firstUpdated(t){super.firstUpdated(t),this._fetchUsers()}render(){return r.qy` <hass-tabs-subpage-data-table .hass="${this.hass}" .narrow="${this.narrow}" .route="${this.route}" back-path="/config" .tabs="${u.configSections.persons}" .columns="${this._columns(this.narrow,this.hass.localize)}" .data="${this._userData(this._users,this.hass.localize)}" .columnOrder="${this._activeColumnOrder}" .hiddenColumns="${this._activeHiddenColumns}" -changed="${this._handleColumnsChanged}" .initialGroupColumn="${this._activeGrouping}" .initialCollapsedGroups="${this._activeCollapsed}" .initialSorting="${this._activeSorting}" -changed="${this._handleSortingChanged}" -changed="${this._handleGroupingChanged}" -changed="${this._handleCollapseChanged}" .filter="${this._filter}" -changed="${this._handleSearchChange}" -click="${this._editUser}" has-fab clickable> <ha-button slot="fab" size="large" ="${this._addUser}"> <ha-svg-icon slot="start" .path="${y}"></ha-svg-icon> ${this.hass.localize("ui.panel.config.users.picker.add_user")} </ha-button> </hass-tabs-subpage-data-table> `}async _fetchUsers(){this._users=await(0,h.hU)(this.hass),this._users.forEach(t=>{t.is_owner&&t.group_ids.unshift("owner")})}_editUser(t){const e=t.detail.id,a=this._users.find(t=>t.id===e);a&&(0,v.I)(this,{entry:a,replaceEntry:t=>{this._users=this._users.map(e=>e.id===t.id?t:e)},updateEntry:async t=>{const e=await(0,h.TK)(this.hass,a.id,t);this._users=this._users.map(t=>t===a?e.user:t)},removeEntry:async()=>{if(!await(0,d.dk)(this,{title:this.hass.localize("ui.panel.config.users.editor.confirm_user_deletion_title",{name:a.name}),text:this.hass.localize("ui.panel.config.users.editor.confirm_user_deletion_text"),dismissText:this.hass.localize("ui.common.cancel"),confirmText:this.hass.localize("ui.common.delete"),destructive:!0}))return!1;try{return await(0,h.hG)(this.hass,a.id),this._users=this._users.filter(t=>t!==a),!0}catch(t){return!1}}})}_addUser(){(0,g.E)(this,{userAddedCallback:async t=>{t&&(this._users=[...this._users,t])}})}_handleSortingChanged(t){this._activeSorting=t.detail}_handleGroupingChanged(t){this._activeGrouping=t.detail.value}_handleCollapseChanged(t){this._activeCollapsed=t.detail.value}_handleSearchChange(t){this._filter=t.detail.value}_handleColumnsChanged(t){this._activeColumnOrder=t.detail.columnOrder,this._activeHiddenColumns=t.detail.hiddenColumns}constructor(...t){super(...t),this.isWide=!1,this.narrow=!1,this._users=[],this._filter="",this._columns=(0,n.A)((t,e)=>({name:{title:e("ui.panel.config.users.picker.headers.name"),main:!0,sortable:!0,filterable:!0,direction:"asc",flex:2},username:{title:e("ui.panel.config.users.picker.headers.username"),sortable:!0,filterable:!0,template:t=>r.qy`${t.username||"—"}`},group:{title:e("ui.panel.config.users.picker.headers.group"),sortable:!0,filterable:!0,groupable:!0},is_active:{title:this.hass.localize("ui.panel.config.users.picker.headers.is_active"),type:"icon",sortable:!0,filterable:!0,hidden:t,template:t=>t.is_active?r.qy`<ha-svg-icon .path="${f}"></ha-svg-icon>`:""},system_generated:{title:this.hass.localize("ui.panel.config.users.picker.headers.system"),type:"icon",sortable:!0,filterable:!0,hidden:t,template:t=>t.system_generated?r.qy`<ha-svg-icon .path="${f}"></ha-svg-icon>`:""},local_only:{title:this.hass.localize("ui.panel.config.users.picker.headers.local"),type:"icon",sortable:!0,filterable:!0,hidden:t,template:t=>t.local_only?r.qy`<ha-svg-icon .path="${f}"></ha-svg-icon>`:""},icons:{title:"",label:this.hass.localize("ui.panel.config.users.picker.headers.icon"),type:"icon",sortable:!1,filterable:!1,minWidth:"104px",hidden:!t,showNarrow:!0,template:t=>{const e=(0,h.xg)(this.hass,t,!1);return r.qy`${e.map(([t,e])=>r.qy`<ha-data-table-icon .path="${t}" .tooltip="${e}"></ha-data-table-icon>`)}`}}})),this._userData=(0,n.A)((t,e)=>t.map(t=>({...t,name:t.name||e("ui.panel.config.users.editor.unnamed_user"),group:e(`groups.${t.group_ids[0]}`)})))}}(0,i.Cg)([(0,s.MZ)({attribute:!1})],_.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"is-wide",type:Boolean})],_.prototype,"isWide",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],_.prototype,"narrow",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],_.prototype,"route",void 0),(0,i.Cg)([(0,s.wk)()],_.prototype,"_users",void 0),(0,i.Cg)([(0,b.I)({key:"users-table-sort",state:!1,subscribe:!1})],_.prototype,"_activeSorting",void 0),(0,i.Cg)([(0,b.I)({key:"users-table-grouping",state:!1,subscribe:!1})],_.prototype,"_activeGrouping",void 0),(0,i.Cg)([(0,b.I)({key:"users-table-column-order",state:!1,subscribe:!1})],_.prototype,"_activeColumnOrder",void 0),(0,i.Cg)([(0,b.I)({key:"users-table-hidden-columns",state:!1,subscribe:!1})],_.prototype,"_activeHiddenColumns",void 0),(0,i.Cg)([(0,b.I)({storage:"sessionStorage",key:"users-table-search",state:!0,subscribe:!1})],_.prototype,"_filter",void 0),(0,i.Cg)([(0,b.I)({key:"users-table-collapsed",state:!1,subscribe:!1})],_.prototype,"_activeCollapsed",void 0),_=(0,i.Cg)([(0,s.EM)("ha-config-users")],_),o()}catch(t){o(t)}})},67575(t,e,a){a.d(e,{I:()=>r});var o=a(1087);const i=()=>a.e(94296).then(a.bind(a,7915)),r=(t,e)=>{(0,o.r)(t,"show-dialog",{dialogTag:"dialog-user-detail",dialogImport:i,dialogParams:e})}},14503(t,e,a){a.d(e,{RF:()=>r,dp:()=>l,kO:()=>n,nA:()=>s,og:()=>i});var o=a(5124);const i=o.AH`button.link{background:0 0;color:inherit;border:none;padding:0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer;outline:0}`,r=o.AH`:host{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}app-header div[sticky]{height:48px}app-toolbar [main-title]{margin-left:20px;margin-inline-start:20px;margin-inline-end:initial}.header{transition:box-shadow .2s linear,width var(--ha-animation-duration-normal) ease,padding-left var(--ha-animation-duration-normal) ease,padding-right var(--ha-animation-duration-normal) ease} (prefers-reduced-motion:reduce){.header{transition:box-shadow .2s linear}}h1{font-family:var(--ha-font-family-heading);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-2xl);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed)}h2{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal)}h3{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}a{color:var(--primary-color)}.secondary{color:var(--secondary-text-color)}.error{color:var(--error-color)}.warning{color:var(--error-color)}${i} .card-actions a{text-decoration:none}.card-actions .warning{--mdc-theme-primary:var(--error-color)}.layout.horizontal,.layout.vertical{display:flex}.layout.inline{display:inline-flex}.layout.horizontal{flex-direction:row}.layout.vertical{flex-direction:column}.layout.wrap{flex-wrap:wrap}.layout.no-wrap{flex-wrap:nowrap}.layout.center,.layout.center-center{align-items:center}.layout.bottom{align-items:flex-end}.layout.center-center,.layout.center-justified{justify-content:center}.flex{flex:1;flex-basis:0.000000001px}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.layout.justified{justify-content:space-between}`,s=o.AH`ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:400px;--mdc-dialog-max-width:600px;--mdc-dialog-max-width:min(600px, 95vw);--justify-action-buttons:space-between;--dialog-container-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--dialog-surface-padding:0px}ha-adaptive-dialog .form,ha-dialog .form{color:var(--primary-text-color)}a{color:var(--primary-color)} all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:100vw;--mdc-dialog-max-width:100vw;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--dialog-container-padding:0px;--dialog-surface-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--vertical-align-dialog:flex-end}ha-dialog{--ha-dialog-border-radius:var(--ha-border-radius-square)}}.error{color:var(--error-color)}`,n=o.AH`ha-adaptive-dialog,ha-dialog{--vertical-align-dialog:flex-start;--dialog-surface-margin-top:var(--ha-space-10);--mdc-dialog-max-height:calc(
100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
);--mdc-dialog-max-height:calc(
100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
);--ha-dialog-max-height:calc(
100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
);--ha-dialog-max-height:calc(
100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
)} all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--dialog-surface-margin-top:0px;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--ha-dialog-max-height:100vh;--ha-dialog-max-height:100svh}}`,l=o.AH`.ha-scrollbar::-webkit-scrollbar{width:.4rem;height:.4rem}.ha-scrollbar::-webkit-scrollbar-thumb{border-radius:var(--ha-border-radius-sm);background:var(--scrollbar-thumb-color)}.ha-scrollbar{overflow-y:auto;scrollbar-color:var(--scrollbar-thumb-color) transparent;scrollbar-width:thin}`;o.AH`body{background-color:var(--primary-background-color);color:var(--primary-text-color);height:calc(100vh - 32px);width:100vw}`}};