esphome-device-builder-frontend 0.1.332__tar.gz → 0.1.334__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {esphome_device_builder_frontend-0.1.332/esphome_device_builder_frontend.egg-info → esphome_device_builder_frontend-0.1.334}/PKG-INFO +1 -1
  2. esphome_device_builder_frontend-0.1.332/esphome_device_builder_frontend/170.0a95e6a58f6783c9.js → esphome_device_builder_frontend-0.1.334/esphome_device_builder_frontend/170.9cc3c2fb1dbe896c.js +8 -8
  3. esphome_device_builder_frontend-0.1.332/esphome_device_builder_frontend/app.68fb37bca6569874.js → esphome_device_builder_frontend-0.1.334/esphome_device_builder_frontend/app.6fd4eff5c996eada.js +5 -5
  4. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/index.html +1 -1
  5. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334/esphome_device_builder_frontend.egg-info}/PKG-INFO +1 -1
  6. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend.egg-info/SOURCES.txt +3 -3
  7. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/pyproject.toml +1 -1
  8. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/LICENSE +0 -0
  9. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/MANIFEST.in +0 -0
  10. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/README.md +0 -0
  11. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/16.70a4e106a196a44a.js +0 -0
  12. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/204.9e71e35f7f796d87.js +0 -0
  13. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/377.cf7eba64c95f57b7.js +0 -0
  14. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/508.9dac8def7150dfc3.js +0 -0
  15. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/57.e771fbe8f5fc4c0a.js +0 -0
  16. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/577.413ba4865ab075af.js +0 -0
  17. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/602.3377f7caecba040a.js +0 -0
  18. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/658.bfbb4f73993720ef.js +0 -0
  19. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/778.be5afb20ddef4c5b.js +0 -0
  20. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/795.707276f1f502691c.js +0 -0
  21. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/820.23206f1b0e2fd64e.js +0 -0
  22. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/839.48798448f7e34101.js +0 -0
  23. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/846.226462cb67c4ba40.js +0 -0
  24. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/870.2a518ff19d7db391.js +0 -0
  25. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/886.dab7ca741c745068.js +0 -0
  26. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/945.9dcf314922bd6a88.js +0 -0
  27. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/967.79b76d4257be9be3.js +0 -0
  28. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/979.bbab3ab9a82f95d8.js +0 -0
  29. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/98.b15bee24d06c813c.js +0 -0
  30. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/990.3abfa9ff422f3763.js +0 -0
  31. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/__init__.py +0 -0
  32. /esphome_device_builder_frontend-0.1.332/esphome_device_builder_frontend/app.68fb37bca6569874.js.LICENSE.txt → /esphome_device_builder_frontend-0.1.334/esphome_device_builder_frontend/app.6fd4eff5c996eada.js.LICENSE.txt +0 -0
  33. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/board/default.svg +0 -0
  34. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/logo/esphome-color.svg +0 -0
  35. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/logo/esphome-favicon.svg +0 -0
  36. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/logo/esphome-mono-black.svg +0 -0
  37. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/logo/esphome-mono-white.svg +0 -0
  38. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/logo/ha.svg +0 -0
  39. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/direction.svg +0 -0
  40. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/driven_signal.svg +0 -0
  41. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/ground_switch.svg +0 -0
  42. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/output_active_low.svg +0 -0
  43. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/output_open_drain.svg +0 -0
  44. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/output_standard.svg +0 -0
  45. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/pull_resistor.svg +0 -0
  46. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/assets/pin-wiring/vcc_switch.svg +0 -0
  47. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/vendors.15351e3132852a11.js +0 -0
  48. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend/vendors.15351e3132852a11.js.LICENSE.txt +0 -0
  49. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend.egg-info/dependency_links.txt +0 -0
  50. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend.egg-info/not-zip-safe +0 -0
  51. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/esphome_device_builder_frontend.egg-info/top_level.txt +0 -0
  52. {esphome_device_builder_frontend-0.1.332 → esphome_device_builder_frontend-0.1.334}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esphome-device-builder-frontend
3
- Version: 0.1.332
3
+ Version: 0.1.334
4
4
  Summary: Prebuilt web frontend for the ESPHome Device Builder Dashboard
5
5
  Author-email: The ESPHome Authors <esphome@openhomefoundation.org>
6
6
  License: Apache-2.0
@@ -2326,7 +2326,7 @@
2326
2326
  background: var(--wa-color-surface-lowered);
2327
2327
  color: var(--wa-color-text-normal);
2328
2328
  }
2329
- `,i_=[B.G9,it.z9,t7.X,ic,id,ie.a,ip,ih,im,ig];function iv(e,t){return t.disabled||e.locked}(0,J.C)({"alert-circle-outline":r.mdiAlertCircleOutline,"auto-fix":r.mdiAutoFix,"code-braces":r.mdiCodeBraces,"key-variant":r.mdiKeyVariant,"lock-outline":r.mdiLockOutline});let iy=e=>JSON.stringify(e),ib=(e,t)=>`${e}-${encodeURIComponent(iy(t))}`,iw=e=>{try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(String)}catch{}return e?e.split("."):[]};function i$(e,t,i){if(!(0,tf.RB)(e))return n.s6;let o=(0,tf.rq)(e,t);if((0,tf.RB)(o)){let e=i("device.substitution_unresolved_hint");return(0,n.qy)`<span
2329
+ `,i_=[B.G9,it.z9,t7.X,ic,id,ie.a,ip,ih,im,ig];function iv(e,t){return t.disabled||!0===e.locked}(0,J.C)({"alert-circle-outline":r.mdiAlertCircleOutline,"auto-fix":r.mdiAutoFix,"code-braces":r.mdiCodeBraces,"key-variant":r.mdiKeyVariant,"lock-outline":r.mdiLockOutline});let iy=e=>JSON.stringify(e),ib=(e,t)=>`${e}-${encodeURIComponent(iy(t))}`,iw=e=>{try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(String)}catch{}return e?e.split("."):[]};function i$(e,t,i){if(!(0,tf.RB)(e))return n.s6;let o=(0,tf.rq)(e,t);if((0,tf.RB)(o)){let e=i("device.substitution_unresolved_hint");return(0,n.qy)`<span
2330
2330
  class="substitution-note substitution-note--external"
2331
2331
  role="note"
2332
2332
  aria-label=${e}
@@ -2457,7 +2457,7 @@
2457
2457
  ${d.map(e=>t.renderEntry(e,[e.key]))}
2458
2458
  </div>
2459
2459
  </div>
