UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

7 lines 82.9 kB
export const __webpack_ids__=["91310"];export const __webpack_modules__={17803:function(e,t,i){i.d(t,{I:()=>a,_:()=>o});const a=(e,t,i,a)=>{const[o,n,r]=e.split(".",3);return Number(o)>t||Number(o)===t&&(void 0===a?Number(n)>=i:Number(n)>i)||void 0!==a&&Number(o)===t&&Number(n)===i&&Number(r)>=a},o=e=>e.includes("dev")},49976:function(e,t,i){i.d(t,{U:()=>a});const a=e=>e.stopPropagation()},94369:function(e,t,i){i.a(e,(async function(e,a){try{i.d(t,{u:()=>s});var o=i(16485),n=i(27486),r=e([o]);o=(r.then?(await r)():r)[0];const s=(e,t)=>{try{return d(t)?.of(e)??e}catch{return e}},d=(0,n.Z)((e=>new Intl.DisplayNames(e.language,{type:"language",fallback:"code"})));a()}catch(e){a(e)}}))},50602:function(e,t,i){i.a(e,(async function(e,a){try{i.d(t,{SL:()=>d,l4:()=>u,sJ:()=>l,uf:()=>h});var o=i(16485),n=i(20382),r=i(34618),s=e([o]);o=(s.then?(await s)():s)[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 n.y4.comma_decimal:return["en-US","en"];case n.y4.decimal_comma:return["de","es","it"];case n.y4.space_comma:return["fr","sv","cs"];case n.y4.system:return;default:return e.language}},h=(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===n.y4.none||Number.isNaN(Number(e))?Number.isNaN(Number(e))||""===e||t?.number_format!==n.y4.none?"string"==typeof e?e:`${(0,r.N)(e,i?.maximumFractionDigits).toString()}${"currency"===i?.style?` ${i.currency}`:""}`:new Intl.NumberFormat("en-US",p(e,{...i,useGrouping:!1})).format(Number(e)):new Intl.NumberFormat(a,p(e,i)).format(Number(e))},u=(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},p=(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},99426:function(e,t,i){i.r(t);var a=i(44249),o=i(57243),n=i(15093),r=i(35359),s=i(36522);i(23334),i(37583);const d={info:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",warning:"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16",error:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",success:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"};(0,a.Z)([(0,n.Mo)("ha-alert")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)()],key:"title",value:()=>""},{kind:"field",decorators:[(0,n.Cb)({attribute:"alert-type"})],key:"alertType",value:()=>"info"},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"dismissable",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"method",key:"render",value:function(){return o.dy` <div class="issue-type ${(0,r.$)({[this.alertType]:!0})}" role="alert"> <div class="icon ${this.title?"":"no-title"}"> <slot name="icon"> <ha-svg-icon .path="${d[this.alertType]}"></ha-svg-icon> </slot> </div> <div class="${(0,r.$)({content:!0,narrow:this.narrow})}"> <div class="main-content"> ${this.title?o.dy`<div class="title">${this.title}</div>`:o.Ld} <slot></slot> </div> <div class="action"> <slot name="action"> ${this.dismissable?o.dy`<ha-icon-button @click="${this._dismissClicked}" label="Dismiss alert" .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"}"></ha-icon-button>`:o.Ld} </slot> </div> </div> </div> `}},{kind:"method",key:"_dismissClicked",value:function(){(0,s.B)(this,"alert-dismissed-clicked")}},{kind:"field",static:!0,key:"styles",value:()=>o.iv`.issue-type{position:relative;padding:8px;display:flex}.issue-type::after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;content:"";border-radius:4px}.icon{z-index:1}.icon.no-title{align-self:center}.content{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:var(--float-start)}.content.narrow{flex-direction:column;align-items:flex-end}.action{z-index:1;width:min-content;--mdc-theme-primary:var(--primary-text-color)}.main-content{overflow-wrap:anywhere;word-break:break-word;margin-left:8px;margin-right:0;margin-inline-start:8px;margin-inline-end:0}.title{margin-top:2px;font-weight:700}.action ha-icon-button,.action mwc-button{--mdc-theme-primary:var(--primary-text-color);--mdc-icon-button-size:36px}.issue-type.info>.icon{color:var(--info-color)}.issue-type.info::after{background-color:var(--info-color)}.issue-type.warning>.icon{color:var(--warning-color)}.issue-type.warning::after{background-color:var(--warning-color)}.issue-type.error>.icon{color:var(--error-color)}.issue-type.error::after{background-color:var(--error-color)}.issue-type.success>.icon{color:var(--success-color)}.issue-type.success::after{background-color:var(--success-color)}:host ::slotted(ul){margin:0;padding-inline-start:20px}`}]}}),o.oi)},34273:function(e,t,i){var a=i(44249),o=i(72621),n=(i(9359),i(31526),i(22997),i(57243)),r=i(15093),s=i(5111),d=i(76525);(0,a.Z)([(0,r.Mo)("ha-button-menu")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:d.gA,value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"corner",value:()=>"BOTTOM_START"},{kind:"field",decorators:[(0,r.Cb)({attribute:"menu-corner"})],key:"menuCorner",value:()=>"START"},{kind:"field",decorators:[(0,r.Cb)({type:Number})],key:"x",value:()=>null},{kind:"field",decorators:[(0,r.Cb)({type:Number})],key:"y",value:()=>null},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"multi",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"activatable",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"fixed",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,attribute:"no-anchor"})],key:"noAnchor",value:()=>!1},{kind:"field",decorators:[(0,r.IO)("mwc-menu",!0)],key:"_menu",value:void 0},{kind:"get",key:"items",value:function(){return this._menu?.items}},{kind:"get",key:"selected",value:function(){return this._menu?.selected}},{kind:"method",key:"focus",value:function(){this._menu?.open?this._menu.focusItemAtIndex(0):this._triggerButton?.focus()}},{kind:"method",key:"render",value:function(){return n.dy` <div @click="${this._handleClick}"> <slot name="trigger" @slotchange="${this._setTriggerAria}"></slot> </div> <mwc-menu .corner="${this.corner}" .menuCorner="${this.menuCorner}" .fixed="${this.fixed}" .multi="${this.multi}" .activatable="${this.activatable}" .y="${this.y}" .x="${this.x}"> <slot></slot> </mwc-menu> `}},{kind:"method",key:"firstUpdated",value:function(e){(0,o.Z)(i,"firstUpdated",this,3)([e]),"rtl"===s.E.document.dir&&this.updateComplete.then((()=>{this.querySelectorAll("mwc-list-item").forEach((e=>{const t=document.createElement("style");t.innerHTML="span.material-icons:first-of-type { margin-left: var(--mdc-list-item-graphic-margin, 32px) !important; margin-right: 0px !important;}",e.shadowRoot.appendChild(t)}))}))}},{kind:"method",key:"_handleClick",value:function(){this.disabled||(this._menu.anchor=this.noAnchor?null:this,this._menu.show())}},{kind:"get",key:"_triggerButton",value:function(){return this.querySelector('ha-icon-button[slot="trigger"], mwc-button[slot="trigger"]')}},{kind:"method",key:"_setTriggerAria",value:function(){this._triggerButton&&(this._triggerButton.ariaHasPopup="menu")}},{kind:"field",static:!0,key:"styles",value:()=>n.iv`:host{display:inline-block;position:relative}::slotted([disabled]){color:var(--disabled-text-color)}`}]}}),n.oi)},54977:function(e,t,i){var a=i(44249),o=i(57243),n=i(15093);(0,a.Z)([(0,n.Mo)("ha-card")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)()],key:"header",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"raised",value:()=>!1},{kind:"field",static:!0,key:"styles",value:()=>o.iv`:host{background:var(--ha-card-background,var(--card-background-color,#fff));-webkit-backdrop-filter:var(--ha-card-backdrop-filter,none);backdrop-filter:var(--ha-card-backdrop-filter,none);box-shadow:var(--ha-card-box-shadow,none);box-sizing:border-box;border-radius:var(--ha-card-border-radius,12px);border-width:var(--ha-card-border-width,1px);border-style:solid;border-color:var(--ha-card-border-color,var(--divider-color,#e0e0e0));color:var(--primary-text-color);display:block;transition:all .3s ease-out;position:relative}:host([raised]){border:none;box-shadow:var(--ha-card-box-shadow,0px 2px 1px -1px rgba(0,0,0,.2),0px 1px 1px 0px rgba(0,0,0,.14),0px 1px 3px 0px rgba(0,0,0,.12))}.card-header,:host ::slotted(.card-header){color:var(--ha-card-header-color,var(--primary-text-color));font-family:var(--ha-card-header-font-family, inherit);font-size:var(--ha-card-header-font-size, 24px);letter-spacing:-.012em;line-height:48px;padding:12px 16px 16px;display:block;margin-block-start:0px;margin-block-end:0px;font-weight:400}:host ::slotted(.card-content:not(:first-child)),slot:not(:first-child)::slotted(.card-content){padding-top:0px;margin-top:-8px}:host ::slotted(.card-content){padding:16px}:host ::slotted(.card-actions){border-top:1px solid var(--divider-color,#e8e8e8);padding:5px 16px}`},{kind:"method",key:"render",value:function(){return o.dy` ${this.header?o.dy`<h1 class="card-header">${this.header}</h1>`:o.Ld} <slot></slot> `}}]}}),o.oi)},20130:function(e,t,i){var a=i(44249),o=i(72621),n=i(39785),r=i(52876),s=i(15093),d=i(57243),l=i(5111);(0,a.Z)([(0,s.Mo)("ha-fab")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"method",key:"firstUpdated",value:function(e){(0,o.Z)(i,"firstUpdated",this,3)([e]),this.style.setProperty("--mdc-theme-secondary","var(--primary-color)")}},{kind:"field",static:!0,key:"styles",value:()=>[r.W,d.iv`:host .mdc-fab--extended .mdc-fab__icon{margin-inline-start:-8px;margin-inline-end:12px;direction:var(--direction)}:disabled{--mdc-theme-secondary:var(--disabled-text-color);pointer-events:none}`,"rtl"===l.E.document.dir?d.iv`:host .mdc-fab--extended .mdc-fab__icon{direction:rtl}`:d.iv``]}]}}),n._)},65981:function(e,t,i){i.r(t),i.d(t,{HaIcon:()=>k});var a=i(44249),o=i(72621),n=i(57243),r=i(15093),s=i(36522),d=i(22381),l=i(80654),c=(i(92745),i(9359),i(31526),i(27608)),h=i(27486),u=i(37394);const p=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"}]}'),m=(0,h.Z)((async()=>{const e=(0,c.MT)("hass-icon-db","mdi-icon-store");{const t=await(0,c.U2)("_version",e);t?t!==p.version&&(await(0,c.ZH)(e),(0,c.t8)("_version",p.version,e)):(0,c.t8)("_version",p.version,e)}return e})),f=["mdi","hass","hassio","hademo"];let v=[];i(37583);const g={},b={},_=(0,d.D)((()=>(async e=>{const t=Object.keys(e),i=await Promise.all(Object.values(e));(await m())("readwrite",(a=>{i.forEach(((i,o)=>{Object.entries(i).forEach((([e,t])=>{a.put(t,e)})),delete e[t[o]]}))}))})(b)),2e3),y={};let k=(0,a.Z)([(0,r.Mo)("ha-icon")],(function(e,t){class a extends t{constructor(...t){super(...t),e(this)}}return{F:a,d:[{kind:"field",decorators:[(0,r.Cb)()],key:"icon",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_path",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_secondaryPath",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_viewBox",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_legacy",value:()=>!1},{kind:"method",key:"willUpdate",value:function(e){(0,o.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?n.dy` <iron-icon .icon="${this.icon}"></iron-icon>`:n.dy`<ha-svg-icon .path="${this._path}" .secondaryPath="${this._secondaryPath}" .viewBox="${this._viewBox}"></ha-svg-icon>`:n.Ld}},{kind:"method",key:"_loadIcon",value:async function(){if(!this.icon)return;const e=this.icon,[t,a]=this.icon.split(":",2);let o,n=a;if(!t||!n)return;if(!f.includes(t)){const i=l.g[t];return i?void(i&&"function"==typeof i.getIcon&&this._setCustomPath(i.getIcon(n),e)):void(this._legacy=!0)}if(this._legacy=!1,n in g){const e=g[n];let i;e.newName?(i=`Icon ${t}:${n} was renamed to ${t}:${e.newName}, please change your config, it will be removed in version ${e.removeIn}.`,n=e.newName):i=`Icon ${t}:${n} 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,s.B)(this,"write_log",{level:"warning",message:i})}if(n in y)return void(this._path=y[n]);if("home-assistant"===n){const t=(await i.e("48348").then(i.bind(i,30511))).mdiHomeAssistant;return this.icon===e&&(this._path=t),void(y[n]=t)}try{o=await(e=>new Promise(((t,i)=>{if(v.push([e,t,i]),v.length>1)return;const a=m();(0,u.n)(1e3,(async()=>{(await a)("readonly",(e=>{for(const[t,i,a]of v)(0,c.RV)(e.get(t)).then((e=>i(e))).catch((e=>a(e)));v=[]}))})()).catch((e=>{for(const[,,t]of v)t(e);v=[]}))})))(n)}catch(e){o=void 0}if(o)return this.icon===e&&(this._path=o),void(y[n]=o);const r=(e=>{let t;for(const i of p.parts){if(void 0!==i.start&&e<i.start)break;t=i}return t.file})(n);if(r in b)return void this._setPath(b[r],n,e);const d=fetch(`/static/mdi/${r}.json`).then((e=>e.json()));b[r]=d,this._setPath(d,n,e),_()}},{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:()=>n.iv`:host{fill:currentcolor}`}]}}),n.oi)},7285:function(e,t,i){i.d(t,{M:()=>l});var a=i(44249),o=i(72621),n=i(65703),r=i(46289),s=i(57243),d=i(15093);let l=(0,a.Z)([(0,d.Mo)("ha-list-item")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"method",key:"renderRipple",value:function(){return this.noninteractive?"":(0,o.Z)(i,"renderRipple",this,3)([])}},{kind:"get",static:!0,key:"styles",value:function(){return[r.W,s.iv`:host{padding-left:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-inline-start:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-right:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px));padding-inline-end:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px))}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:48px}span.material-icons:first-of-type{margin-inline-start:0px!important;margin-inline-end:var(--mdc-list-item-graphic-margin,16px)!important;direction:var(--direction)!important}span.material-icons:last-of-type{margin-inline-start:auto!important;margin-inline-end:0px!important;direction:var(--direction)!important}.mdc-deprecated-list-item__meta{display:var(--mdc-list-item-meta-display);align-items:center;flex-shrink:0}:host([graphic=icon]:not([twoline])) .mdc-deprecated-list-item__graphic{margin-inline-end:var(--mdc-list-item-graphic-margin,20px)!important}:host([multiline-secondary]){height:auto}:host([multiline-secondary]) .mdc-deprecated-list-item__text{padding:8px 0}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text{text-overflow:initial;white-space:normal;overflow:auto;display:inline-block;margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text{margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text::before{display:none}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text::before{display:none}:host([disabled]){color:var(--disabled-text-color)}:host([noninteractive]){pointer-events:unset}`,"rtl"===document.dir?s.iv`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`:s.iv``]}}]}}),n.K)},92824:function(e,t,i){var a=i(44249),o=i(72621),n=i(60930),r=i(9714),s=i(57243),d=i(15093),l=i(22381),c=i(76320);i(23334);(0,a.Z)([(0,d.Mo)("ha-select")],(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:"icon",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean,reflect:!0})],key:"clearable",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({attribute:"inline-arrow",type:Boolean})],key:"inlineArrow",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)()],key:"options",value:void 0},{kind:"method",key:"render",value:function(){return s.dy` ${(0,o.Z)(i,"render",this,3)([])} ${this.clearable&&!this.required&&!this.disabled&&this.value?s.dy`<ha-icon-button label="clear" @click="${this._clearValue}" .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"}"></ha-icon-button>`:s.Ld} `}},{kind:"method",key:"renderLeadingIcon",value:function(){return this.icon?s.dy`<span class="mdc-select__icon"><slot name="icon"></slot></span>`:s.Ld}},{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(i,"connectedCallback",this,3)([]),window.addEventListener("translations-updated",this._translationsUpdated)}},{kind:"method",key:"firstUpdated",value:async function(){(0,o.Z)(i,"firstUpdated",this,3)([]),this.inlineArrow&&this.shadowRoot?.querySelector(".mdc-select__selected-text-container")?.classList.add("inline-arrow")}},{kind:"method",key:"updated",value:function(e){if((0,o.Z)(i,"updated",this,3)([e]),e.has("inlineArrow")){const e=this.shadowRoot?.querySelector(".mdc-select__selected-text-container");this.inlineArrow?e?.classList.add("inline-arrow"):e?.classList.remove("inline-arrow")}e.get("options")&&(this.layoutOptions(),this.selectByValue(this.value))}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(i,"disconnectedCallback",this,3)([]),window.removeEventListener("translations-updated",this._translationsUpdated)}},{kind:"method",key:"_clearValue",value:function(){!this.disabled&&this.value&&(this.valueSetDirectly=!0,this.select(-1),this.mdcFoundation.handleChange())}},{kind:"field",key:"_translationsUpdated",value(){return(0,l.D)((async()=>{await(0,c.y)(),this.layoutOptions()}),500)}},{kind:"field",static:!0,key:"styles",value:()=>[r.W,s.iv`:host([clearable]){position:relative}.mdc-select:not(.mdc-select--disabled) .mdc-select__icon{color:var(--secondary-text-color)}.mdc-select__anchor{width:var(--ha-select-min-width,200px)}.mdc-select--filled .mdc-select__anchor{height:var(--ha-select-height,56px)}.mdc-select--filled .mdc-floating-label{inset-inline-start:12px;inset-inline-end:initial;direction:var(--direction)}.mdc-select--filled.mdc-select--with-leading-icon .mdc-floating-label{inset-inline-start:48px;inset-inline-end:initial;direction:var(--direction)}.mdc-select .mdc-select__anchor{padding-inline-start:12px;padding-inline-end:0px;direction:var(--direction)}.mdc-select__anchor .mdc-floating-label--float-above{transform-origin:var(--float-start)}.mdc-select__selected-text-container{padding-inline-end:var(--select-selected-text-padding-end,0px)}:host([clearable]) .mdc-select__selected-text-container{padding-inline-end:var(--select-selected-text-padding-end,12px)}ha-icon-button{position:absolute;top:10px;right:28px;--mdc-icon-button-size:36px;--mdc-icon-size:20px;color:var(--secondary-text-color);inset-inline-start:initial;inset-inline-end:28px;direction:var(--direction)}.inline-arrow{flex-grow:0}`]}]}}),n.K)},17170:function(e,t,i){i.a(e,(async function(e,a){try{i.r(t),i.d(t,{HaSpinner:()=>h});var o=i(44249),n=i(72621),r=i(97677),s=i(43580),d=i(57243),l=i(15093),c=e([r]);r=(c.then?(await c)():c)[0];let h=(0,o.Z)([(0,l.Mo)("ha-spinner")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,l.Cb)()],key:"size",value:void 0},{kind:"method",key:"updated",value:function(e){if((0,n.Z)(i,"updated",this,3)([e]),e.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")}}},{kind:"field",static:!0,key:"styles",value:()=>[s.Z,d.iv`: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)}`]}]}}),r.Z);a()}catch(e){a(e)}}))},51223:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),o=i(57243),n=i(15093),r=i(94571),s=i(59847),d=i(45729),l=(i(65981),i(37583),e([d]));d=(l.then?(await l)():l)[0];(0,a.Z)([(0,n.Mo)("ha-state-icon")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"stateValue",value:void 0},{kind:"field",decorators:[(0,n.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 o.dy`<ha-icon .icon="${e}"></ha-icon>`;if(!this.stateObj)return o.Ld;if(!this.hass)return this._renderFallback();const t=(0,d.gD)(this.hass,this.stateObj,this.stateValue).then((e=>e?o.dy`<ha-icon .icon="${e}"></ha-icon>`:this._renderFallback()));return o.dy`${(0,r.C)(t)}`}},{kind:"method",key:"_renderFallback",value:function(){const e=(0,s.N)(this.stateObj);return o.dy` <ha-svg-icon .path="${d.Ls[e]||d.Rb}"></ha-svg-icon> `}}]}}),o.oi);t()}catch(e){t(e)}}))},40917:function(e,t,i){var a=i(44249),o=i(72621),n=i(27323),r=i(33990),s=i(88540),d=i(57243),l=i(15093);(0,a.Z)([(0,l.Mo)("ha-textarea")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,l.Cb)({type:Boolean,reflect:!0})],key:"autogrow",value:()=>!1},{kind:"method",key:"updated",value:function(e){(0,o.Z)(i,"updated",this,3)([e]),this.autogrow&&e.has("value")&&(this.mdcRoot.dataset.value=this.value+'=​"')}},{kind:"field",static:!0,key:"styles",value:()=>[r.W,s.W,d.iv`:host([autogrow]) .mdc-text-field{position:relative;min-height:74px;min-width:178px;max-height:200px}:host([autogrow]) .mdc-text-field:after{content:attr(data-value);margin-top:23px;margin-bottom:9px;line-height:1.5rem;min-height:42px;padding:0px 32px 0 16px;letter-spacing:var( --mdc-typography-subtitle1-letter-spacing, .009375em );visibility:hidden;white-space:pre-wrap}:host([autogrow]) .mdc-text-field__input{position:absolute;height:calc(100% - 32px)}:host([autogrow]) .mdc-text-field.mdc-text-field--no-label:after{margin-top:16px;margin-bottom:16px}.mdc-floating-label{inset-inline-start:16px!important;inset-inline-end:initial!important;transform-origin:var(--float-start) top}@media only screen and (min-width:459px){:host([mobile-multiline]) .mdc-text-field__input{white-space:nowrap;max-height:16px}}`]}]}}),n.O)},56032:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),o=i(80519),n=i(1261),r=i(57243),s=i(15093),d=i(85605),l=e([o]);o=(l.then?(await l)():l)[0],(0,d.jx)("tooltip.show",{keyframes:[{opacity:0},{opacity:1}],options:{duration:150,easing:"ease"}}),(0,d.jx)("tooltip.hide",{keyframes:[{opacity:1},{opacity:0}],options:{duration:400,easing:"ease"}});(0,a.Z)([(0,s.Mo)("ha-tooltip")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[n.Z,r.iv`:host{--sl-tooltip-background-color:var(--secondary-background-color);--sl-tooltip-color:var(--primary-text-color);--sl-tooltip-font-family:Roboto,sans-serif;--sl-tooltip-font-size:12px;--sl-tooltip-font-weight:normal;--sl-tooltip-line-height:1;--sl-tooltip-padding:8px;--sl-tooltip-border-radius:var(--ha-tooltip-border-radius, 4px);--sl-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 8px);--sl-z-index-tooltip:var(--ha-tooltip-z-index, 1000)}`]}]}}),o.Z);t()}catch(e){t(e)}}))},20901:function(e,t,i){var a=i(44249),o=i(72621),n=(i(9359),i(1331),i(70104),i(57243)),r=i(15093),s=i(36522),d=i(49976),l=i(22381),c=i(58968);i(7285),i(92824);const h="__NONE_OPTION__";(0,a.Z)([(0,r.Mo)("ha-tts-voice-picker")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"engineId",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"language",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,reflect:!0})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"required",value:()=>!1},{kind:"field",decorators:[(0,r.SB)()],key:"_voices",value:void 0},{kind:"field",decorators:[(0,r.IO)("ha-select")],key:"_select",value:void 0},{kind:"method",key:"render",value:function(){if(!this._voices)return n.Ld;const e=this.value??(this.required?this._voices[0]?.voice_id:h);return n.dy` <ha-select .label="${this.label||this.hass.localize("ui.components.tts-voice-picker.voice")}" .value="${e}" .required="${this.required}" .disabled="${this.disabled}" @selected="${this._changed}" @closed="${d.U}" fixedMenuPosition naturalMenuWidth> ${this.required?n.Ld:n.dy`<ha-list-item .value="${h}"> ${this.hass.localize("ui.components.tts-voice-picker.none")} </ha-list-item>`} ${this._voices.map((e=>n.dy`<ha-list-item .value="${e.voice_id}"> ${e.name} </ha-list-item>`))} </ha-select> `}},{kind:"method",key:"willUpdate",value:function(e){(0,o.Z)(i,"willUpdate",this,3)([e]),this.hasUpdated?(e.has("language")||e.has("engineId"))&&this._debouncedUpdateVoices():this._updateVoices()}},{kind:"field",key:"_debouncedUpdateVoices",value(){return(0,l.D)((()=>this._updateVoices()),500)}},{kind:"method",key:"_updateVoices",value:async function(){this.engineId&&this.language?(this._voices=(await(0,c.MV)(this.hass,this.engineId,this.language)).voices,this.value&&(this._voices&&this._voices.find((e=>e.voice_id===this.value))||(this.value=void 0,(0,s.B)(this,"value-changed",{value:this.value})))):this._voices=void 0}},{kind:"method",key:"updated",value:function(e){(0,o.Z)(i,"updated",this,3)([e]),e.has("_voices")&&this._select?.value!==this.value&&(this._select?.layoutOptions(),(0,s.B)(this,"value-changed",{value:this._select?.value}))}},{kind:"field",static:!0,key:"styles",value:()=>n.iv`ha-select{width:100%}`},{kind:"method",key:"_changed",value:function(e){const t=e.target;!this.hass||""===t.value||t.value===this.value||void 0===this.value&&t.value===h||(this.value=t.value===h?void 0:t.value,(0,s.B)(this,"value-changed",{value:this.value}))}}]}}),n.oi)},76229:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),o=i(72621),n=(i(9359),i(1331),i(75656),i(50100),i(18084),i(87319),i(31622),i(57243)),r=i(15093),s=i(68958),d=i(36522),l=i(58968),c=i(28008),h=(i(40917),i(2790)),u=(i(20901),i(54977),i(94616)),p=e([h]);h=(p.then?(await p)():p)[0];(0,a.Z)([(0,r.Mo)("ha-browse-media-tts")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"item",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"action",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_language",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_voice",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_provider",value:void 0},{kind:"field",decorators:[(0,s.t)({key:"TtsMessage",state:!0,subscribe:!1})],key:"_message",value:void 0},{kind:"method",key:"render",value:function(){return n.dy`<ha-card> <div class="card-content"> <ha-textarea autogrow .label="${this.hass.localize("ui.components.media-browser.tts.message")}" .value="${this._message||this.hass.localize("ui.components.media-browser.tts.example_message",{name:this.hass.user?.name||"Alice"})}"> </ha-textarea> ${this._provider?.supported_languages?.length?n.dy` <div class="options"> <ha-language-picker .hass="${this.hass}" .languages="${this._provider.supported_languages}" .value="${this._language}" required @value-changed="${this._languageChanged}"></ha-language-picker> <ha-tts-voice-picker .hass="${this.hass}" .value="${this._voice}" .engineId="${this._provider.engine_id}" .language="${this._language}" required @value-changed="${this._voiceChanged}"></ha-tts-voice-picker> </div>`:n.Ld} </div> <div class="card-actions"> <mwc-button @click="${this._ttsClicked}"> ${this.hass.localize(`ui.components.media-browser.tts.action_${this.action}`)} </mwc-button> </div> </ha-card> `}},{kind:"method",key:"willUpdate",value:function(e){if((0,o.Z)(i,"willUpdate",this,3)([e]),e.has("item")&&this.item.media_content_id){const e=new URLSearchParams(this.item.media_content_id.split("?")[1]),t=e.get("message"),i=e.get("language"),a=e.get("voice");t&&(this._message=t),i&&(this._language=i),a&&(this._voice=a);const o=(0,l.Xk)(this.item.media_content_id);o!==this._provider?.engine_id&&(this._provider=void 0,(0,l.yP)(this.hass,o).then((e=>{if(this._provider=e.provider,!this._language&&e.provider.supported_languages?.length){const t=`${this.hass.config.language}-${this.hass.config.country}`.toLowerCase(),i=e.provider.supported_languages.find((e=>e.toLowerCase()===t));if(i)return void(this._language=i);this._language=e.provider.supported_languages?.find((e=>e.substring(0,2)===this.hass.config.language.substring(0,2)))}})),"cloud"===o&&(0,u.LI)(this.hass).then((e=>{e.logged_in&&(this._language=e.prefs.tts_default_voice[0])})))}if(e.has("_message"))return;const t=this.shadowRoot.querySelector("ha-textarea")?.value;void 0!==t&&t!==this._message&&(this._message=t)}},{kind:"method",key:"_languageChanged",value:function(e){this._language=e.detail.value}},{kind:"method",key:"_voiceChanged",value:function(e){this._voice=e.detail.value}},{kind:"method",key:"_ttsClicked",value:async function(){const e=this.shadowRoot.querySelector("ha-textarea").value;this._message=e;const t={...this.item},i=new URLSearchParams;i.append("message",e),this._language&&i.append("language",this._language),this._voice&&i.append("voice",this._voice),t.media_content_id=`${t.media_content_id.split("?")[0]}?${i.toString()}`,t.can_play=!0,t.title=e,(0,d.B)(this,"tts-picked",{item:t})}},{kind:"field",static:!0,key:"styles",value:()=>[c.k1,n.iv`:host{margin:16px auto;padding:0 8px;display:flex;flex-direction:column;max-width:448px}.options{margin-top:16px;display:flex;justify-content:space-between}ha-textarea{width:100%}button.link{color:var(--primary-color)}`]}]}}),n.oi);t()}catch(e){t(e)}}))},32101:function(e,t,i){var a=i(44249),o=(i(31622),i(57243)),n=i(15093),r=i(36522),s=i(1079);i(37583);(0,a.Z)([(0,n.Mo)("ha-media-manage-button")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"currentItem",value:void 0},{kind:"field",decorators:[(0,n.SB)()],key:"_uploading",value:()=>0},{kind:"method",key:"render",value:function(){return this.currentItem&&((0,s.aV)(this.currentItem.media_content_id||"")||this.hass.user?.is_admin&&(0,s.IB)(this.currentItem.media_content_id))?o.dy` <mwc-button .label="${this.hass.localize("ui.components.media-browser.file_management.manage")}" @click="${this._manage}"> <ha-svg-icon .path="${"M19.39 10.74L11 19.13V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.15C21.74 10.06 21.46 10 21.17 10C20.5 10 19.87 10.26 19.39 10.74M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z"}" slot="icon"></ha-svg-icon> </mwc-button> `:o.Ld}},{kind:"method",key:"_manage",value:function(){var e,t;e=this,t={currentItem:this.currentItem,onClose:()=>(0,r.B)(this,"media-refresh")},(0,r.B)(e,"show-dialog",{dialogTag:"dialog-media-manage",dialogImport:()=>Promise.all([i.e("97983"),i.e("29570"),i.e("7964")]).then(i.bind(i,70643)),dialogParams:t})}},{kind:"field",static:!0,key:"styles",value:()=>o.iv`mwc-button{--mdc-button-disabled-ink-color:--mdc-theme-primary}ha-svg-icon[slot=icon]{vertical-align:middle}ha-svg-icon[slot=icon]{margin-inline-start:0px;margin-inline-end:8px;direction:var(--direction)}`}]}}),o.oi)},10177:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),o=i(72621),n=(i(92745),i(9359),i(68107),i(30843)),r=(i(31622),i(2060),i(87319),i(57243)),s=i(15093),d=i(35359),l=i(69634),c=i(94571),h=i(36522),u=i(22381),p=i(96194),m=i(89890),f=i(1079),v=i(58968),g=i(76131),b=i(28008),_=i(88238),y=i(73192),k=i(58725),w=(i(99426),i(34273),i(54977),i(17170)),x=(i(20130),i(23334),i(37583),i(56032)),C=i(76229),L=i(47641),$=e([k,w,x,C]);[k,w,x,C]=$.then?(await $)():$;const A="M21.5 9.5L20.09 10.92L17 7.83V13.5C17 17.09 14.09 20 10.5 20H4V18H10.5C13 18 15 16 15 13.5V7.83L11.91 10.91L10.5 9.5L16 4L21.5 9.5Z",H="M8,5.14V19.14L19,12.14L8,5.14Z",V="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";(0,a.Z)([(0,s.Mo)("ha-media-player-browse")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"entityId",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"action",value:()=>"play"},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"preferredLayout",value:()=>"auto"},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"dialog",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"navigateIds",value:()=>[]},{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:"scrolled",value:()=>!1},{kind:"field",decorators:[(0,s.SB)()],key:"_error",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_parentItem",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_currentItem",value:void 0},{kind:"field",decorators:[(0,s.IO)(".header")],key:"_header",value:void 0},{kind:"field",decorators:[(0,s.IO)(".content")],key:"_content",value:void 0},{kind:"field",decorators:[(0,s.IO)("lit-virtualizer")],key:"_virtualizer",value:void 0},{kind:"field",key:"_observed",value:()=>!1},{kind:"field",key:"_headerOffsetHeight",value:()=>0},{kind:"field",key:"_resizeObserver",value:void 0},{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(i,"connectedCallback",this,3)([]),this.updateComplete.then((()=>this._attachResizeObserver()))}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(i,"disconnectedCallback",this,3)([]),this._resizeObserver&&this._resizeObserver.disconnect()}},{kind:"method",key:"refresh",value:async function(){const e=this.navigateIds[this.navigateIds.length-1];try{this._currentItem=await this._fetchData(this.entityId,e.media_content_id,e.media_content_type),(0,h.B)(this,"media-browsed",{ids:this.navigateIds,current:this._currentItem})}catch(e){this._setError(e)}}},{kind:"method",key:"play",value:function(){this._currentItem?.can_play&&this._runAction(this._currentItem)}},{kind:"method",key:"willUpdate",value:function(e){if((0,o.Z)(i,"willUpdate",this,3)([e]),this.hasUpdated||(0,L.o)(),e.has("entityId"))this._setError(void 0);else if(!e.has("navigateIds"))return;this._setError(void 0);const t=e.get("navigateIds"),a=this.navigateIds;this._content?.scrollTo(0,0),this.scrolled=!1;const n=this._currentItem,r=this._parentItem;this._currentItem=void 0,this._parentItem=void 0;const s=a[a.length-1],d=a.length>1?a[a.length-2]:void 0;let l,c;e.has("entityId")||(t&&a.length===t.length+1&&t.every(((e,t)=>{const i=a[t];return i.media_content_id===e.media_content_id&&i.media_content_type===e.media_content_type}))?c=Promise.resolve(n):t&&a.length===t.length-1&&a.every(((e,i)=>{const a=t[i];return e.media_content_id===a.media_content_id&&e.media_content_type===a.media_content_type}))&&(l=Promise.resolve(r))),l||(l=this._fetchData(this.entityId,s.media_content_id,s.media_content_type)),l.then((e=>{this._currentItem=e,(0,h.B)(this,"media-browsed",{ids:a,current:e})}),(i=>{t&&e.has("entityId")&&a.length===t.length&&t.every(((e,t)=>a[t].media_content_id===e.media_content_id&&a[t].media_content_type===e.media_content_type))?(0,h.B)(this,"media-browsed",{ids:[{media_content_id:void 0,media_content_type:void 0}],replace:!0}):"entity_not_found"===i.code&&(0,p.rk)(this.hass.states[this.entityId]?.state)?this._setError({message:this.hass.localize("ui.components.media-browser.media_player_unavailable"),code:"entity_not_found"}):this._setError(i)})),c||void 0===d||(c=this._fetchData(this.entityId,d.media_content_id,d.media_content_type)),c&&c.then((e=>{this._parentItem=e}))}},{kind:"method",key:"shouldUpdate",value:function(e){if(e.size>1||!e.has("hass"))return!0;const t=e.get("hass");return void 0===t||t.localize!==this.hass.localize}},{kind:"method",key:"firstUpdated",value:function(){this._measureCard(),this._attachResizeObserver()}},{kind:"method",key:"updated",value:function(e){if((0,o.Z)(i,"updated",this,3)([e]),e.has("_scrolled"))this._animateHeaderHeight();else if(e.has("_currentItem")){if(this._setHeaderHeight(),this._observed)return;const e=this._virtualizer?._virtualizer;e&&(this._observed=!0,setTimeout((()=>e._observeMutations()),0))}}},{kind:"method",key:"render",value:function(){if(this._error)return r.dy` <div class="container"> <ha-alert alert-type="error"> ${this._renderError(this._error)} </ha-alert> </div> `;if(!this._currentItem)return r.dy`<ha-spinner></ha-spinner>`;const e=this._currentItem,t=this.hass.localize(`ui.components.media-browser.class.${e.media_class}`),i=e.children||[],a=m.Fn[e.media_class],o=e.children_media_class?m.Fn[e.children_media_class]:m.Fn.directory,s=e.thumbnail?this._getThumbnailURLorBase64(e.thumbnail).then((e=>`url(${e})`)):"none";return r.dy` ${e.can_play?r.dy` <div class="header ${(0,d.$)({"no-img":!e.thumbnail,"no-dialog":!this.dialog})}" @transitionend="${this._setHeaderHeight}"> <div class="header-content"> ${e.thumbnail?r.dy` <div class="img" style="background-image:${(0,c.C)(s,"")}"> ${this.narrow&&e?.can_play?r.dy` <ha-fab mini .item="${e}" @click="${this._actionClicked}"> <ha-svg-icon slot="icon" .label="${this.hass.localize(`ui.components.media-browser.${this.action}-media`)}" .path="${"play"===this.action?H:V}"></ha-svg-icon> ${this.hass.localize(`ui.components.media-browser.${this.action}`)} </ha-fab> `:""} </div> `:r.Ld} <div class="header-info"> <div class="breadcrumb"> <h1 class="title">${e.title}</h1> ${t?r.dy` <h2 class="subtitle">${t}</h2> `:""} </div> ${!e.can_play||e.thumbnail&&this.narrow?"":r.dy` <mwc-button raised .item="${e}" @click="${this._actionClicked}"> <ha-svg-icon .label="${this.hass.localize(`ui.components.media-browser.${this.action}-media`)}" .path="${"play"===this.action?H:V}"></ha-svg-icon> ${this.hass.localize(`ui.components.media-browser.${this.action}`)} </mwc-button> `} </div> </div> </div> `:""} <div class="content" @scroll="${this._scroll}" @touchmove="${this._scroll}"> ${this._error?r.dy` <div class="container"> <ha-alert alert-type="error"> ${this._renderError(this._error)} </ha-alert> </div> `:(0,v.b_)(e.media_content_id)?r.dy` <ha-browse-media-tts .item="${e}" .hass="${this.hass}" .action="${this.action}" @tts-picked="${this._ttsPicked}"></ha-browse-media-tts> `:i.length||e.not_shown?"grid"===this.preferredLayout||"auto"===this.preferredLayout&&"grid"===o.layout?r.dy` <lit-virtualizer scroller .layout="${(0,n.e)({itemSize:{width:"175px",height:"portrait"===o.thumbnail_ratio?"312px":"225px"},gap:"16px",flex:{preserve:"aspect-ratio"},justify:"space-evenly",direction:"vertical"})}" .items="${i}" .renderItem="${this._renderGridItem}" class="children ${(0,d.$)({portrait:"portrait"===o.thumbnail_ratio,not_shown:!!e.not_shown})}"></lit-virtualizer> ${e.not_shown?r.dy` <div class="grid not-shown"> <div class="title"> ${this.hass.localize("ui.components.media-browser.not_shown",{count:e.not_shown})} </div> </div> `:""} `:r.dy` <mwc-list> <lit-virtualizer scroller .items="${i}" style="${(0,l.V)({height:72*i.length+26+"px"})}" .renderItem="${this._renderListItem}"></lit-virtualizer> ${e.not_shown?r.dy` <mwc-list-item noninteractive class="not-shown" .graphic="${a.show_list_images?"medium":"avatar"}"> <span class="title"> ${this.hass.localize("ui.components.media-browser.not_shown",{count:e.not_shown})} </span> </mwc-list-item> `:""} </mwc-list> `:r.dy` <div class="container no-items"> ${"media-source://media_source/local/."===e.media_content_id?r.dy` <div class="highlight-add-button"> <span> <ha-svg-icon .path="${A}"></ha-svg-icon> </span> <span> ${this.hass.localize("ui.components.media-browser.file_management.highlight_button")} </span> </div> `:this.hass.localize("ui.components.media-browser.no_items")} </div> `} </div> `}},{kind:"field",key:"_renderGridItem",value(){return e=>{const t=e.thumbnail?this._getThumbnailURLorBase64(e.thumbnail).then((e=>`url(${e})`)):"none";return r.dy` <div class="child" .item="${e}" @click="${this._childClicked}"> <ha-card outlined> <div class="thumbnail"> ${e.thumbnail?r.dy` <div class="${(0,d.$)({"centered-image":["app","directory"].includes(e.media_class),"brand-image":(0,_.zC)(e.thumbnail)})} image" style="background-image:${(0,c.C)(t,"")}"></div> `:r.dy` <div class="icon-holder image"> <ha-svg-icon class="folder" .path="${m.Fn["directory"===e.media_class&&e.children_media_class||e.media_class].icon}"></ha-svg-icon> </div> `} ${e.can_play?r.dy` <ha-icon-button class="play ${(0,d.$)({can_expand:e.can_expand})}" .item="${e}" .label="${this.hass.localize(`ui.components.media-browser.${this.action}-media`)}" .path="${"play"===this.action?H:V}" @click="${this._actionClicked}"></ha-icon-button> `:""} </div> <ha-tooltip distance="-4" .content="${e.title}"> <div class="title">${e.title}</div> </ha-tooltip> </ha-card> </div> `}}},{kind:"field",key:"_renderListItem",value(){return e=>{const t=this._currentItem,i=m.Fn[t.media_class],a=i.show_list_images&&e.thumbnail?this._getThumbnailURLorBase64(e.thumbnail).then((e=>`url(${e})`)):"none";return r.dy` <mwc-list-item @click="${this._childClicked}" .item="${e}" .graphic="${i.show_list_images?"medium":"avatar"}"> ${"none"!==a||e.can_play?r.dy`<div class="${(0,d.$)({graphic:!0,thumbnail:!0===i.show_list_images})}" style="background-image:${(0,c.C)(a,"")}" slot="graphic"> ${e.can_play?r.dy`<ha-icon-button class="play ${(0,d.$)({show:!i.show_list_images||!e.thumbnail})}" .item="${e}" .label="${this.hass.localize(`ui.components.media-browser.${this.action}-media`)}" .path="${"play"===this.action?H:V}" @click="${this._actionClicked}"></ha-icon-button>`:r.Ld} </div>`:r.dy`<ha-svg-icon .path="${m.Fn["directory"===e.media_class&&e.children_media_class||e.media_class].icon}" slot="graphic"></ha-svg-icon>`} <span class="title">${e.title}</span> </mwc-list-item> `}}},{kind:"method",key:"_getThumbnailURLorBase64",value:async function(e){return e?e.startsWith("/")?new Promise(((t,i)=>{this.hass.fetchWithAuth(e).then((e=>e.blob())).then((e=>{const a=new FileReader;a.onload=()=>{const e=a.result;t("string"==typeof e?e:"")},a.onerror=e=>i(e),a.readAsDataURL(e)}))})):((0,_.zC)(e)&&(e=(0,_.X1)({domain:(0,_.u4)(e),type:"icon",useFallback:!0,darkOptimized:this.hass.themes?.darkMode})),e):""}},{kind:"field",key:"_actionClicked",value(){return e=>{e.stopPropagation();const t=e.currentTarget.item;this._runAction(t)}}},{kind:"method",key:"_runAction",value:function(e){(0,h.B)(this,"media-picked",{item:e,navigateIds:this.navigateIds})}},{kind:"method",key:"_ttsPicked",value:function(e){e.stopPropagation();const t=this.navigateIds.slice(0,-1);t.push(e.detail.item),(0,h.B)(this,"media-picked",{...e.detail,navigateIds:t})}},{kind:"field",key:"_childClicked",value(){return async e=>{const t=e.currentTarget.item;t&&(t.can_expand?(0,h.B)(this,"media-browsed",{ids:[...this.navigateIds,t]}):this._runAction(t))}}},{kind:"method",key:"_fetchData",value:async function(e,t,i){return e!==m.N8?(0,m.zz)(this.hass,e,t,i):(0,f.b)(this.hass,t)}},{kind:"method",key:"_measureCard",value:function(){this.narrow=(this.dialog?window.innerWidth:this.offsetWidth)<450}},{kind:"method",key:"_attachResizeObserver",value:async function(){this._resizeObserver||(this._resizeObserver=new ResizeObserver((0,u.D)((()=>this._measureCard()),250,!1))),this._resizeObserver.observe(this)}},{kind:"method",key:"_closeDialogAction",value:function(){(0,h.B)(this,"close-dialog")}},{kind:"method",key:"_setError",value:function(e){this.dialog?e&&(this._closeDialogAction(),(0,g.showAlertDialog)(this,{title:this.hass.localize("ui.components.media-browser.media_browsing_error"),text:this._renderError(e)})):this._error=e}},{kind:"method",key:"_renderError",value:function(e){return"Media directory does not exist."===e.message?r.dy` <h2> ${this.hass.localize("ui.components.media-browser.no_local_media_found")} </h2> <p>