1export const __webpack_ids__=["26165"];export const __webpack_modules__={65981:function(e,t,o){o.r(t),o.d(t,{HaIconPicker:()=>_});o(2394),o(81738),o(94814),o(22960),o(6989),o(72489),o(67886),o(65451),o(46015),o(38334),o(94880),o(75643),o(29761);var i=o(73742),a=o(59048),s=o(26292),r=o(28105),n=o(39884),c=o(19941);o(87138),o(46358),o(12692);let l=[],d=!1;const h=async e=>{try{const t=c.g[e].getIconList;if("function"!=typeof t)return[];const o=await t();return o.map(t=>({icon:`${e}:${t.name}`,parts:new Set(t.name.split("-")),keywords:t.keywords??[]}))}catch(t){return console.warn(`Unable to load icon list for ${e} iconset`),[]}},p=e=>a.dy` <ha-combo-box-item type="button"> <ha-icon .icon="${e.icon}" slot="start"></ha-icon> ${e.icon} </ha-combo-box-item> `;class _ extends a.oi{render(){return a.dy` <ha-combo-box .hass="${this.hass}" item-value-path="icon" item-label-path="icon" .value="${this._value}" allow-custom-value .dataProvider="${d?this._iconProvider:void 0}" .label="${this.label}" .helper="${this.helper}" .disabled="${this.disabled}" .required="${this.required}" .placeholder="${this.placeholder}" .errorMessage="${this.errorMessage}" .invalid="${this.invalid}" .renderer="${p}" icon @opened-changed="${this._openedChanged}" @value-changed="${this._valueChanged}"> ${this._value||this.placeholder?a.dy` <ha-icon .icon="${this._value||this.placeholder}" slot="icon"> </ha-icon> `:a.dy`<slot slot="icon" name="fallback"></slot>`} </ha-combo-box> `}async _openedChanged(e){e.detail.value&&!d&&(await(async()=>{d=!0;const e=await o.e("25016").then(o.t.bind(o,58134,19));l=e.default.map(e=>({icon:`mdi:${e.name}`,parts:new Set(e.name.split("-")),keywords:e.keywords}));const t=[];Object.keys(c.g).forEach(e=>{t.push(h(e))}),(await Promise.all(t)).forEach(e=>{l.push(...e)})})(),this.requestUpdate())}_valueChanged(e){e.stopPropagation(),this._setValue(e.detail.value)}_setValue(e){this.value=e,(0,n.B)(this,"value-changed",{value:this._value},{bubbles:!1,composed:!1})}get _value(){return this.value||""}constructor(...e){super(...e),this.disabled=!1,this.required=!1,this.invalid=!1,this._filterIcons=(0,r.Z)((e,t=l)=>{if(!e)return t;const o=[],i=(e,t)=>o.push({icon:e,rank:t});for(const o of t)o.parts.has(e)?i(o.icon,1):o.keywords.includes(e)?i(o.icon,2):o.icon.includes(e)?i(o.icon,3):o.keywords.some(t=>t.includes(e))&&i(o.icon,4);return 0===o.length&&i(e,0),o.sort((e,t)=>e.rank-t.rank)}),this._iconProvider=(e,t)=>{const o=this._filterIcons(e.filter.toLowerCase(),l),i=e.page*e.pageSize,a=i+e.pageSize;t(o.slice(i,a),o.length)}}}_.styles=a.iv`[slot=icon]{color:var(--primary-text-color);position:relative;bottom:2px}[slot=prefix]{margin-right:8px;margin-inline-end:8px;margin-inline-start:initial}`,(0,i.__decorate)([(0,s.Cb)({attribute:!1})],_.prototype,"hass",void 0),(0,i.__decorate)([(0,s.Cb)()],_.prototype,"value",void 0),(0,i.__decorate)([(0,s.Cb)()],_.prototype,"label",void 0),(0,i.__decorate)([(0,s.Cb)()],_.prototype,"helper",void 0),(0,i.__decorate)([(0,s.Cb)()],_.prototype,"placeholder",void 0),(0,i.__decorate)([(0,s.Cb)({attribute:"error-message"})],_.prototype,"errorMessage",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean})],_.prototype,"disabled",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean})],_.prototype,"required",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean})],_.prototype,"invalid",void 0),_=(0,i.__decorate)([(0,s.Mo)("ha-icon-picker")],_)},55245:function(e,t,o){var i=o(73742),a=o(59048),s=o(26292);class r extends a.oi{render(){return a.dy` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${!this.threeLine}" ?three-line="${this.threeLine}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `}constructor(...e){super(...e),this.narrow=!1,this.slim=!1,this.threeLine=!1,this.wrapHeading=!1}}r.styles=a.iv`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:88px}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var( 2 --mdc-typography-body2-font-family, 3 var(--mdc-typography-font-family, var(--ha-font-family-body)) 4 );font-size:var(--mdc-typography-body2-font-size, var(--ha-font-size-s));-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);
4font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(72px - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;min-width:0;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`,(0,i.__decorate)([(0,s.Cb)({type:Boolean,reflect:!0})],r.prototype,"narrow",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean,reflect:!0})],r.prototype,"slim",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean,attribute:"three-line"})],r.prototype,"threeLine",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],r.prototype,"wrapHeading",void 0),r=(0,i.__decorate)([(0,s.Mo)("ha-settings-row")],r)},91339:function(e,t,o){o.r(t);var i=o(73742),a=(o(98334),o(59048)),s=o(26292),r=o(39884),n=(o(12942),o(83378)),c=(o(65981),o(55245),o(37492),o(70947)),l=o(95814);o(43236);class d extends a.oi{showDialog(e){this._params=e,this._scope=e.scope,this._category=e.entityReg.categories[e.scope],this._error=void 0}closeDialog(){this._error="",this._params=void 0,(0,r.B)(this,"dialog-closed",{dialog:this.localName})}render(){if(!this._params)return a.Ld;const e=this._params.entityReg.categories[this._params.scope];return a.dy` <ha-dialog open @closed="${this.closeDialog}" .heading="${(0,n.i)(this.hass,e?this.hass.localize("ui.panel.config.category.assign.edit"):this.hass.localize("ui.panel.config.category.assign.assign"))}"> <div> ${this._error?a.dy`<ha-alert alert-type="error">${this._error}</ha-alert>`:""} <div class="form"> <ha-category-picker .hass="${this.hass}" .scope="${this._scope}" .value="${this._category}" @value-changed="${this._categoryChanged}"></ha-category-picker> </div> </div> <mwc-button slot="secondaryAction" @click="${this.closeDialog}"> ${this.hass.localize("ui.common.cancel")} </mwc-button> <mwc-button slot="primaryAction" @click="${this._updateEntry}" .disabled="${this._submitting}"> ${this.hass.localize("ui.common.save")} </mwc-button> </ha-dialog> `}_categoryChanged(e){e.detail.value||(this._category=void 0),this._category=e.detail.value}async _updateEntry(){this._submitting=!0,this._error=void 0;try{await(0,c.Nv)(this.hass,this._params.entityReg.entity_id,{categories:{[this._scope]:this._category||null}}),this.closeDialog()}catch(e){this._error=e.message||this.hass.localize("ui.panel.config.category.assign.unknown_error")}finally{this._submitting=!1}}static get styles(){return[l.yu,a.iv`ha-icon-picker,ha-textfield{display:block;margin-bottom:16px}`]}}(0,i.__decorate)([(0,s.Cb)({attribute:!1})],d.prototype,"hass",void 0),(0,i.__decorate)([(0,s.SB)()],d.prototype,"_scope",void 0),(0,i.__decorate)([(0,s.SB)()],d.prototype,"_category",void 0),(0,i.__decorate)([(0,s.SB)()],d.prototype,"_error",void 0),(0,i.__decorate)([(0,s.SB)()],d.prototype,"_params",void 0),(0,i.__decorate)([(0,s.SB)()],d.prototype,"_submitting",void 0),d=(0,i.__decorate)([(0,s.Mo)("dialog-assign-category")],d)},43236:function(e,t,o){o(81738),o(94814),o(6989),o(67886),o(65451),o(46015),o(38334),o(94880),o(75643),o(29761);var i=o(73742),a=o(59048),s=o(26292),r=o(28105),n=o(39884),c=(o(19905),o(993),o(87932)),l=o(6291),d=o(65627);const h="M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z",p="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",_="___ADD_NEW___",g="___NO_CATEGORIES___";class y extends((0,l.f)(a.oi)){async open(){await this.updateComplete,await(this._picker?.open())}hassSubscribe(){return[(0,c.U)(this.hass.connection,this.scope,e=>{this._categories=e})]}render(){const e=this.placeholder??this.hass.localize("ui.components.category-picker.category"),t=this._computeValueRenderer(this._categories);return a.dy` <ha-generic-picker .hass="${this.hass}" .autofocus="${this.autofocus}" .label="${this.label}" .notFoundLabel="${this.hass.localize("ui.components.category-picker.no_match")}" .placeholder="${e}" .value="${this.value}" .getItems="${this._getItems}" .getAdditionalItems="${this._getAdditionalItems}" .valueRenderer="${t}" @value-changed="${this._valueChanged}"> </ha-generic-picker> `}_valueChanged(e){e.stopPropagation();const t=e.detail.value;if(t!==g)if(t){if(t.startsWith(_)){this.hass.loadFragmentTranslation("c
4onfig");const e=t.substring(13);return void(0,d.n)(this,{scope:this.scope,suggestedName:e,createEntry:async e=>{const t=await(0,c.DM)(this.hass,this.scope,e);return this._setValue(t.category_id),t}})}this._setValue(t)}else this._setValue(void 0)}_setValue(e){this.value=e,setTimeout(()=>{(0,n.B)(this,"value-changed",{value:e}),(0,n.B)(this,"change")},0)}constructor(...e){super(...e),this.noAdd=!1,this.disabled=!1,this.required=!1,this.hassSubscribeRequiredHostProps=["scope"],this._categoryMap=(0,r.Z)(e=>e?new Map(e.map(e=>[e.category_id,e])):new Map),this._computeValueRenderer=(0,r.Z)(e=>t=>{const o=this._categoryMap(e).get(t);return o?a.dy` ${o.icon?a.dy`<ha-icon slot="start" .icon="${o.icon}"></ha-icon>`:a.dy`<ha-svg-icon slot="start" .path="${h}"></ha-svg-icon>`} <span slot="headline">${o.name}</span> `:a.dy` <ha-svg-icon slot="start" .path="${h}"></ha-svg-icon> <span slot="headline">${t}</span> `}),this._getCategories=(0,r.Z)(e=>{if(!e||0===e.length)return[{id:g,primary:this.hass.localize("ui.components.category-picker.no_categories"),icon_path:h}];return e.map(e=>({id:e.category_id,primary:e.name,icon:e.icon||void 0,icon_path:e.icon?void 0:h,sorting_label:e.name,search_labels:[e.name,e.category_id].filter(e=>Boolean(e))}))}),this._getItems=()=>this._getCategories(this._categories),this._allCategoryNames=(0,r.Z)(e=>e?[...new Set(e.map(e=>e.name.toLowerCase()).filter(Boolean))]:[]),this._getAdditionalItems=e=>{if(this.noAdd)return[];const t=this._allCategoryNames(this._categories);return e&&!t.includes(e.toLowerCase())?[{id:_+e,primary:this.hass.localize("ui.components.category-picker.add_new_sugestion",{name:e}),icon_path:p}]:[{id:_,primary:this.hass.localize("ui.components.category-picker.add_new"),icon_path:p}]}}}(0,i.__decorate)([(0,s.Cb)({attribute:!1})],y.prototype,"hass",void 0),(0,i.__decorate)([(0,s.Cb)()],y.prototype,"scope",void 0),(0,i.__decorate)([(0,s.Cb)()],y.prototype,"label",void 0),(0,i.__decorate)([(0,s.Cb)()],y.prototype,"value",void 0),(0,i.__decorate)([(0,s.Cb)()],y.prototype,"helper",void 0),(0,i.__decorate)([(0,s.Cb)()],y.prototype,"placeholder",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean,attribute:"no-add"})],y.prototype,"noAdd",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean})],y.prototype,"disabled",void 0),(0,i.__decorate)([(0,s.Cb)({type:Boolean})],y.prototype,"required",void 0),(0,i.__decorate)([(0,s.SB)()],y.prototype,"_categories",void 0),(0,i.__decorate)([(0,s.IO)("ha-generic-picker")],y.prototype,"_picker",void 0),y=(0,i.__decorate)([(0,s.Mo)("ha-category-picker")],y)}}; 5//# sourceMappingURL=26165.e1ae204b198443ee.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.