2460
- `:n.s6}let iI="__none__";function iB(e,t,i,o){let a=function(e){let t=new Map;for(let i of e)if(i.exclusive_group){let e=t.get(i.exclusive_group)??[];e.push(i),t.set(i.exclusive_group,e)}let i=new Set,o=[];for(let a of e)a.exclusive_group?i.has(a.exclusive_group)||(i.add(a.exclusive_group),o.push(t.get(a.exclusive_group))):o.push(a);return o}(e),{clusters:r,memberKeys:n}=iL(e,i),s=new Map(r.map(e=>[e.members[0].key,e])),l=new Set(t5(e.filter(e=>!e.exclusive_group&&!n.has(e.key)),t,o));return{ordered:a,clusters:r,memberKeys:n,clusterByFirstKey:s,visible:l}}function ij(e){return e.length>0&&e.every(e=>!!e.advanced)}function iK(e,t){return e.some(e=>(0,t6.P)(e,t))}function iU(e,t,i){let o=function(e,t){let i=new Map,{clusters:o}=iL(e,t);for(let e of o)for(let t of e.members)i.set(t.key,e.members);let a=new Map;for(let t of e){if(!t.exclusive_group)continue;let e=a.get(t.exclusive_group)??[];e.push(t),a.set(t.exclusive_group,e),i.set(t.key,e)}return e=>i.get(e)}(e,t);return e=>{let t=o(e);if(t)return ij(t)&&!iK(t,i)}}function iZ(e,t){let{entries:i,requiredGroups:o,values:a,presentComponents:r,targetPlatform:n,formatKeys:s}=e,l=[],d=new Map(i.map(e=>[e.key,e])),c=e=>{let t=d.get(e);return void 0!==t&&(void 0!==(0,g.O6)(a,[e])||(0,tO.VP)(t,a,r,n,void 0,i))},h=e=>e.some(c),p=(e,t)=>"all_or_none"===e||"none_or_all"===e?t:t.filter(c);for(let e of o)!e.keys.some(e=>t.has(e))&&h(e.keys)&&(t8(e.kind,e.keys,a)||l.push({kind:e.kind,keys:s(p(e.kind,e.keys))}));let u=new Map;for(let e of i)e.group&&u.set(e.group,[...u.get(e.group)??[],e.key]);for(let e of u.values())!e.some(e=>t.has(e))&&h(e)&&(t8("all_or_none",e,a)||l.push({kind:"all_or_none",keys:s(p("all_or_none",e))}));return l}function iN(e,t,i){return t4({requiredOnly:!0,showAdvanced:!1,presentComponents:i,board:t,values:e})}function iV(e){return e.replace(/ /g,"_").toLowerCase().replace(/[^a-z0-9_-]/g,"_")}let iH=new Set(["esphome","esp32_ble"]);function iG(e,t,i,o={}){for(let a of e){if(a.type===tN.Hh.NESTED){let e=iG(a.config_entries??[],t,[...i,a.key],o);if(e)return e;continue}if(a.references_component===t){let e=[...i,a.key];if(void 0!==(0,g.O6)(o,e))continue;return e}}return null}function iY(e){let{entries:t,component:i,board:o,yaml:a,prefillReference:r,prefillFields:n,restoredValues:s,localize:l}=e,d=function e(t,i,o,a=!1){let r={};for(let n of t){if(n.type===tN.Hh.NESTED){let t=e(n.config_entries??[],i,o,a);n.required&&null!=n.platform_type&&void 0===t.name&&void 0===t.id&&(t.name=io(n,o)),Object.keys(t).length>0&&(r[n.key]=t);continue}if(n.required||a&&n.from_preset){if(n.references_component&&!n.locked){let e=(0,tM.Zm)(i,n.references_component,[]),t=(a&&n.from_preset&&"string"==typeof n.default_value&&e.some(e=>e.id===n.default_value)?n.default_value:void 0)??(0,tM.z)(e,i)?.id;void 0!==t?r[n.key]=n.multi_value?[t]:t:n.multi_value&&n.required&&(r[n.key]=[]);continue}null!=n.default_value?r[n.key]=n.multi_value?Array.isArray(n.default_value)?[...n.default_value]:[String(n.default_value)]:n.default_value:n.multi_value&&n.required&&(r[n.key]=[])}}return r}(t,a,l,(0,t$.sO)(i.id)),c=d;if(t.find(e=>"id"===e.key&&e.type===tN.Hh.ID)&&void 0===c.id){var h,p,u;let e=(h=i.id,p=i.multi_conf,u=tq(a),p||(0,t$.K8)(h)?tS(h,u):null);null!==e&&(c={...c,id:e})}if(t.find(e=>"name"===e.key&&e.type===tN.Hh.STRING)&&void 0===c.name){let e=function(e,t,i){var o,a;if((0,t$.sO)(e)||iH.has(e))return null;let r=t.trim();if(!r)return null;let n=(o=i,a=(0,tM.iZ)(e).domain,(0,tk.p)(o,"name",a)),s=new Set;for(let e of n){let t=iV(e);t&&s.add(t)}if(!s.has(iV(r)))return r;let l=2,d=`${r} ${l}`;for(;s.has(iV(d));)l++,d=`${r} ${l}`;return d}(i.id,i.name,a);null!==e&&(c={...c,name:e})}if(c=function(e,t,i,o,a){if(!i?.pins?.length||e.includes("."))return o;let r=o,n=new Set;for(let o of t){if(o.type!==tN.Hh.PIN||void 0!==r[o.key])continue;let t=o.key.toLowerCase().replace(/_(pin|gpio)$/,""),s=`${e}_${t}`,l=i.pins.find(e=>e.features.includes(s)&&!a.has(e.gpio)&&!n.has(e.gpio));l&&(n.add(l.gpio),r={...r,[o.key]:l.gpio})}return r}(i.id,t,o,c,(0,tM.zq)(a)),s&&(c={...c,...s}),r){let e=iG(t,r.domain,[],d);e&&(c=(0,g.Oe)(c,e,r.id))}return n&&(c={...c,...n}),c}let iW=new Set(["adc","dac","ota"]);function iJ(e){return e?"featured"===e?"Recommended":e.split("_").filter(e=>e.length>0).map(e=>iW.has(e.toLowerCase())?e.toUpperCase():e[0].toUpperCase()+e.slice(1)).join(" "):""}function iQ(e,t,i){(0,eP.r)(e,t,i)}function iX(e,t,i){let o=e.parentNode??i??null;return(i,a)=>{let r=i?e:o;i||!o||o.isConnected||console.warn(`Dispatching ${t} on a detached anchor; it may go nowhere`),r&&iQ(r,t,a)}}function i0(e){let t=e.parentNode;return iQ(e,"section-mount",{node:e}),()=>iQ(t??e,"section-unmount",{node:e})}class i1{hostConnected(){this._unsubscribe=(0,tH.Ej)(()=>{this._host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}resolve(e){return(0,tH.CQ)(e,this._getPlatform())?.name??e}kickoff(e){let t=this._getApi();if(!t)return;let i=this._getPlatform();for(let o of e)void 0===(0,tH.CQ)(o,i)&&(0,tH.Sn)(t,o,i).catch(()=>{})}constructor(e,t,i){this._host=e,this._getApi=t,this._getPlatform=i,e.addController(this)}}let i2={blocked:null,picker:null,reference:null};async function i6(e,t,i,o){let a=tb(t);if(!a||(0,tM.eN)(i))return i2;let r=await (0,en.ak)(e);if(0===r.byId.size)return i2;let{busCount:n,compatibleIds:s}=function(e,t,i,o){let a=ty[t],r=(0,ev.MT)(e),n=(0,p.D)(e),s=e=>(e.parentKey??e.key)===t,l=r.filter(s).map(t=>{let i=(0,ec.wz)(e,t.key,t.fromLine);return{id:t.id??null,values:i,readable:Object.keys(i).length>0&&!function(e,t){for(let i=t.fromLine-1;i<t.toLine&&i<e.length;i++){let t=e[i];if(/^\s*(?:-\s+)?<<\s*:/.test(t)||t.includes("!include"))return!0}return!1}(n,t),claimed:new Set}});if(0===l.length)return{busCount:0,compatibleIds:[]};if(!a||r.some(e=>(e.parentKey??e.key)==="host"))return{busCount:l.length,compatibleIds:l.map(e=>e.id)};let d=`${t}_id`;for(let i of r){if(s(i))continue;let r=o((0,m.gU)(i))?.[t];if(!r)continue;let n=function(e,t,i,o){let a=(0,ec.wz)(e,t.key,t.fromLine)[i];return void 0!==a?o.find(e=>e.id===String(a))??null:1===o.length?o[0]:null}(e,i,d,l);if(n)for(let[e,t]of Object.entries(a.claims))!0===r[e]&&n.claimed.add(t)}let c=l.filter(e=>(function(e,t,i){for(let[o,a]of Object.entries(i.claims))if(!0===t[o]&&(e.claimed.has(a)||e.readable&&!Object.prototype.hasOwnProperty.call(e.values,a)))return!1;if(!e.readable)return!0;for(let[o,a]of Object.entries(i.settings)){let i=t[o];if(null==i)continue;let r=function(e,t,i){let o=e.values[t];if(null==o)return i;let a=String(o);return(0,tf.RB)(a)?null:a}(e,o,a);if(null===r)continue;let n=(Array.isArray(i)?i:[i]).filter(e=>"string"==typeof e||"number"==typeof e);if(0!==n.length&&!n.some(e=>r.toUpperCase()===String(e).toUpperCase()))return!1}return!0})(e,i,a)).map(e=>e.id);return{busCount:l.length,compatibleIds:c}}(i,a.domain,a.constraints,e=>r.byId.get(e)?.bus_constraints),l=n>1?s.filter(e=>null!==e):s;if(n>0&&0===l.length){let t=a.domain;try{let r=(0,eh.Zn)(i);(await tZ(e,[a.domain],r,{platform:o?.esphome.platform??null,boardId:o?.id??null})).has(a.domain)&&(t=null)}catch(e){console.warn("[add-component-form] bus provider lookup failed",e)}return{...i2,blocked:t}}if(1===l.length){let e=l[0];return null===e?i2:{...i2,reference:{domain:a.domain,id:e}}}if(l.length>1){let e=iG(t.config_entries,a.domain,[]);if(e?.length===1)return{...i2,picker:e[0]}}return i2}function i3(e,t){if(!t?.length)return e;let i=new Set(t);return e.map(e=>i.has(e.key)&&!e.required?{...e,required:!0}:e)}function i4(e,t){return t&&0!==Object.keys(t).length?e.map(e=>{let i=t[e.key];if(!i?.length||e.multi_value)return e;let o=new Map((e.options??[]).map(e=>[e.value,e]));return{...e,options:i.map(e=>o.get(String(e))??{label:String(e),value:String(e)}),default_value:e.type===tN.Hh.STRING?String(i[0]):i[0]}}):e}let i5=(0,n.AH)`
2460
+ `:n.s6}let iI="__none__";function iB(e,t,i,o){let a=function(e){let t=new Map;for(let i of e)if(i.exclusive_group){let e=t.get(i.exclusive_group)??[];e.push(i),t.set(i.exclusive_group,e)}let i=new Set,o=[];for(let a of e)a.exclusive_group?i.has(a.exclusive_group)||(i.add(a.exclusive_group),o.push(t.get(a.exclusive_group))):o.push(a);return o}(e),{clusters:r,memberKeys:n}=iL(e,i),s=new Map(r.map(e=>[e.members[0].key,e])),l=new Set(t5(e.filter(e=>!e.exclusive_group&&!n.has(e.key)),t,o));return{ordered:a,clusters:r,memberKeys:n,clusterByFirstKey:s,visible:l}}function ij(e){return e.length>0&&e.every(e=>!!e.advanced)}function iK(e,t){return e.some(e=>(0,t6.P)(e,t))}function iU(e,t,i){let o=function(e,t){let i=new Map,{clusters:o}=iL(e,t);for(let e of o)for(let t of e.members)i.set(t.key,e.members);let a=new Map;for(let t of e){if(!t.exclusive_group)continue;let e=a.get(t.exclusive_group)??[];e.push(t),a.set(t.exclusive_group,e),i.set(t.key,e)}return e=>i.get(e)}(e,t);return e=>{let t=o(e);if(t)return ij(t)&&!iK(t,i)}}function iZ(e,t){let{entries:i,requiredGroups:o,values:a,presentComponents:r,targetPlatform:n,formatKeys:s}=e,l=[],d=new Map(i.map(e=>[e.key,e])),c=e=>{let t=d.get(e);return void 0!==t&&(void 0!==(0,g.O6)(a,[e])||(0,tO.VP)(t,a,r,n,void 0,i))},h=e=>e.some(c),p=(e,t)=>"all_or_none"===e||"none_or_all"===e?t:t.filter(c);for(let e of o)!e.keys.some(e=>t.has(e))&&h(e.keys)&&(t8(e.kind,e.keys,a)||l.push({kind:e.kind,keys:s(p(e.kind,e.keys))}));let u=new Map;for(let e of i)e.group&&u.set(e.group,[...u.get(e.group)??[],e.key]);for(let e of u.values())!e.some(e=>t.has(e))&&h(e)&&(t8("all_or_none",e,a)||l.push({kind:"all_or_none",keys:s(p("all_or_none",e))}));return l}function iN(e,t,i){return t4({requiredOnly:!0,showAdvanced:!1,presentComponents:i,board:t,values:e})}function iV(e){return e.replace(/ /g,"_").toLowerCase().replace(/[^a-z0-9_-]/g,"_")}let iH=new Set(["esphome","esp32_ble"]);function iG(e,t,i,o={}){for(let a of e){if(a.type===tN.Hh.NESTED){let e=iG(a.config_entries??[],t,[...i,a.key],o);if(e)return e;continue}if(a.references_component===t){let e=[...i,a.key];if(void 0!==(0,g.O6)(o,e))continue;return e}}return null}function iY(e){let{entries:t,component:i,board:o,yaml:a,prefillReference:r,prefillFields:n,restoredValues:s,localize:l}=e,d=function e(t,i,o,a=!1){let r={};for(let n of t){if(n.type===tN.Hh.NESTED){let t=e(n.config_entries??[],i,o,a);n.required&&null!=n.platform_type&&void 0===t.name&&void 0===t.id&&(t.name=io(n,o)),Object.keys(t).length>0&&(r[n.key]=t);continue}if(n.required||a&&n.from_preset){if(n.references_component&&!n.locked){let e=(0,tM.Zm)(i,n.references_component,[]),t=(a&&n.from_preset&&"string"==typeof n.default_value&&e.some(e=>e.id===n.default_value)?n.default_value:void 0)??(0,tM.z)(e,i)?.id;void 0!==t?r[n.key]=n.multi_value?[t]:t:n.multi_value&&n.required&&(r[n.key]=[]);continue}null!=n.default_value?r[n.key]=n.multi_value?Array.isArray(n.default_value)?[...n.default_value]:[String(n.default_value)]:n.default_value:n.multi_value&&n.required&&(r[n.key]=[])}}return r}(t,a,l,(0,t$.sO)(i.id)),c=d;if(t.find(e=>"id"===e.key&&e.type===tN.Hh.ID)&&void 0===c.id){var h,p,u;let e=(h=i.id,p=!0===i.multi_conf,u=tq(a),p||(0,t$.K8)(h)?tS(h,u):null);null!==e&&(c={...c,id:e})}if(t.find(e=>"name"===e.key&&e.type===tN.Hh.STRING)&&void 0===c.name){let e=function(e,t,i){var o,a;if((0,t$.sO)(e)||iH.has(e))return null;let r=t.trim();if(!r)return null;let n=(o=i,a=(0,tM.iZ)(e).domain,(0,tk.p)(o,"name",a)),s=new Set;for(let e of n){let t=iV(e);t&&s.add(t)}if(!s.has(iV(r)))return r;let l=2,d=`${r} ${l}`;for(;s.has(iV(d));)l++,d=`${r} ${l}`;return d}(i.id,i.name,a);null!==e&&(c={...c,name:e})}if(c=function(e,t,i,o,a){if(!i?.pins?.length||e.includes("."))return o;let r=o,n=new Set;for(let o of t){if(o.type!==tN.Hh.PIN||void 0!==r[o.key])continue;let t=o.key.toLowerCase().replace(/_(pin|gpio)$/,""),s=`${e}_${t}`,l=i.pins.find(e=>e.features.includes(s)&&!a.has(e.gpio)&&!n.has(e.gpio));l&&(n.add(l.gpio),r={...r,[o.key]:l.gpio})}return r}(i.id,t,o,c,(0,tM.zq)(a)),s&&(c={...c,...s}),r){let e=iG(t,r.domain,[],d);e&&(c=(0,g.Oe)(c,e,r.id))}return n&&(c={...c,...n}),c}let iW=new Set(["adc","dac","ota"]);function iJ(e){return e?"featured"===e?"Recommended":e.split("_").filter(e=>e.length>0).map(e=>iW.has(e.toLowerCase())?e.toUpperCase():e[0].toUpperCase()+e.slice(1)).join(" "):""}function iQ(e,t,i){(0,eP.r)(e,t,i)}function iX(e,t,i){let o=e.parentNode??i??null;return(i,a)=>{let r=i?e:o;i||!o||o.isConnected||console.warn(`Dispatching ${t} on a detached anchor; it may go nowhere`),r&&iQ(r,t,a)}}function i0(e){let t=e.parentNode;return iQ(e,"section-mount",{node:e}),()=>iQ(t??e,"section-unmount",{node:e})}class i1{hostConnected(){this._unsubscribe=(0,tH.Ej)(()=>{this._host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}resolve(e){return(0,tH.CQ)(e,this._getPlatform())?.name??e}kickoff(e){let t=this._getApi();if(!t)return;let i=this._getPlatform();for(let o of e)void 0===(0,tH.CQ)(o,i)&&(0,tH.Sn)(t,o,i).catch(()=>{})}constructor(e,t,i){this._host=e,this._getApi=t,this._getPlatform=i,e.addController(this)}}let i2={blocked:null,picker:null,reference:null};async function i6(e,t,i,o){let a=tb(t);if(!a||(0,tM.eN)(i))return i2;let r=await (0,en.ak)(e);if(0===r.byId.size)return i2;let{busCount:n,compatibleIds:s}=function(e,t,i,o){let a=ty[t],r=(0,ev.MT)(e),n=(0,p.D)(e),s=e=>(e.parentKey??e.key)===t,l=r.filter(s).map(t=>{let i=(0,ec.wz)(e,t.key,t.fromLine);return{id:t.id??null,values:i,readable:Object.keys(i).length>0&&!function(e,t){for(let i=t.fromLine-1;i<t.toLine&&i<e.length;i++){let t=e[i];if(/^\s*(?:-\s+)?<<\s*:/.test(t)||t.includes("!include"))return!0}return!1}(n,t),claimed:new Set}});if(0===l.length)return{busCount:0,compatibleIds:[]};if(!a||r.some(e=>(e.parentKey??e.key)==="host"))return{busCount:l.length,compatibleIds:l.map(e=>e.id)};let d=`${t}_id`;for(let i of r){if(s(i))continue;let r=o((0,m.gU)(i))?.[t];if(!r)continue;let n=function(e,t,i,o){let a=(0,ec.wz)(e,t.key,t.fromLine)[i];return void 0!==a?o.find(e=>e.id===String(a))??null:1===o.length?o[0]:null}(e,i,d,l);if(n)for(let[e,t]of Object.entries(a.claims))!0===r[e]&&n.claimed.add(t)}let c=l.filter(e=>(function(e,t,i){for(let[o,a]of Object.entries(i.claims))if(!0===t[o]&&(e.claimed.has(a)||e.readable&&!Object.prototype.hasOwnProperty.call(e.values,a)))return!1;if(!e.readable)return!0;for(let[o,a]of Object.entries(i.settings)){let i=t[o];if(null==i)continue;let r=function(e,t,i){let o=e.values[t];if(null==o)return i;let a=String(o);return(0,tf.RB)(a)?null:a}(e,o,a);if(null===r)continue;let n=(Array.isArray(i)?i:[i]).filter(e=>"string"==typeof e||"number"==typeof e);if(0!==n.length&&!n.some(e=>r.toUpperCase()===String(e).toUpperCase()))return!1}return!0})(e,i,a)).map(e=>e.id);return{busCount:l.length,compatibleIds:c}}(i,a.domain,a.constraints,e=>r.byId.get(e)?.bus_constraints),l=n>1?s.filter(e=>null!==e):s;if(n>0&&0===l.length){let t=a.domain;try{let r=(0,eh.Zn)(i);(await tZ(e,[a.domain],r,{platform:o?.esphome.platform??null,boardId:o?.id??null})).has(a.domain)&&(t=null)}catch(e){console.warn("[add-component-form] bus provider lookup failed",e)}return{...i2,blocked:t}}if(1===l.length){let e=l[0];return null===e?i2:{...i2,reference:{domain:a.domain,id:e}}}if(l.length>1){let e=iG(t.config_entries,a.domain,[]);if(e?.length===1)return{...i2,picker:e[0]}}return i2}function i3(e,t){if(!t?.length)return e;let i=new Set(t);return e.map(e=>i.has(e.key)&&!e.required?{...e,required:!0}:e)}function i4(e,t){return t&&0!==Object.keys(t).length?e.map(e=>{let i=t[e.key];if(!i?.length||e.multi_value)return e;let o=new Map((e.options??[]).map(e=>[e.value,e]));return{...e,options:i.map(e=>o.get(String(e))??{label:String(e),value:String(e)}),default_value:e.type===tN.Hh.STRING?String(i[0]):i[0]}}):e}let i5=(0,n.AH)`
2461
2461
  :host {
2462
2462
  display: block;
2463
2463
  }
