custom-card-helpers 1.7.0 → 1.9.0
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.
- package/.github/workflows/release.yml +98 -0
- package/.github/workflows/test.yml +38 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/08e4736baa3e381bb4b41b2da691c7791d8d436b +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/0b5e4d9bc323a2f30cef9bbbab42c5e6d263f506 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/222319bc27e7218723e642e7fd7583d0b16507c9 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/39747694d8befd1daf6cf78f5e0dacdaf4d307c0 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/461e6586e8816c103a3b444550496747e971bafe +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/606f8c66d7aa1cd8895d105c92ca26c7a2ac4e66 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/745e32e140a99991e963d8ce392c799e32a78d88 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/7b5f383871f5b1e9316e97d2b6fe1763c250ed43 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/8a48761a566c86666480b0ae4e8eac6d7daeecdd +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/91e4b126b8040a69fdd2ce53913e8462930e7cdd +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/99012e620928ede08b0fe33aaa9265147c7fa397 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/a4305345c6caf123b29af76d6abbd43f62352285 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/c54a683dbd758359f7a05d98c489dfce86caa777 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/d4d52874a80a62d39cc2c9fcf324f9a750015eb8 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/code/cache_/d8d4ba3a431846a66940b107d21ae4ddc6d2ca81 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/08e4736baa3e381bb4b41b2da691c7791d8d436b +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/0b5e4d9bc323a2f30cef9bbbab42c5e6d263f506 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/222319bc27e7218723e642e7fd7583d0b16507c9 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/39747694d8befd1daf6cf78f5e0dacdaf4d307c0 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/461e6586e8816c103a3b444550496747e971bafe +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/606f8c66d7aa1cd8895d105c92ca26c7a2ac4e66 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/745e32e140a99991e963d8ce392c799e32a78d88 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/7b5f383871f5b1e9316e97d2b6fe1763c250ed43 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/8a48761a566c86666480b0ae4e8eac6d7daeecdd +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/91e4b126b8040a69fdd2ce53913e8462930e7cdd +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/99012e620928ede08b0fe33aaa9265147c7fa397 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/a4305345c6caf123b29af76d6abbd43f62352285 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/c54a683dbd758359f7a05d98c489dfce86caa777 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/d4d52874a80a62d39cc2c9fcf324f9a750015eb8 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/semanticDiagnostics/cache_/d8d4ba3a431846a66940b107d21ae4ddc6d2ca81 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/08e4736baa3e381bb4b41b2da691c7791d8d436b +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/0b5e4d9bc323a2f30cef9bbbab42c5e6d263f506 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/222319bc27e7218723e642e7fd7583d0b16507c9 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/39747694d8befd1daf6cf78f5e0dacdaf4d307c0 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/461e6586e8816c103a3b444550496747e971bafe +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/606f8c66d7aa1cd8895d105c92ca26c7a2ac4e66 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/745e32e140a99991e963d8ce392c799e32a78d88 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/7b5f383871f5b1e9316e97d2b6fe1763c250ed43 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/8a48761a566c86666480b0ae4e8eac6d7daeecdd +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/91e4b126b8040a69fdd2ce53913e8462930e7cdd +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/99012e620928ede08b0fe33aaa9265147c7fa397 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/a4305345c6caf123b29af76d6abbd43f62352285 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/c54a683dbd758359f7a05d98c489dfce86caa777 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/d4d52874a80a62d39cc2c9fcf324f9a750015eb8 +1 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/syntacticDiagnostics/cache_/d8d4ba3a431846a66940b107d21ae4ddc6d2ca81 +1 -0
- package/{dist/lovelace-types.d.ts → .rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/0330a94cf5d54d5cbfe815df482192cb1f5e3ec6} +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/03927c786a09b02e1ffc074cd866e9aba06ad0fd +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/0e0c5a7d3120324d09366b256ff25777f883c40c +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/13732d03861c4ad40caf58800c5f204d3f305143 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/179a2a81b8c1fe812531bc3afe9d529fdbe8e71e +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/18b17fe6f00b7cdbd471c2c015ad16635690f9ac +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/19d213616239c49acda39e7a8b56acdb116dabc3 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/1b3f1afd18a4b55a33065e860e5999ec32c3cbf8 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/211e26ae08ee52f02645488896b51bf1400d6dd7 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/2cae0c26b5183fd719c47cd3349b3bf92c335493 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/347438311bdd6958d3b38bd627fd2d09de6422e3 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/35b7d565fb3883ca454fde2170dcbd05a3f787af +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/3b8a40a878f55dbbd76acf80859e55f2442fa666 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/3dc32d1cdd29fc9d600f40ff8ca9224cc8c2aa3e +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/3dd58c678388fefc96aeadc279524e380ec78b7c +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/4262fd7f29b9eb992d645228a8f590ea73a32bde +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/46ce738aa15a11a6fd236f518aa3d2a39c97c449 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/4752fe6c96dcd6e61523e5c13b0f3bbb93644dfa +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/4a42c931cc39bdd0acb520a26218d9ddd05cbe93 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/4afef8f417a9cd6b09753082ba7d17d0ec0d820c +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/4c62edec3cfcda8d92246f2f1d4f45464492596a +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/4e9286388180527c6f9aeec262656a184f5145b8 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/5412e9e8b77fab1159398139b3c01c3d07568f22 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/57815321464d368c15851e2260664fe28f9fdd80 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/599deaac8d2395978afdfb668b31d39491a5143f +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/62bca9327d0ed5df31b7be97ab8b6cd485a85c78 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/6d42fc5d3b60366a7f6436413d67fc4383d58c68 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/72f0265e2548fb28235dfc0b48f7a4f9e7c8ab09 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/73a78745b8114f713a0da57205df2c3251526dad +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/76761c9aaef398335d84cc28c4b696de9d3f24c5 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/76e05fd9062b6f87416e0c4f24e92fe6ba682c13 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/7d3f990de3dea4aae556f0e1900f905bb3f5ff81 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/87c789f0dff4c5990502c729240bc0b2afca9382 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/8bcdfd4fd989b0d8d58317f76e258ce0ce319e08 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/90bb8aaf997dfe4602b390ca8005c7aa7a66011f +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/945300d29ff3cef13ce2d1041f0ff35e87275400 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/a7792d5bb43716c0fede84aa1608cb9df5baa8f0 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/a9ed07c2f08bcd3faa7be18e931467885e145303 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/b03a7a597f19ce80c06c746e0829dd7b13dfc390 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/b9e20cd1c1db1f975403ff603b5265ee5484a294 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/be65f4dc887272d1594f977379a188f26efeeb37 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/ce6629b08cb91f33095e9b87c2dce64953629583 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/e0fc62c33e003f451d30e63023795fe7a4b63cd6 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/e5cc5e78959b3a9d966e737d8e19791f5f2861f6 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/e93da894c0776726f6c1301c1c32ba293b3bbeb1 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/e97b2f858600ab06cd0f58d3fdf20a9470ef03ca +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/eb2ecaa377bd8e7b0dd29f0b6461abefe7c725a7 +0 -0
- package/.rts2_cache_cjs/rpt2_268d8df7bd661c0dbd1e3f90b7ddf9706bcc16c6/types/cache_/fab1ecafeb86fac61d8427044a84cef8e502f41c +0 -0
- package/dist/binary_sensor_icon.d.ts +1 -1
- package/dist/compute-state-display.d.ts +2 -1
- package/dist/const.d.ts +1 -1
- package/dist/datetime/duration_to_seconds.d.ts +6 -1
- package/dist/datetime/format_date.d.ts +50 -1
- package/dist/datetime/format_date_time.d.ts +22 -1
- package/dist/datetime/format_time.d.ts +22 -1
- package/dist/datetime/relative_time.d.ts +7 -5
- package/dist/datetime/seconds_to_duration.d.ts +1 -1
- package/dist/datetime/use_am_pm.d.ts +7 -0
- package/dist/fire-event.d.ts +5 -5
- package/dist/format-number.d.ts +12 -2
- package/dist/handle-action.d.ts +1 -1
- package/dist/has-changed.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.m.js +1 -1
- package/dist/index.m.js.map +1 -1
- package/dist/index.modern.js +2 -0
- package/dist/index.modern.js.map +1 -0
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types.d.ts +37 -21
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +29 -0
- package/docs/assets/icons.css +1043 -0
- package/docs/assets/{images/icons.png → icons.png} +0 -0
- package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
- package/docs/assets/main.js +52 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1388 -0
- package/docs/assets/{images/widgets.png → widgets.png} +0 -0
- package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
- package/docs/enums/NumberFormat.html +1 -0
- package/docs/enums/TimeFormat.html +1 -0
- package/docs/index.html +10 -244
- package/docs/interfaces/ActionHandlerDetail.html +1 -0
- package/docs/interfaces/ActionHandlerOptions.html +1 -0
- package/docs/interfaces/BaseActionConfig.html +3 -0
- package/docs/interfaces/CallServiceActionConfig.html +1 -0
- package/docs/interfaces/ConfirmationRestrictionConfig.html +1 -0
- package/docs/interfaces/Credential.html +1 -0
- package/docs/interfaces/CurrentUser.html +1 -0
- package/docs/interfaces/CustomActionConfig.html +1 -0
- package/docs/interfaces/EntitiesCardEntityConfig.html +1 -0
- package/docs/interfaces/EntityConfig.html +1 -0
- package/docs/interfaces/FrontendLocaleData.html +1 -0
- package/docs/interfaces/HASSDomEvent.html +29 -0
- package/docs/interfaces/HomeAssistant.html +1 -0
- package/docs/interfaces/LovelaceBadgeConfig.html +1 -0
- package/docs/interfaces/LovelaceCard.html +291 -0
- package/docs/interfaces/LovelaceCardConfig.html +1 -0
- package/docs/interfaces/LovelaceCardEditor.html +291 -0
- package/docs/interfaces/LovelaceConfig.html +1 -0
- package/docs/interfaces/LovelaceElementConfigBase.html +1 -0
- package/docs/interfaces/LovelaceViewConfig.html +1 -0
- package/docs/interfaces/MFAModule.html +1 -0
- package/docs/interfaces/MoreInfoActionConfig.html +1 -0
- package/docs/interfaces/NavigateActionConfig.html +1 -0
- package/docs/interfaces/NoActionConfig.html +1 -0
- package/docs/interfaces/Panel.html +1 -0
- package/docs/interfaces/Panels.html +1 -0
- package/docs/interfaces/Resources.html +1 -0
- package/docs/interfaces/RestrictionConfig.html +1 -0
- package/docs/interfaces/ServiceCallRequest.html +1 -0
- package/docs/interfaces/ShowViewConfig.html +1 -0
- package/docs/interfaces/Theme.html +1 -0
- package/docs/interfaces/Themes.html +1 -0
- package/docs/interfaces/ToggleActionConfig.html +1 -0
- package/docs/interfaces/ToggleMenuActionConfig.html +1 -0
- package/docs/interfaces/Translation.html +1 -0
- package/docs/interfaces/UrlActionConfig.html +1 -0
- package/docs/interfaces/Window.html +1 -0
- package/docs/modules.html +151 -0
- package/package.json +11 -11
- package/src/binary_sensor_icon.ts +32 -23
- package/src/compute-rtl.ts +1 -1
- package/src/compute-state-display.ts +100 -39
- package/src/const.ts +1 -1
- package/src/cover_icon.ts +5 -5
- package/src/create-thing.ts +3 -1
- package/src/datetime/duration_to_seconds.ts +6 -1
- package/src/datetime/format_date.ts +119 -20
- package/src/datetime/format_date_time.ts +70 -22
- package/src/datetime/format_time.ts +57 -17
- package/src/datetime/relative_time.ts +23 -45
- package/src/datetime/seconds_to_duration.ts +3 -1
- package/src/datetime/timer_time_remaining.ts +1 -1
- package/src/datetime/use_am_pm.ts +22 -0
- package/src/domain_icons.ts +52 -52
- package/src/format-number.ts +113 -53
- package/src/handle-action.ts +1 -1
- package/src/handle-click.ts +1 -1
- package/src/has-changed.ts +1 -1
- package/src/input_datetime_icon.ts +2 -2
- package/src/sensor_icon.ts +19 -19
- package/src/translations/localize.ts +29 -46
- package/src/types.ts +47 -22
- package/tsconfig.json +11 -0
- package/dist/index.mjs +0 -2
- package/dist/index.mjs.map +0 -1
- package/dist/long-press-directive.d.ts +0 -10
- package/dist/translations/localize.d.ts +0 -41
- package/docs/assets/css/main.css +0 -2679
- package/docs/assets/js/main.js +0 -1
- package/docs/assets/js/search.json +0 -1
- package/docs/globals.html +0 -288
- package/docs/interfaces/_fire_event_.__global.hassdomevents.html +0 -140
- package/docs/interfaces/_fire_event_.hassdomevent.html +0 -708
- package/docs/interfaces/_haptic_.__global.globaleventhandlerseventmap.html +0 -175
- package/docs/interfaces/_haptic_.__global.hassdomevents.html +0 -175
- package/docs/interfaces/_navigate_.__global.hassdomevents.html +0 -180
- package/docs/interfaces/_translations_localize_.formatstype.html +0 -204
- package/docs/interfaces/_translations_localize_.formattype.html +0 -148
- package/docs/interfaces/_types_.__global.hassdomevents.html +0 -339
- package/docs/interfaces/_types_.actionhandlerdetail.html +0 -280
- package/docs/interfaces/_types_.actionhandleroptions.html +0 -294
- package/docs/interfaces/_types_.baseactionconfig.html +0 -306
- package/docs/interfaces/_types_.callserviceactionconfig.html +0 -367
- package/docs/interfaces/_types_.confirmationrestrictionconfig.html +0 -294
- package/docs/interfaces/_types_.credential.html +0 -294
- package/docs/interfaces/_types_.currentuser.html +0 -350
- package/docs/interfaces/_types_.customactionconfig.html +0 -328
- package/docs/interfaces/_types_.entitiescardentityconfig.html +0 -500
- package/docs/interfaces/_types_.entityconfig.html +0 -341
- package/docs/interfaces/_types_.homeassistant.html +0 -751
- package/docs/interfaces/_types_.lovelacebadgeconfig.html +0 -284
- package/docs/interfaces/_types_.lovelacecard.html +0 -6149
- package/docs/interfaces/_types_.lovelacecardconfig.html +0 -312
- package/docs/interfaces/_types_.lovelacecardeditor.html +0 -6114
- package/docs/interfaces/_types_.lovelaceconfig.html +0 -308
- package/docs/interfaces/_types_.lovelaceelementconfigbase.html +0 -294
- package/docs/interfaces/_types_.lovelaceviewconfig.html +0 -406
- package/docs/interfaces/_types_.mfamodule.html +0 -308
- package/docs/interfaces/_types_.moreinfoactionconfig.html +0 -342
- package/docs/interfaces/_types_.navigateactionconfig.html +0 -342
- package/docs/interfaces/_types_.noactionconfig.html +0 -328
- package/docs/interfaces/_types_.panel.html +0 -336
- package/docs/interfaces/_types_.panels.html +0 -252
- package/docs/interfaces/_types_.resources.html +0 -257
- package/docs/interfaces/_types_.restrictionconfig.html +0 -280
- package/docs/interfaces/_types_.showviewconfig.html +0 -280
- package/docs/interfaces/_types_.theme.html +0 -308
- package/docs/interfaces/_types_.themes.html +0 -302
- package/docs/interfaces/_types_.toggleactionconfig.html +0 -328
- package/docs/interfaces/_types_.togglemenuactionconfig.html +0 -328
- package/docs/interfaces/_types_.translation.html +0 -316
- package/docs/interfaces/_types_.urlactionconfig.html +0 -342
- package/docs/interfaces/_types_.window.html +0 -427
- package/docs/modules/_apply_themes_on_element_.html +0 -174
- package/docs/modules/_binary_sensor_icon_.html +0 -161
- package/docs/modules/_compute_card_size_.html +0 -156
- package/docs/modules/_compute_domain_.html +0 -156
- package/docs/modules/_compute_entity_.html +0 -156
- package/docs/modules/_compute_rtl_.html +0 -183
- package/docs/modules/_compute_state_display_.html +0 -162
- package/docs/modules/_compute_state_domain_.html +0 -156
- package/docs/modules/_const_.html +0 -340
- package/docs/modules/_cover_icon_.html +0 -156
- package/docs/modules/_create_thing_.html +0 -423
- package/docs/modules/_datetime_duration_to_seconds_.html +0 -156
- package/docs/modules/_datetime_format_date_.html +0 -172
- package/docs/modules/_datetime_format_date_time_.html +0 -172
- package/docs/modules/_datetime_format_time_.html +0 -172
- package/docs/modules/_datetime_relative_time_.html +0 -212
- package/docs/modules/_datetime_seconds_to_duration_.html +0 -183
- package/docs/modules/_datetime_timer_time_remaining_.html +0 -156
- package/docs/modules/_debounce_.html +0 -190
- package/docs/modules/_domain_icons_.html +0 -551
- package/docs/modules/_evaluate_filter_.html +0 -159
- package/docs/modules/_fire_event_.__global.html +0 -138
- package/docs/modules/_fire_event_.html +0 -241
- package/docs/modules/_format_number_.html +0 -222
- package/docs/modules/_get_lovelace_.html +0 -150
- package/docs/modules/_handle_action_.html +0 -235
- package/docs/modules/_handle_click_.html +0 -185
- package/docs/modules/_haptic_.__global.html +0 -142
- package/docs/modules/_haptic_.html +0 -194
- package/docs/modules/_has_action_.html +0 -156
- package/docs/modules/_has_changed_.html +0 -162
- package/docs/modules/_has_double_click_.html +0 -156
- package/docs/modules/_index_.html +0 -903
- package/docs/modules/_input_datetime_icon_.html +0 -156
- package/docs/modules/_lovelace_types_.html +0 -114
- package/docs/modules/_navigate_.__global.html +0 -138
- package/docs/modules/_navigate_.html +0 -173
- package/docs/modules/_scroll_to_target_.html +0 -170
- package/docs/modules/_sensor_icon_.html +0 -238
- package/docs/modules/_state_icon_.html +0 -218
- package/docs/modules/_toggle_entity_.html +0 -159
- package/docs/modules/_translations_localize_.html +0 -282
- package/docs/modules/_turn_on_off_entities_.html +0 -162
- package/docs/modules/_turn_on_off_entity_.html +0 -162
- package/docs/modules/_types_.__global.html +0 -138
- package/docs/modules/_types_.html +0 -361
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
name: "Release"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
prepare:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v2
|
|
13
|
+
|
|
14
|
+
- name: Get yarn cache directory path
|
|
15
|
+
id: yarn-cache-dir-path
|
|
16
|
+
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
17
|
+
|
|
18
|
+
- uses: actions/cache@v2
|
|
19
|
+
with:
|
|
20
|
+
path: '**/node_modules'
|
|
21
|
+
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
|
22
|
+
|
|
23
|
+
- name: Setup Node
|
|
24
|
+
uses: actions/setup-node@v2
|
|
25
|
+
with:
|
|
26
|
+
node-version: '14'
|
|
27
|
+
cache: 'yarn'
|
|
28
|
+
|
|
29
|
+
- name: Install dependencies
|
|
30
|
+
if: steps.yarn-cache.outputs.cache-hit != 'true'
|
|
31
|
+
run: yarn install
|
|
32
|
+
|
|
33
|
+
#buildnpublish:
|
|
34
|
+
# needs: prepare
|
|
35
|
+
# runs-on: ubuntu-latest
|
|
36
|
+
# steps:
|
|
37
|
+
# - name: Checkout the repository
|
|
38
|
+
# uses: actions/checkout@v2
|
|
39
|
+
|
|
40
|
+
# - name: Get yarn cache directory path
|
|
41
|
+
# id: yarn-cache-dir-path
|
|
42
|
+
# run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
43
|
+
|
|
44
|
+
# - name: Setup Node
|
|
45
|
+
# uses: actions/setup-node@v2
|
|
46
|
+
# with:
|
|
47
|
+
# node-version: '14'
|
|
48
|
+
|
|
49
|
+
# - uses: actions/cache@v2
|
|
50
|
+
# with:
|
|
51
|
+
# path: '**/node_modules'
|
|
52
|
+
# key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
|
53
|
+
|
|
54
|
+
# - name: Install dependencies
|
|
55
|
+
# if: steps.yarn-cache.outputs.cache-hit != 'true'
|
|
56
|
+
# run: yarn install
|
|
57
|
+
|
|
58
|
+
# - name: Building
|
|
59
|
+
# run: yarn build
|
|
60
|
+
|
|
61
|
+
# - uses: JS-DevTools/npm-publish@v1
|
|
62
|
+
# with:
|
|
63
|
+
# token: ${{ secrets.NPM_TOKEN }}
|
|
64
|
+
|
|
65
|
+
docs:
|
|
66
|
+
# needs: buildnpublish
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
steps:
|
|
69
|
+
- name: Checkout the repository
|
|
70
|
+
uses: actions/checkout@v2
|
|
71
|
+
|
|
72
|
+
- name: Get yarn cache directory path
|
|
73
|
+
id: yarn-cache-dir-path
|
|
74
|
+
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
75
|
+
|
|
76
|
+
- name: Setup Node
|
|
77
|
+
uses: actions/setup-node@v2
|
|
78
|
+
with:
|
|
79
|
+
node-version: '14'
|
|
80
|
+
|
|
81
|
+
- uses: actions/cache@v2
|
|
82
|
+
with:
|
|
83
|
+
path: '**/node_modules'
|
|
84
|
+
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
|
85
|
+
|
|
86
|
+
- name: Install dependencies
|
|
87
|
+
if: steps.yarn-cache.outputs.cache-hit != 'true'
|
|
88
|
+
run: yarn install
|
|
89
|
+
|
|
90
|
+
- name: Create the docs directory locally in CI
|
|
91
|
+
run: npm run docs
|
|
92
|
+
|
|
93
|
+
- name: Deploy 🚀
|
|
94
|
+
uses: JamesIves/github-pages-deploy-action@4.1.4
|
|
95
|
+
with:
|
|
96
|
+
# The Branch here is a reserved branch for github
|
|
97
|
+
branch: gh-pages
|
|
98
|
+
folder: docs
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: "Build"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
name: Test build
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v2
|
|
17
|
+
|
|
18
|
+
- name: Get yarn cache directory path
|
|
19
|
+
id: yarn-cache-dir-path
|
|
20
|
+
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
21
|
+
|
|
22
|
+
- uses: actions/cache@v2
|
|
23
|
+
with:
|
|
24
|
+
path: '**/node_modules'
|
|
25
|
+
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
|
26
|
+
|
|
27
|
+
- name: Setup Node
|
|
28
|
+
uses: actions/setup-node@v2
|
|
29
|
+
with:
|
|
30
|
+
node-version: '14'
|
|
31
|
+
|
|
32
|
+
- name: Install dependencies
|
|
33
|
+
if: steps.yarn-cache.outputs.cache-hit != 'true'
|
|
34
|
+
run: yarn install
|
|
35
|
+
|
|
36
|
+
# Using TSC instead of microbundle because it detects the same errors and is alot quicker
|
|
37
|
+
- name: Build
|
|
38
|
+
run: tsc
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"/**\r\n * Apply a theme to an element by setting the CSS variables on it.\r\n *\r\n * element: Element to apply theme on.\r\n * themes: HASS Theme information\r\n * localTheme: selected theme.\r\n * updateMeta: boolean if we should update the theme-color meta element.\r\n */\r\nexport const applyThemesOnElement = (element, themes, localTheme, updateMeta = false) => {\r\n if (!element._themes) {\r\n element._themes = {};\r\n }\r\n let themeName = themes.default_theme;\r\n if (localTheme === \"default\" || (localTheme && themes.themes[localTheme])) {\r\n themeName = localTheme;\r\n }\r\n const styles = { ...element._themes };\r\n if (themeName !== \"default\") {\r\n const theme = themes.themes[themeName];\r\n Object.keys(theme).forEach((key) => {\r\n const prefixedKey = \"--\" + key;\r\n element._themes[prefixedKey] = \"\";\r\n styles[prefixedKey] = theme[key];\r\n });\r\n }\r\n if (element.updateStyles) {\r\n element.updateStyles(styles);\r\n }\r\n else if (window.ShadyCSS) {\r\n // implement updateStyles() method of Polemer elements\r\n window.ShadyCSS.styleSubtree(/** @type {!HTMLElement} */ (element), styles);\r\n }\r\n if (!updateMeta) {\r\n return;\r\n }\r\n const meta = document.querySelector(\"meta[name=theme-color]\");\r\n if (meta) {\r\n if (!meta.hasAttribute(\"default-content\")) {\r\n meta.setAttribute(\"default-content\", meta.getAttribute(\"content\"));\r\n }\r\n const themeColor = styles[\"--primary-color\"] || meta.getAttribute(\"default-content\");\r\n meta.setAttribute(\"content\", themeColor);\r\n }\r\n};\r\n//# sourceMappingURL=apply_themes_on_element.js.map","map":"{\"version\":3,\"file\":\"apply_themes_on_element.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/apply_themes_on_element.ts\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAO,EACP,MAAM,EACN,UAAU,EACV,UAAU,GAAG,KAAK,EAClB,EAAE;IACF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;KACtB;IACD,IAAI,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;IACrC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE;QACzE,SAAS,GAAG,UAAU,CAAC;KACxB;IACD,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IACtC,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;IACD,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;KAC9B;SAAM,IAAK,MAAc,CAAC,QAAQ,EAAE;QACnC,sDAAsD;QACrD,MAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;KACtF;IAED,IAAI,CAAC,UAAU,EAAE;QACf,OAAO;KACR;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC9D,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE;YACzC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC,CAAC;SACrE;QACD,MAAM,UAAU,GACd,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;KAC1C;AACH,CAAC,CAAA\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/apply_themes_on_element.d.ts","writeByteOrderMark":false,"text":"/**\r\n * Apply a theme to an element by setting the CSS variables on it.\r\n *\r\n * element: Element to apply theme on.\r\n * themes: HASS Theme information\r\n * localTheme: selected theme.\r\n * updateMeta: boolean if we should update the theme-color meta element.\r\n */\r\nexport declare const applyThemesOnElement: (element: any, themes: any, localTheme: any, updateMeta?: boolean) => void;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"import { computeDomain } from \"./compute-domain\";\r\nexport function computeStateDomain(stateObj) {\r\n return computeDomain(stateObj.entity_id);\r\n}\r\n//# sourceMappingURL=compute-state-domain.js.map","map":"{\"version\":3,\"file\":\"compute-state-domain.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/compute-state-domain.ts\"],\"names\":[],\"mappings\":\"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,QAAoB;IACrD,OAAO,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/compute-state-domain.d.ts","writeByteOrderMark":false,"text":"import { HassEntity } from \"home-assistant-js-websocket\";\r\nexport declare function computeStateDomain(stateObj: HassEntity): string;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"/**\r\n * Returns a function, that, as long as it continues to be invoked, will not be triggered. It will be called after it stops being called for `wait` ms.\r\n * This can be usefull for ResizeObservers for example.\r\n * @param func The function you want to debounce\r\n * @param wait Period to wait in ms\r\n * @param immediate Triggering on the leading edge instead of the trailing\r\n * @returns Debounced Function\r\n */\r\n// eslint-disable-next-line: ban-types\r\nexport const debounce = (func, wait, immediate = false) => {\r\n let timeout;\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n return function (...args) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const context = this;\r\n const later = () => {\r\n timeout = null;\r\n if (!immediate) {\r\n func.apply(context, args);\r\n }\r\n };\r\n const callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) {\r\n func.apply(context, args);\r\n }\r\n };\r\n};\r\n//# sourceMappingURL=debounce.js.map","map":"{\"version\":3,\"file\":\"debounce.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/debounce.ts\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;GAOG;AACH,sCAAsC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAO,EACP,IAAY,EACZ,SAAS,GAAG,KAAK,EACd,EAAE;IACL,IAAI,OAAO,CAAC;IACZ,6DAA6D;IAC7D,aAAa;IACb,OAAO,UAAU,GAAG,IAAI;QACtB,6DAA6D;QAC7D,aAAa;QACb,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,SAAS,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC;QACtC,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC;AACJ,CAAC,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/debounce.d.ts","writeByteOrderMark":false,"text":"/**\r\n * Returns a function, that, as long as it continues to be invoked, will not be triggered. It will be called after it stops being called for `wait` ms.\r\n * This can be usefull for ResizeObservers for example.\r\n * @param func The function you want to debounce\r\n * @param wait Period to wait in ms\r\n * @param immediate Triggering on the leading edge instead of the trailing\r\n * @returns Debounced Function\r\n */\r\nexport declare const debounce: <T extends (...args: any[]) => unknown>(func: T, wait: number, immediate?: boolean) => T;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"export const computeCardSize = (card) => {\r\n return typeof card.getCardSize === \"function\" ? card.getCardSize() : 4;\r\n};\r\n//# sourceMappingURL=compute-card-size.js.map","map":"{\"version\":3,\"file\":\"compute-card-size.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/compute-card-size.ts\"],\"names\":[],\"mappings\":\"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAkB,EAA4B,EAAE;IAC9E,OAAO,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/compute-card-size.d.ts","writeByteOrderMark":false,"text":"import { LovelaceCard } from \"./types\";\r\nexport declare const computeCardSize: (card: LovelaceCard) => number | Promise<number>;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"export * from \"./datetime/duration_to_seconds\";\r\nexport * from \"./datetime/format_date\";\r\nexport * from \"./datetime/format_date_time\";\r\nexport * from \"./datetime/format_time\";\r\nexport * from \"./datetime/relative_time\";\r\nexport * from \"./datetime/seconds_to_duration\";\r\nexport * from \"./datetime/timer_time_remaining\";\r\nexport * from \"./apply_themes_on_element\";\r\nexport * from \"./compute-card-size\";\r\nexport * from \"./compute-domain\";\r\nexport * from \"./compute-entity\";\r\nexport * from \"./compute-rtl\";\r\nexport * from \"./compute-state-display\";\r\nexport * from \"./compute-state-domain\";\r\nexport * from \"./const\";\r\nexport * from \"./create-thing\";\r\nexport * from \"./debounce\";\r\nexport * from \"./domain_icons\";\r\nexport * from \"./evaluate-filter\";\r\nexport * from \"./fire-event\";\r\nexport * from \"./format-number\";\r\nexport * from \"./handle-action\";\r\nexport * from \"./handle-click\";\r\nexport * from \"./haptic\";\r\nexport * from \"./has-action\";\r\nexport * from \"./has-changed\";\r\nexport * from \"./has-double-click\";\r\nexport * from \"./navigate\";\r\nexport * from \"./scroll-to-target\";\r\nexport * from \"./toggle-entity\";\r\nexport * from \"./turn-on-off-entities\";\r\nexport * from \"./turn-on-off-entity\";\r\nexport * from \"./get-lovelace\";\r\nexport * from \"./state_icon\";\r\n//# sourceMappingURL=index.js.map","map":"{\"version\":3,\"file\":\"index.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/index.ts\"],\"names\":[],\"mappings\":\"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAC;AAErC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAA\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/index.d.ts","writeByteOrderMark":false,"text":"export * from \"./datetime/duration_to_seconds\";\r\nexport * from \"./datetime/format_date\";\r\nexport * from \"./datetime/format_date_time\";\r\nexport * from \"./datetime/format_time\";\r\nexport * from \"./datetime/relative_time\";\r\nexport * from \"./datetime/seconds_to_duration\";\r\nexport * from \"./datetime/timer_time_remaining\";\r\nexport * from \"./apply_themes_on_element\";\r\nexport * from \"./compute-card-size\";\r\nexport * from \"./compute-domain\";\r\nexport * from \"./compute-entity\";\r\nexport * from \"./compute-rtl\";\r\nexport * from \"./compute-state-display\";\r\nexport * from \"./compute-state-domain\";\r\nexport * from \"./const\";\r\nexport * from \"./create-thing\";\r\nexport * from \"./debounce\";\r\nexport * from \"./domain_icons\";\r\nexport * from \"./evaluate-filter\";\r\nexport * from \"./fire-event\";\r\nexport * from \"./format-number\";\r\nexport * from \"./handle-action\";\r\nexport * from \"./handle-click\";\r\nexport * from \"./haptic\";\r\nexport * from \"./has-action\";\r\nexport * from \"./has-changed\";\r\nexport * from \"./has-double-click\";\r\nexport * from \"./navigate\";\r\nexport * from \"./scroll-to-target\";\r\nexport * from \"./toggle-entity\";\r\nexport * from \"./turn-on-off-entities\";\r\nexport * from \"./turn-on-off-entity\";\r\nexport * from \"./types\";\r\nexport * from \"./get-lovelace\";\r\nexport * from \"./state_icon\";\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"export function computeRTL(hass) {\r\n const lang = hass.locale.language || \"en\";\r\n if (hass.translationMetadata.translations[lang]) {\r\n return hass.translationMetadata.translations[lang].isRTL || false;\r\n }\r\n return false;\r\n}\r\nexport function computeRTLDirection(hass) {\r\n return computeRTL(hass) ? \"rtl\" : \"ltr\";\r\n}\r\n//# sourceMappingURL=compute-rtl.js.map","map":"{\"version\":3,\"file\":\"compute-rtl.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/compute-rtl.ts\"],\"names\":[],\"mappings\":\"AAEA,MAAM,UAAU,UAAU,CAAC,IAAmB;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC1C,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;KACnE;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAmB;IACrD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/compute-rtl.d.ts","writeByteOrderMark":false,"text":"import { HomeAssistant } from \"./types\";\r\nexport declare function computeRTL(hass: HomeAssistant): boolean;\r\nexport declare function computeRTLDirection(hass: HomeAssistant): \"rtl\" | \"ltr\";\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"export const evaluateFilter = (stateObj, filter) => {\r\n const operator = filter.operator || \"==\";\r\n const value = filter.value || filter;\r\n const state = filter.attribute\r\n ? stateObj.attributes[filter.attribute]\r\n : stateObj.state;\r\n switch (operator) {\r\n case \"==\":\r\n return state === value;\r\n case \"<=\":\r\n return state <= value;\r\n case \"<\":\r\n return state < value;\r\n case \">=\":\r\n return state >= value;\r\n case \">\":\r\n return state > value;\r\n case \"!=\":\r\n return state !== value;\r\n case \"regex\": {\r\n return state.match(value);\r\n }\r\n default:\r\n return false;\r\n }\r\n};\r\n//# sourceMappingURL=evaluate-filter.js.map","map":"{\"version\":3,\"file\":\"evaluate-filter.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/evaluate-filter.ts\"],\"names\":[],\"mappings\":\"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAoB,EAAE,MAAW,EAAW,EAAE;IAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS;QAC5B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAEnB,QAAQ,QAAQ,EAAE;QAChB,KAAK,IAAI;YACP,OAAO,KAAK,KAAK,KAAK,CAAC;QACzB,KAAK,IAAI;YACP,OAAO,KAAK,IAAI,KAAK,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,KAAK,CAAC;QACvB,KAAK,IAAI;YACP,OAAO,KAAK,IAAI,KAAK,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,KAAK,CAAC;QACvB,KAAK,IAAI;YACP,OAAO,KAAK,KAAK,KAAK,CAAC;QACzB,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/evaluate-filter.d.ts","writeByteOrderMark":false,"text":"import { HassEntity } from \"home-assistant-js-websocket\";\r\nexport declare const evaluateFilter: (stateObj: HassEntity, filter: any) => boolean;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"// Polymer legacy event helpers used courtesy of the Polymer project.\r\n//\r\n// Copyright (c) 2017 The Polymer Authors. All rights reserved.\r\n//\r\n// Redistribution and use in source and binary forms, with or without\r\n// modification, are permitted provided that the following conditions are\r\n// met:\r\n//\r\n// * Redistributions of source code must retain the above copyright\r\n// notice, this list of conditions and the following disclaimer.\r\n// * Redistributions in binary form must reproduce the above\r\n// copyright notice, this list of conditions and the following disclaimer\r\n// in the documentation and/or other materials provided with the\r\n// distribution.\r\n// * Neither the name of Google Inc. nor the names of its\r\n// contributors may be used to endorse or promote products derived from\r\n// this software without specific prior written permission.\r\n//\r\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n/**\r\n * Dispatches a custom event with an optional detail value.\r\n *\r\n * @param {string} type Name of event type.\r\n * @param {*=} detail Detail value containing event-specific\r\n * payload.\r\n * @param {{ bubbles: (boolean|undefined),\r\n * cancelable: (boolean|undefined),\r\n * composed: (boolean|undefined) }=}\r\n * options Object specifying options. These may include:\r\n * `bubbles` (boolean, defaults to `true`),\r\n * `cancelable` (boolean, defaults to false), and\r\n * `node` on which to fire the event (HTMLElement, defaults to `this`).\r\n * @return {Event} The new event that was fired.\r\n */\r\nexport const fireEvent = (node, type, detail, options) => {\r\n options = options || {};\r\n // @ts-ignore\r\n detail = detail === null || detail === undefined ? {} : detail;\r\n const event = new Event(type, {\r\n bubbles: options.bubbles === undefined ? true : options.bubbles,\r\n cancelable: Boolean(options.cancelable),\r\n composed: options.composed === undefined ? true : options.composed\r\n });\r\n event.detail = detail;\r\n node.dispatchEvent(event);\r\n return event;\r\n};\r\n//# sourceMappingURL=fire-event.js.map","map":"{\"version\":3,\"file\":\"fire-event.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/fire-event.ts\"],\"names\":[],\"mappings\":\"AAAA,qEAAqE;AACrE,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,OAAO;AACP,EAAE;AACF,sEAAsE;AACtE,gEAAgE;AAChE,+DAA+D;AAC/D,yEAAyE;AACzE,gEAAgE;AAChE,gBAAgB;AAChB,4DAA4D;AAC5D,uEAAuE;AACvE,2DAA2D;AAC3D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AACxE,mEAAmE;AACnE,wEAAwE;AACxE,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,uEAAuE;AAavE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAA0B,EAC1B,IAAe,EACf,MAAiC,EACjC,OAIC,EACD,EAAE;IACF,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,aAAa;IACb,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;QAC/D,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;KACnE,CAAC,CAAC;IACF,KAAa,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/fire-event.d.ts","writeByteOrderMark":false,"text":"declare global {\r\n interface HASSDomEvents {\r\n }\r\n}\r\nexport declare type ValidHassDomEvent = keyof HASSDomEvents;\r\nexport interface HASSDomEvent<T> extends Event {\r\n detail: T;\r\n}\r\n/**\r\n * Dispatches a custom event with an optional detail value.\r\n *\r\n * @param {string} type Name of event type.\r\n * @param {*=} detail Detail value containing event-specific\r\n * payload.\r\n * @param {{ bubbles: (boolean|undefined),\r\n * cancelable: (boolean|undefined),\r\n * composed: (boolean|undefined) }=}\r\n * options Object specifying options. These may include:\r\n * `bubbles` (boolean, defaults to `true`),\r\n * `cancelable` (boolean, defaults to false), and\r\n * `node` on which to fire the event (HTMLElement, defaults to `this`).\r\n * @return {Event} The new event that was fired.\r\n */\r\nexport declare const fireEvent: <HassEvent extends \"undefined\" | \"haptic\" | \"value-changed\" | \"config-changed\" | \"hass-more-info\" | \"ll-rebuild\" | \"location-changed\" | \"show-dialog\" | \"action\">(node: HTMLElement | Window, type: HassEvent, detail?: HASSDomEvents[HassEvent], options?: {\r\n bubbles?: boolean;\r\n cancelable?: boolean;\r\n composed?: boolean;\r\n}) => Event;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"import { NumberFormat } from \"./types\";\r\n/**\r\n * Formats a number based on the specified language with thousands separator(s) and decimal character for better legibility.\r\n * @param num The number to format\r\n * @param locale The user-selected language and number format, from `hass.locale`\r\n * @param options Intl.NumberFormatOptions to use\r\n */\r\nexport const formatNumber = (num, locale, options) => {\r\n let format;\r\n switch (locale?.number_format) {\r\n case NumberFormat.comma_decimal:\r\n format = [\"en-US\", \"en\"]; // Use United States with fallback to English formatting 1,234,567.89\r\n break;\r\n case NumberFormat.decimal_comma:\r\n format = [\"de\", \"es\", \"it\"]; // Use German with fallback to Spanish then Italian formatting 1.234.567,89\r\n break;\r\n case NumberFormat.space_comma:\r\n format = [\"fr\", \"sv\", \"cs\"]; // Use French with fallback to Swedish and Czech formatting 1 234 567,89\r\n break;\r\n case NumberFormat.system:\r\n format = undefined;\r\n break;\r\n default:\r\n format = locale?.language;\r\n }\r\n // Polyfill for Number.isNaN, which is more reliable than the global isNaN()\r\n Number.isNaN =\r\n Number.isNaN ||\r\n function isNaN(input) {\r\n return typeof input === \"number\" && isNaN(input);\r\n };\r\n if (!Number.isNaN(Number(num)) &&\r\n Intl &&\r\n locale?.number_format !== NumberFormat.none) {\r\n try {\r\n return new Intl.NumberFormat(format, getDefaultFormatOptions(num, options)).format(Number(num));\r\n }\r\n catch (error) {\r\n // Don't fail when using \"TEST\" language\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n return new Intl.NumberFormat(undefined, getDefaultFormatOptions(num, options)).format(Number(num));\r\n }\r\n }\r\n return num ? num.toString() : \"\";\r\n};\r\n/**\r\n * Generates default options for Intl.NumberFormat\r\n * @param num The number to be formatted\r\n * @param options The Intl.NumberFormatOptions that should be included in the returned options\r\n */\r\nconst getDefaultFormatOptions = (num, options) => {\r\n const defaultOptions = options || {};\r\n if (typeof num !== \"string\") {\r\n return defaultOptions;\r\n }\r\n // Keep decimal trailing zeros if they are present in a string numeric value\r\n if (!options ||\r\n (!options.minimumFractionDigits && !options.maximumFractionDigits)) {\r\n const digits = num.indexOf(\".\") > -1 ? num.split(\".\")[1].length : 0;\r\n defaultOptions.minimumFractionDigits = digits;\r\n defaultOptions.maximumFractionDigits = digits;\r\n }\r\n return defaultOptions;\r\n};\r\n//# sourceMappingURL=format-number.js.map","map":"{\"version\":3,\"file\":\"format-number.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/format-number.ts\"],\"names\":[],\"mappings\":\"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAoB,EACpB,MAAgC,EAChC,OAAkC,EAC1B,EAAE;IAEV,IAAI,MAAqC,CAAC;IAE1C,QAAQ,MAAM,EAAE,aAAa,EAAE;QAC7B,KAAK,YAAY,CAAC,aAAa;YAC7B,MAAM,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,qEAAqE;YAC/F,MAAM;QACR,KAAK,YAAY,CAAC,aAAa;YAC7B,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,2EAA2E;YACxG,MAAM;QACR,KAAK,YAAY,CAAC,WAAW;YAC3B,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,wEAAwE;YACrG,MAAM;QACR,KAAK,YAAY,CAAC,MAAM;YACtB,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM;QACR;YACE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC;KAC7B;IACD,4EAA4E;IAC5E,MAAM,CAAC,KAAK;QACV,MAAM,CAAC,KAAK;YACZ,SAAS,KAAK,CAAC,KAAK;gBAClB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC,CAAC;IAEF,IACE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI;QACJ,MAAM,EAAE,aAAa,KAAK,YAAY,CAAC,IAAI,EAC3C;QACA,IAAI;YACF,OAAO,IAAI,IAAI,CAAC,YAAY,CAC1B,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CACtC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;YACd,wCAAwC;YACxC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,IAAI,IAAI,CAAC,YAAY,CAC1B,SAAS,EACT,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CACtC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACvB;KACF;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,CAC9B,GAAoB,EACpB,OAAkC,EACR,EAAE;IAC5B,MAAM,cAAc,GAA6B,OAAO,IAAI,EAAE,CAAC;IAE/D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,cAAc,CAAC;KACvB;IAED,4EAA4E;IAC5E,IACE,CAAC,OAAO;QACR,CAAC,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAClE;QACA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,cAAc,CAAC,qBAAqB,GAAG,MAAM,CAAC;QAC9C,cAAc,CAAC,qBAAqB,GAAG,MAAM,CAAC;KAC/C;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/format-number.d.ts","writeByteOrderMark":false,"text":"import { FrontendTranslationData } from \"./types\";\r\n/**\r\n * Formats a number based on the specified language with thousands separator(s) and decimal character for better legibility.\r\n * @param num The number to format\r\n * @param locale The user-selected language and number format, from `hass.locale`\r\n * @param options Intl.NumberFormatOptions to use\r\n */\r\nexport declare const formatNumber: (num: string | number, locale?: FrontendTranslationData, options?: Intl.NumberFormatOptions) => string;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"export function computeEntity(entityId) {\r\n return entityId.substr(entityId.indexOf(\".\") + 1);\r\n}\r\n//# sourceMappingURL=compute-entity.js.map","map":"{\"version\":3,\"file\":\"compute-entity.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/compute-entity.ts\"],\"names\":[],\"mappings\":\"AAAA,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/compute-entity.d.ts","writeByteOrderMark":false,"text":"export declare function computeEntity(entityId: string): string;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"/** Constants to be used in the frontend. */\r\n// Constants should be alphabetically sorted by name.\r\n// Arrays with values should be alphabetically sorted if order doesn't matter.\r\n// Each constant should have a description what it is supposed to be used for.\r\n/** Icon to use when no icon specified for domain. */\r\nexport const DEFAULT_DOMAIN_ICON = \"hass:bookmark\";\r\n/** Panel to show when no panel is picked. */\r\nexport const DEFAULT_PANEL = \"lovelace\";\r\n/** Domains that have a state card. */\r\nexport const DOMAINS_WITH_CARD = [\r\n \"climate\",\r\n \"cover\",\r\n \"configurator\",\r\n \"input_select\",\r\n \"input_number\",\r\n \"input_text\",\r\n \"lock\",\r\n \"media_player\",\r\n \"scene\",\r\n \"script\",\r\n \"timer\",\r\n \"vacuum\",\r\n \"water_heater\",\r\n \"weblink\"\r\n];\r\n/** Domains with separate more info dialog. */\r\nexport const DOMAINS_WITH_MORE_INFO = [\r\n \"alarm_control_panel\",\r\n \"automation\",\r\n \"camera\",\r\n \"climate\",\r\n \"configurator\",\r\n \"cover\",\r\n \"fan\",\r\n \"group\",\r\n \"history_graph\",\r\n \"input_datetime\",\r\n \"light\",\r\n \"lock\",\r\n \"media_player\",\r\n \"script\",\r\n \"sun\",\r\n \"updater\",\r\n \"vacuum\",\r\n \"water_heater\",\r\n \"weather\"\r\n];\r\n/** Domains that show no more info dialog. */\r\nexport const DOMAINS_HIDE_MORE_INFO = [\r\n \"input_number\",\r\n \"input_select\",\r\n \"input_text\",\r\n \"scene\",\r\n \"weblink\"\r\n];\r\n/** Domains that should have the history hidden in the more info dialog. */\r\nexport const DOMAINS_MORE_INFO_NO_HISTORY = [\r\n \"camera\",\r\n \"configurator\",\r\n \"history_graph\",\r\n \"scene\"\r\n];\r\n/** States that we consider \"off\". */\r\nexport const STATES_OFF = [\"closed\", \"locked\", \"off\"];\r\n/** Domains where we allow toggle in Lovelace. */\r\nexport const DOMAINS_TOGGLE = new Set([\r\n \"fan\",\r\n \"input_boolean\",\r\n \"light\",\r\n \"switch\",\r\n \"group\",\r\n \"automation\"\r\n]);\r\n/** Temperature units. */\r\nexport const UNIT_C = \"°C\";\r\nexport const UNIT_F = \"°F\";\r\n/** Entity ID of the default view. */\r\nexport const DEFAULT_VIEW_ENTITY_ID = \"group.default_view\";\r\n//# sourceMappingURL=const.js.map","map":"{\"version\":3,\"file\":\"const.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/const.ts\"],\"names\":[],\"mappings\":\"AAAA,4CAA4C;AAE5C,qDAAqD;AACrD,8EAA8E;AAC9E,8EAA8E;AAE9E,qDAAqD;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAEnD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AAExC,sCAAsC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,OAAO;IACP,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;IACZ,MAAM;IACN,cAAc;IACd,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,cAAc;IACd,SAAS;CACV,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,qBAAqB;IACrB,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,cAAc;IACd,OAAO;IACP,KAAK;IACL,OAAO;IACP,eAAe;IACf,gBAAgB;IAChB,OAAO;IACP,MAAM;IACN,cAAc;IACd,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,cAAc;IACd,SAAS;CACV,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,cAAc;IACd,cAAc;IACd,YAAY;IACZ,OAAO;IACP,SAAS;CACV,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,QAAQ;IACR,cAAc;IACd,eAAe;IACf,OAAO;CACR,CAAC;AAEF,qCAAqC;AACrC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAEtD,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IACpC,KAAK;IACL,eAAe;IACf,OAAO;IACP,QAAQ;IACR,OAAO;IACP,YAAY;CACb,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAE3B,qCAAqC;AACrC,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/const.d.ts","writeByteOrderMark":false,"text":"/** Constants to be used in the frontend. */\r\n/** Icon to use when no icon specified for domain. */\r\nexport declare const DEFAULT_DOMAIN_ICON = \"hass:bookmark\";\r\n/** Panel to show when no panel is picked. */\r\nexport declare const DEFAULT_PANEL = \"lovelace\";\r\n/** Domains that have a state card. */\r\nexport declare const DOMAINS_WITH_CARD: string[];\r\n/** Domains with separate more info dialog. */\r\nexport declare const DOMAINS_WITH_MORE_INFO: string[];\r\n/** Domains that show no more info dialog. */\r\nexport declare const DOMAINS_HIDE_MORE_INFO: string[];\r\n/** Domains that should have the history hidden in the more info dialog. */\r\nexport declare const DOMAINS_MORE_INFO_NO_HISTORY: string[];\r\n/** States that we consider \"off\". */\r\nexport declare const STATES_OFF: string[];\r\n/** Domains where we allow toggle in Lovelace. */\r\nexport declare const DOMAINS_TOGGLE: Set<string>;\r\n/** Temperature units. */\r\nexport declare const UNIT_C = \"\\u00B0C\";\r\nexport declare const UNIT_F = \"\\u00B0F\";\r\n/** Entity ID of the default view. */\r\nexport declare const DEFAULT_VIEW_ENTITY_ID = \"group.default_view\";\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"import { fireEvent } from \"./fire-event\";\r\nconst SPECIAL_TYPES = new Set([\r\n \"call-service\",\r\n \"divider\",\r\n \"section\",\r\n \"weblink\",\r\n \"cast\",\r\n \"select\"\r\n]);\r\nconst DOMAIN_TO_ELEMENT_TYPE = {\r\n alert: \"toggle\",\r\n automation: \"toggle\",\r\n climate: \"climate\",\r\n cover: \"cover\",\r\n fan: \"toggle\",\r\n group: \"group\",\r\n input_boolean: \"toggle\",\r\n input_number: \"input-number\",\r\n input_select: \"input-select\",\r\n input_text: \"input-text\",\r\n light: \"toggle\",\r\n lock: \"lock\",\r\n media_player: \"media-player\",\r\n remote: \"toggle\",\r\n scene: \"scene\",\r\n script: \"script\",\r\n sensor: \"sensor\",\r\n timer: \"timer\",\r\n switch: \"toggle\",\r\n vacuum: \"toggle\",\r\n // Temporary. Once climate is rewritten,\r\n // water heater should get it's own row.\r\n water_heater: \"climate\",\r\n input_datetime: \"input-datetime\"\r\n};\r\nexport const createThing = (cardConfig, isRow = false) => {\r\n const _createError = (error, config) => {\r\n return _createThing(\"hui-error-card\", {\r\n type: \"error\",\r\n error,\r\n config\r\n });\r\n };\r\n const _createThing = (tag, config) => {\r\n const element = window.document.createElement(tag);\r\n try {\r\n element.setConfig(config);\r\n }\r\n catch (err) {\r\n console.error(tag, err);\r\n return _createError(err.message, config);\r\n }\r\n return element;\r\n };\r\n if (!cardConfig || typeof cardConfig !== \"object\" || (!isRow && !cardConfig.type))\r\n return _createError(\"No type defined\", cardConfig);\r\n let tag = cardConfig.type;\r\n if (tag && tag.startsWith(\"custom:\")) {\r\n tag = tag.substr(\"custom:\".length);\r\n }\r\n else if (isRow) {\r\n if (SPECIAL_TYPES.has(tag)) {\r\n tag = `hui-${tag}-row`;\r\n }\r\n else {\r\n if (!cardConfig.entity) {\r\n return _createError(\"Invalid config given.\", cardConfig);\r\n }\r\n const domain = cardConfig.entity.split(\".\", 1)[0];\r\n tag = `hui-${DOMAIN_TO_ELEMENT_TYPE[domain] || \"text\"}-entity-row`;\r\n }\r\n }\r\n else {\r\n tag = `hui-${tag}-card`;\r\n }\r\n if (customElements.get(tag))\r\n return _createThing(tag, cardConfig);\r\n // If element doesn't exist (yet) create an error\r\n const element = _createError(`Custom element doesn't exist: ${cardConfig.type}.`, cardConfig);\r\n element.style.display = \"None\";\r\n const timer = setTimeout(() => {\r\n element.style.display = \"\";\r\n }, 2000);\r\n // Remove error if element is defined later\r\n customElements.whenDefined(cardConfig.type).then(() => {\r\n clearTimeout(timer);\r\n fireEvent(element, \"ll-rebuild\", {}, element);\r\n });\r\n return element;\r\n};\r\n//# sourceMappingURL=create-thing.js.map","map":"{\"version\":3,\"file\":\"create-thing.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/create-thing.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/create-thing.d.ts","writeByteOrderMark":false,"text":"export declare const createThing: (cardConfig: any, isRow?: boolean) => any;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"import { formatDateTime } from \"./datetime/format_date_time\";\r\nimport { formatDate } from \"./datetime/format_date\";\r\nimport { formatTime } from \"./datetime/format_time\";\r\nimport { computeStateDomain } from \"./compute-state-domain\";\r\nimport { formatNumber } from \"./format-number\";\r\nexport function computeStateDisplay(localize, stateObj, locale, state) {\r\n const compareState = state !== undefined ? state : stateObj.state;\r\n if (compareState === \"unknown\" || compareState === \"unavailable\") {\r\n return localize(`state.default.${compareState}`);\r\n }\r\n if (stateObj.attributes.unit_of_measurement) {\r\n return `${formatNumber(compareState, locale)} ${stateObj.attributes.unit_of_measurement}`;\r\n }\r\n const domain = computeStateDomain(stateObj);\r\n if (domain === \"input_datetime\") {\r\n let date;\r\n if (!stateObj.attributes.has_time) {\r\n date = new Date(stateObj.attributes.year, stateObj.attributes.month - 1, stateObj.attributes.day);\r\n return formatDate(date, locale);\r\n }\r\n if (!stateObj.attributes.has_date) {\r\n const now = new Date();\r\n date = new Date(\r\n // Due to bugs.chromium.org/p/chromium/issues/detail?id=797548\r\n // don't use artificial 1970 year.\r\n now.getFullYear(), now.getMonth(), now.getDay(), stateObj.attributes.hour, stateObj.attributes.minute);\r\n return formatTime(date, locale);\r\n }\r\n date = new Date(stateObj.attributes.year, stateObj.attributes.month - 1, stateObj.attributes.day, stateObj.attributes.hour, stateObj.attributes.minute);\r\n return formatDateTime(date, locale);\r\n }\r\n if (domain === \"humidifier\") {\r\n if (compareState === \"on\" && stateObj.attributes.humidity) {\r\n return `${stateObj.attributes.humidity} %`;\r\n }\r\n }\r\n // `counter` and `number` domains do not have a unit of measurement but should still use `formatNumber`\r\n if (domain === \"counter\" || domain === \"number\") {\r\n return formatNumber(compareState, locale);\r\n }\r\n return (\r\n // Return device class translation\r\n (stateObj.attributes.device_class &&\r\n localize(`component.${domain}.state.${stateObj.attributes.device_class}.${stateObj.state}`)) ||\r\n // Return default translation\r\n localize(`component.${domain}.state._.${stateObj.state}`) ||\r\n // We don't know! Return the raw state.\r\n stateObj.state);\r\n}\r\n//# sourceMappingURL=compute-state-display.js.map","map":"{\"version\":3,\"file\":\"compute-state-display.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/compute-state-display.ts\"],\"names\":[],\"mappings\":\"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CACjC,QAAsB,EACtB,QAAoB,EACpB,MAA+B,EAC/B,KAAc;IAEd,MAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAElE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAM,aAAa,EAAE;QACjE,OAAO,QAAQ,CAAC,iBAAiB,YAAY,EAAE,CAAC,CAAC;KAClD;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EAAE;QAC3C,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;KAC3F;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,MAAM,KAAK,gBAAgB,EAAE;QAC/B,IAAI,IAAU,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;YACjC,IAAI,GAAG,IAAI,IAAI,CACb,QAAQ,CAAC,UAAU,CAAC,IAAI,EACxB,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,EAC7B,QAAQ,CAAC,UAAU,CAAC,GAAG,CACxB,CAAC;YACF,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;YACjC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,IAAI;YACb,8DAA8D;YAC9D,kCAAkC;YAClC,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,MAAM,EAAE,EACZ,QAAQ,CAAC,UAAU,CAAC,IAAI,EACxB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAC;YACF,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,GAAG,IAAI,IAAI,CACb,QAAQ,CAAC,UAAU,CAAC,IAAI,EACxB,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,EAC7B,QAAQ,CAAC,UAAU,CAAC,GAAG,EACvB,QAAQ,CAAC,UAAU,CAAC,IAAI,EACxB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAC;QACF,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACrC;IAED,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,IAAI,YAAY,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;YACzD,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC;SAC5C;KACF;IAED,uGAAuG;IACvG,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE;QAC/C,OAAO,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;KAC3C;IAED,OAAO;IACL,kCAAkC;IAClC,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY;QAC/B,QAAQ,CACN,aAAa,MAAM,UAAU,QAAQ,CAAC,UAAU,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,EAAE,CAClF,CAAC;QACJ,6BAA6B;QAC7B,QAAQ,CAAC,aAAa,MAAM,YAAY,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzD,uCAAuC;QACvC,QAAQ,CAAC,KAAK,CACf,CAAC;AACJ,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/compute-state-display.d.ts","writeByteOrderMark":false,"text":"import { HassEntity } from \"home-assistant-js-websocket\";\r\nimport { LocalizeFunc } from \"./translations/localize\";\r\nimport { FrontendTranslationData } from \"./types\";\r\nexport declare function computeStateDisplay(localize: LocalizeFunc, stateObj: HassEntity, locale: FrontendTranslationData, state?: string): string;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"/**\r\n * Return the icon to be used for a domain.\r\n *\r\n * Optionally pass in a state to influence the domain icon.\r\n */\r\nimport { DEFAULT_DOMAIN_ICON } from \"./const\";\r\nexport const fixedIcons = {\r\n alert: \"hass:alert\",\r\n automation: \"hass:playlist-play\",\r\n calendar: \"hass:calendar\",\r\n camera: \"hass:video\",\r\n climate: \"hass:thermostat\",\r\n configurator: \"hass:settings\",\r\n conversation: \"hass:text-to-speech\",\r\n device_tracker: \"hass:account\",\r\n fan: \"hass:fan\",\r\n group: \"hass:google-circles-communities\",\r\n history_graph: \"hass:chart-line\",\r\n homeassistant: \"hass:home-assistant\",\r\n homekit: \"hass:home-automation\",\r\n image_processing: \"hass:image-filter-frames\",\r\n input_boolean: \"hass:drawing\",\r\n input_datetime: \"hass:calendar-clock\",\r\n input_number: \"hass:ray-vertex\",\r\n input_select: \"hass:format-list-bulleted\",\r\n input_text: \"hass:textbox\",\r\n light: \"hass:lightbulb\",\r\n mailbox: \"hass:mailbox\",\r\n notify: \"hass:comment-alert\",\r\n person: \"hass:account\",\r\n plant: \"hass:flower\",\r\n proximity: \"hass:apple-safari\",\r\n remote: \"hass:remote\",\r\n scene: \"hass:google-pages\",\r\n script: \"hass:file-document\",\r\n sensor: \"hass:eye\",\r\n simple_alarm: \"hass:bell\",\r\n sun: \"hass:white-balance-sunny\",\r\n switch: \"hass:flash\",\r\n timer: \"hass:timer\",\r\n updater: \"hass:cloud-upload\",\r\n vacuum: \"hass:robot-vacuum\",\r\n water_heater: \"hass:thermometer\",\r\n weblink: \"hass:open-in-new\"\r\n};\r\nexport function domainIcon(domain, state) {\r\n if (domain in fixedIcons) {\r\n return fixedIcons[domain];\r\n }\r\n switch (domain) {\r\n case \"alarm_control_panel\":\r\n switch (state) {\r\n case \"armed_home\":\r\n return \"hass:bell-plus\";\r\n case \"armed_night\":\r\n return \"hass:bell-sleep\";\r\n case \"disarmed\":\r\n return \"hass:bell-outline\";\r\n case \"triggered\":\r\n return \"hass:bell-ring\";\r\n default:\r\n return \"hass:bell\";\r\n }\r\n case \"binary_sensor\":\r\n return state && state === \"off\"\r\n ? \"hass:radiobox-blank\"\r\n : \"hass:checkbox-marked-circle\";\r\n case \"cover\":\r\n return state === \"closed\" ? \"hass:window-closed\" : \"hass:window-open\";\r\n case \"lock\":\r\n return state && state === \"unlocked\" ? \"hass:lock-open\" : \"hass:lock\";\r\n case \"media_player\":\r\n return state && state !== \"off\" && state !== \"idle\"\r\n ? \"hass:cast-connected\"\r\n : \"hass:cast\";\r\n case \"zwave\":\r\n switch (state) {\r\n case \"dead\":\r\n return \"hass:emoticon-dead\";\r\n case \"sleeping\":\r\n return \"hass:sleep\";\r\n case \"initializing\":\r\n return \"hass:timer-sand\";\r\n default:\r\n return \"hass:z-wave\";\r\n }\r\n default:\r\n // tslint:disable-next-line\r\n console.warn(\"Unable to find icon for domain \" + domain + \" (\" + state + \")\");\r\n return DEFAULT_DOMAIN_ICON;\r\n }\r\n}\r\n//# sourceMappingURL=domain_icons.js.map","map":"{\"version\":3,\"file\":\"domain_icons.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/domain_icons.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/domain_icons.d.ts","writeByteOrderMark":false,"text":"export declare const fixedIcons: {\r\n alert: string;\r\n automation: string;\r\n calendar: string;\r\n camera: string;\r\n climate: string;\r\n configurator: string;\r\n conversation: string;\r\n device_tracker: string;\r\n fan: string;\r\n group: string;\r\n history_graph: string;\r\n homeassistant: string;\r\n homekit: string;\r\n image_processing: string;\r\n input_boolean: string;\r\n input_datetime: string;\r\n input_number: string;\r\n input_select: string;\r\n input_text: string;\r\n light: string;\r\n mailbox: string;\r\n notify: string;\r\n person: string;\r\n plant: string;\r\n proximity: string;\r\n remote: string;\r\n scene: string;\r\n script: string;\r\n sensor: string;\r\n simple_alarm: string;\r\n sun: string;\r\n switch: string;\r\n timer: string;\r\n updater: string;\r\n vacuum: string;\r\n water_heater: string;\r\n weblink: string;\r\n};\r\nexport declare function domainIcon(domain: string, state?: string): string;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"export function computeDomain(entityId) {\r\n return entityId.substr(0, entityId.indexOf(\".\"));\r\n}\r\n//# sourceMappingURL=compute-domain.js.map","map":"{\"version\":3,\"file\":\"compute-domain.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/compute-domain.ts\"],\"names\":[],\"mappings\":\"AAAA,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC\"}","dts":{"name":"/home/iantrich/Projects/hass/plugins/custom-card-helpers/compute-domain.d.ts","writeByteOrderMark":false,"text":"export declare function computeDomain(entityId: string): string;\r\n"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { HassEntity } from "home-assistant-js-websocket";
|
|
2
2
|
/** Return an icon representing a binary sensor state. */
|
|
3
|
-
export declare const binarySensorIcon: (state
|
|
3
|
+
export declare const binarySensorIcon: (state?: string | undefined, stateObj?: HassEntity | undefined) => "mdi:battery" | "mdi:battery-outline" | "mdi:battery-charging" | "mdi:thermometer" | "mdi:snowflake" | "mdi:server-network-off" | "mdi:server-network" | "mdi:door-closed" | "mdi:door-open" | "mdi:garage" | "mdi:garage-open" | "mdi:power-plug-off" | "mdi:power-plug" | "mdi:check-circle" | "mdi:alert-circle" | "mdi:smoke" | "mdi:fire" | "mdi:brightness-5" | "mdi:brightness-7" | "mdi:lock" | "mdi:lock-open" | "mdi:water-off" | "mdi:water" | "mdi:walk" | "mdi:run" | "mdi:home-outline" | "mdi:home" | "mdi:square" | "mdi:square-outline" | "mdi:stop" | "mdi:play" | "mdi:music-note-off" | "mdi:music-note" | "mdi:package" | "mdi:package-up" | "mdi:crop-portrait" | "mdi:vibrate" | "mdi:window-closed" | "mdi:window-open" | "mdi:radiobox-blank" | "mdi:checkbox-marked-circle";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { HassEntity } from "home-assistant-js-websocket";
|
|
2
2
|
import { LocalizeFunc } from "./translations/localize";
|
|
3
|
-
|
|
3
|
+
import { FrontendLocaleData } from "./types";
|
|
4
|
+
export declare const computeStateDisplay: (localize: LocalizeFunc, stateObj: HassEntity, locale: FrontendLocaleData, state?: string | undefined) => string;
|
package/dist/const.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Constants to be used in the frontend. */
|
|
2
2
|
/** Icon to use when no icon specified for domain. */
|
|
3
|
-
export declare const DEFAULT_DOMAIN_ICON = "
|
|
3
|
+
export declare const DEFAULT_DOMAIN_ICON = "mdi:bookmark";
|
|
4
4
|
/** Panel to show when no panel is picked. */
|
|
5
5
|
export declare const DEFAULT_PANEL = "lovelace";
|
|
6
6
|
/** Domains that have a state card. */
|