UNPKG

iobroker.lovelace

Version:

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

1 lines 71.3 kB
export const __webpack_ids__=["47281"];export const __webpack_modules__={59959:function(e,i,t){t.a(e,(async function(e,a){try{t.r(i),t.d(i,{HaIconOverflowMenu:()=>u});var s=t(44249),n=(t(9359),t(70104),t(57243)),o=t(15093),l=t(35359),r=t(28008),d=(t(34273),t(23334),t(7285),t(37583),t(56032)),c=e([d]);d=(c.then?(await c)():c)[0];const h="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z";let u=(0,s.Z)([(0,o.Mo)("ha-icon-overflow-menu")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Array})],key:"items",value:()=>[]},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"method",key:"render",value:function(){return n.dy` ${this.narrow?n.dy` <ha-button-menu @click="${this._handleIconOverflowMenuOpened}" @closed="${this._handleIconOverflowMenuClosed}" class="ha-icon-overflow-menu-overflow" absolute> <ha-icon-button .label="${this.hass.localize("ui.common.overflow_menu")}" .path="${h}" slot="trigger"></ha-icon-button> ${this.items.map((e=>e.divider?n.dy`<li divider role="separator"></li>`:n.dy`<ha-list-item graphic="icon" ?disabled="${e.disabled}" @click="${e.action}" class="${(0,l.$)({warning:Boolean(e.warning)})}"> <div slot="graphic"> <ha-svg-icon class="${(0,l.$)({warning:Boolean(e.warning)})}" .path="${e.path}"></ha-svg-icon> </div> ${e.label} </ha-list-item> `))} </ha-button-menu>`:n.dy` ${this.items.map((e=>e.narrowOnly?n.Ld:e.divider?n.dy`<div role="separator"></div>`:n.dy`<ha-tooltip .disabled="${!e.tooltip}" .content="${e.tooltip??""}"> <ha-icon-button @click="${e.action}" .label="${e.label}" .path="${e.path}" ?disabled="${e.disabled}"></ha-icon-button> </ha-tooltip>`))} `} `}},{kind:"method",key:"_handleIconOverflowMenuOpened",value:function(e){e.stopPropagation();const i=this.closest(".mdc-data-table__row");i&&(i.style.zIndex="1")}},{kind:"method",key:"_handleIconOverflowMenuClosed",value:function(){const e=this.closest(".mdc-data-table__row");e&&(e.style.zIndex="")}},{kind:"get",static:!0,key:"styles",value:function(){return[r.Qx,n.iv`:host{display:flex;justify-content:flex-end}li[role=separator]{border-bottom-color:var(--divider-color)}div[role=separator]{border-right:1px solid var(--divider-color);width:1px}ha-list-item[disabled] ha-svg-icon{color:var(--disabled-text-color)}`]}}]}}),n.oi);a()}catch(e){a(e)}}))},20747:function(e,i,t){t.a(e,(async function(e,i){try{var a=t(44249),s=(t(31622),t(57243)),n=t(15093),o=(t(99254),t(58839)),l=t(33831),r=e([l]);l=(r.then?(await r)():r)[0];(0,a.Z)([(0,n.Mo)("blueprint-script-editor")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"config",value:void 0},{kind:"get",key:"_config",value:function(){return this.config}},{kind:"method",key:"render",value:function(){return s.dy` ${this.config.description?s.dy`<ha-markdown class="description" breaks .content="${this.config.description}"></ha-markdown>`:s.Ld} ${this.renderCard()} `}},{kind:"method",key:"_getBlueprints",value:async function(){this._blueprints=await(0,o.wc)(this.hass,"script")}}]}}),l.k);i()}catch(e){i(e)}}))},35215:function(e,i,t){t.a(e,(async function(e,a){try{t.r(i);var s=t(44249),n=t(72621),o=(t(9359),t(68107),t(56475),t(60738)),l=t(15093),r=t(27486),d=t(59847),c=t(22381),h=t(30635),u=t(24312),p=t(45868),f=t(9257),y=e([p,f]);[p,f]=y.then?(await y)():y;const _=(e,i)=>e.length===i.length&&e.every(((e,t)=>e===i[t]));(0,s.Z)([(0,l.Mo)("ha-config-script")],(function(e,i){class a extends i{constructor(...i){super(...i),e(this)}}return{F:a,d:[{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,l.Cb)({attribute:"is-wide",type:Boolean})],key:"isWide",value:()=>!1},{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"showAdvanced",value:()=>!1},{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"scripts",value:()=>[]},{kind:"field",decorators:[(0,l.SB)(),(0,o.F_)({context:h.we,subscribe:!0})],key:"_entityReg",value:void 0},{kind:"field",key:"routerOptions",value:()=>({defaultPage:"dashboard",routes:{dashboard:{tag:"ha-script-picker",cache:!0},edit:{tag:"ha-script-editor"},show:{tag:"ha-script-editor"},trace:{tag:"ha-script-trace",load:()=>Promise.all([t.e("65499"),t.e("93025"),t.e("21396")]).then(t.bind(t,32291))}}})},{kind:"field",key:"_debouncedUpdateScripts",value(){return(0,c.D)((e=>{const i=this._getScripts(this.hass.states);_(i,e.scripts)||(e.scripts=i)}),10)}},{kind:"field",key:"_getScripts",value:()=>(0,r.Z)((e=>Object.values(e).filter((e=>"script"===(0,d.N)(e)&&!e.attributes.restored))))},{kind:"method",key:"firstUpdated",value:function(e){(0,n.Z)(a,"firstUpdated",this,3)([e]),this.hass.loadBackendTranslation("device_automation")}},{kind:"method",key:"updatePageEl",value:function(e,i){if(e.hass=this.hass,e.narrow=this.narrow,e.isWide=this.isWide,e.route=this.routeTail,e.showAdvanced=this.showAdvanced,e.entityRegistry=this._entityReg,this.hass&&(e.scripts&&i?i.has("hass")&&this._debouncedUpdateScripts(e):e.scripts=this._getScripts(this.hass.states)),i&&!i.has("route")||"show"!==this._currentPage){if((!i||i.has("route"))&&"dashboard"!==this._currentPage){e.creatingNew=void 0;const i=this.routeTail.path.substr(1);e.scriptId="new"===i?null:i}}else{e.creatingNew=void 0;const i=this.routeTail.path.substr(1);e.entityId="new"===i?null:i}}}]}}),u.n);a()}catch(e){a(e)}}))},45868:function(e,i,t){t.a(e,(async function(e,i){try{var a=t(44249),s=t(72621),n=(t(9359),t(1331),t(70104),t(52924),t(31622),t(57243)),o=t(15093),l=t(35359),r=t(60738),d=t(36522),c=t(83523),h=t(34798),u=t(20172),p=t(76320),f=t(37394),y=(t(34273),t(20130),t(23334),t(7285),t(37583),t(64889),t(47805)),_=t(96194),g=t(63318),m=t(68418),v=t(76131),k=t(12939),b=(t(87979),t(29166)),$=t(28008),C=t(72473),w=t(61751),A=t(11432),x=t(20747),H=t(24135),L=t(58839),V=t(6736),z=t(78819),M=t(40027),I=t(30635),S=t(16755),R=e([x,H]);[x,H]=R.then?(await R)():R;const B="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z",E="M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z",Z="M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z",O="M12,14A2,2 0 0,1 14,16A2,2 0 0,1 12,18A2,2 0 0,1 10,16A2,2 0 0,1 12,14M23.46,8.86L21.87,15.75L15,14.16L18.8,11.78C17.39,9.5 14.87,8 12,8C8.05,8 4.77,10.86 4.12,14.63L2.15,14.28C2.96,9.58 7.06,6 12,6C15.58,6 18.73,7.89 20.5,10.72L23.46,8.86Z",F="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",q="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",U="M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H10V20.1L20 10.1V8L14 2H6M13 3.5L18.5 9H13V3.5M20.1 13C20 13 19.8 13.1 19.7 13.2L18.7 14.2L20.8 16.3L21.8 15.3C22 15.1 22 14.7 21.8 14.5L20.5 13.2C20.4 13.1 20.3 13 20.1 13M18.1 14.8L12 20.9V23H14.1L20.2 16.9L18.1 14.8Z",P="M17,7H22V17H17V19A1,1 0 0,0 18,20H20V22H17.5C16.95,22 16,21.55 16,21C16,21.55 15.05,22 14.5,22H12V20H14A1,1 0 0,0 15,19V5A1,1 0 0,0 14,4H12V2H14.5C15.05,2 16,2.45 16,3C16,2.45 16.95,2 17.5,2H20V4H18A1,1 0 0,0 17,5V7M2,7H13V9H4V15H13V17H2V7M20,15V9H17V15H20Z",T="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",D="M8,5.14V19.14L19,12.14L8,5.14Z",j="M3 6V8H14V6H3M3 10V12H14V10H3M20 10.1C19.9 10.1 19.7 10.2 19.6 10.3L18.6 11.3L20.7 13.4L21.7 12.4C21.9 12.2 21.9 11.8 21.7 11.6L20.4 10.3C20.3 10.2 20.2 10.1 20 10.1M18.1 11.9L12 17.9V20H14.1L20.2 13.9L18.1 11.9M3 14V16H10V14H3Z",K="M18,17H10.5L12.5,15H18M6,17V14.5L13.88,6.65C14.07,6.45 14.39,6.45 14.59,6.65L16.35,8.41C16.55,8.61 16.55,8.92 16.35,9.12L8.47,17M19,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",N="M20 4H18V3H20.5C20.78 3 21 3.22 21 3.5V5.5C21 5.78 20.78 6 20.5 6H20V7H19V5H20V4M19 9H20V8H19V9M17 3H16V7H17V3M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C14.34 7 14.67 7.03 15 7.08V10H19.74C20.53 11.13 21 12.5 21 14H22C22.55 14 23 14.45 23 15M10 15.5C10 14.12 8.88 13 7.5 13S5 14.12 5 15.5 6.12 18 7.5 18 10 16.88 10 15.5M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5M17 8H16V9H17V8Z",W="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",G="M15,12C15,10.7 14.16,9.6 13,9.18V6.82C14.16,6.4 15,5.3 15,4A3,3 0 0,0 12,1A3,3 0 0,0 9,4C9,5.3 9.84,6.4 11,6.82V9.19C9.84,9.6 9,10.7 9,12C9,13.3 9.84,14.4 11,14.82V17.18C9.84,17.6 9,18.7 9,20A3,3 0 0,0 12,23A3,3 0 0,0 15,20C15,18.7 14.16,17.6 13,17.18V14.82C14.16,14.4 15,13.3 15,12M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M12,21A1,1 0 0,1 11,20A1,1 0 0,1 12,19A1,1 0 0,1 13,20A1,1 0 0,1 12,21Z";let Y=(0,a.Z)(null,(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"scriptId",value:()=>null},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"entityId",value:()=>null},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"entityRegistry",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:"is-wide",type:Boolean})],key:"isWide",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"route",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_dirty",value:()=>!1},{kind:"field",decorators:[(0,o.SB)()],key:"_errors",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_yamlErrors",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_entityId",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_mode",value:()=>"gui"},{kind:"field",decorators:[(0,o.SB)()],key:"_readOnly",value:()=>!1},{kind:"field",decorators:[(0,r.F_)({context:I.we,subscribe:!0}),(0,S.v)({transformer:function(e){return e.find((({entity_id:e})=>e===this._entityId))},watch:["_entityId"]})],key:"_registryEntry",value:void 0},{kind:"field",decorators:[(0,o.IO)("manual-script-editor")],key:"_manualEditor",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_validationErrors",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_blueprintConfig",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_saving",value:()=>!1},{kind:"field",key:"_entityRegistryUpdate",value:void 0},{kind:"field",key:"_newScriptId",value:void 0},{kind:"field",key:"_entityRegCreated",value:void 0},{kind:"method",key:"willUpdate",value:function(e){if((0,s.Z)(t,"willUpdate",this,3)([e]),this._entityRegCreated&&this._newScriptId&&e.has("entityRegistry")){const e=this.entityRegistry.find((e=>"script"===e.platform&&e.unique_id===this._newScriptId));e&&(this._entityRegCreated(e),this._entityRegCreated=void 0)}}},{kind:"method",key:"render",value:function(){if(!this._config)return n.Ld;const e=this._entityId?this.hass.states[this._entityId]:void 0,i="use_blueprint"in this._config;return n.dy` <hass-subpage .hass="${this.hass}" .narrow="${this.narrow}" .route="${this.route}" .backCallback="${this._backTapped}" .header="${this._config.alias||this.hass.localize("ui.panel.config.script.editor.default_name")}"> ${this.scriptId&&!this.narrow?n.dy` <mwc-button @click="${this._showTrace}" slot="toolbar-icon"> ${this.hass.localize("ui.panel.config.script.editor.show_trace")} </mwc-button> `:""} <ha-button-menu slot="toolbar-icon"> <ha-icon-button slot="trigger" .label="${this.hass.localize("ui.common.menu")}" .path="${q}"></ha-icon-button> <ha-list-item graphic="icon" .disabled="${!this.scriptId}" @click="${this._showInfo}"> ${this.hass.localize("ui.panel.config.script.editor.show_info")} <ha-svg-icon slot="graphic" .path="${T}"></ha-svg-icon> </ha-list-item> <ha-list-item graphic="icon" .disabled="${!e}" @click="${this._showSettings}"> ${this.hass.localize("ui.panel.config.automation.picker.show_settings")} <ha-svg-icon slot="graphic" .path="${B}"></ha-svg-icon> </ha-list-item> <ha-list-item graphic="icon" .disabled="${!e}" @click="${this._editCategory}"> ${this.hass.localize("ui.panel.config.scene.picker."+(this._registryEntry?.categories?.script?"edit_category":"assign_category"))} <ha-svg-icon slot="graphic" .path="${W}"></ha-svg-icon> </ha-list-item> <ha-list-item graphic="icon" .disabled="${!this.scriptId}" @click="${this._runScript}"> ${this.hass.localize("ui.panel.config.script.picker.run_script")} <ha-svg-icon slot="graphic" .path="${D}"></ha-svg-icon> </ha-list-item> ${this.scriptId&&this.narrow?n.dy` <a href="/config/script/trace/${this.scriptId}"> <ha-list-item graphic="icon"> ${this.hass.localize("ui.panel.config.script.editor.show_trace")} <ha-svg-icon slot="graphic" .path="${G}"></ha-svg-icon> </ha-list-item> </a> `:n.Ld} ${i||"fields"in this._config?n.Ld:n.dy` <ha-list-item graphic="icon" .disabled="${this._readOnly||"yaml"===this._mode}" @click="${this._addFields}"> ${this.hass.localize("ui.panel.config.script.editor.field.add_fields")} <ha-svg-icon slot="graphic" .path="${P}"></ha-svg-icon> </ha-list-item> `} <ha-list-item graphic="icon" @click="${this._promptScriptAlias}" .disabled="${!this.scriptId||this._readOnly||"yaml"===this._mode}"> ${this.hass.localize("ui.panel.config.script.editor.rename")} <ha-svg-icon slot="graphic" .path="${K}"></ha-svg-icon> </ha-list-item> ${i?n.Ld:n.dy` <ha-list-item graphic="icon" @click="${this._promptScriptMode}" .disabled="${this._readOnly||"yaml"===this._mode}"> ${this.hass.localize("ui.panel.config.script.editor.change_mode")} <ha-svg-icon slot="graphic" .path="${O}"></ha-svg-icon> </ha-list-item> `} <ha-list-item .disabled="${this._blueprintConfig||!this._readOnly&&!this.scriptId}" graphic="icon" @click="${this._duplicate}"> ${this.hass.localize(this._readOnly?"ui.panel.config.script.editor.migrate":"ui.panel.config.script.editor.duplicate")} <ha-svg-icon slot="graphic" .path="${E}"></ha-svg-icon> </ha-list-item> ${i?n.dy` <ha-list-item graphic="icon" @click="${this._takeControl}" .disabled="${this._readOnly}"> ${this.hass.localize("ui.panel.config.script.editor.take_control")} <ha-svg-icon slot="graphic" .path="${U}"></ha-svg-icon> </ha-list-item> `:n.Ld} <ha-list-item graphic="icon" @click="${"gui"===this._mode?this._switchYamlMode:this._switchUiMode}"> ${this.hass.localize("ui.panel.config.automation.editor.edit_"+("gui"===this._mode?"yaml":"ui"))} <ha-svg-icon slot="graphic" .path="${j}"></ha-svg-icon> </ha-list-item> <li divider role="separator"></li> <ha-list-item .disabled="${this._readOnly||!this.scriptId}" class="${(0,l.$)({warning:Boolean(this.scriptId)})}" graphic="icon" @click="${this._deleteConfirm}"> ${this.hass.localize("ui.panel.config.script.picker.delete")} <ha-svg-icon class="${(0,l.$)({warning:Boolean(this.scriptId)})}" slot="graphic" .path="${F}"> </ha-svg-icon> </ha-list-item> </ha-button-menu> <div class="content ${(0,l.$)({"yaml-mode":"yaml"===this._mode})}"> ${this._errors||e?.state===_.nZ?n.dy`<ha-alert alert-type="error" .title="${e?.state===_.nZ?this.hass.localize("ui.panel.config.script.editor.unavailable"):void 0}"> ${this._errors||this._validationErrors} ${e?.state===_.nZ?n.dy`<ha-svg-icon slot="icon" .path="${N}"></ha-svg-icon>`:n.Ld} </ha-alert>`:""} ${this._blueprintConfig?n.dy`<ha-alert alert-type="info"> ${this.hass.localize("ui.panel.config.script.editor.confirm_take_control")} <div slot="action" style="display:flex"> <mwc-button @click="${this._takeControlSave}">${this.hass.localize("ui.common.yes")}</mwc-button> <mwc-button @click="${this._revertBlueprint}">${this.hass.localize("ui.common.no")}</mwc-button> </div> </ha-alert>`:this._readOnly?n.dy`<ha-alert alert-type="warning" dismissable>${this.hass.localize("ui.panel.config.script.editor.read_only")} <mwc-button slot="action" @click="${this._duplicate}"> ${this.hass.localize("ui.panel.config.script.editor.migrate")} </mwc-button> </ha-alert>`:n.Ld} ${"gui"===this._mode?n.dy` <div class="${(0,l.$)({rtl:(0,u.HE)(this.hass)})}"> ${i?n.dy` <blueprint-script-editor .hass="${this.hass}" .narrow="${this.narrow}" .isWide="${this.isWide}" .config="${this._config}" .disabled="${this._readOnly}" @value-changed="${this._valueChanged}"></blueprint-script-editor> `:n.dy` <manual-script-editor .hass="${this.hass}" .narrow="${this.narrow}" .isWide="${this.isWide}" .config="${this._config}" .disabled="${this._readOnly}" @value-changed="${this._valueChanged}"></manual-script-editor> `} </div> `:"yaml"===this._mode?n.dy`<ha-yaml-editor copy-clipboard .hass="${this.hass}" .defaultValue="${this._preprocessYaml()}" .readOnly="${this._readOnly}" @value-changed="${this._yamlChanged}"></ha-yaml-editor>`:n.Ld} </div> <ha-fab slot="fab" class="${(0,l.$)({dirty:!this._readOnly&&this._dirty})}" .label="${this.hass.localize("ui.panel.config.script.editor.save_script")}" .disabled="${this._saving}" extended @click="${this._handleSave}"> <ha-svg-icon slot="icon" .path="${Z}"></ha-svg-icon> </ha-fab> </hass-subpage> `}},{kind:"method",key:"updated",value:function(e){(0,s.Z)(t,"updated",this,3)([e]);const i=e.get("scriptId");if(!e.has("scriptId")||!this.scriptId||this.entityId||!this.hass||i&&i===this.scriptId||this._loadConfig(),(e.has("scriptId")||e.has("entityRegistry"))&&this.scriptId&&this.entityRegistry){const e=this.entityRegistry.find((e=>"script"===e.platform&&e.unique_id===this.scriptId));this._entityId=e?.entity_id}if(e.has("scriptId")&&!this.scriptId&&this.hass){const e=(0,m.FI)();this._dirty=!!e;const i={};e&&"use_blueprint"in e||(i.sequence=[]),this._config={...i,...e},this._readOnly=!1,this._dirty=!0}if(e.has("entityId")&&this.entityId){(0,m.eM)(this.hass,this.entityId).then((e=>{this._config=this._normalizeConfig(e.config),this._checkValidation()}));const e=this.entityRegistry.find((e=>e.entity_id===this.entityId));e?.unique_id&&(this.scriptId=e.unique_id),this._entityId=this.entityId,this._dirty=!1,this._readOnly=!0}}},{kind:"method",key:"_checkValidation",value:async function(){if(this._validationErrors=void 0,!this._entityId||!this._config)return;const e=this.hass.states[this._entityId];if(e?.state!==_.nZ)return;const i=await(0,y.w)(this.hass,{actions:this._config.sequence});this._validationErrors=Object.entries(i).map((([e,i])=>i.valid?"":n.dy`${this.hass.localize(`ui.panel.config.automation.editor.${e}.name`)}: ${i.error}<br>`))}},{kind:"method",key:"_normalizeConfig",value:function(e){const i=e.sequence;return i&&!Array.isArray(i)&&(e.sequence=[i]),e.sequence&&(e.sequence=(0,m.eR)(e.sequence)),e}},{kind:"method",key:"_loadConfig",value:async function(){(0,m.oE)(this.hass,this.scriptId).then((e=>{this._dirty=!1,this._readOnly=!1,this._config=this._normalizeConfig(e);const i=this.entityRegistry.find((e=>"script"===e.platform&&e.unique_id===this.scriptId));this._entityId=i?.entity_id,this._checkValidation()}),(e=>{const i=this.entityRegistry.find((e=>"script"===e.platform&&e.unique_id===this.scriptId));i?(0,c.c)(`/config/script/show/${i.entity_id}`,{replace:!0}):(alert(404===e.status_code?this.hass.localize("ui.panel.config.script.editor.load_error_not_editable"):this.hass.localize("ui.panel.config.script.editor.load_error_unknown",{err_no:e.status_code||e.code})),history.back())}))}},{kind:"method",key:"_valueChanged",value:function(e){this._config=e.detail.value,this._errors=void 0,this._dirty=!0}},{kind:"method",key:"_runScript",value:async function(e){e.stopPropagation(),(0,m.sf)(this.hass,this._entityId)?(0,k.A)(this,{entityId:this._entityId}):(await(0,m.kC)(this.hass,this.scriptId),(0,C.C)(this,{message:this.hass.localize("ui.notification_toast.triggered",{name:this._config.alias})}))}},{kind:"method",key:"_showSettings",value:function(){(0,k.A)(this,{entityId:this._entityId,view:"settings"})}},{kind:"method",key:"_editCategory",value:function(){this._registryEntry?(0,z.U)(this,{scope:"script",entityReg:this._registryEntry}):(0,v.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.scene.picker.no_category_support"),text:this.hass.localize("ui.panel.config.scene.picker.no_category_entity_reg")})}},{kind:"method",key:"_computeEntityIdFromAlias",value:function(e){const i=(0,h.l)(e);let t=i,a=2;for(;this._idIsUsed(t);)t=`${i}_${a}`,a++;return t}},{kind:"method",key:"_idIsUsed",value:function(e){return`script.${e}`in this.hass.states||this.entityRegistry.some((i=>i.unique_id===e))}},{kind:"method",key:"_showInfo",value:async function(){if(!this.scriptId)return;const e=this.entityRegistry.find((e=>e.unique_id===this.scriptId));e&&(0,d.B)(this,"hass-more-info",{entityId:e.entity_id})}},{kind:"method",key:"_showTrace",value:async function(){if(this.scriptId){await this._confirmUnsavedChanged()&&(0,c.c)(`/config/script/trace/${this.scriptId}`)}}},{kind:"method",key:"_addFields",value:function(){"fields"in this._config||(this._manualEditor?.addFields(),this._dirty=!0)}},{kind:"method",key:"_preprocessYaml",value:function(){return this._config}},{kind:"method",key:"_yamlChanged",value:function(e){e.stopPropagation(),this._dirty=!0,e.detail.isValid?(this._yamlErrors=void 0,this._config=e.detail.value,this._errors=void 0):this._yamlErrors=e.detail.errorMsg}},{kind:"method",key:"_confirmUnsavedChanged",value:async function(){return!this._dirty||new Promise((e=>{(0,A.h)(this,{config:this._config,domain:"script",updateConfig:async(i,t)=>{this._config=i,this._entityRegistryUpdate=t,this._dirty=!0,this.requestUpdate();const a=this.scriptId||String(Date.now());try{await this._saveScript(a)}catch(i){return this.requestUpdate(),void e(!1)}e(!0)},onClose:()=>e(!1),onDiscard:()=>e(!0),entityRegistryUpdate:this._entityRegistryUpdate,entityRegistryEntry:this._registryEntry,title:this.hass.localize(this.scriptId?"ui.panel.config.script.editor.leave.unsaved_confirm_title":"ui.panel.config.script.editor.leave.unsaved_new_title"),description:this.hass.localize(this.scriptId?"ui.panel.config.script.editor.leave.unsaved_confirm_text":"ui.panel.config.script.editor.leave.unsaved_new_text"),hideInputs:null!==this.scriptId})}))}},{kind:"field",key:"_backTapped",value(){return async()=>{await this._confirmUnsavedChanged()&&(0,p.T)((()=>history.back()))}}},{kind:"method",key:"_takeControl",value:async function(){const e=this._config;try{const i=await(0,L.Uk)(this.hass,"script",e.use_blueprint.path,e.use_blueprint.input||{}),t={...this._normalizeConfig(i.substituted_config),alias:e.alias,description:e.description};this._blueprintConfig=e,this._config=t,"yaml"===this._mode&&this.renderRoot.querySelector("ha-yaml-editor")?.setValue(this._config),this._readOnly=!0,this._errors=void 0}catch(e){this._errors=e.message}}},{kind:"method",key:"_revertBlueprint",value:function(){this._config=this._blueprintConfig,"yaml"===this._mode&&this.renderRoot.querySelector("ha-yaml-editor")?.setValue(this._config),this._blueprintConfig=void 0,this._readOnly=!1}},{kind:"method",key:"_takeControlSave",value:function(){this._readOnly=!1,this._dirty=!0,this._blueprintConfig=void 0}},{kind:"method",key:"_duplicate",value:async function(){(this._readOnly?await(0,v.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.config.script.picker.migrate_script"),text:this.hass.localize("ui.panel.config.script.picker.migrate_script_description")}):await this._confirmUnsavedChanged())&&(this._entityId=void 0,(0,m.rg)({...this._config,alias:this._readOnly?this._config?.alias:`${this._config?.alias} (${this.hass.localize("ui.panel.config.script.picker.duplicate")})`}))}},{kind:"method",key:"_deleteConfirm",value:async function(){(0,v.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.config.script.editor.delete_confirm_title"),text:this.hass.localize("ui.panel.config.script.editor.delete_confirm_text",{name:this._config?.alias}),confirmText:this.hass.localize("ui.common.delete"),destructive:!0,dismissText:this.hass.localize("ui.common.cancel"),confirm:()=>this._delete()})}},{kind:"method",key:"_delete",value:async function(){await(0,m.oR)(this.hass,this.scriptId),history.back()}},{kind:"method",key:"_switchUiMode",value:async function(){if(this._yamlErrors){if(!await(0,v.showConfirmationDialog)(this,{text:n.dy`${this.hass.localize("ui.panel.config.automation.editor.switch_ui_yaml_error")}<br><br>${this._yamlErrors}`,confirmText:this.hass.localize("ui.common.continue"),destructive:!0,dismissText:this.hass.localize("ui.common.cancel")}))return}this._yamlErrors=void 0,this._mode="gui"}},{kind:"method",key:"_switchYamlMode",value:function(){this._mode="yaml"}},{kind:"method",key:"_promptScriptAlias",value:async function(){return new Promise((e=>{(0,A.h)(this,{config:this._config,domain:"script",updateConfig:async(i,t)=>{this._config=i,this._entityRegistryUpdate=t,this._dirty=!0,this.requestUpdate(),e(!0)},onClose:()=>e(!1),entityRegistryUpdate:this._entityRegistryUpdate,entityRegistryEntry:this.entityRegistry.find((e=>e.unique_id===this.scriptId))})}))}},{kind:"method",key:"_promptScriptMode",value:async function(){return new Promise((e=>{(0,w.q)(this,{config:this._config,updateConfig:i=>{this._config=i,this._dirty=!0,this.requestUpdate(),e()},onClose:()=>e()})}))}},{kind:"method",key:"_handleSave",value:async function(){if(this._yamlErrors)return void(0,C.C)(this,{message:this._yamlErrors});if(!this.scriptId){if(!await this._promptScriptAlias())return;this._entityId=this._computeEntityIdFromAlias(this._config.alias)}const e=this.scriptId||this._entityId||Date.now();await this._saveScript(e),this.scriptId||(0,c.c)(`/config/script/edit/${e}`,{replace:!0})}},{kind:"method",key:"_saveScript",value:async function(e){let i;this._saving=!0,void 0===this._entityRegistryUpdate||this.scriptId||(this._newScriptId=e.toString(),i=new Promise((e=>{this._entityRegCreated=e})));try{if(await this.hass.callApi("POST","config/script/config/"+e,this._config),void 0!==this._entityRegistryUpdate){let e=this._entityId;if(i)try{e=(await(0,f.n)(5e3,i)).entity_id}catch(i){if(e=void 0,!(i instanceof Error&&"TimeoutError"===i.name))throw i;(0,v.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.automation.editor.new_automation_setup_failed_title",{type:this.hass.localize("ui.panel.config.automation.editor.type_script")}),text:this.hass.localize("ui.panel.config.automation.editor.new_automation_setup_failed_text",{type:this.hass.localize("ui.panel.config.automation.editor.type_script"),types:this.hass.localize("ui.panel.config.automation.editor.type_script_plural")}),warning:!0})}e&&await(0,g.Nv)(this.hass,e,{categories:{script:this._entityRegistryUpdate.category||null},labels:this._entityRegistryUpdate.labels||[],area_id:this._entityRegistryUpdate.area||null})}this._dirty=!1}catch(e){throw this._errors=e.body?.message||e.error||e.body,(0,C.C)(this,{message:e.body?.message||e.error||e.body}),e}finally{this._saving=!1}}},{kind:"method",key:"supportedShortcuts",value:function(){return{s:()=>this._handleSave()}}},{kind:"get",key:"isDirty",value:function(){return this._dirty}},{kind:"method",key:"promptDiscardChanges",value:async function(){return this._confirmUnsavedChanged()}},{kind:"get",static:!0,key:"styles",value:function(){return[$.Qx,n.iv`p{margin-bottom:0}.errors{padding:20px;font-weight:700;color:var(--error-color)}.yaml-mode{height:100%;display:flex;flex-direction:column;padding-bottom:0}.config-container,:not(.yaml-mode)>ha-alert,blueprint-script-editor,manual-script-editor{margin:0 auto;max-width:1040px;padding:28px 20px 0;display:block}.config-container ha-alert{margin-bottom:16px;display:block}ha-yaml-editor{flex-grow:1;--actions-border-radius:0;--code-mirror-height:100%;min-height:0;display:flex;flex-direction:column}span[slot=introduction] a{color:var(--primary-color)}ha-fab{position:relative;bottom:calc(-80px - env(safe-area-inset-bottom));transition:bottom .3s}ha-fab.dirty{bottom:0}li[role=separator]{border-bottom-color:var(--divider-color)}.header{display:flex;margin:16px 0;align-items:center}.header .name{font-size:20px;font-weight:400;flex:1}.header a{color:var(--secondary-text-color)}ha-button-menu a{text-decoration:none;color:var(--primary-color)}`]}}]}}),(0,V.f)((0,M.C)((0,b.U)(n.oi))));customElements.define("ha-script-editor",Y),i()}catch(e){i(e)}}))},5637:function(e,i,t){var a=t(44249),s=t(72621),n=(t(9359),t(56475),t(31526),t(70104),t(31622),t(57243)),o=t(15093),l=t(36522),r=(t(59826),t(34273),t(37583),t(35359)),d=t(27486),c=t(34798),h=(t(99426),t(54977),t(29073),t(41307),t(7285),t(23334),t(64889),t(76131)),u=t(28008);const p=e=>e.preventDefault();(0,a.Z)([(0,o.Mo)("ha-script-field-row")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"key",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1,type:Array})],key:"excludeKeys",value:()=>[]},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"field",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,o.SB)()],key:"_uiError",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_yamlError",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_yamlMode",value:()=>!1},{kind:"field",key:"_errorKey",value:void 0},{kind:"field",key:"_schema",value:()=>(0,d.Z)((e=>[{name:"name",selector:{text:{}}},{name:"key",selector:{text:{}}},{name:"description",selector:{text:{}}},{name:"selector",selector:{selector:{}}},{name:"default",selector:e&&"object"==typeof e?e:{}},{name:"required",selector:{boolean:{}}}]))},{kind:"method",key:"render",value:function(){const e=this._schema(this.field.selector),i={...this.field,key:this._errorKey??this.key},t={[this.key]:this.field};return n.dy` <ha-card outlined> <ha-expansion-panel left-chevron> <h3 slot="header">${this.key}</h3> <slot name="icons" slot="icons"></slot> <ha-button-menu slot="icons" @action="${this._handleAction}" @click="${p}" fixed> <ha-icon-button slot="trigger" .label="${this.hass.localize("ui.common.menu")}" .path="${"M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z"}"></ha-icon-button> <ha-list-item graphic="icon"> ${this.hass.localize("ui.panel.config.automation.editor.edit_"+(this._yamlMode?"ui":"yaml"))} <ha-svg-icon slot="graphic" .path="${"M3 6V8H14V6H3M3 10V12H14V10H3M20 10.1C19.9 10.1 19.7 10.2 19.6 10.3L18.6 11.3L20.7 13.4L21.7 12.4C21.9 12.2 21.9 11.8 21.7 11.6L20.4 10.3C20.3 10.2 20.2 10.1 20 10.1M18.1 11.9L12 17.9V20H14.1L20.2 13.9L18.1 11.9M3 14V16H10V14H3Z"}"></ha-svg-icon> </ha-list-item> <ha-list-item class="warning" graphic="icon" .disabled="${this.disabled}"> ${this.hass.localize("ui.panel.config.automation.editor.actions.delete")} <ha-svg-icon class="warning" slot="graphic" .path="${"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z"}"></ha-svg-icon> </ha-list-item> </ha-button-menu> <div class="${(0,r.$)({"card-content":!0})}"> ${this._yamlMode?n.dy` ${this._yamlError?n.dy`<ha-alert alert-type="error"> ${this.hass.localize(`ui.panel.config.script.editor.field.${this._yamlError}`)} </ha-alert>`:n.Ld} <ha-yaml-editor .hass="${this.hass}" .defaultValue="${t}" @value-changed="${this._onYamlChange}"></ha-yaml-editor>`:n.dy`<ha-form .schema="${e}" .data="${i}" .error="${this._uiError}" .hass="${this.hass}" .disabled="${this.disabled}" .computeLabel="${this._computeLabelCallback}" .computeError="${this._computeError}" @value-changed="${this._valueChanged}"></ha-form>`} </div> </ha-expansion-panel> </ha-card> `}},{kind:"method",key:"_handleAction",value:async function(e){switch(e.detail.index){case 0:this._yamlMode=!this._yamlMode;break;case 1:this._onDelete()}}},{kind:"method",key:"_onDelete",value:function(){(0,h.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.config.script.editor.field_delete_confirm_title"),text:this.hass.localize("ui.panel.config.script.editor.field_delete_confirm_text"),dismissText:this.hass.localize("ui.common.cancel"),confirmText:this.hass.localize("ui.common.delete"),destructive:!0,confirm:()=>{(0,l.B)(this,"value-changed",{value:null})}})}},{kind:"method",key:"_onYamlChange",value:function(e){e.stopPropagation();const i={...e.detail.value};if(1!==Object.keys(i).length)return void(this._yamlError="yaml_error");const t=Object.keys(i)[0];if(this.excludeKeys.includes(t))return void(this._yamlError="key_not_unique");this._yamlError=void 0;const a={...i[t],key:t};(0,l.B)(this,"value-changed",{value:a})}},{kind:"method",key:"_maybeSetKey",value:function(e){const i=e.name!==this.field.name,t=e.key!==this.key;if(!i||t)return;const a=this.field.name?(0,c.l)(this.field.name):this.hass.localize("ui.panel.config.script.editor.field.field")||"field";if(new RegExp(`^${a}(_\\d)?$`).test(this.key)){let i=e.name?(0,c.l)(e.name):this.hass.localize("ui.panel.config.script.editor.field.field")||"field";if(this.excludeKeys.includes(i)){let e=i,t=2;do{e=`${i}_${t}`,t++}while(this.excludeKeys.includes(e));i=e}e.key=i}}},{kind:"method",key:"_valueChanged",value:function(e){e.stopPropagation();const i={...e.detail.value};if(this._maybeSetKey(i),!i.key||this.excludeKeys.includes(i.key))return this._uiError=i.key?{key:"key_not_unique"}:{key:"key_not_null"},void(this._errorKey=i.key??"");this._errorKey=void 0,this._uiError=void 0,Object.keys(this.field.selector)[0]!==Object.keys(i.selector)[0]&&delete i.default,(0,l.B)(this,"value-changed",{value:i})}},{kind:"method",key:"expand",value:function(){this.updateComplete.then((()=>{this.shadowRoot.querySelector("ha-expansion-panel").expanded=!0}))}},{kind:"field",key:"_computeLabelCallback",value(){return e=>(e.name,this.hass.localize(`ui.panel.config.script.editor.field.${e.name}`))}},{kind:"field",key:"_computeError",value(){return e=>this.hass.localize(`ui.panel.config.script.editor.field.${e}`)||e}},{kind:"get",static:!0,key:"styles",value:function(){return[u.Qx,n.iv`ha-button-menu,ha-icon-button{--mdc-theme-text-primary-on-background:var(--primary-text-color)}.disabled{opacity:.5;pointer-events:none}ha-expansion-panel{--expansion-panel-summary-padding:0 0 0 8px;--expansion-panel-content-padding:0}h3{margin:0;font-size:inherit;font-weight:inherit}.action-icon{display:none}@media (min-width:870px){.action-icon{display:inline-block;color:var(--secondary-text-color);opacity:.9;margin-right:8px;margin-inline-end:8px;margin-inline-start:initial}}.card-content{padding:16px}.disabled-bar{background:var(--divider-color,#e0e0e0);text-align:center;border-top-right-radius:var(--ha-card-border-radius,12px);border-top-left-radius:var(--ha-card-border-radius,12px)}ha-list-item[disabled]{--mdc-theme-text-primary-on-background:var(--disabled-text-color)}.warning ul{margin:4px 0}.selected_menu_item{color:var(--primary-color)}li[role=separator]{border-bottom-color:var(--divider-color)}`]}}]}}),n.oi);(0,a.Z)([(0,o.Mo)("ha-script-fields")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"fields",value:void 0},{kind:"field",key:"_focusLastActionOnChange",value:()=>!1},{kind:"method",key:"render",value:function(){return n.dy` ${this.fields?n.dy`<div class="fields"> ${Object.entries(this.fields).map((([e,i])=>n.dy` <ha-script-field-row .key="${e}" .excludeKeys="${Object.keys(this.fields).filter((i=>i!==e))}" .field="${i}" .disabled="${this.disabled}" @value-changed="${this._fieldChanged}" .hass="${this.hass}"> </ha-script-field-row> `))} </div> `:n.Ld} <ha-button outlined @click="${this._addField}" .disabled="${this.disabled}" .label="${this.hass.localize("ui.panel.config.script.editor.field.add_field")}"> <ha-svg-icon .path="${"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}" slot="icon"></ha-svg-icon> </ha-button> `}},{kind:"method",key:"updated",value:function(e){(0,s.Z)(t,"updated",this,3)([e]),e.has("fields")&&this._focusLastActionOnChange&&(this._focusLastActionOnChange=!1,this.focusLastField())}},{kind:"method",key:"focusLastField",value:function(){const e=this.shadowRoot.querySelector("ha-script-field-row:last-of-type");e.updateComplete.then((()=>{e.expand(),e.scrollIntoView(),e.focus()}))}},{kind:"method",key:"_addField",value:function(){const e=this._getUniqueKey(this.hass.localize("ui.panel.config.script.editor.field.field")||"field",this.fields||{}),i={...this.fields||{},[e]:{selector:{text:null}}};this._focusLastActionOnChange=!0,(0,l.B)(this,"value-changed",{value:i})}},{kind:"method",key:"_fieldChanged",value:function(e){e.stopPropagation();const i=e.target.key;let t={};if(null===e.detail.value)t={...this.fields},delete t[i];else{const a={...e.detail.value},s=a.key;delete a.key;i!==s?Object.entries(this.fields).forEach((([e,n])=>{e===i?t[s]=a:t[e]=n})):(t={...this.fields},t[i]=a)}(0,l.B)(this,"value-changed",{value:t})}},{kind:"method",key:"_getUniqueKey",value:function(e,i){let t=e;if(e in i){let a=2;do{t=`${e}_${a}`,a++}while(t in i)}return t}},{kind:"field",static:!0,key:"styles",value:()=>n.iv`ha-script-field-row{display:block;margin-bottom:16px;scroll-margin-top:48px}ha-svg-icon{height:20px}`}]}}),n.oi)},9257:function(e,i,t){t.a(e,(async function(e,i){try{var a=t(44249),s=t(72621),n=(t(92745),t(9359),t(68107),t(56475),t(1331),t(31526),t(70104),t(52924),t(92519),t(42179),t(89256),t(24931),t(88463),t(57449),t(19814),t(75656),t(50100),t(18084),t(60738)),o=t(18672),l=t(13809),r=t(57243),d=t(15093),c=t(69634),h=t(27486),u=t(75011),p=t(72344),f=t(64214),y=t(94947),_=t(68958),g=t(36522),m=t(47194),v=t(83523),k=t(35076),b=(t(10504),t(51868),t(20130),t(75788),t(53678),t(76268),t(93258)),$=(t(43082),t(86735),t(23334),t(59959)),C=(t(7843),t(4573),t(37583),t(82100)),w=t(36540),A=t(30635),x=t(12068),H=t(96194),L=t(63318),V=t(63860),z=t(68418),M=t(2357),I=t(76131),S=t(12939),R=(t(38419),t(6736)),B=t(28008),E=t(73192),Z=t(72473),O=t(61107),F=t(31694),q=t(78819),U=t(11917),P=t(82967),T=t(26345),D=e([b,$,f,y]);[b,$,f,y]=D.then?(await D)():D;const j="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",K="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z",N="M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z",W="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",G="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",Y="M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,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",Q="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",X="M7,10L12,15L17,10H7Z",J="M8,5.14V19.14L19,12.14L8,5.14Z",ee="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",ie="M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z",te="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",ae="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z",se="M15,12C15,10.7 14.16,9.6 13,9.18V6.82C14.16,6.4 15,5.3 15,4A3,3 0 0,0 12,1A3,3 0 0,0 9,4C9,5.3 9.84,6.4 11,6.82V9.19C9.84,9.6 9,10.7 9,12C9,13.3 9.84,14.4 11,14.82V17.18C9.84,17.6 9,18.7 9,20A3,3 0 0,0 12,23A3,3 0 0,0 15,20C15,18.7 14.16,17.6 13,17.18V14.82C14.16,14.4 15,13.3 15,12M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M12,21A1,1 0 0,1 11,20A1,1 0 0,1 12,19A1,1 0 0,1 13,20A1,1 0 0,1 12,21Z";(0,a.Z)([(0,d.Mo)("ha-script-picker")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"scripts",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"is-wide",type:Boolean})],key:"isWide",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"route",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"entityRegistry",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_searchParms",value:()=>new URLSearchParams(window.location.search)},{kind:"field",decorators:[(0,d.SB)()],key:"_selected",value:()=>[]},{kind:"field",decorators:[(0,d.SB)()],key:"_activeFilters",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_filteredScripts",value:void 0},{kind:"field",decorators:[(0,_.t)({storage:"sessionStorage",key:"script-table-search",state:!0,subscribe:!1})],key:"_filter",value:()=>""},{kind:"field",decorators:[(0,_.t)({storage:"sessionStorage",key:"script-table-filters-full",state:!0,subscribe:!1,serializer:x.B,deserializer:x.l})],key:"_filters",value:()=>({})},{kind:"field",decorators:[(0,d.SB)()],key:"_expandedFilter",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_categories",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_labels",value:void 0},{kind:"field",decorators:[(0,d.SB)(),(0,n.F_)({context:A.we,subscribe:!0})],key:"_entityReg",value:void 0},{kind:"field",decorators:[(0,_.t)({key:"script-table-sort",state:!1,subscribe:!1})],key:"_activeSorting",value:void 0},{kind:"field",decorators:[(0,_.t)({key:"script-table-grouping",state:!1,subscribe:!1})],key:"_activeGrouping",value:void 0},{kind:"field",decorators:[(0,_.t)({key:"script-table-collapsed",state:!1,subscribe:!1})],key:"_activeCollapsed",value:void 0},{kind:"field",decorators:[(0,_.t)({key:"script-table-column-order",state:!1,subscribe:!1})],key:"_activeColumnOrder",value:void 0},{kind:"field",decorators:[(0,_.t)({key:"script-table-hidden-columns",state:!1,subscribe:!1})],key:"_activeHiddenColumns",value:void 0},{kind:"field",key:"_sizeController",value(){return new o.Z(this,{callback:e=>e[0]?.contentRect.width})}},{kind:"field",key:"_scripts",value:()=>(0,h.Z)(((e,i,t,a,s,n)=>null===n?[]:(n?e.filter((e=>n.includes(e.entity_id))):e).map((e=>{const n=i.find((i=>i.entity_id===e.entity_id)),o=n?.categories.script,l=s&&n?.labels;return{...e,name:(0,m.C)(e),area:n?.area_id?t[n?.area_id]?.name:void 0,last_triggered:e.attributes.last_triggered||void 0,category:o?a?.find((e=>e.category_id===o))?.name:void 0,labels:(l||[]).map((e=>s.find((i=>i.label_id===e)))),selectable:void 0!==n}}))))},{kind:"field",key:"_columns",value(){return(0,h.Z)((e=>({icon:{title:"",showNarrow:!0,moveable:!1,label:e("ui.panel.config.script.picker.headers.icon"),type:"icon",template:e=>r.dy`<ha-state-icon .hass="${this.hass}" .stateObj="${e}" style="${(0,c.V)({color:e.state===H.nZ?"var(--error-color)":"unset"})}"></ha-state-icon>`},name:{title:e("ui.panel.config.script.picker.headers.name"),main:!0,sortable:!0,filterable:!0,direction:"asc",flex:2,extraTemplate:e=>e.labels.length?r.dy`<ha-data-table-labels @label-clicked="${this._labelClicked}" .labels="${e.labels}"></ha-data-table-labels>`:r.Ld},area:{title:e("ui.panel.config.script.picker.headers.area"),hidden:!0,groupable:!0,filterable:!0,sortable:!0},category:{title:e("ui.panel.config.script.picker.headers.category"),hidden:!0,groupable:!0,filterable:!0,sortable:!0},labels:{title:"",hidden:!0,filterable:!0,template:e=>e.labels.map((e=>e.name)).join(" ")},last_triggered:{sortable:!0,title:e("ui.card.automation.last_triggered"),template:e=>{const i=new Date(e.last_triggered),t=new Date,a=(0,l.j)(t,i);return r.dy` ${e.last_triggered?a>3?(0,f.Fu)(i,this.hass.locale,this.hass.config):(0,y.G)(i,this.hass.locale):this.hass.localize("ui.components.relative_time.never")} `}},actions:{title:"",label:this.hass.localize("ui.panel.config.generic.headers.actions"),type:"overflow-menu",showNarrow:!0,moveable:!1,hideable:!1,template:e=>r.dy` <ha-icon-overflow-menu .hass="${this.hass}" narrow .items="${[{path:Q,label:this.hass.localize("ui.panel.config.script.picker.show_info"),action:()=>this._showInfo(e)},{path:K,label:this.hass.localize("ui.panel.config.automation.picker.show_settings"),action:()=>this._openSettings(e)},{path:te,label:this.hass.localize("ui.panel.config.script.picker."+(e.category?"edit_category":"assign_category")),action:()=>this._editCategory(e)},{path:J,label:this.hass.localize("ui.panel.config.script.picker.run"),action:()=>this._runScript(e)},{path:se,label:this.hass.localize("ui.panel.config.script.picker.show_trace"),action:()=>this._showTrace(e)},{divider:!0},{path:N,label:this.hass.localize("ui.panel.config.script.picker.duplicate"),action:()=>this._duplicate(e)},{label:this.hass.localize("ui.panel.config.script.picker.delete"),path:W,action:()=>this._deleteConfirm(e),warning:!0}]}"> </ha-icon-overflow-menu> `}})))}},{kind:"method",key:"hassSubscribe",value:function(){return[(0,w.U)(this.hass.connection,"script",(e=>{this._categories=e})),(0,V.f4)(this.hass.connection,(e=>{this._labels=e}))]}},{kind:"method",key:"render",value:function(){const e=r.dy`${this._categories?.map((e=>r.dy`<ha-md-menu-item .value="${e.category_id}" .clickAction="${this._handleBulkCategory}"> ${e.icon?r.dy`<ha-icon slot="start" .icon="${e.icon}"></ha-icon>`:r.dy`<ha-svg-icon slot="start" .path="${te}"></ha-svg-icon>`} <div slot="headline">${e.name}</div> </ha-md-menu-item>`))} <ha-md-menu-item .value="${null}" .clickAction="${this._handleBulkCategory}"> <div slot="headline"> ${this.hass.localize("ui.panel.config.automation.picker.bulk_actions.no_category")} </div> </ha-md-menu-item><ha-md-divider role="separator" tabindex="-1"></ha-md-divider> <ha-md-menu-item .clickAction="${this._bulkCreateCategory}"> <div slot="headline"> ${this.hass.localize("ui.panel.config.category.editor.add")} </div> </ha-md-menu-item>`,i=r.dy`${this._labels?.map((e=>{const i=e.color?(0,u.I)(e.color):void 0,t=this._selected.every((i=>this.hass.entities[i]?.labels.includes(e.label_id))),a=!t&&this._selected.some((i=>this.hass.entities[i]?.labels.includes(e.label_id)));return r.dy`<ha-md-menu-item .value="${e.label_id}" .action="${t?"remove":"add"}" @click="${this._handleBulkLabel}" keep-open reducedTouchTarget> <ha-checkbox slot="start" .checked="${t}" .indeterminate="${a}"></ha-check