@@ -3381,7 +3381,7 @@
3381
3381
  </p>
3382
3382
  ${iC(this.path,this.ctx)}
3383
3383
  </div>
3384
- `;let{items:i}=aq(aC(t)),o=iv(this.entry,this.ctx),a=this.ctx.sectionKey?e.parentToken(this.ctx.sectionKey):"",r=(this._catalog??[]).filter(e=>!a||0===e.applies_to.length||e.applies_to.includes(a)),s=null!==this._catalog&&0===this._catalog.length,l=this._fetchError?(0,n.qy)`<p class="registry-list-fallback">
3384
+ `;let{items:i}=aq(aC(t)),o=iv(this.entry,this.ctx),a=this.ctx.sectionKey?e.parentToken(this.ctx.sectionKey):"",r=(this._catalog??[]).filter(e=>!a||!e.applies_to?.length||e.applies_to.includes(a)),s=null!==this._catalog&&0===this._catalog.length,l=this._fetchError?(0,n.qy)`<p class="registry-list-fallback">
3385
3385
  ${this.ctx.localize("device.registry_list_error")}
3386
3386
  ${this._api?(0,n.qy)`<button type="button" class="multi-btn" @click=${this._retryFetch}>
3387
3387
  ${this.ctx.localize("device.registry_list_retry")}
@@ -4341,7 +4341,7 @@
4341
4341
  </div>
4342
4342
  </div>
4343
4343
  </div>
4344
- `}_onAddDep(e){(0,eP.r)(this,"navigate-to-dep",{domain:e})}_hasRequiredErrors(e){for(let t of e.values())if("validation.required"===t.code)return!0;return!1}_labelForErrorKey(e){let t=(0,t2.vB)(this._entries,e.split("."));return t?io(t,this._localize):e}_anyErrorIsVisible(e,t){var i,o;if(0===e.size)return!1;let a=(i=this._entries,o=this._values,function e(t,i,o,a=[],r=new Set){for(let n of t5(t,i,o)){if(n.type===tN.Hh.NESTED){let t=n.config_entries??[];n.multi_value?(0,g.ly)(i[n.key]).forEach((i,s)=>{e(t,i,o,[...a,n.key,String(s)],r)}):e(t,(0,g.qY)(i[n.key]),o,[...a,n.key],r),r.add([...a,n.key].join("."));continue}n.multi_value&&Array.isArray(i[n.key])&&i[n.key].forEach((e,t)=>{r.add([...a,n.key,String(t)].join("."))}),r.add([...a,n.key].join("."))}return r}(i,o,iN(o,this.board,t)));for(let t of e.keys())if(a.has(t))return!0;return!1}_onValueChange(e){let{path:t,value:i}=e.detail;this._values=(0,g.Oe)(this._values,t,i),clearTimeout(this._liveValidateTimer);let o=t.join("."),a=(0,tO.bj)(this._entries,t,i),r=this._errors,n=(0,tO.iL)(r,o);if(0===a.size)n&&(this._errors=n);else{let e=n??new Map(r),i=null!==n;for(let[t,o]of a)r.has(t)&&(e.set(t,o),i=!0);i&&(this._errors=e),this._liveValidateTimer=setTimeout(()=>{let e=(0,tO.bj)(this._entries,t,(0,g.O6)(this._values,t)),i=(0,tO.iL)(this._errors,o);if(!i&&!e.size)return;let a=i??new Map(this._errors);for(let[t,i]of e)a.set(t,i);this._errors=a},a4.LIVE_VALIDATE_DEBOUNCE_MS)}this._localBlockMessage&&(this._localBlockMessage="")}get _sectionKey(){return(0,t$.Ze)(this.component.id,this.board)}_generateYamlPreview(){let e=[`${this._sectionKey}:`];return e.push(...(0,eh.ym)(this._values," ")),e.join("\n")}_onCancel(){(0,eP.r)(this,"form-cancel")}_onSubmit(){clearTimeout(this._liveValidateTimer),this._localBlockMessage="";let e=this._visibilityPresence(),t=this._missingDeps(e);if(t.length>0){this._localBlockMessage=`${this._depsBlockTitle(t)} (${t.join(", ")})`;return}let i=(0,tO.JK)(this._entries,this._values,e,this.board?.esphome.platform??null);if(i.size>0){if(this._errors=i,!this._anyErrorIsVisible(i,e)){let e=[...i.entries()].map(([e,t])=>`${this._labelForErrorKey(e)}: ${this._localize(t.code,t.params)}`).join("; ");this._localBlockMessage=`${this._localize("device.add_component_hidden_validation_error")} (${e})`}return}this._errors=new Map,this._localBlockMessage="";let o=t1(this._entries,this._values);(0,eP.r)(this,"form-submit",{fields:o})}constructor(...e){super(...e),this._localize=e=>e,this.board=null,this.yaml="",this.resolvedComponents=[],this.resolvedPlatforms=[],this.prefillReference=null,this.prefillFields=null,this.extraRequired=null,this.restoredValues=null,this.optionOverrides=null,this.submitting=!1,this.submitError="",this._values={},this._errors=new Map,this._localBlockMessage="",this._showYaml=!1,this._providedDeps=new Set,this._providesSeq=0,this._busBlockedDep=null,this._busPickerKey=null,this._busAssessSeq=0,this._depResolver=new i1(this,()=>this._api,()=>this.board?.esphome.platform||void 0),this._overlayRequired=(0,c.A)(i3),this._overlayOptions=(0,c.A)(i4),this._mergedExtraRequired=(0,c.A)((e,t)=>t?[...e??[],t]:e),this._initialized=!1,this._widenPresence=(0,c.A)((e,t)=>tP((0,eh.Zn)(e),e,t))}}a4.LIVE_VALIDATE_DEBOUNCE_MS=200,a4.styles=[B.G9,it.z9,e5.V,i5],a3([(0,a.Fg)({context:D.$F,subscribe:!0}),(0,s.wk)()],a4.prototype,"_localize",void 0),a3([(0,a.Fg)({context:D.Ie})],a4.prototype,"_api",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"component",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"board",void 0),a3([(0,s.MZ)()],a4.prototype,"yaml",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"resolvedComponents",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"resolvedPlatforms",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"prefillReference",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"prefillFields",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"extraRequired",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"restoredValues",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"optionOverrides",void 0),a3([(0,s.MZ)({type:Boolean})],a4.prototype,"submitting",void 0),a3([(0,s.MZ)()],a4.prototype,"submitError",void 0),a3([(0,s.wk)()],a4.prototype,"_values",void 0),a3([(0,s.wk)()],a4.prototype,"_errors",void 0),a3([(0,s.wk)()],a4.prototype,"_localBlockMessage",void 0),a3([(0,s.wk)()],a4.prototype,"_showYaml",void 0),a3([(0,s.wk)()],a4.prototype,"_providedDeps",void 0),a3([(0,s.wk)()],a4.prototype,"_busBlockedDep",void 0),a3([(0,s.wk)()],a4.prototype,"_busPickerKey",void 0),a4=a3([(0,s.EM)("esphome-add-component-form")],a4);var a5=i(8719),a9=i(4996),a8=i(9295),a7=i(1188),re=i(1448);class rt{hostConnected(){this._observer.observe(this._host)}hostDisconnected(){this._observer.disconnect()}constructor(e,t){this._host=e,this._observer=new ResizeObserver(t),e.addController(this)}}var ri=i(2743),ro=i(1148);let ra=(0,c.A)(eh.Zn),rr=(0,c.A)(eh.u),rn=(0,c.A)(tC);function rs(e,t){let i=e.fields?.id?.value;return"string"==typeof i&&t.has(i)}function rl(e,t){return!!e.locked_pins&&(0,tM.cN)(t,(0,tM.iZ)(e.component_id).domain,e.locked_pins)}function rd(e){let t=ra(e.yaml),i=rr(e.yaml),o=e.lockedCategories.length>0,a=o?tP(t,e.yaml,e.resolvedComponents):t,r=e._components.filter(t=>(0,tO.Cs)(t.supported_platforms,e.platform)),n=o?new Set(r.map(e=>e.id)):null,s=new Map,l=e.board;if(l)for(let e of l.featured_components??[])s.set((0,t$.m0)(l.id,e.id),e);let d=s.size?rn(e.yaml):new Set;return r.filter(o=>{let r=s.get(o.id);if(r&&(rs(r,d)||rl(r,e.yaml)))return!1;let l=r?.component_id??o.id;return!(!o.multi_conf&&(0,tL.by)(l,t,i)||n&&o.id.includes(".")&&o.dependencies.length>0&&!o.dependencies.every(e=>n.has(e)||(0,tL.p)(a,e)))&&!0})}let rc=(0,c.A)((e,t)=>{let i=e?.featured_bundles??[];if(!e||0===i.length)return new Set;let o=new Map;for(let t of e.featured_components??[]){let e=t.fields?.id?.value;"string"==typeof e&&o.set(t.id,e)}let a=rn(t),r=new Set;for(let e of i){let t=e.component_ids.map(e=>o.get(e)).filter(e=>void 0!==e);t.length>0&&t.every(e=>a.has(e))&&r.add(e.id)}return r});function rh(e){let t=rc(e.board,e.yaml);return(e.board?.featured_bundles??[]).filter(e=>!t.has(e.id))}function rp(e){let t=(e._search??"").trim();return rh(e).filter(e=>(0,ro.K)(t,e.name,e.description,e.id))}function ru(e,t){let i=e.board;if(!i)return 0;let o=i.featured_components??[],a=ra(e.yaml),r=rr(e.yaml),n=o.length?rn(e.yaml):new Set,s=t?.applyQuery??!0,l=s?(e._search??"").trim():"";return o.filter(t=>!rs(t,n)&&!rl(t,e.yaml)&&(!1!==t.multi_conf||!(0,tL.by)(t.component_id,a,r))&&(0,ro.K)(l,t.name??void 0,t.description??void 0,t.id)).length+(s?rp(e):rh(e)).length}function rm(e){let t=e.target;return!t?.closest("a, button")}function rg(e,t){return(0,n.qy)`<span
4344
+ `}_onAddDep(e){(0,eP.r)(this,"navigate-to-dep",{domain:e})}_hasRequiredErrors(e){for(let t of e.values())if("validation.required"===t.code)return!0;return!1}_labelForErrorKey(e){let t=(0,t2.vB)(this._entries,e.split("."));return t?io(t,this._localize):e}_anyErrorIsVisible(e,t){var i,o;if(0===e.size)return!1;let a=(i=this._entries,o=this._values,function e(t,i,o,a=[],r=new Set){for(let n of t5(t,i,o)){if(n.type===tN.Hh.NESTED){let t=n.config_entries??[];n.multi_value?(0,g.ly)(i[n.key]).forEach((i,s)=>{e(t,i,o,[...a,n.key,String(s)],r)}):e(t,(0,g.qY)(i[n.key]),o,[...a,n.key],r),r.add([...a,n.key].join("."));continue}n.multi_value&&Array.isArray(i[n.key])&&i[n.key].forEach((e,t)=>{r.add([...a,n.key,String(t)].join("."))}),r.add([...a,n.key].join("."))}return r}(i,o,iN(o,this.board,t)));for(let t of e.keys())if(a.has(t))return!0;return!1}_onValueChange(e){let{path:t,value:i}=e.detail;this._values=(0,g.Oe)(this._values,t,i),clearTimeout(this._liveValidateTimer);let o=t.join("."),a=(0,tO.bj)(this._entries,t,i),r=this._errors,n=(0,tO.iL)(r,o);if(0===a.size)n&&(this._errors=n);else{let e=n??new Map(r),i=null!==n;for(let[t,o]of a)r.has(t)&&(e.set(t,o),i=!0);i&&(this._errors=e),this._liveValidateTimer=setTimeout(()=>{let e=(0,tO.bj)(this._entries,t,(0,g.O6)(this._values,t)),i=(0,tO.iL)(this._errors,o);if(!i&&!e.size)return;let a=i??new Map(this._errors);for(let[t,i]of e)a.set(t,i);this._errors=a},a4.LIVE_VALIDATE_DEBOUNCE_MS)}this._localBlockMessage&&(this._localBlockMessage="")}get _sectionKey(){return(0,t$.Ze)(this.component.id,this.board)}_generateYamlPreview(){let e=[`${this._sectionKey}:`];return e.push(...(0,eh.ym)(this._values," ")),e.join("\n")}_onCancel(){(0,eP.r)(this,"form-cancel")}_onSubmit(){clearTimeout(this._liveValidateTimer),this._localBlockMessage="";let e=this._visibilityPresence(),t=this._missingDeps(e);if(t.length>0){this._localBlockMessage=`${this._depsBlockTitle(t)} (${t.join(", ")})`;return}let i=(0,tO.JK)(this._entries,this._values,e,this.board?.esphome.platform??null);if(i.size>0){if(this._errors=i,!this._anyErrorIsVisible(i,e)){let e=[...i.entries()].map(([e,t])=>`${this._labelForErrorKey(e)}: ${this._localize(t.code,t.params)}`).join("; ");this._localBlockMessage=`${this._localize("device.add_component_hidden_validation_error")} (${e})`}return}this._errors=new Map,this._localBlockMessage="";let o=t1(this._entries,this._values);(0,eP.r)(this,"form-submit",{fields:o})}constructor(...e){super(...e),this._localize=e=>e,this.board=null,this.yaml="",this.resolvedComponents=[],this.resolvedPlatforms=[],this.prefillReference=null,this.prefillFields=null,this.extraRequired=null,this.restoredValues=null,this.optionOverrides=null,this.submitting=!1,this.submitError="",this._values={},this._errors=new Map,this._localBlockMessage="",this._showYaml=!1,this._providedDeps=new Set,this._providesSeq=0,this._busBlockedDep=null,this._busPickerKey=null,this._busAssessSeq=0,this._depResolver=new i1(this,()=>this._api,()=>this.board?.esphome.platform||void 0),this._overlayRequired=(0,c.A)(i3),this._overlayOptions=(0,c.A)(i4),this._mergedExtraRequired=(0,c.A)((e,t)=>t?[...e??[],t]:e),this._initialized=!1,this._widenPresence=(0,c.A)((e,t)=>tP((0,eh.Zn)(e),e,t))}}a4.LIVE_VALIDATE_DEBOUNCE_MS=200,a4.styles=[B.G9,it.z9,e5.V,i5],a3([(0,a.Fg)({context:D.$F,subscribe:!0}),(0,s.wk)()],a4.prototype,"_localize",void 0),a3([(0,a.Fg)({context:D.Ie})],a4.prototype,"_api",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"component",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"board",void 0),a3([(0,s.MZ)()],a4.prototype,"yaml",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"resolvedComponents",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"resolvedPlatforms",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"prefillReference",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"prefillFields",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"extraRequired",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"restoredValues",void 0),a3([(0,s.MZ)({attribute:!1})],a4.prototype,"optionOverrides",void 0),a3([(0,s.MZ)({type:Boolean})],a4.prototype,"submitting",void 0),a3([(0,s.MZ)()],a4.prototype,"submitError",void 0),a3([(0,s.wk)()],a4.prototype,"_values",void 0),a3([(0,s.wk)()],a4.prototype,"_errors",void 0),a3([(0,s.wk)()],a4.prototype,"_localBlockMessage",void 0),a3([(0,s.wk)()],a4.prototype,"_showYaml",void 0),a3([(0,s.wk)()],a4.prototype,"_providedDeps",void 0),a3([(0,s.wk)()],a4.prototype,"_busBlockedDep",void 0),a3([(0,s.wk)()],a4.prototype,"_busPickerKey",void 0),a4=a3([(0,s.EM)("esphome-add-component-form")],a4);var a5=i(8719),a9=i(4996),a8=i(9295),a7=i(1188),re=i(1448);class rt{hostConnected(){this._observer.observe(this._host)}hostDisconnected(){this._observer.disconnect()}constructor(e,t){this._host=e,this._observer=new ResizeObserver(t),e.addController(this)}}var ri=i(2743),ro=i(1148);let ra=(0,c.A)(eh.Zn),rr=(0,c.A)(eh.u),rn=(0,c.A)(tC);function rs(e,t){let i=e.fields?.id?.value;return"string"==typeof i&&t.has(i)}function rl(e,t){return!!e.locked_pins&&(0,tM.cN)(t,(0,tM.iZ)(e.component_id).domain,e.locked_pins)}function rd(e){let t=ra(e.yaml),i=rr(e.yaml),o=e.lockedCategories.length>0,a=o?tP(t,e.yaml,e.resolvedComponents):t,r=e._components.filter(t=>(0,tO.Cs)(t.supported_platforms,e.platform)),n=o?new Set(r.map(e=>e.id)):null,s=new Map,l=e.board;if(l)for(let e of l.featured_components??[])s.set((0,t$.m0)(l.id,e.id),e);let d=s.size?rn(e.yaml):new Set;return r.filter(o=>{let r=s.get(o.id);if(r&&(rs(r,d)||rl(r,e.yaml)))return!1;let l=r?.component_id??o.id;if(!o.multi_conf&&(0,tL.by)(l,t,i))return!1;let c=o.dependencies??[];return(!(n&&o.id.includes("."))||!(c.length>0)||!!c.every(e=>n.has(e)||(0,tL.p)(a,e)))&&!0})}let rc=(0,c.A)((e,t)=>{let i=e?.featured_bundles??[];if(!e||0===i.length)return new Set;let o=new Map;for(let t of e.featured_components??[]){let e=t.fields?.id?.value;"string"==typeof e&&o.set(t.id,e)}let a=rn(t),r=new Set;for(let e of i){let t=e.component_ids.map(e=>o.get(e)).filter(e=>void 0!==e);t.length>0&&t.every(e=>a.has(e))&&r.add(e.id)}return r});function rh(e){let t=rc(e.board,e.yaml);return(e.board?.featured_bundles??[]).filter(e=>!t.has(e.id))}function rp(e){let t=(e._search??"").trim();return rh(e).filter(e=>(0,ro.K)(t,e.name,e.description,e.id))}function ru(e,t){let i=e.board;if(!i)return 0;let o=i.featured_components??[],a=ra(e.yaml),r=rr(e.yaml),n=o.length?rn(e.yaml):new Set,s=t?.applyQuery??!0,l=s?(e._search??"").trim():"";return o.filter(t=>!rs(t,n)&&!rl(t,e.yaml)&&(!1!==t.multi_conf||!(0,tL.by)(t.component_id,a,r))&&(0,ro.K)(l,t.name??void 0,t.description??void 0,t.id)).length+(s?rp(e):rh(e)).length}function rm(e){let t=e.target;return!t?.closest("a, button")}function rg(e,t){return(0,n.qy)`<span
4345
4345
  id=${e}
4346
4346
  class="component-category-chip component-category-chip--recommended"
4347
4347
  tabindex=${t?"0":"-1"}
@@ -5778,7 +5778,7 @@
5778
5778
  padding: var(--wa-space-xl) var(--wa-space-l);
5779
5779
  font-style: italic;
5780
5780
  }
5781
- `;function r3(e){return e.replace(/ (Component|Configuration)$/,"")||e}function r4(e){return e.slice(e.lastIndexOf(".")+1)}function r5(e){return e.is_entity_container?[e.component_id]:function(e){let{domain:t}=(0,tM.iZ)(e);return t===e?[e]:[e,t]}(e.component_id)}function r9(e,t){return t?[(0,ev.T0)(e,t),e]:[e]}function r8(e,t){return!e.is_device_level&&e.applies_to.some(e=>t.includes(e))}function r7(e,t,i){for(let o of t){let t=e.find(e=>r4(e.id)===i&&r8(e,[o]));if(t)return t}}function ne(e){return e.name?e.name:e.title?m.TM.has(nt(e.component_id))?r3(e.title):e.title:e.id}function nt(e){return(0,tM.iZ)(e).domain}function ni(e){let t=new Map(e.map(e=>[e.id,e]));return e=>{let i=e.parent_id?t.get(e.parent_id):void 0;return i?`${e.component_id} \xb7 ${ne(i)}`:e.component_id}}function no(e,t){if(!e.is_entity_container)return!0;let i=r5(e);return t.some(e=>r8(e,i))}function na(e){return!e.is_entity_container}function nr(e,t){return e.find(e=>no(e,t))}function nn(e,t){return t?e.filter(e=>e.id===t.id||e.parent_id===t.id):e}function ns(e,t){if(!t)return[];let i=r5(t);return e.filter(e=>r8(e,i))}function nl(e,t=e=>e.domain){let i=new Map;for(let o of e){let e=t(o),a=i.get(e)??[];a.push(o),i.set(e,a)}return i}function nd(e,t){return t?e.filter(e=>e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||(e.description??"").toLowerCase().includes(t)):e}function nc(e,t,i,o){var a,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(n=(r<3?a(n):r>3?a(t,i,n):a(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}(0,J.C)({close:r.mdiClose,magnify:r.mdiMagnify});class nh extends n.WF{open(e){if(this._hiding){e&&(this._pending=e);return}e&&(this._request=e,this.kind=e.kind,this.items=e.items,this.devices=e.devices),this._activeTab="action"===this.kind?"by-target":"by-type",this._query="",this._targetOverrides=new Map,this._picked=!1,this._dialog.open=!0}render(){let e="action"===this.kind?this._localize("device.automation_pick_action"):this._localize("device.automation_pick_condition");return(0,n.qy)`<esphome-base-dialog
5781
+ `;function r3(e){return e.replace(/ (Component|Configuration)$/,"")||e}function r4(e){return e.slice(e.lastIndexOf(".")+1)}function r5(e){return e.is_entity_container?[e.component_id]:function(e){let{domain:t}=(0,tM.iZ)(e);return t===e?[e]:[e,t]}(e.component_id)}function r9(e,t){return t?[(0,ev.T0)(e,t),e]:[e]}function r8(e,t){return!e.is_device_level&&(e.applies_to??[]).some(e=>t.includes(e))}function r7(e,t,i){for(let o of t){let t=e.find(e=>r4(e.id)===i&&r8(e,[o]));if(t)return t}}function ne(e){return e.name?e.name:e.title?m.TM.has(nt(e.component_id))?r3(e.title):e.title:e.id}function nt(e){return(0,tM.iZ)(e).domain}function ni(e){let t=new Map(e.map(e=>[e.id,e]));return e=>{let i=e.parent_id?t.get(e.parent_id):void 0;return i?`${e.component_id} \xb7 ${ne(i)}`:e.component_id}}function no(e,t){if(!e.is_entity_container)return!0;let i=r5(e);return t.some(e=>r8(e,i))}function na(e){return!e.is_entity_container}function nr(e,t){return e.find(e=>no(e,t))}function nn(e,t){return t?e.filter(e=>e.id===t.id||e.parent_id===t.id):e}function ns(e,t){if(!t)return[];let i=r5(t);return e.filter(e=>r8(e,i))}function nl(e,t=e=>e.domain){let i=new Map;for(let o of e){let e=t(o),a=i.get(e)??[];a.push(o),i.set(e,a)}return i}function nd(e,t){return t?e.filter(e=>e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||(e.description??"").toLowerCase().includes(t)):e}function nc(e,t,i,o){var a,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(n=(r<3?a(n):r>3?a(t,i,n):a(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}(0,J.C)({close:r.mdiClose,magnify:r.mdiMagnify});class nh extends n.WF{open(e){if(this._hiding){e&&(this._pending=e);return}e&&(this._request=e,this.kind=e.kind,this.items=e.items,this.devices=e.devices),this._activeTab="action"===this.kind?"by-target":"by-type",this._query="",this._targetOverrides=new Map,this._picked=!1,this._dialog.open=!0}render(){let e="action"===this.kind?this._localize("device.automation_pick_action"):this._localize("device.automation_pick_condition");return(0,n.qy)`<esphome-base-dialog
5782
5782
  ?open=${this._dialog.open}
5783
5783
  .label=${e}
5784
5784
  @request-close=${this._onRequestClose}
@@ -6447,7 +6447,7 @@
6447
6447
  .addLabel=${this._localize("device.script_add_parameter")}
6448
6448
  .namePlaceholder=${this._localize("device.script_parameter_name_placeholder")}
6449
6449
  @value-change=${this._onParametersChange}
6450
- ></esphome-callable-params-editor>`}constructor(...e){super(...e),this._scriptComponent=null,this._showAdvanced=!1,this._onAdvancedToggle=e=>{this._showAdvanced=e.detail.show},this._onConfigFormValueChange=e=>{e.stopPropagation();let{path:t,value:i}=e.detail,o=this.value??_(),a=1===t.length&&"id"===t[0]?(0,tw.e)(String(i??"")):i,r=v(o.trigger_params,t,a);if(1===t.length&&"id"===t[0]){let e=String(a??"");e&&(this.location={kind:"script",id:e})}this._engine.withValue({trigger_params:r})},this._onParametersChange=e=>{e.stopPropagation();let t=this.value??_();this._engine.withValue({trigger_params:{...t.trigger_params,parameters:e.detail.value}})}}}nV([(0,s.wk)()],nH.prototype,"_scriptComponent",void 0),nV([(0,s.wk)()],nH.prototype,"_showAdvanced",void 0),nH=nV([(0,s.EM)("esphome-script-editor")],nH),i(2547);var nG=i(6049);class nY{hostConnected(){this._unsubscribe=ab(()=>this._host.requestUpdate())}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}ensure(){let{api:e,platform:t,boardId:i}=this._context();e&&void 0===am(t,i)&&au.triggers.fetch(e,t,i).catch(()=>{})}resolveName(e,t,i){let{platform:o,boardId:a}=this._context(),r=am(o,a);if(!r)return i;let n=e.includes("esphome")?r.find(e=>e.id===t):r7(r,e,t);return n?.name||i}hasTriggersFor(e){let{platform:t,boardId:i}=this._context(),o=am(t,i);return!o||o.some(t=>t.applies_to.some(t=>e.includes(t)))}constructor(e,t){this._host=e,this._context=t,e.addController(this)}}let nW=new Set(["external_components","packages"]),nJ=(0,n.AH)`
6450
+ ></esphome-callable-params-editor>`}constructor(...e){super(...e),this._scriptComponent=null,this._showAdvanced=!1,this._onAdvancedToggle=e=>{this._showAdvanced=e.detail.show},this._onConfigFormValueChange=e=>{e.stopPropagation();let{path:t,value:i}=e.detail,o=this.value??_(),a=1===t.length&&"id"===t[0]?(0,tw.e)(String(i??"")):i,r=v(o.trigger_params,t,a);if(1===t.length&&"id"===t[0]){let e=String(a??"");e&&(this.location={kind:"script",id:e})}this._engine.withValue({trigger_params:r})},this._onParametersChange=e=>{e.stopPropagation();let t=this.value??_();this._engine.withValue({trigger_params:{...t.trigger_params,parameters:e.detail.value}})}}}nV([(0,s.wk)()],nH.prototype,"_scriptComponent",void 0),nV([(0,s.wk)()],nH.prototype,"_showAdvanced",void 0),nH=nV([(0,s.EM)("esphome-script-editor")],nH),i(2547);var nG=i(6049);class nY{hostConnected(){this._unsubscribe=ab(()=>this._host.requestUpdate())}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}ensure(){let{api:e,platform:t,boardId:i}=this._context();e&&void 0===am(t,i)&&au.triggers.fetch(e,t,i).catch(()=>{})}resolveName(e,t,i){let{platform:o,boardId:a}=this._context(),r=am(o,a);if(!r)return i;let n=e.includes("esphome")?r.find(e=>e.id===t):r7(r,e,t);return n?.name||i}hasTriggersFor(e){let{platform:t,boardId:i}=this._context(),o=am(t,i);return!o||o.some(t=>(t.applies_to??[]).some(t=>e.includes(t)))}constructor(e,t){this._host=e,this._context=t,e.addController(this)}}let nW=new Set(["external_components","packages"]),nJ=(0,n.AH)`
6451
6451
  :host {
6452
6452
  display: flex;
6453
6453
  flex-direction: column;
@@ -6659,7 +6659,7 @@
6659
6659
  background: var(--esphome-primary);
6660
6660
  color: var(--esphome-on-primary);
6661
6661
  }
6662
- `;function nQ(e){if(e._draftTimer=null,!e._config)return null;nX(e);let t=(0,m.uv)(e.yaml,e.sectionKey,e.fromLine);if(void 0===t)return e._setDirty(!1),null;let i=(0,u.Nj)(e.yaml,e.sectionKey,e._values,t,{keepEmptyStrings:nG.fq.has(e.sectionKey)});return n0(e,i)}function nX(e){e._config&&(e._fieldErrors=(0,tO.JK)((0,nG.a7)(e.sectionKey,e._config.entries),e._values,e._effectivePresentComponents,e.board?.esphome.platform??null,e.sectionKey))}function n0(e,t){return(e._setDirty(!1),t===e.yaml)?null:(e._lastSelfWrittenYaml=t,iQ(e,"yaml-draft",{configuration:e.configuration,yaml:t,basedOn:e.yaml,node:e}),t)}function n1(e){return null!==e._draftTimer?(clearTimeout(e._draftTimer),nQ(e)??e.yaml):e.yaml}async function n2(e){if(!e._config||e._reloading)return;let t=n1(e),i=(0,m.uv)(t,e.sectionKey,e.fromLine);if(void 0===i){e._error=e._localize("device.section_delete_error");return}e._deleting=!0,e._error="";let o=e._config.title,a=iX(e,"yaml-updated"),r=e.sectionKey,n=e.configuration;try{let s=(0,u.ju)(t,e.sectionKey,i);if(s===t){e._error=e._localize("device.section_delete_error");return}await e._api.updateConfig(n,s),e._setDirty(!1),a(e.isConnected,{configuration:n,yaml:s,basedOn:t,removed:{kind:"component",sectionKey:r,fromLine:i}}),e.isConnected&&e.sectionKey===r&&(0,eP.r)(e,"section-select",{sectionKey:null}),(0,Y.VX)(e._localize("device.section_deleted",{name:o}))}catch(i){let t=(0,tA.K)(i,e._localize,"device.section_delete_error");e._error=t,(0,Y.UG)(e._localize("device.section_delete_error"),{description:t})}finally{e._deleting=!1}}function n6(e){let t=typeof e;return"string"===t||"number"===t||"boolean"===t||"bigint"===t}function n3(e){if(!(0,g.Qd)(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function n4(e,t){let i=null;for(let o of t){if(o.type!==tN.Hh.NESTED)continue;let t=e[o.key];if(null==t)continue;let[a,r]=function(e,t){let i=e.maybe_key??null,o=e.config_entries??[];if(!e.multi_value)return n5(t,i,o);if(Array.isArray(t)){let e=null;return t.forEach((a,r)=>{let[n,s]=n5(a,i,o);n&&((e??=[...t])[r]=s)}),e?[!0,e]:[!1,t]}if(i&&(n6(t)||n3(t))){let[,e]=n5(t,i,o);return[!0,[e]]}return[!1,t]}(o,t);a&&((i??=Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)))[o.key]=r)}return i?[!0,i]:[!1,e]}function n5(e,t,i){return t&&n6(e)?[!0,{[t]:e}]:n3(e)?n4(e,i):[!1,e]}async function n9(e){let t=++e._loadId;e._loading=!0,e._error="",e._setDirty(!1),e._draftTimer&&(clearTimeout(e._draftTimer),e._draftTimer=null),e._lastSelfWrittenYaml=null;try{let i=e.board?.esphome.platform,o=await (0,tH.Sn)(e._api,e.sectionKey,i);if(t!==e._loadId)return;let a=e.yaml;if(o)e._config={section_key:e.sectionKey,section_type:"core",title:o.name,description:o.description,docs_url:o.docs_url,icon:"",image_url:o.image_url,entries:o.config_entries,required_groups:o.required_groups??[]},e._isPlatformDomain=!1,e._isUnknown=!1;else{let i=(0,es.Po)(await (0,en.ak)(e._api)).has(e.sectionKey);if(t!==e._loadId)return;e._config={section_key:e.sectionKey,section_type:"core",title:e.sectionKey,description:"",docs_url:"",icon:"",image_url:"",entries:[],required_groups:[]},e._isPlatformDomain=i,e._isUnknown=!i}let r=(0,m.uv)(a,e.sectionKey,e.fromLine),n=(0,ec.wz)(a,e.sectionKey,r);e._values=function(e,t){let[i,o]=n4(e,t);return i?o:e}((0,oI.Dq)(n,e._config.entries),e._config.entries),e._resolvedFromLine=r,e._presentComponents=(0,eh.Zn)(a)}catch(o){if(t!==e._loadId)return;e._config=null,e._values={};let i=o instanceof Error?o.message:"";e._error=i.includes("timed out")?e._localize("device.load_config_error"):i||e._localize("device.load_config_error")}finally{t===e._loadId&&(e._loading=!1,e._reloading=!1)}}async function n8(e=4){let t=Math.max(1,Math.trunc(e)),{PASSPHRASE_WORDS:o}=await i.e(820).then(i.bind(i,2503)),a=o.length,r=Math.floor(0x100000000/a)*a,n=new Uint32Array(1),s=[];for(;s.length<t;)crypto.getRandomValues(n),n[0]>=r||s.push(o[n[0]%a]);return s.join("-")}function n7(e,t,i,o){var a,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(n=(r<3?a(n):r>3?a(t,i,n):a(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}(0,J.C)({"lock-alert":r.mdiLockAlert});let se=()=>n8(),st={api:{secretSection:"api",markers:["encryption"],copyPrefix:"api_encryption",fields:[{path:["encryption","key"],generate:ii.My,secretField:"key"}]},"ota.esphome":{secretSection:"ota.esphome",markers:["password","encryption"],copyPrefix:"ota_password",fields:[{path:["password"],generate:se,secretField:"password"}],suppressWhen:e=>null!==tc(e)},web_server:{secretSection:"web_server",markers:["auth"],copyPrefix:"web_auth",fields:[{path:["auth","username"],generate:()=>n8(1)},{path:["auth","password"],generate:se,secretField:"password"}]}},si=e=>Object.prototype.hasOwnProperty.call(st,e);class so extends n.WF{get _setting(){return si(this.sectionKey)?st[this.sectionKey]:void 0}willUpdate(e){let t=e.has("yaml")||e.has("fromLine")||e.has("sectionKey"),i=this._devices.find(e=>e.configuration===this.configuration),o=i!==this._device||e.has("_esphomeVersion")||e.has("configuration");this._device=i,(t||o&&this._setting?.suppressWhen)&&(this._markerAbsent=!!this._setting&&!this._markerPresent()&&!this._suppressed())}_resolvedFields(){let e=this._setting;if(!e)return[];let t=i9(this._devices,this.configuration);return e.fields.map(i=>({field:i,key:i.secretField?(0,ir.WA)(e.secretSection,i.secretField,t,!0)[0]??"":""}))}get _ready(){let e=this._resolvedFields();return e.length>0&&e.every(e=>!e.field.secretField||""!==e.key)}_markerPresent(){let e=this._setting;if(!e)return!1;let t=this.sectionKey.split(".")[0],i=RegExp(`^(?:${e.markers.join("|")})\\s*:`);return(0,ec.zZ)((0,p.D)(this.yaml),t,i,this.fromLine)>=0}_suppressed(){let e=this._setting?.suppressWhen;return!!e&&e({device:this._device,yaml:this.yaml,esphomeVersion:this._esphomeVersion})}render(){let e=this._setting;return e&&this._markerAbsent?(0,n.qy)`
6662
+ `;function nQ(e){if(e._draftTimer=null,!e._config)return null;nX(e);let t=(0,m.uv)(e.yaml,e.sectionKey,e.fromLine);if(void 0===t)return e._setDirty(!1),null;let i=(0,u.Nj)(e.yaml,e.sectionKey,e._values,t,{keepEmptyStrings:nG.fq.has(e.sectionKey)});return n0(e,i)}function nX(e){e._config&&(e._fieldErrors=(0,tO.JK)((0,nG.a7)(e.sectionKey,e._config.entries),e._values,e._effectivePresentComponents,e.board?.esphome.platform??null,e.sectionKey))}function n0(e,t){return(e._setDirty(!1),t===e.yaml)?null:(e._lastSelfWrittenYaml=t,iQ(e,"yaml-draft",{configuration:e.configuration,yaml:t,basedOn:e.yaml,node:e}),t)}function n1(e){return null!==e._draftTimer?(clearTimeout(e._draftTimer),nQ(e)??e.yaml):e.yaml}async function n2(e){if(!e._config||e._reloading)return;let t=n1(e),i=(0,m.uv)(t,e.sectionKey,e.fromLine);if(void 0===i){e._error=e._localize("device.section_delete_error");return}e._deleting=!0,e._error="";let o=e._config.title,a=iX(e,"yaml-updated"),r=e.sectionKey,n=e.configuration;try{let s=(0,u.ju)(t,e.sectionKey,i);if(s===t){e._error=e._localize("device.section_delete_error");return}await e._api.updateConfig(n,s),e._setDirty(!1),a(e.isConnected,{configuration:n,yaml:s,basedOn:t,removed:{kind:"component",sectionKey:r,fromLine:i}}),e.isConnected&&e.sectionKey===r&&(0,eP.r)(e,"section-select",{sectionKey:null}),(0,Y.VX)(e._localize("device.section_deleted",{name:o}))}catch(i){let t=(0,tA.K)(i,e._localize,"device.section_delete_error");e._error=t,(0,Y.UG)(e._localize("device.section_delete_error"),{description:t})}finally{e._deleting=!1}}function n6(e){let t=typeof e;return"string"===t||"number"===t||"boolean"===t||"bigint"===t}function n3(e){if(!(0,g.Qd)(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function n4(e,t){let i=null;for(let o of t){if(o.type!==tN.Hh.NESTED)continue;let t=e[o.key];if(null==t)continue;let[a,r]=function(e,t){let i=e.maybe_key??null,o=e.config_entries??[];if(!e.multi_value)return n5(t,i,o);if(Array.isArray(t)){let e=null;return t.forEach((a,r)=>{let[n,s]=n5(a,i,o);n&&((e??=[...t])[r]=s)}),e?[!0,e]:[!1,t]}if(i&&(n6(t)||n3(t))){let[,e]=n5(t,i,o);return[!0,[e]]}return[!1,t]}(o,t);a&&((i??=Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e)))[o.key]=r)}return i?[!0,i]:[!1,e]}function n5(e,t,i){return t&&n6(e)?[!0,{[t]:e}]:n3(e)?n4(e,i):[!1,e]}async function n9(e){let t=++e._loadId;e._loading=!0,e._error="",e._setDirty(!1),e._draftTimer&&(clearTimeout(e._draftTimer),e._draftTimer=null),e._lastSelfWrittenYaml=null;try{let i=e.board?.esphome.platform,o=await (0,tH.Sn)(e._api,e.sectionKey,i);if(t!==e._loadId)return;let a=e.yaml;if(o)e._config={section_key:e.sectionKey,section_type:"core",title:o.name,description:o.description,docs_url:o.docs_url??"",icon:"",image_url:o.image_url??"",entries:o.config_entries,required_groups:o.required_groups??[]},e._isPlatformDomain=!1,e._isUnknown=!1;else{let i=(0,es.Po)(await (0,en.ak)(e._api)).has(e.sectionKey);if(t!==e._loadId)return;e._config={section_key:e.sectionKey,section_type:"core",title:e.sectionKey,description:"",docs_url:"",icon:"",image_url:"",entries:[],required_groups:[]},e._isPlatformDomain=i,e._isUnknown=!i}let r=(0,m.uv)(a,e.sectionKey,e.fromLine),n=(0,ec.wz)(a,e.sectionKey,r);e._values=function(e,t){let[i,o]=n4(e,t);return i?o:e}((0,oI.Dq)(n,e._config.entries),e._config.entries),e._resolvedFromLine=r,e._presentComponents=(0,eh.Zn)(a)}catch(o){if(t!==e._loadId)return;e._config=null,e._values={};let i=o instanceof Error?o.message:"";e._error=i.includes("timed out")?e._localize("device.load_config_error"):i||e._localize("device.load_config_error")}finally{t===e._loadId&&(e._loading=!1,e._reloading=!1)}}async function n8(e=4){let t=Math.max(1,Math.trunc(e)),{PASSPHRASE_WORDS:o}=await i.e(820).then(i.bind(i,2503)),a=o.length,r=Math.floor(0x100000000/a)*a,n=new Uint32Array(1),s=[];for(;s.length<t;)crypto.getRandomValues(n),n[0]>=r||s.push(o[n[0]%a]);return s.join("-")}function n7(e,t,i,o){var a,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(n=(r<3?a(n):r>3?a(t,i,n):a(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}(0,J.C)({"lock-alert":r.mdiLockAlert});let se=()=>n8(),st={api:{secretSection:"api",markers:["encryption"],copyPrefix:"api_encryption",fields:[{path:["encryption","key"],generate:ii.My,secretField:"key"}]},"ota.esphome":{secretSection:"ota.esphome",markers:["password","encryption"],copyPrefix:"ota_password",fields:[{path:["password"],generate:se,secretField:"password"}],suppressWhen:e=>null!==tc(e)},web_server:{secretSection:"web_server",markers:["auth"],copyPrefix:"web_auth",fields:[{path:["auth","username"],generate:()=>n8(1)},{path:["auth","password"],generate:se,secretField:"password"}]}},si=e=>Object.prototype.hasOwnProperty.call(st,e);class so extends n.WF{get _setting(){return si(this.sectionKey)?st[this.sectionKey]:void 0}willUpdate(e){let t=e.has("yaml")||e.has("fromLine")||e.has("sectionKey"),i=this._devices.find(e=>e.configuration===this.configuration),o=i!==this._device||e.has("_esphomeVersion")||e.has("configuration");this._device=i,(t||o&&this._setting?.suppressWhen)&&(this._markerAbsent=!!this._setting&&!this._markerPresent()&&!this._suppressed())}_resolvedFields(){let e=this._setting;if(!e)return[];let t=i9(this._devices,this.configuration);return e.fields.map(i=>({field:i,key:i.secretField?(0,ir.WA)(e.secretSection,i.secretField,t,!0)[0]??"":""}))}get _ready(){let e=this._resolvedFields();return e.length>0&&e.every(e=>!e.field.secretField||""!==e.key)}_markerPresent(){let e=this._setting;if(!e)return!1;let t=this.sectionKey.split(".")[0],i=RegExp(`^(?:${e.markers.join("|")})\\s*:`);return(0,ec.zZ)((0,p.D)(this.yaml),t,i,this.fromLine)>=0}_suppressed(){let e=this._setting?.suppressWhen;return!!e&&e({device:this._device,yaml:this.yaml,esphomeVersion:this._esphomeVersion})}render(){let e=this._setting;return e&&this._markerAbsent?(0,n.qy)`
6663
6663
  <div class="notice" role="note">
6664
6664
  <wa-icon library="mdi" name="lock-alert"></wa-icon>
6665
6665
  <div class="body">
@@ -8798,4 +8798,4 @@
8798
8798
  >
8799
8799
  ${this._localize(t?"device.back_to_dashboard":"command.retry")}
8800
8800
  </wa-button>`,content:()=>n.s6})}_setYaml(e){this._yaml=e,"active"===this._errorHighlight&&(this._errorHighlight="edited")}_onYamlChange(e){this._setYaml(e.detail.value),this._retryPendingFieldLine()}_onYamlDiagnostics(e){if(e.detail.configuration!==this.id)return;"edited"===this._errorHighlight&&this._setHighlight(null,!1);let t=(0,j.cU)(this._yaml,e.detail.mapped);(t.length||this._backendErrors.length)&&(this._backendErrors=t)}_onYamlCursorLine(e){this._clearPendingFieldLine(),this._cancelCursorSwitch();let t=e.detail,i=(0,m.tO)(this._yaml,t.line,t.path??[]);if(!i)return;if(t.viaEdit||t.pointer||this._isSelected((0,m.gU)(i),i.fromLine))return void this._applyCursorMove(t,i);let o=this._selectedSection,a=this._selectedFromLine,r=(0,m.gU)(i);this._cursorSwitchTimer=setTimeout(()=>{if(this._cursorSwitchTimer=null,o!==this._selectedSection||a!==this._selectedFromLine)return;let e=(0,m.fD)(this._yaml,r,i.fromLine);void 0!==e&&this._applyCursorMove(t,{...i,fromLine:e})},100)}_isSelected(e,t){return e===this._selectedSection&&t===this._selectedFromLine}_cancelCursorSwitch(){null!==this._cursorSwitchTimer&&(clearTimeout(this._cursorSwitchTimer),this._cursorSwitchTimer=null)}_applyCursorMove(e,t){let i=e.path??[],o=(0,j.es)(i),a=(0,m.gU)(t);if(this._isSelected(a,t.fromLine)){this._focusFieldPath=o,this._focusYamlPath=e.indexedPath;return}if(!0===e.viaEdit&&null!==this._knownTopLevelKeys&&!this._knownTopLevelKeys.has(t.key)){this._heldUnknownInstance=(0,j.pA)(a,t.fromLine);return}this._heldUnknownInstance=null,this._selectedSection=a,this._selectedFromLine=t.fromLine,this._focusFieldPath=o,this._focusYamlPath=e.indexedPath,this._clearBlockHighlight(),this._updateUrl(),this._kickSectionFlush()}_focusedSection(){if(!this._selectedSection)return;let e=(0,m.MT)(this._yaml);return(void 0!==this._selectedFromLine?e.find(e=>e.fromLine===this._selectedFromLine):void 0)??e.find(e=>(0,m.gU)(e)===this._selectedSection)}_highlightFieldLine(e){let t=this._focusedSection(),i=t?(0,m.of)(this._yaml,t,e):null;return null!==i&&this._setHighlight({fromLine:i,toLine:i},!0),{section:t,found:null!==i}}_onFieldFocus(e){let t=this._focusedFieldPath=e.detail.path;if(!t.length)return;let{section:i,found:o}=this._highlightFieldLine(t);o?this._clearPendingFieldLine():(this._pendingFieldLine=!0,this._pendingFieldSection={section:this._selectedSection,fromLine:this._selectedFromLine},this._setHighlight(i?{fromLine:i.fromLine,toLine:i.toLine}:null,void 0!==i))}_retryPendingFieldLine(){if(this._pendingFieldLine&&this._focusedFieldPath?.length){if(this._pendingFieldSection?.section!==this._selectedSection||this._pendingFieldSection?.fromLine!==this._selectedFromLine)return void this._clearPendingFieldLine();this._highlightFieldLine(this._focusedFieldPath).found&&this._clearPendingFieldLine()}}_clearPendingFieldLine(){this._pendingFieldLine=!1,this._pendingFieldSection=void 0}_onYamlHighlight(e){this._setHighlight(e.detail.range,e.detail.scroll)}_onYamlUserEdit(){this._clearBlockHighlight()}_clearBlockHighlight(){this._highlightRange&&"none"===this._errorHighlight&&this._setHighlight(null,!1)}_setHighlight(e,t,i=!1){this._highlightRange=e,this._scrollToHighlight=t,this._errorHighlight=i&&null!==e?"active":"none"}_onYamlUpdated(e){let{configuration:t,yaml:i,basedOn:o}=e.detail;if(t===this.id){if(o!==this._yaml){this._savedYaml=i,this._rebaseSupersededDelete(e.detail);return}this._setYaml(i),this._savedYaml=i,this._repinSelection(i)}}_repinSelection(e){if(!this._selectedSection)return;let t=(0,m.fD)(e,this._selectedSection,this._selectedFromLine);t!==this._selectedFromLine&&(void 0!==this._pendingFieldSection&&this._pendingFieldSection.fromLine===this._selectedFromLine&&(void 0===t?this._clearPendingFieldLine():this._pendingFieldSection.fromLine=t),this._selectedFromLine=t,this.isConnected&&this._updateUrl())}async _rebaseSupersededDelete(e){let t=this._yaml,i=null;try{i=await C(e,t,this._api)}catch(e){console.error("Re-base of superseded delete failed:",e),i=null}if(e.configuration===this.id){if(null!==i&&t===this._yaml){this._setYaml(i),this._repinSelection(i);return}(0,Y.uA)(this._localize("device.delete_superseded"),{description:this._localize("device.delete_superseded_detail")})}}_onYamlDraft(e){if(e.detail.configuration!==this.id)return;let t=e.detail.node;e.detail.basedOn!==this._yaml&&t!==this._activeSection?(0,Y.uA)(this._localize("device.draft_superseded"),{description:this._localize("device.draft_superseded_detail")}):(this._setYaml(e.detail.yaml),this._repinSelection(e.detail.yaml),this._retryPendingFieldLine())}async _onMigrateConfig(){let e,t=this.id,i=this._yaml;try{({yaml_diff:e}=await this._api.migrateConfig(i))}catch(e){t===this.id&&(0,Y.UG)(this._localize("device.config_migration_failed"),{description:e instanceof Error?e.message:String(e)});return}if(t!==this.id)return;if(i!==this._yaml)return void(0,Y.uA)(this._localize("device.draft_superseded"),{description:this._localize("device.draft_superseded_detail")});if(!e)return void(0,Y.uA)(this._localize("device.config_migration_none"));let o=k(i,e);this._setYaml(o),this._repinSelection(o),(0,Y.VX)(this._localize("device.config_migration_applied"))}_onDisableMacSuffix(){this._applyDraftRewrite(em,"device.mac_suffix_applied")}_onEnableOtaEncryption(){this._applyDraftRewrite(e$,"device.ota_encryption_applied")}_onDropOtaEncryptionKey(){this._applyDraftRewrite(ek,"device.ota_encryption_key_dropped")}_applyDraftRewrite(e,t){let i=e(this._yaml);null!==i&&(this._setYaml(i),this._repinSelection(i),(0,Y.VX)(this._localize(t)))}_onSectionSelect(e){let{sectionKey:t,fromLine:i}=e.detail;if(this._heldUnknownInstance=null,this._cancelCursorSwitch(),null!==t&&this._isSelected(t,i)){this._drawerOpen=!1;return}this._drawerOpen=!1;let o=this._selectedSection,a=this._selectedFromLine;null===t?this._sectionHistory=[]:null!==o&&(this._sectionHistory=[...this._sectionHistory,{key:o,fromLine:a}]),this._selectedSection=t,this._selectedFromLine=null!==t&&void 0!==i?(0,m.fD)(this._yaml,t,i):void 0,this._focusFieldPath=void 0,this._focusYamlPath=void 0,this._updateUrl(),this._kickSectionFlush()}_kickSectionFlush(){try{Promise.resolve(this._activeSection?.flushPending()).catch(e=>console.error("Outgoing section flush failed:",e))}catch(e){console.error("Outgoing section flush failed:",e)}}_kickKnownKeys(){this._catalogKicked||(this._catalogKicked=!0,(0,en.ak)(this._api).then(e=>{this._knownTopLevelKeys=(0,es.Bt)(e),null===this._knownTopLevelKeys&&(this._catalogKicked=!1)}))}_readUrlParam(e,t){var i;return i=window.location.search,new URLSearchParams(i).get(e)??t}_readUrlLine(){let e=new URLSearchParams(window.location.search).get("line");if(!e)return;let t=Number(e);return Number.isNaN(t)?void 0:t}_readUrlSections(){let e;return(e=new URLSearchParams(window.location.search).get("open"))?e.split(",").map(Number).filter(e=>!Number.isNaN(e)):[]}_updateUrl(){var e,t,i;let o,a,r,n=(e=window.location.search,t=window.location.pathname,i={selectedSection:this._selectedSection,selectedFromLine:this._selectedFromLine,openSections:this._openSections},(o=new URLSearchParams(e)).delete("reveal"),i.selectedSection?(o.set("section",i.selectedSection),void 0!==i.selectedFromLine?o.set("line",String(i.selectedFromLine)):o.delete("line")):(o.delete("section"),o.delete("line")),(a=[...i.openSections]).length>0?o.set("open",a.join(",")):o.delete("open"),r=o.toString(),`${t}${r?`?${r}`:""}`);window.history.replaceState(window.history.state,"",n)}constructor(...e){super(...e),this._localize=e=>e,this._devices=[],this._devicesLoaded=!1,this._apiConnected=!1,this._activeJobs=new Map,this.id="",this._justCreated=!1,this._layout="both",this._tourLayout=new T.d_(this,()=>this._layout,e=>{this._layout=e}),this._openSections=new Set(this._readUrlSections()),this._providedResolvedComponents=[],this._providedResolvedPlatforms=[],this._board=null,this._platformReady=!1,this._loadedBoardId=null,this._highlightRange=null,this._scrollToHighlight=!1,this._errorHighlight="none",this._selectedSection=this._readUrlParam("section",null),this._pendingUrlLine=this._readUrlLine(),this._pendingReveal=null!==this._readUrlParam("reveal",null),this._backendErrors=[],this._heldUnknownInstance=null,this._cursorSwitchTimer=null,this._knownTopLevelKeys=null,this._catalogKicked=!1,this._instanceBackendErrors=(0,c.A)(j.Oq),this._baseErrorCounts=(0,c.A)(j.lt),this._pendingFieldLine=!1,this._sectionHistory=[],this._drawerOpen=!1,this._navCollapsed=!1,this._isMobile=window.matchMedia("(max-width: 900px)").matches,this._mql=window.matchMedia("(max-width: 900px)"),this._onMqlChange=e=>{this._isMobile=e.matches},this._yaml="",this._load=new Z.r(this,{api:()=>this._api,connected:()=>this._apiConnected,configuration:()=>this.id,attempts:4,timeoutMs:3e4,commit:e=>{this._yaml=e,this._savedYaml=e},onReady:()=>this._maybeResolveLineFromUrl(),onApiError:e=>e.errorCode===h.O.NOT_FOUND?"missing":void 0}),this._savedYaml="",this._saving=!1,this._activeSection=null,this._sectionDirty=!1,this._suppressBoardPrompt=!1,this._boardPromptShownFor=null,this._validationErrorCount=0,this._validationFirstLine=0,this._validationFirstCol=0,this._validationFirstMessage="",this._validationFirstFile="",this._onPostInstallShowLogs=(0,W.ei)(()=>this._logsDialog,()=>this._localize),this._installCtrl=this._createInstallController(),this._unsavedGuard=new et._,this._leaveGuard=new G.KO(this,{confirmLeave:()=>this._confirmLeave(),isDirty:()=>(this._kickSectionFlush(),this._isDirty||(this._activeSection?.lastFlushFailed??!1)),url:()=>`/device/${this.id}`}),this._onUnsavedDiscard=()=>this._unsavedGuard.onDiscard(),this._onUnsavedSave=()=>this._unsavedGuard.onSave(),this._onUnsavedCancel=()=>this._unsavedGuard.onCancel(),this._confirmLeave=async()=>{let e=!1,t=!this._saving&&null===this._pendingValidationResolve;t&&(this._saving=!0);try{await this._activeSection?.flushPending()}catch(t){console.error("Section flush before leave failed:",t),e=!0}finally{t&&(this._saving=!1)}let i=()=>this._activeSection?.lastFlushFailed??!1;return await this._unsavedGuard.run({dirty:e||i()||this._isDirty,open:()=>this._unsavedDialog?.open(),save:async()=>!!await this._saveYaml()&&(!i()||((0,Y.UG)(this._localize("device.leave_last_change_unsaved")),!1))})},this._onBeforeUnload=e=>{this._kickSectionFlush(),(this._isDirty||this._activeSection?.lastFlushFailed)&&(e.preventDefault(),e.returnValue="")},this._onKeydown=e=>{if("Escape"!==e.key||e.defaultPrevented)return;let t=e.composedPath()[0];if(!(0,ee.t)(t)){if(this._drawerOpen){e.preventDefault(),this._drawerOpen=!1;return}e.preventDefault(),(0,G.SJ)()}},this._dismissJustCreated=()=>{this._justCreated=!1},this._onChangeBoard=async e=>{let t=e.detail?.boardId,i=this._device;if(t&&i&&t!==i.board_id){if(this._isDirty)return void(0,Y.UG)(this._localize("device.change_board_unsaved"));await (0,U.Xt)(this._api,this._localize,i.configuration,t)}},this._pendingValidationResolve=null,this._saveYaml=async()=>{if(this._saving||null!==this._pendingValidationResolve)return!1;this._saving=!0;try{if(await this._activeSection?.flushPending(),!this._isYamlDirty)return!0;if(this.id)try{let e=(0,el.mL)(this.id,this._yaml)??await this._api.validateYaml(this.id,this._yaml),t=(0,eS.tu)(e,this._yaml,this._localize);if(t.count>0){this._validationErrorCount=t.count,this._validationFirstLine=t.first?.line??0,this._validationFirstCol=t.first?.col??0,this._validationFirstMessage=t.first?.message??"";let e=t.first?.file??null;return this._validationFirstFile=e&&this.id&&!(0,eS.lg)(e,this.id)?(0,eS.P8)(e):"",new Promise(e=>{this._pendingValidationResolve=e,this._yamlValidationDialog.open()})}}catch(e){console.debug("[save-yaml] validate_yaml failed, saving anyway:",e)}return await this._doSaveYaml()}finally{this._saving=!1}},this._doSaveYaml=async()=>{let e=this._savedYaml;this._savedYaml=this._yaml,this._saving=!0;let t=!0;try{await this._api.updateConfig(this.id,this._yaml)}catch(i){(i instanceof Error?i.message:"").includes("timed out")||(t=!1,this._savedYaml=e,console.error("Failed to save YAML:",i))}finally{this._saving=!1}t&&"none"!==this._errorHighlight&&this._setHighlight(null,!1);let i=t?"device.yaml_saved":"device.yaml_save_error";return(t?Y.VX:Y.UG)(this._localize(i)),t&&this._maybePromptBoardReselect(),t},this._onRequestChangeBoard=e=>{let t=e.detail.configuration===this.id&&!this._isDirty;(0,U.UM)(this._boardReselectDialog,{configuration:e.detail.configuration,yaml:t?this._yaml:void 0})},this._onValidationSaveAnyway=async()=>{let e=await this._doSaveYaml();this._resolveValidationPrompt(e)},this._onValidationGoTo=e=>{this._jumpToErrorLine(e.detail.line),this._resolveValidationPrompt(!1)},this._onEditorGoToLine=e=>{this._jumpToErrorLine(e.detail.line)},this._onValidationCancel=()=>{this._resolveValidationPrompt(!1)},this._onValidateClick=()=>{this._device&&(this._commandDialog.configuration=this._device.configuration,this._commandDialog.name=this._device.friendly_name||this._device.name,this._commandDialog.open("validate"))},this._installAfterSave=async e=>{let t;if(this._showActiveJobProgress())return;this._suppressBoardPrompt=!0;try{t=await this._saveYaml()}catch(e){console.error("Failed to save before install:",e),(0,Y.UG)(this._localize("device.yaml_save_error"));return}finally{this._suppressBoardPrompt=!1}if(!t)return;let i=async()=>{try{await e()}catch(e){console.error("Install entry failed:",e),(0,Y.UG)(this._localize("device.install_start_failed"))}};await this._installChipDisagreement()&&await this._openBoardReselect({onApplied:()=>void i()})||await i()},this._saveThenInstall=()=>this._installAfterSave(this._installCtrl.onInstall),this._saveThenUpdate=()=>this._installAfterSave(this._installCtrl.onUpdate),this._onCleanBuild=e=>{this._cleanBuild(e.detail)},this._onEditorOpenLogs=()=>this._installCtrl.onLogs(),this._onEditorCleanBuild=()=>{this._device&&this._cleanBuild(this._device)},this._onRequestOpenEditor=e=>{e.stopPropagation(),e.detail.configuration!==this._device?.configuration&&(0,G.oo)(`/device/${encodeURIComponent(e.detail.configuration)}`)},this._onRequestDownloadFirmware=e=>this._firmwareDialog.downloadArtifacts(e.detail),this._onBack=()=>{this._heldUnknownInstance=null;let e=this._sectionHistory.length?this._sectionHistory[this._sectionHistory.length-1]:null;e?(this._sectionHistory=this._sectionHistory.slice(0,-1),this._selectedSection=e.key,this._selectedFromLine=(0,m.fD)(this._yaml,e.key,e.fromLine)):(this._selectedSection=null,this._selectedFromLine=void 0),this._setHighlight(null,!1),this._updateUrl(),this._kickSectionFlush()},this._onNavExpand=()=>{if(this._isMobile){this._drawerOpen=!0;return}this._navCollapsed=!1,this._api.updatePreferences({navigator_visible:!0}).catch(()=>{})},this._onNavCollapse=()=>{if(this._isMobile){this._drawerOpen=!1;return}this._navCollapsed=!0,this._api.updatePreferences({navigator_visible:!1}).catch(()=>{})},this._onSectionMount=e=>{this._activeSection=e.detail.node,this._sectionDirty=e.detail.node.dirty},this._onSectionUnmount=e=>{this._activeSection===e.detail.node&&(this._activeSection=null,this._sectionDirty=!1)},this._onSectionDirtyChange=e=>{this._activeSection===e.detail.node&&(this._sectionDirty=e.detail.dirty)}}}lt.styles=[B.G9,I.I,eA],le([(0,a.Fg)({context:D.$F,subscribe:!0}),(0,s.wk)()],lt.prototype,"_localize",void 0),le([(0,a.Fg)({context:D.xJ,subscribe:!0}),(0,s.wk)()],lt.prototype,"_devices",void 0),le([(0,a.Fg)({context:D.UL,subscribe:!0}),(0,s.wk)()],lt.prototype,"_devicesLoaded",void 0),le([(0,a.Fg)({context:D.Lh,subscribe:!0}),(0,s.wk)()],lt.prototype,"_apiConnected",void 0),le([(0,a.Fg)({context:D.Ie})],lt.prototype,"_api",void 0),le([(0,a.Fg)({context:D.EM,subscribe:!0}),(0,s.wk)()],lt.prototype,"_activeJobs",void 0),le([(0,s.MZ)()],lt.prototype,"id",void 0),le([(0,s.wk)()],lt.prototype,"_justCreated",void 0),le([(0,s.wk)()],lt.prototype,"_layout",void 0),le([(0,s.wk)()],lt.prototype,"_openSections",void 0),le([(0,a.Gt)({context:D.I9}),(0,s.wk)()],lt.prototype,"_providedResolvedComponents",void 0),le([(0,a.Gt)({context:D.YY}),(0,s.wk)()],lt.prototype,"_providedResolvedPlatforms",void 0),le([(0,s.wk)()],lt.prototype,"_board",void 0),le([(0,s.wk)()],lt.prototype,"_platformReady",void 0),le([(0,s.wk)()],lt.prototype,"_highlightRange",void 0),le([(0,s.wk)()],lt.prototype,"_scrollToHighlight",void 0),le([(0,s.wk)()],lt.prototype,"_selectedSection",void 0),le([(0,s.wk)()],lt.prototype,"_selectedFromLine",void 0),le([(0,s.wk)()],lt.prototype,"_focusFieldPath",void 0),le([(0,s.wk)()],lt.prototype,"_focusYamlPath",void 0),le([(0,s.wk)()],lt.prototype,"_backendErrors",void 0),le([(0,s.wk)()],lt.prototype,"_heldUnknownInstance",void 0),le([(0,s.wk)()],lt.prototype,"_sectionHistory",void 0),le([(0,s.wk)()],lt.prototype,"_drawerOpen",void 0),le([(0,s.wk)()],lt.prototype,"_navCollapsed",void 0),le([(0,s.wk)()],lt.prototype,"_isMobile",void 0),le([(0,s.wk)()],lt.prototype,"_yaml",void 0),le([(0,s.wk)()],lt.prototype,"_savedYaml",void 0),le([(0,s.wk)()],lt.prototype,"_saving",void 0),le([(0,s.P)("esphome-unsaved-changes-dialog")],lt.prototype,"_unsavedDialog",void 0),le([(0,s.wk)()],lt.prototype,"_sectionDirty",void 0),le([(0,s.P)("esphome-command-dialog")],lt.prototype,"_commandDialog",void 0),le([(0,s.P)("esphome-firmware-install-dialog")],lt.prototype,"_firmwareDialog",void 0),le([(0,s.P)("esphome-logs-dialog")],lt.prototype,"_logsDialog",void 0),le([(0,s.P)("esphome-yaml-validation-dialog")],lt.prototype,"_yamlValidationDialog",void 0),le([(0,s.P)("esphome-board-reselect-dialog")],lt.prototype,"_boardReselectDialog",void 0),le([(0,s.wk)()],lt.prototype,"_validationErrorCount",void 0),le([(0,s.wk)()],lt.prototype,"_validationFirstLine",void 0),le([(0,s.wk)()],lt.prototype,"_validationFirstCol",void 0),le([(0,s.wk)()],lt.prototype,"_validationFirstMessage",void 0),le([(0,s.wk)()],lt.prototype,"_validationFirstFile",void 0),lt=le([(0,s.EM)("esphome-page-device")],lt)}}]);
8801
- //# sourceMappingURL=170.0a95e6a58f6783c9.js.map
8801
+ //# sourceMappingURL=170.9cc3c2fb1dbe896c.js.map