diff --git a/assets/fonts/LICENSE b/assets/fonts/LICENSE
new file mode 100644
index 00000000..261eeb9e
--- /dev/null
+++ b/assets/fonts/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/assets/fonts/Roboto-Regular.ttf b/assets/fonts/Roboto-Regular.ttf
new file mode 100644
index 00000000..ddee473e
Binary files /dev/null and b/assets/fonts/Roboto-Regular.ttf differ
diff --git a/custom_components/houseplan/frontend/houseplan-assets.json b/custom_components/houseplan/frontend/houseplan-assets.json
index 721c7e8a..08373c6f 100644
--- a/custom_components/houseplan/frontend/houseplan-assets.json
+++ b/custom_components/houseplan/frontend/houseplan-assets.json
@@ -1,100 +1,106 @@
{
"schema": 1,
- "fingerprint": "6aa7e85aead059c4d286b3b943bfaf6a4b128ecf5e0a3be2860b34e0069d829a",
+ "fingerprint": "6412fad64699400d6b77fdda3cf1ecebe27c1dc2134d0e63e34fc7ef196a99a0",
"entry": "houseplan-card.js",
"initialViewFiles": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js",
+ "houseplan-assets/houseplan-card-BCodcbie.js",
"houseplan-card.js"
],
- "initialViewGzipBytes": 288573,
+ "initialViewGzipBytes": 289556,
"lazyFiles": [
- "houseplan-assets/backdrop-pick-Dr_sQO9B.js",
- "houseplan-assets/de-Cso9fVIy.js",
- "houseplan-assets/editor-DiTpv53t.js",
- "houseplan-assets/fr-D24D6IzR.js",
- "houseplan-assets/furniture-plan-art.generated-DCcpljFT.js",
- "houseplan-assets/guard-BQbM7Hae.js",
- "houseplan-assets/houseplan-editor-runtime-BY9_H46m.js",
- "houseplan-assets/houseplan-onboarding-runtime-suTIxM0T.js",
- "houseplan-assets/hp-zigbee-topology-overlay-D_uDeHju.js",
- "houseplan-assets/iso-scene-render-gvfCh2yu.js",
- "houseplan-assets/live-interaction-runtime-Bj9ohcw0.js",
- "houseplan-assets/zigbee-topology-5lWJidfb.js",
- "houseplan-assets/zigbee-topology-runtime-D_luJHXO.js"
+ "houseplan-assets/backdrop-pick-flaNG0_n.js",
+ "houseplan-assets/de-D3py1G7D.js",
+ "houseplan-assets/editor-BnofZxOF.js",
+ "houseplan-assets/fr-L4xgx5pL.js",
+ "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js",
+ "houseplan-assets/guard-eiu_tbpd.js",
+ "houseplan-assets/houseplan-editor-runtime-BH5YaEYG.js",
+ "houseplan-assets/houseplan-onboarding-runtime-85cI-2kH.js",
+ "houseplan-assets/hp-zigbee-topology-overlay-DMrX_wpv.js",
+ "houseplan-assets/iso-scene-render-CuYsIodT.js",
+ "houseplan-assets/live-interaction-runtime-CH6eiF-a.js",
+ "houseplan-assets/pdf-export-COKn8jYQ.js",
+ "houseplan-assets/zigbee-topology-CQqDGRbo.js",
+ "houseplan-assets/zigbee-topology-runtime-Dpiom0TO.js"
],
- "lazyGzipBytes": 272628,
+ "lazyGzipBytes": 377345,
"lazyEditorFiles": [
- "houseplan-assets/backdrop-pick-Dr_sQO9B.js",
- "houseplan-assets/editor-DiTpv53t.js",
- "houseplan-assets/furniture-plan-art.generated-DCcpljFT.js",
- "houseplan-assets/guard-BQbM7Hae.js",
- "houseplan-assets/houseplan-editor-runtime-BY9_H46m.js",
- "houseplan-assets/zigbee-topology-5lWJidfb.js"
+ "houseplan-assets/backdrop-pick-flaNG0_n.js",
+ "houseplan-assets/editor-BnofZxOF.js",
+ "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js",
+ "houseplan-assets/guard-eiu_tbpd.js",
+ "houseplan-assets/houseplan-editor-runtime-BH5YaEYG.js",
+ "houseplan-assets/zigbee-topology-CQqDGRbo.js"
],
- "lazyEditorGzipBytes": 195224,
+ "lazyEditorGzipBytes": 195204,
"lazyOnboardingFiles": [
- "houseplan-assets/backdrop-pick-Dr_sQO9B.js",
- "houseplan-assets/houseplan-onboarding-runtime-suTIxM0T.js"
+ "houseplan-assets/backdrop-pick-flaNG0_n.js",
+ "houseplan-assets/houseplan-onboarding-runtime-85cI-2kH.js"
],
- "lazyOnboardingGzipBytes": 14323,
+ "lazyOnboardingGzipBytes": 14317,
"lazyLocaleFiles": [
- "houseplan-assets/de-Cso9fVIy.js",
- "houseplan-assets/fr-D24D6IzR.js"
+ "houseplan-assets/de-D3py1G7D.js",
+ "houseplan-assets/fr-L4xgx5pL.js"
],
- "lazyLocaleGzipBytes": 49743,
+ "lazyLocaleGzipBytes": 50257,
"lazyIsometricFiles": [
- "houseplan-assets/guard-BQbM7Hae.js",
- "houseplan-assets/iso-scene-render-gvfCh2yu.js"
+ "houseplan-assets/guard-eiu_tbpd.js",
+ "houseplan-assets/iso-scene-render-CuYsIodT.js"
],
- "lazyIsometricGzipBytes": 13455,
+ "lazyIsometricGzipBytes": 13446,
"lazyFurnitureArtFiles": [
- "houseplan-assets/furniture-plan-art.generated-DCcpljFT.js"
+ "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js"
],
"lazyFurnitureArtGzipBytes": 10255,
+ "lazyPdfFiles": [
+ "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js",
+ "houseplan-assets/pdf-export-COKn8jYQ.js"
+ ],
+ "lazyPdfGzipBytes": 114486,
"files": [
{
- "path": "houseplan-assets/backdrop-pick-Dr_sQO9B.js",
- "sha256": "dbd895d0e439080d0f4989e1b440053183aff8d4f1544c276ac505d873ac6913",
+ "path": "houseplan-assets/backdrop-pick-flaNG0_n.js",
+ "sha256": "04e8745a797c6f976ec5f87f9c0a5bc18653f1028275861044263a2daf22969b",
"rawBytes": 21592,
- "gzipBytes": 7358,
+ "gzipBytes": 7355,
"isEntry": false,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/de-Cso9fVIy.js",
- "sha256": "4e259f68243600d5748ff5554116647022cc4c1c67b328503a71c3f2c05c443e",
- "rawBytes": 83541,
- "gzipBytes": 25120,
+ "path": "houseplan-assets/de-D3py1G7D.js",
+ "sha256": "20652fe56057977dae0187378dbc3c67a0ce311e12ba8838e5c1d54ffcd1cd93",
+ "rawBytes": 84320,
+ "gzipBytes": 25372,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
- "path": "houseplan-assets/editor-DiTpv53t.js",
- "sha256": "6f4ac5ad3afce4d7bb23201c427225cc1776b1d8c2baae080cbd8888461f1469",
+ "path": "houseplan-assets/editor-BnofZxOF.js",
+ "sha256": "51746cf20edd2be956863470de80b3fbe7ece5d9fe9e65ba5a52dfafffa53f8e",
"rawBytes": 3837,
- "gzipBytes": 1587,
+ "gzipBytes": 1584,
"isEntry": false,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/fr-D24D6IzR.js",
- "sha256": "6b0446546b25e5a3b2b39342190fa5c8af56ade3ddd34613d033dc5eddf1cb99",
- "rawBytes": 85540,
- "gzipBytes": 24623,
+ "path": "houseplan-assets/fr-L4xgx5pL.js",
+ "sha256": "b8d5a14bde89f9e07b0c7ab70f08c5099237ffaa5759081d3e1e3f8c18b0cc98",
+ "rawBytes": 86352,
+ "gzipBytes": 24885,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
- "path": "houseplan-assets/furniture-plan-art.generated-DCcpljFT.js",
- "sha256": "59591db67b6f95564927625a3172fdf3c6c166941ac884e4f04c963ed1dd53d0",
+ "path": "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js",
+ "sha256": "6081dc4efb3668d809bb82dec2621dd3f70ad405188aba7e24479d6ad69c28ea",
"rawBytes": 33655,
"gzipBytes": 10255,
"isEntry": false,
@@ -102,131 +108,144 @@
"dynamicImports": []
},
{
- "path": "houseplan-assets/guard-BQbM7Hae.js",
- "sha256": "63d8b7722199e6f8617ac1c4d95a9b0e28d94a13b41868409e23a6494edaad08",
+ "path": "houseplan-assets/guard-eiu_tbpd.js",
+ "sha256": "1ee2be96bf2ce1d4685dd7c3d5de794447ba876ff05d536bb58adea654c056e7",
"rawBytes": 518,
- "gzipBytes": 372,
+ "gzipBytes": 365,
"isEntry": false,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/houseplan-card-DPsHeJqW.js",
- "sha256": "0ebc811e3b01cde19ac484003c51812530b5f5c061310a37cc4ae88fef4cebea",
- "rawBytes": 1037072,
- "gzipBytes": 287778,
+ "path": "houseplan-assets/houseplan-card-BCodcbie.js",
+ "sha256": "b40defc0d09d30394c8b88f2a8df835b5cf014df27c7ab093257d02fa080edc5",
+ "rawBytes": 1040882,
+ "gzipBytes": 288764,
"isEntry": false,
"imports": [],
"dynamicImports": [
- "houseplan-assets/de-Cso9fVIy.js",
- "houseplan-assets/editor-DiTpv53t.js",
- "houseplan-assets/fr-D24D6IzR.js",
- "houseplan-assets/furniture-plan-art.generated-DCcpljFT.js",
- "houseplan-assets/houseplan-editor-runtime-BY9_H46m.js",
- "houseplan-assets/houseplan-onboarding-runtime-suTIxM0T.js",
- "houseplan-assets/hp-zigbee-topology-overlay-D_uDeHju.js",
- "houseplan-assets/iso-scene-render-gvfCh2yu.js",
- "houseplan-assets/live-interaction-runtime-Bj9ohcw0.js"
+ "houseplan-assets/de-D3py1G7D.js",
+ "houseplan-assets/editor-BnofZxOF.js",
+ "houseplan-assets/fr-L4xgx5pL.js",
+ "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js",
+ "houseplan-assets/houseplan-editor-runtime-BH5YaEYG.js",
+ "houseplan-assets/houseplan-onboarding-runtime-85cI-2kH.js",
+ "houseplan-assets/hp-zigbee-topology-overlay-DMrX_wpv.js",
+ "houseplan-assets/iso-scene-render-CuYsIodT.js",
+ "houseplan-assets/live-interaction-runtime-CH6eiF-a.js",
+ "houseplan-assets/pdf-export-COKn8jYQ.js"
]
},
{
- "path": "houseplan-assets/houseplan-editor-runtime-BY9_H46m.js",
- "sha256": "1b719aa9ef49aa3f8eb73780c82f3837c988cbdf9dbf5f497d04d1fbae0c8c58",
+ "path": "houseplan-assets/houseplan-editor-runtime-BH5YaEYG.js",
+ "sha256": "6bd2e8c672fe3bf779c829a4b111752a1d53233ca75b77ec0cc9e92ea26d3ef3",
"rawBytes": 631884,
- "gzipBytes": 168225,
+ "gzipBytes": 168220,
"isEntry": false,
"imports": [
- "houseplan-assets/backdrop-pick-Dr_sQO9B.js",
- "houseplan-assets/furniture-plan-art.generated-DCcpljFT.js",
- "houseplan-assets/guard-BQbM7Hae.js",
- "houseplan-assets/houseplan-card-DPsHeJqW.js",
- "houseplan-assets/zigbee-topology-5lWJidfb.js"
+ "houseplan-assets/backdrop-pick-flaNG0_n.js",
+ "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js",
+ "houseplan-assets/guard-eiu_tbpd.js",
+ "houseplan-assets/houseplan-card-BCodcbie.js",
+ "houseplan-assets/zigbee-topology-CQqDGRbo.js"
],
"dynamicImports": [
- "houseplan-assets/zigbee-topology-runtime-D_luJHXO.js"
+ "houseplan-assets/zigbee-topology-runtime-Dpiom0TO.js"
]
},
{
- "path": "houseplan-assets/houseplan-onboarding-runtime-suTIxM0T.js",
- "sha256": "ad6e3c7de56475c5089488832646978867af15e30a3681ce3f4eb1c7ba74012d",
+ "path": "houseplan-assets/houseplan-onboarding-runtime-85cI-2kH.js",
+ "sha256": "3f1ebc1a94c0d80789d80ac38f504aa835834c55d2d957b5d5e5e90fef100007",
"rawBytes": 28071,
- "gzipBytes": 6965,
+ "gzipBytes": 6962,
"isEntry": false,
"imports": [
- "houseplan-assets/backdrop-pick-Dr_sQO9B.js",
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/backdrop-pick-flaNG0_n.js",
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/hp-zigbee-topology-overlay-D_uDeHju.js",
- "sha256": "ba30583fb3436c5ffe05634a63f02ae242c47bb9fbb13aab727d92f55544c4ec",
+ "path": "houseplan-assets/hp-zigbee-topology-overlay-DMrX_wpv.js",
+ "sha256": "688fdbdaf6d7c76cf81fe8b9068c75a71d73ac12ce59bb6bf79b4c734aba05ac",
"rawBytes": 11034,
- "gzipBytes": 3729,
+ "gzipBytes": 3728,
"isEntry": false,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js",
- "houseplan-assets/zigbee-topology-5lWJidfb.js",
- "houseplan-assets/zigbee-topology-runtime-D_luJHXO.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js",
+ "houseplan-assets/zigbee-topology-CQqDGRbo.js",
+ "houseplan-assets/zigbee-topology-runtime-Dpiom0TO.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/iso-scene-render-gvfCh2yu.js",
- "sha256": "bbe97e455d58c88c16f361368253df4ca39e7424e72ad25cd8161519a4560c97",
+ "path": "houseplan-assets/iso-scene-render-CuYsIodT.js",
+ "sha256": "67856018777fa49b14a323beb24c0b416738f1a62399ab00e0d0f1d62bd14aaa",
"rawBytes": 38562,
- "gzipBytes": 13083,
+ "gzipBytes": 13081,
"isEntry": false,
"imports": [
- "houseplan-assets/guard-BQbM7Hae.js",
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/guard-eiu_tbpd.js",
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/live-interaction-runtime-Bj9ohcw0.js",
- "sha256": "4646bfaeb32a1d48909cc5dba8678a7374001c1162c1ce595cc339ab7beca2c5",
+ "path": "houseplan-assets/live-interaction-runtime-CH6eiF-a.js",
+ "sha256": "4496895d47a93cb25b52f543915fd62147ffbb081130128abb86335fe953853e",
"rawBytes": 5196,
- "gzipBytes": 2125,
+ "gzipBytes": 2122,
"isEntry": false,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/zigbee-topology-5lWJidfb.js",
- "sha256": "c78fd713884be766e8a1b4845b69e584ed346cc4f9dd554593e27c0456891a9c",
+ "path": "houseplan-assets/pdf-export-COKn8jYQ.js",
+ "sha256": "fbdb5f9473127c4d4aafb94cd912f031ecd684e65764cba5319ed0f58efc51e8",
+ "rawBytes": 220489,
+ "gzipBytes": 104231,
+ "isEntry": false,
+ "imports": [
+ "houseplan-assets/furniture-plan-art.generated-CiVCUNvm.js",
+ "houseplan-assets/houseplan-card-BCodcbie.js"
+ ],
+ "dynamicImports": []
+ },
+ {
+ "path": "houseplan-assets/zigbee-topology-CQqDGRbo.js",
+ "sha256": "08222cd7aef111484a28efc7d8189aec4e360cd393daf1742127d49e0fc19746",
"rawBytes": 18961,
- "gzipBytes": 7427,
+ "gzipBytes": 7425,
"isEntry": false,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
},
{
- "path": "houseplan-assets/zigbee-topology-runtime-D_luJHXO.js",
- "sha256": "7dce8d77b41a653e35cdf78a4fbfe09bdf1a7a9d6eb545aa2d27934c30e1f299",
+ "path": "houseplan-assets/zigbee-topology-runtime-Dpiom0TO.js",
+ "sha256": "b7d06489a8b0d553848e1d7264f34e05fb5b093202cacf2db98ab2e387c901f7",
"rawBytes": 3941,
- "gzipBytes": 1759,
+ "gzipBytes": 1760,
"isEntry": false,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js",
- "houseplan-assets/zigbee-topology-5lWJidfb.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js",
+ "houseplan-assets/zigbee-topology-CQqDGRbo.js"
],
"dynamicImports": []
},
{
"path": "houseplan-card.js",
- "sha256": "19518aed8ddb7da540e7f66443460095113690729264b8f46cf4092dfc1c22c5",
+ "sha256": "4037aeb456109886170e1113322ef22e9d6d77fc01fa9df01c4351ee0b151719",
"rawBytes": 1183,
- "gzipBytes": 795,
+ "gzipBytes": 792,
"isEntry": true,
"imports": [
- "houseplan-assets/houseplan-card-DPsHeJqW.js"
+ "houseplan-assets/houseplan-card-BCodcbie.js"
],
"dynamicImports": []
}
diff --git a/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-Dr_sQO9B.js b/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-flaNG0_n.js
similarity index 99%
rename from custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-Dr_sQO9B.js
rename to custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-flaNG0_n.js
index e2f2bbd8..fc7e0587 100644
--- a/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-Dr_sQO9B.js
+++ b/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-flaNG0_n.js
@@ -1,4 +1,4 @@
-globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="6aa7e85aead059c4d286b3b943bfaf6a4b128ecf5e0a3be2860b34e0069d829a";import{D as e,b as t,A as i,q as o,t as n,ds as r}from"./houseplan-card-DPsHeJqW.js";function s(e){const t=e.visualViewport;return t&&Number.isFinite(t.width)&&Number.isFinite(t.height)?{left:Number(t.offsetLeft)||0,top:Number(t.offsetTop)||0,width:Math.max(0,Number(t.width)||0),height:Math.max(0,Number(t.height)||0)}:{left:0,top:0,width:e.innerWidth,height:e.innerHeight}}function a(e,t,i,o=7,n=8){const r=i.left+n,s=i.top+n,a=Math.max(r,i.left+i.width-n),l=Math.max(s,i.top+i.height-n),h=Math.max(0,a-r),d=Math.max(0,l-s),c=Math.min(Math.max(0,t.width),h),u=Math.min(Math.max(0,t.height),d);let p=e.left;p+c>a&&(p=e.right-c),p=Math.min(Math.max(r,p),Math.max(r,a-c));const g=e.bottom+o,_=e.top-o-u;let m="bottom",f=g;return g+u>l&&_>=s?(m="top",f=Math.min(Math.max(s,_),Math.max(s,l-u))):f=Math.min(Math.max(s,g),Math.max(s,l-u)),{left:Math.round(p),top:Math.round(f),side:m,maxWidth:Math.round(h),maxHeight:Math.round(d)}}class l{constructor(e,t,i){this.owner=e,this.name=t,this.keydown=i,this.host=null,this.root=null}window(){return this.owner.ownerDocument.defaultView}dialog(){return this.owner.closest("hp-dialog")}usesPopover(e=!1){const t=this.window();return!e&&!!t&&function(e){const t=e.HTMLElement?.prototype;return"function"==typeof t?.showPopover&&"function"==typeof t?.hidePopover}(t)}get hasFallback(){return!!this.host}containsPath(e){return e.includes(this.owner)||!!this.host&&e.includes(this.host)}ownsActiveElement(){let e=this.owner.ownerDocument.activeElement;for(;e?.shadowRoot?.activeElement;)e=e.shadowRoot.activeElement;return!(!e||e!==this.owner&&!this.owner.shadowRoot?.contains(e)&&!this.root?.contains(e))}renderFallback(i,o){const n=this.ensureFallback();return n?(e(t`${i}`,n),n):null}surface(e,t){return t?this.owner.shadowRoot?.querySelector(e)||null:this.root?.querySelector(e)||null}destroy(){this.root&&e(i,this.root),this.host?.remove(),this.host=null,this.root=null}ensureFallback(){if(this.root?.isConnected)return this.root;const e=this.dialog()?.overlayPortal()||this.owner.ownerDocument.body;if(!e)return null;const t=this.owner.ownerDocument.createElement("div");return t.dataset.hpOverlay=this.name,t.style.display="contents",this.keydown&&t.addEventListener("keydown",this.keydown,!0),e.append(t),this.host=t,this.root=t.attachShadow({mode:"open"}),this.root}}let h=0;class d extends n{constructor(){super(...arguments),this.text="",this.ariaLabel="",this.pointerHover=!1,this._open=!1,this._openTimer=0,this._closeTimer=0,this._positionRaf=0,this._forceFallback=!1,this._hoverOwned=!1,this._overlayDispose=null,this._scrollDialog=null,this._descriptionId="hp-help-description-"+ ++h,this._surfacePointerEnter=()=>{const e=this._window();this._closeTimer&&e?.clearTimeout(this._closeTimer),this._closeTimer=0},this._surfacePointerLeave=()=>{this._scheduleClose()},this._outsidePointerDown=e=>{if(!this._open)return;const t=e.composedPath();this._floating.containsPath(t)||this._closeHelp(!1,"outside")},this._dialogScroll=e=>{const t=this._floating.containsPath(e.composedPath()),i=e.target,o=this._dialog(),n=i instanceof Node&&(i===o||i instanceof Element&&i.contains(this));var r;this._open&&(r=n,!t&&r)&&this._closeHelp(!1,"scroll")},this._keyDown=e=>{if(!this._open||e.defaultPrevented)return;if("Escape"===e.key)return e.preventDefault(),e.stopImmediatePropagation(),void this._closeHelp(this._floating.ownsActiveElement(),"escape");const t=this.renderRoot.querySelector(".trigger");if(!t||!e.composedPath().includes(t))return;const i=this._surface();if(!i||i.scrollHeight<=i.clientHeight)return;const o=Math.max(40,.8*i.clientHeight),n={ArrowDown:40,ArrowUp:-40,PageDown:o,PageUp:-o};if("Home"===e.key)i.scrollTop=0;else if("End"===e.key)i.scrollTop=i.scrollHeight;else{if(!(e.key in n))return;i.scrollBy({top:n[e.key],behavior:"auto"})}e.preventDefault(),e.stopImmediatePropagation()},this._floating=new l(this,"help",this._keyDown),this._queuePosition=()=>{if(!this._open||this._positionRaf)return;const e=this._window();e&&(this._positionRaf=e.requestAnimationFrame(()=>{this._positionRaf=0,this._position()||this._closeHelp()}))}}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this._keyDown,!0)}willUpdate(){this.toggleAttribute("data-has-content",this._hasContent())}disconnectedCallback(){const e=this.ownerDocument.defaultView;this._unsubscribeOpenListeners(),this.removeEventListener("keydown",this._keyDown,!0),this._clearTimers(),this._positionRaf&&e?.cancelAnimationFrame(this._positionRaf),this._positionRaf=0,this._closeHelp(!1,"disconnect"),super.disconnectedCallback()}updated(e){if(e.has("pointerHover")&&!this.pointerHover){const e=this._window();this._openTimer&&e?.clearTimeout(this._openTimer),this._openTimer=0,this._hoverOwned&&this._closeHelp(!1,"outside")}this._hasContent()||!this._open?this._open&&e.has("text")&&(this._usesPopover()||this._renderFallback(),this._queuePosition()):this._closeHelp()}_window(){return this._floating.window()}_dialog(){return this._floating.dialog()}_usesPopover(){return this._floating.usesPopover(this._forceFallback)}_hasContent(){return e=this.text,t=this.ariaLabel,"string"==typeof e&&e.trim().length>0&&"string"==typeof t&&t.trim().length>0;var e,t}_clearTimers(){const e=this._window();this._openTimer&&e?.clearTimeout(this._openTimer),this._closeTimer&&e?.clearTimeout(this._closeTimer),this._openTimer=0,this._closeTimer=0}_scheduleOpen(){const e=this._window();this.pointerHover&&e&&!this._open&&!this._openTimer&&(this._closeTimer&&e.clearTimeout(this._closeTimer),this._closeTimer=0,this._openTimer=e.setTimeout(()=>{this._openTimer=0,this.isConnected&&(this._hoverOwned=!0,this._openHelp())},300))}_scheduleClose(){const e=this._window(),t=this.renderRoot.querySelector(".trigger");e&&!t?.matches(":focus-visible")&&(this._openTimer&&e.clearTimeout(this._openTimer),this._closeTimer&&e.clearTimeout(this._closeTimer),this._openTimer=0,this._closeTimer=e.setTimeout(()=>{this._closeTimer=0,this.isConnected&&this._closeHelp()},150))}_triggerPointerEnter(e){this.pointerHover&&"mouse"===e.pointerType&&this._scheduleOpen()}_triggerPointerLeave(e){"mouse"===e.pointerType&&this._scheduleClose()}_triggerFocus(){queueMicrotask(()=>{const e=this.renderRoot.querySelector(".trigger");e?.matches(":focus-visible")&&(this._hoverOwned=!1,this._openHelp())})}_triggerBlur(){this._scheduleClose()}_triggerClick(){this._open?this._closeHelp():(this._hoverOwned=!1,this._openHelp())}_subscribeOpenListeners(){this.ownerDocument.addEventListener("pointerdown",this._outsidePointerDown,!0),this.ownerDocument.addEventListener("keydown",this._keyDown,!0);const e=this._window();e?.addEventListener("resize",this._queuePosition),e?.addEventListener("orientationchange",this._queuePosition),e?.visualViewport?.addEventListener("resize",this._queuePosition),e?.visualViewport?.addEventListener("scroll",this._queuePosition),this._scrollDialog=this._dialog(),this._scrollDialog?.addEventListener("scroll",this._dialogScroll,!0)}_unsubscribeOpenListeners(){this.ownerDocument.removeEventListener("pointerdown",this._outsidePointerDown,!0),this.ownerDocument.removeEventListener("keydown",this._keyDown,!0);const e=this._window();e?.removeEventListener("resize",this._queuePosition),e?.removeEventListener("orientationchange",this._queuePosition),e?.visualViewport?.removeEventListener("resize",this._queuePosition),e?.visualViewport?.removeEventListener("scroll",this._queuePosition),this._scrollDialog?.removeEventListener("scroll",this._dialogScroll,!0),this._scrollDialog=null}async _openHelp(){!this._open&&this._hasContent()&&(this._clearTimers(),this._forceFallback=!1,this._open=!0,this._subscribeOpenListeners(),await this.updateComplete,this._open&&(this._usesPopover()||this._renderFallback(),this._position()?this._overlayDispose=this._dialog()?.registerOverlay({owner:this,group:"transient",close:e=>this._closeHelp("escape"===e&&this._floating.ownsActiveElement(),e)})||null:this._closeHelp()))}_closeHelp(e=!1,t="exclusive"){if(!this._open&&!this._floating.hasFallback)return;this._clearTimers();const i=this._overlayDispose;this._overlayDispose=null,i?.();const o=this.renderRoot.querySelector(".tooltip");if(o?.hidePopover)try{o.matches(":popover-open")&&o.hidePopover()}catch{}this._open=!1,this._hoverOwned=!1,this._unsubscribeOpenListeners(),this._floating.destroy(),e&&this.updateComplete.then(()=>this.renderRoot.querySelector(".trigger")?.focus())}_tooltipTemplate(e){return t`