mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-02 21:01:21 +00:00
build: prepare v1.71.0-beta.2 candidate
Issue: #426 Issue: #427 Issue: #428 Issue: #431 Issue: #432 Issue: #434 User-Visible: no
This commit is contained in:
@@ -51,7 +51,7 @@ SCHEDULED_GRACE_S = 30 * 24 * 3600
|
||||
FILES_DIR = "houseplan/files"
|
||||
ASSETS_DIR = "houseplan/assets"
|
||||
CONF_ADMIN_ONLY = "admin_only"
|
||||
VERSION = "1.71.0-beta.1"
|
||||
VERSION = "1.71.0-beta.2"
|
||||
DECOR_ASSETS_API_VERSION = 1
|
||||
|
||||
# #43: the support transport is deliberately not configurable. A user supplied
|
||||
|
||||
@@ -1,125 +1,125 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274",
|
||||
"fingerprint": "e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec",
|
||||
"entry": "houseplan-card.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js",
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 291067,
|
||||
"initialViewGzipBytes": 291069,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/de-RKtXul6Y.js",
|
||||
"houseplan-assets/editor-D6wVlv9q.js",
|
||||
"houseplan-assets/fr-Cp6oi90d.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BENrZzdh.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/de-D_5HnJeM.js",
|
||||
"houseplan-assets/editor-CqQRQq4C.js",
|
||||
"houseplan-assets/fr-DpKqMyVB.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js"
|
||||
],
|
||||
"lazyGzipBytes": 215506,
|
||||
"lazyGzipBytes": 215495,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/editor-D6wVlv9q.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BENrZzdh.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/editor-CqQRQq4C.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 159815,
|
||||
"lazyEditorGzipBytes": 159809,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 14131,
|
||||
"lazyOnboardingGzipBytes": 14126,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-RKtXul6Y.js",
|
||||
"houseplan-assets/fr-Cp6oi90d.js"
|
||||
"houseplan-assets/de-D_5HnJeM.js",
|
||||
"houseplan-assets/fr-DpKqMyVB.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 48737,
|
||||
"lazyLocaleGzipBytes": 48734,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"sha256": "46e13a967a84ce24f3e31e01f3e51733efa61631b42e0ff3f94ed3daecac9ac2",
|
||||
"path": "houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"sha256": "b67eb5e04c63007ff8ca7ff5623a7dcae44ff3c6f3ca5528ac7f1d389f75c4ec",
|
||||
"rawBytes": 20996,
|
||||
"gzipBytes": 7177,
|
||||
"gzipBytes": 7174,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-RKtXul6Y.js",
|
||||
"sha256": "957316cc1ca9c874768c511bb282d4c603cea1eebb1af75170367d1288e1578d",
|
||||
"path": "houseplan-assets/de-D_5HnJeM.js",
|
||||
"sha256": "ad2dde1407ae850f963cf81a8c0218c0e6646a86cf3bceb61a305cd54f60dad9",
|
||||
"rawBytes": 81632,
|
||||
"gzipBytes": 24640,
|
||||
"gzipBytes": 24639,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-D6wVlv9q.js",
|
||||
"sha256": "304f38472f09805a10d812a4cd606b70d591bafae73885821c3b2c37a5cec49e",
|
||||
"path": "houseplan-assets/editor-CqQRQq4C.js",
|
||||
"sha256": "5007144deff010072eb0a6a6d3e5565064a60575baa173a0250cec89b1478823",
|
||||
"rawBytes": 3826,
|
||||
"gzipBytes": 1581,
|
||||
"gzipBytes": 1580,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-Cp6oi90d.js",
|
||||
"sha256": "06efef049665b3f0caa94674f840f04768aca4bede2e9b715cb8cdd26cba028d",
|
||||
"path": "houseplan-assets/fr-DpKqMyVB.js",
|
||||
"sha256": "3c03580d357a96678d80b012923e7e28e989fe6a612fe0342d5d041e2d37d4f1",
|
||||
"rawBytes": 83754,
|
||||
"gzipBytes": 24097,
|
||||
"gzipBytes": 24095,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-BF6i5sqv.js",
|
||||
"sha256": "4a9deb476f6b6c2e0a074f42902603386cffde4205b3c734b989f439d8e3e74b",
|
||||
"path": "houseplan-assets/houseplan-card-o7i25aVl.js",
|
||||
"sha256": "9b3942532fe83c5d49791859c419fb6f35a8db86c01a09ddccb1a2ec186bfbd3",
|
||||
"rawBytes": 1033268,
|
||||
"gzipBytes": 290270,
|
||||
"gzipBytes": 290274,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-RKtXul6Y.js",
|
||||
"houseplan-assets/editor-D6wVlv9q.js",
|
||||
"houseplan-assets/fr-Cp6oi90d.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BENrZzdh.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js"
|
||||
"houseplan-assets/de-D_5HnJeM.js",
|
||||
"houseplan-assets/editor-CqQRQq4C.js",
|
||||
"houseplan-assets/fr-DpKqMyVB.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-BENrZzdh.js",
|
||||
"sha256": "a3a99a6b8c994d09499a8506c94a70e7fe9d6127d71c3edaa3240a830234b26c",
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js",
|
||||
"sha256": "b2a69132a223d6c5b06b8d4a11b19416d33582bae2d39b2448ecc41f44ba98b2",
|
||||
"rawBytes": 576032,
|
||||
"gzipBytes": 151057,
|
||||
"gzipBytes": 151055,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js",
|
||||
"sha256": "006ccd4f8214f255f0009d5c4894f7bd6d07a6f6997a231515eb7ebb03977090",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js",
|
||||
"sha256": "1324b8003d727c99c6ce6d9e48598032b29782f8c8c7b783c1b1073e9b79d9f2",
|
||||
"rawBytes": 28088,
|
||||
"gzipBytes": 6954,
|
||||
"gzipBytes": 6952,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "c9808b3cea6e687c2dd48e069809e35255f82db260183416256d1e6c70c97c11",
|
||||
"sha256": "d6c8be124ce907703e76f24a5e9fedb3abd945213d7befb1f97d1635d82f4830",
|
||||
"rawBytes": 1183,
|
||||
"gzipBytes": 797,
|
||||
"gzipBytes": 795,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";import{b as e,l as o,t,dg as s,A as a,dh as i,di as l,dj as n,E as r,c}from"./houseplan-card-BF6i5sqv.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";import{b as e,l as o,t,dg as s,A as a,dh as i,di as l,dj as n,E as r,c}from"./houseplan-card-o7i25aVl.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";import{l as t,aE as s,A as e,t as o,c as a,c4 as l,c5 as i,c6 as h,c7 as c,aB as n,c8 as r,cd as p,c9 as _,ca as d,cb as u,cc as g,d5 as m,aA as b,aC as $,d6 as v}from"./houseplan-card-BF6i5sqv.js";import{i as f,c as y,e as w,r as D,a as k,b as S,s as C,t as M}from"./backdrop-pick-DeLnU0B5.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";import{l as t,aE as s,A as e,t as o,c as a,c4 as l,c5 as i,c6 as h,c7 as c,aB as n,c8 as r,cd as p,c9 as _,ca as d,cb as u,cc as g,d5 as m,aA as b,aC as $,d6 as v}from"./houseplan-card-o7i25aVl.js";import{i as f,c as y,e as w,r as D,a as k,b as S,s as C,t as M}from"./backdrop-pick-Dg2Uytel.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
.text=${o(h,l)} .ariaLabel=${o(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const o=l(e),a=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===o.fill?{...a||h,a:0}:a;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:o.showBorders,showNames:o.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:o.hideDecor,hideOpenings:o.hideOpenings,roomColor:o.color,roomOpacity:o.opacity,fillMode:"none"===o.fill?"custom":o.fill,customFill:p,glowEnabled:o.glow,bgColor:o.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:o.tempMin,tempMax:o.tempMax,showLqi:o.showLqi??this.host._config?.show_signal??!0,cardFontScale:o.cardFontScale,labelTemp:o.labelTemp,labelHum:o.labelHum,labelLqi:o.labelLqi,labelLight:o.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...f(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:d,tempMax:_,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const o=await y(e);if("reject"===o.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===o.kind)return void(this.host._backdropGuard=o.state);const a=await w(e,o.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:a})}_renderBackdropGuard(){return D(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),o=this.host._spaceDialog;return o&&o.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...o,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const o=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),a=this.host._spaceDialog,l=a?.saved?.find(s=>s.name===t);if(o&&a&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==a.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return a`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return a`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return a`<div class="savedplans">
|
||||
${s.map(s=>{return a`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";try{await import("./houseplan-assets/houseplan-card-BF6i5sqv.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale entry: the main chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";try{await import("./houseplan-assets/houseplan-card-o7i25aVl.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale entry: the main chunk is unavailable",e)}
|
||||
|
||||
@@ -16,5 +16,5 @@
|
||||
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
|
||||
"requirements": [],
|
||||
"single_config_entry": true,
|
||||
"version": "1.71.0-beta.1"
|
||||
"version": "1.71.0-beta.2"
|
||||
}
|
||||
|
||||
Vendored
+55
-55
@@ -1,125 +1,125 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274",
|
||||
"fingerprint": "e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec",
|
||||
"entry": "houseplan-card.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js",
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 291067,
|
||||
"initialViewGzipBytes": 291069,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/de-RKtXul6Y.js",
|
||||
"houseplan-assets/editor-D6wVlv9q.js",
|
||||
"houseplan-assets/fr-Cp6oi90d.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BENrZzdh.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/de-D_5HnJeM.js",
|
||||
"houseplan-assets/editor-CqQRQq4C.js",
|
||||
"houseplan-assets/fr-DpKqMyVB.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js"
|
||||
],
|
||||
"lazyGzipBytes": 215506,
|
||||
"lazyGzipBytes": 215495,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/editor-D6wVlv9q.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BENrZzdh.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/editor-CqQRQq4C.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 159815,
|
||||
"lazyEditorGzipBytes": 159809,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 14131,
|
||||
"lazyOnboardingGzipBytes": 14126,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-RKtXul6Y.js",
|
||||
"houseplan-assets/fr-Cp6oi90d.js"
|
||||
"houseplan-assets/de-D_5HnJeM.js",
|
||||
"houseplan-assets/fr-DpKqMyVB.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 48737,
|
||||
"lazyLocaleGzipBytes": 48734,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"sha256": "46e13a967a84ce24f3e31e01f3e51733efa61631b42e0ff3f94ed3daecac9ac2",
|
||||
"path": "houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"sha256": "b67eb5e04c63007ff8ca7ff5623a7dcae44ff3c6f3ca5528ac7f1d389f75c4ec",
|
||||
"rawBytes": 20996,
|
||||
"gzipBytes": 7177,
|
||||
"gzipBytes": 7174,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-RKtXul6Y.js",
|
||||
"sha256": "957316cc1ca9c874768c511bb282d4c603cea1eebb1af75170367d1288e1578d",
|
||||
"path": "houseplan-assets/de-D_5HnJeM.js",
|
||||
"sha256": "ad2dde1407ae850f963cf81a8c0218c0e6646a86cf3bceb61a305cd54f60dad9",
|
||||
"rawBytes": 81632,
|
||||
"gzipBytes": 24640,
|
||||
"gzipBytes": 24639,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-D6wVlv9q.js",
|
||||
"sha256": "304f38472f09805a10d812a4cd606b70d591bafae73885821c3b2c37a5cec49e",
|
||||
"path": "houseplan-assets/editor-CqQRQq4C.js",
|
||||
"sha256": "5007144deff010072eb0a6a6d3e5565064a60575baa173a0250cec89b1478823",
|
||||
"rawBytes": 3826,
|
||||
"gzipBytes": 1581,
|
||||
"gzipBytes": 1580,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-Cp6oi90d.js",
|
||||
"sha256": "06efef049665b3f0caa94674f840f04768aca4bede2e9b715cb8cdd26cba028d",
|
||||
"path": "houseplan-assets/fr-DpKqMyVB.js",
|
||||
"sha256": "3c03580d357a96678d80b012923e7e28e989fe6a612fe0342d5d041e2d37d4f1",
|
||||
"rawBytes": 83754,
|
||||
"gzipBytes": 24097,
|
||||
"gzipBytes": 24095,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-BF6i5sqv.js",
|
||||
"sha256": "4a9deb476f6b6c2e0a074f42902603386cffde4205b3c734b989f439d8e3e74b",
|
||||
"path": "houseplan-assets/houseplan-card-o7i25aVl.js",
|
||||
"sha256": "9b3942532fe83c5d49791859c419fb6f35a8db86c01a09ddccb1a2ec186bfbd3",
|
||||
"rawBytes": 1033268,
|
||||
"gzipBytes": 290270,
|
||||
"gzipBytes": 290274,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-RKtXul6Y.js",
|
||||
"houseplan-assets/editor-D6wVlv9q.js",
|
||||
"houseplan-assets/fr-Cp6oi90d.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BENrZzdh.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js"
|
||||
"houseplan-assets/de-D_5HnJeM.js",
|
||||
"houseplan-assets/editor-CqQRQq4C.js",
|
||||
"houseplan-assets/fr-DpKqMyVB.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-BENrZzdh.js",
|
||||
"sha256": "a3a99a6b8c994d09499a8506c94a70e7fe9d6127d71c3edaa3240a830234b26c",
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-D0JYjEs4.js",
|
||||
"sha256": "b2a69132a223d6c5b06b8d4a11b19416d33582bae2d39b2448ecc41f44ba98b2",
|
||||
"rawBytes": 576032,
|
||||
"gzipBytes": 151057,
|
||||
"gzipBytes": 151055,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-B0I6_T_V.js",
|
||||
"sha256": "006ccd4f8214f255f0009d5c4894f7bd6d07a6f6997a231515eb7ebb03977090",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-C-SJxeJ_.js",
|
||||
"sha256": "1324b8003d727c99c6ce6d9e48598032b29782f8c8c7b783c1b1073e9b79d9f2",
|
||||
"rawBytes": 28088,
|
||||
"gzipBytes": 6954,
|
||||
"gzipBytes": 6952,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-DeLnU0B5.js",
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/backdrop-pick-Dg2Uytel.js",
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "c9808b3cea6e687c2dd48e069809e35255f82db260183416256d1e6c70c97c11",
|
||||
"sha256": "d6c8be124ce907703e76f24a5e9fedb3abd945213d7befb1f97d1635d82f4830",
|
||||
"rawBytes": 1183,
|
||||
"gzipBytes": 797,
|
||||
"gzipBytes": 795,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-BF6i5sqv.js"
|
||||
"houseplan-assets/houseplan-card-o7i25aVl.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";import{b as e,l as o,t,dg as s,A as a,dh as i,di as l,dj as n,E as r,c}from"./houseplan-card-BF6i5sqv.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";import{b as e,l as o,t,dg as s,A as a,dh as i,di as l,dj as n,E as r,c}from"./houseplan-card-o7i25aVl.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+3
-3
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";import{l as t,aE as s,A as e,t as o,c as a,c4 as l,c5 as i,c6 as h,c7 as c,aB as n,c8 as r,cd as p,c9 as _,ca as d,cb as u,cc as g,d5 as m,aA as b,aC as $,d6 as v}from"./houseplan-card-BF6i5sqv.js";import{i as f,c as y,e as w,r as D,a as k,b as S,s as C,t as M}from"./backdrop-pick-DeLnU0B5.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";import{l as t,aE as s,A as e,t as o,c as a,c4 as l,c5 as i,c6 as h,c7 as c,aB as n,c8 as r,cd as p,c9 as _,ca as d,cb as u,cc as g,d5 as m,aA as b,aC as $,d6 as v}from"./houseplan-card-o7i25aVl.js";import{i as f,c as y,e as w,r as D,a as k,b as S,s as C,t as M}from"./backdrop-pick-Dg2Uytel.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
.text=${o(h,l)} .ariaLabel=${o(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const o=l(e),a=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===o.fill?{...a||h,a:0}:a;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:o.showBorders,showNames:o.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:o.hideDecor,hideOpenings:o.hideOpenings,roomColor:o.color,roomOpacity:o.opacity,fillMode:"none"===o.fill?"custom":o.fill,customFill:p,glowEnabled:o.glow,bgColor:o.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:o.tempMin,tempMax:o.tempMax,showLqi:o.showLqi??this.host._config?.show_signal??!0,cardFontScale:o.cardFontScale,labelTemp:o.labelTemp,labelHum:o.labelHum,labelLqi:o.labelLqi,labelLight:o.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...f(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:d,tempMax:_,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const o=await y(e);if("reject"===o.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===o.kind)return void(this.host._backdropGuard=o.state);const a=await w(e,o.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:a})}_renderBackdropGuard(){return D(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),o=this.host._spaceDialog;return o&&o.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...o,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const o=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),a=this.host._spaceDialog,l=a?.saved?.find(s=>s.name===t);if(o&&a&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==a.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return a`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return a`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return a`<div class="savedplans">
|
||||
${s.map(s=>{return a`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="aa228c5ecf6e913fe9a0058b57b44a53616b73c0bef1c20f84f88f7b56814274";try{await import("./houseplan-assets/houseplan-card-BF6i5sqv.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale entry: the main chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="e5edb95a1f5817c9035c6418ea0f9cb86cde238466f1f5c3174fb5246662c8ec";try{await import("./houseplan-assets/houseplan-card-o7i25aVl.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale entry: the main chunk is unavailable",e)}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.71.0-beta.2 — 2026-09-03
|
||||
|
||||
- Custom background images now recover cleanly after interrupted uploads,
|
||||
consume quota consistently, retry after configuration changes and remain
|
||||
compatible with older integrations; language switching and failed support
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
## v1.71.0-beta.2 — 2026-09-03
|
||||
|
||||
- Пользовательские картинки подложки теперь корректно восстанавливаются после
|
||||
прерванной загрузки, всегда учитываются в лимите, повторно проверяются после
|
||||
изменения конфигурации и совместимы со старыми версиями интеграции; смена
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<!-- release: v1.71.0-beta.1 -->
|
||||
<!-- release: v1.71.0-beta.2 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- В редакторе подложки теперь можно загружать и повторно использовать закрытые PNG, JPEG, WebP и безопасные SVG, а затем размещать и редактировать их как мебель ([#51](https://github.com/Matysh/houseplan-card/issues/51)).
|
||||
- «Помощь и обратная связь» и диалоги опасных действий стали надёжнее при смене языка, пространства или версии, повторной отправке и некорректном конфиге ([#417](https://github.com/Matysh/houseplan-card/issues/417), [#418](https://github.com/Matysh/houseplan-card/issues/418), [#420](https://github.com/Matysh/houseplan-card/issues/420), [#423](https://github.com/Matysh/houseplan-card/issues/423)).
|
||||
- Автоматическая привязка к зонам Home Assistant больше не забывает устройства из-за временно пустого или неполного реестра ([#419](https://github.com/Matysh/houseplan-card/issues/419)).
|
||||
- Пользовательские картинки подложки теперь безопасно уменьшаются, восстанавливаются после прерванной загрузки и отсутствующего файла, а их координаты остаются стабильными после сохранения и оптимизации плана ([#427](https://github.com/Matysh/houseplan-card/issues/427), [#428](https://github.com/Matysh/houseplan-card/issues/428), [#431](https://github.com/Matysh/houseplan-card/issues/431), [#434](https://github.com/Matysh/houseplan-card/issues/434)).
|
||||
- Доступ к сохранённым картинкам подложки стал безопаснее и быстрее: произвольный поиск файлов закрыт, а повторные загрузки используют ограниченную кэшированную проверку целостности ([#432](https://github.com/Matysh/houseplan-card/issues/432), [#434](https://github.com/Matysh/houseplan-card/issues/434)).
|
||||
- В общих настройках теперь можно отключить информационное окно комнаты при наведении, сохранив подсветку комнаты и подсказки устройств ([#426](https://github.com/Matysh/houseplan-card/issues/426)).
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- The Background editor can now upload and reuse private PNG, JPEG, WebP and safe SVG images, then place and edit them like furniture ([#51](https://github.com/Matysh/houseplan-card/issues/51)).
|
||||
- Help & feedback and dangerous-action dialogs are now more reliable across language, space and version changes, edited retries, and malformed configuration ([#417](https://github.com/Matysh/houseplan-card/issues/417), [#418](https://github.com/Matysh/houseplan-card/issues/418), [#420](https://github.com/Matysh/houseplan-card/issues/420), [#423](https://github.com/Matysh/houseplan-card/issues/423)).
|
||||
- Home Assistant Area relocation tracking no longer forgets devices because the registry is temporarily empty or incomplete ([#419](https://github.com/Matysh/houseplan-card/issues/419)).
|
||||
- Custom background images can now be safely reduced, recovered after interrupted uploads or missing files, and keep stable coordinates across saves and plan optimization ([#427](https://github.com/Matysh/houseplan-card/issues/427), [#428](https://github.com/Matysh/houseplan-card/issues/428), [#431](https://github.com/Matysh/houseplan-card/issues/431), [#434](https://github.com/Matysh/houseplan-card/issues/434)).
|
||||
- Access to saved background images is safer and faster: arbitrary file lookup is blocked, while repeated loads reuse a bounded cached integrity check ([#432](https://github.com/Matysh/houseplan-card/issues/432), [#434](https://github.com/Matysh/houseplan-card/issues/434)).
|
||||
- General settings can now hide the room information window on hover while keeping room highlighting and device tooltips ([#426](https://github.com/Matysh/houseplan-card/issues/426)).
|
||||
- Small fixes and improvements.
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.71.0-beta.1/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.71.0-beta.1/docs/CHANGELOG.md)
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.71.0-beta.2/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.71.0-beta.2/docs/CHANGELOG.md)
|
||||
|
||||
+3
-3
@@ -17,12 +17,12 @@ change must pass through a published beta/RC before stable. Stable release
|
||||
commits are promotion-only (versions, generated bundles and release/changelog
|
||||
metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
|
||||
|
||||
## Snapshot (2026-09-02)
|
||||
## Snapshot (2026-09-03)
|
||||
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.71.0-beta.1** everywhere (manifest, const.py, package.json, CARD_VERSION) |
|
||||
| Current local cycle | v1.71.0-beta.1 is the first prerelease candidate after stable v1.70.0. It adds reusable private raster/SVG images to the Background editor (#51), hardens confirmation and Help & feedback races/privacy/compatibility (#417, #418, #420, #423), and protects HA Area relocation provenance from incomplete registries (#419). Test and capture gates #421, #422, #424 and #425 ship in the same candidate. Publish only after exact-SHA Validate is green. |
|
||||
| Version | **v1.71.0-beta.2** everywhere (manifest, const.py, package.json, CARD_VERSION) |
|
||||
| Current local cycle | v1.71.0-beta.2 hardens custom Background images across oversized sources, interrupted uploads, missing-file export/import, coordinate canonicalization, bounded integrity checks and old-integration compatibility (#427, #428, #431, #432, #434). It also adds the option to hide the room information window without disabling room highlighting or device tooltips (#426). Publish only after exact-SHA Validate is green. |
|
||||
| Hidden Labs Stage | #89 Stage 1 ships in v1.63.0-beta.1. #122 Stage 2 ships in v1.64.0 and evolves the same hidden, expiring `iso` experiment with matte walls, a low exterior floor edge, restrained shared shadows and live vertical door/window/gate panels. Flat remains default; editors and `houseplan-space-card` remain flat; live floor effects and HA actions remain unchanged. Public activation remains a separate task. |
|
||||
| Workflow | Superseded 2026-08-12: the pre-1.62 rule of "local edits without tests or commits" is **dead** — since release 1.62 every product change follows `PROCESS.md` (issue in `S5-ready`+, branch `issue/<NN>-slug`, trailers on every commit, review pipeline; `AGENTS.md` is the summary). Release mechanics below remain current. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the GitHub Release uses `prerelease=false`. Release bodies are short and bilingual (Russian first); every bullet links its GitHub issue (#NN) so the #328 rules stay machine-checkable. A STABLE body aggregates the changelog since the PREVIOUS STABLE release (never since the last beta): features/fixes described across the line's beta changelogs must appear, while bugs that were introduced and fixed strictly inside the beta line (never shipped in any stable) are excluded — draft with `npm run release:notes -- <tag>`, curate by hand, then `npm run release:notes -- <tag> --verify` must pass. `Мелкие исправления и улучшения` / `Small fixes and improvements` is allowed only when the range really contains user-visible work not itemised in the body; a single-issue hotfix ships without it (the verifier enforces this). Every body ends with separate links to the Russian and English changelogs. Open or partially delivered issues are never presented as shipped. Telegram announcements are sent only for stable releases; beta and RC publication is silent. `docs/RELEASE-NOTES.md` is the current canonical body instance; `npm run release:prerelease -- <tag> --issues=… --yes` is the primary local publication path and the manual `Publish prerelease` workflow is its GitHub-only equivalent once present on `main`. Nothing is copied to the home instance by hand |
|
||||
| GitHub | https://github.com/Matysh/houseplan-card — [Issues](https://github.com/Matysh/houseplan-card/issues) are the canonical task records; their labels carry priority and workflow status (`PROCESS.md` §9). GitHub Projects is no longer used. `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) |
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.71.0-beta.1",
|
||||
"version": "1.71.0-beta.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.71.0-beta.1",
|
||||
"version": "1.71.0-beta.2",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.71.0-beta.1",
|
||||
"version": "1.71.0-beta.2",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -378,7 +378,7 @@ import {
|
||||
} from './space-order';
|
||||
import { applyOpeningMoves, mergeCollinearPartitions, spaceMergeGeometry } from './wall-merge';
|
||||
|
||||
const CARD_VERSION = '1.71.0-beta.1';
|
||||
const CARD_VERSION = '1.71.0-beta.2';
|
||||
const ENTRY_BUILD_FINGERPRINT = '__HOUSEPLAN_SOURCE_FINGERPRINT__';
|
||||
const EDITOR_RETRY_ASSET = '__HOUSEPLAN_EDITOR_RETRY_ASSET__';
|
||||
|
||||
|
||||
@@ -358,7 +358,7 @@ import {
|
||||
} from './space-order';
|
||||
import { applyOpeningMoves, mergeCollinearPartitions, spaceMergeGeometry } from './wall-merge';
|
||||
|
||||
const CARD_VERSION = '1.71.0-beta.1';
|
||||
const CARD_VERSION = '1.71.0-beta.2';
|
||||
|
||||
type ResizeLiveLabel = {
|
||||
kind: 'length';
|
||||
|
||||
Reference in New Issue
Block a user