iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
66 lines • 36.8 kB
JavaScript
export const __rspack_esm_id=44977;export const __rspack_esm_ids=[44977];export const __webpack_modules__={26218(t,a,o){o.d(a,{a:()=>r});const e=(0,o(77796).n)(t=>{history.replaceState({scrollPosition:t},"")},300);function r(t){return(a,o)=>{if("object"==typeof o)throw new Error("This decorator does not support this compilation type.");const r=a.connectedCallback;a.connectedCallback=function(){r.call(this);const a=this[o];a&&this.updateComplete.then(()=>{const o=this.renderRoot.querySelector(t);o&&setTimeout(()=>{o.scrollTop=a},0)})};const i=Object.getOwnPropertyDescriptor(a,o);let s;if(void 0===i)s={get(){return this[`__${String(o)}`]||history.state?.scrollPosition},set(t){e(t),this[`__${String(o)}`]=t},configurable:!0,enumerable:!0};else{const t=i.set;s={...i,set(a){e(a),this[`__${String(o)}`]=a,t?.call(this,a)}}}Object.defineProperty(a,o,s)}}},57237(t,a,o){o.d(a,{d:()=>e});const e=t=>t.stopPropagation()},77796(t,a,o){o.d(a,{n:()=>e});const e=(t,a,o=!0,e=!0)=>{let r,i=0;const s=(...s)=>{const n=()=>{i=!1===o?0:Date.now(),r=void 0,t(...s)},l=Date.now();i||!1!==o||(i=l);const h=a-(l-i);h<=0||h>a?(r&&(clearTimeout(r),r=void 0),i=l,t(...s)):r||!1===e||(r=window.setTimeout(n,h))};return s.cancel=()=>{clearTimeout(r),r=void 0,i=0},s}},9503(t,a,o){var e=o(62826),r=o(97577),i=o(5124),s=o(22441);class n extends r.A{get value(){return this._value??null}set value(t){this._value=t}static get styles(){return[r.A.styles,i.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,e.Cg)([(0,s.EM)("ha-checkbox")],n)},65829(t,a,o){o.a(t,async function(t,e){try{o.r(a),o.d(a,{HaSpinner:()=>h});var r=o(62826),i=o(55262),s=o(5124),n=o(22441),l=t([i]);i=(l.then?(await l)():l)[0];class h extends i.A{updated(t){if(super.updated(t),t.has("size"))switch(this.size){case"tiny":this.style.setProperty("--ha-spinner-size","16px");break;case"small":this.style.setProperty("--ha-spinner-size","28px");break;case"medium":this.style.setProperty("--ha-spinner-size","48px");break;case"large":this.style.setProperty("--ha-spinner-size","68px");break;case void 0:this.style.removeProperty("--ha-progress-ring-size")}}static get styles(){return[i.A.styles,s.AH`:host{--indicator-color:var(
--ha-spinner-indicator-color,
var(--primary-color)
);--track-color:var(--ha-spinner-divider-color, var(--divider-color));--track-width:4px;--speed:3.5s;font-size:var(--ha-spinner-size, 48px)}`]}}(0,r.Cg)([(0,n.MZ)()],h.prototype,"size",void 0),h=(0,r.Cg)([(0,n.EM)("ha-spinner")],h),e()}catch(t){e(t)}})},34127(t,a,o){o.a(t,async function(t,a){try{var e=o(62826),r=o(52630),i=o(5124),s=o(22441),n=t([r]);r=(n.then?(await n)():n)[0];class l extends r.A{static get styles(){return[r.A.styles,i.AH`:host{--wa-tooltip-background-color:var(
--ha-tooltip-background-color,
var(--ha-color-surface-default)
);--wa-tooltip-content-color:var(
--ha-tooltip-text-color,
var(--primary-text-color)
);--wa-tooltip-font-family:var(
--ha-tooltip-font-family,
var(--ha-font-family-body)
);--wa-tooltip-font-size:var(
--ha-tooltip-font-size,
var(--ha-font-size-m)
);--wa-tooltip-font-weight:var(
--ha-tooltip-font-weight,
var(--ha-font-weight-medium)
);--wa-tooltip-line-height:var(
--ha-tooltip-line-height,
var(--ha-line-height-condensed)
);--wa-tooltip-padding:var(--ha-tooltip-padding, var(--ha-space-2));--wa-tooltip-border-radius:var(
--ha-tooltip-border-radius,
var(--ha-border-radius-md)
);--wa-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 0px);--wa-tooltip-border-width:0px;--wa-z-index-tooltip:1000}.tooltip::part(popup){animation-duration:var(--ha-tooltip-animation-duration, 0)}.body{box-shadow:var(--ha-tooltip-box-shadow,var(--ha-box-shadow-m))}`]}constructor(...t){super(...t),this.showDelay=350,this.hideDelay=150}}(0,e.Cg)([(0,s.MZ)({attribute:"show-delay",type:Number})],l.prototype,"showDelay",void 0),(0,e.Cg)([(0,s.MZ)({attribute:"hide-delay",type:Number})],l.prototype,"hideDelay",void 0),l=(0,e.Cg)([(0,s.EM)("ha-tooltip")],l),a()}catch(t){a(t)}})},36866(t,a,o){o.a(t,async function(t,a){try{var e=o(62826),r=o(5124),i=o(22441),s=o(91485),n=t([s]);s=(n.then?(await n)():n)[0];const l="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z";class h extends s.U{willUpdate(t){super.willUpdate(t),this.label||this.placeholder||this.hasUpdated&&!t.has("_i18n")||(this.placeholder=this.i18n?.localize?.("ui.common.search")||"Search")}renderStartDefault(){return r.qy`<ha-svg-icon slot="start" .path="${l}"></ha-svg-icon>`}constructor(){super(),this.withClear=!0,this.autocomplete=this.autocomplete||"off"}}h.styles=[...s.U.styles,r.AH`:host([appearance=outlined]) wa-input.no-label::part(base){height:40px}`],h=(0,e.Cg)([(0,i.EM)("ha-input-search")],h),a()}catch(t){a(t)}})},91485(t,a,o){o.a(t,async function(t,e){try{o.d(a,{U:()=>x});var r=o(62826),i=(o(86137),o(30006)),s=o(92070),n=o(35211),l=o(5124),h=o(22441),d=o(6412),c=o(63672),p=o(57237),g=o(22792),v=o(26300),u=(o(67094),o(34127)),b=o(53305),m=t([i,v,u]);[i,v,u]=m.then?(await m)():m;const f="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",y="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",w="M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z";class x extends((0,b.w)(l.WF)){get _formControl(){return this._input}showPicker(){this._input?.showPicker()}stepUp(){this._input?.stepUp()}stepDown(){this._input?.stepDown()}async firstUpdated(t){super.firstUpdated(t),this.insetLabel||(await(this._input?.updateComplete),this._syncStartSlotWidth())}render(){const t=!this.label&&this._hasSlotController.test("label"),a=!this.hint&&this._hasSlotController.test("hint"),o=this._hasSlotController.test("start");return l.qy` <wa-input .type="${this.type}" .value="${this.value??null}" .withClear="${this.withClear}" .placeholder="${this.placeholder}" .readonly="${this.readonly}" .passwordToggle="${this.passwordToggle}" .passwordVisible="${this.passwordVisible}" .withoutSpinButtons="${this.withoutSpinButtons}" .required="${this.required}" .pattern="${this.pattern}" .minlength="${this.minlength}" .maxlength="${this.maxlength}" .min="${this.min}" .max="${this.max}" .step="${this.step}" .autocapitalize="${this.autocapitalize||void 0}" .autocorrect="${this.autocorrect?"on":"off"}" .autocomplete="${this.autocomplete}" .autofocus="${this.autofocus}" .enterkeyhint="${this.enterkeyhint||void 0}" .spellcheck="${this.spellcheck}" .inputmode="${this.inputmode||void 0}" .name="${this.name}" .disabled="${this.disabled}" class="${(0,d.H)({input:!0,invalid:this.invalid||this._invalid,"label-raised":void 0!==this.value&&""!==this.value||this.label&&this.placeholder||o&&this.insetLabel,"no-label":!this.label,"hint-hidden":!(this.hint||a||this.required||this._invalid||this.invalid)})}" ="${this._handleInput}" ="${this._handleChange}" ="${this._handleBlur}" -invalid="${this._handleInvalid}" exportparts="base:wa-base, hint:wa-hint, input:wa-input"> ${this.label||t?l.qy`<slot name="label" slot="label">${this.label?this._renderLabel(this.label,this.required):l.s6}</slot>`:l.s6} <slot name="start" slot="start" ="${this._syncStartSlotWidth}"> ${this.renderStartDefault()} </slot> <slot name="end" slot="end"> ${this.renderEndDefault()} </slot> <slot name="clear-button" slot="clear-button"> <ha-icon-button ="${this._handleClearClick}" .label="${this.i18n?.localize?.("ui.components.input.clear")||"Clear"}" .path="${f}"></ha-icon-button> </slot> <slot name="password-toggle-button" slot="password-toggle-button"> <ha-icon-button ="${p.d}" ="${this._handlePasswordToggle}" .label="${this.i18n?.localize?.("ui.components.input."+(this.passwordVisible?"hide_password":"show_password"))||(this.passwordVisible?"Hide password":"Show password")}" .path="${this.passwordVisible?w:y}"></ha-icon-button> </slot> <div slot="hint" class="${(0,d.H)({error:this.invalid||this._invalid})}" role="${(0,c.J)(this.invalid||this._invalid?"alert":void 0)}" aria-live="polite"> ${this._invalid||this.invalid?this.validationMessage||this._input?.validationMessage:this.hint||(a?l.qy`<slot name="hint"></slot>`:l.s6)} </div> </wa-input> `}renderStartDefault(){return l.s6}renderEndDefault(){return l.s6}_handleClearClick(){this._input?.clear()}_handlePasswordToggle(){this.passwordVisible=!this.passwordVisible}constructor(...t){super(...t),this.appearance="material",this.type="text",this.withClear=!1,this.passwordToggle=!1,this.passwordVisible=!1,this.withoutSpinButtons=!1,this.autocorrect=!1,this.insetLabel=!1,this._hasSlotController=new s.X(this,"label","hint","input","start"),this._syncStartSlotWidth=()=>{const t=this._input?.shadowRoot?.querySelector('[part~="start"]'),a=t?.offsetWidth??0;a>0&&!this.insetLabel?(this.style.setProperty("--start-slot-width",`calc(${a}px + var(--ha-space-1))`),this.style.setProperty("--input-padding-inline-start","var(--ha-space-1)")):(this.style.removeProperty("--start-slot-width"),this.style.removeProperty("--input-padding-inline-start"))}}}x.styles=[b.N,l.AH`:host{display:flex;align-items:flex-start;padding-top:var(--ha-input-padding-top);padding-bottom:var(--ha-input-padding-bottom,var(--ha-space-2));text-align:var(--ha-input-text-align,start)}:host([appearance=outlined]){padding-bottom:var(--ha-input-padding-bottom)}wa-input::part(label){padding-inline-start:calc(var(--start-slot-width,0px) + var(--ha-space-4));padding-inline-end:var(--ha-space-4);padding-top:var(--ha-space-5)}:host([appearance=material]:focus-within) wa-input::part(label){color:var(--primary-color)}:host(:focus-within) wa-input::part(label),:host([type=date]) wa-input::part(label),wa-input.label-raised::part(label){padding-top:var(--ha-space-3);font-size:var(--ha-font-size-xs)}wa-input::part(base){height:56px;padding:0 var(--ha-space-4)}:host([appearance=outlined]) wa-input.no-label::part(base){height:32px;padding:0 var(--ha-space-2)}:host([appearance=outlined]) wa-input::part(base){border:1px solid var(--ha-color-border-neutral-quiet);background-color:var(--card-background-color);border-radius:var(--ha-border-radius-md);transition:border-color var(--wa-transition-normal) ease-in-out}:host([appearance=material]) ::part(base)::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:var(--ha-color-border-neutral-loud);transition:height var(--wa-transition-normal) ease-in-out,background-color var(--wa-transition-normal) ease-in-out}:host([appearance=material]:focus-within) wa-input::part(base)::after{height:2px;background-color:var(--primary-color)}:host([appearance=material]) wa-input.invalid:not([disabled])::part(base)::after,:host([appearance=material]:focus-within) wa-input.invalid::part(base)::after{background-color:var(--ha-color-border-danger-normal)}wa-input::part(input){padding-top:var(--ha-space-3);padding-inline-start:var(--input-padding-inline-start,0)}wa-input.no-label::part(input){padding-top:0}:host([type=color]) wa-input::part(input){padding-top:var(--ha-space-6);padding-bottom:2px;cursor:pointer}:host([type=color]) wa-input.no-label::part(input){padding:var(--ha-space-2)}:host([type=color]) wa-input.no-label::part(base){padding:0}wa-input::part(input)::placeholder{color:var(--ha-color-neutral-60)}wa-input::part(base):hover{background-color:var(--ha-color-form-background-hover)}:host([appearance=outlined]) wa-input::part(base):hover{border-color:var(--ha-color-border-neutral-normal)}:host([appearance=outlined]:focus-within) wa-input::part(base){border-color:var(--primary-color)}wa-input:disabled::part(base){background-color:var(--ha-color-form-background-disabled)}wa-input:disabled::part(label){opacity:.5}wa-input::part(end){color:var(--ha-color-text-secondary)}ha-icon-button{display:flex;align-items:center;color:var(--ha-color-text-secondary)}:host([appearance=outlined]) wa-input.no-label{--ha-icon-button-size:24px;--mdc-icon-size:18px}`],(0,r.Cg)([(0,h.MZ)({reflect:!0})],x.prototype,"appearance",void 0),(0,r.Cg)([(0,h.MZ)({reflect:!0})],x.prototype,"type",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean,attribute:"with-clear"})],x.prototype,"withClear",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean,attribute:"password-toggle"})],x.prototype,"passwordToggle",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean,attribute:"password-visible"})],x.prototype,"passwordVisible",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean,attribute:"without-spin-buttons"})],x.prototype,"withoutSpinButtons",void 0),(0,r.Cg)([(0,h.MZ)()],x.prototype,"pattern",void 0),(0,r.Cg)([(0,h.MZ)()],x.prototype,"min",void 0),(0,r.Cg)([(0,h.MZ)()],x.prototype,"max",void 0),(0,r.Cg)([(0,h.MZ)()],x.prototype,"step",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean})],x.prototype,"autocorrect",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean,attribute:"inset-label"})],x.prototype,"insetLabel",void 0),(0,r.Cg)([(0,h.P)("wa-input")],x.prototype,"_input",void 0),(0,r.Cg)([(0,h.wk)(),(0,n.Fg)({context:g.D5,subscribe:!0})],x.prototype,"i18n",void 0),x=(0,r.Cg)([(0,h.EM)("ha-input")],x),e()}catch(t){e(t)}})},53305(t,a,o){o.d(a,{w:()=>l,N:()=>h});var e=o(62826),r=o(5124),i=o(22441),s=o(22786);o(74423);const n=Boolean(globalThis.ElementInternals)&&globalThis.HTMLElement?.prototype.attachInternals?.toString().includes("[native code]"),l=t=>{class a extends t{get _formControl(){throw new Error("_formControl getter must be implemented by subclass")}select(){this._formControl?.select()}setSelectionRange(t,a,o){this._formControl?.setSelectionRange(t,a,o)}setRangeText(t,a,o,e){this._formControl?.setRangeText(t,a,o,e)}checkValidity(){return!n||(this._formControl?.checkValidity()??!0)}reportValidity(){const t=this.checkValidity();return this._invalid=!t,t}_handleInput(){this.value=this._formControl?.value??void 0,this._invalid&&this._formControl?.checkValidity()&&(this._invalid=!1)}_handleChange(){this.value=this._formControl?.value??void 0}_handleBlur(){this.autoValidate&&(this._invalid=!this._formControl?.checkValidity())}_handleInvalid(){this._invalid=!0}constructor(...t){super(...t),this.label="",this.hint="",this.placeholder="",this.readonly=!1,this.required=!1,this.autocapitalize="",this.autofocus=!1,this.spellcheck=!0,this.inputmode="",this.enterkeyhint="",this.disabled=!1,this.validationMessage="",this.autoValidate=!1,this.invalid=!1,this._invalid=!1,this._requiredMarkerCSSVar="--ha-input-required-marker",this._renderLabel=(0,s.A)((t,a)=>{if(!a)return t;let o=getComputedStyle(this).getPropertyValue(this._requiredMarkerCSSVar);return o||(o="*"),o.startsWith('"')&&o.endsWith('"')&&(o=o.slice(1,-1)),o?`${t}${o}`:t})}}return a.shadowRootOptions={mode:"open",delegatesFocus:!0},(0,e.Cg)([(0,i.MZ)()],a.prototype,"value",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"label",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"hint",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"placeholder",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean})],a.prototype,"readonly",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean,reflect:!0})],a.prototype,"required",void 0),(0,e.Cg)([(0,i.MZ)({type:Number})],a.prototype,"minlength",void 0),(0,e.Cg)([(0,i.MZ)({type:Number})],a.prototype,"maxlength",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"autocapitalize",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"autocomplete",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean})],a.prototype,"autofocus",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean})],a.prototype,"spellcheck",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"inputmode",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"enterkeyhint",void 0),(0,e.Cg)([(0,i.MZ)()],a.prototype,"name",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean})],a.prototype,"disabled",void 0),(0,e.Cg)([(0,i.MZ)({attribute:"validation-message"})],a.prototype,"validationMessage",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean,attribute:"auto-validate"})],a.prototype,"autoValidate",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean})],a.prototype,"invalid",void 0),(0,e.Cg)([(0,i.wk)()],a.prototype,"_invalid",void 0),a},h=r.AH`.input{flex:1;min-width:0;--wa-transition-fast:var(--wa-transition-normal);position:relative}.input::part(label){position:absolute;top:0;font-weight:var(--ha-font-weight-normal);font-family:var(--ha-font-family-body);transition:all var(--wa-transition-normal) ease-in-out;color:var(--secondary-text-color);line-height:var(--ha-line-height-condensed);z-index:1;pointer-events:none;font-size:var(--ha-font-size-m)}.input.invalid:not([disabled])::part(label),:host(:focus-within) .input.invalid::part(label){color:var(--ha-color-fill-danger-loud-resting)}.input::part(base){background-color:var(--ha-color-form-background);border-top-left-radius:var(--ha-border-radius-sm);border-top-right-radius:var(--ha-border-radius-sm);border-bottom-left-radius:var(--ha-border-radius-square);border-bottom-right-radius:var(--ha-border-radius-square);border:none;position:relative;transition:background-color var(--wa-transition-normal) ease-in-out}:host(:focus-within) .input::part(base){outline:0}.input::part(hint){min-height:var(--ha-space-5);margin-block-start:0;margin-inline-start:var(--ha-space-3);font-size:var(--ha-font-size-s);display:flex;align-items:center;color:var(--ha-color-text-secondary)}.input.hint-hidden::part(hint){height:0;min-height:0}.error{color:var(--ha-color-on-danger-quiet)}`},47351(t,a,o){o.d(a,{PS:()=>e,Tv:()=>s,VR:()=>r,lE:()=>n});o(74423),o(17642),o(58004),o(33853),o(45876),o(32475),o(15024),o(31698);const e=t=>t.data,r=t=>"object"==typeof t?"object"==typeof t.body?t.body.message||"Unknown error, see supervisor logs":t.body||t.message||"Unknown error, see supervisor logs":t,i=new Set([502,503,504]),s=t=>!!(t&&t.status_code&&i.has(t.status_code))||!(!t||!t.message||!t.message.includes("ERR_CONNECTION_CLOSED")&&!t.message.includes("ERR_CONNECTION_RESET")),n=async(t,a)=>t({type:"supervisor/api",endpoint:`/${a}/stats`,method:"get"})},20873(t,a,o){o.d(a,{Jo:()=>i,MW:()=>s,vq:()=>n});var e=o(62384),r=o(47351);const i=async t=>(0,e.v)(t.config.version,2021,2,4)?t.callWS({type:"supervisor/api",endpoint:"/docker/registries",method:"get"}):(0,r.PS)(await t.callApi("GET","hassio/docker/registries")),s=async(t,a)=>{(0,e.v)(t.config.version,2021,2,4)?await t.callWS({type:"supervisor/api",endpoint:"/docker/registries",method:"post",data:a}):await t.callApi("POST","hassio/docker/registries",a)},n=async(t,a)=>{(0,e.v)(t.config.version,2021,2,4)?await t.callWS({type:"supervisor/api",endpoint:`/docker/registries/${a}`,method:"delete"}):await t.callApi("DELETE",`hassio/docker/registries/${a}`)}},23296(t,a,o){o.a(t,async function(t,e){try{o.r(a);var r=o(62826),i=o(5124),s=o(22441),n=o(91926),l=o(65829),h=o(90248),d=o(2054),c=o(14503),p=t([l,h,d]);[l,h,d]=p.then?(await p)():p;class g extends i.WF{render(){return i.qy` ${this.noToolbar?"":i.qy`<div class="toolbar"> ${this.rootnav||history.state?.root?i.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:i.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" ="${this._handleBack}"></ha-icon-button-arrow-prev> `} </div>`} <div class="content"> <ha-spinner></ha-spinner> ${this.message?i.qy`<div id="loading-text">${this.message}</div>`:i.s6} </div> `}_handleBack(){(0,n.OE)()}static get styles(){return[c.RF,i.AH`:host{display:block;height:100%;background-color:var(--primary-background-color)}.toolbar{display:flex;align-items:center;font-size:var(--ha-font-size-xl);height:var(--header-height);padding:8px 12px;pointer-events:none;background-color:var(--app-header-background-color);font-weight:var(--ha-font-weight-normal);color:var(--app-header-text-color,#fff);border-bottom:var(--app-header-border-bottom,none);box-sizing:border-box} (max-width:599px){.toolbar{padding:4px}}ha-icon-button-arrow-prev,ha-menu-button{pointer-events:auto}.content{height:calc(100% - var(--header-height));display:flex;flex-direction:column;align-items:center;justify-content:center}#loading-text{max-width:350px;margin-top:16px}`]}constructor(...t){super(...t),this.noToolbar=!1,this.rootnav=!1,this.narrow=!1}}(0,r.Cg)([(0,s.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean,attribute:"no-toolbar"})],g.prototype,"noToolbar",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean})],g.prototype,"rootnav",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean})],g.prototype,"narrow",void 0),(0,r.Cg)([(0,s.MZ)()],g.prototype,"message",void 0),g=(0,r.Cg)([(0,s.EM)("hass-loading-screen")],g),e()}catch(t){e(t)}})},81310(t,a,o){o.a(t,async function(t,a){try{var e=o(62826),r=o(5124),i=o(22441),s=o(6412),n=o(26218),l=o(91926),h=o(90248),d=o(2054),c=o(14503),p=t([h,d]);[h,d]=p.then?(await p)():p;class g extends r.WF{render(){return r.qy` <div class="toolbar ${(0,s.H)({narrow:this.narrow})}"> <div class="toolbar-content"> ${this.mainPage||history.state?.root?r.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:this.backPath?r.qy` <ha-icon-button-arrow-prev href="${this.backPath}" .hass="${this.hass}"></ha-icon-button-arrow-prev> `:r.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" ="${this._backTapped}"></ha-icon-button-arrow-prev> `} <div class="main-title"> <slot name="header">${this.header}</slot> </div> <slot name="toolbar-icon"></slot> </div> </div> <div class="${(0,s.H)({content:!0,"ha-scrollbar":this.scrollable,"not-scrollable":!this.scrollable})}" ="${this._saveScrollPos}"> <slot></slot> </div> <div id="fab"> <slot name="fab"></slot> </div> `}_saveScrollPos(t){this._savedScrollPos=t.target.scrollTop}_backTapped(){this.backCallback?this.backCallback():(0,l.OE)()}static get styles(){return[c.dp,r.AH`:host{display:block;height:100%;background-color:var(--primary-background-color);overflow:hidden;position:relative}:host([narrow]){width:100%;position:fixed}.toolbar{background-color:var(--app-header-background-color);padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right)}:host([narrow]) .toolbar{padding-left:var(--safe-area-inset-left)}.toolbar-content{display:flex;align-items:center;font-size:var(--ha-font-size-xl);height:var(--header-height);font-weight:var(--ha-font-weight-normal);color:var(--app-header-text-color,#fff);border-bottom:var(--app-header-border-bottom,none);box-sizing:border-box;padding:8px 12px}.toolbar a{color:var(--sidebar-text-color);text-decoration:none}::slotted([slot=toolbar-icon]),ha-icon-button-arrow-prev,ha-menu-button{display:flex;align-items:center;pointer-events:auto;color:var(--sidebar-icon-color)}.main-title{margin-inline-start:var(--ha-space-6);line-height:var(--ha-line-height-normal);min-width:0;flex-grow:1;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.narrow .main-title{margin-inline-start:var(--ha-space-2)}.content{position:relative;width:calc(100% - var(--safe-area-inset-right,0px));height:calc(100% - 1px - var(--header-height,0px) - var(--safe-area-inset-top,0px) - var(--safe-area-inset-bottom,0px));padding-bottom:var(--safe-area-inset-bottom,0px);margin-right:var(--safe-area-inset-right);overflow-y:auto;overflow:auto;-webkit-overflow-scrolling:touch}.content.not-scrollable{overflow:hidden;display:flex;flex-direction:column}:host([narrow]) .content{width:calc(100% - var(--safe-area-inset-left,0px) - var(--safe-area-inset-right,0px));margin-left:var(--safe-area-inset-left)}#fab{position:absolute;right:calc(16px + var(--safe-area-inset-right,0px));inset-inline-end:calc(16px + var(--safe-area-inset-right,0px));inset-inline-start:initial;bottom:calc(16px + var(--safe-area-inset-bottom,0px));z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ha-space-2);--ha-button-box-shadow:var(--ha-box-shadow-l)}:host([narrow]) #fab.tabs{bottom:calc(84px + var(--safe-area-inset-bottom,0px))}#fab[is-wide]{bottom:calc(24px + var(--safe-area-inset-bottom,0px));right:calc(24px + var(--safe-area-inset-right,0px));inset-inline-end:calc(24px + var(--safe-area-inset-right,0px));inset-inline-start:initial}`]}constructor(...t){super(...t),this.mainPage=!1,this.narrow=!1,this.scrollable=!0}}(0,e.Cg)([(0,i.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,e.Cg)([(0,i.MZ)()],g.prototype,"header",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean,attribute:"main-page"})],g.prototype,"mainPage",void 0),(0,e.Cg)([(0,i.MZ)({type:String,attribute:"back-path"})],g.prototype,"backPath",void 0),(0,e.Cg)([(0,i.MZ)({attribute:!1})],g.prototype,"backCallback",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean,reflect:!0})],g.prototype,"narrow",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean})],g.prototype,"scrollable",void 0),(0,e.Cg)([(0,n.a)(".content")],g.prototype,"_savedScrollPos",void 0),(0,e.Cg)([(0,i.Ls)({passive:!0})],g.prototype,"_saveScrollPos",null),g=(0,e.Cg)([(0,i.EM)("hass-subpage")],g),a()}catch(t){a(t)}})},84373(t,a,o){o.d(a,{S:()=>r});var e=o(1087);const r=(t,a)=>{(0,e.r)(t,"show-dialog",{dialogTag:"dialog-apps-registries",dialogImport:()=>Promise.all([o.e(26572),o.e(53480),o.e(60949)]).then(o.bind(o,97353)),dialogParams:a})}},83002(t,a,o){o.a(t,async function(t,e){try{o.r(a),o.d(a,{HaConfigAppsRegistries:()=>x});o(18111),o(61701);var r=o(62826),i=o(5124),s=o(22441),n=o(22786),l=o(48091),h=o(18350),d=o(26300),c=(o(67094),o(47351)),p=o(20873),g=o(65063),v=o(28794),u=o(23296),b=o(81310),m=o(84373),f=t([l,h,d,v,u,b]);[l,h,d,v,u,b]=f.then?(await f)():f;const y="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",w="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";class x extends i.WF{firstUpdated(){this._loadData()}render(){return this._error?i.qy` <hass-error-screen .hass="${this.hass}" .error="${this._error}"></hass-error-screen> `:this._registries?i.qy` <hass-subpage .hass="${this.hass}" .narrow="${this.narrow}" .route="${this.route}" back-path="/config/apps/available" .header="${this.hass.localize("ui.panel.config.apps.store.registries")}"> <ha-data-table .columns="${this._columns(this.hass.localize)}" .data="${this._registries}" .noDataText="${this.hass.localize("ui.panel.config.apps.registries.no_registries")}" id="registry" has-fab></ha-data-table> <ha-button size="large" ="${this._showAddRegistryDialog}"> <ha-svg-icon slot="start" .path="${w}"></ha-svg-icon> ${this.hass.localize("ui.panel.config.apps.registries.add")} </ha-button> </hass-subpage> `:i.qy` <hass-loading-screen .hass="${this.hass}" .narrow="${this.narrow}"></hass-loading-screen> `}_showAddRegistryDialog(){(0,m.S)(this,{registryAdded:()=>this._loadData()})}async _loadData(){try{const t=await(0,p.Jo)(this.hass);this._registries=Object.keys(t.registries).map(a=>({registry:a,username:t.registries[a].username}))}catch(t){this._error=(0,c.VR)(t)}}constructor(...t){super(...t),this.narrow=!1,this._columns=(0,n.A)(t=>({registry:{title:t("ui.panel.config.apps.registries.registry"),main:!0,sortable:!0,filterable:!0,direction:"asc",flex:2},username:{title:t("ui.panel.config.apps.registries.username"),sortable:!0,filterable:!0,flex:2},actions:{title:"",label:t("ui.panel.config.apps.registries.remove"),type:"icon-button",showNarrow:!0,lastFixed:!0,template:t=>i.qy` <ha-icon-button .registry="${t.registry}" .path="${y}" ="${this._removeRegistry}" class="delete"></ha-icon-button> `}})),this._removeRegistry=async t=>{const a=t.currentTarget.registry;(0,g.dk)(this,{title:this.hass.localize("ui.panel.config.apps.registries.remove"),text:this.hass.localize("ui.panel.config.apps.registries.confirm_remove",{name:a}),destructive:!0,confirmText:this.hass.localize("ui.panel.config.apps.registries.remove"),action:async()=>{try{await(0,p.vq)(this.hass,a),await this._loadData()}catch(t){throw(0,g.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.apps.registries.failed_to_remove"),text:(0,c.VR)(t)}),t}}})}}}x.styles=i.AH`:host{display:block;height:100%;background-color:var(--primary-background-color)}ha-data-table{width:100%;height:100%;--data-table-border-width:0}ha-icon-button.delete{color:var(--error-color)}ha-button[size=large]{position:fixed;right:calc(var(--ha-space-4) + var(--safe-area-inset-right));bottom:calc(var(--ha-space-4) + var(--safe-area-inset-bottom));inset-inline-end:calc(var(--ha-space-4) + var(--safe-area-inset-right));inset-inline-start:initial;z-index:1;--ha-button-box-shadow:var(--ha-box-shadow-l)}`,(0,r.Cg)([(0,s.MZ)({attribute:!1})],x.prototype,"hass",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean})],x.prototype,"narrow",void 0),(0,r.Cg)([(0,s.MZ)({attribute:!1})],x.prototype,"route",void 0),(0,r.Cg)([(0,s.wk)()],x.prototype,"_registries",void 0),(0,r.Cg)([(0,s.wk)()],x.prototype,"_error",void 0),x=(0,r.Cg)([(0,s.EM)("ha-config-apps-registries")],x),e()}catch(t){e(t)}})},14503(t,a,o){o.d(a,{RF:()=>i,dp:()=>l,kO:()=>n,nA:()=>s,og:()=>r});var e=o(5124);const r=e.AH`button.link{background:0 0;color:inherit;border:none;padding:0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer;outline:0}`,i=e.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)}${r} .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=e.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=e.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=e.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}`;e.AH`body{background-color:var(--primary-background-color);color:var(--primary-text-color);height:calc(100vh - 32px);width:100vw}`},85614(t,a,o){o.d(a,{i:()=>e});const e=async()=>{await Promise.all([o.e(69139),o.e(22309)]).then(o.bind(o,46974))}},89429(t){t.exports=function(){}}};