iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
4 lines • 80.9 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[8735],{75248:function(t,i,e){e.a(t,async function(t,s){try{e.r(i),e.d(i,{HaIconOverflowMenu:function(){return A}});e(18111),e(61701),e(62953);var a=e(40445),o=(e(68825),e(5124)),l=e(67576),n=e(93421),r=e(57237),h=e(14503),d=e(29823),c=(e(70947),e(26300)),p=(e(67094),e(34127)),u=t([d,c,p]);[d,c,p]=u.then?(await u)():u;let g,_,f,v,y,m,b,$,w=t=>t;const C="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";class A extends o.WF{render(){return 0===this.items.length?o.s6:(0,o.qy)(g||(g=w` ${0} `),this.narrow?(0,o.qy)(_||(_=w` <ha-dropdown @wa-show="${0}" @click="${0}"> <ha-icon-button .label="${0}" .path="${0}" slot="trigger"></ha-icon-button> ${0} </ha-dropdown>`),this._handleIconOverflowMenuOpened,r.d,this._localize("ui.common.overflow_menu"),C,this.items.map(t=>t.divider?(0,o.qy)(f||(f=w`<wa-divider></wa-divider>`)):(0,o.qy)(v||(v=w`<ha-dropdown-item ?disabled="${0}" @click="${0}" variant="${0}"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> ${0} </ha-dropdown-item>`),t.disabled,t.action,t.warning?"danger":"default",t.path,t.label))):(0,o.qy)(y||(y=w` ${0} `),this.items.map(t=>{var i;return t.narrowOnly?o.s6:t.divider?(0,o.qy)(m||(m=w`<div role="separator"></div>`)):(0,o.qy)(b||(b=w`<ha-tooltip .disabled="${0}" .for="icon-button-${0}">${0} </ha-tooltip><ha-icon-button .id="icon-button-${0}" @click="${0}" .label="${0}" .path="${0}" ?disabled="${0}"></ha-icon-button> `),!t.tooltip,t.label,null!==(i=t.tooltip)&&void 0!==i?i:"",t.label,t.action,t.label,t.path,t.disabled)})))}_handleIconOverflowMenuOpened(t){t.stopPropagation()}static get styles(){return[h.RF,(0,o.AH)($||($=w`:host{display:flex;justify-content:flex-end;cursor:initial}div[role=separator]{border-right:1px solid var(--divider-color);width:1px}`))]}constructor(...t){super(...t),this.items=[],this.narrow=!1}}(0,a.Cg)([(0,l.wk)(),(0,n.IW)()],A.prototype,"_localize",void 0),(0,a.Cg)([(0,l.MZ)({type:Array})],A.prototype,"items",void 0),(0,a.Cg)([(0,l.MZ)({type:Boolean})],A.prototype,"narrow",void 0),A=(0,a.Cg)([(0,l.EM)("ha-icon-overflow-menu")],A),s()}catch(g){s(g)}})},98677:function(t,i,e){e.a(t,async function(t,i){try{e(89463),e(3362),e(62953);var s=e(40445),a=e(5124),o=e(67576),l=e(1087),n=e(18350),r=(e(3587),e(35891)),h=e(57116),d=e(38119),c=t([n,d]);[n,d]=c.then?(await c)():c;let p,u,g,_=t=>t;const f="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";class v extends d.D{get _config(){return this.config}render(){return(0,a.qy)(p||(p=_` ${0} ${0} <ha-button slot="fab" size="large" class="${0}" .disabled="${0}" @click="${0}"> <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> ${0} </ha-button> `),this.config.description?(0,a.qy)(u||(u=_`<ha-markdown class="description" breaks .content="${0}"></ha-markdown>`),this.config.description):a.s6,this.renderCard(),this.dirty?"dirty":"",this.saving,this._saveScript,f,this.hass.localize("ui.common.save"))}_saveScript(){(0,l.r)(this,"save-script")}async _getBlueprints(){this._blueprints=await(0,r.Xg)(this.hass,"script")}static get styles(){return[d.D.styles,h.T_,(0,a.AH)(g||(g=_`:host{position:relative;height:100%;min-height:calc(100vh - 85px);min-height:calc(100dvh - 85px)}ha-button[slot=fab]{position:fixed;--ha-button-box-shadow:var(--ha-box-shadow-l)}`))]}constructor(...t){super(...t),this.saving=!1,this.dirty=!1}}(0,s.Cg)([(0,o.MZ)({attribute:!1})],v.prototype,"config",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],v.prototype,"saving",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],v.prototype,"dirty",void 0),v=(0,s.Cg)([(0,o.EM)("blueprint-script-editor")],v),i()}catch(p){i(p)}})},90370:function(t,i,e){e.a(t,async function(t,s){try{e.r(i);e(18111),e(81148),e(22489),e(3362),e(62953);var a=e(40445),o=e(67576),l=e(22786),n=e(69093),r=e(9899),h=e(324),d=e(21475),c=e(42180),p=t([d,c]);[d,c]=p.then?(await p)():p;const u=(t,i)=>t.length===i.length&&t.every((t,e)=>t===i[e]);class g extends h.a{firstUpdated(t){super.firstUpdated(t),this.hass.loadBackendTranslation("device_automation")}updatePageEl(t,i){if(t.hass=this.hass,t.narrow=this.narrow,t.isWide=this.isWide,t.route=this.routeTail,t.cloudStatus=this.cloudStatus,this.hass&&(t.scripts&&i?i.has("hass")&&this._debouncedUpdateScripts(t):t.scripts=this._getScripts(this.hass.states)),(!i||i.has("route"))&&"show"===this._currentPage){t.creatingNew=void 0;const i=this.routeTail.path.slice(1);return void(t.entityId="new"===i?null:i)}if((!i||i.has("route"))&&"dashboard"!==this._currentPage){t.creatingNew=void 0;const i=this.routeTail.path.slice(1);t.scriptId="new"===i?null:i}}constructor(...t){super(...t),this.narrow=!1,this.isWide=!1,this.scripts=[],this.routerOptions={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([e.e(66432),e.e(87857),e.e(82333),e.e(775),e.e(52422)]).then(e.bind(e,74706))}}},this._debouncedUpdateScripts=(0,r.s)(t=>{const i=this._getScripts(this.hass.states);u(i,t.scripts)||(t.scripts=i)},10),this._getScripts=(0,l.A)(t=>Object.values(t).filter(t=>"script"===(0,n.t)(t)&&!t.attributes.restored))}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean})],g.prototype,"narrow",void 0),(0,a.Cg)([(0,o.MZ)({attribute:"is-wide",type:Boolean})],g.prototype,"isWide",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"cloudStatus",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"scripts",void 0),g=(0,a.Cg)([(0,o.EM)("ha-config-script")],g),s()}catch(u){s(u)}})},21475:function(t,i,e){e.a(t,async function(t,i){try{e(89463),e(16280),e(18111),e(20116),e(61701),e(13579),e(3362),e(62953);var s=e(40445),a=(e(68825),e(5124)),o=e(67576),l=e(6412),n=e(17079),r=e(1087),h=e(91926),d=e(80880),c=e(7553),p=e(18350),u=e(29823),g=(e(70947),e(26300)),_=(e(67094),e(10763)),f=e(35891),v=e(12596),y=e(22675),m=e(59241),b=e(84025),$=e(65063),w=e(42269),C=e(81310),A=e(79172),H=e(39359),k=e(54706),V=e(14503),M=e(41570),x=e(49053),z=e(37325),L=e(64265),q=e(60109),S=e(55270),R=e(98677),I=e(70043),O=e(84042),E=t([p,u,g,_,C,R,O,I]);[p,u,g,_,C,R,O,I]=E.then?(await E)():E;let Z,j,F,P,U,B,D,T,W,N,Y,G,K,X,J,Q,tt,it,et,st,at,ot=t=>t;const lt="M6,2A4,4 0 0,1 10,6V8H14V6A4,4 0 0,1 18,2A4,4 0 0,1 22,6A4,4 0 0,1 18,10H16V14H18A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18V16H10V18A4,4 0 0,1 6,22A4,4 0 0,1 2,18A4,4 0 0,1 6,14H8V10H6A4,4 0 0,1 2,6A4,4 0 0,1 6,2M16,18A2,2 0 0,0 18,20A2,2 0 0,0 20,18A2,2 0 0,0 18,16H16V18M14,10H10V14H14V10M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18V16H6M8,6A2,2 0 0,0 6,4A2,2 0 0,0 4,6A2,2 0 0,0 6,8H8V6M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6V8H18Z",nt="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",rt="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",ht="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",dt="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",ct="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",pt="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",ut="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",gt="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",_t="M8,5.14V19.14L19,12.14L8,5.14Z",ft="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",vt="M16,8H14V11H11V13H14V16H16V13H19V11H16M2,12C2,9.21 3.64,6.8 6,5.68V3.5C2.5,4.76 0,8.09 0,12C0,15.91 2.5,19.24 6,20.5V18.32C3.64,17.2 2,14.79 2,12M15,3C10.04,3 6,7.04 6,12C6,16.96 10.04,21 15,21C19.96,21 24,16.96 24,12C24,7.04 19.96,3 15,3M15,19C11.14,19 8,15.86 8,12C8,8.14 11.14,5 15,5C18.86,5 22,8.14 22,12C22,15.86 18.86,19 15,19Z",yt="M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z",mt="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",bt="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",$t="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",wt="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",Ct="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z";class At extends((0,k.E)((0,I.j)((0,H._)((0,A.b)(a.WF))))){willUpdate(t){if(super.willUpdate(t),this.entityRegCreated&&this._newScriptId&&t.has("entityRegistry")){var i;const t=null===(i=this.entityRegistry)||void 0===i?void 0:i.find(t=>"script"===t.platform&&t.unique_id===this._newScriptId);t&&(this.entityRegCreated(t),this.entityRegCreated=void 0)}}render(){var t;if(!this.config)return this.renderLoading();const i=this.currentEntityId?this.hass.states[this.currentEntityId]:void 0,e="use_blueprint"in this.config,s=M.c?(0,a.qy)(Z||(Z=ot`<ha-svg-icon .path="${0}"></ha-svg-icon>`),lt):this.hass.localize("ui.panel.config.automation.editor.ctrl");return(0,a.qy)(j||(j=ot` <hass-subpage .hass="${0}" .narrow="${0}" .route="${0}" .backCallback="${0}" .header="${0}"> ${0} ${0} <ha-dropdown slot="toolbar-icon" @wa-select="${0}"> <ha-icon-button slot="trigger" .label="${0}" .path="${0}"></ha-icon-button> ${0} <ha-dropdown-item .disabled="${0}" value="info"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> <ha-dropdown-item .disabled="${0}" value="settings"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> <ha-dropdown-item .disabled="${0}" value="category"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> <ha-dropdown-item .disabled="${0}" value="run"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> ${0} ${0} <ha-dropdown-item value="rename" .disabled="${0}"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> ${0} <ha-dropdown-item .disabled="${0}" value="duplicate"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> ${0} <ha-dropdown-item value="toggle_yaml_mode"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> <wa-divider></wa-divider> <ha-dropdown-item .disabled="${0}" value="delete" .variant="${0}"> ${0} <ha-svg-icon class="${0}" slot="icon" .path="${0}"> </ha-svg-icon> </ha-dropdown-item> </ha-dropdown> <div class="${0}"> ${0} </div> </hass-subpage> `),this.hass,this.narrow,this.route,this.backTapped,this.config.alias||this.hass.localize("ui.panel.config.script.editor.default_name"),"gui"!==this.mode||this.narrow?a.s6:(0,a.qy)(F||(F=ot`<ha-icon-button slot="toolbar-icon" .label="${0}" .path="${0}" @click="${0}" .disabled="${0}" id="button-undo"> </ha-icon-button> <ha-tooltip placement="bottom" for="button-undo"> ${0} <span class="shortcut"> (<span>${0}</span> <span>+</span> <span>Z</span>) </span> </ha-tooltip> <ha-icon-button slot="toolbar-icon" .label="${0}" .path="${0}" @click="${0}" .disabled="${0}" id="button-redo"> </ha-icon-button> <ha-tooltip placement="bottom" for="button-redo"> ${0} <span class="shortcut">( ${0}) </span> </ha-tooltip>`),this.hass.localize("ui.common.undo"),Ct,this._undo,!this._undoRedoController.canUndo,this.hass.localize("ui.common.undo"),s,this.hass.localize("ui.common.redo"),yt,this._redo,!this._undoRedoController.canRedo,this.hass.localize("ui.common.redo"),M.c?(0,a.qy)(P||(P=ot`<span>${0}</span> <span>+</span> <span>Shift</span> <span>+</span> <span>Z</span>`),s):(0,a.qy)(U||(U=ot`<span>${0}</span> <span>+</span> <span>Y</span>`),s)),this.scriptId&&!this.narrow?(0,a.qy)(B||(B=ot` <ha-button appearance="plain" @click="${0}" slot="toolbar-icon"> ${0} </ha-button> `),this._showTrace,this.hass.localize("ui.panel.config.script.editor.show_trace")):"",this._handleDropdownSelect,this.hass.localize("ui.common.menu"),ct,"gui"===this.mode&&this.narrow?(0,a.qy)(D||(D=ot`<ha-dropdown-item value="undo" .disabled="${0}"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> <ha-dropdown-item value="redo" .disabled="${0}"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item>`),!this._undoRedoController.canUndo,this.hass.localize("ui.common.undo"),Ct,!this._undoRedoController.canRedo,this.hass.localize("ui.common.redo"),yt):a.s6,!this.scriptId,this.hass.localize("ui.panel.config.script.editor.show_info"),gt,!i,this.hass.localize("ui.panel.config.automation.picker.show_settings"),nt,!i,this.hass.localize("ui.panel.config.scene.picker."+(null!==(t=this.registryEntry)&&void 0!==t&&null!==(t=t.categories)&&void 0!==t&&t.script?"edit_category":"assign_category")),$t,!this.scriptId,this.hass.localize("ui.panel.config.script.picker.run_script"),_t,this.scriptId&&this.narrow?(0,a.qy)(T||(T=ot`<ha-dropdown-item value="trace"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item>`),this.hass.localize("ui.panel.config.automation.editor.show_trace"),wt):a.s6,e||"fields"in this.config?a.s6:(0,a.qy)(W||(W=ot` <ha-dropdown-item .disabled="${0}" value="add_fields"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> `),this.readOnly||"yaml"===this.mode,this.hass.localize("ui.panel.config.script.editor.field.add_fields"),ut),!this.scriptId||this.readOnly||"yaml"===this.mode,this.hass.localize("ui.panel.config.script.editor.rename"),mt,e?a.s6:(0,a.qy)(N||(N=ot` <ha-dropdown-item value="change_mode" .disabled="${0}"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> `),this.readOnly||"yaml"===this.mode,this.hass.localize("ui.panel.config.script.editor.change_mode"),ht),!!this.blueprintConfig||!this.readOnly&&!this.scriptId,this.hass.localize(this.readOnly?"ui.panel.config.script.editor.migrate":"ui.panel.config.script.editor.duplicate"),vt,e?(0,a.qy)(Y||(Y=ot` <ha-dropdown-item value="take_control" .disabled="${0}"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-dropdown-item> `),this.readOnly,this.hass.localize("ui.panel.config.script.editor.take_control"),pt):a.s6,this.hass.localize("ui.panel.config.automation.editor.edit_"+("gui"===this.mode?"yaml":"ui")),ft,this.readOnly||!this.scriptId,this.scriptId?"danger":"default",this.hass.localize("ui.panel.config.script.picker.delete"),(0,l.H)({warning:Boolean(this.scriptId)}),dt,"yaml"===this.mode?"yaml-mode":"","gui"===this.mode?(0,a.qy)(G||(G=ot` <div> ${0} </div> `),e?(0,a.qy)(K||(K=ot` <blueprint-script-editor .hass="${0}" .narrow="${0}" .isWide="${0}" .config="${0}" .disabled="${0}" .saving="${0}" .dirty="${0}" @value-changed="${0}" @save-script="${0}"></blueprint-script-editor> `),this.hass,this.narrow,this.isWide,this.config,this.readOnly,this.saving,this.dirty,this._valueChanged,this._handleSaveScript):(0,a.qy)(X||(X=ot` <manual-script-editor .hass="${0}" .narrow="${0}" .isWide="${0}" .config="${0}" .disabled="${0}" .dirty="${0}" .saving="${0}" @value-changed="${0}" @editor-save="${0}" @save-script="${0}"> <div class="alert-wrapper" slot="alerts"> ${0} ${0} </div> </manual-script-editor> `),this.hass,this.narrow,this.isWide,this.config,this.readOnly,this.dirty,this.saving,this._valueChanged,this._handleSaveScript,this._handleSaveScript,this.errors||(null==i?void 0:i.state)===y.Hh?(0,a.qy)(J||(J=ot`<ha-alert alert-type="error" .title="${0}"> ${0} ${0} </ha-alert>`),(null==i?void 0:i.state)===y.Hh?this.hass.localize("ui.panel.config.script.editor.unavailable"):void 0,this.errors||this.validationErrors,(null==i?void 0:i.state)===y.Hh?(0,a.qy)(Q||(Q=ot`<ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon>`),bt):a.s6):a.s6,this.blueprintConfig?(0,a.qy)(tt||(tt=ot`<ha-alert alert-type="info"> ${0} <div slot="action" style="display:flex"> <ha-button appearance="plain" @click="${0}">${0}</ha-button> <ha-button appearance="plain" @click="${0}">${0}</ha-button> </div> </ha-alert>`),this.hass.localize("ui.panel.config.script.editor.confirm_take_control"),this.takeControlSave,this.hass.localize("ui.common.yes"),this.revertBlueprint,this.hass.localize("ui.common.no")):this.readOnly?(0,a.qy)(it||(it=ot`<ha-alert alert-type="warning" dismissable>${0} <ha-button appearance="plain" slot="action" @click="${0}"> ${0} </ha-button> </ha-alert>`),this.hass.localize("ui.panel.config.script.editor.read_only"),this._duplicate,this.hass.localize("ui.panel.config.script.editor.migrate")):a.s6)):"yaml"===this.mode?(0,a.qy)(et||(et=ot`<ha-yaml-editor .defaultValue="${0}" .readOnly="${0}" disable-fullscreen @value-changed="${0}" @editor-save="${0}"></ha-yaml-editor> <ha-button slot="fab" size="large" class="${0}" .disabled="${0}" @click="${0}"> <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> ${0} </ha-button>`),this._preprocessYaml(),this.readOnly,this._yamlChanged,this._handleSaveScript,!this.readOnly&&this.dirty?"dirty":"",this.saving,this._handleSaveScript,rt,this.hass.localize("ui.common.save")):a.s6)}_setEntityId(){if(!this.entityRegistry)return;const t=this.entityRegistry.find(t=>"script"===t.platform&&t.unique_id===this.scriptId);this.currentEntityId=null==t?void 0:t.entity_id}updated(t){super.updated(t);const i=t.get("scriptId");if(!t.has("scriptId")||!this.scriptId||this.entityId||!this.hass||i&&i===this.scriptId||(this._setEntityId(),this.loadConfig(this.scriptId)),(t.has("scriptId")||t.has("entityRegistry"))&&this.scriptId&&this.entityRegistry&&this._setEntityId(),t.has("scriptId")&&!this.scriptId&&this.hass){const t=(0,b.NX)();this.dirty=!!t;const i={};t&&"use_blueprint"in t||(i.sequence=[]),this.config=Object.assign(Object.assign({},i),t),this.readOnly=!1}if(t.has("entityId")&&this.entityId){var e;(0,b.R$)(this.hass,this.entityId).then(t=>{this.config=(0,b.nB)(t.config),this._checkValidation()});const t=null===(e=this.entityRegistry)||void 0===e?void 0:e.find(t=>t.entity_id===this.entityId);null!=t&&t.unique_id&&(this.scriptId=t.unique_id),this.currentEntityId=this.entityId,this.dirty=!1,this.readOnly=!0}}async _checkValidation(){if(this.validationErrors=void 0,!this.currentEntityId||!this.config)return;const t=this.hass.states[this.currentEntityId];if((null==t?void 0:t.state)!==y.Hh)return;const i=await(0,v.$)(this.hass,{actions:this.config.sequence});this.validationErrors=Object.entries(i).map(([t,i])=>i.valid?"":(0,a.qy)(st||(st=ot`${0}: ${0}<br>`),this.hass.localize(`ui.panel.config.automation.editor.${t}.name`),i.error))}_valueChanged(t){this.config&&this._undoRedoController.commit(this.config),this.config=t.detail.value,this.errors=void 0,this.dirty=!0}async _runScript(){(0,b.TP)(this.hass,this.currentEntityId)?(0,w.p)(this,{entityId:this.currentEntityId}):(await(0,b.kR)(this.hass,this.scriptId),(0,x.c)(this,{message:this.hass.localize("ui.notification_toast.triggered",{name:this.config.alias})}))}_editCategory(){this.registryEntry?(0,S.j)(this,{scope:"script",entityReg:this.registryEntry}):(0,$.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")})}_computeEntityIdFromAlias(t){const i=(0,d.Y)(t);let e=i,s=2;for(;this._idIsUsed(e);)e=`${i}_${s}`,s++;return e}_idIsUsed(t){var i,e;return`script.${t}`in this.hass.states||null!==(i=null===(e=this.entityRegistry)||void 0===e?void 0:e.some(i=>i.unique_id===t))&&void 0!==i&&i}async _showInfo(){var t;if(!this.scriptId)return;const i=null===(t=this.entityRegistry)||void 0===t?void 0:t.find(t=>t.unique_id===this.scriptId);i&&(0,r.r)(this,"hass-more-info",{entityId:i.entity_id})}async _showTrace(){if(this.scriptId){await this.confirmUnsavedChanged()&&(0,h.oo)(`/config/script/trace/${this.scriptId}`)}}_addFields(){var t;"fields"in this.config||(this.config&&this._undoRedoController.commit(this.config),null===(t=this._manualEditor)||void 0===t||t.addFields(),this.dirty=!0)}_preprocessYaml(){return this.config}_yamlChanged(t){t.stopPropagation(),this.dirty=!0,t.detail.isValid?(this.yamlErrors=void 0,this.config=t.detail.value,this.errors=void 0):this.yamlErrors=t.detail.errorMsg}async confirmUnsavedChanged(){return!this.dirty||new Promise(t=>{(0,L._)(this,{config:this.config,domain:"script",updateConfig:async(i,e)=>{this.config=i,this.entityRegistryUpdate=e,this.dirty=!0,this.requestUpdate();const s=this.scriptId||String(Date.now());try{await this._saveScript(s)}catch(a){return this.requestUpdate(),void t(!1)}t(!0)},onClose:()=>t(!1),onDiscard:()=>t(!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})})}async _takeControl(){const t=this.config;try{const e=await(0,f.oz)(this.hass,"script",t.use_blueprint.path,t.use_blueprint.input||{}),s=Object.assign(Object.assign({},(0,b.nB)(e.substituted_config)),{},{alias:t.alias,description:t.description});var i;if(this.blueprintConfig=t,this.config=s,"yaml"===this.mode)null===(i=this._yamlEditor)||void 0===i||i.setValue(this.config);this.readOnly=!0,this.errors=void 0}catch(e){this.errors=e.message}}async _duplicate(){var t,i;(this.readOnly?await(0,$.dk)(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.currentEntityId=void 0,(0,b.AM)(Object.assign(Object.assign({},this.config),{},{alias:this.readOnly?null===(t=this.config)||void 0===t?void 0:t.alias:`${null===(i=this.config)||void 0===i?void 0:i.alias} (${this.hass.localize("ui.panel.config.script.picker.duplicate")})`})))}async _deleteConfirm(){var t;(0,$.dk)(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:null===(t=this.config)||void 0===t?void 0:t.alias}),confirmText:this.hass.localize("ui.common.delete"),destructive:!0,dismissText:this.hass.localize("ui.common.cancel"),confirm:()=>this._delete()})}async _delete(){await(0,b.Ht)(this.hass,this.scriptId),(0,h.OE)("/config")}async _promptScriptAlias(){return new Promise(t=>{var i;(0,L._)(this,{config:this.config,domain:"script",updateConfig:async(i,e)=>{this.config=i,this.entityRegistryUpdate=e,this.dirty=!0,this.requestUpdate(),t(!0)},onClose:()=>t(!1),entityRegistryUpdate:this.entityRegistryUpdate,entityRegistryEntry:null===(i=this.entityRegistry)||void 0===i?void 0:i.find(t=>t.unique_id===this.scriptId)})})}async _promptScriptMode(){return new Promise(t=>{(0,z.e)(this,{config:this.config,updateConfig:i=>{this.config=i,this.dirty=!0,this.requestUpdate(),t()},onClose:()=>t()})})}async _handleSaveScript(){var t;if(this.yamlErrors)return void(0,x.c)(this,{message:this.yamlErrors});if(null===(t=this._manualEditor)||void 0===t||t.resetPastedConfig(),!this.scriptId){if(!(await this._promptScriptAlias()))return;this.currentEntityId=this._computeEntityIdFromAlias(this.config.alias)}const i=this.scriptId||this.currentEntityId||Date.now();await this._saveScript(i),this.scriptId||(0,h.oo)(`/config/script/edit/${i}`,{replace:!0})}async _saveScript(t){let i;this.saving=!0,void 0===this.entityRegistryUpdate||this.scriptId||(this._newScriptId=t.toString(),i=new Promise(t=>{this.entityRegCreated=t}));try{if(await this.hass.callApi("POST","config/script/config/"+t,this.config),void 0!==this.entityRegistryUpdate){let t=this.currentEntityId;if(i)try{t=(await(0,c.h)(5e3,i)).entity_id}catch(a){if(t=void 0,!(a instanceof Error&&"TimeoutError"===a.name))throw a;await(0,q.j)(this,{savedPromise:i,type:"script"});try{t=(await(0,c.h)(0,i)).entity_id}catch(o){if(!(o instanceof Error&&"TimeoutError"===o.name))throw o}}t&&await(0,m.G_)(this.hass,t,{categories:{script:this.entityRegistryUpdate.category||null},labels:this.entityRegistryUpdate.labels||[],area_id:this.entityRegistryUpdate.area||null})}this.dirty=!1}catch(l){var e,s;throw this.errors=(null===(e=l.body)||void 0===e?void 0:e.message)||l.error||l.body,(0,x.c)(this,{message:(null===(s=l.body)||void 0===s?void 0:s.message)||l.error||l.body}),l}finally{this.saving=!1}}supportedShortcuts(){return{s:()=>this._handleSaveScript(),c:()=>this._copySelectedRow(),x:()=>this._cutSelectedRow(),Delete:()=>this._deleteSelectedRow(),Backspace:()=>this._deleteSelectedRow(),z:()=>this._undo(),Z:()=>this._redo(),y:()=>this._redo()}}_collapseAll(){var t;null===(t=this._manualEditor)||void 0===t||t.collapseAll()}_expandAll(){var t;null===(t=this._manualEditor)||void 0===t||t.expandAll()}_copySelectedRow(){var t;null===(t=this._manualEditor)||void 0===t||t.copySelectedRow()}_cutSelectedRow(){var t;null===(t=this._manualEditor)||void 0===t||t.cutSelectedRow()}_deleteSelectedRow(){var t;null===(t=this._manualEditor)||void 0===t||t.deleteSelectedRow()}_applyUndoRedo(t){var i;null===(i=this._manualEditor)||void 0===i||i.triggerCloseSidebar(),this.config=t,this.dirty=!0}_undo(){this._undoRedoController.undo()}_redo(){this._undoRedoController.redo()}_handleDropdownSelect(t){var i;const e=null===(i=t.detail)||void 0===i||null===(i=i.item)||void 0===i?void 0:i.value;if(e)switch(e){case"undo":this._undo();break;case"redo":this._redo();break;case"info":this._showInfo();break;case"settings":this.showSettings();break;case"category":this._editCategory();break;case"run":this._runScript();break;case"add_fields":this._addFields();break;case"rename":this._promptScriptAlias();break;case"change_mode":this._promptScriptMode();break;case"duplicate":this._duplicate();break;case"take_control":this._takeControl();break;case"toggle_yaml_mode":if("gui"===this.mode){this.switchYamlMode();break}this.switchUiMode();break;case"delete":this._deleteConfirm();break;case"trace":this._showTrace()}}static get styles(){return[V.RF,I.m,(0,a.AH)(at||(at=ot`blueprint-script-editor,manual-script-editor{margin:0 auto;max-width:1040px;padding:28px 20px 0;display:block}:not(.yaml-mode)>.error-wrapper{position:absolute;top:4px;z-index:3;width:100%;display:flex;flex-direction:column;align-items:center}:not(.yaml-mode)>.error-wrapper ha-alert{background-color:var(--card-background-color);box-shadow:0 2px 4px rgba(0,0,0,.2);border-radius:var(--ha-border-radius-sm)}.alert-wrapper{position:sticky;top:0;margin-top:0;margin-bottom:8px;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--ha-space-2);pointer-events:none}.alert-wrapper ha-alert{background-color:var(--card-background-color);box-shadow:0 2px 4px rgba(0,0,0,.2);border-radius:var(--ha-border-radius-sm);margin-bottom:0;pointer-events:auto}manual-script-editor{max-width:var(--ha-automation-editor-max-width);padding:0 12px}span[slot=introduction] a{color:var(--primary-color)}.header{display:flex;margin:16px 0;align-items:center}.header .name{font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-normal);flex:1}.header a{color:var(--secondary-text-color)}`))]}constructor(...t){super(...t),this.scriptId=null,this.domainHooks={domain:"script",fetchFileConfig:b.Kq,normalizeConfig:b.nB,checkValidation:()=>this._checkValidation()},this._undoRedoController=new n.X(this,{apply:t=>this._applyUndoRedo(t),currentConfig:()=>this.config})}}(0,s.Cg)([(0,o.MZ)({attribute:!1})],At.prototype,"scriptId",void 0),(0,s.Cg)([(0,o.P)("manual-script-editor")],At.prototype,"_manualEditor",void 0),(0,s.Cg)([(0,o.P)("ha-yaml-editor")],At.prototype,"_yamlEditor",void 0),At=(0,s.Cg)([(0,o.EM)("ha-script-editor")],At),i()}catch(Z){i(Z)}})},17625:function(t,i,e){e.a(t,async function(t,i){try{e(89463),e(74423),e(3362),e(42762),e(62953);var s=e(40445),a=e(5124),o=e(67576),l=e(6412),n=e(1087),r=e(99124),h=e(57237),d=e(53516),c=e(56214),p=(e(76776),e(29823)),u=(e(70947),e(84383)),g=e(65063),_=e(41570),f=e(49053),v=e(57116),y=e(50940),m=t([c,p,y]);[c,p,y]=m.then?(await m)():m;let b,$,w,C,A,H,k,V,M,x=t=>t;const z="M6,2A4,4 0 0,1 10,6V8H14V6A4,4 0 0,1 18,2A4,4 0 0,1 22,6A4,4 0 0,1 18,10H16V14H18A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18V16H10V18A4,4 0 0,1 6,22A4,4 0 0,1 2,18A4,4 0 0,1 6,14H8V10H6A4,4 0 0,1 2,6A4,4 0 0,1 6,2M16,18A2,2 0 0,0 18,20A2,2 0 0,0 20,18A2,2 0 0,0 18,16H16V18M14,10H10V14H14V10M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18V16H6M8,6A2,2 0 0,0 6,4A2,2 0 0,0 4,6A2,2 0 0,0 6,8H8V6M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6V8H18Z",L="M9 22C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9M10 16V19.08L13.08 16H20V4H4V16H10M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z",q="M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M6,7H18V9H6V7M6,11H15V13H6V11Z",S="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",R="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",I="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";class O extends a.WF{render(){var t,i,e;const s=this.field.selector&&"object"==typeof this.field.selector,o=(0,d.C)((null===(t=this.field.description)||void 0===t?void 0:t.trim())||"",250);return(0,a.qy)(b||(b=x` <ha-card outlined> <ha-automation-row .disabled="${0}" @click="${0}" .selected="${0}" .leftChevron="${0}" @toggle-collapsed="${0}" .collapsed="${0}" .highlight="${0}" @delete-row="${0}"> <ha-dropdown slot="icons" @click="${0}" @keydown="${0}" @wa-select="${0}" placement="bottom-end"> <ha-icon-button slot="trigger" .label="${0}" .path="${0}"></ha-icon-button> <ha-dropdown-item value="edit_note"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> ${0} </ha-dropdown-item> <ha-dropdown-item value="toggle_yaml_mode"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> <div class="overflow-label"> ${0} <span class="shortcut-placeholder ${0}"></span> </div> </ha-dropdown-item> <ha-dropdown-item value="delete" .disabled="${0}" variant="danger"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> <div class="overflow-label"> ${0} ${0} </div> </ha-dropdown-item> </ha-dropdown> <h3 slot="header"> ${0} ${0} </h3> <slot name="icons" slot="icons"></slot> </ha-automation-row> </ha-card> ${0} `),this.disabled,this._toggleSidebar,this._selected,s,this._toggleCollapse,this._collapsed,this.highlight,this._onDelete,r.C,h.d,this._handleDropdownSelect,this.hass.localize("ui.common.menu"),R,L,this.hass.localize("ui.panel.config.automation.editor.note."+(this.field.description?"edit":"add")),I,this.hass.localize("ui.panel.config.automation.editor.edit_"+(this._yamlMode?"ui":"yaml")),_.c?"mac":"",this.disabled,S,this.hass.localize("ui.panel.config.automation.editor.actions.delete"),this.narrow?a.s6:(0,a.qy)($||($=x`<span class="shortcut"> <span>${0}</span> <span>+</span> <span>${0}</span> </span>`),_.c?(0,a.qy)(w||(w=x`<ha-svg-icon .path="${0}"></ha-svg-icon>`),z):this.hass.localize("ui.panel.config.automation.editor.ctrl"),this.hass.localize("ui.panel.config.automation.editor.del")),null!==(i=this.field.name)&&void 0!==i?i:this.key,null!==(e=this.field.description)&&void 0!==e&&e.trim()?(0,a.qy)(C||(C=x` <ha-svg-icon id="note-icon" tabindex="0" .path="${0}" .label="${0}" class="note-indicator"></ha-svg-icon> <ha-tooltip for="note-icon"><p>${0}</p></ha-tooltip> `),q,this.hass.localize("ui.panel.config.automation.editor.note.label"),o):a.s6,s?(0,a.qy)(A||(A=x` <div class="${0}"> <ha-card> <ha-automation-row .selected="${0}" @click="${0}" .collapsed="${0}" @toggle-collapsed="${0}" .leftChevron="${0}" .highlight="${0}"> <h3 slot="header"> ${0} ${0} </h3> <ha-dropdown slot="icons" @click="${0}" @keydown="${0}" @wa-select="${0}" placement="bottom-end"> <ha-icon-button slot="trigger" .label="${0}" .path="${0}"></ha-icon-button> <ha-dropdown-item value="toggle_yaml_mode" selector-row> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> <div class="overflow-label"> ${0} <span class="shortcut-placeholder ${0}"></span> </div> </ha-dropdown-item> <ha-dropdown-item value="delete" .disabled="${0}" variant="danger"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> <div class="overflow-label"> ${0} ${0} </div> </ha-dropdown-item> </ha-dropdown> </ha-automation-row> </ha-card> ${0} </div> `),(0,l.H)({"selector-row":!0,"parent-selected":this._selected,hidden:this._collapsed}),this._selectorRowSelected,this._toggleSelectorSidebar,this._selectorRowCollapsed,this._toggleSelectorRowCollapse,u.W.includes(Object.keys(this.field.selector)[0]),this.highlight,this.hass.localize(`ui.components.selectors.selector.types.${Object.keys(this.field.selector)[0]}`),this.hass.localize("ui.panel.config.script.editor.field.selector"),r.C,h.d,this._handleDropdownSelect,this.hass.localize("ui.common.menu"),R,I,this.hass.localize("ui.panel.config.automation.editor.edit_"+(this._yamlMode?"ui":"yaml")),_.c?"mac":"",this.disabled,S,this.hass.localize("ui.panel.config.automation.editor.actions.delete"),this.narrow?a.s6:(0,a.qy)(H||(H=x`<span class="shortcut"> <span>${0}</span> <span>+</span> <span>${0}</span> </span>`),_.c?(0,a.qy)(k||(k=x`<ha-svg-icon .path="${0}"></ha-svg-icon>`),z):this.hass.localize("ui.panel.config.automation.editor.ctrl"),this.hass.localize("ui.panel.config.automation.editor.del")),"object"==typeof this.field.selector&&u.W.includes(Object.keys(this.field.selector)[0])?(0,a.qy)(V||(V=x` <ha-script-field-selector-editor class="${0}" .selected="${0}" .hass="${0}" .field="${0}" .disabled="${0}" indent @value-changed="${0}" .narrow="${0}"></ha-script-field-selector-editor> `),this._selectorRowCollapsed?"hidden":"",this._selectorRowSelected,this.hass,this.field,this.disabled,this._selectorValueChanged,this.narrow):a.s6):a.s6)}_toggleCollapse(){this._collapsed=!this._collapsed}expand(){this._collapsed=!1}collapse(){this._collapsed=!0}expandSelectorRow(){this._selectorRowCollapsed=!1}collapseSelectorRow(){this._selectorRowCollapsed=!0}_toggleSelectorRowCollapse(){this._selectorRowCollapsed=!this._selectorRowCollapsed}expandAll(){var t;this.expand(),this.expandSelectorRow(),null===(t=this._selectorEditor)||void 0===t||t.expandAll()}collapseAll(){var t;this.collapse(),this.collapseSelectorRow(),null===(t=this._selectorEditor)||void 0===t||t.collapseAll()}_toggleSidebar(t){null==t||t.stopPropagation(),this._selected?(0,n.r)(this,"request-close-sidebar"):(this._selected=!0,this._collapsed=!1,this.openSidebar())}_toggleSelectorSidebar(t){null==t||t.stopPropagation(),this._selectorRowSelected?(0,n.r)(this,"request-close-sidebar"):(this._selectorRowSelected=!0,this._selectorRowCollapsed=!1,this.openSidebar(!0))}_selectorValueChanged(t){t.stopPropagation(),(0,n.r)(this,"value-changed",{value:Object.assign(Object.assign({},this.field),{},{key:this.key},t.detail.value)})}openSidebar(t=!1,i){t||(this._selected=!0);const e=null!=i?i:this.field;(0,n.r)(this,"open-sidebar",{save:t=>{(0,n.r)(this,"value-changed",{value:t})},close:i=>{t?(this._selectorRowSelected=!1,i&&this.focusSelector()):(this._selected=!1,i&&this.focus()),(0,n.r)(this,"close-sidebar")},toggleYamlMode:()=>{this._toggleYamlMode(),this.openSidebar()},delete:this._onDelete,config:{field:e,selector:t,key:this.key,excludeKeys:this.excludeKeys},yamlMode:this._yamlMode,editNote:this._editNote}),this.narrow&&window.setTimeout(()=>{this.scrollIntoView({block:"start",behavior:"smooth"})},180)}focus(){var t;null===(t=this._fieldRowElement)||void 0===t||t.focus()}focusSelector(){var t;null===(t=this._selectorRowElement)||void 0===t||t.focus()}_handleDropdownSelect(t){var i;const e=null===(i=t.detail)||void 0===i||null===(i=i.item)||void 0===i?void 0:i.value;if(e)switch(e){case"toggle_yaml_mode":this._toggleYamlMode(t.target);break;case"delete":this._onDelete();break;case"edit_note":this._editNote()}}static get styles(){return[v.bH,v.aM,v.Lt,(0,a.AH)(M||(M=x`.selector-row{padding-top:12px;padding-bottom:16px;padding-inline-start:16px;padding-inline-end:0px}`))]}constructor(...t){super(...t),this.excludeKeys=[],this.disabled=!1,this.narrow=!1,this._yamlMode=!1,this._selected=!1,this._collapsed=!1,this._selectorRowSelected=!1,this._selectorRowCollapsed=!1,this._editNote=async()=>{const t=await(0,g.an)(this,{title:this.hass.localize("ui.panel.config.automation.editor.note."+(this.field.description?"edit":"add")),inputLabel:this.hass.localize("ui.panel.config.automation.editor.note.label"),inputType:"string",defaultValue:this.field.description,confirmText:this.hass.localize("ui.common.submit"),multiline:!0});if(null!==t){const i=Object.assign({},this.field);""===t?delete i.description:i.description=t,(0,n.r)(this,"value-changed",{value:i}),this._selected&&this.openSidebar(!1,i)}},this._toggleYamlMode=t=>{this._yamlMode=!this._yamlMode,t&&this.openSidebar(t.hasAttribute("selector-row"))},this._onDelete=()=>{(0,n.r)(this,"value-changed",{value:null}),(this._selected||this._selectorRowSelected)&&(0,n.r)(this,"close-sidebar"),(0,f.c)(this,{message:this.hass.localize("ui.common.successfully_deleted"),duration:4e3,action:{text:this.hass.localize("ui.common.undo"),action:()=>{(0,n.r)(window,"undo-change")}}})}}}(0,s.Cg)([(0,o.MZ)({attribute:!1})],O.prototype,"hass",void 0),(0,s.Cg)([(0,o.MZ)()],O.prototype,"key",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],O.prototype,"excludeKeys",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],O.prototype,"field",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],O.prototype,"disabled",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],O.prototype,"narrow",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],O.prototype,"highlight",void 0),(0,s.Cg)([(0,o.wk)()],O.prototype,"_yamlMode",void 0),(0,s.Cg)([(0,o.wk)()],O.prototype,"_selected",void 0),(0,s.Cg)([(0,o.wk)()],O.prototype,"_collapsed",void 0),(0,s.Cg)([(0,o.wk)()],O.prototype,"_selectorRowSelected",void 0),(0,s.Cg)([(0,o.wk)()],O.prototype,"_selectorRowCollapsed",void 0),(0,s.Cg)([(0,o.P)("ha-script-field-selector-editor")],O.prototype,"_selectorEditor",void 0),(0,s.Cg)([(0,o.P)("ha-automation-row:first-of-type")],O.prototype,"_fieldRowElement",void 0),(0,s.Cg)([(0,o.P)(".selector-row ha-automation-row")],O.prototype,"_selectorRowElement",void 0),O=(0,s.Cg)([(0,o.EM)("ha-script-field-row")],O),i()}catch(b){i(b)}})},95415:function(t,i,e){e.a(t,async function(t,i){try{e(18111),e(22489),e(7588),e(61701),e(62953);var s=e(40445),a=e(5124),o=e(67576),l=e(1087),n=e(18350),r=(e(67094),e(17625)),h=t([n,r]);[n,r]=h.then?(await h)():h;let d,c,p,u,g=t=>t;const _="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";class f extends a.WF{render(){return(0,a.qy)(d||(d=g` ${0} <ha-button @click="${0}" .disabled="${0}"> <ha-svg-icon .path="${0}" slot="start"></ha-svg-icon> ${0} </ha-button> `),this.fields?(0,a.qy)(c||(c=g`<div class="fields"> ${0} </div> `),Object.entries(this.fields).map(([t,i])=>{var e;return(0,a.qy)(p||(p=g` <ha-script-field-row .key="${0}" .excludeKeys="${0}" .field="${0}" .disabled="${0}" @value-changed="${0}" .hass="${0}" .highlight="${0}" .narrow="${0}"> </ha-script-field-row> `),t,Object.keys(this.fields).filter(i=>i!==t),i,this.disabled,this._fieldChanged,this.hass,void 0!==(null===(e=this.highlightedFields)||void 0===e?void 0:e[t]),this.narrow)})):a.s6,this._addField,this.disabled,_,this.hass.localize("ui.panel.config.script.editor.field.add_field"))}updated(t){super.updated(t),t.has("fields")&&this._focusLastActionOnChange&&(this._focusLastActionOnChange=!1,this.focusLastField())}focusLastField(){const t=this.shadowRoot.querySelector("ha-script-field-row:last-of-type");t.updateComplete.then(()=>{t.openSidebar(),t.focus(),this.narrow&&window.setTimeout(()=>{t.scrollIntoView({block:"start",behavior:"smooth"})},180)})}_addField(){const t=this._getUniqueKey(this.hass.localize("ui.panel.config.script.editor.field.field")||"field",this.fields||{}),i=Object.assign(Object.assign({},this.fields||{}),{},{[t]:{selector:{text:null}}});this._focusLastActionOnChange=!0,(0,l.r)(this,"value-changed",{value:i})}_fieldChanged(t){t.stopPropagation();const i=t.target.key;let e={};if(null===t.detail.value)e=Object.assign({},this.fields),delete e[i];else{const s=Object.assign({},t.detail.value),a=s.key;delete s.key;i!==a?Object.entries(this.fields).forEach(([t,o])=>{t===i?e[a]=s:e[t]=o}):(e=Object.assign({},this.fields),e[i]=s)}(0,l.r)(this,"value-changed",{value:e})}_getUniqueKey(t,i){let e=t;if(t in i){let s=2;do{e=`${t}_${s}`,s++}while(e in i)}return e}expandAll(){var t;null===(t=this._fieldRowElements)||void 0===t||t.forEach(t=>{t.expandAll()})}collapseAll(){var t;null===(t=this._fieldRowElements)||void 0===t||t.forEach(t=>{t.collapseAll()})}constructor(...t){super(...t),this.disabled=!1,this.narrow=!1,this._focusLastActionOnChange=!1}}f.styles=(0,a.AH)(u||(u=g`ha-script-field-row{display:block;margin-bottom:16px;scroll-margin-top:48px}ha-svg-icon{height:20px}`)),(0,s.Cg)([(0,o.MZ)({attribute:!1})],f.prototype,"hass",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],f.prototype,"disabled",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],f.prototype,"fields",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],f.prototype,"highlightedFields",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],f.prototype,"narrow",void 0),(0,s.Cg)([(0,o.YG)("ha-script-field-row")],f.prototype,"_fieldRowElements",void 0),f=(0,s.Cg)([(0,o.EM)("ha-script-fields")],f),i()}catch(d){i(d)}})},42180:function(t,i,e){e.a(t,async function(t,i){try{e(89463),e(74423),e(44114),e(18111),e(81148),e(22489),e(20116),e(7588),e(61701),e(13579),e(3362),e(96167),e(27495),e(17642),e(58004),e(33853),e(45876),e(32475),e(15024),e(31698),e(62953),e(48408),e(14603),e(47566),e(98721);var s=e(40445),a=(e(68825),e(88696)),o=e(35211),l=e(5124),n=e(67576),r=e(89784),h=e(22786),d=e(36312),c=e(93905),p=e(1087),u=e(28978),g=e(91926),_=e(87710),f=e(86171),v=e(18350),y=e(29823),m=(e(70947),e(645)),b=e(41113),$=e(52190),w=e(66702),C=e(72644),A=e(138),H=e(2617),k=e(26300),V=e(75248),M=(e(82988),e(67094),e(34127)),x=e(53641),z=e(76570),L=e(22792),q=e(77001),S=e(22675),R=e(59241),I=e(14782),O=e(92557),E=e(84025),Z=e(71606),j=e(65063),F=e(42269),P=e(72553),U=e(54706),B=e(14503),D=e(36918),T=e(81619),W=e(34023),N=e(14839),Y=e(55270),G=e(90986),K=e(29303),X=e(25635),J=e(69569),Q=e(94017),tt=e(19661),it=t([f,v,y,m,b,$,w,C,A,H,k,V,M,P,a,K,Q]);[f,v,y,m,b,$,w,C,A,H,k,V,M,P,a,K,Q]=it.then?(await it)():it;let et,st,at,ot,lt,nt,rt,ht,dt,ct,pt,ut,gt,_t,ft,vt,yt,mt,bt,$t,wt,Ct,At,Ht,kt,Vt,Mt,xt,zt,Lt,qt=t=>t;const St="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",Rt="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",It="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",Ot="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",Et="M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,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,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z",Zt="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",jt="M7,10L12,15L17,10H7Z",Ft="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z",Pt="M8,5.14V19.14L19,12.14L8,5.14Z",Ut="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",Bt="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",Dt="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",Tt="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",Wt="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";class Nt extends((0,U.E)(l.WF)){get _availableAssistants(){return(0,tt.V)(this.cloudStatus,this.hass)}hassSubscribe(){return[(0,z.Ar)(this.hass.connection,"script",t=>{this._categories=t})]}render(){var t,i,e,s,a,o,n,r;const h=this._sizeController.value&&this._sizeController.value<900||!this._sizeController.value&&"docked"===this.hass.dockedSidebar,d=h&&(!this._sizeController.value||this._sizeController.value<700),c=this._scripts(this.scripts,this._entityReg,this.hass.areas,this._categories,this._labels,this._filteredEntityIds);return(0,l.qy)(et||(et=qt` <hass-tabs-subpage-data-table .hass="${0}" .narrow="${0}" .backPath="${0}" .route="${0}" .tabs="${0}" .searchLabel="${0}" has-filters .initialGroupColumn="${0}" .initialCollapsedGroups="${0}" .initialSorting="${0}" .columnOrder="${0}" .hiddenColumns="${0}" @columns-changed="${0}" @sorting-changed="${0}" @grouping-changed="${0}" @collapsed-changed="${0}" selectable .selected="${0}" @selection-changed="${0}" .filters="${0}" .columns="${0}" .data="${0}" .empty="${0}" .activeFilters="${0}" id="entity_id" .noDataText="${0}" @clear-filter="${0}" .filter="${0}" @search-changed="${0}" has-fab clickable class="${0}" @row-click="${0}"> <ha-icon-button slot="toolbar-icon" .label="${0}" .path="${0}" @click="${0}"></ha-icon-button> <ha-filter-floor-areas .hass="${0}" .type="${0}" .value="${0}" @data-table-filter-changed="${0}" slot="filter-pane" .expanded="${0}" .narrow="${0}" @expanded-changed="${0}"></ha-filter-floor-areas> <ha-filter-devices .hass="${0}" .type="${0}" .value="${0}" @data-table-filter-changed="${0}" slot="filter-pane" .expanded="${0}" .narrow="${0}" @expanded-changed="${0}"></ha-filter-devices> <ha-filter-entities .hass="${0}" .type="${0}" .value="${0}" @data-table-filter-changed="${0}" slot="filter-pane" .expanded="${0}" .narrow="${0}" @expanded-changed="${0}"></ha-filter-entities> <ha-filter-labels .hass="${0}" .value="${0}" @data-table-filter-changed="${0}" slot="filter-pane" .expanded="${0}" .narrow="${0}" @expanded-changed="${0}"></ha-filter-labels> <ha-filter-categories .hass="${0}" scope="script" .value="${0}" @data-table-filter-changed="${0}" slot="filter-pane" .expanded="${0}" .narrow="${0}" @expanded-changed="${0}"></ha-filter-categories> <ha-filter-voice-assistants .hass="${0}" .value="${0}" @data-table-filter-changed="${0}" slot="filter-pane" .expanded="${0}" .narrow="${0}" @expanded-changed="${0}"></ha-filter-voice-assistants> <ha-filter-blueprints .hass="${0}" .type="${0}" .value="${0}" @data-table-filter-changed="${0}" slot="filter-pane" .expanded="${0}" .narrow="${0}" @expanded-changed="${0}"></ha-filter-blueprints> ${0} ${0} ${0} <ha-button slot="fab" size="large" @click="${0}"> <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> ${0} </ha-button> </hass-tabs-subpage-data-table> `),this.hass,this.narrow,this._searchParms.has("historyBack")?void 0:"/config",this.route,X.configSections.automations,this.hass.localize("ui.panel.config.script.picker.search",{number:c.length}),null!==(t=this._activeGrouping)&&void 0!==t?t:"category",this._activeCollapsed,this._activeSorting,this._activeColumnOrder,this._activeHiddenColumns,this._handleColumnsChanged,this._handleSortingChanged,this._handleGroupingChanged,this._handleCollapseChanged,this._selected.length,this._handleSelectionChanged,Object.values(this._filters).filter(t=>Array.isArray(t.value)?t.value.length:t.value&&Object.values(t.value).some(t=>Array.isArray(t)?t.length:t)).length,this._columns(this.hass.localize,c),c,!this.scripts.length,this._activeFilters,this.hass.localize("ui.panel.config.script.picker.no_scripts"),this._clearFilter,this._filter,this._handleSearchChange,this.narrow?"narrow":"",this._handleRowClicked,this.hass.localize("ui.common.help"),Et,this._showHelp,this.hass,"script",null===(i=this._filters["ha-filter-floor-areas"])||void 0===i?void 0:i.value,this._filterChanged,"ha-filter-floor-areas"===this._expandedFilter,this.narrow,this._filterExpanded,this.hass,"script",null===(e=this._filters["ha-filter-devices"])||void 0===e?void 0:e.value,this._filterChanged,"ha-filter-devices"===this._expandedFilter,this.narrow,this._filterExpanded,this.hass,"script",null===(s=this._filters["ha-filter-entities"])||void 0===s?void 0:s.value,this._filterChanged,"ha-filter-entities"===this._expandedFilter,this.narrow,this._filterExpanded,this.hass,null===(a=this._filters["ha-filter-labels"])||void 0===a?void 0:a.value,this._filterChanged,"ha-filter-labels"===this._expandedFilter,this.narrow,this._filterExpanded,this.hass,null===(o=this._filters["ha-filter-categories"])||void 0===o?void 0:o.value,this._filterChanged,"ha-filter-categories"===this._expandedFilter,this.narrow,this._filterExpanded,this.hass,null===(n=this._filters["ha-filter-voice-assistants"])||void 0===n?void 0:n.value,this._filterChanged,"ha-filter-voice-assistants"===this._expandedFilter,this.narrow,this._filterExpanded,this.hass,"script",null===(r=this._filters["ha-filter-blueprints"])||void 0===r?void 0:r.value,this._filterChanged,"ha-filter-blueprints"===this._expandedFilter,this.narrow,this._filterExpanded,this.narrow?l.s6:(0,l.qy)(st||(st=qt`<ha-dropdown slot="selection-bar" @wa-select="${0}"> <ha-assist-chip slot="trigger" .label="${0}"> <ha-svg-icon slot="trailing-icon" .path="${0}"></ha-svg-icon> </ha-assist-chip> ${0} </ha-dropdown> ${0} ${0}`),this._handleBulkCategory,this.hass.localize("ui.panel.config.automation.picker.bulk_actions.move_category"),jt,this._renderCategoryItems(),d?l.s6:(0,l.qy)(at||(at=qt`<ha-dropdown slot="selection-bar" @wa-select="${0}"> <ha-assist-chip slot="trigger" .label="${0}"> <ha-svg-icon slot="trailing-icon" .path="${0}"></ha-svg-icon> </ha-assist-chip> ${0} </ha-dropdown>`),this._handleBulkLabel,this.hass.localize("ui.panel.config.automation.picker.bulk_actions.add_label"),jt,this._renderLabelItems()),h?l.s6:(0,l.qy)(ot||(ot=qt`<ha-dropdown slot="selection-bar" @wa-select="${0}"> <ha-assist-chip slot="trigger" .label="${0}"> <ha-svg-icon slot="trailing-icon" .path="${0}"></ha-svg-icon> </ha-assist-chip> ${0} </ha-dropdown>`),this._handleBulkArea,this.hass.localize("ui.panel.config.devices.picker.bulk_actions.move_area"),jt,this._renderAreaItems())),this.narrow||h?(0,l.qy)(lt||(lt=qt` <ha-dropdown slot="selection-bar" @wa-select="${0}"> ${0} ${0} ${0} ${0} </ha-dropdown>`),this._handleBulkAction,this.narrow?(0,l.qy)(nt||(nt=qt`<ha-assist-chip .label="${0}" slot="trigger"> <ha-svg-icon slot="trailing-icon" .path="${0}"></ha-svg-icon> </ha-assist-chip>`),this.hass.localize("ui.panel.config.automation.picker.bulk_action"),jt):(0,l.qy)(rt||(rt=qt`<ha-icon-button .path="${0}" .label="${0}" slot="trigger"></ha-icon-button>`),Ot,this.hass.localize("ui.panel.config.automation.picker.bulk_action")),this.narrow?(0,l.qy)(ht||(ht=qt`<ha-dropdown-item> ${0} ${0} </ha-dropdown-item>`),this.hass.localize("ui.panel.config.automation.picker.bulk_actions.move_category"),this._renderCategoryItems("submenu")):l.s6,this.narrow||d?(0,l.qy)(dt||(dt=qt`<ha-dropdown-item> ${0} ${0} </ha-dropdown-item>`),this.hass.localize("ui.panel.config.automation.picker.bulk_actions.add_label"),this._renderLabelItems("submenu")):l.s6,this.narrow||h?(0,l.qy)(ct||(ct=qt`<ha-dropdown-item> ${0} ${0} </ha-dropdown-item>`),this.hass.localize("ui.panel.config.devices.picker.bulk_actions.move_area"),this._renderAreaItems("submenu")):l.s6):l.s6,this.scripts.length?l.s6:(0,l.qy)(pt||(pt=qt` <div class="empty" slot="empty"> <ha-svg-icon .path="${0}"></ha-svg-icon> <h1> ${0} </h1> <p> ${0} </p> <ha-button appearance="plain" href="${0}" target="_blank" rel="noreferrer" size="small"> ${0} <ha-svg-icon slot="end" .path="${0}"></ha-svg-icon> </ha-button> </div>`),Bt,this.hass.localize("ui.panel.config.script.picker.empty_header"),this.hass.localize("ui.panel.config.script.picker.empty_text"),(0,D.o)(this.hass,"/docs/script/editor/"),this.hass.localize("ui.panel.config.common.learn_more"),Ft),this._createNew,Ut,this.hass.localize("ui.panel.config.script.picker.add_script"))}_handleSearchChange(t){this._filter=t.detail.value}_filterExpanded(t){t.detail.expanded?this._expandedFilter=t.target.localName:this._expandedFilter===t.target.localName&&(this._expandedFilter=void 0)}_filterChanged(t){const i=t.target.localName;this._filters=Object.assign(Object.assign({},this._filters),{},{[i]:t.detail}),this._fromUrl||(this._storageFilters=this._filters),this._applyFilters()}_clearFilter(){this._filters={},this._fromUrl||(this._storageFilters={}),this._applyFilters()}_applyFilters(){const t=Object.entries(this._filters);let i=this.scripts.map(t=>t.entity_id);for(const[e,s]of t)(0,q.fq)(e,s,["ha-filter-floor-areas","ha-filter-devices","ha-filter-entities","ha-filter-blueprints"])?i=i.filter(t=>s.items.has(t)):(0,q._H)(e,s,"ha-filter-categories")?i=i.filter(t=>{var i;return s.value[0]===(null===(i=this._entityReg.find(i=>i.entity_id===t))||void 0===i?void 0:i.categories.script)}):(0,q._H)(e,s,"ha-filter-labels")?i=i.filter(t=>{var i;return null===(i=this._entityReg.find(i=>i.entity_id===t))||void 0===i?void 0:i.labels.some(t=>s.value.includes(t))}):(0,q._H)(e,s,"ha-filter-voice-assistants")&&(i=i.filter(t=>(0,I.hB)(this._entityReg,t).some(t=>s.value.includes(t))));this._filteredEntityIds=i}willUpdate(t){if(super.willUpdate(t),!this.hasUpdated){this._searchParms.has("area")||this._searchParms.has("blueprint")||this._searchParms.has("device")||this._searchParms.has("label")||(this._filters=this._storageFilters),this._searchParms.has("area")&&this._filterArea(),this._searchParms.has("device")&&this._filterDevice(),this._searchParms.has("blueprint")&&this._filterBlueprint(),this._searchParms.has("label")&&this._filterLabel()}}updated(t){super.updated(t),t.has("_entityReg")&&this._applyFilters()}_filterArea(){const t=this._searchParms.get("area");t&&(this._fromUrl=!0,this._filters=Object.assign(Object.assign({},this._filters),{},{"ha-filter-floor-areas":{value:{areas:[t]},items:void 0}}),this._applyFilters())}_filterDevice(){const t=this._searchParms.get("device");t&&(this._fromUrl=!0,this._filters=Object.assign(Object.assign({},this._filters),{},{"ha-filter-devices":{value:[t],items:void 0}}),this._applyFilters())}_filterLabel(){const t=this._searchParms.get("label");t&&(this._fromUrl=!0,this._filters=Object.assign(Object.assign({},this._filters),{},{"ha-filter-labels":{value:[t],items:void 0}}),this._applyFilters())}async _filterBlueprint(){const t=this._searchParms.get("blueprint");if(!t)return;this._fromUrl=!0;const i=await(0,Z.f)(this.hass,"script_blueprint",t);this._filters=Object.assign(Object.assign({},this._filters),{},{"ha-filter-blueprints":{value:[t],items:new Set(i.automation||[])}}),this._applyFilters()}_editCategory(t){const i=this._entityReg.find(i=>i.entity_id===t.entity_id);i?(0,Y.j)(this,{scope:"script",entityReg:i}):(0,j.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.script.picker.no_category_support"),text:this.hass.localize("ui.panel.config.script.picker.no_category_entity_reg")})}_handleSelectionChanged(t){this._selected=t.detail.value}async _bulkAddCategory(t){const i=[];this._selected.forEach(e=>{i.push((0,R.G_)(this.hass,e,{categories:{script:t}}))});const e=await Promise.allSettled(i);if((0,_.$)(e)){const t=(0,_.N)(e);(0,j.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.common.multiselect.failed",{number:t.length}),text:(0,l.qy)(ut||(ut=qt`<pre>
${0}</pre>`),t.map(t=>t.reason.message||t.reason.code||t.reason).join("\r\n"))})}}async _bulkLabel(t,i){const e=[];this._selected.forEach(s=>{e.push((0,R.G_)(this.hass,s,{labels:"add"===i?this.hass.entities[s].labels.concat(t):this.hass.entities[s].labels.filter(i=>i!==t)}))});const s=await Promise.allSettled(e);if((0,_.$)(s)){const t=(0,_.N)(s);(0,j.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.common.multiselect.failed",{number:t.length}),text:(0,l.qy)(gt||(gt=qt`<pre>
${0}</pre>`),t.map(t=>t.reason.message||t.reason.code||t.reason).join("\r\n"))})}}_handleRowClicked(t){const i=this._entityReg.find(i=>i.entity_id===t.detail.id);i?(0,g.oo)(`/config/script/edit/${i.unique_id}`):(0,g.oo)(`/config/script/show/${t.detail.id}`)}_createNew(){(0,d.x)(this.hass.config,"blueprint")?(0,N.l)(this,{mode:"script"}):(0,g.oo)("/config/script/edit/new")}_showInfo(t){(0,p.r)(this,"hass-more-info",{entityId:t.entity_id})}_openSettings(t){(0,F.p)(this,{entityId:t.entity_id,view:"settings"})}_showTrace(t){const i=this._entityReg.find(i=>i.entity_id===t.entity_id);i&&(0,g.oo)(`/config/script/trace/${i.unique_id}`)}_showHelp(){(0,j.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.script.caption"),text:(0,l.qy)(_t||(_t=qt` ${0} <p> <a href="${0}" target="_blank" rel="noreferrer"> ${0} </a> </p> `),this.hass.localize("ui.panel.config.script.picker.introduction"),(0,D.o)(this.hass,"/docs/scripts/"),this.hass.localize("ui.panel.config.script.picker.learn_more"))})}async _duplicate(t){try{const i=this._entityReg.find(i=>i.entity_id===t.entity_id);if(!i)return;const e=await(0,E.Kq)(this.hass,i.unique_id);(0,E.AM)(Object.assign(Object.assign({},e),{},{alias:`${null==e?void 0:e.alias} (${this.hass.localize("ui.panel.config.script.picker.duplicate")})`}))}catch(i){if(404===i.status_code){const i=await(0,E.R$)(this.hass,t.entity_id);return void(0,E.AM)(i.config)}await(0,j.showAlertDialog)(this,{text:this.hass.localize("ui.panel.config.script.editor.load_error_unknown",{err_no:i.status_code})})}}async _deleteConfirm(t){(0,j.dk)(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:t.name}),confirmText:this.hass.localize("ui.common.delete"),dismissText:this.hass.localize("ui.common.cancel"),confirm:()=>this._delete(t),destructive:!0})}async _delete(t){try{const i=this._entityReg.find(i=>i.entity_id===t.entity_id);i&&(await(0,E.Ht)(this.hass,i.unique_id),this._selected=this._selected.filter(i=>i!==t.entity_id))}catch(i){await(0,j.showAlertDialog)(this,{text:400===i.status_code?this.hass.localize("ui.panel.config.script.editor.load_error_not_deletable"):this.hass.localize("ui.panel.config.script.editor.load_error_unknown",{err_no:i.status_code})})}}async _bulkAddArea(t){const i=[];this._selected.forEach(e=>{i.push((0,R.G_)(this.hass,e,{area_id:t}))});const e=await Promise.allSettled(i);if((0,_.$)(e)){const t=(0,_.N)(e);(0,j.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.common.multiselect.failed",{number:t.length}),text:(0,l.qy)(ft||(ft=qt`<pre>
${0}</pre>`),t.map(t=>t.reason.message||t.reason.code||t.reason).join("\r\n"))})}}_handleSortingChanged(t){this._activeSorting=t.detail}_handleGroupingChanged(t){var i;this._activeGrouping=null!==(i=t.detail.value)&&void 0!==i?i:""}_handleCollapseChanged(t){this._activeCollapsed=t.detail.value}_handleColumnsChanged(t){this._activeColumnOrder=t.detail.columnOrder,this._activeHiddenColumns=t.detail.hiddenColumns}static get styles(){return[B.RF,(0,l.AH)(vt||(vt=qt`:host{display:block;height:100%}hass-tabs-subpage-data-table{--data-table-row-height:60px}hass-tabs-subpage-data-table.narrow{--data-table-row-height:72px}a{text-decoration:none}.empty{--mdc-icon-size:80px;max-width:500px}.empty ha-button{--mdc-icon-size:24px}.empty h1{font-size:var(--ha-font-size-3xl)}ha-assist-chip{--ha-assist-chip-container-shape:10px}ha-dropdown::part(menu),ha-dropdown::part(submenu){--auto-size-available-width:calc(50vw - var(--ha-space-4))}ha-dropdown ha-assist-chip{--md-assist-chip-trailing-space:8px}`))]}constructor(...t){super(...t),this.isWide=!1,this.narrow=!1,this._searchParms=new URLSearchParams(window.location.search),this._selected=[],this._filter="",this._filters={},this._storageFilters={},this._fromUrl=!1,this._entityReg=[],this._sizeController=new a.P(this,{callback:t=>{var i;return null===(i=t[0])||void 0===i?void 0:i.contentRect.width}}),this._scripts=(0,h.A)((t,i,e,s,a,o)=>null===o?[]:(o?t.filter(t=>o.includes(t.entity_id)):t).map(t=>{var o,l;const n=i.find(i=>i.entity_id===t.entity_id),r=null==n?void 0:n.categories.script,h=(a&&(null==n?void 0:n.labels)||[]).map(t=>a.find(i=>i.label_id===t)).filter(t=>void 0!==t),d=(0,I.hB)(i,t.entity_id);return Object.assign(Object.assign({},t),{},{name:(0,u.u)(t),area:null!=n&&n.area_id?null===(o=e[null==n?void 0:n.area_id])||void 0===o?void 0:o.name:void 0,last_triggered:t.attributes.last_triggered||void 0,category:r?null==s||null===(l=s.find(t=>t.category_id===r))||void 0===l?void 0:l.name:void 0,label_entries:h,labels:h.map(t=>t.name),assistants:d,assistants_sortable_key:(0,Q.HX)(d),selectable:void 0!==n})})),this._columns=(0,h.A)((t,i)=>({icon:{title:"",showNarrow:!0,moveable:!1,label:t("ui.panel.config.script.picker.headers.icon"),type:"icon",template:t=>(0,l.qy)(yt||(yt=qt`<ha-state-icon .stateObj="${0}" style="${0}"></ha-state-icon>`),t,(0,r.W)({color:t.state===S.Hh?"var(--error-color)":"unset"}))},entity_id:(0,K.t)(),name:{title:t("ui.panel.config.script.picker.headers.name"),main:!0,sortable:!0,filterable:!0,direction:"asc",flex:2,extraTemplate:t=>t.label_entries.length?(0,l.qy)(mt||(mt=qt`<ha-data-table-labels @label-clicked="${0}" .labels="${0}"></ha-data-table-labels>`),this._labelClicked,t.label_entries):l.s6},area:(0,K.A7)(t),category:(0,K.Bl)(t),labels:(0,K.AI)(),last_triggered:(0,K.N4)(t,this.hass),actions:{lastFixed:!0,title:"",label:this.hass.localize("ui.panel.config.generic.headers.actions"),type:"overflow-menu",showNarrow:!0,template:t=>(0,l.qy)(bt||(bt=qt` <ha-icon-overflow-menu narrow .items="${0}"> </ha-icon-overflow-menu> `),[{path:Zt,label:this.hass.localize("ui.panel.config.script.picker.show_info"),action:()=>this._showInfo(t)},{path:St,label:this.hass.localize("ui.panel.config.automation.picker.show_settings"),action:()=>this._openSettings(t)},{path:Dt,label:this.hass.localize("ui.panel.config.script.picker."+(t.category?"edit_category":"assign_category")),action:()=>this._editCategory(t)},{path:Pt,label:this.hass.localize("ui.panel.config.script.picker.run"),action:()=>this._runScript(t)},{path:Wt,label:this.hass.localize("ui.panel.config.script.picker.show_trace"),action:()=>this._showTrace(t)},{divider:!0},{path:Rt,label:this.hass.localize("ui.panel.config.script.picker.duplicate"),action:()=>this._duplicate(t)},{label:this.hass.localize("ui.panel.config.script.picker.delete"),path:It,action:()=>this._deleteConfirm(t),warning:!0}])},assistants:(0,Q.MD)(t,this.hass,this._availableAssistants,i)})),this._labelClicked=t=>{const i=t.detail.label;this._filters=Object.assign(Object.assign({},this._filters),{},{"ha-filter-labels":{value:[i.label_id],items:void 0}}),this._fromUrl||(this._storageFilters=this._filters),this._applyFilters()},this._handleBulkCategory=t=>{const i=t.detail.item.value;"category_create"!==i?"category_none"!==i?null!=i&&i.startsWith("category_")&&this._bulkAddCategory(i.substring(9)):this._bulkAddCategory(null):this._bulkCreateCategory()},this._handleBulkLabel=t=>{t.preventDefault();const i=t.detail.item.value;if("label_create"!==i){if(null!=i&&i.startsWith("label_")){const e=t.detail.item.action;this._bulkLabel(i.substring(6),e)}}else this._bulkCreateLabel()},this._runScript=async t=>{const i=this._entityReg.find(i=>i.entity_id===t.entity_id);i&&((0,E.TP)(this.hass,i.unique_id)?this._showInfo(t):(await(0,E.kR)(this.hass,i.unique_id),(0,T.P)(this,{message:this.hass.localize("ui.notification_toast.triggered",{name:(0,u.u)(t)})})))},this._bulkCreateCategory=()=>{(0,G.S)(this,{scope:"script",createEntry:async t=>{const i=await(0,z.s_)(this.hass,"script",t);return this._bulkAddCategory(i.category_id),i}})},this._bulkCreateLabel=()=>{(0,J.f)(this,{createEntry:async t=>{const i=await(0,O._9)(this.hass,t);this._bulkLabel(i.label_id,"add")}})},this._handleBulkArea=t=>{const i=t.detail.item.value;"area_create"!==i?"area_none"!==i?null!=i&&i.startsWith("area_")&&this._bulkAddArea(i.substring(5)):this._bulkAddArea(null):this._bulkCreateArea()},this._bulkCreateArea=()=>{(0,W.J)(this,{createEntry:async t=>{const i=await(0,x.L3)(this.hass,t);return this._bulkAddArea(i.area_id),i}})},this._renderCategoryItems=(t="")=>{var i;return(0,l.qy)($t||($t=qt`${0} <ha-dropdown-item .slot="${0}" value="category_none"> ${0} </ha-dropdown-item> <wa-divider .slot="${0}"></wa-divider> <ha-dropdown-item .slot="${0}" value="category_create"> ${0} </ha-dropdown-item>`),null===(i=this._categories)||void 0===i?void 0:i.map(i=>(0,l.qy)(wt||(wt=qt`<ha-dropdown-item .slot="${0}" .value="${0}"> ${0} ${0} </ha-dropdown-item>`),t,`category_${i.category_id}`,i.icon?(0,l.qy)(Ct||(Ct=qt`<ha-icon slot="icon" .icon="${0}"></ha-icon>`),i.icon):(0,l.qy)(At||(At=qt`<ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon>`),Dt),i.name)),t,this.hass.localize("ui.panel.config.automation.picker.bulk_actions.no_category"),t,t,this.hass.localize("ui.panel.config.category.editor.add"))},this._renderLabelItems=(t="")=>{var i;return(0,l.qy)(Ht||(Ht=qt`${0} <wa-divider .slot="${0}"></wa-divider> <ha-dropdown-item .slot="${0}" value="label_create"> ${0} </ha-dropdown-item>`),null===(i=this._labels)||void 0===i?void 0:i.map(i=>{const e=this._selected.every(t=>{var e;return null===(e=this.hass.entities[t])||void 0===e?void 0:e.labels.includes(i.label_id)}),s=!e&&this._selected.some(t=>{var e;return null===(e=this.hass.entities[t])||void 0===e?void 0:e.labels.includes(i.label_id)});return(0,l.qy)(kt||(kt=qt`<ha-dropdown-item .slot="${0}" .value="${0}" .action="${0}"> <ha-checkbox slot="icon" .checked="${0}" .indeterminate="${0}"></ha-checkbox> <ha-label .color="${0}" .description="${0}"> ${0} ${0} </ha-label> </ha-dropdown-item>`),t,`label_${i.label_id}`,e?"remove":"add",e,s,i.color,i.description,i.icon?(0,l.qy)(Vt||(Vt=qt`<ha-icon slot="icon" .icon="${0}"></ha-icon>`),i.icon):l.s6,i.name)}),t,t,this.hass.localize("ui.panel.config.labels.add_label"))},this._renderAreaItems=(t="")=>(0,l.qy)(Mt||(Mt=qt`${0} <ha-dropdown-item .slot="${0}" value="area_none"> ${0} </ha-dropdown-item> <wa-divider .slot="${0}"></wa-divider> <ha-dropdown-item .slot="${0}" value="area_create"> ${0} </ha-dropdown-item>`),Object.values(this.hass.areas).map(i=>(0,l.qy)(xt||(xt=qt`<ha-dropdown-item .slot="${0}" .value="${0}"> ${0} ${0} </ha-dropdown-item>`),t,`area_${i.area_id}`,i.icon?(0,l.qy)(zt||(zt=qt`<ha-icon slot="icon" .icon="${0}"></ha-icon>`),i.icon):(0,l.qy)(Lt||(Lt=qt`<ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon>`),Tt),i.name)),t,this.hass.localize("ui.panel.config.devices.picker.bulk_actions.no_area"),t,t,this.hass.localize("ui.panel.config.devices.picker.bulk_actions.add_area")),this._handleBulkAction=t=>{const i=t.detail.item,e=i.value;if(e)if(e.startsWith("category_"))"category_create"===e?this._bulkCreateCategory():"category_none"===e?this._bulkAddCategory(null):this._bulkAddCategory(e.substring(9));else if(e.startsWith("label_"))if("label_create"===e)this._bulkCreateLabel();else{const t=i.action;this._bulkLabel(e.substring(6),t)}else e.startsWith("area_")&&("area_create"===e?this._bulkCreateArea():"area_none"===e?this._bulkAddArea(null):this._bulkAddArea(e.substring(5)))}}}(0,s.Cg)([(0,n.MZ)({attribute:!1})],Nt.prototype,"hass",void 0),(0,s.Cg)([(0,n.MZ)({attribute:!1})],Nt.prototype,"scripts",void 0),(0,s.Cg)([(0,n.MZ)({attribute:"is-wide",type:Boolean})],Nt.prototype,"isWide",void 0),(0,s.Cg)([(0,n.MZ)({type:Boolean})],Nt.prototype,"narrow",void 0),(0,s.Cg)([(0,n.MZ)({attribute:!1})],Nt.prototype,"route",void 0),(0,s.Cg)([(0,n.MZ)({attribute:!1})],Nt.prototype,"cloudStatus",void 0),(0,s.Cg)([(0,n.wk)()],Nt.prototype,"_searchParms",void 0),(0,s.Cg)([(0,n.wk)()],Nt.prototype,"_selected",void 0),(0,s.Cg)([(0,n.wk)()],Nt.prototype,"_activeFilters",void 0),(0,s.Cg)([(0,n.wk)()],Nt.prototype,"_filteredEntityIds",void 0),(0,s.Cg)([(0,n.wk)(),(0,c.I)({storage:"sessionStorage",key:"script-table-search",state:!0,subscribe:!1})],Nt.prototype,"_filter",void 0),(0,s.Cg)([(0,n.wk)()],Nt.prototype,"_filters",void 0),(0,s.Cg)([(0,c.I)({storage:"sessionStorage",key:"script-table-filters-full",state:!1,subscribe:!1,serializer:q.iS,deserializer:q.Dc})],Nt.prototype,"_storageFilters",void 0),(0,s.Cg)([(0,n.wk)()],Nt.prototype,"_expandedFilter",void 0),(0,s.Cg)([(0,n.wk)()],Nt.prototype,"_categories",void 0),(0,s.Cg)([(0,o.Fg)({context:L.HD,subscribe:!0}),(0,n.wk)()],Nt.prototype,"_labels",void 0),(0,s.Cg)([(0,n.wk)(),(0,o.Fg)({context:L.ih,subscribe:!0})],Nt.prototype,"_entityReg",void 0),(0,s.Cg)([(0,c.I)({key:"script-table-sort",state:!1,subscribe:!1})],Nt.prototype,"_activeSorting",void 0),(0,s.Cg)([(0,c.I)({key:"script-table-grouping",state:!1,subscribe:!1})],Nt.prototype,"_activeGrouping",void 0),(0,s.Cg)([(0,c.I)({key:"script-table-collapsed",state:!1,subscribe:!1})],Nt.prototype,"_activeCollapsed",void 0),(0,s.Cg)([(0,c.I)({key:"script-table-column-order",state:!1,subscribe:!1})],Nt.prototype,"_activeColumnOrder",void 0),(0,s.Cg)([(0,c.I)({key:"script-table-hidden-columns",state:!1,subscribe:!1})],Nt.prototype,"_activeHiddenColumns",void 0),Nt=(0,s.Cg)([(0,n.EM)("ha-script-picker")],Nt),i()}catch(et){i(et)}})},84042:function(t,i,e){e.a(t,async function(t,i){try{e(89463),e(74423),e(18111),e(22489),e(3362),e(62953);var s=e(40445),a=e(53289),o=e(5124),l=e(67576),n=e(63533),r=e(44537),h=e(68348),d=e(1087),c=e(26300),p=(e(3587),e(84025)),u=e(36918),g=e(49053),_=e(68469),f=e(136),v=e(84047),y=e(57116),m=e(95415),b=t([c,_,m,f]);[c,_,m,f]=b.then?(await b)():b;let $,w,C,A,H=t=>t;const k="M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,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,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z",V=(0,n.Ik)({alias:(0,n.lq)((0,n.Yj)()),description:(0,n.lq)((0,n.Yj)()),sequence:(0,n.lq)((0,n.YO)((0,n.bz)())),icon:(0,n.lq)((0,n.Yj)()),mode:(0,n.lq)((0,n.vP)([typeof p.FN])),max:(0,n.lq)((0,n.ai)()),fields:(0,n.lq)((0,n.Ik)())});class M extends((0,f.N)(o.WF)){addFields(){this._openFields=!0,(0,d.r)(this,"value-changed",{value:Object.assign(Object.assign({},this.config),{},{fields:{[this.hass.localize("ui.panel.config.script.editor.field.field")||"field"]:{selector:{text:null}}}})})}updated(t){var i;(super.updated(t),this._openFields&&t.has("config"))&&(this._openFields=!1,null===(i=this._scriptFields)||void 0===i||i.updateComplete.then(()=>{var t;return null===(t=this._scriptFields)||void 0===t?void 0:t.focusLastField()}))}renderContent(){var t,i;return(0,o.qy)($||($=H` ${0} ${0} <div class="header"> <h2 id="sequence-heading" class="name"> ${0} </h2> </div> <ha-automation-action role="region" aria-labelledby="sequence-heading" .actions="${0}" .highlightedActions="${0}" @value-changed="${0}" @open-sidebar="${0}" @request-close-sidebar="${0}" @close-sidebar="${0}" .hass="${0}" .editorDirty="${0}" .narrow="${0}" .disabled="${0}" root sidebar></ha-automation-action> `),this.config.description?(0,o.qy)(w||(w=H`<ha-markdown class="description" breaks .content="${0}"></ha-markdown>`),this.config.description):o.s6,this.config.fields?(0,o.qy)(C||(C=H`<div class="header"> <h2 id="fields-heading" class="name"> ${0} </h2> <ha-icon-button .path="${0}" .label="${0}" href="${0}" target="_blank" rel="noreferrer"></ha-icon-button> </div> <ha-script-fields role="region" aria-labelledby="fields-heading" .fields="${0}" .highlightedFields="${0}" @value-changed="${0}" .hass="${0}" .disabled="${0}" .narrow="${0}" @open-sidebar="${0}" @request-close-sidebar="${0}" @close-sidebar="${0}"></ha-script-fields>`),this.hass.localize("ui.panel.config.script.editor.field.fields"),k,this.hass.localize("ui.panel.config.script.editor.field.link_help_fields"),(0,u.o)(this.hass,"/integrations/script/#fields"),this.config.fields,null===(t=this.pastedConfig)||void 0===t?void 0:t.fields,this._fieldsChanged,this.hass,this.disabled,this.narrow,this.openSidebar,this.triggerCloseSidebar,this.handleCloseSidebar):o.s6,this.hass.localize("ui.panel.config.script.editor.sequence"),this.config.sequence||[],null===(i=this.pastedConfig)||void 0===i?void 0:i.sequence,this._sequenceChanged,this.openSidebar,this.triggerCloseSidebar,this.handleCloseSidebar,this.hass,this.dirty,this.narrow,this.disabled||this.saving)}saveConfig(){(0,d.r)(this,"save-script")}_fieldsChanged(t){t.stopPropagation(),this.resetPastedConfig(),(0,d.r)(this,"value-changed",{value:Object.assign(Object.assign({},this.config),{},{fields:t.detail.value})})}_sequenceChanged(t){t.stopPropagation(),this.resetPastedConfig(),(0,d.r)(this,"value-changed",{value:Object.assign(Object.assign({},this.config),{},{sequence:t.detail.value})})}_appendToExistingConfig(t){this.pastedConfig=t;const i=Object.assign({},this.config);i&&("fields"in t&&(i.fields=Object.assign(Object.assign({},i.fields),t.fields)),"sequence"in t&&(i.sequence=(0,r.e)(i.sequence||[]).concat((0,r.e)(t.sequence))),this.showPastedToastWithUndo(),(0,d.r)(this,"value-changed",{value:Object.assign({},i)}))}showPastedToastWithUndo(){(0,g.c)(this,{message:this.hass.localize("ui.panel.config.script.editor.paste_toast_message"),duration:4e3,action:{text:this.hass.localize("ui.common.undo"),action:()=>{(0,d.r)(this,"undo-change"),this.pastedConfig=void 0}}})}static get styles(){return[y.T_,y.qK,(0,o.AH)(A||(A=H`.header{display:flex;align-items:center}.header:first-child{margin-top:-16px}.header .name{font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-normal);flex:1}.description{margin-top:16px}ha-icon-button{color:var(--secondary-text-color)}`))]}constructor(...t){super(...t),this._openFields=!1,this.handlePaste=async t=>{var i;if(!(0,h.u)(t.composedPath()))return;const e=null===(i=t.clipboardData)||void 0===i?void 0:i.getData("text");if(!e)return;let s;try{s=(0,a.Hh)(e)}catch(u){return void(0,g.c)(this,{message:this.hass.localize("ui.panel.config.script.editor.paste_invalid_config"),duration:4e3,dismissable:!0})}if(!s||"object"!=typeof s)return;let o=s;"script"in o&&(o=o.script,Object.keys(o).length&&(o=o[Object.keys(o)[0]])),Array.isArray(o)&&(o=1===o.length?o[0]:{sequence:o});const l=(0,p.pq)(o);let d;(!["sequence","unknown"].includes(l)||"sequence"===l&&"metadata"in o)&&(o={sequence:[o]});try{d=(0,p.nB)(o)}catch(u){return}try{(0,n.vA)(d,V)}catch(u){return void(0,g.c)(this,{message:this.hass.localize("ui.panel.config.script.editor.paste_invalid_config"),duration:4e3,dismissable:!0})}if(d){var c;t.preventDefault();const i=Object.keys(d).filter(t=>(0,r.e)(d[t]).length);if(1===i.length&&["sequence"].includes(i[0])&&this.tryInsertAfterSelected(d[i[0]]))return void this.showPastedToastWithUndo();if(this.dirty||null!==(c=(0,r.e)(this.config.sequence))&&void 0!==c&&c.length||Object.keys(this.config.fields||{}).length){if(!(await new Promise(t=>{(0,v.Z)(this,{domain:"script",pastedConfig:d,onClose:()=>t(!1),onAppend:()=>{this._appendToExistingConfig(d),t(!1)},onReplace:()=>t(!0)})})))return}this.replaceExistingConfig(d)}}}}(0,s.Cg)([(0,l.P)("ha-script-fields")],M.prototype,"_scriptFields",void 0),(0,s.Cg)([(0,l.YG)("ha-automation-action, ha-script-fields")],M.prototype,"collapsableElements",void 0),M=(0,s.Cg)([(0,l.EM)("manual-script-editor")],M),i()}catch($){i($)}})}}]);