iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
22 lines • 104 kB
JavaScript
export const __rspack_esm_id=72623;export const __rspack_esm_ids=[72623];export const __webpack_modules__={57237(t,e,a){a.d(e,{d:()=>i});const i=t=>t.stopPropagation()},65522(t,e,a){a.d(e,{A:()=>i});const i=t=>t.name?.trim()},55931(t,e,a){a.d(e,{X:()=>i});const i=t=>t.name?.trim()},69093(t,e,a){a.d(e,{t:()=>o});var i=a(71727);const o=t=>(0,i.m)(t.entity_id)},47129(t,e,a){a.d(e,{a:()=>s});a(74423);var i=a(22675),o=a(71727);function s(t,e){const a=(0,o.m)(t.entity_id),s=void 0!==e?e:t?.state;if(["button","event","infrared","input_button","radio_frequency","scene"].includes(a))return s!==i.Hh;if(s===i.Hh||s===i.HV)return!1;if("off"===s&&"alert"!==a)return!1;switch(a){case"alarm_control_panel":return"disarmed"!==s;case"alert":return"idle"!==s;case"cover":case"valve":return"closed"!==s;case"device_tracker":case"person":return"not_home"!==s;case"lawn_mower":return!["docked","paused"].includes(s);case"lock":return"locked"!==s;case"media_player":return"standby"!==s;case"vacuum":return!["idle","docked","paused"].includes(s);case"plant":return"problem"===s;case"group":return["on","home","open","locked","problem"].includes(s);case"timer":return"active"===s;case"camera":return"streaming"===s}return!0}},52658(t,e,a){a.d(e,{ZK:()=>p,gf:()=>c,mT:()=>v,Se:()=>h,mg:()=>u});a(44114),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(22675),o=a(68287),s=a(86030),r=a(80880);var n=a(71727),l=a(47129);const d=new Set(["alarm_control_panel","alert","automation","binary_sensor","calendar","camera","climate","cover","device_tracker","fan","group","humidifier","input_boolean","lawn_mower","light","lock","media_player","person","plant","remote","schedule","script","siren","sun","switch","timer","update","vacuum","valve","water_heater","weather"]),h=(t,e)=>{if((void 0!==e?e:t?.state)===i.Hh)return"var(--state-unavailable-color)";const a=u(t,e);return a?(0,s.B)(a):void 0},c=(t,e,a)=>{const i=void 0!==a?a:e.state,o=(0,l.a)(e,a);return p(t,e.attributes.device_class,i,o)},p=(t,e,a,i)=>{const o=[],s=(0,r.Y)(a,"_"),n=i?"active":"inactive";return e&&o.push(`--state-${t}-${e}-${s}-color`),o.push(`--state-${t}-${s}-color`,`--state-${t}-${n}-color`,`--state-${n}-color`),o},u=(t,e)=>{const a=void 0!==e?e:t?.state,i=(0,n.m)(t.entity_id),s=t.attributes.device_class;if("sensor"===i&&"battery"===s){const t=(t=>{const e=Number(t);if(!isNaN(e))return e>=70?"--state-sensor-battery-high-color":e>=30?"--state-sensor-battery-medium-color":"--state-sensor-battery-low-color"})(a);if(t)return[t]}if("group"===i){const a=(0,o.z)(t);if(a&&d.has(a))return c(a,t,e)}if(d.has(i))return c(i,t,e)},v=t=>{if(t.attributes.brightness&&"plant"!==(0,n.m)(t.entity_id)){return`brightness(${(t.attributes.brightness+245)/5}%)`}return""}},82286(t,e,a){a.d(e,{$:()=>i});const i=(t,e)=>o(t.attributes,e),o=(t,e)=>0!==(t.supported_features&e)},78649(t,e,a){a.d(e,{n:()=>o});const i=/^(\w+)\.(\w+)$/,o=t=>i.test(t)},80880(t,e,a){a.d(e,{Y:()=>i});const i=(t,e="_")=>{const a="àáâäæãåāăąабçćčđďдèéêëēėęěеёэфğǵгḧхîïíīįìıİийкłлḿмñńǹňнôöòóœøōõőоṕпŕřрßśšşșсťțтûüùúūǘůűųувẃẍÿýыžźżз·",i=`aaaaaaaaaaabcccdddeeeeeeeeeeefggghhiiiiiiiiijkllmmnnnnnoooooooooopprrrsssssstttuuuuuuuuuuvwxyyyzzzz${e}`,o=new RegExp(a.split("").join("|"),"g"),s={ж:"zh",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ю:"iu",я:"ia"};let r;return""===t?r="":(r=t.toString().toLowerCase().replace(o,t=>i.charAt(a.indexOf(t))).replace(/[а-я]/g,t=>s[t]||"").replace(/(\d),(?=\d)/g,"$1").replace(/[^a-z0-9]+/g,e).replace(new RegExp(`(${e})\\1+`,"g"),"$1").replace(new RegExp(`^${e}+`),"").replace(new RegExp(`${e}+$`),""),""===r&&(r="unknown")),r}},34470(t,e,a){a.d(e,{E:()=>i});const i=a(5124).AH`ha-state-icon[data-domain=alarm_control_panel][data-state=arming],ha-state-icon[data-domain=alarm_control_panel][data-state=pending],ha-state-icon[data-domain=alarm_control_panel][data-state=triggered],ha-state-icon[data-domain=lock][data-state=jammed]{animation:pulse 1s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:0}100%{opacity:1}}ha-state-icon[data-state=unavailable]{color:var(--state-unavailable-color)}`},60353(t,e,a){a.d(e,{u:()=>i});class i{start(t){const e=Date.now();this._startY=t,this._startTime=e,this._lastY=t,this._lastTime=e,this._delta=0}move(t){const e=Date.now();return this._delta=this._startY-t,this._lastY=t,this._lastTime=e,this._delta}end(){const t=this.getVelocity(),e=Math.abs(t)>this._velocityThreshold;return{velocity:t,delta:this._delta,isSwipe:e,isDownwardSwipe:t>0}}getDelta(){return this._delta}getVelocity(){if(Date.now()-this._lastTime>=this._movementTimeThreshold)return 0;const t=this._lastTime-this._startTime;return t>0?(this._lastY-this._startY)/t:0}reset(){this._startY=0,this._delta=0,this._startTime=0,this._lastY=0,this._lastTime=0}constructor(t={}){this._startY=0,this._delta=0,this._startTime=0,this._lastY=0,this._lastTime=0,this._velocityThreshold=t.velocitySwipeThreshold??.5,this._movementTimeThreshold=t.movementTimeThreshold??100}}},3931(t,e,a){a.d(e,{U:()=>i});const i=async(t,e,a,i,o,...s)=>{let r=i[t];r||(r=i[t]={});const n=r[o];if(n)return n;const l=a(i,o,...s);return r[o]=l,l.then(()=>setTimeout(()=>{r[o]=void 0},e),()=>{r[o]=void 0}),l}},64481(t,e,a){a.d(e,{D:()=>o,J:()=>r});a(64979);let i=!1;try{i="true"===window.localStorage.getItem("disableViewTransition")}catch{}const o=t=>{i=t},s=t=>{if(!(t=>(t instanceof DOMException||t instanceof Error)&&"AbortError"===t.name)(t))throw t},r=t=>{if(!document.startViewTransition||i)return t(!1),Promise.resolve();let e=!1;try{const a=document.startViewTransition(()=>{e=!0,t(!0)});return a.ready.catch(s),a.finished.catch(s)}catch(a){return console.warn("View transition failed, falling back to direct execution.",a),e?Promise.reject(a):(t(!1),Promise.resolve())}}},5745(t,e,a){var i=a(62826),o=a(99731),s=a(22441);class r extends o.Y{}r=(0,i.Cg)([(0,s.EM)("ha-chip-set")],r)},82474(t,e,a){a.a(t,async function(t,e){try{a(18111),a(20116),a(61701);var i=a(62826),o=a(5124),s=a(22441),r=a(22786),n=a(1087),l=a(74705),d=a(78649),h=a(53756),c=a(95350),p=a(24367),u=a(19711),v=(a(75064),a(38508)),b=(a(47680),a(67094),a(74281)),g=t([v,b]);[v,b]=g.then?(await g)():g;const m="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",f="M11,13.5V21.5H3V13.5H11M12,2L17.5,11H6.5L12,2M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13Z",_="___create-new-entity___";class y extends o.WF{willUpdate(t){this._pendingEntityId&&t.has("hass")&&this.hass.states!==t.get("hass")?.states&&this.hass.states[this._pendingEntityId]&&(this._setValue(this._pendingEntityId),this._pendingEntityId=void 0)}firstUpdated(t){super.firstUpdated(t),this.hass.loadBackendTranslation("title")}_findExtraOption(t){return t?this.extraOptions?.find(e=>e.id===t):void 0}_renderExtraOptionStart(t){const e=t.entity_id?this.hass.states[t.entity_id]:void 0;return e?o.qy` <state-badge slot="start" .stateObj="${e}" .hass="${this.hass}"></state-badge> `:t.icon_path?o.qy` <ha-svg-icon slot="start" .path="${t.icon_path}" style="margin:0 4px"></ha-svg-icon> `:t.icon?o.qy`<ha-icon slot="start" .icon="${t.icon}"></ha-icon>`:o.s6}get _showEntityId(){return this.showEntityId||this.hass.userData?.showEntityIdPicker}_shouldHideClearIcon(){return!!this._findExtraOption(this.value)?.hide_clear}render(){const t=this.placeholder??this.hass.localize("ui.components.entity.entity-picker.placeholder");return o.qy` <ha-generic-picker .hass="${this.hass}" .disabled="${this.disabled}" .autofocus="${this.autofocus}" .allowCustomValue="${this.allowCustomEntity}" .required="${this.required}" .label="${this.label}" .placeholder="${t}" .helper="${this.helper}" .value="${this.addButton?void 0:this.value}" .searchLabel="${this.searchLabel}" .notFoundLabel="${this._notFoundLabel}" .rowRenderer="${this._rowRenderer}" .getItems="${this._getItems}" .getAdditionalItems="${this._getAdditionalItems}" .hideClearIcon="${this.hideClearIcon||this._shouldHideClearIcon()}" .searchFn="${this._searchFn}" .valueRenderer="${this._valueRenderer}" .searchKeys="${h.t}" use-top-label .addButtonLabel="${this.addButton?this.addButtonLabel??this.hass.localize("ui.components.entity.entity-picker.add"):void 0}" .unknownItemText="${this.hass.localize("ui.components.entity.entity-picker.unknown")}" @value-changed="${this._valueChanged}"> </ha-generic-picker> `}async open(){await this.updateComplete,await(this._picker?.open())}_valueChanged(t){t.stopPropagation();const e=t.detail.value;if(e){if(e.startsWith(_)){const t=e.substring(_.length);return void(0,u.$)(this,{domain:t,dialogClosedCallback:t=>{t.entityId&&(this.hass.states[t.entityId]?this._setValue(t.entityId):this._pendingEntityId=t.entityId)}})}((0,d.n)(e)||this._findExtraOption(e))&&this._setValue(e)}else this._setValue(void 0)}_setValue(t){this.value=t,(0,n.r)(this,"value-changed",{value:t}),(0,n.r)(this,"change")}constructor(...t){super(...t),this.autofocus=!1,this.disabled=!1,this.required=!1,this.showEntityId=!1,this.hideClearIcon=!1,this.addButton=!1,this._valueRenderer=t=>{const e=t||"",a=this._findExtraOption(e);if(a)return o.qy` ${this._renderExtraOptionStart(a)} <span slot="headline">${a.primary}</span> ${a.secondary?o.qy`<span slot="supporting-text">${a.secondary}</span>`:o.s6} `;const i=this.hass.states[e];if(!i)return o.qy` <ha-svg-icon slot="start" .path="${f}" style="margin:0 4px"></ha-svg-icon> <span slot="headline">${e}</span> `;const{primary:s,secondary:r}=(0,l.Bj)(this.hass,i);return o.qy` <state-badge .hass="${this.hass}" .stateObj="${i}" slot="start"></state-badge> <span slot="headline">${s}</span> <span slot="supporting-text">${r}</span> `},this._rowRenderer=(t,e)=>{const a=this._showEntityId;return o.qy` <ha-combo-box-item type="button" compact="compact" .borderTop="${0!==e}"> ${t.icon_path?o.qy` <ha-svg-icon slot="start" style="margin:0 4px" .path="${t.icon_path}"></ha-svg-icon> `:o.qy` <state-badge slot="start" .stateObj="${t.stateObj}" .hass="${this.hass}"></state-badge> `} <span slot="headline">${t.primary}</span> ${t.secondary?o.qy`<span slot="supporting-text">${t.secondary}</span>`:o.s6} ${t.stateObj&&a?o.qy` <span slot="supporting-text" class="code"> ${t.stateObj.entity_id} </span> `:o.s6} ${t.domain_name&&!a?o.qy` <div slot="trailing-supporting-text" class="domain"> ${t.domain_name} </div> `:o.s6} </ha-combo-box-item> `},this._getAdditionalItems=()=>this._getCreateItems(this.hass.localize,this.createDomains),this._getCreateItems=(0,r.A)((t,e)=>e?.length?(this.hass.loadFragmentTranslation("config"),e.map(e=>{const a=t("ui.components.entity.entity-picker.create_helper",{domain:(0,p.z)(e)?t(`ui.panel.config.helpers.types.${e}`)||e:(0,c.p$)(t,e)});return{id:_+e,primary:a,secondary:t("ui.components.entity.entity-picker.new_entity"),icon_path:m}})):[]),this._getEntitiesMemoized=(0,r.A)(h.w),this._getItems=()=>{const t=this._getEntitiesMemoized(this.hass,this.includeDomains,this.excludeDomains,this.entityFilter,this.includeDeviceClasses,this.includeUnitOfMeasurement,this.includeEntities,this.excludeEntities,this.value);if(this.extraOptions?.length){return[...this.extraOptions.map(t=>({...t,stateObj:t.entity_id?this.hass.states[t.entity_id]:void 0})),...t]}return t},this._searchFn=(t,e)=>{const a=e.findIndex(e=>e.stateObj?.entity_id===t);if(-1===a)return e;const[i]=e.splice(a,1);return e.unshift(i),e},this._notFoundLabel=t=>this.hass.localize("ui.components.entity.entity-picker.no_match",{term:o.qy`<b>‘${t}’</b>`})}}(0,i.Cg)([(0,s.MZ)({attribute:!1})],y.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],y.prototype,"autofocus",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],y.prototype,"disabled",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],y.prototype,"required",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"allow-custom-entity"})],y.prototype,"allowCustomEntity",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"show-entity-id"})],y.prototype,"showEntityId",void 0),(0,i.Cg)([(0,s.MZ)()],y.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)()],y.prototype,"value",void 0),(0,i.Cg)([(0,s.MZ)()],y.prototype,"helper",void 0),(0,i.Cg)([(0,s.MZ)()],y.prototype,"placeholder",void 0),(0,i.Cg)([(0,s.MZ)({type:String,attribute:"search-label"})],y.prototype,"searchLabel",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],y.prototype,"createDomains",void 0),(0,i.Cg)([(0,s.MZ)({type:Array,attribute:"include-domains"})],y.prototype,"includeDomains",void 0),(0,i.Cg)([(0,s.MZ)({type:Array,attribute:"exclude-domains"})],y.prototype,"excludeDomains",void 0),(0,i.Cg)([(0,s.MZ)({type:Array,attribute:"include-device-classes"})],y.prototype,"includeDeviceClasses",void 0),(0,i.Cg)([(0,s.MZ)({type:Array,attribute:"include-unit-of-measurement"})],y.prototype,"includeUnitOfMeasurement",void 0),(0,i.Cg)([(0,s.MZ)({type:Array,attribute:"include-entities"})],y.prototype,"includeEntities",void 0),(0,i.Cg)([(0,s.MZ)({type:Array,attribute:"exclude-entities"})],y.prototype,"excludeEntities",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],y.prototype,"entityFilter",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],y.prototype,"extraOptions",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"hide-clear-icon",type:Boolean})],y.prototype,"hideClearIcon",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"add-button",type:Boolean})],y.prototype,"addButton",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"add-button-label"})],y.prototype,"addButtonLabel",void 0),(0,i.Cg)([(0,s.P)("ha-generic-picker")],y.prototype,"_picker",void 0),(0,i.Cg)([(0,s.wk)()],y.prototype,"_pendingEntityId",void 0),y=(0,i.Cg)([(0,s.EM)("ha-entity-picker")],y),e()}catch(t){e(t)}})},74281(t,e,a){a.a(t,async function(t,e){try{a(18111),a(7588),a(45367),a(92731);var i=a(62826),o=a(5124),s=a(22441),r=a(63672),n=a(89784),l=a(71727),d=a(69093),h=a(52658),c=a(34470),p=a(10897),u=a(38279),v=a(93367),b=t([v]);v=(b.then?(await b)():b)[0];const g="M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z";class m extends o.WF{connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0===this.overrideImage&&(this.stateObj?.attributes.entity_picture||this.stateObj?.attributes.entity_picture_local)&&this.requestUpdate("stateObj")}disconnectedCallback(){super.disconnectedCallback(),void 0===this.overrideImage&&(this.stateObj?.attributes.entity_picture||this.stateObj?.attributes.entity_picture_local)&&(this.style.backgroundImage="")}get _stateColor(){const t=this.stateObj?(0,d.t)(this.stateObj):void 0;return this.stateColor??"light"===t}render(){const t=this.stateObj;if(!t&&!this.overrideIcon&&!this.overrideImage)return o.qy`<div class="missing"> <ha-svg-icon .path="${g}"></ha-svg-icon> </div>`;const e=this.getClass();if(e&&e.forEach((t,e)=>{t?this.classList.add(e):this.classList.remove(e)}),!this.icon)return o.s6;const a=t?(0,d.t)(t):void 0;return o.qy`<ha-state-icon style="${(0,n.W)(this._iconStyle)}" data-domain="${(0,r.J)(a)}" data-state="${(0,r.J)(t?.state)}" .icon="${this.overrideIcon}" .stateObj="${t}"></ha-state-icon>`}willUpdate(t){if(super.willUpdate(t),!(t.has("stateObj")||t.has("overrideImage")||t.has("overrideIcon")||t.has("stateColor")||t.has("color")))return;const e=this.stateObj,a={};let i="";if(this.icon=!0,e){const t=(0,l.m)(e.entity_id);if(void 0===this.overrideImage)if(!e.attributes.entity_picture_local&&!e.attributes.entity_picture||this.overrideIcon){if(this.color)a.color=this.color;else if(this._stateColor){const t=(0,h.Se)(e);if(t&&(a.color=t),e.attributes.rgb_color&&(a.color=`rgb(${e.attributes.rgb_color.join(",")})`),e.attributes.brightness){const t=e.attributes.brightness;if("number"!=typeof t){const a=`Type error: state-badge expected number, but type of ${e.entity_id}.attributes.brightness is ${typeof t} (${t})`;console.warn(a)}a.filter=(0,h.mT)(e)}if(e.attributes.hvac_action){const t=e.attributes.hvac_action;t in u.sx?a.color=(0,h.Se)(e,u.sx[t]):delete a.color}}}else{let a=e.attributes.entity_picture_local||e.attributes.entity_picture;this.hass&&(a=this.hass.hassUrl(a)),"camera"===t&&(a=(0,p.su)(a,80,80)),i=`url(${a})`,this.icon=!1}else if(this.overrideImage){let t=this.overrideImage;this.hass&&(t=this.hass.hassUrl(t)),i=`url(${t})`,this.icon=!1}}this._iconStyle=a,this.style.backgroundImage=i}getClass(){const t=new Map(["has-no-radius","has-media-image","has-image"].map(t=>[t,!1]));if(this.stateObj){const e=(0,l.m)(this.stateObj.entity_id);"update"===e?t.set("has-no-radius",!0):"media_player"===e||"camera"===e?t.set("has-media-image",!0):""!==this.style.backgroundImage&&t.set("has-image",!0)}return t}static get styles(){return[c.E,o.AH`:host{position:relative;display:inline-flex;width:40px;color:var(--state-icon-color);border-radius:var(--state-badge-border-radius,50%);height:40px;background-size:cover;box-sizing:border-box;--state-inactive-color:initial;align-items:center;justify-content:center}:host(.has-image){border-radius:var(--state-badge-with-image-border-radius,50%)}:host(.has-media-image){border-radius:var(--state-badge-with-media-image-border-radius,8%)}:host(.has-no-radius){border-radius:var(--ha-border-radius-square)}:host(:focus){outline:0}:host(:not([icon]):focus){border:2px solid var(--divider-color)}:host([icon]:focus){background:var(--divider-color)}ha-state-icon{transition:color .3s ease-in-out,filter .3s ease-in-out}.missing{color:#fce588}`]}constructor(...t){super(...t),this.icon=!0,this._iconStyle={}}}(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"stateObj",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"overrideIcon",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"overrideImage",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"stateColor",void 0),(0,i.Cg)([(0,s.MZ)()],m.prototype,"color",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],m.prototype,"icon",void 0),(0,i.Cg)([(0,s.wk)()],m.prototype,"_iconStyle",void 0),m=(0,i.Cg)([(0,s.EM)("state-badge")],m),e()}catch(t){e(t)}})},99611(t,e,a){a.a(t,async function(t,e){try{a(18111),a(13579),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(62826),o=a(1126),s=a(35211),r=a(5124),n=a(22441),l=a(1087),d=a(60353),h=a(22792),c=a(59992),p=a(14503),u=a(22348),v=t([o]);o=(v.then?(await v)():v)[0];const b=300,g=new Set(["ha-control-slider","ha-slider","ha-control-switch","ha-control-circular-slider","ha-hs-color-picker","ha-map","ha-more-info-control-select-container","ha-filter-chip"]),m=new Set(["volume-slider-container","forecast"]);class f extends((0,c.V)(r.WF)){get scrollableElement(){return this._bodyElement}connectedCallback(){super.connectedCallback(),this.addEventListener("slider-interaction-start",this._handleSliderInteractionStart,{capture:!0}),this.addEventListener("slider-interaction-stop",this._handleSliderInteractionStop,{capture:!0})}updated(t){super.updated(t),t.has("open")&&(this._drawerOpen=this.open)}render(){return r.qy` <wa-drawer id="drawer" placement="bottom" .open="${this._drawerOpen}" .lightDismiss="${!this.preventScrimClose}" .ariaLabelledby="${this.ariaLabelledBy}" .ariaDescribedby="${this.ariaDescribedBy}" @keydown="${this._handleKeyDown}" @wa-show="${this._handleShow}" @wa-after-show="${this._handleAfterShow}" @wa-hide="${this._handleHide}" @wa-after-hide="${this._handleAfterHide}" @click="${this._handleCloseAction}" without-header @touchstart="${this._handleTouchStart}"> <div class="handle-wrapper" aria-hidden="true"> <div class="handle"></div> </div> <slot name="header"></slot> <div class="content-wrapper"> <div id="body" class="body ha-scrollbar"> <slot></slot> </div> ${this.renderScrollableFades()} </div> <slot name="footer"></slot> </wa-drawer> `}_startResizing(t){document.addEventListener("touchmove",this._handleTouchMove,{passive:!1}),document.addEventListener("touchend",this._handleTouchEnd),document.addEventListener("touchcancel",this._handleTouchEnd),this._gestureRecognizer.start(t)}_animateSnapBack(){this.style.setProperty("--dialog-transition",`transform ${b}ms ease-out`),this.style.removeProperty("--dialog-transform"),setTimeout(()=>{this.style.removeProperty("--dialog-transition")},b)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("slider-interaction-start",this._handleSliderInteractionStart,{capture:!0}),this.removeEventListener("slider-interaction-stop",this._handleSliderInteractionStop,{capture:!0}),this._unregisterResizeHandlers(),this._isDragging=!1}static get styles(){return[...super.styles,p.dp,r.AH`wa-drawer{--wa-color-surface-raised:transparent;--spacing:0;--size:var(--ha-bottom-sheet-height, auto);--show-duration:${b}ms;--hide-duration:${b}ms}wa-drawer::part(dialog){max-height:min(var(--ha-bottom-sheet-max-height,90vh),calc(100vh - max(var(--safe-area-inset-top),48px)));max-height:min(var(--ha-bottom-sheet-max-height,90dvh),calc(100dvh - max(var(--safe-area-inset-top),48px)));align-items:center;transform:var(--dialog-transform);transition:var(--dialog-transition)}@media (prefers-reduced-motion:reduce){wa-drawer{--wa-color-surface-raised:transparent;--spacing:0;--size:var(--ha-bottom-sheet-height, auto);--show-duration:1ms;--hide-duration:1ms}wa-drawer::part(dialog){transition:1ms}}wa-drawer::part(dialog)::backdrop{-webkit-backdrop-filter:var(--ha-bottom-sheet-scrim-backdrop-filter,var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none)));backdrop-filter:var(--ha-bottom-sheet-scrim-backdrop-filter,var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none)));background-color:var(--ha-bottom-sheet-scrim-color,var(--mdc-dialog-scrim-color,none))}wa-drawer::part(body){max-width:var(--ha-bottom-sheet-max-width);width:100%;position:relative;border-top-left-radius:var(--ha-bottom-sheet-border-radius,var(--ha-dialog-border-radius,var(--ha-border-radius-2xl)));border-top-right-radius:var(--ha-bottom-sheet-border-radius,var(--ha-dialog-border-radius,var(--ha-border-radius-2xl)));background-color:var(--ha-bottom-sheet-surface-background,var(--ha-dialog-surface-background,var(--card-background-color,var(--ha-color-surface-default))));-webkit-backdrop-filter:var(--ha-bottom-sheet-surface-backdrop-filter,var(--ha-dialog-surface-backdrop-filter,none));backdrop-filter:var(--ha-bottom-sheet-surface-backdrop-filter,var(--ha-dialog-surface-backdrop-filter,none));padding:var(--ha-bottom-sheet-padding,0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left))}:host([flexcontent]) wa-drawer::part(body){display:flex;flex-direction:column}:host([prevent-scrim-close]) .handle-wrapper{display:none}.handle-wrapper{position:absolute;top:0;inset-inline-start:0;width:100%;padding-bottom:2px;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:1}.handle-wrapper .handle{height:16px;width:200px;display:flex;justify-content:center;align-items:center}.handle-wrapper .handle::after{content:"";border-radius:var(--ha-border-radius-md);height:4px;background:var(--ha-bottom-sheet-handle-color,var(--divider-color));width:40px}.content-wrapper{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.body{padding:var(--ha-bottom-sheet-content-padding,0);box-sizing:border-box}:host([flexcontent]) .body{flex:1;max-width:100%;display:flex;flex-direction:column;padding:var(--ha-bottom-sheet-content-padding,var(--ha-bottom-sheet-padding,0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)));box-sizing:border-box}slot[name=footer]{display:block;padding:0}::slotted([slot=footer]){display:flex;padding:var(--ha-space-3) var(--ha-space-4) var(--ha-space-4) var(--ha-space-4);gap:var(--ha-space-3);justify-content:flex-end;align-items:center;width:100%;box-sizing:border-box}:host([flexcontent]) slot[name=footer]{flex-shrink:0}`]}constructor(...t){super(...t),this.open=!1,this.flexContent=!1,this.preventScrimClose=!1,this._drawerOpen=!1,this._sliderInteractionActive=!1,this._gestureRecognizer=new d.u,this._isDragging=!1,this._escapePressed=!1,this._handleShow=async()=>{this._drawerOpen=!0,this.open=!0,(0,l.r)(this,"opened"),await this.updateComplete,requestAnimationFrame(()=>{const t=this._autofocusElement;this._hassConfig?.auth.external&&(0,u.V)(this._hassConfig.auth.external)?t&&(t.id||(t.id="ha-bottom-sheet-autofocus"),this._hassConfig.auth.external.fireMessage({type:"focus_element",payload:{element_id:t.id}})):t?.focus()})},this._handleAfterShow=()=>{(0,l.r)(this,"after-show")},this._handleSliderInteractionStart=()=>{this._sliderInteractionActive=!0},this._handleSliderInteractionStop=()=>{this._sliderInteractionActive=!1},this._handleAfterHide=t=>{if(this._sliderInteractionActive)return this._drawerOpen=!0,void(this.open=!0);t.eventPhase===Event.AT_TARGET&&(this.open=!1,this._drawerOpen=!1,(0,l.r)(this,"closed"))},this._handleHide=t=>{if(t.eventPhase!==Event.AT_TARGET)return;const e=t.detail.source===t.target.drawer;if(this._sliderInteractionActive)return t.preventDefault(),this._drawerOpen=!0,this.open=!0,void(this._escapePressed=!1);this.preventScrimClose&&this._escapePressed&&e&&t.preventDefault(),this._escapePressed=!1},this._handleKeyDown=t=>{"Escape"===t.key&&(this._escapePressed=!0,this.preventScrimClose&&t.preventDefault(),t.stopPropagation(),t.currentTarget.open=!1)},this._handleCloseAction=t=>{t.composedPath().some(t=>t instanceof HTMLElement&&("close"===t.getAttribute("data-dialog")||"close"===t.getAttribute("data-drawer")))&&(this._drawerOpen=!1)},this._handleTouchStart=t=>{if(this.preventScrimClose)return;const e=t.composedPath();for(const t of e){if(t===this._drawer)break;if(t instanceof HTMLElement&&(t.scrollTop>0||g.has(t.localName)||Array.from(t.classList).some(t=>m.has(t))))return}t.stopPropagation(),this._startResizing(t.touches[0].clientY)},this._handleTouchMove=t=>{const e=t.touches[0].clientY,a=this._gestureRecognizer.move(e);a<0&&(t.preventDefault(),this._isDragging=!0,requestAnimationFrame(()=>{this._isDragging&&this.style.setProperty("--dialog-transform",`translateY(${-1*a}px)`)}))},this._handleTouchEnd=()=>{this._unregisterResizeHandlers(),this._isDragging=!1;const t=this._gestureRecognizer.end();if(t.isSwipe)return void(t.isDownwardSwipe?this._drawerOpen=!1:this._animateSnapBack());const e=this._drawer.shadowRoot?.querySelector('[part="body"]'),a=e?.offsetHeight||0;a>0&&t.delta<0&&Math.abs(t.delta)>.5*a?this._drawerOpen=!1:this._animateSnapBack()},this._unregisterResizeHandlers=()=>{document.removeEventListener("touchmove",this._handleTouchMove),document.removeEventListener("touchend",this._handleTouchEnd),document.removeEventListener("touchcancel",this._handleTouchEnd)}}}(0,i.Cg)([(0,n.MZ)({attribute:"aria-labelledby"})],f.prototype,"ariaLabelledBy",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"aria-describedby"})],f.prototype,"ariaDescribedBy",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],f.prototype,"open",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"flexcontent"})],f.prototype,"flexContent",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"prevent-scrim-close"})],f.prototype,"preventScrimClose",void 0),(0,i.Cg)([(0,n.wk)()],f.prototype,"_drawerOpen",void 0),(0,i.Cg)([(0,n.wk)()],f.prototype,"_sliderInteractionActive",void 0),(0,i.Cg)([(0,n.wk)(),(0,s.Fg)({context:h.WF,subscribe:!0})],f.prototype,"_hassConfig",void 0),(0,i.Cg)([(0,n.P)("#drawer")],f.prototype,"_drawer",void 0),(0,i.Cg)([(0,n.P)("#body")],f.prototype,"_bodyElement",void 0),(0,i.Cg)([(0,n.P)("[autofocus]")],f.prototype,"_autofocusElement",void 0),f=(0,i.Cg)([(0,n.EM)("ha-bottom-sheet")],f),e()}catch(t){e(t)}})},93444(t,e,a){var i=a(62826),o=a(5124),s=a(22441);class r extends o.WF{render(){return o.qy` <footer> <slot name="secondaryAction"></slot> <slot name="primaryAction"></slot> </footer> `}static get styles(){return[o.AH`footer{display:flex;gap:var(--ha-space-3);justify-content:flex-end;align-items:center;width:100%}`]}}r=(0,i.Cg)([(0,s.EM)("ha-dialog-footer")],r)},76538(t,e,a){var i=a(62826),o=a(5124),s=a(22441);class r extends o.WF{render(){const t=o.qy`<div class="header-title"> <slot name="title"></slot> </div>`,e=o.qy`<div class="header-subtitle"> <slot name="subtitle"></slot> </div>`;return o.qy` <header class="header"> <div class="header-bar"> <section class="header-navigation-icon"> <slot name="navigationIcon"></slot> </section> <section class="header-content"> ${"above"===this.subtitlePosition?o.qy`${e}${t}`:o.qy`${t}${e}`} </section> <section class="header-action-items"> <slot name="actionItems"></slot> </section> </div> <slot></slot> </header> `}static get styles(){return[o.AH`:host{display:block}:host([show-border]){border-bottom:1px solid var(--mdc-dialog-scroll-divider-color,rgba(0,0,0,.12))}.header-bar{display:flex;flex-direction:row;align-items:center;padding:0 var(--ha-space-1);box-sizing:border-box}.header-content{flex:1;padding:10px var(--ha-space-1);display:flex;flex-direction:column;justify-content:center;min-height:var(--ha-space-12);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-title{height:var(--ha-dialog-header-title-height,calc(var(--ha-font-size-xl) + var(--ha-space-1)));font-size:var(--ha-font-size-xl);line-height:var(--ha-line-height-condensed);font-weight:var(--ha-font-weight-medium);color:var(--ha-dialog-header-title-color,var(--primary-text-color))}.header-subtitle{font-size:var(--ha-font-size-m);line-height:var(--ha-line-height-normal);color:var(--ha-dialog-header-subtitle-color,var(--secondary-text-color))}@media all and (min-width:450px) and (min-height:500px){.header-bar{padding:0 var(--ha-space-2)}}.header-navigation-icon{flex:none;min-width:var(--ha-space-2);height:100%;display:flex;flex-direction:row}.header-action-items{flex:none;min-width:var(--ha-space-2);height:100%;display:flex;flex-direction:row}`]}constructor(...t){super(...t),this.subtitlePosition="below",this.showBorder=!1}}(0,i.Cg)([(0,s.MZ)({type:String,attribute:"subtitle-position"})],r.prototype,"subtitlePosition",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0,attribute:"show-border"})],r.prototype,"showBorder",void 0),r=(0,i.Cg)([(0,s.EM)("ha-dialog-header")],r)},72554(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(93900),s=a(35211),r=a(5124),n=a(22441),l=a(63672),d=a(1087),h=a(64481),c=a(22792),p=a(59992),u=a(14503),v=a(22348),b=(a(76538),a(26300)),g=t([o,b]);[o,b]=g.then?(await g)():g;const m="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";class f extends((0,p.V)(r.WF)){connectedCallback(){super.connectedCallback(),this.addEventListener("dialog-set-fullscreen",this._handleFullscreenChanged)}get scrollableElement(){return this.bodyContainer}updated(t){super.updated(t),t.has("open")&&(this._open=this.open)}render(){return r.qy` <wa-dialog .open="${this._open}" .lightDismiss="${!this.preventScrimClose}" without-header aria-labelledby="${(0,l.J)(this.ariaLabelledBy||(void 0!==this.headerTitle?"ha-dialog-title":void 0))}" aria-describedby="${(0,l.J)(this.ariaDescribedBy)}" @keydown="${this._handleKeyDown}" @wa-hide="${this._handleHide}" @wa-show="${this._handleShow}" @wa-after-show="${this._handleAfterShow}" @wa-after-hide="${this._handleAfterHide}"> ${this.withoutHeader?r.s6:r.qy`<slot name="header"> <ha-dialog-header .subtitlePosition="${this.headerSubtitlePosition}" .showBorder="${this._bodyScrolled}"> <slot name="headerNavigationIcon" slot="navigationIcon"> <ha-icon-button data-dialog="close" .label="${this._i18n?.localize?.("ui.common.close")??"Close"}" .path="${m}"></ha-icon-button> </slot> ${void 0!==this.headerTitle?r.qy`<span slot="title" class="title" id="ha-dialog-title"> ${this.headerTitle} </span>`:r.qy`<slot name="headerTitle" slot="title"></slot>`} ${void 0!==this.headerSubtitle?r.qy`<span slot="subtitle">${this.headerSubtitle}</span>`:r.qy`<slot name="headerSubtitle" slot="subtitle"></slot>`} <slot name="headerActionItems" slot="actionItems"></slot> </ha-dialog-header> </slot>`} <div class="content-wrapper"> <div class="body ha-scrollbar" @scroll="${this._handleBodyScroll}"> <slot></slot> </div> ${this.renderScrollableFades()} </div> <slot name="footer" slot="footer"></slot> </wa-dialog> `}disconnectedCallback(){this.removeEventListener("dialog-set-fullscreen",this._handleFullscreenChanged),this._setFullscreen(!1),super.disconnectedCallback(),this._open=!1}_handleFullscreenChanged(t){this._open?(0,h.J)(()=>{this._setFullscreen(t.detail)}):this._setFullscreen(t.detail)}_setFullscreen(t){this.toggleAttribute("fullscreen",t)}_handleBodyScroll(t){this._bodyScrolled=t.target.scrollTop>0}_handleKeyDown(t){"Escape"===t.key&&(this._escapePressed=!0,this.preventScrimClose&&t.preventDefault(),t.stopPropagation(),t.currentTarget.open=!1)}_handleHide(t){const e=t.detail?.source===t.target.dialog;this.preventScrimClose&&this._escapePressed&&e&&t.preventDefault(),this._escapePressed=!1}static get styles(){return[...super.styles,u.dp,r.AH`wa-dialog{--full-width:var(
--ha-dialog-width-full,
min(95vw, var(--safe-width))
);--width:min(var(--ha-dialog-width-md, 580px), var(--full-width));--spacing:var(--dialog-content-padding, var(--ha-space-6));--show-duration:var(--ha-dialog-show-duration, 200ms);--hide-duration:var(--ha-dialog-hide-duration, 200ms);--wa-color-surface-raised:var(
--ha-dialog-surface-background,
var(--card-background-color, var(--ha-color-surface-default))
);--wa-panel-border-radius:var(
--ha-dialog-border-radius,
var(--ha-border-radius-3xl)
);max-width:var(--ha-dialog-max-width,var(--safe-width))}@media (prefers-reduced-motion:reduce){wa-dialog{--show-duration:0ms;--hide-duration:0ms}}:host([width=small]) wa-dialog{--width:min(var(--ha-dialog-width-sm, 320px), var(--full-width))}:host([width=large]) wa-dialog{--width:min(var(--ha-dialog-width-lg, 1024px), var(--full-width))}:host([fullscreen]) wa-dialog,:host([width=full]) wa-dialog{--width:var(--full-width)}:host([fullscreen]) wa-dialog::part(dialog){min-height:var(--safe-height);max-height:var(--safe-height);margin-top:0;transform:none}:host([fullscreen]) .content-wrapper{overflow:hidden}:host([fullscreen]) .body{overflow:hidden;padding:0}wa-dialog::part(dialog){-webkit-backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);box-shadow:var(--dialog-box-shadow,var(--wa-shadow-l));color:var(--primary-text-color);min-width:var(--width,var(--full-width));max-width:var(--width,var(--full-width));max-height:var(--ha-dialog-max-height,calc(var(--safe-height) - var(--ha-space-20)));min-height:var(--ha-dialog-min-height);margin-top:var(--dialog-surface-margin-top,auto);transform:translate(calc(var(--safe-area-offset-left,0px) - var(--safe-area-offset-right,0px)),calc(var(--safe-area-offset-top,0px) - var(--safe-area-offset-bottom,0px)));display:flex;flex-direction:column;overflow:hidden}wa-dialog::part(dialog)::backdrop{-webkit-backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));background-color:var(--mdc-dialog-scrim-color,none)}@media all and (max-width:450px),all and (max-height:500px){:host([type=standard]){--ha-dialog-border-radius:0}:host([type=standard]) wa-dialog{--full-width:var(--ha-dialog-width-full, 100vw);--width:var(--full-width)}:host([type=standard]) wa-dialog::part(dialog){min-height:var(--ha-dialog-min-height,100vh);min-height:var(--ha-dialog-min-height,100dvh);max-height:var(--ha-dialog-max-height,100vh);max-height:var(--ha-dialog-max-height,100dvh);margin-top:0;margin-bottom:0;padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right);transform:none}}.header-title-container{display:flex;align-items:center}.header-title{margin:0;margin-bottom:0;color:var(--ha-dialog-header-title-color,var(--primary-text-color));font-size:var(
--ha-dialog-header-title-font-size,
var(--ha-font-size-2xl)
);line-height:var(
--ha-dialog-header-title-line-height,
var(--ha-line-height-condensed)
);font-weight:var(--ha-dialog-header-title-font-weight,var(--ha-font-weight-normal));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:var(--ha-space-3)}wa-dialog::part(body){padding:0;display:flex;flex-direction:column;max-width:100%;overflow:hidden}.content-wrapper{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.body{position:var(--dialog-content-position,relative);padding:var(--dialog-content-padding,0 var(--ha-space-6) var(--ha-space-6) var(--ha-space-6));overflow:auto;flex-grow:1}:host([flexcontent]) .body{max-width:100%;flex:1;display:flex;flex-direction:column}wa-dialog::part(footer){padding:0}::slotted([slot=footer]){display:flex;padding:var(--ha-space-3) var(--ha-space-4) var(--ha-space-4) var(--ha-space-4);gap:var(--ha-space-3);justify-content:flex-end;align-items:center;width:100%}`]}constructor(...t){super(...t),this.open=!1,this.type="standard",this.width="medium",this.preventScrimClose=!1,this.headerSubtitlePosition="below",this.flexContent=!1,this.withoutHeader=!1,this._open=!1,this._bodyScrolled=!1,this._escapePressed=!1,this._handleShow=async t=>{t.eventPhase===Event.AT_TARGET&&(this._open=!0,(0,d.r)(this,"opened"),await this.updateComplete,requestAnimationFrame(()=>{if(this._hassConfig?.auth.external&&(0,v.V)(this._hassConfig.auth.external)){const t=this.querySelector("[autofocus]");return void(null!==t&&(t.id||(t.id="ha-dialog-autofocus"),this._hassConfig.auth.external.fireMessage({type:"focus_element",payload:{element_id:t.id}})))}this.querySelector("[autofocus]")?.focus()}))},this._handleAfterShow=t=>{t.eventPhase===Event.AT_TARGET&&(0,d.r)(this,"after-show")},this._handleAfterHide=t=>{t.eventPhase===Event.AT_TARGET&&(this._open=!1,this._setFullscreen(!1),(0,d.r)(this,"closed"))}}}(0,i.Cg)([(0,n.MZ)({attribute:"aria-labelledby"})],f.prototype,"ariaLabelledBy",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"aria-describedby"})],f.prototype,"ariaDescribedBy",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],f.prototype,"open",void 0),(0,i.Cg)([(0,n.MZ)({reflect:!0})],f.prototype,"type",void 0),(0,i.Cg)([(0,n.MZ)({type:String,reflect:!0,attribute:"width"})],f.prototype,"width",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"prevent-scrim-close"})],f.prototype,"preventScrimClose",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"header-title"})],f.prototype,"headerTitle",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"header-subtitle"})],f.prototype,"headerSubtitle",void 0),(0,i.Cg)([(0,n.MZ)({type:String,attribute:"header-subtitle-position"})],f.prototype,"headerSubtitlePosition",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"flexcontent"})],f.prototype,"flexContent",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,attribute:"without-header"})],f.prototype,"withoutHeader",void 0),(0,i.Cg)([(0,n.wk)()],f.prototype,"_open",void 0),(0,i.Cg)([(0,n.P)(".body")],f.prototype,"bodyContainer",void 0),(0,i.Cg)([(0,n.wk)(),(0,s.Fg)({context:c.D5,subscribe:!0})],f.prototype,"_i18n",void 0),(0,i.Cg)([(0,n.wk)(),(0,s.Fg)({context:c.WF,subscribe:!0})],f.prototype,"_hassConfig",void 0),(0,i.Cg)([(0,n.wk)()],f.prototype,"_bodyScrolled",void 0),(0,i.Cg)([(0,n.Ls)({passive:!0})],f.prototype,"_handleBodyScroll",null),f=(0,i.Cg)([(0,n.EM)("ha-dialog")],f),e()}catch(t){e(t)}})},70947(t,e,a){var i=a(62826),o=a(50759),s=(a(38625),a(5124)),r=a(22441);a(67094);class n extends o.A{renderCheckboxIcon(){return s.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[o.A.styles,s.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,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"selected",void 0),n=(0,i.Cg)([(0,r.EM)("ha-dropdown-item")],n)},29823(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(52254),s=a(5124),r=a(22441),n=t([o]);o=(n.then?(await n)():n)[0];class l extends o.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[o.A.styles,s.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,i.Cg)([(0,r.MZ)({attribute:!1})],l.prototype,"dropdownTag",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],l.prototype,"dropdownItemTag",void 0),l=(0,i.Cg)([(0,r.EM)("ha-dropdown")],l),e()}catch(t){e(t)}})},38508(t,e,a){a.a(t,async function(t,e){try{a(18111),a(13579);var i=a(62826),o=a(61366),s=a(35211),r=a(5124),n=a(22441),l=a(63672),d=a(91335),h=a(1087),c=a(22792),p=a(17894),u=a(22348),v=a(99611),b=a(18350),g=(a(75064),a(3449),a(49639)),m=a(88285),f=(a(67094),t([o,v,b,g,m]));[o,v,b,g,m]=f.then?(await f)():f;const _="M3 16H10V14H3M18 14V10H16V14H12V16H16V20H18V16H22V14M14 6H3V8H14M14 10H3V12H14V10Z";class y extends((0,p.c)(r.WF)){willUpdate(t){t.has("value")&&this._setUnknownValue()}setFieldValue(t){this._comboBox?this._comboBox.setFieldValue(t):this._initialFieldValue=t}render(){const t=this.useTopLabel&&this.value?void 0:this.label;return r.qy`<div class="container"> ${this.useTopLabel&&this.label?r.qy`<label ?disabled="${this.disabled}">${this.label}</label>`:r.s6} <div id="picker"> <slot name="field"> ${this.addButtonLabel&&!this.value?r.qy`<ha-button size="small" appearance="filled" @click="${this.open}" .disabled="${this.disabled}"> <ha-svg-icon .path="${_}" slot="start"></ha-svg-icon> ${this.addButtonLabel} </ha-button>`:r.qy`<ha-picker-field type="button" class="${this._opened?"opened":""}" compact="compact" .unknown="${this._unknownValue}" .unknownItemText="${this.unknownItemText}" aria-label="${(0,l.J)(this.label)}" @click="${this.open}" @clear="${this._clear}" .icon="${this.icon}" .image="${this.image}" .label="${t}" .placeholder="${this.placeholder}" .value="${this.value}" .valueRenderer="${this.valueRenderer}" .required="${this.required}" .disabled="${this.disabled}" .invalid="${this.invalid}" .hideClearIcon="${this.hideClearIcon}"> <slot name="start"></slot> </ha-picker-field>`} </slot> </div> ${this._pickerWrapperOpen||this._opened?this._openedNarrow?r.qy` <ha-bottom-sheet flexcontent .open="${this._pickerWrapperOpen}" @wa-after-show="${this._dialogOpened}" @closed="${this._hidePicker}" role="dialog" aria-modal="true" aria-label="${this.label||"Select option"}"> ${this._renderComboBox(!0)} </ha-bottom-sheet> `:r.qy` <wa-popover .open="${this._pickerWrapperOpen}" style="--body-width:${this._popoverWidth}px" without-arrow distance="-4" .placement="${this.popoverPlacement}" .for="${this.popoverAnchor?null:"picker"}" .anchor="${this.popoverAnchor??null}" auto-size="vertical" auto-size-padding="16" @wa-after-show="${this._dialogOpened}" @wa-after-hide="${this._hidePicker}" trap-focus role="dialog" aria-modal="true" aria-label="${this.label||"Select option"}"> ${this._renderComboBox()} </wa-popover> `:r.s6} </div> ${this._renderHelper()}`}_renderComboBox(t=!1){return this._opened?r.qy` <ha-picker-combo-box id="combo-box" .allowCustomValue="${this.allowCustomValue}" .label="${this.searchLabel}" .value="${this._selectedValue??this.value}" @value-changed="${this._valueChanged}" .rowRenderer="${this.rowRenderer}" .notFoundLabel="${this.notFoundLabel}" .emptyLabel="${this.emptyLabel}" .getItems="${this.getItems}" .getAdditionalItems="${this.getAdditionalItems}" .searchFn="${this.searchFn}" .mode="${t?"dialog":"popover"}" .sections="${this.sections}" .sectionTitleFunction="${this.sectionTitleFunction}" .selectedSection="${this.selectedSection}" .searchKeys="${this.searchKeys}" .customValueLabel="${this.customValueLabel}" .noSort="${this.noSort}"></ha-picker-combo-box> `:r.s6}_renderHelper(){const t=this.invalid&&this.errorMessage,e=!t&&this.helper;return t||e?r.qy`<ha-input-helper-text .disabled="${this.disabled}"> ${t?this.errorMessage:this.helper} </ha-input-helper-text>`:r.s6}refreshItems(){this._comboBox?.refreshItems()}_hidePicker(t){t.stopPropagation(),this._newValue&&((0,h.r)(this,"value-changed",{value:this._newValue}),this._newValue=void 0),this._opened=!1,this._pickerWrapperOpen=!1,this._selectedValue=void 0,this._unsubscribeTinyKeys?.(),(0,h.r)(this,"picker-closed")}_valueChanged(t){t.stopPropagation();const e=t.detail.value;e&&(this._pickerWrapperOpen=!1,this._newValue=e)}_clear(t){t.stopPropagation(),this._setValue(void 0)}_setValue(t){this.value=t,(0,h.r)(this,"value-changed",{value:t})}async open(t,e){t?.stopPropagation(),this.disabled||(this._selectedValue=e?.selectedValue,this._openedNarrow=this._narrow,this._popoverWidth=this._containerElement?.offsetWidth||250,this._pickerWrapperOpen=!0,this._unsubscribeTinyKeys=(0,d.Tc)(this,{Escape:this._handleEscClose}))}connectedCallback(){super.connectedCallback(),this._handleResize(),window.addEventListener("resize",this._handleResize)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this._handleResize),this._unsubscribeTinyKeys?.()}static get styles(){return[r.AH`.container{position:relative;display:block;max-width:100%}label[disabled]{color:var(--mdc-text-field-disabled-ink-color,rgba(0,0,0,.6))}label{display:block;margin:0 0 8px}ha-input-helper-text{display:block;margin:var(--ha-space-2) 0 0}:host([invalid]) ha-input-helper-text{color:var(--mdc-theme-error,var(--error-color,#b00020))}wa-popover{--wa-space-l:0}wa-popover::part(dialog)::backdrop{background:0 0}wa-popover::part(body){width:var(--ha-generic-picker-width,max(var(--body-width),250px));max-width:var(--ha-generic-picker-max-width,var(--ha-generic-picker-width,max(var(--body-width),250px)));max-height:500px;height:70vh;overflow:hidden}@media (max-height:1000px){wa-popover::part(body){max-height:400px}}ha-bottom-sheet{--ha-bottom-sheet-height:90vh;--ha-bottom-sheet-height:calc(100dvh - var(--ha-space-12));--ha-bottom-sheet-max-height:var(--ha-bottom-sheet-height);--ha-bottom-sheet-max-width:600px;--ha-bottom-sheet-padding:0;--ha-bottom-sheet-surface-background:var(--card-background-color);--ha-bottom-sheet-border-radius:var(--ha-border-radius-2xl);--ha-bottom-sheet-content-padding:0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)}ha-picker-field.opened{--mdc-text-field-idle-line-color:var(--primary-color)}`]}constructor(...t){super(...t),this.popoverPlacement="bottom",this.useTopLabel=!1,this.noSort=!1,this._opened=!1,this._pickerWrapperOpen=!1,this._popoverWidth=0,this._openedNarrow=!1,this._unknownValue=!1,this._narrow=!1,this.invalid=!1,this._setUnknownValue=()=>{const t=this.getItems();!this.allowCustomValue&&void 0!==this.value&&null!==this.value&&""!==this.value&&t?this._unknownValue=!t.some(t=>"string"!=typeof t&&t.id===this.value):this._unknownValue=!1},this._dialogOpened=()=>{this._opened=!0,(0,h.r)(this,"picker-opened"),requestAnimationFrame(()=>{this._initialFieldValue&&(this._comboBox?.setFieldValue(this._initialFieldValue),this._initialFieldValue=void 0),this._hassConfig?.auth.external&&(0,u.V)(this._hassConfig.auth.external)?this._hassConfig.auth.external.fireMessage({type:"focus_element",payload:{element_id:"combo-box"}}):this._comboBox?.focus()})},this._handleResize=()=>{this._narrow=window.matchMedia("(max-width: 870px)").matches||window.matchMedia("(max-height: 500px)").matches,!this._openedNarrow&&this._pickerWrapperOpen&&(this._popoverWidth=this._containerElement?.offsetWidth||250)},this._handleEscClose=t=>{t.stopPropagation()}}}y.shadowRootOptions={...r.WF.shadowRootOptions,delegatesFocus:!0},(0,i.Cg)([(0,n.MZ)({type:Boolean,attribute:"allow-custom-value"})],y.prototype,"allowCustomValue",void 0),(0,i.Cg)([(0,n.MZ)({type:String,attribute:"search-label"})],y.prototype,"searchLabel",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"getItems",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"getAdditionalItems",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"rowRenderer",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"searchFn",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"searchKeys",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"notFoundLabel",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"empty-label"})],y.prototype,"emptyLabel",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"popover-placement"})],y.prototype,"popoverPlacement",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"add-button-label"})],y.prototype,"addButtonLabel",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"sections",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"sectionTitleFunction",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"selected-section"})],y.prototype,"selectedSection",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"popoverAnchor",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,attribute:"use-top-label"})],y.prototype,"useTopLabel",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"custom-value-label"})],y.prototype,"customValueLabel",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,attribute:"no-sort"})],y.prototype,"noSort",void 0),(0,i.Cg)([(0,n.P)(".container")],y.prototype,"_containerElement",void 0),(0,i.Cg)([(0,n.P)("ha-picker-combo-box")],y.prototype,"_comboBox",void 0),(0,i.Cg)([(0,n.wk)(),(0,s.Fg)({context:c.WF,subscribe:!0})],y.prototype,"_hassConfig",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_opened",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_pickerWrapperOpen",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_popoverWidth",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_openedNarrow",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_unknownValue",void 0),(0,i.Cg)([(0,n.wk)()],y.prototype,"_selectedValue",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"error-message"})],y.prototype,"errorMessage",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],y.prototype,"invalid",void 0),y=(0,i.Cg)([(0,n.EM)("ha-generic-picker")],y),e()}catch(t){e(t)}})},47680(t,e,a){a.r(e),a.d(e,{HaIcon:()=>C});a(74423);var i=a(62826),o=a(5124),s=a(22441),r=a(1087),n=a(9899),l=a(700),d=(a(44114),a(18111),a(7588),a(95192)),h=a(7553);const c=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"}]}');let p;const u=()=>(p||(p=v().catch(t=>{throw p=void 0,t})),p),v=async()=>{const t=(0,d.y$)("hass-icon-db","mdi-icon-store"),e=await(0,d.Jt)("_version",t);return e?e!==c.version&&(await(0,d.IU)(t),(0,d.hZ)("_version",c.version,t)):(0,d.hZ)("_version",c.version,t),t},b=["mdi","hass","hassio","hademo"];let g=[];a(67094);const m={},f={},_=(0,n.s)(()=>(async t=>{const e=Object.keys(t),a=await Promise.allSettled(Object.values(t));(await u())("readwrite",i=>{a.forEach((a,o)=>{"fulfilled"===a.status&&Object.entries(a.value).forEach(([t,e])=>{i.put(e,t)}),delete t[e[o]]})})})(f),2e3),y={},w={"home-assistant":()=>a.e(58781).then(a.bind(a,53580)).then(t=>t.mdiHomeAssistant),"music-assistant":()=>a.e(56009).then(a.bind(a,10576)).then(t=>t.mdiMusicAssistant),esphome:()=>a.e(88800).then(a.bind(a,45091)).then(t=>t.mdiEsphomeLogo)};class C extends o.WF{willUpdate(t){super.willUpdate(t),t.has("icon")&&(this._path=void 0,this._secondaryPath=void 0,this._viewBox=void 0,this._loadIcon())}render(){return this.icon?this._legacy?o.qy` <iron-icon .icon="${this.icon}"></iron-icon>`:o.qy`<ha-svg-icon .path="${this._path}" .secondaryPath="${this._secondaryPath}" .viewBox="${this._viewBox}"></ha-svg-icon>`:o.s6}async _loadIcon(){if(!this.icon)return;const t=this.icon,[e,a]=this.icon.split(":",2);let i,o=a;if(!e||!o)return;if(!b.includes(e)){const a=l.y[e];return a?void(a&&"function"==typeof a.getIcon&&this._setCustomPath(a.getIcon(o),t)):void(this._legacy=!0)}if(this._legacy=!1,o in m){const t=m[o];let a;t.newName?(a=`Icon ${e}:${o} was renamed to ${e}:${t.newName}, please change your config, it will be removed in version ${t.removeIn}.`,o=t.newName):a=`Icon ${e}:${o} was removed from MDI, please replace this icon with an other icon in your config, it will be removed in version ${t.removeIn}.`,console.warn(a),(0,r.r)(this,"write_log",{level:"warning",message:a})}if(o in y)return void(this._path=y[o]);if(o in w){const e=await w[o]();return this.icon===t&&(this._path=e),void(y[o]=e)}try{i=await(t=>new Promise((e,a)=>{if(g.push([t,e,a]),g.length>1)return;const i=u();(0,h.h)(1e3,(async()=>{(await i)("readonly",t=>{for(const[e,a,i]of g)(0,d.Yd)(t.get(e)).then(t=>a(t)).catch(t=>i(t));g=[]})})()).catch(t=>{for(const[,,e]of g)e(t);g=[]})}))(o)}catch(t){i=void 0}if(i)return this.icon===t&&(this._path=i),void(y[o]=i);const s=(t=>{let e;for(const a of c.parts){if(void 0!==a.start&&t<a.start)break;e=a}return e.file})(o);if(s in f)return void this._setPath(f[s],o,t);const n=fetch(`/static/mdi/${s}.json`).then(t=>t.json());f[s]=n,this._setPath(n,o,t),n.catch(()=>{delete f[s]}),_()}async _setCustomPath(t,e){const a=await t;this.icon===e&&(this._path=a.path,this._secondaryPath=a.secondaryPath,this._viewBox=a.viewBox)}async _setPath(t,e,a){try{const i=await t;this.icon===a&&(this._path=i[e]),y[e]=i[e]}catch(t){}}constructor(...t){super(...t),this._legacy=!1}}C.styles=o.AH`:host{fill:currentcolor}`,(0,i.Cg)([(0,s.MZ)()],C.prototype,"icon",void 0),(0,i.Cg)([(0,s.wk)()],C.prototype,"_path",void 0),(0,i.Cg)([(0,s.wk)()],C.prototype,"_secondaryPath",void 0),(0,i.Cg)([(0,s.wk)()],C.prototype,"_viewBox",void 0),(0,i.Cg)([(0,s.wk)()],C.prototype,"_legacy",void 0),C=(0,i.Cg)([(0,s.EM)("ha-icon")],C)},3449(t,e,a){var i=a(62826),o=a(5124),s=a(22441);class r extends o.WF{render(){return o.qy`<slot></slot>`}constructor(...t){super(...t),this.disabled=!1}}r.styles=o.AH`:host{display:block;color:var(--mdc-text-field-label-ink-color,rgba(0,0,0,.6));font-size:var(--ha-font-size-s);padding-left:16px;padding-right:16px;padding-inline-start:16px;padding-inline-end:16px;letter-spacing:var(
--mdc-typography-caption-letter-spacing,
.0333333333em
);line-height:normal}:host([disabled]){color:var(--mdc-text-field-disabled-ink-color,rgba(0,0,0,.6))}`,(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],r.prototype,"disabled",void 0),r=(0,i.Cg)([(0,s.EM)("ha-input-helper-text")],r)},88285(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(35211),s=a(5124),r=a(22441),n=a(63672),l=a(1087),d=a(22792),h=a(17894),c=(a(75064),a(47680),a(26300)),p=t([c]);c=(p.then?(await p)():p)[0];const u="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",v="M7,10L12,15L17,10H7Z";class b extends((0,h.c)(s.WF)){async focus(){await this.updateComplete,await(this.item?.focus())}render(){const t=!!this.value,e=!(!this.value||this.required||this.disabled||this.hideClearIcon),a=this.placeholder??this.label,i=this.label&&t?s.qy`<span slot="overline">${this.label}${this.required?" *":""}</span>`:s.s6,o=t?this.valueRenderer?this.valueRenderer(this.value??""):s.qy`<span slot="headline">${this.value}</span>`:a?s.qy`<span slot="headline" class="placeholder"> ${a}${this.required?" *":""} </span>`:s.s6;return s.qy` <ha-combo-box-item aria-label="${(0,n.J)(this.label||this.placeholder)}" .disabled="${this.disabled}" type="button" compact="compact"> ${this.image?s.qy`<img alt="${this.label??""}" slot="start" .src="${this.image}" crossorigin="anonymous" referrerpolicy="no-referrer">`:this.icon?s.qy`<ha-icon slot="start" .icon="${this.icon}"></ha-icon>`:s.qy`<slot name="start"></slot>`} ${i}${o} ${this.unknown?s.qy`<div slot="supporting-text" class="unknown"> ${this.unknownItemText||this._i18n?.localize("ui.components.combo-box.unknown_item")} </div>`:s.s6} ${e?s.qy` <ha-icon-button class="clear" slot="end" @click="${this._clear}" .path="${u}"></ha-icon-button> `:s.s6} <ha-svg-icon class="arrow" slot="end" .path="${v}"></ha-svg-icon> </ha-combo-box-item> `}_clear(t){t.stopPropagation(),(0,l.r)(this,"clear")}static get styles(){return[s.AH`ha-combo-box-item[disabled]{background-color:var(--ha-color-form-background-disabled);--md-list-item-disabled-opacity:0.5;opacity:.5;cursor:not-allowed}ha-combo-box-item{position:relative;background-color:var(--ha-color-form-background);border-radius:var(--ha-border-radius-sm);border-end-end-radius:0;border-end-start-radius:0;--md-list-item-one-line-container-height:56px;--md-list-item-two-line-container-height:56px;--md-list-item-top-space:0px;--md-list-item-bottom-space:0px;--md-list-item-leading-space:var(--ha-space-4);--md-list-item-trailing-space:var(--ha-space-2);--ha-md-list-item-gap:var(--ha-space-2);--md-focus-ring-width:0px;--md-focus-ring-duration:0s}ha-combo-box-item:after{display:block;content:"";position:absolute;pointer-events:none;bottom:0;left:0;right:0;height:1px;width:100%;background-color:var(--ha-color-border-neutral-loud);transform:height 180ms ease-in-out,background-color 180ms ease-in-out}ha-combo-box-item:focus:after{height:2px;background-color:var(--mdc-theme-primary)}:host([unknown]) ha-combo-box-item{background-color:var(--ha-color-fill-warning-quiet-resting)}:host([invalid]) ha-combo-box-item:after{height:2px;background-color:var(--mdc-theme-error,var(--error-color,#b00020))}.clear{margin:0 -8px;--ha-icon-button-size:32px;--ha-icon-button-padding-inline:var(--ha-space-1)}.arrow{--mdc-icon-size:20px;width:32px}.placeholder{color:var(--secondary-text-color)}:host([invalid]) .placeholder{color:var(--mdc-theme-error,var(--error-color,#b00020))}.unknown{color:var(--ha-color-on-warning-normal)}`]}constructor(...t){super(...t),this.invalid=!1}}(0,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],b.prototype,"invalid",void 0),(0,i.Cg)([(0,r.P)("ha-combo-box-item",!0)],b.prototype,"item",void 0),(0,i.Cg)([(0,r.wk)(),(0,o.Fg)({context:d.D5,subscribe:!0})],b.prototype,"_i18n",void 0),b=(0,i.Cg)([(0,r.EM)("ha-picker-field")],b),e()}catch(t){e(t)}})},606(t,e,a){a.a(t,async function(t,e){try{a(74423),a(18111),a(61701);var i=a(62826),o=a(5124),s=a(22441),r=a(63672),n=a(22786),l=a(1087),d=a(29823),h=(a(70947),a(3449),a(88285)),c=(a(67094),t([d,h]));[d,h]=c.then?(await c)():c;class p extends o.WF{render(){return this.disabled?o.qy`${this._renderField()}${this._renderHelper()}`:o.qy` <ha-dropdown placement="bottom" @wa-select="${this._handleSelect}" @wa-show="${this._handleShow}" @wa-hide="${this._handleHide}"> ${this._renderField()} ${this.options?this.options.map(t=>{const e=["string","number"].includes(typeof t);return o.qy` <ha-dropdown-item .value="${e?t:t.value}" .disabled="${!e&&(t.disabled??!1)}" .selected="${this.value===(e?t:t.value)}"> ${t.iconPath?o.qy`<ha-svg-icon slot="icon" .path="${t.iconPath}"></ha-svg-icon>`:o.s6} <div class="content"> ${e?t:t.label||t.value} ${t.secondary?o.qy`<div class="secondary">${t.secondary}</div>`:o.s6} </div> </ha-dropdown-item> `}):o.qy`<slot></slot>`} </ha-dropdown> ${this._renderHelper()} `}_renderField(){const t=this._getValueLabel(this.options,this.value);return o.qy` <ha-picker-field slot="trigger" type="button" class="${this._opened?"opened":""}" compact="compact" aria-label="${(0,r.J)(this.label)}" @clear="${this._clearValue}" .label="${this.label}" .value="${t}" .required="${this.required}" .disabled="${this.disabled}" .hideClearIcon="${!this.clearable||this.required||this.disabled||!String(this.value)}"> </ha-picker-field> `}_renderHelper(){return this.helper?o.qy`<ha-input-helper-text .disabled="${this.disabled}">${this.helper}</ha-input-helper-text>`:o.s6}_handleSelect(t){t.stopPropagation();const e=t.detail.item.value;e!==this.value&&(0,l.r)(this,"selected",{value:e})}_clearValue(){!this.disabled&&this.value&&(0,l.r)(this,"selected",{value:void 0})}_handleShow(){this.style.setProperty("--select-menu-width",`${this._triggerField.offsetWidth}px`),this._opened=!0}_handleHide(){this._opened=!1}constructor(...t){super(...t),this.clearable=!1,this.required=!1,this.disabled=!1,this._opened=!1,this._getValueLabel=(0,n.A)((t,e)=>{const a=void 0!==e?String(e):void 0;if(!t||!a)return a;for(const e of t){const t=["string","number"].includes(typeof e);if(t&&e===a||!t&&String(e.value)===a)return t?e:e.label||e.value}return a})}}p.styles=o.AH`:host{position:relative}ha-picker-field.opened{--mdc-text-field-idle-line-color:var(--primary-color)}ha-dropdown-item .content{display:flex;gap:var(--ha-space-1);flex-direction:column}ha-dropdown-item .secondary{font-size:var(--ha-font-size-s);color:var(--ha-color-text-secondary)}ha-dropdown::part(menu){min-width:var(--select-menu-width)}ha-input-helper-text{display:block;margin:var(--ha-space-2) 0 0}`,(0,i.Cg)([(0,s.MZ)({type:Boolean})],p.prototype,"clearable",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],p.prototype,"options",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"helper",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"value",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],p.prototype,"required",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],p.prototype,"disabled",void 0),(0,i.Cg)([(0,s.wk)()],p.prototype,"_opened",void 0),(0,i.Cg)([(0,s.P)("ha-picker-field")],p.prototype,"_triggerField",void 0),p=(0,i.Cg)([(0,s.EM)("ha-select")],p),e()}catch(t){e(t)}})},93367(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(35211),s=a(5124),r=a(22441),n=a(91450),l=a(69093),d=a(22792),h=a(85694),c=(a(47680),a(67094),t([h]));h=(c.then?(await c)():c)[0];class p extends s.WF{render(){const t=this.icon||this.stateObj&&this._entities?.[this.stateObj.entity_id]?.icon||this.stateObj?.attributes.icon;if(t)return s.qy`<ha-icon .icon="${t}"></ha-icon>`;if(!this.stateObj)return s.s6;if(!this._config||!this._connection||!this._entities)return this._renderFallback();const e=(0,h.fq)(this._entities,this._config.config,this._connection.connection,this.stateObj,this.stateValue).then(t=>t?s.qy`<ha-icon .icon="${t}"></ha-icon>`:this._renderFallback());return s.qy`${(0,n.T)(e)}`}_renderFallback(){const t=(0,l.t)(this.stateObj);return s.qy` <ha-svg-icon .path="${h.l[t]||h.lW}"></ha-svg-icon> `}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"stateObj",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"stateValue",void 0),(0,i.Cg)([(0,r.MZ)()],p.prototype,"icon",void 0),(0,i.Cg)([(0,r.wk)(),(0,o.Fg)({context:d.WF,subscribe:!0})],p.prototype,"_config",void 0),(0,i.Cg)([(0,r.wk)(),(0,o.Fg)({context:d.Wq,subscribe:!0})],p.prototype,"_connection",void 0),(0,i.Cg)([(0,r.wk)(),(0,o.Fg)({context:d.X1,subscribe:!0})],p.prototype,"_entities",void 0),p=(0,i.Cg)([(0,r.EM)("ha-state-icon")],p),e()}catch(t){e(t)}})},36866(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(5124),s=a(22441),r=a(91485),n=t([r]);r=(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 d extends r.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 o.qy`<ha-svg-icon slot="start" .path="${l}"></ha-svg-icon>`}constructor(){super(),this.withClear=!0,this.autocomplete=this.autocomplete||"off"}}d.styles=[...r.U.styles,o.AH`:host([appearance=outlined]) wa-input.no-label::part(base){height:40px}`],d=(0,i.Cg)([(0,s.EM)("ha-input-search")],d),e()}catch(t){e(t)}})},91485(t,e,a){a.a(t,async function(t,i){try{a.d(e,{U:()=>w});var o=a(62826),s=(a(86137),a(30006)),r=a(92070),n=a(35211),l=a(5124),d=a(22441),h=a(6412),c=a(63672),p=a(57237),u=a(22792),v=a(26300),b=(a(67094),a(34127)),g=a(53305),m=t([s,v,b]);[s,v,b]=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",_="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",y="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 w extends((0,g.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"),e=!this.hint&&this._hasSlotController.test("hint"),a=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,h.H)({input:!0,invalid:this.invalid||this._invalid,"label-raised":void 0!==this.value&&""!==this.value||this.label&&this.placeholder||a&&this.insetLabel,"no-label":!this.label,"hint-hidden":!(this.hint||e||this.required||this._invalid||this.invalid)})}" @input="${this._handleInput}" @change="${this._handleChange}" @blur="${this._handleBlur}" @wa-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" @slotchange="${this._syncStartSlotWidth}"> ${this.renderStartDefault()} </slot> <slot name="end" slot="end"> ${this.renderEndDefault()} </slot> <slot name="clear-button" slot="clear-button"> <ha-icon-button @click="${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 @keydown="${p.d}" @click="${this._handlePasswordToggle}" .label="${this.i18n?.localize?.("ui.components.input."+(this.passwordVisible?"hide_password":"show_password"))||(this.passwordVisible?"Hide password":"Show password")}" .path="${this.passwordVisible?y:_}"></ha-icon-button> </slot> <div slot="hint" class="${(0,h.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||(e?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 r.X(this,"label","hint","input","start"),this._syncStartSlotWidth=()=>{const t=this._input?.shadowRoot?.querySelector('[part~="start"]'),e=t?.offsetWidth??0;e>0&&!this.insetLabel?(this.style.setProperty("--start-slot-width",`calc(${e}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"))}}}w.styles=[g.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,o.Cg)([(0,d.MZ)({reflect:!0})],w.prototype,"appearance",void 0),(0,o.Cg)([(0,d.MZ)({reflect:!0})],w.prototype,"type",void 0),(0,o.Cg)([(0,d.MZ)({type:Boolean,attribute:"with-clear"})],w.prototype,"withClear",void 0),(0,o.Cg)([(0,d.MZ)({type:Boolean,attribute:"password-toggle"})],w.prototype,"passwordToggle",void 0),(0,o.Cg)([(0,d.MZ)({type:Boolean,attribute:"password-visible"})],w.prototype,"passwordVisible",void 0),(0,o.Cg)([(0,d.MZ)({type:Boolean,attribute:"without-spin-buttons"})],w.prototype,"withoutSpinButtons",void 0),(0,o.Cg)([(0,d.MZ)()],w.prototype,"pattern",void 0),(0,o.Cg)([(0,d.MZ)()],w.prototype,"min",void 0),(0,o.Cg)([(0,d.MZ)()],w.prototype,"max",void 0),(0,o.Cg)([(0,d.MZ)()],w.prototype,"step",void 0),(0,o.Cg)([(0,d.MZ)({type:Boolean})],w.prototype,"autocorrect",void 0),(0,o.Cg)([(0,d.MZ)({type:Boolean,attribute:"inset-label"})],w.prototype,"insetLabel",void 0),(0,o.Cg)([(0,d.P)("wa-input")],w.prototype,"_input",void 0),(0,o.Cg)([(0,d.wk)(),(0,n.Fg)({context:u.D5,subscribe:!0})],w.prototype,"i18n",void 0),w=(0,o.Cg)([(0,d.EM)("ha-input")],w),i()}catch(t){i(t)}})},53305(t,e,a){a.d(e,{w:()=>l,N:()=>d});var i=a(62826),o=a(5124),s=a(22441),r=a(22786);a(74423);const n=Boolean(globalThis.ElementInternals)&&globalThis.HTMLElement?.prototype.attachInternals?.toString().includes("[native code]"),l=t=>{class e extends t{get _formControl(){throw new Error("_formControl getter must be implemented by subclass")}select(){this._formControl?.select()}setSelectionRange(t,e,a){this._formControl?.setSelectionRange(t,e,a)}setRangeText(t,e,a,i){this._formControl?.setRangeText(t,e,a,i)}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,r.A)((t,e)=>{if(!e)return t;let a=getComputedStyle(this).getPropertyValue(this._requiredMarkerCSSVar);return a||(a="*"),a.startsWith('"')&&a.endsWith('"')&&(a=a.slice(1,-1)),a?`${t}${a}`:t})}}return e.shadowRootOptions={mode:"open",delegatesFocus:!0},(0,i.Cg)([(0,s.MZ)()],e.prototype,"value",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"hint",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"placeholder",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"readonly",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],e.prototype,"required",void 0),(0,i.Cg)([(0,s.MZ)({type:Number})],e.prototype,"minlength",void 0),(0,i.Cg)([(0,s.MZ)({type:Number})],e.prototype,"maxlength",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"autocapitalize",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"autocomplete",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"autofocus",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"spellcheck",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"inputmode",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"enterkeyhint",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"name",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"disabled",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"validation-message"})],e.prototype,"validationMessage",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"auto-validate"})],e.prototype,"autoValidate",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"invalid",void 0),(0,i.Cg)([(0,s.wk)()],e.prototype,"_invalid",void 0),e},d=o.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)}`},82e3(t,e,a){a.d(e,{D5:()=>i,Fy:()=>c,Gk:()=>v,Hg:()=>o,TJ:()=>r,UQ:()=>h,Y_:()=>b,ds:()=>u,e0:()=>s,ec:()=>p,go:()=>l,n2:()=>d,sq:()=>n});a(74423),a(18111),a(61701),a(33110);const i=14881==a.j?`${location.protocol}//${location.host}`:null,o=t=>t.map(t=>{if("string"!==t.type)return t;switch(t.name){case"username":return{...t,autocomplete:"username",autofocus:!0};case"password":return{...t,autocomplete:"current-password"};case"code":return{...t,autocomplete:"one-time-code",autofocus:!0};default:return t}}),s=(t,e)=>t.callWS({type:"auth/sign_path",path:e}),r=()=>fetch("/auth/providers",{credentials:"same-origin"}),n=(t,e,a)=>fetch("/auth/login_flow",{method:"POST",credentials:"same-origin",body:JSON.stringify({client_id:t,handler:a,redirect_uri:e})}),l=(t,e)=>fetch(`/auth/login_flow/${t}`,{method:"POST",credentials:"same-origin",body:JSON.stringify(e)}),d=t=>fetch(`/auth/login_flow/${t}`,{method:"DELETE",credentials:"same-origin"}),h=(t,e,a,i)=>{t.includes("?")?t.endsWith("&")||(t+="&"):t+="?",t+=`code=${encodeURIComponent(e)}`,a&&(t+=`&state=${encodeURIComponent(a)}`),i&&(t+="&storeToken=true"),document.location.assign(t)},c=async(t,e,a,i)=>t.callWS({type:"config/auth_provider/homeassistant/create",user_id:e,username:a,password:i}),p=(t,e,a)=>t.callWS({type:"config/auth_provider/homeassistant/change_password",current_password:e,new_password:a}),u=(t,e,a)=>t.callWS({type:"config/auth_provider/homeassistant/admin_change_password",user_id:e,password:a}),v=(t,e,a)=>t.callWS({type:"config/auth_provider/homeassistant/admin_change_username",user_id:e,username:a}),b=(t,e,a)=>t.callWS({type:"auth/delete_all_refresh_tokens",token_type:e,delete_current_token:a})},10897(t,e,a){a.d(e,{C4:()=>d,CK:()=>l,FX:()=>b,UC:()=>u,_Z:()=>_,bT:()=>y,j4:()=>m,sd:()=>s,su:()=>n,vc:()=>f,w8:()=>p,wv:()=>c,y3:()=>v,zS:()=>r});var i=a(3931),o=a(82e3);const s=[1,2,3,4,6,8],r="web_rtc",n=(t,e,a)=>`${t}&width=${e}&height=${a}`,l=t=>t.attributes.access_token?`/api/camera_proxy_stream/${t.entity_id}?token=${t.attributes.access_token}`:void 0,d=async(t,e,a,o)=>{const s=await(0,i.U)("_cameraTmbUrl",9e3,h,t,e);return n(s,a,o)},h=async(t,e)=>{const a=await(0,o.e0)(t,`/api/camera_proxy/${e}`);return t.hassUrl(a.path)},c=async(t,e,a)=>{const i={type:"camera/stream",entity_id:e};a&&(i.format=a);const o=await t.callWS(i);return o.url=t.hassUrl(o.url),o},p=(t,e,a,i)=>t.connection.subscribeMessage(i,{type:"camera/webrtc/offer",entity_id:e,offer:a}),u=(t,e,a,i)=>t.callWS({type:"camera/webrtc/candidate",entity_id:e,session_id:a,candidate:i}),v=(t,e)=>t.callWS({type:"camera/get_prefs",entity_id:e}),b=(t,e,a)=>t.callWS({type:"camera/update_prefs",entity_id:e,...a}),g="media-source://camera/",m=t=>t.startsWith(g),f=t=>t.substring(22),_=async(t,e)=>t.callWS({type:"camera/capabilities",entity_id:e}),y=async(t,e)=>t.callWS({type:"camera/webrtc/get_client_config",entity_id:e})},38279(t,e,a){a.d(e,{$2:()=>i,VV:()=>s,on:()=>l,sx:()=>r});var i=function(t){return t[t.TARGET_TEMPERATURE=1]="TARGET_TEMPERATURE",t[t.TARGET_TEMPERATURE_RANGE=2]="TARGET_TEMPERATURE_RANGE",t[t.TARGET_HUMIDITY=4]="TARGET_HUMIDITY",t[t.FAN_MODE=8]="FAN_MODE",t[t.PRESET_MODE=16]="PRESET_MODE",t[t.SWING_MODE=32]="SWING_MODE",t[t.AUX_HEAT=64]="AUX_HEAT",t[t.TURN_OFF=128]="TURN_OFF",t[t.TURN_ON=256]="TURN_ON",t[t.SWING_HORIZONTAL_MODE=512]="SWING_HORIZONTAL_MODE",t}({});const o=["auto","heat_cool","heat","cool","dry","fan_only","off"].reduce((t,e,a)=>(t[e]=a,t),{}),s=(t,e)=>o[t]-o[e],r={cooling:"cool",defrosting:"heat",drying:"dry",fan:"fan_only",heating:"heat",idle:"off",off:"off",preheating:"heat"},n={cool:"M20.79,13.95L18.46,14.57L16.46,13.44V10.56L18.46,9.43L20.79,10.05L21.31,8.12L19.54,7.65L20,5.88L18.07,5.36L17.45,7.69L15.45,8.82L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L15.5,15.17L17.5,16.3L18.12,18.63L20,18.12L19.53,16.35L21.3,15.88L20.79,13.95M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44V10.56Z",dry:"M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z",fan_only:"M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z",auto:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22C12.4 22 12.7 22 13.1 21.9L15.4 15.3L14.8 14.7C15.5 14 16 13 16 11.9C16 11.2 15.8 10.5 15.4 9.9L17.6 7.7C18.5 9 19 10.4 19 12H20C20.3 12 20.6 12.1 20.8 12.2C20.8 12.2 20.9 12.2 20.9 12.3C21.3 12.5 21.7 12.9 21.9 13.4C22 12.9 22 12.5 22 12C22 6.5 17.5 2 12 2M14 8.6C13.4 8.2 12.7 8 12 8C9.8 8 8 9.8 8 12C8 13.1 8.4 14.1 9.2 14.8L7.1 16.9C5.8 15.7 5 13.9 5 12C5 8.1 8.1 5 12 5C13.6 5 15 5.5 16.2 6.4L14 8.6M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8Z",heat:"M17.66 11.2C17.43 10.9 17.15 10.64 16.89 10.38C16.22 9.78 15.46 9.35 14.82 8.72C13.33 7.26 13 4.85 13.95 3C13 3.23 12.17 3.75 11.46 4.32C8.87 6.4 7.85 10.07 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C6.87 12.33 6.69 10.28 7.45 8.64C5.78 10 4.87 12.3 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C18.86 17.66 19.5 15 18.56 12.72L18.43 12.46C18.22 12 17.66 11.2 17.66 11.2M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.78 14.43 12.46 13.77 12.33 13C12.21 12.26 12.23 11.63 12.5 10.94C12.69 11.32 12.89 11.7 13.13 12C13.9 13 15.11 13.44 15.37 14.8C15.41 14.94 15.43 15.08 15.43 15.23C15.46 16.05 15.1 16.95 14.5 17.5H14.5Z",off:"M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13",heat_cool:"M12.92 1.58L11.18 2.58L12.39 4.67L11.8 6.85L9 7.6L7.38 6L7.42 3.59L5.43 3.59L5.43 5.42L3.59 5.42L3.6 7.42L6 7.42L7.65 9.03L6.9 11.82L4.68 12.4L2.59 11.2L1.59 12.93L3.17 13.84L2.26 15.42L4 16.42L5.19 14.33L7.42 13.75L7.92 14.26L9.32 12.86L8.78 12.32L9.53 9.54L12.32 8.78L12.85 9.32L14.26 7.91L13.73 7.37L14.32 5.19L16.41 4L15.41 2.25L13.83 3.16L12.92 1.58M20.72 4L4 20.72L5.27 22L10.16 17.11C10.63 17.43 11.15 17.68 11.71 17.83C14.38 18.55 17.12 16.96 17.83 14.29C18.22 12.86 17.93 11.36 17.11 10.16L22 5.27L20.72 4M18.74 9C19.18 9.63 19.53 10.38 19.75 11.19C19.97 12 20.03 12.81 19.96 13.61L22.65 10.41L18.74 9M19.32 15.95C19 16.67 18.5 17.35 17.93 17.94C17.34 18.53 16.66 19 15.96 19.34L20.05 20.06L19.32 15.95M9 18.71L10.41 22.66L13.59 19.95C12.81 20 12 19.97 11.19 19.76C10.36 19.54 9.62 19.17 9 18.71Z"},l=t=>n[t]||"M16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z"},700(t,e,a){a.d(e,{y:()=>r});const i=window;"customIconsets"in i||(i.customIconsets={});const o=i.customIconsets,s=window;"customIcons"in s||(s.customIcons={});const r=new Proxy(s.customIcons,{get:(t,e)=>t[e]??(o[e]?{getIcon:o[e]}:void 0)})},22675(t,e,a){a.d(e,{HV:()=>s,Hh:()=>o});var i=a(23832);const o="unavailable",s="unknown",r=[o,s,"off"];(0,i.g)(r)},53756(t,e,a){a.d(e,{t:()=>l,w:()=>d});a(74423),a(18111),a(22489),a(61701);var i=a(71727),o=a(74705),s=a(28978),r=a(15638),n=a(95350);const l=[{name:"search_labels.entityName",weight:10},{name:"search_labels.friendlyName",weight:8},{name:"search_labels.deviceName",weight:7},{name:"search_labels.areaName",weight:6},{name:"search_labels.domainName",weight:6},{name:"search_labels.entityId",weight:3}],d=(t,e,a,l,d,h,c,p,u,v="")=>{let b,g=Object.keys(t.states);return c&&(g=g.filter(t=>c.includes(t))),p&&(g=g.filter(t=>!p.includes(t))),e&&(g=g.filter(t=>e.includes((0,i.m)(t)))),a&&(g=g.filter(t=>!a.includes((0,i.m)(t)))),b=g.map(e=>{const a=t.states[e],l=(0,s.u)(a),[d,h,c]=(0,o.Cf)(a,[{type:"entity"},{type:"device"},{type:"area"}],t.entities,t.devices,t.areas,t.floors),p=(0,n.p$)(t.localize,(0,i.m)(e)),u=(0,r.qC)(t.language,t.translationMetadata.translations),b=d||h||e,g=[c,d?h:void 0].filter(Boolean).join(u?" ◂ ":" ▸ ");return{id:`${v}${e}`,primary:b,secondary:g,domain_name:p,sorting_label:[b,g].filter(Boolean).join("_"),search_labels:{entityName:d||null,deviceName:h||null,areaName:c||null,domainName:p||null,friendlyName:l||null,entityId:e},stateObj:a}}),d&&(b=b.filter(t=>t.id===u||t.stateObj?.attributes.device_class&&d.includes(t.stateObj.attributes.device_class))),h&&(b=b.filter(t=>t.id===u||t.stateObj?.attributes.unit_of_measurement&&h.includes(t.stateObj.attributes.unit_of_measurement))),l&&(b=b.filter(t=>t.id===u||t.stateObj&&l(t.stateObj))),b}},68287(t,e,a){a.d(e,{z:()=>o});a(18111),a(61701),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(71727);const o=t=>{const e=t.attributes.entity_id||[],a=[...new Set(e.map(t=>(0,i.m)(t)))];return 1===a.length?a[0]:void 0}},64808(t,e,a){a.d(e,{G6:()=>r,KL:()=>d,Sn:()=>i,j4:()=>n,q2:()=>o,tb:()=>s});const i="timestamp",o="temperature",s="humidity",r=["timestamp","uptime"],n=(t,e)=>t.callWS({type:"sensor/device_class_convertible_units",device_class:e});let l;const d=async t=>l||(l=t.callWS({type:"sensor/numeric_device_classes"}).catch(t=>{throw l=void 0,t}),l)},17894(t,e,a){a.d(e,{c:()=>s});var i=a(62826),o=a(22441);const s=t=>{class e extends t{constructor(...t){super(...t),this.disabled=!1,this.required=!1,this.unknown=!1,this.hideClearIcon=!1}}return(0,i.Cg)([(0,o.MZ)({type:Boolean})],e.prototype,"disabled",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean})],e.prototype,"required",void 0),(0,i.Cg)([(0,o.MZ)()],e.prototype,"icon",void 0),(0,i.Cg)([(0,o.MZ)()],e.prototype,"image",void 0),(0,i.Cg)([(0,o.MZ)()],e.prototype,"label",void 0),(0,i.Cg)([(0,o.MZ)()],e.prototype,"placeholder",void 0),(0,i.Cg)([(0,o.MZ)()],e.prototype,"helper",void 0),(0,i.Cg)([(0,o.MZ)()],e.prototype,"value",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],e.prototype,"unknown",void 0),(0,i.Cg)([(0,o.MZ)({attribute:"unknown-item-text"})],e.prototype,"unknownItemText",void 0),(0,i.Cg)([(0,o.MZ)({attribute:"hide-clear-icon",type:Boolean})],e.prototype,"hideClearIcon",void 0),(0,i.Cg)([(0,o.MZ)({attribute:!1})],e.prototype,"valueRenderer",void 0),e}},59992(t,e,a){a.d(e,{V:()=>l});var i=a(62826),o=a(88696),s=a(5124),r=a(6412),n=a(22441);const l=t=>{class e extends t{get scrollableElement(){return e.DEFAULT_SCROLLABLE_ELEMENT}firstUpdated(t){super.firstUpdated?.(t),this.scrollableElement&&this._updateScrollableState(this.scrollableElement),this._attachScrollableElement()}updated(t){super.updated?.(t),this._attachScrollableElement()}disconnectedCallback(){this._detachScrollableElement(),this._contentScrolled=!1,this._contentScrollable=!1,super.disconnectedCallback()}renderScrollableFades(t=!1){return s.qy` <div class="${(0,r.H)({"fade-top":!0,rounded:t,visible:this._contentScrolled})}"></div> <div class="${(0,r.H)({"fade-bottom":!0,rounded:t,visible:this._contentScrollable})}"></div> `}static get styles(){const t=Object.getPrototypeOf(this);var e;return[...void 0===(e=t?.styles??[])?[]:Array.isArray(e)?e:[e],s.AH`.fade-bottom,.fade-top{position:absolute;left:0;right:0;height:var(--ha-space-2);pointer-events:none;transition:opacity 180ms ease-in-out;border-radius:var(--ha-border-radius-square);opacity:0;background:linear-gradient(to bottom,var(--ha-color-shadow-scrollable-fade),transparent)}.fade-top{top:0}.fade-bottom{bottom:0;transform:rotate(180deg)}.fade-bottom.visible,.fade-top.visible{opacity:1}.fade-bottom.rounded,.fade-top.rounded{border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg));border-bottom-left-radius:var(--ha-border-radius-square);border-bottom-right-radius:var(--ha-border-radius-square)}.fade-top.rounded{border-top-left-radius:var(--ha-border-radius-square);border-top-right-radius:var(--ha-border-radius-square)}.fade-bottom.rounded{border-bottom-left-radius:var(--ha-border-radius-square);border-bottom-right-radius:var(--ha-border-radius-square)}`]}_attachScrollableElement(){const t=this.scrollableElement;t!==this._scrollTarget&&(this._detachScrollableElement(),t&&(this._scrollTarget=t,t.addEventListener("scroll",this._onScroll,{passive:!0}),this._resize.observe(t),this._updateScrollableState(t)))}_detachScrollableElement(){this._scrollTarget&&(this._scrollTarget.removeEventListener("scroll",this._onScroll),this._resize.unobserve?.(this._scrollTarget),this._scrollTarget=void 0)}_updateScrollableState(t){const e=parseFloat(getComputedStyle(t).getPropertyValue("--safe-area-inset-bottom"))||0,{scrollHeight:a=0,clientHeight:i=0,scrollTop:o=0}=t;this._contentScrollable=a-i>o+e+this.scrollFadeSafeAreaPadding}constructor(...t){super(...t),this._contentScrolled=!1,this._contentScrollable=!1,this._onScroll=t=>{const e=t.currentTarget;this._contentScrolled=(e.scrollTop??0)>this.scrollFadeThreshold,this._updateScrollableState(e)},this._resize=new o.P(this,{target:null,callback:t=>{const e=t[0]?.target;e&&this._updateScrollableState(e)}}),this.scrollFadeSafeAreaPadding=4,this.scrollFadeThreshold=4}}return e.DEFAULT_SCROLLABLE_ELEMENT=null,(0,i.Cg)([(0,n.wk)()],e.prototype,"_contentScrolled",void 0),(0,i.Cg)([(0,n.wk)()],e.prototype,"_contentScrollable",void 0),e}},68937(t,e,a){a.a(t,async function(t,i){try{a.r(e),a.d(e,{DialogEnergyDeviceSettingsWater:()=>w});a(74423),a(44114),a(18111),a(22489),a(7588),a(61701);var o=a(62826),s=a(5124),r=a(22441),n=a(1087),l=a(82474),d=a(81423),h=a(18350),c=a(72554),p=(a(93444),a(606)),u=a(91485),v=a(38114),b=a(23528),g=a(64808),m=a(14503),f=t([l,d,h,c,p,u,v]);[l,d,h,c,p,u,v]=f.then?(await f)():f;const _=["volume"],y=["volume_flow_rate"];class w extends s.WF{async showDialog(t){this._params=t,this._device=this._params.device,this._computePossibleParents(),this._volume_units=(await(0,g.j4)(this.hass,"water")).units,this._flow_rate_units=(await(0,g.j4)(this.hass,"volume_flow_rate")).units,this._excludeList=this._params.device_consumptions.map(t=>t.stat_consumption).filter(t=>t!==this._device?.stat_consumption),this._excludeListFlowRate=this._params.device_consumptions.map(t=>t.stat_rate).filter(t=>t&&t!==this._device?.stat_rate),this._open=!0}_computePossibleParents(){if(!this._device||!this._params)return void(this._possibleParents=[]);const t=[],e=this._params.device_consumptions;!function a(i){e.forEach(e=>{e.included_in_stat===i&&(t.push(e.stat_consumption),a(e.stat_consumption))})}(this._device.stat_consumption),this._possibleParents=this._params.device_consumptions.filter(e=>e.stat_consumption!==this._device.stat_consumption&&e.stat_consumption!==this._params?.device?.stat_consumption&&!t.includes(e.stat_consumption))}closeDialog(){return this._open=!1,!0}_dialogClosed(){this._params=void 0,this._device=void 0,this._error=void 0,this._excludeList=void 0,this._excludeListFlowRate=void 0,(0,n.r)(this,"dialog-closed",{dialog:this.localName})}render(){if(!this._params)return s.s6;const t=this._volume_units?.join(", ")||"",e=this._possibleParents.length?this._possibleParents.map(t=>({value:t.stat_consumption,label:t.name||(0,b.$O)(this.hass,t.stat_consumption,this._params?.statsMetadata?.[t.stat_consumption])})):[{value:"-",disabled:!0,label:this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.no_upstream_devices")}];return s.qy` <ha-dialog .open="${this._open}" header-title="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.header")}" prevent-scrim-close @closed="${this._dialogClosed}"> ${this._error?s.qy`<p class="error">${this._error}</p>`:""} <ha-statistic-picker .hass="${this.hass}" .helpMissingEntityUrl="${v.X4}" .includeUnitClass="${_}" .value="${this._device?.stat_consumption}" .label="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.device_consumption_water")}" .excludeStatistics="${this._excludeList}" @value-changed="${this._statisticChanged}" .helper="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.selected_stat_intro",{unit:t})}" autofocus></ha-statistic-picker> <ha-statistic-picker .hass="${this.hass}" .includeUnitClass="${y}" .value="${this._device?.stat_rate}" .label="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.device_consumption_water_flow_rate")}" .excludeStatistics="${this._excludeListFlowRate}" @value-changed="${this._flowRateStatisticChanged}" .helper="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.selected_stat_intro",{unit:this._flow_rate_units?.join(", ")||""})}"></ha-statistic-picker> <ha-input .label="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.display_name")}" type="text" .disabled="${!this._device}" .value="${this._device?.name||""}" .placeholder="${this._device?(0,b.$O)(this.hass,this._device.stat_consumption,this._params?.statsMetadata?.[this._device.stat_consumption]):""}" @input="${this._nameChanged}"> </ha-input> <ha-select .label="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.included_in_device")}" .value="${this._device?.included_in_stat||""}" .helper="${this.hass.localize("ui.panel.config.energy.device_consumption_water.dialog.included_in_device_helper")}" .disabled="${!this._device}" @selected="${this._parentSelected}" clearable .options="${e}"> </ha-select> <ha-dialog-footer slot="footer"> <ha-button appearance="plain" @click="${this.closeDialog}" slot="secondaryAction"> ${this.hass.localize("ui.common.cancel")} </ha-button> <ha-button @click="${this._save}" .disabled="${!this._device}" slot="primaryAction"> ${this.hass.localize("ui.common.save")} </ha-button> </ha-dialog-footer> </ha-dialog> `}async _statisticChanged(t){if(t.detail.value){if(this._device={stat_consumption:t.detail.value},this._computePossibleParents(),(0,b.OQ)(t.detail.value)&&this._params?.statsMetadata&&!(t.detail.value in this._params.statsMetadata)){const[e]=await(0,b.Wr)(this.hass,[t.detail.value]);e&&(this._params.statsMetadata[t.detail.value]=e,this.requestUpdate("_params"))}}else this._device=void 0}_flowRateStatisticChanged(t){if(!this._device)return;const e={...this._device,stat_rate:t.detail.value};e.stat_rate||delete e.stat_rate,this._device=e}_nameChanged(t){const e={...this._device,name:t.target.value};e.name||delete e.name,this._device=e}_parentSelected(t){const e={...this._device,included_in_stat:t.detail.value};e.included_in_stat||delete e.included_in_stat,this._device=e}async _save(){try{await this._params.saveCallback(this._device),this.closeDialog()}catch(t){this._error=t.message}}static get styles(){return[m.nA,s.AH`ha-statistic-picker{display:block;width:100%;margin-bottom:var(--ha-space-4)}ha-select{display:block;margin-top:var(--ha-space-4);width:100%}ha-input{margin-top:var(--ha-space-4);--ha-input-padding-bottom:0;width:100%}`]}constructor(...t){super(...t),this._open=!1,this._possibleParents=[]}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],w.prototype,"hass",void 0),(0,o.Cg)([(0,r.wk)()],w.prototype,"_params",void 0),(0,o.Cg)([(0,r.wk)()],w.prototype,"_open",void 0),(0,o.Cg)([(0,r.wk)()],w.prototype,"_device",void 0),(0,o.Cg)([(0,r.wk)()],w.prototype,"_volume_units",void 0),(0,o.Cg)([(0,r.wk)()],w.prototype,"_flow_rate_units",void 0),(0,o.Cg)([(0,r.wk)()],w.prototype,"_error",void 0),w=(0,o.Cg)([(0,r.EM)("dialog-energy-device-settings-water")],w),i()}catch(t){i(t)}})},24367(t,e,a){a.d(e,{L:()=>o,z:()=>s});var i=a(23832);const o=["input_boolean","input_button","input_text","input_number","input_datetime","input_select","counter","timer","schedule"],s=(0,i.g)(o)},19711(t,e,a){a.d(e,{$:()=>s});var i=a(1087);const o=()=>Promise.all([a.e(80131),a.e(70183),a.e(47677)]).then(a.bind(a,79029)),s=(t,e)=>{(0,i.r)(t,"show-dialog",{dialogTag:"dialog-helper-detail",dialogImport:o,dialogParams:e})}},86030(t,e,a){a.d(e,{B:()=>i,a:()=>o});a(18111),a(18237);function i(t){return Array.isArray(t)?t.reverse().reduce((t,e)=>`var(${e}${t?`, ${t}`:""})`,void 0):`var(${t})`}function o(t,e){if(Array.isArray(t))for(const a of t){const t=o(a,e);if(t)return t}else if(t.endsWith("-color"))return e.getPropertyValue(t).trim()||void 0}},53580(t,e,a){a.d(e,{mdiHomeAssistant:()=>i});const i="m12.151 1.5882c-.3262 0-.6523.1291-.8996.3867l-8.3848 8.7354c-.0619.0644-.1223.1368-.1807.2154-.0588.0789-.1151.1638-.1688.2534-.2593.4325-.4552.9749-.5232 1.4555-.0026.018-.0076.0369-.0094.0548-.0121.0987-.0184.1944-.0184.2857v8.0124a1.2731 1.2731 0 001.2731 1.2731h7.8313l-3.4484-3.593a1.7399 1.7399 0 111.0803-1.125l2.6847 2.7972v-10.248a1.7399 1.7399 0 111.5276-0v7.187l2.6702-2.782a1.7399 1.7399 0 111.0566 1.1505l-3.7269 3.8831v2.7299h8.174a1.2471 1.2471 0 001.2471-1.2471v-8.0375c0-.0912-.0059-.1868-.0184-.2855-.0603-.4935-.2636-1.0617-.5326-1.5105-.0537-.0896-.1101-.1745-.1684-.253-.0588-.079-.1191-.1513-.181-.2158l-8.3848-8.7363c-.2473-.2577-.5735-.3866-.8995-.3864"},85614(t,e,a){a.d(e,{i:()=>i});const i=async()=>{await Promise.all([a.e(69139),a.e(22309)]).then(a.bind(a,46974))}},22348(t,e,a){a.d(e,{V:()=>o});var i=a(37177);const o=t=>!!t&&i.n},37177(t,e,a){a.d(e,{n:()=>i});const i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)},88438(t,e,a){a.d(e,{C:()=>i});const i="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}};