Compare commits

...

2505 Commits

Author SHA1 Message Date
Ludeeus aaeb9cde7b Hide stop if "hassio" is loaded 2020-08-28 19:06:03 +00:00
Bram Kragten b39b54e0ac Enable filtering on hidden columns (#6717) 2020-08-28 15:50:32 +02:00
J. Nick Koston 119c5c9071 Add generic/generic_thermostat/homekit/min_max/history_stats/trend/ping/filesize to the list of reloadables (#6721)
* Add generic/generic_thermostat/homekit/min_max/history_stats/trend/ping/filesize to the list of reloadables

* Update src/translations/en.json

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>

* Update src/translations/en.json

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>

* Update src/translations/en.json

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>

* Update src/translations/en.json

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-08-28 08:31:54 -05:00
Bram Kragten 7a4c9b128c Allow owner users to change password of any user (#6698)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-28 14:30:42 +02:00
Joakim Sørensen dc5b92030f Use ha-progress-button for update cards (#6725) 2020-08-28 14:16:55 +02:00
Zack Arnett db0a010d7c Graph Footer: Fix Editor Warning (#6724) 2020-08-28 13:20:23 +02:00
HomeAssistant Azure a117a19bdf [ci skip] Translation update 2020-08-28 00:32:05 +00:00
dklemm 5f46fdb406 Restored card margin for narrow viewports (#6454) 2020-08-27 16:13:21 +02:00
Joakim Sørensen f0201de4cc Round with 1 decimal (#6715) 2020-08-27 07:52:57 -05:00
HomeAssistant Azure 6cd51a318b [ci skip] Translation update 2020-08-27 00:32:23 +00:00
Joakim Sørensen c1a4b27bc7 Adds confirmation dialog to updates (#6709) 2020-08-26 18:13:22 +02:00
Joakim Sørensen 5113222050 Adds ha-bar component (#6708)
* Adds ha-bar component

* Move calculate logic to util

* Add test

* Prove overshot with test

* Remove stuff

* remove unused styles

* commit correct file

* remove root style

* Move to CSS

* html -> svg
2020-08-26 11:08:21 -05:00
Joakim Sørensen 90f12eea5e Limit changing network to systems that have that support (#6711) 2020-08-26 17:41:02 +02:00
Bram Kragten 2403743701 Fix more info media player dropdowns (#6712) 2020-08-26 17:34:00 +02:00
Joakim Sørensen 3e6a759309 Changes to add-on options (#6706) 2020-08-26 15:53:25 +02:00
Joakim Sørensen 35a430e9f4 Add watchdog toggle (#6703) 2020-08-26 15:27:19 +02:00
Bram Kragten b644f7d23d Theme tweaks (#6701) 2020-08-26 12:38:48 +02:00
Bram Kragten 7702a05464 Filter attributes in more info light (#6707) 2020-08-26 11:13:29 +02:00
J. Nick Koston 493af5fe82 Add rest/command_line/filter/statistics to the list of reloadables (#6705)
* Add rest and command_line to the list of reloadables

* Update src/translations/en.json

* Add the latest ones
2020-08-25 21:33:29 -05:00
HomeAssistant Azure ac66a59cec [ci skip] Translation update 2020-08-26 00:35:17 +00:00
J. Nick Koston e10c8faa47 Add UI control to reload a config entry (integration) (#6656)
* Add UI control to reload an integration

* Refactor to move reload above delete and check supports_unload

* Avoid index switch

* Update src/panels/config/integrations/ha-integration-card.ts
2020-08-25 18:00:50 -05:00
Bram Kragten 9b7d17433c Add aria roles to data table (#6702) 2020-08-26 00:38:02 +02:00
J. Nick Koston a40eb1ff43 Add universal to the list of reloadables (#6697)
* Add universal to the list of reloadables

* Update src/translations/en.json

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-26 00:30:02 +02:00
Joakim Sørensen 04df6c3e9e Supervisor system (#6699)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-25 23:34:02 +02:00
Bram Kragten 1b970e5a66 No background repeat media browser (#6695) 2020-08-25 14:06:03 +02:00
Bram Kragten 75406c2d01 Add disabled text color to dark mode (#6694) 2020-08-25 11:09:23 +02:00
HomeAssistant Azure 64d3511fbc [ci skip] Translation update 2020-08-25 00:32:10 +00:00
Paulus Schoutsen c610f54977 Add methods for new trigger/condition commands (#6675) 2020-08-24 23:02:04 +02:00
Bram Kragten 358c5205d2 Fix calendar (#6691) 2020-08-24 13:32:55 -05:00
Bram Kragten 5503cd0589 Bumped version to 20200824.0 2020-08-24 20:01:54 +02:00
Zack Arnett dae42b1bd9 Calendar Card: New Card (#5813)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-24 19:59:50 +02:00
fabiocastagnino 06a25284e8 Add icons for new sensor device classes (#6193)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-24 19:50:47 +02:00
J. Nick Koston 5989560f15 Show the entity id that first used the context in logbook 2020-08-24 12:45:04 -05:00
J. Nick Koston 63c995e5da cleanups 2020-08-24 12:24:24 -05:00
Charles Garwood dc5607f554 Beginning pages for OZW Config Panel (#6670) 2020-08-24 19:21:25 +02:00
J. Nick Koston d49302c032 typo 2020-08-24 12:20:48 -05:00
J. Nick Koston 63fef9bd4b Adjust to handle service calls and described events 2020-08-24 11:46:16 -05:00
Bram Kragten 6599351d45 Replace confirm with confirmation dialogs in snapshots (#6690) 2020-08-24 18:36:47 +02:00
Joakim Sørensen 47e9531972 Use media query for darkmode on login and onboarding (#6625)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-24 18:29:16 +02:00
Bram Kragten 3ba31483f4 Convert dev tools template to Lit and store last used template (#6669) 2020-08-24 18:26:41 +02:00
Bram Kragten f4ca94f2e1 Move click listener (#6688)
* Move click listener

* Move label
2020-08-24 10:52:04 -05:00
Zack Arnett 67f9be2b77 Media Browser: Fix dark mode (#6687) 2020-08-24 17:31:16 +02:00
Bram Kragten e2fd155e1b Fix updating history card + only update when entity changed (#6647) 2020-08-24 17:03:42 +02:00
Bram Kragten 931068dede Use default panel if panel in settings doesn't exist (#6667) 2020-08-24 16:49:32 +02:00
Bram Kragten bc4c9cc40d Adjust tags just scanned time display (#6663) 2020-08-24 16:48:00 +02:00
Bram Kragten 294665fbe8 Fix time format in charts (#6671) 2020-08-24 16:45:30 +02:00
Bram Kragten e8f6a79c8f Fix create write tag (#6679) 2020-08-24 16:34:55 +02:00
Zack Arnett 5fd8b5c5b9 Media browser (#6672)
* Add media browser stub

* Updates from first night

* Visual updates

* First pr push?

* Updates

* Add to dialog Havent tested it idk where to put it

* comments - Add overflow menu

* change to flex end

* lint

* Refresh the previous item

* simplify child render logic

* Add show media browser dialog func (thanks bram)

* Add to more info dialog. Not perfect. Visual bugs

* Change play/picked event to callback

* Don't use data table

* Move play button

* Fix dialog getting too wide

* Style tweaks

* tweaks

* Fix padding mobile

* Update ha-media-player-browse.ts

* Remove Color on folder icon

* Leave dialog open on play

* Move more info icon

* Remove unneeded files

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-24 09:31:25 -05:00
Bram Kragten 226b2a73af Update mocha and eslint-import-resolver-webpack (#6497) 2020-08-24 14:35:50 +02:00
J. Nick Koston 42d421a6fc Add template to the list of reloadables (#6673)
Make reloadable check to see if the service
is loaded instead of the component
2020-08-24 14:32:52 +02:00
Joakim Sørensen a90203f256 Use secure cookie if https (#6644) 2020-08-24 14:21:57 +02:00
Aidan Timson c3ef79caa9 Improve messaging of empty device info cards (#6628) 2020-08-24 14:20:32 +02:00
Joakim Sørensen 1439afcd9c Update MDI to 5.5.55 (#6598) 2020-08-24 13:59:31 +02:00
uvjustin d263b19910 Play HLS with Exoplayer on Android (#6606) 2020-08-24 11:50:40 +02:00
HomeAssistant Azure 1e477226ea [ci skip] Translation update 2020-08-24 00:32:13 +00:00
J. Nick Koston 026fc1d2e3 Show the entity id that first used the context in logbook 2020-08-23 17:00:27 -05:00
HomeAssistant Azure 2d4bd9857a [ci skip] Translation update 2020-08-23 00:32:24 +00:00
HomeAssistant Azure 8f48f5b45c [ci skip] Translation update 2020-08-22 00:32:43 +00:00
Bram Kragten 22210b7400 Clarify renaming entity ids (#6668) 2020-08-21 16:25:33 +02:00
HomeAssistant Azure 7d05855ee0 [ci skip] Translation update 2020-08-21 00:32:24 +00:00
Bram Kragten 4561957e56 Merge branch 'master' into dev 2020-08-20 15:53:59 +02:00
Bram Kragten 3367fadc3a Bumped version to 20200820.0 2020-08-20 15:52:06 +02:00
Paulus Schoutsen d7e409b042 Add tag config panel (#6601)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-20 15:34:52 +02:00
HomeAssistant Azure a0b28e8ad1 [ci skip] Translation update 2020-08-20 00:32:18 +00:00
Paulus Schoutsen f928a8e58e Add picture upload component (#6646)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-19 11:33:18 +02:00
Bram Kragten 0bc4b3d0fa Adds theming and dark mode to code editor (#6547) 2020-08-19 11:04:05 +02:00
Zack Arnett e352768388 Save Config Dialog - Convert to MWC (#6590) 2020-08-19 11:02:21 +02:00
HomeAssistant Azure 6835b73e49 [ci skip] Translation update 2020-08-19 00:33:28 +00:00
HomeAssistant Azure f1503f871b [ci skip] Translation update 2020-08-18 00:32:11 +00:00
Charles Garwood c4d8aba5c8 Add OZW Refresh Node Dialog (#6530) 2020-08-17 19:54:03 +02:00
Zack Arnett 39f24c41ad Media More Info: Convert to Lit Element (#6619)
* lit element

* Remove Properties

* review comments

* This should be somewhat better.
2020-08-17 11:24:19 -05:00
Zack Arnett 21644ec889 Light More Info: Convert to Lit Element (#6592)
* Update more info

* Remove is unavailable

* Remove divs

* updates

* Update src/dialogs/more-info/controls/more-info-light.ts

* Update src/dialogs/more-info/controls/more-info-light.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-17 09:07:29 -05:00
Joakim Sørensen 613470b44d Set SameSite=Strict attribute for ingress_session (#6556) 2020-08-17 15:16:28 +02:00
David F. Mulcahey 6c918e346b Fix navigation after ZHA device removal (#6638) 2020-08-17 14:17:18 +02:00
Joakim Sørensen bce8539572 Add style to combobox (#6630) 2020-08-17 12:00:06 +02:00
HomeAssistant Azure aab86e00ec [ci skip] Translation update 2020-08-17 00:32:14 +00:00
gibwar 2a58726caf Fix exceptional weither icon size (#6425) (#6634)
The weather icon for the `exceptional` state uses a different DOM layout
than the other icons, using a `.weather-icon` class that sets the size
to 64px (52px on narrow). This updates the `forecast-icon > *` class to
set the correct variable to match the expected `40px` and works on all
sizes from `veryverynarrow` to normal.
2020-08-16 17:51:50 -05:00
HomeAssistant Azure 4163b35b32 [ci skip] Translation update 2020-08-15 00:32:27 +00:00
HomeAssistant Azure 9c6dac8180 [ci skip] Translation update 2020-08-14 00:32:15 +00:00
HomeAssistant Azure 80fc37724b [ci skip] Translation update 2020-08-13 00:32:21 +00:00
Joakim Sørensen 77b25f5132 Merge pull request #6603 from home-assistant/supervisor-theme-legacy-backendselected 2020-08-12 15:40:48 +02:00
Joakim Sørensen 684f098450 Merge pull request #6597 from home-assistant/show-if-healthy 2020-08-12 15:40:18 +02:00
Ludeeus d09f74d30f console.die 2020-08-12 13:15:39 +00:00
Ludeeus 3d973b112e Use default as fallback theme for older versions 2020-08-12 13:15:24 +00:00
Ludeeus 96986164a4 Show error if not supported 2020-08-11 14:12:38 +00:00
Joakim Sørensen 78152c20a9 Merge pull request #6596 from home-assistant/202008110 2020-08-11 14:49:12 +02:00
Ludeeus 2bb64e9e2f Use supported instead 2020-08-11 12:28:35 +00:00
Ludeeus 746844dfc8 Only show diagnostics if healthy 2020-08-11 12:15:08 +00:00
Joakim Sørensen 41b613a2d7 Fix wrapping for diagnostics row (#6595) 2020-08-11 14:01:20 +02:00
Ludeeus 3b3aeea224 Bumped version to 20200811.0 2020-08-11 12:00:48 +00:00
Joakim Sørensen 71c592a0ce Use primary-background-color when it exists (#6594) 2020-08-11 12:00:36 +00:00
Joakim Sørensen 15193fcf5f Set header and tab color (#6582) 2020-08-11 12:00:14 +00:00
Joakim Sørensen a31f53395f Set min width (#6583) 2020-08-11 11:59:27 +00:00
Ludeeus 283b134d84 Bumped version to 20200811.0 2020-08-11 11:57:03 +00:00
Joakim Sørensen 271eb614cd Use primary-background-color when it exists (#6594) 2020-08-11 13:22:46 +02:00
HomeAssistant Azure 16167bef07 [ci skip] Translation update 2020-08-11 00:32:11 +00:00
Joakim Sørensen 1eac9fa1cd Set header and tab color (#6582) 2020-08-10 16:42:55 +02:00
Joakim Sørensen 7f819f0020 Set min width (#6583) 2020-08-10 16:23:14 +02:00
Bram Kragten dec1f99a5f Fix hassio panel dark mode (#6569) 2020-08-10 09:36:01 +02:00
HomeAssistant Azure c705e74fc8 [ci skip] Translation update 2020-08-10 00:32:35 +00:00
HomeAssistant Azure 01df10f93e [ci skip] Translation update 2020-08-09 00:32:33 +00:00
HomeAssistant Azure 9877f08cf4 [ci skip] Translation update 2020-08-08 00:32:34 +00:00
Joakim Sørensen 3dc4b1d775 Merge to master for 20200807.1 (#6566)
* Reorder to not break jinja templates (#6564)

* Bumped version to 20200807.1
2020-08-07 16:36:49 +02:00
Ludeeus 02791c51ae Bumped version to 20200807.1 2020-08-07 14:00:10 +00:00
Joakim Sørensen 49683326e6 Reorder to not break jinja templates (#6564) 2020-08-07 15:59:22 +02:00
Joakim Sørensen 947773a82e Add diagnostics toggle (#6525)
* Add diagnostics toggle

* No need to check

* Expected blank line between class members

* Mimic the profile page

* Move settings-row to components and use button

* Update src/components/ha-settings-row.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-07 08:47:25 -05:00
Zack Arnett 2a229df624 Change English/default naming of configure ui (#6555) 2020-08-07 08:42:38 -05:00
Bram Kragten e605ad5e46 Merge pull request #6562 from home-assistant/dev
Merge dev to master for 20200807.0
2020-08-07 14:20:30 +02:00
Ludeeus 0d4f43472b Bumped version to 20200807.0 2020-08-07 10:47:19 +00:00
Bram Kragten b30e467685 Fix z-index light and thermostat more info button (#6561) 2020-08-07 11:43:20 +02:00
HomeAssistant Azure a56c0b52d5 [ci skip] Translation update 2020-08-07 00:32:18 +00:00
Bram Kragten c17ebfd279 Show small header on ingress panels when the sidebar is hidden (#6488) 2020-08-06 23:42:10 +02:00
Joakim Sørensen 5400b1da96 Fixes display issues with longer dates (#6540)
* Fixes display issues with longer dates

* review

* Remove size
2020-08-06 19:42:27 +02:00
Joakim Sørensen 69f4a618b2 Fix color and overlap in close dialog header (#6539)
* Fix color and overlap in close dialog header

* Use haStyleDialog instead
2020-08-06 17:51:41 +02:00
Joakim Sørensen 16b8b6698c Fixes display issues with the new darkmode (#6532)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-08-06 17:51:14 +02:00
Joakim Sørensen b29a700d40 Only show stage bage if not stable (#6546) 2020-08-06 17:50:46 +02:00
Bram Kragten bbb1468439 Mark card editor dirty on prefilled create (#6545) 2020-08-06 15:18:08 +02:00
Joakim Sørensen 72f9d6a8d3 Open more info on top (#6543) 2020-08-06 14:28:53 +02:00
Joakim Sørensen 3ec8da1f17 Fix theme loading on earlier versions (#6521) 2020-08-06 14:04:22 +02:00
Joakim Sørensen dbea3848df Remove !important from h2 (#6541) 2020-08-06 14:02:49 +02:00
HomeAssistant Azure 33871435e1 [ci skip] Translation update 2020-08-06 00:32:16 +00:00
Bram Kragten f1f22b43dc Merge pull request #6524 from home-assistant/dev
20200805.0
2020-08-05 13:11:08 +02:00
Ludeeus 2fb9a56e0b Bumped version to 20200805.0 2020-08-05 10:49:41 +00:00
Joakim Sørensen 14e8f66ed7 Fix allignment in integration badge during onboarding (#6523) 2020-08-05 12:20:32 +02:00
HomeAssistant Azure e6f5072462 [ci skip] Translation update 2020-08-05 00:32:16 +00:00
Bram Kragten a64f50fa72 Bump mwc to 0.18 (#6517) 2020-08-04 20:52:05 +02:00
Bram Kragten bb5f6e88d0 Close entity registry dialog when navigation away (#6511) 2020-08-04 11:13:55 +02:00
Bram Kragten 6991403203 Fix location editor in onboarding (#6512) 2020-08-03 23:26:41 +02:00
Bram Kragten 410bd22f8a Punycode client id on auth page (#6513) 2020-08-03 22:44:20 +02:00
Charles Garwood b81d823602 Add Z-Wave device info to OZW device pages (#6508)
* Add basic device info to devices page for OZW devices

* Remove unused HassEntity

* connection -> identifier

* async fetch

* Cleanup fetch call
2020-08-03 18:53:41 +02:00
Bram Kragten bd5115f9aa Merge pull request #6510 from home-assistant/dev 2020-08-03 16:48:29 +02:00
Bram Kragten 7bcbed80d7 Bumped version to 20200803.0 2020-08-03 16:35:40 +02:00
Bram Kragten 8fb62ebf5f Fix gauge when safari is zoomed (#6492)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-03 16:32:23 +02:00
Bram Kragten 209dd9923f Allow to select a different dashboard when adding entities / moving cards (#6478) 2020-08-03 16:29:26 +02:00
Charles Garwood c75207e391 Add identifiers to DeviceRegistryEntry (#6507) 2020-08-03 15:35:52 +02:00
HomeAssistant Azure d957f36927 [ci skip] Translation update 2020-08-03 00:33:23 +00:00
Bram Kragten 9ac459b6d9 Update lint rules (#6490) 2020-08-03 02:11:28 +02:00
Bram Kragten e08b2817ba Move view edit dialog to mwc (#6479) 2020-08-03 02:08:05 +02:00
Bram Kragten 4ca13c409b Introduce dark mode and primary color picker (#6430)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-03 02:07:12 +02:00
Bram Kragten 0d515e2303 Replace createValidEntityId with slugify (#6505) 2020-08-03 02:06:08 +02:00
Bram Kragten a2153bc6aa Add UI for new script functions (#6491) 2020-08-02 20:56:26 +02:00
HomeAssistant Azure ca171afe6f [ci skip] Translation update 2020-08-02 00:33:15 +00:00
HomeAssistant Azure bf4e97bd48 [ci skip] Translation update 2020-08-01 00:33:31 +00:00
dependabot[bot] 8c59a12a03 Bump elliptic from 6.4.1 to 6.5.3 (#6502)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.4.1...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-31 20:54:52 +02:00
Bram Kragten 89569355be Don't add undefined values to extra data in device automations (#6499) 2020-07-31 19:07:11 +02:00
MeIchthys 3a41b3bdcf standardize config menu descriptions (#6495) 2020-07-31 11:27:38 +02:00
HomeAssistant Azure 12bd7037b3 [ci skip] Translation update 2020-07-31 00:33:23 +00:00
Bram Kragten ca4f573be0 Add support for safe area insets (#6473) 2020-07-30 18:27:27 +02:00
Andrey Kupreychik 07fceeab5a Using entity_picture_local for entity card and badge (#6489)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-07-30 16:33:08 +02:00
HomeAssistant Azure 3aa376e912 [ci skip] Translation update 2020-07-30 00:34:00 +00:00
Michael Irigoyen 92d30a8896 Update Material Design Icons to v5.4.55 (#6485) 2020-07-29 16:19:45 +02:00
Bram Kragten 83876fb9da Nullish coalescing entity card (#6484)
Fixes #6483
2020-07-29 08:40:28 -05:00
HomeAssistant Azure 29bdf7877c [ci skip] Translation update 2020-07-29 00:32:28 +00:00
Bram Kragten 29199e2782 Fix scroll to top dev tools (#6455)
Fixes https://github.com/home-assistant/frontend/issues/6448
2020-07-28 11:16:47 +02:00
Bram Kragten 68e1378615 Fix automation/scripts dirty on start edit (#6474) 2020-07-28 11:12:58 +02:00
HomeAssistant Azure cf7efb5bfc [ci skip] Translation update 2020-07-28 00:32:36 +00:00
HomeAssistant Azure 8634ee536d [ci skip] Translation update 2020-07-27 00:32:48 +00:00
HomeAssistant Azure 632d3cda24 [ci skip] Translation update 2020-07-26 00:32:40 +00:00
HomeAssistant Azure 29b6a907d4 [ci skip] Translation update 2020-07-25 00:32:25 +00:00
HomeAssistant Azure 7474d09e5d [ci skip] Translation update 2020-07-24 00:32:32 +00:00
HomeAssistant Azure fc7bcd7e00 [ci skip] Translation update 2020-07-23 00:32:33 +00:00
Bram Kragten f6fb2e4b1d Missed the entities in the editors (#6443) 2020-07-22 14:16:25 +02:00
HomeAssistant Azure 8c8673a272 [ci skip] Translation update 2020-07-22 00:32:23 +00:00
Bram Kragten 4404a1173b Fix mwc-list/menu actions (#6442)
* Fix mwc-list/menu actions

Fix double actions when using request-selected

* Update ha-button-menu.ts

* Automation menu styling

* Update src/panels/lovelace/hui-root.ts

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>

* Move

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-07-21 23:22:19 +02:00
Bram Kragten e08c10315e Fix removing/moving device actions (#6441)
Fixes https://github.com/home-assistant/frontend/issues/6438
2020-07-21 09:05:21 -07:00
Bram Kragten 16473c9177 Bump superstruct, add struct to automation action (#6436)
Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-07-21 12:42:07 +02:00
HomeAssistant Azure 235fd5603f [ci skip] Translation update 2020-07-21 00:32:32 +00:00
Quinn Casey d07d5832f5 Increase z-index of save button on editor (#6435) 2020-07-20 18:46:10 +02:00
Yosi Levy ef8be5d559 Merge pull request #6433 from yosilevy/edit-card-RTL-fix
Edit card rtl fix
2020-07-20 14:44:05 +03:00
Yosi Levy ccafdc6e1f Merge pull request #6431 from yosilevy/Unused-entities-search
ha-data-table search label + no data text label
2020-07-20 14:31:41 +03:00
Yosi Levy 11827aa4c0 Merge pull request #6426 from yosilevy/Logbook-link-fix
Logbook link fix
2020-07-20 14:31:21 +03:00
Yosi Levy 6b0589d343 Update lint 2020-07-20 14:30:32 +03:00
Yosi Levy cec1eed99e Merge branch 'dev' into edit-card-RTL-fix 2020-07-20 14:01:20 +03:00
Yosi Levy d7e1e9e284 Merge pull request #6417 from yosilevy/RTL-date-selector
RTL fix for range list
2020-07-20 13:57:27 +03:00
Yosi Levy cae46453a7 New parameterized label 2020-07-20 13:56:39 +03:00
Yosi Levy a6e948c808 Typeo 2020-07-20 13:41:20 +03:00
Yosi Levy 7638020bfc Changed default wording 2020-07-20 13:37:18 +03:00
Yosi Levy 10a62ca17c Fix bad merge 2020-07-20 13:29:51 +03:00
Yosi Levy 0afc7c184f Fixed comments 2020-07-20 13:25:34 +03:00
Yosi Levy 168e26aeb4 Merge branch 'dev' into RTL-date-selector 2020-07-20 13:12:53 +03:00
Yosi Levy e6b9389b33 Fixed heading (concat) to support RTL (name comes last) 2020-07-20 07:49:09 +03:00
Yosi Levy 377c37425e Refactor ha-dialog RTL to include dialogs not using createCloseHeader 2020-07-20 07:32:09 +03:00
HomeAssistant Azure 4af26602bb [ci skip] Translation update 2020-07-20 00:32:37 +00:00
Yosi Levy c6624e5cb6 Optimized RTL check 2020-07-19 15:09:34 +03:00
Yosi Levy f7ae5b91bf Remove rtl update check 2020-07-19 14:17:09 +03:00
Yosi Levy 07e68496c0 Removed directive 2020-07-19 06:14:09 +03:00
Yosi Levy d5a947e2cc Removed style 2020-07-19 06:09:57 +03:00
Yosi Levy 3f920767f1 Added noDataText 2020-07-19 06:04:42 +03:00
Yosi Levy 3e14d27a1e Usage of search label 2020-07-19 05:58:01 +03:00
Yosi Levy cfa4c14108 Added search label support to ha-data-table 2020-07-19 05:56:39 +03:00
HomeAssistant Azure 209056dbe1 [ci skip] Translation update 2020-07-19 00:32:25 +00:00
Aidan Timson 10356a7496 Fix typo in ZHA (#6429) 2020-07-18 19:27:46 +02:00
Yosi Levy d4ae74de44 Removed style 2020-07-18 11:06:43 +03:00
Yosi Levy 88d5e7dd5e Line breaks 2020-07-18 11:02:13 +03:00
Yosi Levy 06c7b0b82e Optimized 2020-07-18 10:59:48 +03:00
Yosi Levy 689febda60 Fixed comments 2020-07-18 06:48:36 +03:00
Yosi Levy 80bc6fda8b Improved 2020-07-18 06:31:33 +03:00
Yosi Levy 346eb78c4e Fixed extra space issue + RTL support when no entries 2020-07-18 06:29:21 +03:00
HomeAssistant Azure 2df02f1b09 [ci skip] Translation update 2020-07-18 00:32:26 +00:00
Bram Kragten 92915eddc2 Make menu's work with keyboard (#6421) 2020-07-17 20:31:44 +02:00
Bram Kragten cddbf460f8 Add close function to edit card dialog (#6423) 2020-07-17 11:29:08 -07:00
Bram Kragten 3c63c23e5a Fix spacing more info (#6419) 2020-07-17 12:04:20 +02:00
Yosi Levy ba67b1291f Merge pull request #6404 from yosilevy/RTL-dev-changes
Removed LTR force - looks much better
2020-07-17 07:00:07 +03:00
Yosi Levy 7bced28327 RTL fix for range list 2020-07-17 06:57:42 +03:00
HomeAssistant Azure db2b60700c [ci skip] Translation update 2020-07-17 00:32:26 +00:00
Bram Kragten 9034822c44 Bump lit-analyzer and add back cast types (#6409) 2020-07-16 12:01:24 -07:00
Bram Kragten e8254f9aae Merge pull request #6411 from home-assistant/dev 2020-07-16 18:38:27 +02:00
Bram Kragten a14179b81a Bumped version to 20200716.0 2020-07-16 17:51:47 +02:00
Bram Kragten 427c5db7f4 default 0 2020-07-16 17:51:01 +02:00
Bram Kragten fcb5865468 Make gauge bit smaller 2020-07-16 17:49:35 +02:00
Bram Kragten 41370be2b8 Rewrite gauge (#6407) 2020-07-16 08:42:14 -07:00
Bram Kragten d7d8dd8986 Debug was still true (#6410) 2020-07-16 17:18:55 +02:00
Bram Kragten a0f596e419 Missing icon change (#6406) 2020-07-16 09:47:41 +02:00
Paulus Schoutsen 0a8894feb7 Random cleanups (#6402) 2020-07-16 08:24:16 +02:00
Bram Kragten 1db9eea0f8 Add visual-studio-code to icon conversion (#6401)
Fixes https://github.com/home-assistant/frontend/issues/6400
2020-07-16 08:22:22 +02:00
Sean Mooney 489783c398 Fix typo in icon rename mapping (#6405)
After updating all my MDI icons I noticed that one wasn't displaying anymore. Then realized there was a minor typo.
2020-07-16 08:21:32 +02:00
Yosi Levy be62f327ee Removed LTR force - looks much better 2020-07-16 05:32:49 +03:00
HomeAssistant Azure 32359adb6d [ci skip] Translation update 2020-07-16 00:32:14 +00:00
Bram Kragten 2e198af8c3 Merge pull request #6399 from home-assistant/dev 2020-07-15 20:19:11 +02:00
Bram Kragten d154fcbd71 Bumped version to 20200715.1 2020-07-15 19:56:56 +02:00
Bram Kragten 21e277b8a2 Change default automation mode (#6398) 2020-07-15 10:56:15 -07:00
Jaroslav Hanslík f98cdd0749 Added missing translation to alarm panel card (#6390)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-07-15 19:42:06 +02:00
Mike Knudson e60e306426 Update icon_color_css.ts (#6385)
* Update icon_color_css.ts

Adding the "group" data-domain to CSS check for active coloring.  

This fixes ha-icon to change to the active color based on an "on" state.

* Update icon_color_css.ts

Adding, home, open, locked, and problem to the list.
2020-07-15 19:31:05 +02:00
Bram Kragten ec36d396d9 Merge pull request #6396 from home-assistant/dev 2020-07-15 16:23:49 +02:00
Bram Kragten 135232d880 Bumped version to 20200715.0 2020-07-15 15:40:55 +02:00
Bram Kragten 9c42ca0315 Fix filtering attributes (#6394) 2020-07-15 15:34:18 +02:00
Bram Kragten 9ad9c569a6 Fix button position entity settings dialog (#6395) 2020-07-15 15:33:55 +02:00
Bram Kragten a9071d7920 Fix long entity name streching header (#6393) 2020-07-15 15:26:01 +02:00
Bram Kragten 1b4a10fac1 Merge pull request #6392 from home-assistant/fix-gauge-text-color
Fix text color in gauge
2020-07-15 15:21:19 +02:00
Bram Kragten d340f3b383 Fix text color in gauge 2020-07-15 11:31:48 +02:00
Bram Kragten f8c5eeab5d Replace all private properties with internalProperty decorator (#6386) 2020-07-14 21:38:36 -07:00
HomeAssistant Azure 9cd2d0df93 [ci skip] Translation update 2020-07-15 00:32:18 +00:00
Bram Kragten 78914091b1 Merge pull request #6389 from home-assistant/dev 2020-07-14 23:53:51 +02:00
Bram Kragten e12c324613 Merge branch 'master' into dev 2020-07-14 23:37:43 +02:00
Bram Kragten 7cf396b518 Bumped version to 20200714.0 2020-07-14 23:36:14 +02:00
Ian Richardson 8b3b40e627 Button Card: Option to show state (#6383) 2020-07-14 23:26:21 +02:00
Bram Kragten 90e14762e3 Fix double toolbars on error/loading in dev tools (#6380) 2020-07-14 21:58:40 +02:00
Bram Kragten d1dd8231cd Allow to set an id and icon when creating new script (#6373)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-14 21:58:24 +02:00
Bram Kragten e70a3e09bf Change UI of script entities (#6371) 2020-07-14 10:48:11 -07:00
Bram Kragten 98656b0044 Little clean up (#6377) 2020-07-14 09:20:15 -07:00
Bram Kragten a48aa3c778 Remove weblink and history_graph integrations (#6378)
Closes #4941
2020-07-14 09:19:42 -07:00
Bram Kragten 05d7b98ba0 Add icon to scenes (#6379) 2020-07-14 09:19:08 -07:00
Bram Kragten f291ea6647 Add link to related area (#6381) 2020-07-14 09:14:26 -07:00
Bram Kragten 5d6e332044 Add more spacing around restored message more info (#6382) 2020-07-14 09:13:24 -07:00
Bram Kragten acb471fbe5 Replace round slider gauge with svg-gauge (#6384) 2020-07-14 09:13:04 -07:00
HomeAssistant Azure 894f4379e6 [ci skip] Translation update 2020-07-14 00:32:22 +00:00
Bram Kragten 1c73007ae6 Entity dialogs: Remove paper element and align dialog header style (#6370)
* Entity dialogs: Remove paper element and align dialog header style

* Remove centerTitle
2020-07-13 19:37:48 +02:00
Paulus Schoutsen 2f7d744228 Rename whitelist error to allowed (#6372) 2020-07-13 10:19:29 -07:00
Bram Kragten e2cba90f8d Fix entity filter menu on mobile (#6366)
Fixes #6364
2020-07-13 16:18:23 +02:00
Bram Kragten 352214ba0a Add UI for the script and automation modes (#6367) 2020-07-13 10:52:37 +02:00
HomeAssistant Azure bd9b72fb22 [ci skip] Translation update 2020-07-13 00:32:42 +00:00
Bram Kragten 50c9a667b3 Fix graph mouse over in more info dialog (#6365) 2020-07-12 16:37:06 -07:00
Bram Kragten 3d32e6310d Close dialogs on history back (#6354) 2020-07-12 22:19:26 +02:00
J. Nick Koston 3bc54aa9e0 Show battery charging state in the config panels (#6356) 2020-07-12 21:30:27 +02:00
HomeAssistant Azure def1ec3518 [ci skip] Translation update 2020-07-12 00:32:40 +00:00
Yosi Levy 077802f972 Added missing label to translations (#6362) 2020-07-11 22:17:14 +02:00
Bram Kragten 914b47f340 Bump MDI and add warning for removed and renamed icons (#6357) 2020-07-11 21:30:02 +02:00
Yosi Levy b2a78fd063 Added forceLTR attribute on a column in ha-data-table (#6363) 2020-07-11 18:11:13 +02:00
Yosi Levy 7d1835e59c Localization updates (#6359) 2020-07-11 18:07:22 +02:00
Yosi Levy 833ccf3637 Card picker improvements (#6361) 2020-07-11 18:06:39 +02:00
HomeAssistant Azure 51be916f39 [ci skip] Translation update 2020-07-11 00:32:28 +00:00
Rohan Kapoor e375408777 Provide credentials to relative links only (#6360)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-10 17:29:29 -07:00
Yosi Levy 5078dc1cbf Fixed X placement (#6358) 2020-07-10 21:54:38 +02:00
Yosi Levy 875148366e Fixed label + RTL + X position (#6348) 2020-07-10 17:09:07 +02:00
Bram Kragten c9ec4b4e24 Migrate entity settings dialog (#6349) 2020-07-10 10:16:48 +02:00
HomeAssistant Azure efa2b2db27 [ci skip] Translation update 2020-07-10 00:32:45 +00:00
Jelle Raaijmakers 8ce120b74d Round values for relative time instead of flooring (#6225) 2020-07-09 11:19:59 -07:00
Yosi Levy 26e678a97d mwc-fab fix where missing (#6352) 2020-07-09 14:00:01 +02:00
Bram Kragten e71dd7409e Scenes: Fix entity picked from device doesn't add device (#6343)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-09 13:48:28 +02:00
HomeAssistant Azure 58ffc2c6ca [ci skip] Translation update 2020-07-09 00:32:29 +00:00
Bram Kragten d3f29362b9 Fix optional with default value ha-form-integer (#6341) 2020-07-08 16:29:46 -07:00
Bram Kragten b429fe8254 Migrate more-info-dialog to mwc and Lit (#6345)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-08 11:38:07 +02:00
HomeAssistant Azure e1cb549b28 [ci skip] Translation update 2020-07-08 00:32:20 +00:00
Yosi Levy 65a22257cc Merge pull request #6333 from yosilevy/RTL-changes
RTL fixes - cloud section, ha-formfield, some missing + (mwc-fab)
2020-07-07 17:17:36 +03:00
Bram Kragten e2f753eaa7 Merge branch 'dev' into RTL-changes 2020-07-07 09:25:02 +02:00
Yosi Levy c7127b65bf Rtl updates 2 (#6340) 2020-07-07 09:24:09 +02:00
Bram Kragten 0c58c3572a Add support for constant in ha-form (#6324)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-07 09:23:08 +02:00
HomeAssistant Azure 26ae5fd728 [ci skip] Translation update 2020-07-07 00:32:26 +00:00
Yosi Levy 370d92213b Fixed comments 2020-07-06 21:03:31 +03:00
Bram Kragten 6e8321a22a Bumped version to 20200702.1 2020-07-06 17:37:30 +02:00
Christopher Masto a8e8c1ce5d Fix missing UI elements in Z-Wave panel (#6299) (#6336)
This broke in d94df728e5 and prevents
use of the group association and protection controls.
2020-07-06 17:37:06 +02:00
Paulus Schoutsen a8a8cafd2b Fix logbook showing user names (#6327)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-07-06 17:36:50 +02:00
Yosi Levy b609890f28 Update ha-formfield.ts 2020-07-06 17:29:18 +03:00
Paulus Schoutsen aac09ae092 Fix logbook showing user names (#6327)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-07-06 12:57:15 +02:00
Christopher Masto f1ff872944 Fix missing UI elements in Z-Wave panel (#6299) (#6336)
This broke in d94df728e5 and prevents
use of the group association and protection controls.
2020-07-06 09:39:54 +02:00
HomeAssistant Azure b195d2980a [ci skip] Translation update 2020-07-06 00:32:23 +00:00
Rohan Kapoor d11736181f Provide credentials (cookies) when loading Javascript modules (#6328)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-05 13:35:26 -07:00
Bram Kragten 3e84486dd5 Fix changed dialog class selector (#6325) 2020-07-05 13:35:03 -07:00
Bram Kragten a674ce36e4 Don't show null in hassio network settings (#6323) 2020-07-05 17:03:46 +02:00
Yosi Levy f6569a2625 Fix lint 2020-07-05 06:35:11 +03:00
Yosi Levy da10da79b3 RTL fixes - cloud section, ha-formfield, some missing + (mwc-fab) 2020-07-05 06:23:35 +03:00
HomeAssistant Azure f236b76d5c [ci skip] Translation update 2020-07-05 00:32:32 +00:00
HomeAssistant Azure a71c22bedd [ci skip] Translation update 2020-07-04 00:32:24 +00:00
HomeAssistant Azure cc528e41cf [ci skip] Translation update 2020-07-03 00:32:26 +00:00
Vladimír Záhradník 351962475f Custom Door controls (#6195) 2020-07-02 23:18:40 +02:00
Bram Kragten 6c73392a57 Bump mdc and mwc elements (#6313)
* Bump mdc to stable 7.0.0

* Bump mdc and mwc

* Update ha-config-logs.ts

* Correct changed radius variable
2020-07-02 23:18:11 +02:00
Bram Kragten 072ad87831 Prevent doing yaml conversion twice (#6308) 2020-07-02 20:09:58 +02:00
Bram Kragten 370a1f0574 Merge pull request #6318 from home-assistant/dev 2020-07-02 19:52:20 +02:00
Bram Kragten 9ca7aca4b7 Bumped version to 20200702.0 2020-07-02 19:31:14 +02:00
Bram Kragten 0f2e9f66b1 Add option to disable suspend connection when hidden (#6304)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-02 19:30:27 +02:00
Sean Mooney d03c3ab713 Update "Info" location in bug report template (#6317)
Location of this was moved from Developer Tools -> Info to Configuration -> Info.

Initially I was thinking of listing both locations (pre-0.112 and post-0.112) but thought maybe it's better not to. Because if the user doesn't see it under Configuration panel, that sets off the lightbulb in their head that they're running an older version and will (hopefully) update to latest before submitting the bug report.
2020-07-02 19:12:04 +02:00
Bram Kragten 57c0b34ae9 Refresh card embedded yaml editors on dialog open (#6307) 2020-07-02 09:15:20 -07:00
Bram Kragten 06a94f0f28 Fix spinner position logbook (#6306) 2020-07-02 17:55:06 +02:00
Bram Kragten 750e7b1262 Fix week period selectors (#6303) 2020-07-02 17:38:03 +02:00
Joakim Sørensen 19e32752bb Fixes hassio build script for prod (#6315) 2020-07-02 17:37:08 +02:00
Bram Kragten 89c0729964 Show the header when the sidebar is hidden (#6305) 2020-07-02 04:20:35 -07:00
HomeAssistant Azure fd07152aea [ci skip] Translation update 2020-07-02 00:32:32 +00:00
Bram Kragten b656f189b6 The top of templates dev tools was hidden behind the header (#6297) 2020-07-01 14:15:48 -07:00
Bram Kragten 9ac8d70152 Merge pull request #6291 from home-assistant/dev 2020-07-01 11:49:05 +02:00
Bram Kragten 8cc0b46335 Bumped version to 20200701.0 2020-07-01 11:36:03 +02:00
Bram Kragten 1f15094da7 More scrolling restore fixes, and fix custom panel iframe check (#6290) 2020-07-01 11:35:38 +02:00
Bram Kragten b881adb853 Add restoreScroll decorator (#6289) 2020-07-01 11:04:17 +02:00
HomeAssistant Azure 4bfc3a5629 [ci skip] Translation update 2020-07-01 00:32:19 +00:00
Brenden Crowie ae6c0bfe40 Docs integrations overflow (#6278) 2020-06-30 10:21:07 -07:00
Bram Kragten 4ce9c71521 Restore scrollposition on subpages after reconnecting (#6288) 2020-06-30 09:34:17 -07:00
HomeAssistant Azure ec48323a7d [ci skip] Translation update 2020-06-30 00:32:27 +00:00
Paulus Schoutsen 7d9bae16cd Merge pull request #6282 from home-assistant/dev 2020-06-29 15:20:23 -07:00
Paulus Schoutsen 163ff3d4e4 Bumped version to 20200629.0 2020-06-29 21:58:35 +00:00
Bram Kragten 43fbf97e10 Restore focus when returning to tab (#6276) 2020-06-29 14:52:04 -07:00
Paulus Schoutsen 71faaf2ab1 Handle setTimeout called when tab is shown (#6257)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-06-29 14:29:05 -07:00
Bram Kragten 7b0e743eca Fix yaml card editor (#6275) 2020-06-29 13:19:20 -07:00
Bram Kragten 31a0c53855 Fix height of card picker (#6274) 2020-06-29 13:18:45 -07:00
Thomas Lovén e8996063dd Remove google colors. Fix #6254 (#6263) 2020-06-29 10:51:28 +02:00
Paulus Schoutsen 00842a3354 Add air quality domain icon (#6253) 2020-06-29 09:31:37 +02:00
Paulus Schoutsen d33f18ecb7 Use hashes for hassio entrypoints (#6260) 2020-06-29 09:31:07 +02:00
Yosi Levy fb7f620316 Fixed a grammar mistake (#6265) 2020-06-29 09:29:26 +02:00
J. Nick Koston 712e0d3e3b Fix camera stream not connecting (#6271)
The timeout to start a camera stream was 10s.
With buffering it can take around 8-10s for camera
to be able to send a stream. If the time it
took was longer than 10s the stream would never
connect in the UI.
2020-06-29 09:26:41 +02:00
HomeAssistant Azure 1870dc29c0 [ci skip] Translation update 2020-06-29 00:32:31 +00:00
HomeAssistant Azure da6fdc74d8 [ci skip] Translation update 2020-06-28 00:32:23 +00:00
HomeAssistant Azure 515e39154a [ci skip] Translation update 2020-06-27 00:32:42 +00:00
Paulus Schoutsen ff7731d063 Merge pull request #6250 from home-assistant/dev 2020-06-26 13:03:23 -07:00
Paulus Schoutsen e9a3666dd5 Bumped version to 20200626.1 2020-06-26 20:01:05 +00:00
Paulus Schoutsen 55c56d53f4 Update version bump to make it smart 2020-06-26 20:01:01 +00:00
Paulus Schoutsen e4d55e6842 Skip disconnect of custom panels and iframe panels (#6248) 2020-06-26 12:53:36 -07:00
Paulus Schoutsen d8661cf2db Fix spinner size (#6247) 2020-06-26 12:47:11 -07:00
Paulus Schoutsen 8815b126b5 Truncate ms from initial logbook dates (#6246) 2020-06-26 12:17:35 -07:00
Paulus Schoutsen 2cd367f29f Fix formfield display (#6245) 2020-06-26 12:17:27 -07:00
Paulus Schoutsen 7395d19489 Fix config dashboard scroll on desktop (#6242) 2020-06-26 12:05:54 -07:00
Paulus Schoutsen d55cb95479 Bump HAWS to 5.4.1 (#6241) 2020-06-26 10:54:54 -07:00
Zack Arnett 68ece7d363 Fix Red text on Card Options (#6240) 2020-06-26 10:40:44 -07:00
HomeAssistant Azure 6e4a8ac6df [ci skip] Translation update 2020-06-26 00:32:27 +00:00
Paulus Schoutsen 790629849f Merge pull request #6238 from home-assistant/dev 2020-06-25 17:05:08 -07:00
Paulus Schoutsen f0443a43b2 Bumped version to 20200626.0 2020-06-26 00:03:25 +00:00
Paulus Schoutsen 3041eb5ce0 Fix suspend logic (#6237) 2020-06-25 17:03:07 -07:00
J. Nick Koston c69247f190 Fix logbook username not appearing consistently (#6230)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-25 12:44:51 -07:00
HomeAssistant Azure 27d6a62e67 [ci skip] Translation update 2020-06-25 00:32:44 +00:00
HomeAssistant Azure 6e7fc914aa [ci skip] Translation update 2020-06-24 00:32:22 +00:00
Paulus Schoutsen 65d587843b Merge pull request #6222 from home-assistant/dev 2020-06-23 16:58:47 -07:00
Paulus Schoutsen c54792af22 Bumped version to 20200623.3 2020-06-23 16:53:48 -07:00
Paulus Schoutsen 7b7e023103 Remove support for deprecated hidden property (#6220)
* Remove support for deprecated hidden property

* Lint

* Make sure to keep zones out of generated LL
2020-06-23 15:09:54 -07:00
Paulus Schoutsen 7637d36146 Fix demo suspend once and for all (#6219) 2020-06-23 11:07:01 -07:00
Paulus Schoutsen 6c62afb123 Merge pull request #6218 from home-assistant/dev 2020-06-23 09:56:08 -07:00
Paulus Schoutsen 44210ce6f2 Bumped version to 20200623.2 2020-06-23 09:55:32 -07:00
Bram Kragten e21efc0a5c Add button to MQTT options flow (#6217) 2020-06-23 09:51:08 -07:00
Paulus Schoutsen 09a965022f Merge remote-tracking branch 'origin/dev' 2020-06-23 09:39:48 -07:00
Paulus Schoutsen 7534ecd2f2 20200623.1 (#6216) 2020-06-23 09:38:55 -07:00
Paulus Schoutsen 46bf5cf830 Bumped version to 20200623.1 2020-06-23 09:37:15 -07:00
Paulus Schoutsen 7ba7761a57 Reset text-align on circular-progress (#6215) 2020-06-23 09:36:55 -07:00
Paulus Schoutsen 5268afabdb Merge pull request #6214 from home-assistant/dev 2020-06-23 09:12:55 -07:00
Paulus Schoutsen 3ea7506003 Bumped version to 20200623.0 2020-06-23 09:04:49 -07:00
Paulus Schoutsen ee14d206c8 Only use suspend logic in app (#6212) 2020-06-23 08:51:41 -07:00
Paulus Schoutsen b65f4b9af6 Merge pull request #6083 from Shulyaka/humidifier 2020-06-22 17:59:01 -07:00
HomeAssistant Azure 6d000a3f9a [ci skip] Translation update 2020-06-23 00:32:21 +00:00
Denis Shulyaka 9ba0de67f5 Removed humidifier row and a space in front of percent 2020-06-23 02:41:53 +03:00
Paulus Schoutsen d22eaa1318 Merge pull request #6211 from home-assistant/dev 2020-06-22 16:18:06 -07:00
Paulus Schoutsen 3f4bfab7fe Remove no longer needed derived style 2020-06-22 16:00:18 -07:00
Paulus Schoutsen 9292f217c5 Bumped version to 20200622.0 2020-06-22 15:58:36 -07:00
Paulus Schoutsen 3b779bf423 Add ha circular progress (#6205) 2020-06-22 14:51:36 -07:00
Paulus Schoutsen ea410d3af1 Don't transpile object spread in latest build (#6208) 2020-06-22 10:25:08 -07:00
Paulus Schoutsen 4e71c2c500 Remove iron-media-query (#6206) 2020-06-22 10:25:01 -07:00
Paulus Schoutsen 454ddf366a Use dynamic import for cast/demo to show latest build (#6202) 2020-06-22 10:24:54 -07:00
Paulus Schoutsen d0ba5696d1 Tiny cleanup (#6207) 2020-06-22 10:24:12 -07:00
Paulus Schoutsen c53fd0d1e1 Use Gulp to index demos (#6203) 2020-06-22 10:24:01 -07:00
Paulus Schoutsen 7bbecfde2b Fix hassio circular reference (#6204) 2020-06-22 07:25:16 +02:00
HomeAssistant Azure a06f378582 [ci skip] Translation update 2020-06-22 00:33:55 +00:00
Paulus Schoutsen b3b42b741d Upgrade to latest terser webpack plugin (#6199) 2020-06-20 22:51:29 -07:00
HomeAssistant Azure 020f115d7c [ci skip] Translation update 2020-06-21 00:32:58 +00:00
Denis Shulyaka 2cc9d70915 Revert to 372ecc6 2020-06-20 22:25:21 +03:00
Denis Shulyaka b242c6651a eslint 2020-06-20 21:32:55 +03:00
Denis Shulyaka 14a51799a6 Cater for null super.styles on page refresh 2020-06-20 21:23:01 +03:00
Bram Kragten 79a6dacd2f Merge pull request #6198 from home-assistant/dev 2020-06-20 16:33:55 +02:00
Bram Kragten 6891f1df1c Bumped version to 20200620.0 2020-06-20 15:56:19 +02:00
Bram Kragten 497494620d Log cast config fetch errors (#6197) 2020-06-20 15:40:29 +02:00
Bram Kragten 7a13242077 Logbook + History allow date/time filter (#6192)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-20 15:39:52 +02:00
Bram Kragten b9d6973a79 ZHA: Bring back clusters UI (#6191) 2020-06-20 15:38:27 +02:00
Bram Kragten ed0e8c5e8d Move MQTT dev tools to integrations (#6189) 2020-06-20 14:52:56 +02:00
HomeAssistant Azure d8f530f8ac [ci skip] Translation update 2020-06-20 00:32:36 +00:00
HomeAssistant Azure a46874b7ff [ci skip] Translation update 2020-06-19 00:32:29 +00:00
Bram Kragten cf68f25a03 Don't throw errors in card picker (#6188) 2020-06-18 16:26:31 -07:00
Denis Shulyaka a496563b5c fix HaEntityHumidifier.styles 2020-06-18 18:18:37 +03:00
Denis Shulyaka a763ad5bf1 reapply suggestions from code review 2020-06-18 17:15:12 +03:00
Denis Shulyaka f0b0200932 Revert "apply suggestions from code review"
This reverts commit 342f22e6a1.
2020-06-18 17:03:47 +03:00
Denis Shulyaka 342f22e6a1 apply suggestions from code review 2020-06-18 16:50:49 +03:00
Denis Shulyaka 372ecc6557 make humidifier card lazy-loaded 2020-06-18 16:37:56 +03:00
Joakim Sørensen 16c604937e Display docker version (#5989) 2020-06-18 11:54:21 +02:00
Paulus Schoutsen 5cbffb23fd Remove check if config is loaded (#6123) 2020-06-18 11:18:33 +02:00
HomeAssistant Azure 6de38d3b85 [ci skip] Translation update 2020-06-18 00:32:18 +00:00
rajlaud b34ce577d9 Add discovery to list of configuration flow sources whose entries can be ignored (#6185)
Add "discovery" to the list of configuration flow sources whose config flow entries can be ignored. For example, https://github.com/home-assistant/core/pull/35669. I've tested it on the squeezebox integration and it works.
2020-06-17 16:08:26 -07:00
Paulus Schoutsen 4b9fcd7de7 Bumped version to 20200617.0 2020-06-17 10:33:16 -07:00
Paulus Schoutsen cc71ccaafa Keep auth params when onboarding (#6182) 2020-06-17 10:32:27 -07:00
marawan31 9ff2eece3a Added precipitation probability to forcast (#6131) 2020-06-17 09:02:44 +02:00
HomeAssistant Azure 2bc97cc9c8 [ci skip] Translation update 2020-06-17 00:32:22 +00:00
Bram Kragten a87570cf5a Add link to integrations page if zha or zwave are loaded. (#6159) 2020-06-16 13:58:05 -07:00
Bram Kragten 9ffd25e3a0 Fix enter behavior of card editor (#6179) 2020-06-16 13:30:27 -07:00
Bram Kragten 61fdab294a Fix ha-card outline box shadow in firefox (#6174)
* Fix ha-card outline box shadow in firefox

* Add fallback for markdown code background
2020-06-16 13:29:38 -07:00
Bram Kragten d4e137bb58 Keep add integration dialog same size while searching (#6158) 2020-06-16 13:29:11 -07:00
Bram Kragten c251e4f241 Prevent add card dialog to jump on search (#6180) 2020-06-16 13:20:10 -07:00
Bram Kragten a55d0f347b Fix reload script (#6181) 2020-06-16 13:19:07 -07:00
J. Nick Koston f15cc0b424 Show the user that made the change in logbook (#6173)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-06-16 16:00:55 +02:00
HomeAssistant Azure 4e17875011 [ci skip] Translation update 2020-06-16 00:32:24 +00:00
Bram Kragten 256b64b6b3 Remove filtering for attribute hidden (#6171) 2020-06-15 15:41:21 -07:00
Paulus Schoutsen 8c0c0592e2 Move Jinja directives to own script block (#6166) 2020-06-15 16:18:58 +02:00
Thomas Lovén f53f81dbc4 Fix translation in device options (#6172) 2020-06-15 16:17:07 +02:00
Paulus Schoutsen d6c85719c9 Fix preload Roboto on older devices (#6165) 2020-06-14 21:08:10 -07:00
HomeAssistant Azure c51c80bf47 [ci skip] Translation update 2020-06-15 00:32:32 +00:00
HomeAssistant Azure 544832756d [ci skip] Translation update 2020-06-14 00:32:29 +00:00
Bram Kragten ca8586789a Merge pull request #6156 from home-assistant/dev 2020-06-13 13:47:09 +02:00
Bram Kragten 1afc2b3518 Merge branch 'master' into dev 2020-06-13 11:42:53 +02:00
Bram Kragten 17352ea5bd Bumped version to 20200613.0 2020-06-13 11:41:18 +02:00
Bram Kragten 6f5e3c2711 Close websocket connection after being hidden for 5 minutes (#6149)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-13 11:00:22 +02:00
Bram Kragten bee21cd3fe Bumped version to 20200603.3 2020-06-13 10:56:44 +02:00
Bram Kragten c4340e05d2 Disable pointer events when disabled (#6155) 2020-06-13 10:56:30 +02:00
Bram Kragten 6d6eef4e97 Disable pointer events when disabled (#6155) 2020-06-13 08:58:21 +02:00
Paulus Schoutsen 71137032df Custom Panel to allow passing two builds (#6104) 2020-06-12 21:01:09 -07:00
Bram Kragten ffff4dc03d Add z index to dialog (#6145) 2020-06-12 21:00:37 -07:00
Denis Shulyaka 4033131f2e Handle unknown states 2020-06-13 03:33:10 +03:00
HomeAssistant Azure 65b16c763e [ci skip] Translation update 2020-06-13 00:32:26 +00:00
Bram Kragten 33af3de4a3 Disconnect panel after 5 minutes hidden (#6152) 2020-06-12 20:44:22 +02:00
marawan31 a822c1eb2f Reduce HLS buffer length to 1 minute instead of the default infinity (#6134)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-06-12 14:01:48 +02:00
Bram Kragten 4eb46bc275 Move integration config panels to integrations (#6122) 2020-06-12 11:51:00 +02:00
HomeAssistant Azure ccc9b73f9b [ci skip] Translation update 2020-06-12 00:32:44 +00:00
Denis Shulyaka e9ffdeff19 linter fix 2020-06-11 21:33:40 +03:00
Denis Shulyaka a0ab4dffc9 display target humidity on glance card 2020-06-11 21:28:07 +03:00
HomeAssistant Azure f5f8ad0e02 [ci skip] Translation update 2020-06-11 00:32:27 +00:00
Denis Shulyaka 82957ff6ef Attributes 2020-06-11 01:46:07 +03:00
Bram Kragten 0864aeb9c6 Convert config server control to Lit (#6141) 2020-06-10 21:21:04 +02:00
Bram Kragten cda6310373 Migrate dialog-box to ha-dialog (#6140) 2020-06-10 21:19:42 +02:00
Bram Kragten 26a87e9280 Changes ha-card to new material design rules (#6137) 2020-06-10 12:01:37 +02:00
Bram Kragten 0b16a4880a Move info and log panels (#6127) 2020-06-10 11:59:05 +02:00
HomeAssistant Azure db68c5852c [ci skip] Translation update 2020-06-10 00:32:12 +00:00
Bram Kragten 256aec5308 Remove slot from ha-switch (#6133) 2020-06-09 22:37:43 +02:00
Bram Kragten 20dd3ca21c data-entry-flow: replace paper-dialog with mwc-dialog (#6129) 2020-06-09 22:31:27 +02:00
Bram Kragten 25cc76e022 Replace paper-menu-button (#6132) 2020-06-09 22:30:36 +02:00
Bram Kragten 168cc607aa Move lovelace card edit dialog to mwc-dialog (#6130) 2020-06-09 22:30:18 +02:00
Bram Kragten edc4601f8e Run prettier (#6128) 2020-06-09 14:06:42 +02:00
Robert 8f86a7ad8c Removed docker build method. (#6126)
The docker build method doesn't work anymore. Removed all
scripts/references related to it.
2020-06-09 11:52:43 +02:00
HomeAssistant Azure 4d7ad0dc51 [ci skip] Translation update 2020-06-09 00:32:32 +00:00
dependabot[bot] 34ac80567e Bump websocket-extensions from 0.1.3 to 0.1.4 (#6117)
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-08 09:56:45 +02:00
HomeAssistant Azure 23bdc03f29 [ci skip] Translation update 2020-06-08 00:32:36 +00:00
HomeAssistant Azure 3099748a6d [ci skip] Translation update 2020-06-07 00:32:42 +00:00
Paulus Schoutsen e384f76ac1 Make two builds of hassio (#6105) 2020-06-05 21:56:56 -07:00
HomeAssistant Azure 7050d19be7 [ci skip] Translation update 2020-06-06 00:32:28 +00:00
Bram Kragten ca678330d3 Bumped version to 20200603.2 2020-06-05 23:46:48 +02:00
Bram Kragten 10a5b3f9c3 Glance height fix (Again): A row could be zero height (#6110) 2020-06-05 23:46:41 +02:00
Bram Kragten 0fcedc5046 Glance height fix (Again): A row could be zero height (#6110) 2020-06-05 23:46:16 +02:00
Bram Kragten f558f7fb8c Set min width to dev states columns (#6108) 2020-06-05 23:28:25 +02:00
Bram Kragten 06207defe7 Correct glance card size (#6109) 2020-06-05 23:03:15 +02:00
Bram Kragten 986f9d7633 Fix for config undefined (#6102) 2020-06-05 23:02:54 +02:00
Bram Kragten 81277fd12e Set min width to dev states columns (#6108) 2020-06-05 22:15:06 +02:00
Bram Kragten 30442b25c0 Correct glance card size (#6109) 2020-06-05 22:14:39 +02:00
Paulus Schoutsen 67ac3b4ba3 Drop Custom Elements ES5 adapter (#6107) 2020-06-05 11:04:19 +02:00
Paulus Schoutsen f819e2cf8d Cleanup of builds (#6106) 2020-06-05 11:03:11 +02:00
Bram Kragten a376f4525b Fix alarm card animation (#6096)
fixes #5074
2020-06-04 21:52:14 -07:00
Bram Kragten 5c1553286a Fix for config undefined (#6102) 2020-06-04 21:51:31 -07:00
HomeAssistant Azure 2c5d3f7492 [ci skip] Translation update 2020-06-05 00:32:27 +00:00
Paulus Schoutsen 58f01ba11a Fix webpack dev server (#6100) 2020-06-04 10:25:12 +02:00
HomeAssistant Azure 3fdf9a2e28 [ci skip] Translation update 2020-06-04 00:32:29 +00:00
Paulus Schoutsen 4cbd8e7673 Include compatibility in Hass.io (#6098) 2020-06-03 17:18:04 -07:00
Denis Shulyaka 20ca642e51 enable toggling from entities card 2020-06-04 01:15:11 +03:00
Denis Shulyaka 05ad7ea011 lint 2020-06-04 00:58:53 +03:00
Denis Shulyaka faea8c9f4c LitElement 2020-06-04 00:53:51 +03:00
Bram Kragten 0d4c51f26e Merge pull request #6095 from home-assistant/dev 2020-06-03 18:19:54 +02:00
Bram Kragten 2c1b25b00b Bumped version to 20200603.1 2020-06-03 18:18:30 +02:00
Bram Kragten 407f305d21 Fix for earlier loading the frontend (#6094) 2020-06-03 18:16:49 +02:00
Bram Kragten 5d5d6b247f Merge pull request #6093 from home-assistant/dev 2020-06-03 13:28:05 +02:00
Bram Kragten 77bd7c37c1 Merge branch 'master' into dev 2020-06-03 11:37:20 +02:00
Bram Kragten 783ea0f5c8 Bumped version to 20200603.0 2020-06-03 10:20:37 +02:00
HomeAssistant Azure 33f1b45f30 [ci skip] Translation update 2020-06-03 00:32:35 +00:00
Bram Kragten e1df50ad3b Fix refresh when starting with generated on cast (#6072) 2020-06-02 22:25:11 +02:00
Maciej Bieniek 6a9a4cf65f Add missing translation in the customize (#6074) 2020-06-02 17:26:01 +02:00
Maciej Bieniek 443634ecf0 Add missing translations in the users panel (#6082)
* Add missing translations in the users panel

* Suggested change

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Suggested change

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Suggested change

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Move error_required to ui.common

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-06-02 17:25:30 +02:00
HomeAssistant Azure 2a17870d6d [ci skip] Translation update 2020-06-02 00:32:40 +00:00
Bram Kragten 486ed7dcaa More card size tweaking (#6073) 2020-06-01 16:08:27 +02:00
Bram Kragten 19c13096dc Fix map history (#6075) 2020-06-01 16:07:06 +02:00
HomeAssistant Azure 49b4271a47 [ci skip] Translation update 2020-06-01 00:32:39 +00:00
Denis Shulyaka 404d0b8d05 Add 'Target Humidity' string to the more-info dialog 2020-05-31 23:54:28 +03:00
Denis Shulyaka fe63c12cd9 linter fix 2020-05-31 23:27:37 +03:00
Denis Shulyaka 44023c3db7 linter fix 2020-05-31 23:22:03 +03:00
Denis Shulyaka 6242997849 linter fixes 2020-05-31 23:16:15 +03:00
Denis Shulyaka ec5d7508c9 Add humidifier entity integration 2020-05-31 22:35:58 +03:00
HomeAssistant Azure 7461d8f806 [ci skip] Translation update 2020-05-31 00:32:37 +00:00
HomeAssistant Azure 362236d7df [ci skip] Translation update 2020-05-30 00:32:30 +00:00
Zack Arnett ba384b9eee Weather Card: Show 5 element Forecast Longer (#5885) 2020-05-29 15:09:35 +02:00
Maciej Bieniek d94df728e5 Add missing translations on Z-Wave management page (#5932) 2020-05-29 15:08:23 +02:00
Bram Kragten d0a53d1760 Handle starting the frontend before finished loading integrations (#6068)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-28 21:09:26 -07:00
HomeAssistant Azure 2e5ec1f0c1 [ci skip] Translation update 2020-05-29 00:32:33 +00:00
Paulus Schoutsen 6c8aedfb8b Fix feature detection for module browsers that do not support dynamic… (#6069) 2020-05-28 12:28:58 -07:00
Robert Chmielowiec f354e1eb0f Invert whitelist logic in deviceAutomationsEqual (#6032) 2020-05-28 16:24:22 +02:00
HomeAssistant Azure 49b1e5897e [ci skip] Translation update 2020-05-28 00:32:21 +00:00
Paulus Schoutsen 1a58c17180 Fix hassio dev under rollup (#6063) 2020-05-27 14:18:38 -07:00
Bram Kragten 7fb852893c Fix get card size for lazy elements (#6023) 2020-05-27 22:18:13 +02:00
Paulus Schoutsen aa9a354746 Preload (#6062) 2020-05-27 12:54:52 -07:00
Bram Kragten 78f5429c92 break word in dev states table (#6060) 2020-05-27 09:34:51 -07:00
J. Nick Koston 79de8e0f32 Request less data when making history api calls where possible (#5934) 2020-05-27 16:45:39 +02:00
Bram Kragten 70f59eeec6 MIgrate entity-filter-badge to updating element (#6050) 2020-05-27 15:25:28 +02:00
Paulus Schoutsen b75792a3bf Fix filtering out compatibility (#6056) 2020-05-27 00:30:23 -07:00
Paulus Schoutsen 5cb7117656 Move compatibility to the top of custom panel entrypoint (#6055) 2020-05-27 09:19:28 +02:00
HomeAssistant Azure 3a5bd7474b [ci skip] Translation update 2020-05-27 00:32:20 +00:00
Paulus Schoutsen 304fad3f49 Remove unused HTML tests (#6053) 2020-05-26 16:02:05 -07:00
Bram Kragten fb929a089c Fix aria label icon name (#5992) 2020-05-26 10:03:15 +02:00
Bram Kragten 6076a0cdc4 Bump roundslider (#6049) 2020-05-26 10:00:25 +02:00
Bram Kragten a3736683eb Bump roundslider (#6049) 2020-05-26 09:59:06 +02:00
Bram Kragten 413f1c31bb Bumped version to 20200519.5 2020-05-26 09:50:56 +02:00
Bram Kragten 20baff380b Dont recreate resize observers and replace polyfill (#6043) 2020-05-26 09:49:43 +02:00
Bram Kragten 582d159884 Remove mwc-icon-button from dev tools states (#6046) 2020-05-26 09:49:12 +02:00
Bram Kragten 9c43c5806d Fix shopping list initial data fetch (#6020) 2020-05-26 09:48:50 +02:00
Bram Kragten 8ad2bf5401 Fix shopping list initial data fetch (#6020) 2020-05-26 09:44:46 +02:00
HomeAssistant Azure 66409f0fa5 [ci skip] Translation update 2020-05-26 00:32:44 +00:00
Franck Nijhof 68172e006f Update Code of Conduct to 2.0 (#6048) 2020-05-25 16:35:57 -07:00
Bram Kragten cf5e808a96 Remove mwc-icon-button from dev tools states (#6046) 2020-05-25 21:57:04 +02:00
Maciej Bieniek 3faebaeb4b Add missing translations to actions, triggers and conditions of device automations (#6002) 2020-05-25 19:37:44 +02:00
Maciej Bieniek 6b8cfe661c Add missing translations on the area registry page (#5998) 2020-05-25 19:37:17 +02:00
Bram Kragten 2fd64af737 Dont recreate resize observers and replace polyfill (#6043) 2020-05-25 19:36:47 +02:00
Paulus Schoutsen 050cdf3783 Integrate compatibility into other entrypoints (#6029) 2020-05-25 19:36:22 +02:00
Paulus Schoutsen d73b3d77ea Split out HTML imports from entrypoint (#6030) 2020-05-25 09:55:50 -07:00
Bram Kragten acc024bcf9 Fix entity marker border color (#6041) 2020-05-25 16:47:21 +02:00
Maciej Bieniek deb179ad38 Add translation to the back button on the helpers page (#5999) 2020-05-25 14:50:58 +02:00
Maciej Bieniek bfb11790a2 Add translations for 'No area' strings (#6000) 2020-05-25 14:46:34 +02:00
Paulus Schoutsen af23110074 Move legacy styles to their own files (#6033) 2020-05-25 10:16:01 +02:00
Paulus Schoutsen b8e71609db Random Rollup tweaks (#6034) 2020-05-25 10:12:42 +02:00
HomeAssistant Azure 1876b3827f [ci skip] Translation update 2020-05-25 00:32:56 +00:00
Paulus Schoutsen 38d3b8d087 Ignore proxy-polyfill in workers (#6011) 2020-05-24 10:41:05 +02:00
Paulus Schoutsen c5ef33cc78 Upgrade Fuse (#6012) 2020-05-24 10:39:07 +02:00
Paulus Schoutsen 7427b209a7 Fix ignore plugin for ES5 builds 2020-05-23 22:08:49 -07:00
Paulus Schoutsen 71397e5199 Exclude default polymer theme (#6010) 2020-05-23 20:20:36 -07:00
HomeAssistant Azure 1bc3b3befc [ci skip] Translation update 2020-05-24 00:32:49 +00:00
Paulus Schoutsen 872e46a076 Exclude packages rollup (#6007) 2020-05-23 13:53:26 -07:00
Paulus Schoutsen ad386c0e22 Cleanups (#5997) 2020-05-23 00:06:23 -07:00
Paulus Schoutsen 7e281f66c2 Rollup (#5995) 2020-05-22 23:05:47 -07:00
Bram Kragten 7daafcbe1b Fix aria label icon name (#5992) 2020-05-22 22:24:37 +02:00
Paulus Schoutsen c5b223988a Split generic bundle config from webpack config (#5917) 2020-05-22 10:02:05 -07:00
Bram Kragten 6cc9ce573b Bumped version to 20200519.4 2020-05-22 18:21:00 +02:00
Bram Kragten 23192226dd Missed paper icon button (#5987) 2020-05-22 18:20:52 +02:00
Bram Kragten 736444201b Fix for icons with firefox private mode (#5985) 2020-05-22 18:20:33 +02:00
Bram Kragten 785f49b005 Picture glance: Use icon button instead of icon with button styles. (#5977) 2020-05-22 18:20:08 +02:00
Bram Kragten 55dd1f4aa1 Fix device entities not updating (#5983) 2020-05-22 18:19:47 +02:00
Bram Kragten 6d0490d7d9 Fix show password toggle (#5979) 2020-05-22 18:19:14 +02:00
Bram Kragten 06667455ae Missed paper icon button (#5987) 2020-05-22 18:16:45 +02:00
Bram Kragten 3640960486 Fix for icons with firefox private mode (#5985) 2020-05-22 17:55:28 +02:00
Bram Kragten 4ad3dbf3e2 Update release-drafter.yaml 2020-05-22 16:36:00 +02:00
Bram Kragten 10957deb1f Add release drafter action (#5984) 2020-05-22 16:33:54 +02:00
Bram Kragten 0a128db269 Picture glance: Use icon button instead of icon with button styles. (#5977) 2020-05-22 15:36:43 +02:00
Bram Kragten 6bb3b84377 Fix device entities not updating (#5983) 2020-05-22 15:36:30 +02:00
Bram Kragten b8d2c551e0 Fix show password toggle (#5979) 2020-05-22 14:44:17 +02:00
Maciej Bieniek 34e06351fb Add translations for buttons and error string on the auth page (#5933) 2020-05-22 14:44:06 +02:00
HomeAssistant Azure e179404a9e [ci skip] Translation update 2020-05-22 00:32:48 +00:00
Bram Kragten 9c574995ac Bumped version to 20200519.3 2020-05-21 15:15:37 +02:00
Bram Kragten 3f35c603d2 Don't set hass when not defined (#5967) 2020-05-21 15:14:48 +02:00
Bram Kragten 8e0688140e Fix weather card (#5966) 2020-05-21 15:14:21 +02:00
Bram Kragten 5f81a204f2 Don't set hass when not defined (#5967) 2020-05-21 15:10:32 +02:00
Bram Kragten df3b70a533 Fix weather card (#5966) 2020-05-21 14:54:10 +02:00
Bram Kragten 0c57c05a22 Bumped version to 20200519.2 2020-05-21 13:02:07 +02:00
Bram Kragten c6be3be45a Fix markdown card crashing the demo (#5962) 2020-05-21 13:01:57 +02:00
Bram Kragten 9689db9605 Upgrade lazy error card (#5955) 2020-05-21 13:01:36 +02:00
Bram Kragten e4607735ff Fix markdown card crashing the demo (#5962) 2020-05-21 13:00:33 +02:00
HomeAssistant Azure 389b7def0b [ci skip] Translation update 2020-05-21 00:32:27 +00:00
Bram Kragten e35bd30ed3 Upgrade lazy error card (#5955) 2020-05-20 23:08:49 +02:00
Zack Arnett 4b8f7e1fe9 Weather Card: Fix Forecast Image Spacing (#5952) 2020-05-20 21:39:45 +02:00
Zack Arnett 5cc4e2bb16 Weather Card: Fix Forecast Image Spacing (#5952) 2020-05-20 21:39:29 +02:00
Bram Kragten e165a96689 Bumped version to 20200519.1 2020-05-20 21:36:11 +02:00
Bram Kragten 91a655a81e Fix resize observers and update gauge styling (#5949) 2020-05-20 21:35:52 +02:00
Bram Kragten 612811e2c2 Fix disabled styling zone panel (#5950) 2020-05-20 21:35:32 +02:00
Bram Kragten 11bd72915c Fix picture header footer upgrade (#5945) 2020-05-20 21:35:12 +02:00
Bram Kragten 339221e793 Upgrade lazy loaded elements before setting config (#5944) 2020-05-20 21:34:49 +02:00
Bram Kragten 9be864b45e Fix search for data-tables using the builtin search bar (#5937) 2020-05-20 21:34:24 +02:00
Bram Kragten 3a453f5843 Fix resize observers and update gauge styling (#5949) 2020-05-20 21:27:08 +02:00
Bram Kragten 28e0384b55 Fix disabled styling zone panel (#5950) 2020-05-20 19:31:45 +02:00
Bram Kragten dcd6c6f06f Fix picture header footer upgrade (#5945) 2020-05-20 17:34:15 +02:00
Bram Kragten 28d26065e4 Upgrade lazy loaded elements before setting config (#5944) 2020-05-20 16:23:50 +02:00
Bram Kragten 300c8d06c4 Fix search for data-tables using the builtin search bar (#5937) 2020-05-20 10:01:33 +02:00
Paulus Schoutsen d2a1d11d16 limit manifest to entrypoints (#5936) 2020-05-19 23:55:17 -07:00
HomeAssistant Azure 6ae717bbfe [ci skip] Translation update 2020-05-20 00:32:38 +00:00
Joakim Sørensen 21296b4224 Adds more styling to markdown elements (#5904) 2020-05-19 22:20:29 +02:00
Bram Kragten fafad302ba Merge pull request #5931 from home-assistant/dev 2020-05-19 16:05:55 +02:00
Bram Kragten 0c94ad46b2 Bumped version to 20200519.0 2020-05-19 14:29:35 +02:00
Bram Kragten d9bb40f934 Fix data table worker (#5921) 2020-05-19 13:59:16 +02:00
Bram Kragten bbc16b6bc8 Cache used icons in memory, use inline icon for dev-tools (#5927) 2020-05-19 13:58:08 +02:00
Bram Kragten 16154e9d8b Change disabled icon to pencil-off (#5930) 2020-05-19 13:57:53 +02:00
Jeff Rescignano 61bd536d7b Update invalid links in README.md (#5926) 2020-05-19 09:54:39 +02:00
HomeAssistant Azure 02c798a8bc [ci skip] Translation update 2020-05-19 00:33:05 +00:00
Paulus Schoutsen c37a691b9b Remove unused deps (#5916) 2020-05-18 23:09:59 +02:00
Maciej Bieniek 23c68d17e8 Add missing translations to ha-device-entities-card (#5908) 2020-05-18 21:54:58 +02:00
Bram Kragten 0a7f610ad3 Merge pull request #5920 from home-assistant/dev 2020-05-18 20:05:22 +02:00
Bram Kragten c9e8bd2e5d Fix picture card (#5922) 2020-05-18 20:05:00 +02:00
Paulus Schoutsen a66d2ca1b9 Use comlink in workers (#5915) 2020-05-18 16:51:46 +02:00
Bram Kragten d38a0f0366 Bumped version to 20200518.0 2020-05-18 16:14:12 +02:00
Bram Kragten 29759de021 Update ha-entity-picker.ts 2020-05-18 16:14:04 +02:00
Bram Kragten 264759ddf0 Fix entity-filter-card (#5919) 2020-05-18 15:16:56 +02:00
Bram Kragten 91b0bd5b5e Check if attached on rebuild (#5918) 2020-05-18 13:27:58 +02:00
Bram Kragten a0e2cc7a3a Fix ignored config entries (#5914) 2020-05-18 11:26:32 +02:00
Mat Strange 9e1eb41cbe Added theme to events documentation (#5903) 2020-05-18 11:26:10 +02:00
Maciej Bieniek c37eb023b0 Add missing translation on developer tool page (#5886) 2020-05-18 11:07:00 +02:00
HomeAssistant Azure 840948ba4a [ci skip] Translation update 2020-05-18 00:33:03 +00:00
J. Nick Koston 8fbdd88b24 Cleanup new ha-config (#5906)
Remove changedProps check as its always true.
2020-05-17 11:59:50 +02:00
HomeAssistant Azure 512d35d2e0 [ci skip] Translation update 2020-05-17 00:33:05 +00:00
Zack Arnett 0321e55a42 EZ (#5901) 2020-05-16 11:15:04 +02:00
Zack Arnett a1ee9ad48b Card Editor: Documentation per Card (#5888)
* Doc-links

* Comments

* Fix

* Remove unneeded code

* undo the change

* better
2020-05-15 21:50:28 -04:00
HomeAssistant Azure 1ad1fd28f1 [ci skip] Translation update 2020-05-16 00:32:54 +00:00
Bram Kragten 007f8b50b9 Merge pull request #5900 from home-assistant/dev 2020-05-15 22:01:34 +02:00
Bram Kragten 6fe8a87cca Bumped version to 20200515.0 2020-05-15 21:45:59 +02:00
Bram Kragten 5f46679d94 Fix mdc checkbox styling (#5897) 2020-05-15 17:56:47 +02:00
Zack Arnett 18a3f212f3 Calendar Panel: Popup Style (#5895) 2020-05-15 17:22:38 +02:00
Zack Arnett 67a3f5d87b Gauge Card: Fix if value is greater than max (#5887) 2020-05-15 17:21:53 +02:00
Bram Kragten c88439ba2f Polyfill Intl.PluralRules (#5893) 2020-05-15 14:54:42 +02:00
Bram Kragten 67e17d4016 Fix conditional and custom panel updated > update (#5891) 2020-05-15 14:54:23 +02:00
Bram Kragten b61cf60faf Migrate card preview to UpdatingElement (#5884) 2020-05-15 09:19:24 +02:00
HomeAssistant Azure 5503853445 [ci skip] Translation update 2020-05-15 00:32:48 +00:00
Bram Kragten 259726f5be Merge pull request #5883 from home-assistant/dev 2020-05-14 20:05:34 +02:00
Bram Kragten bec42d941b Bumped version to 20200514.1 2020-05-14 18:46:20 +02:00
Bram Kragten dcbbaf08f9 Set lovelace when restoring view from cache, optimise picture element and thermostat (#5880) 2020-05-14 18:44:38 +02:00
Zack Arnett 349355584a Media Player Row: Fix State Translation (#5881)
* Fix for state display translation

* Comments
2020-05-14 12:38:43 -04:00
Zack Arnett 7ce0b34774 Resizer fix (#5882) 2020-05-14 12:37:38 -04:00
Zack Arnett dd894758a4 Card Editor: Preview Card Margin fix (#5879) 2020-05-14 18:13:26 +02:00
Zack Arnett 2aa1eb97fd Markdown Card: Fix not rendering on initial load (#5864) 2020-05-14 18:13:06 +02:00
Bram Kragten 4c43ae7b2f Beta fixes (#5878) 2020-05-14 16:03:52 +02:00
Zack Arnett 34e516e0be oops (#5866) 2020-05-14 09:26:06 +02:00
HomeAssistant Azure 7bd3427e76 [ci skip] Translation update 2020-05-14 00:32:37 +00:00
Bram Kragten 6853db693a Merge pull request #5862 from home-assistant/dev 2020-05-14 01:44:59 +02:00
Bram Kragten 252ce1e467 Show loading screen for integration config (#5863) 2020-05-14 01:44:39 +02:00
Bram Kragten 221c12bd61 Bumped version to 20200514.0 2020-05-14 01:12:57 +02:00
Paulus Schoutsen 12edd68874 Remove unused ES5 service worker (#5860) 2020-05-14 01:11:32 +02:00
Bram Kragten f469753fb1 Dont add all childs at once to view (#5856) 2020-05-14 00:09:52 +02:00
Bram Kragten c894ecd0e6 Optimise sourcemaps (#5859) 2020-05-14 00:06:39 +02:00
Paulus Schoutsen 2153bc536c Clean up service worker code and fix 404 (#5855) 2020-05-13 13:17:47 -07:00
Bram Kragten 86bbac430c Fix translations for integration config panel (#5854) 2020-05-13 20:49:01 +02:00
Bram Kragten 16ad8a3c01 Open newly added view after adding (#5851) 2020-05-13 19:49:03 +02:00
Bram Kragten b2af91c83e Fixes for problems caused by not rebuilding (#5850) 2020-05-13 18:51:26 +02:00
Bram Kragten 4c0810f530 Fix typo in property method (#5852) 2020-05-13 18:51:16 +02:00
Paulus Schoutsen f70130e21f Remove reference to Google Fonts (#5849) 2020-05-13 18:22:53 +02:00
Paulus Schoutsen 6bb7b01d00 Fix demo size_stats 2020-05-13 08:41:35 -07:00
Bram Kragten 51e7aaa805 Merge pull request #5848 from home-assistant/dev 2020-05-13 13:14:23 +02:00
Bram Kragten 54704e53b3 Bumped version to 20200513.0 2020-05-13 12:47:37 +02:00
Bram Kragten cc46797576 Some fixes in focus and click handling (#5847) 2020-05-13 12:47:09 +02:00
Bram Kragten 7f1fb6f75f Set edit mode to false on card when disabling edit mode. (#5845) 2020-05-13 12:05:29 +02:00
Bram Kragten 2c2a1d204b Graph history fix (#5846) 2020-05-13 12:05:03 +02:00
Paulus Schoutsen 581fafdcc9 Workbox 5 in gulp (#5843) 2020-05-13 11:12:01 +02:00
HomeAssistant Azure 10358abbec [ci skip] Translation update 2020-05-13 00:32:49 +00:00
Bram Kragten de1ffe67b1 Merge pull request #5840 from home-assistant/dev 2020-05-12 22:24:40 +02:00
Zack Arnett eb2b24d57c Weather Card: Fix overwritten changes (#5841) 2020-05-12 22:24:20 +02:00
Bram Kragten 825db8a56a Bumped version to 20200512.0 2020-05-12 21:59:06 +02:00
David F. Mulcahey 577a21fc5c Rework ZHA group adds and removes (#5602) 2020-05-12 21:42:29 +02:00
Bram Kragten 1b2841eef9 Recreate cards only on config change (#5839) 2020-05-12 11:09:30 -07:00
Ian Richardson 845511e322 Add 'brightness' as a secondary_info option (#5731) 2020-05-12 12:29:43 -04:00
Bram Kragten 96ab057853 Ignore ResizeObserver loop limit exceeded error (#5838) 2020-05-12 12:17:41 +02:00
HomeAssistant Azure f85cf0a238 [ci skip] Translation update 2020-05-12 00:33:00 +00:00
Bram Kragten 84a2676a9c compress icons (#5836) 2020-05-11 23:59:29 +02:00
Zack Arnett 466a1af902 Weather Card/Row: Weather Icons as SVG, Themeable, user definable (#5736)
* SVG

* no-unneeded-ternary

* declared ubnused

* moving stuff around

* Few updates

* All svgs in | update row

* No slots

* Remove public/static/images/weather

* style for user defined

* few updates to missing fils

* classes

* wind color
2020-05-11 23:58:17 +02:00
Zack Arnett ebbe7e805f Gauge Card: Convert to Round Slider (#5510)
* Use round slider for gauge

* Update guage to slider

* Add severity back

* Remove Base Unit

* fix merge

* resize observer

* Update src/panels/lovelace/cards/hui-gauge-card.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Update Install Resize Observer to be a helper

* Type import

* Reviews

* Updates to other cards

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-05-11 17:14:02 -04:00
Zack Arnett c861ee025e Weather Card: Ability to choose Secondary Attribute (#5820) 2020-05-11 22:11:48 +02:00
Paulus Schoutsen 6d0823328d Fix generated Lovelace translating domain names (#5803) 2020-05-11 10:28:05 -07:00
Joakim Sørensen 60be14dc77 Use manifest.issue_tracker for issues URL if not built_in (#5818) 2020-05-11 13:45:00 +02:00
Mat Strange 2d627819d9 Added translation to dev-tools-info-integrations (#5834) 2020-05-11 13:44:32 +02:00
Zack Arnett cf575f83f5 Weather Card: Switch State and Name (#5795) 2020-05-11 13:44:15 +02:00
HomeAssistant Azure 79935b2d4c [ci skip] Translation update 2020-05-11 00:32:59 +00:00
HomeAssistant Azure d1cceb2013 [ci skip] Translation update 2020-05-10 00:33:23 +00:00
Bram Kragten f5da130d51 Merge pull request #5823 from matstrange/dev 2020-05-09 22:18:37 +02:00
Mat Strange 8768304ec5 Returned to no label on disarm/trigger as before 2020-05-09 20:30:44 +01:00
Bram Kragten f10a5dcdbe Unused import 2020-05-09 21:22:46 +02:00
Bram Kragten a27428ebcd Simplify enter handling 2020-05-09 21:17:55 +02:00
Bram Kragten d19acf17c2 Merge pull request #5826 from home-assistant/dev 2020-05-09 21:17:30 +02:00
Bram Kragten 1a0bf861ee Bumped version to 20200509.0 2020-05-09 21:01:00 +02:00
Bram Kragten db906ad4d0 Bump material (#5812) 2020-05-09 20:59:53 +02:00
Bram Kragten 75ed0f2f99 Fix translation download and add empty languages (#5824) 2020-05-09 20:59:34 +02:00
Bram Kragten 29ed1144d5 Simplify custom icon set, return only 1 icon per call (#5822) 2020-05-09 20:59:02 +02:00
Mat Strange fa445d4066 Added translation to bade on alarm panel 2020-05-09 12:00:26 +01:00
Erik Montnemery d10be4ef2d Show cover position slider if cover supports it (#5815) 2020-05-08 22:59:20 +02:00
Joakim Sørensen 7f66d5b8e9 Change target to currentTarget for the click event (#5816) 2020-05-08 16:31:07 -04:00
Bram Kragten 0c8cd680c2 Allow custom icon sets (#5794) 2020-05-08 21:56:25 +02:00
Maciej Bieniek a7ba1977b4 Add translation for and word on the integration card (#5811)
* Add translation for and word on tje integration card

* Move and to ui.common
2020-05-08 17:43:21 +02:00
Bram Kragten a960b39235 Bump lit-element and lit-html (#5810) 2020-05-08 14:00:09 +02:00
Bram Kragten 3febf059ec Codesplit Supervisor panel icons (#5809) 2020-05-08 13:10:24 +02:00
Paulus Schoutsen 20203f7bdb Bump home-assistant-js-websocket to 5.1.2 2020-05-07 18:35:14 -07:00
Franck Nijhof a399d76d06 Add new core configuration UI for external_url & internal_url (#5755) 2020-05-07 18:32:03 -07:00
Franck Nijhof 1ca097c5a0 Add issue_tracker integration manifest property (#5744) 2020-05-07 20:51:46 -04:00
optama e83ede245d #5761 fix weather forecast card showing hours instead of weekdays (#5799) 2020-05-07 23:19:50 +02:00
Paulus Schoutsen 05ac275780 Fix Leaflet import (#5802) 2020-05-07 13:04:29 -07:00
Paulus Schoutsen 966c0bc06c Remove HTML loader (#5800) 2020-05-07 12:39:19 -07:00
Paulus Schoutsen abf136dd63 Upgrade web animations (#5801) 2020-05-07 12:31:25 -07:00
Paulus Schoutsen b6309cfd16 Extract the version extract from webpack config (#5798) 2020-05-07 10:26:02 -07:00
Paulus Schoutsen b69d5e0fa3 Revert "Use gulp-terser instead of webpack-terser (#5788)" (#5796) 2020-05-07 18:28:51 +02:00
Paulus Schoutsen 5084cde6b9 Split babel config from babel loader config (#5797) 2020-05-07 09:25:02 -07:00
Bram Kragten ca1cc7ed0d Some little hassio tweaks (#5793) 2020-05-07 16:07:58 +02:00
Joakim Sørensen 808a31db2b Hide auto-update for non advanced users (#5745) 2020-05-07 15:21:52 +02:00
Joakim Sørensen 44ad75aead Implement add-on changelog (#5727) 2020-05-07 15:21:12 +02:00
Joakim Sørensen 0961c9d05e Cleanup and new repository management for add-on store (#5750) 2020-05-07 15:20:51 +02:00
Joakim Sørensen 56754b4d43 New dialogs for the profile (#5780) 2020-05-07 14:42:34 +02:00
Joakim Sørensen 661779ad4e Add localize string for Device info (#5781) 2020-05-07 14:36:45 +02:00
Paulus Schoutsen cf37ebb652 Use gulp-terser instead of webpack-terser (#5788) 2020-05-07 14:36:17 +02:00
Paulus Schoutsen 82741e490b Optimize icon fetching (#5791) 2020-05-07 13:07:50 +02:00
Paulus Schoutsen 5fed28808e Rename env var TRAVIS to IS_TEST (#5789) 2020-05-07 12:39:18 +02:00
Paulus Schoutsen 321c0cfc84 Minor cleanup (#5787) 2020-05-07 12:38:26 +02:00
Paulus Schoutsen eba7cedaa6 Reset path on icon change (#5790) 2020-05-07 12:37:14 +02:00
Zack Arnett 71492d0467 Calendar Panel: FullCalendar (#5742)
* WIP

* remove big calendar

* remove file

* Convert to lit

* More

* Ready for the public to see? prob not

* Fix types and imports

* Remove dependencies

* ignore the typing that hasnt been finished in Beta

* Convert paper to MWC

* Styling

* View list as name of view | MWC components version

* Updates action directive for ripple. MWC 14.1.0

* Update

* Updates

* Update height styling

* Toggle Button Group

* Adds Toggle group transition

* style updates

* Few fixes

* Fix Yarn lock from merge | height of celndar as parent

* Update package Json and yarn | remove unneeded pkg

* Remove mwc-list

* Search hass.states for calendars instead of api

* Move function to file in data | event fetch logic

* compute state name

* add ha button menu | refresh

* Remove Event ffetch logic

* copy pasta

* Types

* Fix for toggling

* Translations

* Update ha-button-toggle-group

* Update ha-button-toggle-group.ts

* Update ha-button-toggle-group.ts

* Change mobile view

* Locale in fullcalendar

* Comments

* ha-button-menu trigger slot

* Comments

* icon-x

* Update src/panels/calendar/ha-panel-calendar.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/calendar/ha-panel-calendar.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-05-06 17:22:12 -04:00
Bram Kragten 9630a58ea7 Some fixes for icons (#5758) 2020-05-06 14:18:10 -07:00
Joakim Sørensen 89f6f16ba2 Fix removal of option in select helper (#5777) 2020-05-06 19:28:59 +02:00
Bram Kragten 2d646da97f Fix cast navigation on none default dashboard (#5719) 2020-05-06 09:30:18 -07:00
Joakim Sørensen 39b5460598 Fix hassio dev/build (#5776) 2020-05-06 16:27:03 +02:00
Bram Kragten 636429ccfa Bump fecha (#5728) 2020-05-06 12:58:53 +02:00
Erik Montnemery e5abb95f5c Include QoS and retain in MQTT debug info (#5759) 2020-05-06 12:58:19 +02:00
Jason Knott c631554eb0 Added options to Lovelace evaluate filter (#5694) 2020-05-06 12:57:11 +02:00
Paulus Schoutsen db07eeb916 Add step_id to flow in progress type (#5769) 2020-05-06 12:54:32 +02:00
Mat Strange 3216a46e76 Fix Lovelace view config icon preview (#5770) 2020-05-06 12:30:41 +02:00
Bram Kragten ae6243b7bf Merge pull request #5757 from home-assistant/dev 2020-05-05 17:38:14 +02:00
Bram Kragten df002d7a67 Merge branch 'master' into dev 2020-05-05 16:50:07 +02:00
Bram Kragten e8a0632108 Bumped version to 20200505.0 2020-05-05 16:45:21 +02:00
Bram Kragten 0a92c28bac Split up mdi icons (#4379) 2020-05-05 16:40:11 +02:00
Bas Nijholt d419547463 make color of update-heading in primary-text-color (#5754) 2020-05-05 16:33:06 +02:00
Mat Strange da392912b3 Grayscale Integration logos when ignored (#5748) 2020-05-05 00:19:33 +02:00
Paulus Schoutsen 9ebee02727 Update device registry type (#5735) 2020-05-04 14:36:28 +02:00
Joakim Sørensen 0bdcfcc42f Supervisor dialogs (#5740) 2020-05-04 14:35:15 +02:00
Bram Kragten 43623a30bc Add English GB, Frysk and Galego (#5730) 2020-05-02 21:56:13 +02:00
Bram Kragten 99e73054a9 Await ignoring before refreshing config flows in progress (#5722) 2020-05-02 20:34:54 +02:00
Joakim Sørensen 108233f3b8 Adds mainPage to hass-tabs-subpage (#5724) 2020-05-02 20:19:17 +02:00
Bram Kragten 8f2a7c95b3 Fix more info header color and page background color (#5716) 2020-05-02 19:51:10 +02:00
Bram Kragten 7fdd525dac Don't show error on open of dialog (#5721)
Fixes #4713
2020-05-02 19:35:11 +02:00
Joakim Sørensen 7ed24137eb Adds padding to ha-label-badge (#5725) 2020-05-02 19:20:47 +02:00
Joakim Sørensen 07cd30eaca Place addon documentation in a card (#5726) 2020-05-02 19:20:20 +02:00
Joakim Sørensen df8cf66e02 Adds dialog to ask user to restart add-on on configuration changes (#5707)
* Adds dialog to ask user to restart addon on configuration changes

* Apply review suggestions

* Show error in dialog

* Remove unused import

* Update hassio/src/dialogs/suggestRestart.ts

* Rename

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-05-02 19:19:45 +02:00
Bram Kragten f067bcd877 Bumped version to 20200427.2 2020-05-02 17:28:45 +02:00
Bram Kragten e11ef55dd8 Update nb.json 2020-05-02 17:25:52 +02:00
Bram Kragten fa8bd30e83 Don't disable controls when state is unknown (#5687) 2020-05-02 17:23:54 +02:00
Bram Kragten 04a2ff7506 Don't disable thermostat when state is unknown (#5720) 2020-05-02 17:23:20 +02:00
Bram Kragten bc68e20041 Don't disable thermostat when state is unknown (#5720) 2020-05-02 17:23:00 +02:00
Franck Nijhof 786da25b9f Fix typo and remove Hass.io references (#5717) 2020-05-02 17:02:10 +02:00
Franck Nijhof c3832d56c3 Don't break Markdown from external sources (#5713) 2020-05-02 15:19:26 +02:00
Joakim Sørensen 79d1a2f458 Add reload buttons to store and snapshot (#5714) 2020-05-02 15:18:57 +02:00
Joakim Sørensen f16a674a39 Supervisor style changes (#5706) 2020-05-02 14:42:12 +02:00
matstrange 6e38a80efc Optimized some common images with zopflipng (#5697) 2020-05-02 13:57:39 +02:00
Zack Arnett 6a3a1297ad Update Weather images array to hold variants (#5692) 2020-05-01 22:50:49 +02:00
Joakim Sørensen 5ca63a8052 Convert the rest of the panel (#5689) 2020-05-01 16:52:03 +02:00
On Freund 8b04df093c Handle unchanged suggested values (#5688) 2020-05-01 14:10:12 +02:00
Joakim Sørensen d2a5494335 Adds stage badge (#5685) 2020-05-01 13:24:10 +02:00
Joakim Sørensen de545e90e2 Adds documentation tab (#5684) 2020-05-01 13:19:24 +02:00
Bram Kragten 57ab7e829b Don't disable controls when state is unknown (#5687) 2020-05-01 13:18:58 +02:00
Joakim Sørensen 6847830575 Use hass-tabs-subpage in add-on view (#5483) 2020-05-01 11:34:52 +02:00
Franck Nijhof 2084ecc4c6 Add NOT condition helper (#5616) 2020-05-01 11:06:35 +02:00
Aidan Timson b0c27e587e Align discovered integrations to avavliable space (#5672) 2020-05-01 11:04:18 +02:00
On Freund 1687d90d02 Allow passing the current value to config flow input fields (#5603)
* Allow passing the current value to config flow input fields

* Fix lint errors

* Apply suggestions from code review

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Rename current_value to suggested_value to open up more use cases

* Update ha-form-integer.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-05-01 10:36:51 +02:00
Paulus Schoutsen dfd9bf3c64 Create advanced flow if user in advanced mode (#5612) 2020-05-01 10:23:02 +02:00
Bram Kragten 5a25b9c2f1 Update BUG_REPORT.md 2020-04-30 23:22:09 +02:00
Bram Kragten bf68101754 Add request for state to issue template 2020-04-30 23:21:43 +02:00
Bram Kragten 487bd8d3fc remove console 2020-04-30 21:41:48 +02:00
Bram Kragten 3ba9c931b9 Optimize scenes config (#5652) 2020-04-30 20:40:43 +02:00
Bram Kragten 8484f7595a Optimize script editor (#5650) 2020-04-30 20:40:23 +02:00
Bram Kragten ee889d59d4 Don't add disabled entities to lovelace from device page (#5648) 2020-04-30 20:40:10 +02:00
Bram Kragten ae10330844 Hide scenes from device info page when no entities (#5647) 2020-04-30 20:39:58 +02:00
Bram Kragten f3e88f6f2e Exclude esprima and drop js-yaml from lovelace chunk (#5649) 2020-04-30 20:39:36 +02:00
Bram Kragten 2abfd0392d Group config entries by integration (#5646) 2020-04-30 20:38:02 +02:00
Bram Kragten 462c1f94d6 Update intl-messageformat (and remove @polymer/app-localize-behavior) (#5671) 2020-04-30 11:20:54 -07:00
Pedro Lamas f4710891d0 Improved spacing balance for weather forecast (#5673)
* Improved spacing balance for weather forecast

* Removes obsolete styling
2020-04-30 19:43:54 +02:00
Bram Kragten 1fdb6b8034 Prevent recreation of entities row on every update of hass (#5657) 2020-04-29 13:29:53 -07:00
Joakim Sørensen 8029c3d672 Adds more log types to the system tab (#5496)
* Add more log types to the system tab

* Fix lint issues

* Fix more lint issues

* Add loading screen while waiting for logs.

* Only show log selector if advenced user.

* Update hassio/src/system/hassio-supervisor-log.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Log adjustments

* Remove the need for exported ANSI_HTML_STYLE

* Add core as a log provider

* Removed unneeded hints

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-29 21:57:31 +02:00
Bram Kragten 61fdee14c6 Fix demo themes (#5643) 2020-04-28 23:13:37 +02:00
Zack Arnett 117e4e468f Weather Card: Switch Importance of Name and State (#5624)
* Improvements to the name and state importance

* Bram Suggestions
2020-04-28 23:12:15 +02:00
Sean Mooney 869ec113f4 Updated repo links on Dev Tools Info panel (#5644)
These were still using the old names of the repos.

home-assistant is now "core" and home-assistant-polymer is now "frontend".
2020-04-28 23:11:53 +02:00
Erik Montnemery 00e7b93011 Improve styling of MQTT debug info (#5626) 2020-04-28 23:11:34 +02:00
Bram Kragten 03e581870a Bumped version to 20200427.1 2020-04-28 23:11:01 +02:00
Erik Montnemery b04fe141ac Improve styling of MQTT debug info (#5626) 2020-04-28 23:09:20 +02:00
Sean Mooney b0168fbb85 Updated repo links on Dev Tools Info panel (#5644)
These were still using the old names of the repos.

home-assistant is now "core" and home-assistant-polymer is now "frontend".
2020-04-28 10:03:54 +02:00
Zack Arnett 75ba343b5e Weather Card: Switch Importance of Name and State (#5624)
* Improvements to the name and state importance

* Bram Suggestions
2020-04-27 14:43:23 -04:00
Aidan Timson 88217473f7 Add search to integrations 🔍 (#5593)
Co-Authored-By: Bram Kragten <mail@bramkragten.nl>
2020-04-27 20:42:37 +02:00
Bram Kragten 01e5dfc9b3 Fix demo themes (#5643) 2020-04-27 20:40:30 +02:00
Bram Kragten 58869677bd Merge pull request #5641 from home-assistant/dev 2020-04-27 12:31:02 +02:00
Bram Kragten 032b01aec1 Bumped version to 20200427.0 2020-04-27 11:47:33 +02:00
Bram Kragten a47c3fa854 Fix entity card state display (#5631) 2020-04-26 23:48:02 -07:00
Paulus Schoutsen 7c6ba1a782 Translation fixes (#5634) 2020-04-26 21:09:05 +02:00
HomeAssistant Azure 0d08f5413b [ci skip] Translation update 2020-04-26 00:32:54 +00:00
Bram Kragten 949cc17a9e Fix alarm panel translations (#5629) 2020-04-25 15:25:33 -07:00
HomeAssistant Azure 607c1a1ef0 [ci skip] Translation update 2020-04-25 00:32:51 +00:00
Zack Arnett db2dab8227 Slugify title for url (#5621) 2020-04-24 10:59:38 -04:00
Bram Kragten eb4ba4fc78 Merge pull request #5620 from home-assistant/dev 2020-04-24 16:14:09 +02:00
Bram Kragten bf888b1547 Bumped version to 20200424.0 2020-04-24 15:57:10 +02:00
Bram Kragten c468aab9b2 Fix some imports (#5619) 2020-04-24 15:49:25 +02:00
Bram Kragten a0dae802f2 Optimize automation editor (#5591) 2020-04-24 13:36:51 +02:00
Bram Kragten 14330fbd93 Fix include domains on entity picker (#5615) 2020-04-24 13:36:10 +02:00
Bram Kragten bf55be7f7f Fix lit/no-invalid-html (#5617) 2020-04-24 13:29:38 +02:00
Paulus Schoutsen e10987a705 Improve Lovelace take control warning. (#5608) 2020-04-24 10:37:41 +02:00
Bram Kragten 355f40d740 Don't update entity picker items while open (#5588)
* Don't update entity picker items while open

* Update items in updated, when we open the dropdown
2020-04-24 10:36:38 +02:00
Bram Kragten 2503fabe1d Add min width to toolbar icon to prevent tabs jumping (#5590) 2020-04-24 10:36:14 +02:00
Bram Kragten 32c7c0b4f0 Hide config entry title when same as integration name (#5589) 2020-04-24 10:35:56 +02:00
Bram Kragten 301a964a65 Allow to remove config entry name (#5607)
* Allow to remove config entry name

* Add enter handling to prompt
2020-04-24 10:35:43 +02:00
Aidan Timson 49f2fd2af7 Fix integrations fab spacing (#5594)
* Fix integrations fab spacing

* Use is-wide
2020-04-24 10:35:21 +02:00
HomeAssistant Azure 4f518cac2c [ci skip] Translation update 2020-04-24 00:32:51 +00:00
Paulus Schoutsen 8420f73919 Fix translations for Z-Wave & Zigbee (#5606) 2020-04-23 15:51:56 -07:00
Bram Kragten 1ef2d3c7f2 Add max width to integration cards (#5600) 2020-04-23 09:53:27 -04:00
Paulus Schoutsen fc20fd32f1 Fix a bunch of translation strings (#5597)
* Fix a bunch of translation strings

* Fallback on default if no device class translations
2020-04-23 13:07:40 +02:00
HomeAssistant Azure 13a8bf6993 [ci skip] Translation update 2020-04-23 00:32:48 +00:00
Bram Kragten b2f424a6f8 Merge pull request #5586 from home-assistant/dev
20200422.0
2020-04-22 12:40:07 +02:00
Bram Kragten a9d927551c Bumped version to 20200422.0 2020-04-22 12:16:03 +02:00
Zack Arnett fdf7b516a0 Weather Card: Beautify (#5387)
* Weather card

* Updates

* Remove Precipitation from forecast

* Weather Card :)

* Fix no breaking changes

* Size styles

* Space

* Fix some overlap

* Unavailable

* New unavailable

* Changed to check if less than day

* Updates

* oops

* Little clean up

* styling

* Reviews

* Fix merge

* Lint

* eslint

* New images

* Update src/panels/lovelace/editor/config-elements/hui-weather-forecast-card-editor.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Reviews

* Reviews

* Comments

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-22 12:13:32 +02:00
Erik Montnemery 9a00078169 Display MQTT debug info (#5375)
* Add MQTT debug info

* Refactor

* Fix mistake

* Rewrite, improve display.

* Tweak translations

* Add mqtt-payload.ts

* Apply suggestions from code review

Co-Authored-By: Zack Arnett <arnett.zackary@gmail.com>

* Tweak after adding review comments.

* Rewrite to only render the messages when details is opened

* Adapt to core PR #33752

* Address review comments

* Lint

* Lint

* Address review comments

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-04-22 12:01:43 +02:00
Bram Kragten 1dfb632fc4 New layout for integration config (#5580)
* WIP

* Add filter message to device and entities page

* Lokalize

* Missed 2

* Fixed in #5581

* Change to hash
2020-04-22 11:51:50 +02:00
Zack Arnett 1c1f9a6a89 Graph Footer: Cache State History (#5499)
* Cache State History for entity

* State history reset on config change

* Fetching

* reviews

* Merge fixes

* Remove file again ?
2020-04-22 11:33:49 +02:00
Bram Kragten 2b76b3887e Add device automation translations to add automation device dia… (#5573)
* Add device automation translations to add automation device dialog

* Update translations-mixin.ts
2020-04-22 11:12:27 +02:00
Paulus Schoutsen a49c84032b Mark titles in config flows optional (#5584) 2020-04-22 10:51:53 +02:00
cdce8p c72bb5b22b Add secondary option for cover entities (#5556)
* Add secondary option for cover entities

* Replace string concatenation

* Check for undefined
2020-04-22 10:50:52 +02:00
Paulus Schoutsen 24a844dddc update translations 2020-04-21 23:51:57 -07:00
HomeAssistant Azure ae903973a7 [ci skip] Translation update 2020-04-22 00:32:35 +00:00
Paulus Schoutsen 82442bb5ec Fix cast translations (#5582) 2020-04-21 15:02:00 -07:00
nagyrobi 8786302190 Add up/down movement icons to shutter (#5579)
Since window shutters are also moving up and down, add these icons for during movement.
2020-04-21 17:23:37 +02:00
Paulus Schoutsen d27a17cf8e Get state translations from backend (#5581)
* Get state translations from backend

* Fix tests
2020-04-21 17:15:13 +02:00
HomeAssistant Azure b4b90ca59d [ci skip] Translation update 2020-04-21 00:33:02 +00:00
HomeAssistant Azure ecd967a68d [ci skip] Translation update 2020-04-20 00:32:47 +00:00
Paulus Schoutsen 8812340768 Remove iba language 2020-04-18 23:03:13 -07:00
Paulus Schoutsen 659da7bf80 Update translations 2020-04-18 23:01:40 -07:00
HomeAssistant Azure 91eabf3c38 [ci skip] Translation update 2020-04-19 00:32:41 +00:00
Paulus Schoutsen e355c81e41 Bumped version to 20200418.0 2020-04-18 17:15:29 -07:00
Paulus Schoutsen d45a674652 Ask specific translations (#5560) 2020-04-18 17:14:25 -07:00
HomeAssistant Azure f91b46e88c [ci skip] Translation update 2020-04-18 00:32:56 +00:00
Aidan Timson f57754212c Add Search to Card Picker (#5497)
* Add Search to Card Picker

* Force focus

* Remove autofocus

* Fix from rebase

* Commit suggestion

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Flip autofocus

* Cache cards

* Make cards a property

* Add missing custom cards

* Set cards to render elements

* Commit suggestion

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/editor/card-editor/hui-card-picker.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Make card preview max width match columns

* Typo

* Add autofocus where wanted

* Update src/common/search/search-input.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/dialogs/config-flow/step-flow-pick-handler.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-17 23:29:49 +02:00
Paulus Schoutsen 97c454aa0d Update domain translation string (#5558) 2020-04-17 09:01:45 -07:00
dependabot[bot] b516f10a35 Bump https-proxy-agent from 2.2.1 to 2.2.4 (#5559)
Bumps [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) from 2.2.1 to 2.2.4.
- [Release notes](https://github.com/TooTallNate/node-https-proxy-agent/releases)
- [Commits](https://github.com/TooTallNate/node-https-proxy-agent/compare/2.2.1...2.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-04-17 11:45:30 +02:00
HomeAssistant Azure 0ccc788148 [ci skip] Translation update 2020-04-17 00:32:42 +00:00
Bram Kragten 5c941e0afb Remove initial value explanation 2020-04-16 12:55:21 +02:00
HomeAssistant Azure 492e4d2df4 [ci skip] Translation update 2020-04-16 00:32:44 +00:00
Paulus Schoutsen 66f33ad497 Use manfiests to render doc urls (#5549)
* Use manfiests to render doc urls

* Update UI
2020-04-15 13:36:25 -07:00
Aidan Timson ff81536463 Add loading for initial state on graph (#5448)
* Fix type

* Add loading spinner for initial state

* Move to better position

* Make var not a property

* Make spinner same height as graph

* Fix size

* Make spinner centered

* Adjust spinner position

* Remove boolean and make no state history match height

* Merge

* eslint

* Fix value

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Commit suggestion

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Suggested change

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-15 20:54:01 +02:00
Paulus Schoutsen ba0cba1a2b Update where we load integration titles from (#5546) 2020-04-15 20:47:29 +02:00
Joakim Sørensen fc7771ec13 Remove npm (#5548) 2020-04-15 20:25:07 +02:00
Joakim Sørensen 4c3069e5b7 Add missing imports (#5547) 2020-04-15 20:15:34 +02:00
Paulus Schoutsen ed54a185e4 Remove srcset from brands (#5517) 2020-04-15 16:00:16 +02:00
Paulus Schoutsen 4f81085d0f Add entity row that displays static text (#5516)
* Add entity row that displays text

* Remove hass type
2020-04-15 15:59:33 +02:00
David F. Mulcahey 8383caf6a6 Add ability to see Zigbee information for a device (#5445)
* add ability to see zigbee information for a device

* cleanup

* handle resize correctly

* cleanup

* convert to ha-dialog

* Simplify

* Add close button

* Add readonly to code editor

* add class

* eslint fixes

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-15 15:36:48 +02:00
HomeAssistant Azure 1b9f224569 [ci skip] Translation update 2020-04-15 00:32:58 +00:00
Bram Kragten 05495af74f Merge pull request #5539 from home-assistant/dev
20200414.0
2020-04-15 00:10:54 +02:00
Bram Kragten d62da5e924 Merge branch 'master' into dev 2020-04-15 00:00:16 +02:00
Bram Kragten 57d72bd80f Bumped version to 20200414.0 2020-04-14 23:53:01 +02:00
Bram Kragten 681c05c323 Add Lit analyzer (#5538)
* Add lit analyzer

* Update rules
2020-04-14 11:43:56 -07:00
Bram Kragten 3d20d8b208 remove @types/chromecast-caf-sender (#5537)
To prevent a collusion with `@types/chromecast-caf-receiver` that would make `lit-analyzer` fail.
2020-04-14 20:25:03 +02:00
Bram Kragten 4f9d77b906 Remove tslint -> move ts to eslint 2020-04-14 18:09:31 +02:00
Bram Kragten 82f80db558 Update typescript, prettier, tslint -> eslint (#5536)
* Update typescript, prettier, tslint -> eslint

* Organize imports

* Use glob for eslint fix react import
2020-04-14 09:05:45 -07:00
HomeAssistant Azure b17490f0de [ci skip] Translation update 2020-04-14 00:32:37 +00:00
HomeAssistant Azure d33c0b4bd1 [ci skip] Translation update 2020-04-13 00:32:47 +00:00
HomeAssistant Azure 7f528c90c3 [ci skip] Translation update 2020-04-12 00:32:55 +00:00
Paulus Schoutsen c4c4782429 Fix hui-entities-card margin (#5518) 2020-04-11 11:07:27 +02:00
HomeAssistant Azure 5414092309 [ci skip] Translation update 2020-04-11 00:32:38 +00:00
Paulus Schoutsen b632ea6f86 Add icons to info panel (#5501)
* Add icons to info panel

* Update src/panels/developer-tools/info/integrations-card.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-10 13:13:58 +02:00
David F. Mulcahey bd98ce8c25 Make add devices button available on ZHA coordinator (#5431)
* Make add devices available on ZHA coordinator

* Update src/panels/config/zha/zha-device-card.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-device-card.ts

Co-Authored-By: Zack Arnett <arnett.zackary@gmail.com>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-04-10 11:57:23 +02:00
Paulus Schoutsen 0c1714ef78 Reload frontend if backend changes (#5489)
* Reload frontend if backend changes

* Better implementation

* Store ha version
2020-04-10 11:55:53 +02:00
Bram Kragten ee278f111f Convert script config panel to router (#5512)
* Convert script config panel to router

* Update script.ts

* Update ha-config-script.ts
2020-04-10 11:50:06 +02:00
HomeAssistant Azure 47e9eb5a0d [ci skip] Translation update 2020-04-10 00:32:45 +00:00
Bram Kragten baf5dcbd03 Migrate automations config panel to router (#5509)
* MIgrate automations config panel to router

* Correct link to create new
2020-04-09 10:34:45 -07:00
Bram Kragten 2e2915ec09 Fix first logbook item not being shown (#5491) 2020-04-09 16:06:27 +02:00
Bram Kragten 5f3a6740c1 Fix cast panel view (#5488) 2020-04-09 16:06:06 +02:00
Bram Kragten b17074d68b Fix sidebar derived style (#5493) 2020-04-09 16:05:39 +02:00
Joakim Sørensen ac4b2ea70f Import ha-fab (#5494) 2020-04-09 16:05:18 +02:00
Bram Kragten 4e2a9e3d7b fix imports (#5506) 2020-04-09 16:04:23 +02:00
Bram Kragten 75525b9866 Remove sort now that data-table does it (#5508) 2020-04-09 16:04:01 +02:00
Bram Kragten 1e39f22009 Fix map init on connected (#5505) 2020-04-09 16:03:38 +02:00
Bram Kragten 7ba55ab666 Bumped version to 20200407.2 2020-04-09 16:02:53 +02:00
Bram Kragten 0c06517dcc Remove sort now that data-table does it (#5508) 2020-04-09 15:45:18 +02:00
Bram Kragten cd1bfe1b20 Fix map init on connected (#5505) 2020-04-09 15:44:39 +02:00
Bram Kragten 35c2d8966b fix imports (#5506) 2020-04-09 15:44:20 +02:00
Paulus Schoutsen cb255ef137 Add icons when adding integration (#5500)
* Add icons when adding integration

* Remove margin from search input and put in parent
2020-04-09 14:44:08 +02:00
HomeAssistant Azure f9d78a95ad [ci skip] Translation update 2020-04-09 00:32:34 +00:00
Joakim Sørensen 14eb496b1d Import ha-fab (#5494) 2020-04-08 21:24:43 +02:00
Bram Kragten b390e7bed1 Fix sidebar derived style (#5493) 2020-04-08 20:22:01 +02:00
Bram Kragten 903f92f94a Update developer-tools-state.js 2020-04-08 15:23:22 +02:00
Bram Kragten ebb20abee0 Make unavailable elements disabled (#5386)
* Make unavailable elements disabled

* Unused

* Add checks for unknown

* Update hui-weather-entity-row.ts
2020-04-08 13:58:36 +02:00
Joakim Sørensen 2253275640 Filter add-ons in the store based on advanced mode (#5486) 2020-04-08 13:49:37 +02:00
Bram Kragten 7ddfe3c80b Fix cast panel view (#5488) 2020-04-08 12:36:52 +02:00
Bram Kragten 4388d82076 Fix gallery translation and add more demos (#5473)
* Fix gallery translation and add more demos

* Update provide_hass.ts

* Update demo-hui-alarm-panel-card.ts
2020-04-08 12:36:29 +02:00
Bram Kragten 4f70ec7dc2 Set correct lang attribute (#5479)
* Set correct lang attribute

* Update lit-localize-lite-mixin.ts

* Update translations-mixin.ts

* Remove lang=""

* Move logic out of mixin
2020-04-08 12:36:06 +02:00
Bram Kragten a71f42366a Fix first logbook item not being shown (#5491) 2020-04-08 12:23:44 +02:00
HomeAssistant Azure e9bb9fdafe [ci skip] Translation update 2020-04-08 00:32:43 +00:00
Bram Kragten dd49ea6f20 Merge pull request #5487 from home-assistant/dev
20200407.1
2020-04-07 21:18:38 +02:00
Bram Kragten 92de202e0b Bumped version to 20200407.1 2020-04-07 20:35:18 +02:00
Bram Kragten 1d02b69f52 Fix execute button on automation list (#5484) 2020-04-07 17:33:44 +02:00
Bram Kragten 1dcd913c04 Merge pull request #5481 from home-assistant/dev
20200407.0
2020-04-07 15:58:47 +02:00
Bram Kragten 471a5f8407 Bumped version to 20200407.0 2020-04-07 15:42:02 +02:00
Bram Kragten 7b97ac2f6f Add padding to no logbook message (#5477) 2020-04-07 15:18:40 +02:00
Bram Kragten e673d90b3f Allow header of mfa dialog to wrap (#5478) 2020-04-07 15:18:23 +02:00
Zack Arnett 764234f744 Icon pickers (#5453) 2020-04-07 09:03:36 -04:00
Zack Arnett 6ca944b7ef Shopping Cart: CSS HTML updates (#5463)
* Fix css

* click
2020-04-07 09:03:19 -04:00
Bram Kragten c574556deb Missing imports (#5476) 2020-04-07 13:52:45 +02:00
Bram Kragten c04e1adea2 Add import for ha-state-icon (#5474)
* Add import for ha-state-icon

* Update ha-config-device-page.ts
2020-04-07 12:18:00 +02:00
HomeAssistant Azure 5eb11349fc [ci skip] Translation update 2020-04-07 00:32:43 +00:00
Paulus Schoutsen b3beb7ef85 Fix dynamic import in gallery (#5472) 2020-04-06 22:29:52 +02:00
Bram Kragten ec95000fbc Merge pull request #5471 from home-assistant/dev
20200406.0
2020-04-06 19:51:20 +02:00
Bram Kragten 53f0c01073 Bumped version to 20200406.0 2020-04-06 17:00:16 +02:00
Bram Kragten 42d5349db7 Fix user config UI for mobile (#5469) 2020-04-06 16:42:06 +02:00
Zack Arnett f36a1bbf4a desc (#5443) 2020-04-06 10:33:57 -04:00
Xiaonan Shen e9945abf2f Add modal to hui-dialog-delete-card (#5465) 2020-04-06 16:24:30 +02:00
Bram Kragten 71ba192c38 Add error logs to safe mode card (#5452)
* Add error logs to safe mode card

* Remove actions
2020-04-06 16:08:35 +02:00
HomeAssistant Azure e8a7671c25 [ci skip] Translation update 2020-04-06 00:43:01 +00:00
HomeAssistant Azure 17138f78b8 [ci skip] Translation update 2020-04-05 00:33:00 +00:00
Paulus Schoutsen 46c6f86d6a Always load error log in safe mode (#5442) 2020-04-04 17:46:52 +02:00
Zack Arnett ae1c519d3a Entity Row: Input Number Slider (#5440) 2020-04-04 17:42:06 +02:00
David F. Mulcahey fd9299cb3d Fix another ZHA import (#5446) 2020-04-04 17:39:40 +02:00
Pascal Vizeli a9be870fd3 Update azure-pipelines-release.yml for Azure Pipelines 2020-04-04 13:03:31 +02:00
Pascal Vizeli 34f61fd6dc Update azure-pipelines-release.yml for Azure Pipelines 2020-04-04 13:03:14 +02:00
HomeAssistant Azure e568e2ae21 [ci skip] Translation update 2020-04-04 00:32:42 +00:00
Pascal Vizeli 0656343a91 Update azure-pipelines-netlify.yml for Azure Pipelines 2020-04-03 18:52:44 +02:00
Paulus Schoutsen fa2773af9b Nightly build gallery. 2020-04-03 09:48:33 -07:00
Bram Kragten a438439ce0 Merge pull request #5436 from home-assistant/dev
20200403.0
2020-04-03 18:04:07 +02:00
Bram Kragten da73c9d83d Bumped version to 20200403.0 2020-04-03 17:47:16 +02:00
Bram Kragten a8f9f7ac7a Datatable fab padding (#5432)
* Add padding for fab

* Add hasFab property

* Simplify

* Remove query

* Change to empty row
2020-04-03 17:46:19 +02:00
Zack Arnett 006d989943 Edit Options: Overflow Menu Fix (#5433)
* Adds no wrap and removes top and bottom padding

* Small updates for clean up
2020-04-03 17:22:40 +02:00
Bram Kragten 82d6909957 Add rebuild to conditional and always show in edit mode (#5429) 2020-04-03 15:26:18 +02:00
Thomas Lovén 12a7fc9337 Fix outline on mouseover in firefox (#5430) 2020-04-03 15:25:53 +02:00
Bram Kragten 0241334656 Fixes for horizontal stack optimization (#5427) 2020-04-03 13:42:37 +02:00
Bram Kragten b217291b04 Don't cache all config pages (#5428) 2020-04-03 13:42:23 +02:00
HomeAssistant Azure aa211df0ad [ci skip] Translation update 2020-04-03 00:32:55 +00:00
Zack Arnett 8eebf51447 Card Picker: Fix Clicking cards (#5425)
* fix

* reviews
2020-04-02 17:52:43 -04:00
Zack Arnett f5d834d130 fix (#5424) 2020-04-02 17:51:38 -04:00
Zack Arnett 0f2eae4091 Delete Card Action: Undo in Toast (#5405)
* Adding insert card and delete undo

* Fix Toast style

* Localize

* Optional

* Comments
2020-04-02 23:36:08 +02:00
David F. Mulcahey 81d2334f48 Fix element imports in ZHA config panel (#5419) 2020-04-02 20:37:33 +02:00
Bram Kragten 45384205eb Also fix for wide (#5417) 2020-04-02 17:47:20 +02:00
Bram Kragten 4150ac045d Gui editor fixes (#5416)
* Gui editor fixes

* Fix

* Add change mode button to conditional card editor
2020-04-02 17:47:01 +02:00
Bram Kragten 793a704871 Update hui-media-player-entity-row.ts 2020-04-02 17:46:07 +02:00
Bram Kragten 9e2606f1c8 Data table display fixes (#5415) 2020-04-02 16:39:59 +02:00
Bram Kragten 4c4549eb37 Merge pull request #5402 from zsarnett/shopping-card-fix
Shopping List Card: Padding Bottom
2020-04-02 11:37:07 +02:00
HomeAssistant Azure 96f7a4231b [ci skip] Translation update 2020-04-02 00:32:54 +00:00
Zack Arnett c4cf248a1e Has header padding 2020-04-01 20:24:52 -04:00
Zack Arnett 50717b4d19 PAdding 2020-04-01 19:21:53 -04:00
Bram Kragten da80a3896d Merge pull request #5399 from home-assistant/dev
20200401.0
2020-04-01 19:40:40 +02:00
Bram Kragten cc374e0478 Bumped version to 20200401.0 2020-04-01 19:24:44 +02:00
Ian Richardson 26d27f8be9 ♻️ change call-service row to button row (#4744)
* ♻️ change call-service row to button row

* address comments

* cleanup

* address comments

* remove unused function

* address comments

* super

* Add CallServiceConfig back in

* Update types.ts

* Update types.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-01 19:18:38 +02:00
Zack Arnett 4767fcbdfc Card Editor: Add Toggle to Dialog (#5245)
* Add Toggle to dialog

* Fix for Stack Cards

* reviews

* Reviews
2020-04-01 19:17:16 +02:00
Bram Kragten e1b48dd2a2 Always render conditional elements (#5398) 2020-04-01 19:15:48 +02:00
Zack Arnett 087492fc0b Sensor Card: Use Entity card with graph footer (#5322)
* Sensor card changes

* import move

* reviews

* Use spread Operator
2020-04-01 12:12:19 -04:00
Bram Kragten 525703d376 Add link to area on device page (#5396) 2020-04-01 17:39:07 +02:00
Bram Kragten 236bc6aefa Change user dialog (#5397)
* Change user dialog

* Update
2020-04-01 17:38:22 +02:00
Ian Richardson ec4c29c52c add attribute row (#4723)
*  add attribute row

* accidental import

* Capitalize

* cleanup after rebase

* Update create-row-element.ts

* address comments

* address comments

* Update en.json

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-01 11:35:47 -04:00
Bram Kragten d5ed1c4c41 Clean up theme settings (#5395) 2020-04-01 17:26:38 +02:00
Bram Kragten dfe808cfb4 Show volume slider on smaller screens (#5385)
* Show volume slider on smaller screens

* Update hui-media-player-entity-row.ts

* Beter deal with unavailable and off states
2020-04-01 17:24:22 +02:00
Zack Arnett da229d9b65 User in Markdown (#5393) 2020-04-01 11:17:52 -04:00
Zack Arnett e54d904e4c Weather Row: Generic (#5389)
* Bye lots of hours

* Merge image states into states we have

* add space
2020-04-01 16:58:05 +02:00
Bram Kragten 2e17c96866 Add icons to integration page (#5388) 2020-04-01 11:22:40 +02:00
Ian Richardson ddeb16463d allow a notification to have no title (#5392) 2020-04-01 11:07:15 +02:00
Ian Richardson 465efa460e handle brightness reporting while light off (#5391) 2020-04-01 11:06:58 +02:00
HomeAssistant Azure c351402556 [ci skip] Translation update 2020-04-01 00:32:55 +00:00
Hoytron 5f765e8b96 Add feature map history (#5331)
* add feature: show a geocode history on hui-map-card

* refactor feature to use hass cache via rest api and omit osm request

* prepare for PR

* squash duplicates of allEntities to omit duplicated layers on the map

* refactor to use device_tracker entity

* add asdf's .tool-versions file to gitignore

* add lokalize and cleanup

* ajust  logic to match backend api

* add changes to fit new backend behaviour

* fix error in history ts

* cleanup history for map card
2020-03-31 14:25:44 -07:00
Zack Arnett 6f556f69d6 Weather Entity Row: Row Addition (#4959)
* Create file

* Weather Row

* Comments

* Find high and low for hourly

* Add images

* testing

* Weather images in row

* lint

* Updated design

* css changes - dont show high unless it is the high

* Clean

* Sean Suggestion

* Update hui-weather-entity-row.ts

* Reviews

* move tab index

* reviews

* Update src/panels/lovelace/entity-rows/hui-weather-entity-row.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* pretty

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-31 16:07:05 -04:00
Bram Kragten 2439827eff Revert "Use correct suffix for elevation" (#5382)
This reverts commit b15270dfe2.
2020-03-31 21:25:48 +02:00
Ian Richardson 5f467f82e0 media-row: fix when to show power toggle (#5379) 2020-03-31 19:49:59 +02:00
Ian Richardson 6692fa439a hold/double actions for light-card (#5361)
* hold/double actions for light-card

* lint
2020-03-31 17:52:20 +02:00
imgbot[bot] 0535247bb3 [ImgBot] Optimize images (#5378)
*Total -- 1,745.75kb -> 1,539.81kb (11.8%)

/demo/public/assets/teachingbirds/meteogram.png -- 66.71kb -> 24.48kb (63.31%)
/demo/public/assets/teachingbirds/background_square.png -- 0.76kb -> 0.37kb (51.98%)
/demo/public/assets/arsaboo/icons/security_armed_red.png -- 6.38kb -> 3.67kb (42.5%)
/demo/public/assets/jimpower/background-15.jpg -- 231.78kb -> 159.68kb (31.11%)
/public/static/images/image-broken.svg -- 0.56kb -> 0.42kb (23.99%)
/demo/public/assets/arsaboo/icons/security_disarmed.png -- 4.21kb -> 3.25kb (22.7%)
/demo/public/assets/arsaboo/icons/automation_enabled.png -- 3.96kb -> 3.08kb (22.32%)
/demo/public/assets/jimpower/cardbackK.png -- 10.56kb -> 8.21kb (22.22%)
/demo/public/assets/arsaboo/icons/abode_enabled.png -- 3.98kb -> 3.16kb (20.62%)
/demo/public/assets/arsaboo/icons/ecobee_blank.png -- 2.18kb -> 1.78kb (18.22%)
/demo/public/assets/arsaboo/floorplans/ecobee_blank.png -- 2.17kb -> 1.78kb (17.87%)
/demo/public/assets/arsaboo/icons/automation_disabled.png -- 6.89kb -> 5.73kb (16.82%)
/demo/public/assets/jimpower/home/james_10.jpg -- 73.21kb -> 61.89kb (15.46%)
/demo/public/assets/arsaboo/icons/camera_patio_streaming.png -- 11.63kb -> 9.88kb (14.98%)
/demo/public/assets/arsaboo/icons/Harmony.png -- 3.83kb -> 3.25kb (14.95%)
/demo/public/assets/arsaboo/icons/light_off.png -- 9.53kb -> 8.51kb (10.77%)
/demo/public/assets/arsaboo/icons/tv_enabled.png -- 5.48kb -> 4.90kb (10.69%)
/demo/public/assets/jimpower/home/bus_10.jpg -- 36.36kb -> 32.58kb (10.4%)
/demo/public/assets/kernehed/bella.jpg -- 33.09kb -> 30.29kb (8.44%)
/demo/public/assets/arsaboo/images/camera.backyard.jpg -- 81.15kb -> 74.80kb (7.82%)
/demo/public/assets/kernehed/oscar.jpg -- 25.32kb -> 23.34kb (7.81%)
/demo/public/assets/arsaboo/images/camera.patio.jpg -- 63.13kb -> 58.52kb (7.29%)
/demo/public/assets/arsaboo/images/camera.porch.jpg -- 76.49kb -> 70.95kb (7.25%)
/demo/public/assets/arsaboo/icons/light_on.png -- 12.03kb -> 11.19kb (6.97%)
/demo/public/assets/jimpower/home/tina_4.jpg -- 59.69kb -> 55.92kb (6.31%)
/gallery/public/images/album_cover.jpg -- 26.11kb -> 24.46kb (6.31%)
/demo/public/assets/teachingbirds/clothes_drying_square.jpg -- 31.93kb -> 29.98kb (6.11%)
/demo/public/assets/arsaboo/images/camera.driveway.jpg -- 59.47kb -> 55.84kb (6.1%)
/demo/public/assets/teachingbirds/laundry_running_square.jpg -- 58.68kb -> 55.61kb (5.22%)
/demo/public/assets/kernehed/camera.entre.jpg -- 65.84kb -> 62.49kb (5.09%)
/demo/public/assets/teachingbirds/Stefan_square.jpg -- 11.25kb -> 10.68kb (5.06%)
/demo/public/assets/teachingbirds/isa_square.jpg -- 18.90kb -> 17.98kb (4.88%)
/demo/public/assets/jimpower/security/motion_3.jpg -- 87.09kb -> 82.99kb (4.71%)
/demo/public/assets/teachingbirds/roomba_square.jpg -- 32.23kb -> 30.82kb (4.39%)
/demo/public/assets/teachingbirds/laundry_clean_2_square.jpg -- 31.87kb -> 30.48kb (4.34%)
/demo/public/assets/teachingbirds/folded_clothes_square.jpg -- 28.60kb -> 27.41kb (4.16%)
/demo/public/assets/arsaboo/icons/abode_disabled.png -- 8.74kb -> 8.38kb (4.06%)
/gallery/public/images/netflix.jpg -- 20.19kb -> 19.39kb (4%)
/demo/public/assets/teachingbirds/roomba_bw_square.jpg -- 15.97kb -> 15.34kb (3.97%)
/demo/public/assets/teachingbirds/trash_square.jpg -- 29.50kb -> 28.39kb (3.76%)
/demo/public/assets/teachingbirds/cleaning_square.jpg -- 38.57kb -> 37.19kb (3.59%)
/demo/public/assets/teachingbirds/dryer_square.jpg -- 18.78kb -> 18.16kb (3.32%)
/gallery/public/images/album_cover_2.jpg -- 129.79kb -> 125.62kb (3.21%)
/demo/public/assets/teachingbirds/House_square.jpg -- 40.59kb -> 39.31kb (3.15%)
/demo/public/assets/arsaboo/icons/tv_disabled.png -- 10.24kb -> 9.93kb (3.08%)
/demo/public/assets/teachingbirds/washer_square.jpg -- 20.52kb -> 20.00kb (2.52%)
/demo/public/assets/teachingbirds/mailbox_square.jpg -- 42.97kb -> 41.98kb (2.3%)
/demo/public/assets/teachingbirds/trash_bear_bw_square.jpg -- 17.60kb -> 17.35kb (1.46%)
/demo/public/assets/teachingbirds/guests_square.jpg -- 49.05kb -> 48.38kb (1.38%)
/demo/public/assets/teachingbirds/mailbox_bw_square.jpg -- 19.44kb -> 19.25kb (0.98%)
/demo/public/assets/arsaboo/icons/tv_on2.png -- 0.79kb -> 0.78kb (0.25%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-03-31 16:50:20 +02:00
Thomas Lovén a0a4fcaf5f Allow custom cards in card picker (#5122)
* Allow custom cards in card picker

* Lint. "Custom:" prefix to card names

* Address review comments

* Simplifications. Translation fixes.

* Less magic

* Move CUSTOM_TYPE_PREFIX

* Update hui-card-picker.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-31 16:20:09 +02:00
Zack Arnett 454d81facc View Editor: Badge Preview (#5335)
* Badge Preview

* Move Badge preview

* Clean

* Error card + clean

* remove try catch
2020-03-31 13:30:52 +02:00
Bram Kragten 0bfa8260fa Merge pull request #5372 from dmulcahey/dm/zha-tables-clear-selections
Clear selections in ZHA data tables
2020-03-31 13:25:50 +02:00
Bram Kragten f2124f1c95 Merge pull request #5373 from zsarnett/entity-card-fix
Entity Card: Fix Value clipping in editor
2020-03-31 13:24:34 +02:00
HomeAssistant Azure 451bc2370a [ci skip] Translation update 2020-03-31 00:32:48 +00:00
Zack Arnett 0b17642c31 Fix editor value clipping 2020-03-30 20:19:18 -04:00
David Mulcahey 214dc25576 clear selections 2020-03-30 20:01:04 -04:00
Zack Arnett 158eddfd44 Entity Card: Card Addition (#4971)
* Review to changed Src translations

* Reviews

* side by side theme

* Allow user to specify unit

* Add unit back update for headerfooter and editor

* Clean

* Unavailable for attribute that doesn't exist

* fix merge

* Fix from rebasing

* reviews

* Localize State

* fix for localize

* css

* reviews

* Break the rules
2020-03-30 19:49:02 -04:00
Pascal Vizeli 5daa6dbd25 [skip ci] Simplify release pipeline 2020-03-30 22:52:27 +02:00
Pascal Vizeli 645ef3e61f [skip ci] Simplify release pipeline 2020-03-30 22:51:42 +02:00
Bram Kragten 3be4b9d79b Merge pull request #5369 from home-assistant/dev
20200330.0
2020-03-30 21:34:24 +02:00
Bram Kragten 5dcea51712 Fix default path for demo 2020-03-30 21:20:06 +02:00
Bram Kragten 6995968d50 Update ha-sidebar.ts 2020-03-30 20:59:12 +02:00
Bram Kragten c4cb42f3c2 Merge branch 'master' into dev 2020-03-30 20:57:24 +02:00
Bram Kragten 0d4a7a2b3e Bumped version to 20200330.0 2020-03-30 20:53:19 +02:00
Bram Kragten 20cc9c9b42 Update user config pages (#5354)
* Update user config pages

* remove user-editor

* Update

* Update dialog-add-user.ts
2020-03-30 20:52:53 +02:00
Bram Kragten 8a6bd04543 Add default dashboard selection to profile page (#5360)
* Add default dashboard selection to profile page

* Comments

* Console.bye
2020-03-30 16:08:36 +02:00
Bram Kragten 263138a388 MIgrate scripts to data table (#5352)
* MIgrate scripts to data table

* Update imports

* Update

* Lint
2020-03-30 15:38:15 +02:00
Bram Kragten e645342131 Allow to start with empty view on take control (#5357)
* Allow to start with empty view on take control

* Localize
2020-03-30 15:37:59 +02:00
Bram Kragten 6e4c707f9e Migrate scene config to data table (#5351)
* Migrate scene config to data table

* Remove unused styles

* Update ha-scene-dashboard.ts

* Lint + help

* Update ha-scene-dashboard.ts
2020-03-30 15:06:29 +02:00
Bram Kragten fca286d6c0 Change automation picker to data table (#5344)
* Change automation picker to data-table

* Update ha-automation-picker.ts

* Update ha-automation-picker.ts

* Update ha-automation-picker.ts

* Add edit button + disabled tooltip

* Fix translation key

* Remove unused

* Comments and fixes

* Update ha-automation-picker.ts
2020-03-30 14:21:55 +02:00
Bram Kragten 5a2e08647f Add area config page (#5343)
* Add area config page

* Comments

* Update ha-config-area-page.ts

* Update ha-config-area-page.ts
2020-03-30 14:21:36 +02:00
Bram Kragten f6dac98abd Update layout of device info page (#5342)
* Update layout of device info page

* Comments

* <a> and simplify layout

* Update ha-config-device-page.ts
2020-03-30 14:21:21 +02:00
Pascal Vizeli ddb525f6cd Fix hass.io panel for older version (#5365)
* Fix hass.io panel for older version

* Fix lint
2020-03-30 11:38:54 +02:00
HomeAssistant Azure f7ee712456 [ci skip] Translation update 2020-03-30 00:40:34 +00:00
Ian Richardson ff873e2f71 add name option to buttons row (#5083)
* add name option to buttons row

* explicit show_name

* Update src/panels/lovelace/components/hui-buttons-base.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/components/hui-buttons-base.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* lint

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-29 13:49:27 +02:00
Ian Richardson 54b57e6222 add volume slider to media_player row (#4743)
*  add volume slider to media_player row

* add more controls

* flex slider

* override width

* volume buttons when narrow

* address comments

* Updates for rebase

* attempt to use debounce. not working

* remove log

* fix observer

* address some review comments

* unobserve

* address comments
2020-03-29 13:30:52 +02:00
HomeAssistant Azure 375abfb95e [ci skip] Translation update 2020-03-29 00:32:56 +00:00
HomeAssistant Azure 30a38fa6d1 [ci skip] Translation update 2020-03-28 00:34:07 +00:00
Pascal Vizeli 554c0b692d Fix supervisor panel (#5348)
* Fix supervisor panel

* Lint

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-27 11:55:55 -07:00
HomeAssistant Azure 61ac831882 [ci skip] Translation update 2020-03-27 00:33:27 +00:00
Bram Kragten 59e89a0daf Sandbox iframe 2020-03-26 11:39:01 +01:00
Zack Arnett 1e3950cd1d Add shopping list (#5339) 2020-03-26 11:32:40 +01:00
Zack Arnett f514ea453c Delete Card: Add Card Preview to Dialog (#5325)
* Delete Card Dialog

* Update with to be the max for a column

* Comments

* remove open and wait for render to resize I think

* Review

* fire event from dialog
2020-03-26 11:13:13 +01:00
Paulus Schoutsen cc046478e5 Catch LL config not found exception in preload (#5340) 2020-03-26 10:47:12 +01:00
HomeAssistant Azure a17c1052cd [ci skip] Translation update 2020-03-26 00:32:45 +00:00
HomeAssistant Azure 2408f9b8fa [ci skip] Translation update 2020-03-25 00:32:35 +00:00
Aidan Timson 6aae1b3378 Fix Default Lovelace Panel Title (#5301)
* Fix lovelace panel title

* Fix types error

* Revert and workaround null type

* Update src/data/panel.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update panel.ts

* Update panel.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-24 15:08:51 +01:00
Pascal Vizeli ed51223226 Update azure-pipelines-release.yml for Azure Pipelines 2020-03-24 14:16:21 +01:00
sdotter 013808b7f5 Fixed iframe panel unnecessary scrollbar (on 100vh -64px) (#5326)
* Fixed iframe panel unnecessary scrollbar (on 100vh -64px)

* Fixed iframe panel unnecessary scrollbar (removed margin-top)

No need for margin-top
2020-03-24 13:18:45 +01:00
HomeAssistant Azure af584e1d12 [ci skip] Translation update 2020-03-24 00:57:08 +00:00
J. Nick Koston 3763d7a1d0 Use horizontal control icons for devices that commonly move horizontally (#5309)
* Use horizontal control icons for devices that
commonly move horizontally including:

awning
curtain
gate

* no need to check

* remove debug

* reduce - js is so permissive

* remove curtain
2020-03-23 20:33:45 +01:00
Zack Arnett ce92add096 Footer/Header: Graph (#5273)
* Add Graph as a footerheader option

* Move get Coordinates to a new file

* await

* Comments
2020-03-23 09:46:56 -04:00
HomeAssistant Azure 40c94b6596 [ci skip] Translation update 2020-03-23 00:32:58 +00:00
Aidan Timson c894bc2e40 Fix icon button padding (#5312) 2020-03-23 00:18:13 +01:00
HomeAssistant Azure 415a4fa1af [ci skip] Translation update 2020-03-22 00:32:46 +00:00
Bram Kragten b9367a33a8 Invalidate theme cache when switching demo's (#5305)
* Invalidate theme cache when switching demo's

* Move to mock hass
2020-03-21 20:19:13 +01:00
Bram Kragten 7170f06c08 Add checks for arrays in compute unused entities (#5307) 2020-03-21 20:18:40 +01:00
J. Nick Koston f2578a58b4 Add "gate" device class for DEVICE_CLASS_GATE (#5299)
* Add "gate" device class for DEVICE_CLASS_GATE

Gates are found outside of a structure and are typically part of a fence.

When opening or closing a garage door, it was impossible to tell
if you had hit the button or not even though the underlying state
was reported as "opening". This lead to confusion and multiple
clicks to open a garage door which can cause the door to stop
opening and result in frustration.

Add icons for gate and garage opening and closing states.

* Add "gate" device class for DEVICE_CLASS_GATE

Gates are found outside of a structure and are typically part of a fence.

When opening or closing a garage door, it was impossible to tell
if you had hit the button or not even though the underlying state
was reported as "opening". This lead to confusion and multiple
clicks to open a garage door which can cause the door to stop
opening and result in frustration.

Add icons for gate and garage opening and closing states.

* de-bold
2020-03-21 11:20:06 -07:00
Bram Kragten 1950656bd5 Add ability to edit panel view cards (#5257)
* Add ability to edit panel view cards

* Localize and fix some styling
2020-03-21 16:51:44 +01:00
Bram Kragten eed3263c70 Optimize cards for horizontal stack (#5254) 2020-03-21 15:59:30 +01:00
Robert Resch 02e01626f5 fix #5300: always show attribute step (#5302) 2020-03-21 15:15:20 +01:00
HomeAssistant Azure 41a2d9604e [ci skip] Translation update 2020-03-21 00:32:47 +00:00
Bram Kragten 7d6f188bfc Change themes logic (#5232)
* Fix themes

* Update hui-view.ts

* Comments and bail out

* Update apply_themes_on_element.ts

* refactor, move meta to theme mixin, adapt lovelace theme picker

* console.bye

* Comments

* Optimizations

* Bail out early is no hex value

* Cache processed themes

* Remove hex-rgb cache
2020-03-20 21:30:20 +01:00
Bram Kragten 15a144f17a Add iframe panel mode and align aspect ratio option with map card (#5289)
* Add iframe panel mode and align aspect ratio option with map card

* lint
2020-03-20 17:53:30 +01:00
Erik Montnemery c54f2b66da Add delete button to MQTT devices' config page (#5117)
* Add delete button to MQTT devices' config page

* Move delete button to its own card

* Fix review comments

* Fix review comments

* Fix review comments

* Use haStyle instead of haStyleDialog
2020-03-20 15:53:36 +01:00
Bram Kragten 685a0807d8 Fix alarm panel (#5291)
Fixes https://github.com/home-assistant/frontend/issues/5073
2020-03-20 15:21:25 +01:00
Zack Arnett 0d404e0e37 Stub Configs: Add Type (#5206)
* Add Type

* Add return type

* Lint

* Fix map

* map fix

* Comments
2020-03-20 12:41:28 +01:00
Zack Arnett 39bb859f57 Fix tooltip overflow (#5282) 2020-03-20 12:01:18 +01:00
Zack Arnett 90e32b7e45 Hui Unavailable: Fix Opacity (#5283)
* Fix unavailable

* opacity
2020-03-20 11:49:46 +01:00
Zack Arnett 63a2d9dd18 alphabet english (#5284) 2020-03-20 11:48:02 +01:00
HomeAssistant Azure 4982693883 [ci skip] Translation update 2020-03-20 00:32:48 +00:00
Zack Arnett f4211e3fa3 Find Entites: Filter Unavailable - Used and unused entities required (#5208)
* Update Find Entities

* lint

* Filter until max - entitiesFill-> entitiesFallback

* Comment - Move unav - unk filter to picker

* lint

* Var name update

* remove unnessary check

* add it back and fix logic

* use typescript ? in condition

* comments

* lint

* Compute used once

* pass in hass

* Return set

* fix merge

* Optimize unused entities in find
2020-03-19 14:39:14 -04:00
Paulus Schoutsen eacf58b5a5 Update color count in color extraction (#5270)
* Update color count in color extraction

* add the images
2020-03-18 23:12:27 -04:00
HomeAssistant Azure f9349bc731 [ci skip] Translation update 2020-03-19 00:32:53 +00:00
Bram Kragten 3840671764 Remove app-route from hui-root (#5267)
* Remove app-route from hui-root

* Update hui-root.ts
2020-03-18 15:37:44 -07:00
Bram Kragten fd62cf02d6 Fix button card not showing visual editor on add (#5256) 2020-03-18 23:32:03 +01:00
Bram Kragten 254744cd7d Bumped version to 20200318.1 2020-03-18 23:29:00 +01:00
Zack Arnett 595d04c922 Fix theme update (#5246) 2020-03-18 23:28:50 +01:00
Bram Kragten a3969fe2c8 Fix stack editor in stack editor (#5255) 2020-03-18 23:28:42 +01:00
Paulus Schoutsen 220e4134b7 Fix calculating title if panels not loaded yet (#5262) 2020-03-18 23:28:35 +01:00
Bram Kragten 56e176a6f1 Fix stack editor in conditional card (#5265) 2020-03-18 23:28:30 +01:00
Bram Kragten 780c15d6b3 Fix stack editor in conditional card (#5265) 2020-03-18 21:29:09 +01:00
Bram Kragten 55ff848b78 Fix stack editor in stack editor (#5255) 2020-03-18 20:51:00 +01:00
Zack Arnett dbe829bc7d Card Editor: Copy Card (#5249)
* Copy Card Feature

* dUplicate
2020-03-18 20:33:59 +01:00
Zack Arnett 8d0508f320 Unused Entities: Only Show Fab when selection is made (#5248)
* Only Show Fab when selection is made

* reviews
2020-03-18 20:33:36 +01:00
Paulus Schoutsen 2741bb8b38 Fix calculating title if panels not loaded yet (#5262) 2020-03-18 20:32:35 +01:00
Paulus Schoutsen 16cadd53cf Set data as property. (#5263) 2020-03-18 20:27:44 +01:00
Olivér Falvai a8d21c6112 Add loading text for long-running integration install step (#4378)
* Added optional label for dialog-data-entry-flow

* Use correct loading element

* Update src/translations/en.json

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Minor template adjustment

* Revert accidental change of PR templates

* Revert accidental change of PR templates

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-18 17:00:08 +01:00
Bram Kragten 6b2e707653 Update en.json 2020-03-18 12:49:32 +01:00
Bram Kragten 205b7451fa Update hui-gauge-card.ts (#5241) 2020-03-18 12:48:16 +01:00
Zack Arnett 1d3aeec0de more info (#5247) 2020-03-18 12:47:59 +01:00
Zack Arnett ac911dcd31 Fix theme update (#5246) 2020-03-18 12:47:20 +01:00
Bram Kragten 89a94b3efc Merge pull request #5252 from home-assistant/dev
20200318.0
2020-03-18 12:33:12 +01:00
Bram Kragten 71793dcfa5 Cast fix for urlPath === "lovelace" (#5242) 2020-03-18 12:19:01 +01:00
Bram Kragten 1e527a8350 Bumped version to 20200318.0 2020-03-18 12:18:24 +01:00
Bram Kragten 262b12eb93 Fix dialog conent color (#5251)
* Fix ha-dialog content color

* Fix
2020-03-18 12:17:01 +01:00
HomeAssistant Azure 7fb1e699ae [ci skip] Translation update 2020-03-18 00:32:39 +00:00
Aidan Timson 9ee647329b Fix Wrong Index for Filtered Tabs (#5221)
* Fix wrong index for filtered tabs

* Set active tab to actual tab and use path

* Update src/layouts/hass-tabs-subpage.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update src/layouts/hass-tabs-subpage.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-17 20:44:07 +01:00
HomeAssistant Azure cd6dcec644 [ci skip] Translation update 2020-03-17 00:32:43 +00:00
Bram Kragten d8f248c60e Merge pull request #5234 from home-assistant/dev
20200316.1
2020-03-16 21:18:04 +01:00
Aidan Timson 2925b930ad Set Title to Current Panel (#5220)
* Set title to current panel

* Move to mixin

* Naming

* guard clause
2020-03-16 20:54:55 +01:00
Bram Kragten 127aaba47b Add UI for reload resources service (#5229)
* Add UI for reload resources service

* Update hui-root.ts

* Check for config of main panel
2020-03-16 20:52:21 +01:00
Bram Kragten 8bc8761af6 Bumped version to 20200316.1 2020-03-16 20:32:59 +01:00
Bram Kragten a88321d243 Only show url path field in advanced mode (#5233) 2020-03-16 20:32:13 +01:00
Bram Kragten 4e19232960 Merge pull request #5230 from Tediore/patch-3
Minor corrections and cosmetic improvements
2020-03-16 14:51:14 +01:00
Jay 5b95bdb6b7 Minor corrections and cosmetic improvements
Updated the correct file this time...
2020-03-16 08:15:18 -05:00
Bram Kragten 0fc59ccb16 Merge pull request #5228 from home-assistant/dev
20200316.0
2020-03-16 12:38:28 +01:00
Bram Kragten a9daf9835a Bumped version to 20200316.0 2020-03-16 12:24:39 +01:00
Zack Arnett 2110d9c3b9 Map Card: Fix Dark Mode Toggle (#5209)
* Fix Editor

* comment
2020-03-16 12:23:13 +01:00
Zack Arnett b77e0b8125 Card Picker: Remove Scale (#5205)
* remove scalling

* add zoom back
2020-03-16 12:22:56 +01:00
Zack Arnett 5197f102ea Webpage Card: Fix Aspect Ratio in Editor (#5210)
* fix Ifram editor

* suffix
2020-03-16 12:22:41 +01:00
Bram Kragten 447d4604c6 Require hyphen in lovelace dashboard url path (#5214)
* Require hyphen in url path

* Update dialog-lovelace-dashboard-detail.ts
2020-03-16 12:22:21 +01:00
Jason Lachowsky 5a84e34f93 Corrected minor misspellings (#5225) 2020-03-16 11:56:04 +01:00
Jay fb6d3cccdc Cosmetic improvements, minor corrections (#5199)
Made some minor corrections:
"it's" > "its" ("its" is the possessive form of "it")
"setup" > "set up" ("setup" is a noun, "set up" is a verb)

Cosmetic improvement:
"can not" > "cannot" (both are correct, but "cannot" is usually more common, at least in the US. Strictly a matter of opinion here so no worries if you want this reversed.)
2020-03-16 11:51:43 +01:00
HomeAssistant Azure fad3cb185b [ci skip] Translation update 2020-03-16 00:32:44 +00:00
HomeAssistant Azure f61ce395f5 [ci skip] Translation update 2020-03-15 00:32:49 +00:00
Franck Nijhof 17f3299152 Fix brightness_pct in light device turn_on action (#5201) 2020-03-13 21:58:34 -07:00
HomeAssistant Azure 17e04589d0 [ci skip] Translation update 2020-03-14 00:32:33 +00:00
Bram Kragten 4b2edde81b Merge pull request #5198 from home-assistant/dev
20200313.0
2020-03-13 20:39:21 +01:00
Bram Kragten 5d3d766f56 Bumped version to 20200313.0 2020-03-13 20:25:21 +01:00
Zack Arnett 94e2a0dea0 Media Card: Reset Marquee on Text change (#5184)
* Stop marquee on next and prev

* force stop

* clean

* This is much better

* Clean

* comments

* comment

* No more repaints
2020-03-13 20:22:49 +01:00
Paulus Schoutsen 21fe68add0 Stub config tweaks (#5197)
* Stub config tweaks

* Lint
2020-03-13 20:22:34 +01:00
Bram Kragten af6ebea4a3 Fix translations in production builds (#5192)
* Fix translations in production builds

* Make env functions
2020-03-13 10:19:32 -07:00
Paulus Schoutsen 3c17ee03b6 Improve color extraction for media control card (#5189)
* Improve color extraction

* Lazy load media control

* Update src/panels/lovelace/cards/hui-media-control-card.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Extract constant

* Fix media control demo

* Remove quality(1)

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-13 10:01:36 -07:00
Bram Kragten 0c3c007faf Check if entities is an array (#5193) 2020-03-13 17:48:49 +01:00
Zack Arnett 330eb0957b Update Gauge CSS (#5182) 2020-03-13 14:52:12 +01:00
HomeAssistant Azure 02923475e6 [ci skip] Translation update 2020-03-13 01:16:04 +00:00
Zack Arnett 01ff97b366 Fix Marquee Ellipsis (#5183) 2020-03-12 19:08:51 -04:00
Bram Kragten f0a4a99654 Merge pull request #5181 from home-assistant/dev
20200312.0
2020-03-12 21:43:28 +01:00
Bram Kragten 02d2368654 Bumped version to 20200312.0 2020-03-12 21:05:35 +01:00
Bram Kragten e19d07e434 Typos (#5180)
Fixes #5179
Fixes #5178
2020-03-12 21:04:46 +01:00
Bram Kragten 669ed5cb28 Dont create new array on every render (#5177) 2020-03-12 21:02:05 +01:00
Bram Kragten 785ae4a83d Fix for views with url starting with a number (#5176) 2020-03-12 20:49:26 +01:00
Bram Kragten d327045802 Update dialog-helper-detail.ts 2020-03-12 20:48:41 +01:00
Bram Kragten 785ef19cce Only update map if one of entities changed (#5175) 2020-03-12 20:37:54 +01:00
Bram Kragten f5653d0da5 Show if helper can be edited (#5174)
Fixes #5173
Fixes #5171
2020-03-12 20:37:33 +01:00
Bram Kragten e0a6d2efe5 Add on state to media control card (#5168) 2020-03-12 20:11:33 +01:00
Bram Kragten 9971e2e934 Fix scroll entity settings dialog (#5165)
Fixes #5144
2020-03-12 20:11:19 +01:00
Bram Kragten 558802c7dd Simplify action handler directive (#5157) 2020-03-12 20:11:05 +01:00
Bram Kragten 91edcf9b52 Fix stack size (#5155) 2020-03-12 20:10:45 +01:00
Sergey Avdeev f401aa2897 Update icon_color_css.ts (#5163) 2020-03-12 20:10:30 +01:00
Bram Kragten 1d0389327f Fix helper UI (#5161)
Fixes #5146
Fixes #5145
Fixes #5142
2020-03-12 20:10:06 +01:00
Bram Kragten 06cd7556f3 Dashboard UI fixes (#5160)
Fixes #5152
Fixes #5150
Fixes #5148
2020-03-12 20:09:55 +01:00
Bram Kragten 3b1f9a5dab Fix secondary info (#5159) 2020-03-12 20:09:41 +01:00
Bram Kragten f54cd18da4 Fix resize observer on error card (#5158)
* Fix resize observer on error card

* Update hui-media-control-card.ts
2020-03-12 20:09:27 +01:00
Zack Arnett 73e0fd614e updates transparent to be hex plus alpha of 0 (#5167) 2020-03-12 19:47:48 +01:00
Paulus Schoutsen 9b220cc6ce Extract media controls into method (#5141)
* Extract media controls into method

* address comments

* lint

* Moooorre fixes

* Fix margin

* Update demos

* Very narrow idle players show play button

* Lint

* More stuff

* Marquee on steroids
2020-03-12 10:40:03 +01:00
Zack Arnett c7a5f63e33 Fix for safari (#5143) 2020-03-12 10:06:08 +01:00
HomeAssistant Azure 11192e6065 [ci skip] Translation update 2020-03-12 00:32:46 +00:00
Bram Kragten d83b308100 Fix area dialog too wide (#5136)
* Fix area dialog to wide

* Update styles
2020-03-11 17:10:26 -07:00
Quentame f67bf6908f Refactor Freebox : add config flow + temperature sensor + signal dispatch (#4448)
* Add config flow to Freebox

* Compress image with https://tinypng.com/
2020-03-11 22:12:40 +01:00
Bram Kragten 2784edc689 Merge pull request #5135 from home-assistant/dev
20200311.1
2020-03-11 19:07:22 +01:00
Bram Kragten 8f41e99464 Bumped version to 20200311.1 2020-03-11 18:52:20 +01:00
Paulus Schoutsen 7c2b37e8ca Demo paths (#5134)
* Update paths to images in demo

* Remove some unused attributes

* Fix camera paths
2020-03-11 10:37:23 -07:00
Bram Kragten dbdbad2deb Fix closing hui-editor (#5132) 2020-03-11 15:23:31 +01:00
Bram Kragten e5db86363c Only save non system generated users and tweak text (#5131)
* Only save non system generated users and tweak text

* Clean up
2020-03-11 15:23:19 +01:00
Bram Kragten b2026c1cd7 Fix automation event trigger UI (#5130) 2020-03-11 13:47:23 +01:00
Bram Kragten b12f29afad Merge pull request #5128 from home-assistant/dev
20200311.0
2020-03-11 10:09:46 +01:00
Bram Kragten 04b23388b5 Bumped version to 20200311.0 2020-03-11 09:49:43 +01:00
Bram Kragten 7309a937e8 Bump home-assistant-js-websocket (#5127) 2020-03-11 09:38:21 +01:00
Ian Richardson 5dbcd1f726 ability to show attribute instead of state in picture-glance (#4958) 2020-03-11 09:01:00 +01:00
guillempages 3338459139 Allow state-label-element to show attributes (#4953)
* Allow state-label-element to show attributes

Add an additional (optional) parameter to the state-label element,
so that instead of showing the state, an attribute can be shown instead.

Can be used to e.g. add a climate entity to the floorplan,
but show the current temperature instead of the desired one.

* Improve style

Put the most frequent case as default in the ternary

* Remove unneeded variables

Use the _config.attribute directly instead of having a local temporary
Also remove superfluous checks for "!stateObj" (was already checked before)
2020-03-11 09:00:43 +01:00
Bram Kragten 35f17fc1d4 Add no data row when data table empty (#5113) 2020-03-11 08:42:52 +01:00
Zack Arnett e062940639 Media Card: Fix Style Maps (#5120)
* Fix style map

* Comments
2020-03-11 08:42:34 +01:00
HomeAssistant Azure ff4d5265c5 [ci skip] Translation update 2020-03-11 00:32:44 +00:00
Paulus Schoutsen 906f417436 Lazy load our elements once again (#5124) 2020-03-10 15:18:13 -07:00
Bram Kragten 1c75fe3bb8 Change marquee to css animations (#5119)
* Update hui-marquee.ts

* Change to css animation

* Comments

* tweaks

* Prevent page repaint on animation start/end
2020-03-10 17:39:16 -04:00
Bram Kragten 283e858576 Helpers: remove init values, change date/time mode picker, dont… (#5118) 2020-03-10 09:37:44 -07:00
HomeAssistant Azure 2b4ab6320b [ci skip] Translation update 2020-03-10 00:32:45 +00:00
Bram Kragten 2085260ce7 Fixes media card (#5115)
* Fixes media card

* Update hui-media-control-card.ts

* Change update of progress bar
2020-03-09 21:22:17 +01:00
Erik Montnemery 1f143176ad Use fallback for device name on device page (#5116)
* Use fallback for device name on device page

* Update ha-config-device-page.ts

* Lint
2020-03-09 21:09:27 +01:00
Bram Kragten dd2163a837 Update media_player.family_room_2 2020-03-09 19:27:58 +01:00
Zack Arnett 0e1eca8a3e Media Card: Add Marquee to Title (#5095)
* Marquee Addition

* Review Comments

* instance var name change

* fix merge

* Comments plus merge fix
2020-03-09 09:43:53 -07:00
Bram Kragten 9da32880ec Fix update of cached datatables on connect (#5114) 2020-03-09 08:19:23 -07:00
Bram Kragten 15aee6a66a Fix alignment of generic entity row (#5112) 2020-03-09 13:55:30 +01:00
Zack Arnett aba74f074a Fix input number from overflowing (#5099) 2020-03-09 13:55:14 +01:00
Bram Kragten 75860508de Recalc content height on lovelace change (#5110)
Fixes https://github.com/home-assistant/frontend/issues/5108
2020-03-09 13:20:26 +01:00
Aidan Timson 52160a367a 🔧 Standardize Generic Dialogs (#4726)
* 🔧 Use confirmation dialog in area deletion

* Swap automation confirmation dialogs

* Add to disable webhook

* Add to person deletion

* Add to zone deletion

* Add dialogs in raw editor

* Add/fix try catch

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-09 13:16:02 +01:00
Zack Arnett 5651a61604 Media Card: Adds Cursor: Pointer to Progress Bar (#5091) 2020-03-08 20:59:40 -07:00
Zack Arnett 959d8c3181 Media Card: Colors more integrated with Art (#5105) 2020-03-08 20:55:03 -07:00
Paulus Schoutsen 64ee7456dc Style unavailable/unknown cards (#5104)
* Style unavailable/unknown cards

* Hide default image if unavailable

* Style map

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-03-08 14:19:58 -07:00
Paulus Schoutsen 814fcf63a8 Fix cardHeight (#5102)
* Fix cardHeight

* Opacity instead of changing DOM

* Better fix

* Remove guard we don't need
2020-03-08 09:42:59 -07:00
Zack Arnett b72d8cf7d7 Media Card: Fix Progress update (#5096) 2020-03-07 22:00:52 -08:00
Zack Arnett 8e7ef58715 Card Picker: Firefox Fix (#5098) 2020-03-07 21:59:25 -08:00
Paulus Schoutsen 56bfa01c56 Fix demo name 2020-03-07 21:53:40 -08:00
Paulus Schoutsen 4a0fc3e087 Rename demo 2020-03-07 21:51:48 -08:00
Paulus Schoutsen f3c371996f Add media player card gallery (#5101) 2020-03-07 21:47:53 -08:00
Paulus Schoutsen e5467181cb Fix vibrant type (#5100) 2020-03-08 00:46:51 -05:00
HomeAssistant Azure 0b3d2ea4ad [ci skip] Translation update 2020-03-08 00:32:36 +00:00
HomeAssistant Azure 9648aa3588 [ci skip] Translation update 2020-03-07 00:32:40 +00:00
HomeAssistant Azure 1b92cbbf74 [ci skip] Translation update 2020-03-06 13:41:27 +00:00
Bram Kragten 9979c046b3 Update azure-pipelines-translation.yml for Azure Pipelines 2020-03-06 14:38:19 +01:00
Bram Kragten 9ad121f9e6 Merge pull request #5089 from home-assistant/dev
20200306.0
2020-03-06 14:19:28 +01:00
Bram Kragten a0900afba3 Bumped version to 20200306.0 2020-03-06 14:00:36 +01:00
Bram Kragten 1cb614c8a8 Forgot border height (#5088) 2020-03-06 13:46:11 +01:00
David F. Mulcahey e63723f39e fix click handlers on data tables (#5087) 2020-03-06 13:45:12 +01:00
Bram Kragten 720bd03173 Add image to demo media player (#5086) 2020-03-06 13:44:59 +01:00
Bram Kragten 9e07cf67a5 Fix navigation after deleting a view and allow deleting view with cards (#5085)
* Fix navigation after deleting a view

* Allow deleting views with cards
2020-03-06 13:14:43 +01:00
Thomas Lovén 503dec7345 GUI editor for conditional card (#5051)
* GUI editor for conditional card

* Typing

* Fix typos. Remove quotes

* Add lovelace to card picker

* Address review comments
2020-03-06 12:58:41 +01:00
Bram Kragten 5a2649a65b Virtualize data tabel (#5066)
* WIP

* Fixes and implement further

* Give more space to table on mobile

* Remove unused deps

* Update ha-config-lovelace-dashboards.ts

* Add auto-height

* Console.bye

hihi

* lint
2020-03-06 12:58:13 +01:00
Tomasz 1599dc9e16 Set view visibility form UI (#4978)
* wip

* move logic to hui-view-visibility-editor.ts

* users will be always set

* extra filter to remove deleted users

* added better UI.
I had to add &nbsp; to ha-switch to avoid scrollbar

* fix for comments

* setting default visibility in a better way

* simplified logic, addressed comments
2020-03-06 12:36:34 +01:00
Zack Arnett 84dc8188c4 New Media Player - Cloned from Android Spotify Notification (#5044)
* Media Player Spotify Clone

* Ellipsis fix

* Style for theme update

* Height now determined by player height

* comments - Also includes Testing with images

* Pushing to resolve balloobs comments ;)

* Add Node Vibrant type

* Update Styles

* Comments

* Reviews

* Lint

* undo readme

* Reviews && Clean up

* Clear Interval

* Animation updates + comments

* small style tweak and comment

* Last little fix

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-05 21:33:38 -05:00
Paulus Schoutsen 74657ae815 Make cast backwards compatible (#5081)
* Make cast backwards compatible

* Update hc-main.ts

* Update home-assistant-js-websocket
2020-03-05 13:36:13 -08:00
Paulus Schoutsen 1a3b747d17 Style fixes to lovelace config dashboard (#5055)
* Style fixes to lovelace config dashboard

* Add standard panel and show which is default

* Update dialog-lovelace-dashboard-detail.ts

* Updated lovelace icon

* Comments and adapt to backend changes
2020-03-05 11:52:16 -08:00
Bram Kragten 802db71400 Fix secondary info in generic entity row (#5072) 2020-03-05 20:42:15 +01:00
Paulus Schoutsen 4f98524258 Optimise config entities panel + clarify not being able to dele… (#5079) 2020-03-05 09:09:29 -08:00
Bram Kragten b17ea09b8b Improve chips (#5070)
Follow mdc specs
2020-03-05 12:59:32 +01:00
Bram Kragten 8abbc71e91 Only rebuild when current panel changed (#5071)
* Only rebuild when current panel changed

* Oops

* Update yarn.lock

* copy dep to repo

* Update deep-equal.ts

* Comments
2020-03-05 12:59:18 +01:00
Paulus Schoutsen 1db31fb0f7 Show entity reg editor for helpers when not editable (#5056) 2020-03-04 17:20:16 -08:00
Bram Kragten e9b5725d7b Update default icon Lovelace sidebar. (#5069) 2020-03-05 00:19:41 +01:00
Bram Kragten d3105b6846 Add rel=noopener (#5046) 2020-03-04 22:34:48 +01:00
Bram Kragten 196540afc7 Allow card editors to use card picker again (#5067) 2020-03-04 22:04:04 +01:00
Paulus Schoutsen 2b8b9f8311 Remove unused camera command (#5068) 2020-03-04 12:39:56 -08:00
redbar0n b4f0fce600 Changed login text to be less misleading (#5054)
* Changed login text to be less misleading

See https://github.com/home-assistant/frontend/issues/5053

* Update according to suggestion for improvement

The new text should be more user-friendly.
2020-03-04 15:31:40 +01:00
Zack Arnett c6f101a487 Add Descriptions for cards - Card Picker (#5058)
* Add Descriptions for cards - this is for card pick

* oops

* Comments from Frenck

* few card capitalizations found

* Comments

* Comments on glance
2020-03-03 17:05:24 -05:00
Paulus Schoutsen 54739c7ccd Support grouped system log messages (#5030)
* Support grouped system log messages

* Format source
2020-03-03 13:55:26 -08:00
Zack Arnett aa2e632df3 Card Picker with Previews of cards (#4975)
* Card Picker with Previews of cards

* Getting Preview Async - Using dialogs entities

* Create generic getElement - filter entities before

* lint

* Add entities back to Picker. Set Qualifier

* Style Updates

* Move setup of filtered cards to connected

* style updates

* Dont pull entities if noEntity config

* Move all config logic to getConfig

* Style Update - Remove Manual process

* lint

* Accounting for ll-rebuild for async cards

* Style Updates - Use GetStubConfig for most

* Lint

* Filter entities with function - style - no preview

* Iframe rename and description

* Move getstubconfig to helper - update spinner

* Style for themes

* Move entities to be calc once

* Should update

* oops

* TSC

* Comments
2020-03-03 14:53:55 -05:00
Paulus Schoutsen f3445d99cf Sort ungrouped entities (#5047)
* Sort ungrouped entities

* Console.bye
2020-03-03 17:36:39 +01:00
Bram Kragten 7e48b21767 Remove states-ui and allow setting (local) default lovelace panel (#5043)
* Remove states-ui and allow setting (local) default lovelace panel

* Remove from demo

* Delete ha-cards.js

* Add default for yaml defined dashboards

* Update ha-config-lovelace-dashboards.ts
2020-03-03 16:27:35 +01:00
Bram Kragten 1d1688093a Update config.yml 2020-03-03 11:10:57 +01:00
Bram Kragten d392695ab7 Recreate translations when changed on dev (#5042) 2020-03-02 07:55:16 -08:00
HomeAssistant Azure 5066560411 [ci skip] Translation update 2020-03-02 12:54:26 +00:00
Bram Kragten 7fa6686e8c Update README.md 2020-03-02 13:40:45 +01:00
Paulus Schoutsen d74fe6ed52 Update translation hashing (#5025)
* Update translation hashing

* Move gulp-rename
2020-03-02 11:36:00 +01:00
HomeAssistant Azure 319a3b4943 [ci skip] Translation update 2020-03-02 00:36:43 +00:00
HomeAssistant Azure 226e6e9f59 [ci skip] Translation update 2020-03-01 00:32:29 +00:00
Erik Montnemery 42f311a457 Update whitelist (#5026) 2020-02-29 14:09:14 +01:00
HomeAssistant Azure e50ec2e2e2 [ci skip] Translation update 2020-02-29 00:32:31 +00:00
Bram Kragten b72a3361c0 Fixes for brightness automation action (#5003)
* Fixes for brightness

* Add checbox before optional range integer

* Console

* Comments
2020-02-28 23:01:45 +01:00
Bram Kragten 7b057eaa77 Merge pull request #5024 from home-assistant/dev
20200228.0
2020-02-28 22:59:33 +01:00
Paulus Schoutsen d7aaed05b7 Clean up generic row (#5022) 2020-02-28 13:35:42 -08:00
Bram Kragten c5fe5565bb Merge branch 'master' into dev 2020-02-28 22:21:45 +01:00
Bram Kragten a1a1763897 Bumped version to 20200228.0 2020-02-28 22:20:44 +01:00
Bram Kragten 724357683c Add take control for yaml mode (#4992) 2020-02-28 22:00:01 +01:00
Bram Kragten 0d6de9fe73 Fix for unavailable input-select (#4991)
* Fix for unavailable select

* Update hui-thermostat-card.ts
2020-02-28 21:59:14 +01:00
Bram Kragten 5646045e9e Add UI to create and manage Lovelace dashboards and resources (#5012)
* Add UI to create and manage Lovelace dashboards and resources

* update, comments, fixes

* Align icons with seach icon and checkboxes

* Fix

* Remove js and html resource types

* Allow it for existing ones
2020-02-28 21:58:50 +01:00
Bram Kragten 17c7a3bbac Bumped version to 20200220.5 2020-02-28 15:35:08 +01:00
Ian Richardson 8d65eb1fdf Fix state_color for button (#4995) 2020-02-28 15:35:04 +01:00
Ian Richardson 2298a55b16 Fix action handling for buttons row (#5007) 2020-02-28 15:34:45 +01:00
HomeAssistant Azure 33d65bcefc [ci skip] Translation update 2020-02-28 00:32:34 +00:00
Thomas Lovén 3cc7deda04 GUI editors for stacks (#4999)
* GUI editors for stacks

* fix type checking

* lint

* Address review comments

* Cleanup. Removing inline functions, combining others

* Give the class a more fitting name

* Final tweak

* Update stack cards

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-27 14:07:55 +01:00
Bram Kragten e2de660bec Only cache default lovelace and handle config updates (#5000)
* Only cache default lovelace and handle config updates

* Update partial-panel-resolver.ts
2020-02-27 14:01:37 +01:00
Bram Kragten 6b1e5a525f Fix update if no lastversion and change audio pickers to default (#5010) 2020-02-27 11:44:09 +01:00
Ian Richardson 93565f0ed9 Fix action handling for buttons row (#5007) 2020-02-27 09:20:20 +01:00
HomeAssistant Azure 143d1162b6 [ci skip] Translation update 2020-02-27 00:32:30 +00:00
Ian Richardson 788d616fa2 Fix state_color for button (#4995) 2020-02-26 23:03:47 +01:00
Bram Kragten 0de9471a5d Revert "Static import all the LL cards etc" (#4989)
This reverts commit 52ded635ff.
2020-02-26 08:03:05 -08:00
Bram Kragten b229071248 Add helper UI (#4940)
* Add helper UI

* Oops

* Update

* Update

* Update

* Lint

* Add all input forms

* Return extended entity registry entry from update

* Comments

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-26 12:53:03 +01:00
Bram Kragten 6d145730a5 Bumped version to 20200220.4 2020-02-26 09:42:10 +01:00
Paulus Schoutsen f02bb67485 Static import all the LL cards etc (#4987) 2020-02-26 09:42:03 +01:00
Paulus Schoutsen 52ded635ff Static import all the LL cards etc (#4987) 2020-02-26 09:40:54 +01:00
HomeAssistant Azure a6d73828b8 [ci skip] Translation update 2020-02-26 00:32:31 +00:00
Paulus Schoutsen 1d052fa5bb Add support for multiple Lovelace dashboards (#4967)
* Add support for multiple Lovelace dashboards

* Fix navigation, add to cast, revert resource loading

* Change resource logic

* Lint + cast fix

* Comments

* Fixes

* Console.bye

* Lint"

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-25 13:06:25 -08:00
Bram Kragten 38d758b52f Bumped version to 20200220.3 2020-02-25 21:56:52 +01:00
Bram Kragten 9162e9c318 Bumped version to 20200220.2 2020-02-25 21:55:36 +01:00
Bram Kragten 189ea00768 Fix for when the preview element was an error element (#4969)
* Fix for when the preview element was an error element

* Comments

* Update hui-dialog-edit-card.ts
2020-02-25 21:51:52 +01:00
Bram Kragten 25d6427aed Fix for when the preview element was an error element (#4969)
* Fix for when the preview element was an error element

* Comments

* Update hui-dialog-edit-card.ts
2020-02-25 21:51:07 +01:00
Franck Nijhof 8a61442cf2 Add dev demo builds GitHub Actions workflow (#4980) 2020-02-25 10:15:48 -08:00
Franck Nijhof 106d405699 Only trigger on PRs or pushes against the master and dev branch… (#4982) 2020-02-25 10:06:14 -08:00
Chris Talkington 1f23e9062f Fix typo in supervisor popup (#4966) 2020-02-24 20:45:08 -08:00
Franck Nijhof 231b498ea5 Remove Travis-CI (#4972) 2020-02-24 20:43:47 -08:00
HomeAssistant Azure a256e5abfa [ci skip] Translation update 2020-02-25 00:33:05 +00:00
Ruslan Sayfutdinov 028b370ead [logbook] fix scrolling on iOS (#4950)
* [logbook] fix scrolling on iOS

* Update styling

* Update ha-logbook.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-24 13:50:22 +01:00
Sergey Avdeev 18abc6adf7 Update icon_color_css.ts (#4962) 2020-02-24 11:43:58 +01:00
Ruslan Sayfutdinov 95aa29d6ca Fix layout of history and logbook filters (#4963) 2020-02-24 11:38:05 +01:00
Paulus Schoutsen 5d2242dd16 Add a smarter default value for entity card show header toggle (#4964) 2020-02-24 11:29:40 +01:00
HomeAssistant Azure de8bca6967 [ci skip] Translation update 2020-02-24 00:32:30 +00:00
HomeAssistant Azure 12234de20e [ci skip] Translation update 2020-02-23 00:32:34 +00:00
Tomasz b41369a2ad Localize tabs names in view editor (#4954)
* Localize tabs

* remove Polish localization
2020-02-22 15:00:01 +01:00
HomeAssistant Azure 6e35c79c14 [ci skip] Translation update 2020-02-22 00:32:31 +00:00
Franck Nijhof 22e4c0512e Add GitHub Actions (#4952) 2020-02-21 13:59:09 +01:00
HomeAssistant Azure 3606b8077f [ci skip] Translation update 2020-02-21 00:34:40 +00:00
Paulus Schoutsen 3a90a65ba8 Merge pull request #4948 from home-assistant/dev
20200220.1
2020-02-20 14:49:22 -08:00
Paulus Schoutsen e59987a8ed Bumped version to 20200220.1 2020-02-20 14:47:40 -08:00
Paulus Schoutsen 22d8ce0fd9 Fix creating card (#4947) 2020-02-20 14:47:28 -08:00
Zep Fietje 01eae3876b Make config list items appearance consistent for automations, scenes and scripts (#4945) 2020-02-20 21:10:40 +01:00
Paulus Schoutsen 2e43f390a4 Merge pull request #4942 from home-assistant/dev
20200220.0
2020-02-20 10:29:20 -08:00
Paulus Schoutsen 65421fa551 Bumped version to 20200220.0 2020-02-20 10:14:57 -08:00
Zack Arnett fc88922ce3 Fix CPU and Browser Usuage (#4935) 2020-02-20 09:57:14 +01:00
Paulus Schoutsen 52609dded9 Add rebuild support to editor preview (#4932)
* Add rebuild support to editor preview

* getLovelaceCardClass function added

* Use error class

* Tiny cleanup

* Misplaced comment
2020-02-20 09:55:42 +01:00
HomeAssistant Azure 6d54496187 [ci skip] Translation update 2020-02-20 00:32:31 +00:00
Bram Kragten 2a6c38066d Merge pull request #4920 from home-assistant/dev
20200219.0
2020-02-19 10:49:19 +01:00
Bram Kragten 924c7804c9 Update hui-media-control-card.ts (#4919) 2020-02-19 10:44:42 +01:00
Bram Kragten 23f34fa7ae Bumped version to 20200219.0 2020-02-19 10:30:14 +01:00
Ian Richardson 7046cba1f7 Add buttons row (#4714)
*  Add buttons row

* refactor to composition

* Add action handler

* address review
2020-02-19 10:25:42 +01:00
Zack Arnett 4be1040a14 Convert History Graph Card to Typescript (#4882)
* Converting History Graph to Typescript

* Conversion to TS

* Reviews

* Review Updates
2020-02-19 10:20:37 +01:00
Zack Arnett 68baeb83cb Media Card Seek Functionality (#4907)
* Seek function

* Remove a testing section

* reviews
2020-02-19 10:19:57 +01:00
Zack Arnett aa94e45582 Sensor Card - Top Margin 16px -> 8px (#4917) 2020-02-18 22:36:49 -08:00
Zack Arnett 2c58a9f802 Sensor Stroke Width Fix (#4916)
* Sensor width fix

* Const
2020-02-18 20:20:32 -08:00
HomeAssistant Azure 0a41a4f066 [ci skip] Translation update 2020-02-19 00:32:35 +00:00
Bram Kragten e265d9581c Fix multiselect without data (#4906) 2020-02-18 22:17:52 +01:00
Paulus Schoutsen 4675579f79 Add safe mode support (#4908)
* Add safe mode support

* Lint

* Fix type in demo
2020-02-18 08:33:25 -08:00
Bram Kragten 52ae01ea74 Fix description and title of options flow (#4910) 2020-02-18 11:27:27 +01:00
HomeAssistant Azure 099430238c [ci skip] Translation update 2020-02-18 00:32:41 +00:00
Bram Kragten af3626b215 Merge pull request #4850 from zsarnett/media-card-updates
Update Media Card to check for Supported Features
2020-02-17 21:16:06 +01:00
Bram Kragten 52ea3a5ce8 Merge pull request #4895 from scop/sort-available-events
Sort list of available events
2020-02-17 21:15:08 +01:00
Ville Skyttä 2ab2ade642 Import compare 2020-02-17 21:15:58 +02:00
Zack Arnett 1cc3936ec3 Typing functions 2020-02-17 13:36:21 -05:00
Paulus Schoutsen 322eef1c0f Add more info to system log (#4899)
* Add more info to system log

* Add util, oops

* Tweak UI
2020-02-17 10:20:24 -08:00
Zack Arnett 0964130782 rookie mistake 2020-02-17 12:09:17 -05:00
Zack Arnett be9ec50e3a When no image occurs mark the image as undefined 2020-02-17 11:51:05 -05:00
Zack Arnett da1dd45169 Update for playlist information if music isnt present 2020-02-17 11:31:27 -05:00
Zack Arnett 9a7f7f119d Review updates again because I am a fool 2020-02-17 10:28:13 -05:00
Bram Kragten b1a414c840 Merge pull request #4903 from home-assistant/dev
20200217.0
2020-02-17 16:24:27 +01:00
Zack Arnett 2718ada9f9 Review updates 2020-02-17 10:01:01 -05:00
Bram Kragten 46a596ce34 Bumped version to 20200217.0 2020-02-17 15:58:06 +01:00
Bram Kragten 7036cefa72 Allow to change the location of home zone in zone editor (#4849)
* Allow to change the location of home zone in zone editor

* Update src/translations/en.json

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Comment + mobile to general config

* Remove dupe import

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-17 15:27:31 +01:00
Ian Richardson fb7fbf2dac add state_color option to glance, button and state-icon (#4854)
* add state_color option to glance, button and state-icon

* address comments

* address comments
2020-02-17 15:26:45 +01:00
Bram Kragten 49b0c8d549 include entities not in entity registry in config entities (#4867)
* include entities not in entity registry in config entities

* Update ha-data-table.ts

* Comments

* Update ha-device-entities-card.ts

* Comments
2020-02-17 15:02:23 +01:00
Bram Kragten 8f9a6bd544 Add multi select component to ha-form (#4247)
* Add multi select component

* Apply suggestions from code review

Co-Authored-By: Ian Richardson <iantrich@gmail.com>

* Comments

* update

* Fix

* Refactor to dropdown menu

Co-authored-by: Ian Richardson <iantrich@gmail.com>
2020-02-17 14:13:09 +01:00
Ruslan Sayfutdinov 24e4b0b772 [sidebar] set max-width for item-text (#4893) 2020-02-16 20:23:25 -08:00
HomeAssistant Azure 1c86bd2f8b [ci skip] Translation update 2020-02-17 00:32:55 +00:00
Zack Arnett 363f548f13 fix error (#4885) 2020-02-16 15:19:28 -08:00
Ville Skyttä 51ce481e77 Sort list of available events 2020-02-16 23:32:47 +02:00
Zack Arnett 30e5611812 Stupid mistake 2020-02-16 12:15:56 -05:00
Zack Arnett 67706a312d Support for requesting the image from the server 2020-02-16 12:11:18 -05:00
Paulus Schoutsen f4eb3380b4 Less whitespace around icon (#4888) 2020-02-15 22:39:03 -08:00
Paulus Schoutsen 73934afc7d Sensor card hugging (#4887) 2020-02-16 00:57:56 -05:00
Paulus Schoutsen 9d2a0c0502 Reduce size of floorplan pic Arsaboo (#4886) 2020-02-15 21:40:28 -08:00
HomeAssistant Azure 9ec75531a8 [ci skip] Translation update 2020-02-16 00:32:37 +00:00
HomeAssistant Azure 91bdb8f742 [ci skip] Translation update 2020-02-15 00:32:38 +00:00
Thomas Lovén d8ae3439de Make sure config is always frozen. Not just on error (#4871) 2020-02-14 16:11:25 -08:00
Bram Kragten 2d018fff6c Update babel en disable ES5 builds on dev (#4876) 2020-02-14 16:09:21 -08:00
Bram Kragten 7d37dc6cde Bump vaadin elements (#4878) 2020-02-14 16:08:44 -08:00
Bram Kragten c60033027d Update material elements (#4877)
* Update material elements

* Update ha-checkbox.ts
2020-02-14 16:08:30 -08:00
Ian Richardson 3f7c29a6f6 ♻️ change entity-button to button card (#4581)
* ♻️ change entity-button to button card

* maintain separate entity-button class
2020-02-14 10:56:08 +01:00
Paulus Schoutsen b2243f480c Add option to lazy load cards (#4857)
* Add option to lazy load cards

* Lazy load header/footer elements

* Lazy load rows

* Clean up params

* Rename last var
2020-02-13 21:13:48 -08:00
Ian Richardson f5384e8bc8 add create helper functions for custom cards (#4853)
* add create helper functions for custom cards

* address comments
2020-02-13 21:13:29 -08:00
Robbie Trencheny ecc6fcf862 Hide HTML5 push notification toggle if inside external app (#4860)
* Hide HTML5 push notification toggle if external bus is engaged

* Use isExternal instead

* Hide the whole row

* Black

* Fix import

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-13 17:47:08 -08:00
HomeAssistant Azure 46cc2aec94 [ci skip] Translation update 2020-02-14 00:32:50 +00:00
Thomas Lovén c62a5a6dcd Freeze lovelace configuration on load (#4862)
* Freeze lovelace configuration on load

* Clone only when necessary

* Make cloning badges really work

* Freeze after checking

* Don't doublefreeze
2020-02-13 16:18:15 -08:00
Zack Arnett f6b10232ec Disabled Style Updates 2020-02-13 16:35:16 -05:00
Zack Arnett 87559c0938 Review Updates 2020-02-13 16:30:34 -05:00
Bram Kragten 7903541689 Add toolbars and mobile headers + layout tweaks (#4803)
* Add toolbars and mobile headers + layout tweaks

* Comments
2020-02-13 19:53:48 +01:00
Bram Kragten c93e1b0123 Add more info for Person (#4848)
* Add more info for Person

* Update src/dialogs/more-info/controls/more-info-vacuum.ts

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-13 09:06:52 -08:00
Bram Kragten e261fafdb3 Allow enabling/disabling automation from edit screen (#4846)
* Allow enabling/disabling automation from edit screen

* Comments
2020-02-13 09:06:14 -08:00
Bram Kragten 485e2fde25 Update hui-thermostat-card.ts (#4863) 2020-02-13 08:41:51 -08:00
Bram Kragten 6feaf64c90 Fix display of arrays/objects in attributes (#4836)
* Fix display of arrays/objects in attributes

* async import js-yaml
2020-02-13 08:22:41 -08:00
Bram Kragten 6b115bf06a Merge pull request #4859 from home-assistant/frenck-2020-0188
Spelling: Config(uration)
2020-02-13 10:29:46 +01:00
Bram Kragten f45785fafe Change defaults of automations to device (#4843)
* Change defaults of automations to device

* Script too

* Update device_automation.ts

* Update device_automation.ts
2020-02-12 20:43:44 -08:00
Ruslan Sayfutdinov ec046bc925 [history] fix dropdown animation (#4858) 2020-02-12 20:36:29 -08:00
HomeAssistant Azure ab5733718b [ci skip] Translation update 2020-02-13 00:33:01 +00:00
Franck Nijhof 1077fb2945 Spelling: Config(uration) 2020-02-13 00:30:41 +01:00
Bram Kragten b7a84cdd60 Merge pull request #4856 from home-assistant/dev
20200212.0
2020-02-12 22:41:36 +01:00
Bram Kragten 78102f5882 Merge branch 'master' into dev 2020-02-12 22:21:32 +01:00
Bram Kragten 4ea11bd928 Bumped version to 20200212.0 2020-02-12 22:18:01 +01:00
Bram Kragten 785aefa028 Bumped version to 20200130.3 2020-02-12 21:58:59 +01:00
Bram Kragten 5c2004bcc1 Bumped version to 20200130.2 2020-02-12 21:56:03 +01:00
Bram Kragten 156d944ca1 Fix translations for update button config entry system options (#4837) 2020-02-12 21:55:53 +01:00
Bram Kragten 97a6354a72 Fix tap firing twice on iOS (#4841) 2020-02-12 21:55:28 +01:00
Bram Kragten 49422c3f63 Fix translations for update button config entry system options (#4837) 2020-02-12 13:49:20 +01:00
Bram Kragten 0b8700f725 Hide zone edit button for non admins (#4840) 2020-02-12 13:48:51 +01:00
Bram Kragten c5aa000a97 Check for null target_temp (#4842)
Fixes #4359
2020-02-12 13:48:27 +01:00
Bram Kragten 4cdc4765f7 Fix tap firing twice on iOS (#4841) 2020-02-12 13:47:56 +01:00
Ruslan Sayfutdinov a95290235d [logbook] fix margins for RTL languages (#4852) 2020-02-11 17:29:35 -08:00
HomeAssistant Azure fb9d7ac2d8 [ci skip] Translation update 2020-02-12 00:32:46 +00:00
Ruslan Sayfutdinov d48a4e0ac6 [logbook] implement shouldUpdate (#4832)
* [logbook] implement shouldUpdate

* Update src/panels/logbook/ha-logbook.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-11 15:26:28 -08:00
Zack Arnett d33e035db7 Update Media Card to check for supported features 2020-02-11 13:11:25 -05:00
Bram Kragten 1437b4c4b6 Fix media control card styling (#4845) 2020-02-11 09:43:46 -05:00
Robert Resch 9fce60065b Add lozalization to more-info-vacuum (#4793)
* Convert more-info-vacuum to Lit

* Introduce VacuumCommand to reduce render complexity and duplicate code

* Add localization for more-info-vacuum

* Inline supportFeature instead of creating a const.

* - Use interface instead of class for VacuumCommand
- Add different translation for start_pause and pause as they are not the same

* fix typo

* Use VACUUM_COMMANDS.some instead of writing duplicate code

* add @bramkragten suggestions
2020-02-11 09:15:38 +01:00
Paulus Schoutsen d052b9ede8 Update en.json (#4835) 2020-02-11 09:05:18 +01:00
Ruslan Sayfutdinov 8cee5c729e [logbook] fix period dropdown animation (#4834) 2020-02-10 20:50:12 -08:00
HomeAssistant Azure 88bdf7c7ec [ci skip] Translation update 2020-02-11 00:32:36 +00:00
Bram Kragten 2c006e99f2 Use original id to remove entity (#4829) 2020-02-10 15:17:29 -08:00
Erik Montnemery e7e8dff0ec Graceful fallback if translations for device automations are missing (#4824)
* Graceful fallback if translations for device automations are missing

* Update src/data/device_automation.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/data/device_automation.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/data/device_automation.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* tweak

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-10 20:17:24 +01:00
Ian Richardson 981c798e22 💄 match alarm panel icon coloring to card's (#4825) 2020-02-10 08:43:38 -08:00
Ruslan Sayfutdinov 4613d8b1f6 [logbook] configure flex container to display entries correctly on mobile devices (#4810) 2020-02-10 10:11:28 +01:00
Paulus Schoutsen ba4e1949c4 Theme update refetch themes (#4812) 2020-02-10 10:10:39 +01:00
Iulian Onofrei cc6686a790 Fix typo (#4779) 2020-02-10 10:03:42 +01:00
Nicholas Amadori f791412f73 Spelling (#4806)
"Gerenal" corrected to "General"
2020-02-10 10:03:19 +01:00
HomeAssistant Azure 0c8ac17dcb [ci skip] Translation update 2020-02-10 00:32:29 +00:00
HomeAssistant Azure 9e11fe868e [ci skip] Translation update 2020-02-09 00:32:35 +00:00
Bram Kragten 7d91515bf5 Style tweaks (#4766)
* Style tweaks

* Update ha-style.ts

* Move derived styles
2020-02-08 14:49:29 -08:00
HomeAssistant Azure e0565c35ab [ci skip] Translation update 2020-02-08 00:32:33 +00:00
Paulus Schoutsen e5387e5806 Fall back to use handler if translations broken (#4777) 2020-02-07 18:46:16 +01:00
Paulus Schoutsen 8a4c52aeb7 Filter battery sensors from generated UI (#4799)
* Filter battery sensors from generated UI

* Use fancy TypeScript feature
2020-02-07 18:32:37 +01:00
Paulus Schoutsen 15e7b8117c Add integrations to dev info page (#4800)
* Add integrations to dev info page

* Fix annoying looking html tags

* What happened here
2020-02-07 18:30:38 +01:00
HomeAssistant Azure d1703ba3e8 [ci skip] Translation update 2020-02-07 00:32:35 +00:00
Ruslan Sayfutdinov c977f22047 Show seconds in the UI (#4765) 2020-02-06 10:38:38 -08:00
Zack Arnett 2e47aa1905 Update Edit Footer for Cards (#4752)
* Update CSS

* Radius Updates

* Updating to be a ha-card element
2020-02-05 23:05:49 -08:00
HomeAssistant Azure c72105dca3 [ci skip] Translation update 2020-02-06 00:32:31 +00:00
Bram Kragten e01f1cfcac More info scroll fix (#4774)
* Fix more info dialog scrolling

* Update ha-more-info-dialog.js
2020-02-05 14:03:16 -08:00
Zack Arnett 2e4c73c087 Convert Media Control Card to Typescript (#4761)
* Delete old JS file. Add new TS file. Add Type

* Updates

* Reviews

* Review Updates :)

* Updating State Localize

* Clean up

* Fixing Travis
2020-02-05 09:28:29 -08:00
Bram Kragten c7f7ef28bf Fixes removing audio device (#4763)
(only the supervisor doesn't support it)
2020-02-05 09:21:43 -08:00
Michael Irigoyen aac7dbab58 Update Material Design Icons to v4.9.95 (#4764) 2020-02-05 17:34:10 +01:00
Bram Kragten 8518f774d4 Rename hass.io panel to supervisor 2020-02-05 10:00:19 +01:00
HomeAssistant Azure cb0d91d124 [ci skip] Translation update 2020-02-05 00:32:34 +00:00
Zack Arnett 107f428dd3 Sensor Card Fill feature (#4745) 2020-02-04 16:11:13 -08:00
Bram Kragten 7758ddba56 Fix theming with derived styles (#4758)
* Fix theming with derived styles

* Move
2020-02-04 15:40:35 -08:00
Paulus Schoutsen e0376c803f Fix hassio audio 2020-02-04 10:28:43 -08:00
Paulus Schoutsen 788c490bbc Update update headers in hassio (#4751)
* Update update headers in hassio

* Other tabs too
2020-02-04 18:36:10 +01:00
Ian Richardson cdf6e9eb75 🐛 properly format timestamps in glance card (#4602)
* 🐛 properly format timestamps in glance card

* address review comments
2020-02-04 16:18:42 +01:00
Bram Kragten 4aa49f66bc Remove unused classmap 2020-02-04 15:55:29 +01:00
Bram Kragten 50d0671abe Bumped version to 20200130.1 2020-02-04 15:38:03 +01:00
Bram Kragten e176357fbf Tweak badge focus padding (#4750) 2020-02-04 15:34:20 +01:00
David F. Mulcahey de1b127ac2 fix loading groups (#4727) 2020-02-04 15:33:50 +01:00
Bram Kragten 1dad7c81da Fix passive color radius and fix switch label clicks (#4703) 2020-02-04 15:33:01 +01:00
Bram Kragten e980e93969 Change map settings icon (#4701)
* Change map settings icon

Closes #4694

* hide for demo
2020-02-04 15:28:59 +01:00
Ian Richardson 57fc56f836 🐛 fix tabindex for default entity more-info actions (#4697)
* 🐛 fix tabindex for default entity more-info actions

* Update hui-state-label-badge.ts
2020-02-04 15:28:33 +01:00
Bram Kragten 05113e1809 Styling zone menu (#4684)
* Styling zone menu

* Update ha-device-entities-card.ts
2020-02-04 15:28:10 +01:00
Bram Kragten 1bf82f216a Tweak badge focus padding (#4750) 2020-02-04 15:15:15 +01:00
Bram Kragten 004ff58c21 Update hassio-style.ts 2020-02-04 13:34:14 +01:00
Joakim Sørensen f1a1654371 Use icon image where available (#4721)
* Use iconimg where available

* Adjust margin for icon

* remove log

* Fix property casing

* Add blue topbar, and generalize properties

* Inline checks

* inline property functions

* Limit compute

* Linting

* lovercase const

* Review comments and move update dot to line

* Add roboto font to hassio

* Fix update and stopped styles colliding

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-04 12:36:09 +01:00
Bram Kragten 862044ca23 Hassio styling tweaks (#4749)
* Hassio styling tweaks

* Update hassio-style.ts

* Update hassio-pages-with-tabs.ts
2020-02-04 10:54:10 +01:00
Paulus Schoutsen c54b474838 Hide automations from generated UI (#4748) 2020-02-04 09:27:26 +01:00
Bram Kragten 42cbe863bb Fix passive color radius and fix switch label clicks (#4703)
* Fix passive color radius and fix switch label clicks

* Colors vars
2020-02-03 22:32:22 -08:00
HomeAssistant Azure ccc42dad79 [ci skip] Translation update 2020-02-04 00:33:02 +00:00
Paulus Schoutsen 82ff444cec Confirm when resetting hassio optoins (#4718) 2020-02-03 08:53:57 -08:00
Paulus Schoutsen 24c591fbf3 Convert Hass.io add-on options to YAML (#4717)
* Convert Hass.io options to YAML

* Fix yaml editors on other places

* Update ha-automation-action-service.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-03 11:06:47 +01:00
Joakim Sørensen ad676d7fd3 Fix theme on sensor card (#4724) 2020-02-03 09:30:20 +01:00
David F. Mulcahey cbe4782d78 fix loading groups (#4727) 2020-02-03 09:29:13 +01:00
HomeAssistant Azure 3fdcc1c0ea [ci skip] Translation update 2020-02-03 00:32:48 +00:00
HomeAssistant Azure f9d64e51c4 [ci skip] Translation update 2020-02-02 00:32:38 +00:00
Paulus Schoutsen b082828a75 Forward haptic events to parent window (#4719) 2020-02-01 08:11:57 -08:00
Paulus Schoutsen 25f5bf0042 Fix ingress add-on not started dialog showing twice (#4716)
* Fix ingress add-on not started dialog showing twice

* logging not allowed
2020-02-01 08:11:30 -08:00
Bram Kragten f5dec3c6d5 Change map settings icon (#4701)
* Change map settings icon

Closes #4694

* hide for demo
2020-02-01 00:26:22 -08:00
Joakim Sørensen 3215437bb8 Fixes add-on audio selector (#4648)
* Fixes addon audio selector

* Set device as property

* Use getAttribute

* Keep device as attribute

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-31 23:03:30 -08:00
HomeAssistant Azure 33176d8f3d [ci skip] Translation update 2020-02-01 00:32:28 +00:00
Ian Richardson f82b62f45c 🐛 fix tabindex for default entity more-info actions (#4697)
* 🐛 fix tabindex for default entity more-info actions

* Update hui-state-label-badge.ts
2020-01-31 17:19:08 +01:00
Bram Kragten edfdd0da89 Styling zone menu (#4684)
* Styling zone menu

* Update ha-device-entities-card.ts
2020-01-31 12:14:21 +01:00
HomeAssistant Azure 33d9bf4660 [ci skip] Translation update 2020-01-31 00:32:34 +00:00
Bram Kragten 1479ce9d56 Merge pull request #4672 from home-assistant/dev
20200130.0
2020-01-30 17:37:25 +01:00
Bram Kragten 1912bda60d Fix flex issues on google and alexa settings page (#4674) 2020-01-30 17:18:27 +01:00
Bram Kragten 2e25db4d1b Merge pull request #4673 from home-assistant/fix-tooltip
Fix tooltip in sidemenu
2020-01-30 17:18:02 +01:00
Bram Kragten ec08b2ef65 Update ha-sidebar.ts 2020-01-30 16:39:09 +01:00
Bram Kragten 2c740cedb8 Fix tooltip sidemenu 2020-01-30 16:38:42 +01:00
Bram Kragten e3984d7bf9 Bumped version to 20200130.0 2020-01-30 15:51:24 +01:00
Bram Kragten 2f86b6ec3d Merge pull request #4671 from home-assistant/device-page-fixes
Device info page fixes
2020-01-30 14:51:40 +01:00
Bram Kragten d10045eac1 Remove log 2020-01-30 14:34:53 +01:00
Bram Kragten 41da68290e Merge pull request #4668 from home-assistant/zone-fixes
Zone ui fixes
2020-01-30 14:04:36 +01:00
Bram Kragten 593a2de07b Device info page fixes
Fixes #4666
Fixes #4664
Fixes #4663
Fixes #4662
2020-01-30 14:03:45 +01:00
Bram Kragten 59540bdf63 Merge pull request #4667 from home-assistant/restore-back-buttons
Restore back buttons
2020-01-30 11:56:29 +01:00
Bram Kragten 616df070a4 Zone ui fixes
fixes #4659
fixes #4658
fixes #4661
fixes #4665
fixes #4660
fixes #4655
2020-01-30 11:54:49 +01:00
Bram Kragten ef62f1956b Restore back buttons
fixes #4654
fixes #4653
fixes #4656
2020-01-30 11:22:50 +01:00
HomeAssistant Azure b41f25ef12 [ci skip] Translation update 2020-01-30 00:32:32 +00:00
Bram Kragten ce8caa34f5 Merge pull request #4649 from home-assistant/dev
20200129.0
2020-01-29 19:48:36 +01:00
Bram Kragten 3ed538276e Merge branch 'master' into dev 2020-01-29 19:33:36 +01:00
Bram Kragten c1a29e8091 Bumped version to 20200129.0 2020-01-29 19:28:09 +01:00
Bram Kragten 4e8bf434f1 Add settings button to map panel (#4641) 2020-01-29 19:04:12 +01:00
Bram Kragten dd8c568a2c Fix action directive double tab iOS issues (#4639) 2020-01-29 19:03:43 +01:00
Bram Kragten 7ab9257f5e Fix translation advanced mode (#4647) 2020-01-29 19:01:35 +01:00
Bram Kragten 7021fd5809 Make dialogs full width on mobile, and modal (#4642)
* Make dialogs full width on mobile, and modal

* Fix dialog to bottom screen mobile
2020-01-29 08:59:37 -08:00
Bram Kragten adec2fc2df Only update disabled for entity reg if it is a user value. (#4646) 2020-01-29 08:51:29 -08:00
Bram Kragten 27ebcc1bda Remove balloob from cast page (#4645) 2020-01-29 17:09:56 +01:00
HomeAssistant Azure 2fb7a31c76 [ci skip] Translation update 2020-01-29 00:32:22 +00:00
Bram Kragten 65994e7280 Add related items to device info (#4637)
* Add related items to device info

* Update ha-config-device-page.ts

* remove log

* Lint

* Fix dialog logic showing triggers on script dialog

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-28 15:13:44 -08:00
Joakim Sørensen 036eedc69d Add styles to addon-header (#4632)
* Add styles to addon-header

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-28 14:37:53 -08:00
Joakim Sørensen 7937714ce6 Fixes add-on install button (#4635)
* Fixes add-on install button

* Set the default

* linting issue
2020-01-28 14:37:42 -08:00
Bram Kragten cdbd51f6f7 Update hass-tabs-subpage.ts 2020-01-28 22:44:21 +01:00
Bram Kragten d5a8105718 Update ha-config-areas.ts 2020-01-28 22:40:57 +01:00
Bram Kragten 1c9eab7ca0 Change config navigation to tabs (#4630)
* Change config navigation to tabs

* Update ha-menu-button.ts

* Icons

* update

* Review comments

* configSections -> object instead of array
2020-01-28 21:48:21 +01:00
Joakim Sørensen 6e624b394b Corrects add-on link (#4634)
* Fixes the addon url

* quote it

* Don't link the extra space

* puerly for testing

* Don't link the extra space
2020-01-28 11:39:42 -08:00
Joakim Sørensen 1cb10694e7 Fixes status switch spacing (#4633)
* fix switch spacing

* Fix alignment
2020-01-28 11:37:33 -08:00
HomeAssistant Azure d496b9742f [ci skip] Translation update 2020-01-28 00:32:38 +00:00
Paulus Schoutsen 72e5375795 Fix hassio build 2020-01-27 11:57:28 -08:00
Bram Kragten 04f8f0f74f Render should always return a html template (#4612) 2020-01-27 08:34:22 -08:00
Paulus Schoutsen 82fb622904 Add buttons header-footer (#4601)
* Add buttons header-footer

* Simplify

* Update src/panels/lovelace/header-footer/hui-buttons-header-footer.ts

Co-Authored-By: Ian Richardson <iantrich@gmail.com>

* Address comments

Co-authored-by: Ian Richardson <iantrich@gmail.com>
2020-01-27 09:34:08 +01:00
HomeAssistant Azure 95ba1fd0cb [ci skip] Translation update 2020-01-27 00:32:22 +00:00
Bram Kragten c7b3a517e8 Add area picker (#4608)
* Add area picker

* Make config flow dialog wider

* Comment
2020-01-26 21:41:11 +01:00
Joakim Sørensen 523dc881bb Convert Hass.io panel to TS/Lit (#4398)
* Convert system

* Convert dashboard

* Remove logging statement

* Convert addon view (base) and log

* Convert addon-view info

* Remove unintended file in commit

* Convert ansi-to-html

* Fix log update reloading

* Convert addon-view config

* Convert addon-view network

* Add inn missing haStyle

* Convert addon-view audio

* convert dialog-hassio-markdown

* Convert dialog-hassio-snapshot

* Convert entrypoint

* Convert hassio-style

* Lint hassio-addon-audio

* Lint hassio-addon-audio

* Lint hassio-addon-config

* Remove file that should not have been comitted

* Linting of the rest

* Cleanup

* Cleanup config

* Required changes after rebase

* Change property/method clasification

* use ? for _inputDevices and _outputDevices

* Use undefined instead of null for addon property

* Use ? for addons property

* Async addon audio

* Corrects typo in Error

* Wrap async calls in try/catch

* Remove npm task

* Fix async constant/functions

* Reintroduce noDevice

* We don't use the data of the POST no need to store and pass it

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update hassio/src/addon-view/hassio-addon-audio.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-audio.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Apply review comments

* Simplify selected item change

* Change back to attr

* Apply lessons learned to addon-config

* Send event on config change

* Extract error msg

* Apply lessons learned to addon-info

* Apply lessons learned to addon-logs

* Fix shorthand linting issue

* Prefix private with _

* reset error

* Apply lessons learned to addon-network

* Revert package.json change

* Apply lessons learned to addon-view

* Fixes Unnecessary 'await' issue

* rename content -> addoninfo

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-network.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-logs.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Fix syntax issues

* Fix error handling issues

* Use forEach and not map

* Use private for _error

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Use classMap

* remove unneded limitations

* it can be null

* Update hassio/src/system/hassio-supervisor-log.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* split hassio.ts

* Update datahandling

* Return result

* Use map instead of forEach

* Unnecessary 'await'.

* Move setSupervisorOption to data/hassio/supervisor

* Unnecessary 'await'

* Move fetchSupervisorLogs to data/hassio/supervisor

* Move fetchHassioHardwareInfo to data/hassio/hardware

* change error property

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-26 20:37:20 +01:00
HomeAssistant Azure 1123adc584 [ci skip] Translation update 2020-01-26 00:32:39 +00:00
Timmo 15be1688ad Merge Confirmation Dialogs into Alert, Confirmation or Prompt (#4114)
*  Add alert dialog

🔨 Add alert dialogs

🔨 add more

🔨 Add more

🔨 Enhance check

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

🔥 Combine confirmation into alert dialog

🔨 Replace confirmation calls with alert dialog

✏️ Remove 3

🔨 Add prompt logic

Rename to generic

Rename and add new params for alert, confirmation and prompt

Renames and prop changes

Rename and props

Cleanup

Setup prompt

Wording

Use text for prompt

Add prompts and confirmation on delete user

Rename

Rename

Rename imports

Fix parms change

Only use default for confirmation

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Update src/dialogs/generic/dialog-box.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Update

change text

Add autofocus

Merge show dialogs into one generic

Add automation delete confirmation

Modal

Remove deleted file

Add delete donfirm to script

Fix error with tslint

Fix from rebase

Fix from rebase

Fix from rebase

* 🔧 Split dialog functions

* 🔧 Fix from rebase

* 🔧 More fixes

* 🔧 Fix

* 🔧 Apply suggestions from code review

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* 🔧 Update from suggestion

* 🔧 Renames and cleanup

* 🔧 Camelcase

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* 🔧 camel case

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-25 17:48:29 +01:00
Bram Kragten 0c0e82a3ba Move get dialog logic entity registry (#4579) 2020-01-25 14:49:36 +01:00
Paulus Schoutsen 8abe8d7615 Automatically strip area name from entities (#4597) 2020-01-25 14:43:11 +01:00
Paulus Schoutsen f95ba4c04c Allow options flow to define form title/description (#4598)
* Allow options flow to define their own title

* Allow description too
2020-01-25 14:38:58 +01:00
Ian Richardson 6874788cc0 🐛 fix severity toggle in gauge card editor (#4600) 2020-01-25 14:35:48 +01:00
David F. Mulcahey f77bd79387 fix user given name display (#4606) 2020-01-25 14:34:15 +01:00
Ian Richardson 67a91b7c19 💄 color lights unless explicitly set not to (#4603) 2020-01-24 22:21:31 -08:00
HomeAssistant Azure 30211fe61d [ci skip] Translation update 2020-01-25 00:32:57 +00:00
Bram Kragten 9de80b2947 Fix menu button for touch (#4589)
* Fix menu button for touch

* Missed 2
2020-01-24 23:21:41 +01:00
Bram Kragten b7a3fe6e91 Improve zones UI (#4576)
* Improve zones UI

* Make home blue

* Only fit after edit in dialog

* Filter states from UI edtor

* Comments

* bring editable circle to front

* Update ha-config-zone.ts

* Update ha-config-zone.ts

* Hide side navigation for zones

* Fix initial ignore fit, fix click on switch label, space dialog buttons
2020-01-24 23:21:26 +01:00
Ian Richardson 1f38d13b3b add action_name option for scene/script rows (#4571)
*  add action_name option for scene/script rows

* address review comments
2020-01-24 23:01:01 +01:00
Ian Richardson ef6e468a7f 💄 align light card regardless of brightness support (#4582)
* 💄 align light card regardless of brightness support

* merge css properties
2020-01-24 22:12:54 +01:00
Ian Richardson 729a5e385f 🐛 don't remove key when value is empty (#4583)
* 🐛 don't remove key when value is empty

* only restrict delete to required field
2020-01-24 22:12:14 +01:00
Bram Kragten 32fd7a51f4 Fix entity registry dialog translations (#4575)
Fixes #4567
2020-01-24 10:09:40 -08:00
Ian Richardson f3f32c800e 💄 move advanced mode toggle (#4587) 2020-01-24 09:50:20 -08:00
Bram Kragten 1f44b4b5a9 Fit map if an entity moved (#4590) 2020-01-24 15:12:21 +01:00
Bram Kragten 971538e9c2 Fix alarm card editor (#4592) 2020-01-24 15:11:57 +01:00
Bram Kragten db9924bd87 Fix Mobile Entity Registry Delete Button (#4591) 2020-01-24 13:59:43 +01:00
Ian Richardson 74c6b9077a add conditional row (#4569)
*  add conditional row

* fix types

* address comments
2020-01-24 09:59:36 +01:00
Ian Richardson 23865c31e6 🐛 fix editor switches (#4584) 2020-01-24 09:32:56 +01:00
Ian Richardson 8641a701cb revert fix for card editor overflow menu selection (#4585) 2020-01-24 09:32:14 +01:00
HomeAssistant Azure 3ca99e5c90 [ci skip] Translation update 2020-01-24 00:32:23 +00:00
Ian Richardson 753804f463 💄 additional active icon states (#4510)
* 💄 additional active icon states

* ♻️ sort by domain

* 👌 address review comments

* state_color option for entities card

* fix typo

* 👌 address comments

extract common css
properly set boolean attributes
separate error states/color
fix unavailable color

* only make copy if necessary

* remove paused timer

* remove paused timer
2020-01-23 09:01:18 -08:00
Ian Richardson 9aedeab4fa close card editor on ESC (#4570) 2020-01-23 14:43:09 +01:00
HomeAssistant Azure fc4e3e90b2 [ci skip] Translation update 2020-01-23 00:32:51 +00:00
Bram Kragten ae8a9940ed Add state and related to entity reg dialog (#4473)
* Add state and related to entity reg dialog

* Replace more-info-settings, remove state tab add state button
2020-01-22 15:03:47 -08:00
Pascal Vizeli a544295167 Add netlify pipeline (#4563)
* Add netlify pipeline

* Address comments
2020-01-22 14:42:32 -08:00
Ian Richardson 8a9e149d33 ♻️ convert more-info-script to LitElement/TypeScript (#4545)
* ♻️ convert more-info-script to Lit/TypeScript

* ♻️ convert more-info-script to LitElement/TypeScript

* 👌 use relative time
2020-01-22 22:01:02 +01:00
Bram Kragten 49611e285f Add zones config UI (#4556)
* Add zones config UI

* Update en.json

* Update dialog-zone-detail.ts

* Update hc-cast.ts

* Update more-info-content.ts

* Add drag radius and icon to dialog

* Review comments
2020-01-22 11:29:51 -08:00
Franck Nijhof def0c51669 Update issue and PR templates (#4553)
* Update issue and PR templates

* Small Tweak
2020-01-22 09:33:18 -08:00
Ian Richardson 572215b359 🔥 remove more-info-updater (#4544)
* 🔥 remove more-info-updater

* remove reference
2020-01-22 09:30:12 -08:00
Bram Kragten 0f8cf574d3 Use state icon in logbook instead of domain icon (#4558)
Fixes https://github.com/home-assistant/home-assistant-polymer/issues/2313
2020-01-22 09:17:49 -08:00
Bram Kragten 312f1df368 Fix string type in ha-form-string (#4559) 2020-01-22 15:28:54 +01:00
Bram Kragten 5bfacb3bf0 Fix lovelace reload button on error page (#4557)
Fixes https://github.com/home-assistant/home-assistant-polymer/issues/3107
2020-01-22 15:03:51 +01:00
HomeAssistant Azure 2103866c48 [ci skip] Translation update 2020-01-22 00:32:29 +00:00
Franck Nijhof 61cf1bf1eb Add stalebot (#4551) 2020-01-21 16:51:10 +01:00
David F. Mulcahey 9c407caf2c Hide blank manufacturer names on Device details page (#4543)
* don't show "by" when there is no manufacturer

* Update src/panels/config/devices/device-detail/ha-device-card.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-21 16:26:32 +01:00
Bram Kragten 323cf72be3 Fix #4539 (#4550) 2020-01-21 16:25:58 +01:00
Marius eeced628b3 add never_triggered (#4442)
* add never_triggered

Add never_triggered to the last-triggered secondary_info.
as it stands, the secondary_info line is empty when used on an automation or script that hasn't been triggered yet, while the user expects info on that line.

* add "never_triggered"

for automation and script, to use in secondary_info
add last_triggered on script, because it was missing

* delete spaces

* add 2 spaces

travis check

* travis check row 116

* add never_triggered

to entities, delete incorrect entries to automation and script

* Update src/translations/en.json

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/components/hui-generic-entity-row.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/components/hui-generic-entity-row.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update en.json

* Update hui-generic-entity-row.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Ian Richardson <iantrich@gmail.com>
2020-01-21 08:21:32 -06:00
David F. Mulcahey 38be488f86 Update ZHA config panel to handle the addition of ZHA devices for the Zigbee coordinator (#4541)
* only show when there are entities

* handle coordinator correctly
2020-01-21 10:35:31 +01:00
Ian Richardson 83756a338a ♻️ convert more-info-automation to LitElement/TypeScript (#4547) 2020-01-21 10:31:22 +01:00
Ian Richardson b9415cb5f0 ♻️ convert more-info-default to LitElement/TypeScript (#4546) 2020-01-21 10:29:38 +01:00
HomeAssistant Azure fd49e26120 [ci skip] Translation update 2020-01-21 00:32:30 +00:00
Bram Kragten 3474e92eb7 Fix alignment entities card header toggle (#4532) 2020-01-20 21:05:05 +01:00
Bram Kragten 913299998c Fix missing text device entities (#4531) 2020-01-20 21:04:47 +01:00
Paulus Schoutsen d9e522e4d7 Add header/footer support to entities card (#4496)
* Add header/footer support to entities card

Oops debug radius

Revert change to hui-picture-card

Remove unused import

* Use new createElement helper
2020-01-20 18:13:19 +01:00
David F. Mulcahey 22c8e4a455 Add the "add all device entities to Lovelace" functionality to ZHA device card (#4521)
* fix race condition

* add all entities
2020-01-20 14:22:48 +01:00
Franck Nijhof 02fe5144d8 Remove obsolete homebridge_* attributes (#4533) 2020-01-20 14:17:57 +01:00
David F. Mulcahey 9d333fb557 use logical device type (#4524) 2020-01-20 12:14:47 +01:00
David F. Mulcahey ef2ca4a07f Clean up display of ZHA device page (#4522)
* remove margins

* adjust help icon and max width
2020-01-20 12:13:47 +01:00
Ian Richardson f74ee76ae2 📝 clarify what conditions in automations are (#4514)
* 📝 clarify what conditions in automations are

* 📝 reword to make short and sweet
2020-01-19 17:07:58 -08:00
HomeAssistant Azure 6fb9a7636d [ci skip] Translation update 2020-01-20 00:32:40 +00:00
Joakim Sørensen 56249110d6 Adds error to shopinglist card editor if integration is not loaded (#4523)
* Adds error to shopinglist card edito if integration is not loaded

* localization

* Update src/translations/en.json

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-19 14:39:07 -08:00
Ian Richardson 1a2ebabd22 🚸 prompt user to confirm logout (#4501)
* 🚸 prompt user to confirm logout

* 👌 update dialog title/text/confirm
2020-01-18 22:02:36 -08:00
Ian Richardson 28511d0cbf only set tabindex if tap_action defined (#4511) 2020-01-18 21:59:56 -08:00
Joakim Sørensen b01bdec973 Bring back ha-icon-next (#4516) 2020-01-18 21:57:24 -08:00
Michael Irigoyen ecee5980af Update Material Design Icons to v4.8.95 (#4520) 2020-01-18 21:54:30 -08:00
HomeAssistant Azure 3e1b85e6b5 [ci skip] Translation update 2020-01-19 00:32:50 +00:00
HomeAssistant Azure ce94d1ea7c [ci skip] Translation update 2020-01-18 00:32:47 +00:00
Paulus Schoutsen 62654ec598 Refactor create element (#4509)
* Refactor create element

* Move things around

* Fix reference in gallery
2020-01-17 16:19:01 -08:00
Ian Richardson fbe4550c78 🐛 fix display of current/set temperature when 0 (#4498)
* 🐛 fix display of current/set temperature when 0

* 👌 nullish coalescing
2020-01-17 23:08:18 +01:00
Bram Kragten a082667c24 Bumped version to 20200108.2 2020-01-17 22:42:48 +01:00
Bram Kragten fc29b519ae Don't use light card in generated Lovelace mode (#4505)
* Don't make seperate card for grouped lights

* Update generate-lovelace-config.ts

* Don't use light group at all in generated UI
2020-01-17 22:42:24 +01:00
Bram Kragten c391b19c0e fixes #4468 (#4508) 2020-01-17 22:41:57 +01:00
Bram Kragten 8c49e3c4ef fixes #4468 (#4508) 2020-01-17 22:41:09 +01:00
Ian Richardson 67022b9ffc 🐛 make picture card tabbable only if action set (#4494)
* 🐛 make picture card tabbable only if action set

* 👌use ifDefined and hasAction

* ✏️ fix syntax mistake
2020-01-17 22:39:24 +01:00
Bram Kragten eb9023595d Don't use light card in generated Lovelace mode (#4505)
* Don't make seperate card for grouped lights

* Update generate-lovelace-config.ts

* Don't use light group at all in generated UI
2020-01-17 22:38:08 +01:00
Bram Kragten 8262d1617f Bumped version to 20200108.1 2020-01-17 17:13:00 +01:00
Alexei Chetroi 581a803cc4 Fix ZHA add device path. (#4486) 2020-01-17 17:12:13 +01:00
Paulus Schoutsen 5ff8fe68ba Alert user when add-on not started (#4485) 2020-01-17 17:02:56 +01:00
David F. Mulcahey a2a039ebc5 Add group binding to the ZHA config panel and misc. cleanup (#4466)
* clean up zha device card and usage

* group binding tile

* add cluster selection to group binding tile

* fix css class name

* fix filtering

* multiselect for clusters in group binding

* pass narrow to cluster table

* fix tables

* fix device page

* address remaing comments from previous PR

* fix bad cherry-pick

* css cleanup

* consistency

* use properties

* translations

* add confirmation dialog to remove button

* fix css

* review comments

* remove noise
2020-01-17 16:39:57 +01:00
Ian Richardson 1064aed1b0 📝 make some Lovelace UI text more clear (#4500) 2020-01-17 09:54:16 +01:00
Ian Richardson 7025592e8e 🐛 fix picture glance card's camera_view option in editor (#4495) 2020-01-17 09:44:57 +01:00
HomeAssistant Azure 4966354b62 [ci skip] Translation update 2020-01-17 00:32:37 +00:00
David F. Mulcahey 68d6faf4af fix selection check (#4488) 2020-01-16 18:19:01 +01:00
Paulus Schoutsen e3346483b9 Hide device trackers from generated lovelace (#4487) 2020-01-16 08:57:41 +01:00
HomeAssistant Azure e8fb79e5ce [ci skip] Translation update 2020-01-16 00:32:40 +00:00
Alexei Chetroi d612162ab1 Fix ZHA add device path. (#4486) 2020-01-15 20:05:05 +01:00
Bram Kragten 86f8ef3a70 Styling focus menus (#4483)
* Styling menus

* Update ha-config-navigation.ts
2020-01-15 19:41:56 +01:00
Bram Kragten 0e43435362 Don't ask to choose view when only 1 view (#4480) 2020-01-15 09:05:01 -08:00
Bram Kragten aaefe0b09f Handle unknown state (#4481) 2020-01-15 09:01:59 -08:00
Bram Kragten bc731a9dc3 Add edit btn to more info for scene, script and automation (#4476) 2020-01-15 09:50:16 +01:00
Bram Kragten da25701dca Disable adoptedStyleSheets in dev (#4474) 2020-01-15 09:25:17 +01:00
Bram Kragten 21ae483dc9 Styling fixes (#4475) 2020-01-15 09:25:04 +01:00
HomeAssistant Azure 38b6e9ca10 [ci skip] Translation update 2020-01-15 00:32:57 +00:00
Bram Kragten d31245866c Add DEPRECATED to states ui (#4463)
* Add DEPRECATED to states ui

* unelevated red

* target

* Add msg in info
2020-01-14 06:35:01 -08:00
Bram Kragten 4e08d8f3b3 Fix zha back btn (#4470) 2020-01-14 07:57:00 -05:00
Bram Kragten 1e717ab33e Catch undefined cloudstatus (#4465) 2020-01-14 13:52:23 +01:00
Bram Kragten 995fb4974e Fix translations (#4469) 2020-01-14 13:20:06 +01:00
HomeAssistant Azure ffb76132f8 [ci skip] Translation update 2020-01-14 00:32:29 +00:00
Bram Kragten acba3af54b Fix back btn for Polymer (#4467) 2020-01-13 18:21:43 +01:00
Paulus Schoutsen 40ac456937 Force refresh tokens if external app (#4461) 2020-01-13 05:47:08 -08:00
Bram Kragten 5c32413bf7 Onboarding core: Display error message when saving fails (#4462) 2020-01-13 05:31:53 -08:00
Bram Kragten 22792c70c5 Change config panel navigation (#4377)
* Change config panel navigation

* Show active + don't show toolbar?

* Update ha-panel-config.ts

* Change color of menu toolbar

* Update ha-config-router.ts

* Review comments
2020-01-12 17:57:38 +01:00
Krisjanis Lejejs a8ed87298a Improved map panel and map card to ignore zones when fitting map. (#4447)
* Improved map panel and map card to ignore zones when fitting map. [#1598](https://github.com/home-assistant/home-assistant-polymer/issues/1598)

* Improved map panel and map card to ignore zones when fitting map. [#1598](https://github.com/home-assistant/home-assistant-polymer/issues/1598)

* Improved map panel and map card to ignore zones when fitting map. [#1598](https://github.com/home-assistant/home-assistant-polymer/issues/1598)

* Changed approach and created a different array for zones

* Removed zone key option for markers
2020-01-12 17:56:55 +01:00
Joakim Sørensen b15270dfe2 Use correct suffix for elevation (#4454)
* Use correct suffix for elevation

* Use correct suffix for elevation
2020-01-12 07:31:59 -08:00
Bram Kragten 58ad949bc8 Virtualize logbook (#4450)
* Virtualize logbook

* Clean

* Update ha-logbook.ts
2020-01-12 13:00:26 +01:00
HomeAssistant Azure adce40de56 [ci skip] Translation update 2020-01-12 00:33:31 +00:00
Ian Richardson 0f487ae4bf Add tabindex to lovelace elements (#4160)
* tabindex

* use action handler

* circular focus test

* address comment

* add focus styling to other elements

* add focus styling to cards

* style glance card entities

* Add back light/thermo changes that were lost in rebase

* Remove unused import

* lint

* lint

* 💄 tweak focus style for glance entities

* 💄 apply styling to focused state-label-badges
2020-01-11 11:50:43 +01:00
Joakim Sørensen 2848e3a63b Adds CCS var usage to person dialog (#4449) 2020-01-11 11:49:57 +01:00
Bram Kragten 5a172a64c5 Make entry flow dialog modal (#4440)
* Make entry flow dialog modal

* Add close button

* Update dialog-data-entry-flow.ts

* Fix aria-label
2020-01-10 16:40:19 -08:00
HomeAssistant Azure 433aa16ea6 [ci skip] Translation update 2020-01-11 00:32:34 +00:00
HomeAssistant Azure 50cb8cf3cc [ci skip] Translation update 2020-01-10 00:32:38 +00:00
Sean Mooney 4e5406b27b Typo fix in issue template (#4445)
fixes small typo, necesarry = necessary
2020-01-09 09:29:42 -06:00
Franck Nijhof 80eb80619a Add configuration for Lock Threads on closed pull requests (#4443) 2020-01-09 11:40:25 +01:00
Ian Richardson bf71b3a869 ♻️ convert ha-attributes to lit-element (#4350)
* ♻️ convert ha-attributes to lit-element

* Address comments

* inline items

* 🐛 Fix attribution display logic
2020-01-09 10:22:23 +01:00
HomeAssistant Azure ff270c4b7d [ci skip] Translation update 2020-01-09 00:32:44 +00:00
Bram Kragten 8b659498b6 Merge pull request #4439 from home-assistant/dev
20200108.0
2020-01-08 18:54:05 +01:00
David F. Mulcahey 5415068917 Rework the ZHA config panel (#4415)
* convert zha config panel to tabs

* add spacer to prevent combobox from hitting bottom

* break clusters out into their own section

* cleanup buttons

* remove header

* make devices default tab

* convert from tabs to a list view

* convert to table on dashboard

* fix anchor on mobile safari

* cleanup CSS to fix display on mobile

* cleanup card css

* more css cleanup

* fix group page

* remove translations changes

* Update src/panels/config/zha/zha-clusters.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-config-dashboard.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-device-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-groups-dashboard.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* review comments

* fix dangling quote after commit suggestion

* css cleanup

* remove flex rules

* remove flex rules

* css  cleanup

* remove dialog per review comments

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-08 18:35:21 +01:00
Bram Kragten 357a67c00d Bumped version to 20200108.0 2020-01-08 18:26:20 +01:00
HomeAssistant Azure cbe4269320 [ci skip] Translation update 2020-01-08 17:25:54 +00:00
Bram Kragten fbd5185ce2 Add ability to remove Lovelace config (#4430)
* Add ability to remove Lovelace config

* Update hc-lovelace.ts
2020-01-08 18:19:10 +01:00
Bram Kragten a33cf97e2c Fix moving actions with data (#4438) 2020-01-08 18:18:53 +01:00
Pascal Vizeli 7e7da26543 Update azure-pipelines-translation.yml for Azure Pipelines 2020-01-08 16:54:09 +01:00
Bram Kragten 79058e893b Add alert when Google sync failed (#4435) 2020-01-08 15:59:22 +01:00
Bram Kragten e9231fc17e 20200107.0
20200107.0
2020-01-07 21:26:10 +01:00
Bram Kragten 2eb548bb74 Merge branch 'master' into dev 2020-01-07 20:53:23 +01:00
Bram Kragten 08baf8a757 Bumped version to 20200107.0 2020-01-07 20:50:51 +01:00
Bram Kragten f02fa6a94b Add multi select to entity registry (#4424)
* Add multi select to entity registry

* Fix filter and sort on status

* Remove unused prop platform

* Review

* Update ha-config-entity-registry.ts
2020-01-07 12:29:42 +01:00
Bram Kragten 2ed6d0e73c Make modal of Lovelace editor dialogs (#4426)
Fixes #4425
2020-01-06 22:25:17 +01:00
David F. Mulcahey 35d9b2ac3c Add the ability to create new Zigbee groups to the ZHA config panel (#4384)
* add group page

* Update src/panels/config/zha/zha-add-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* fix group name handling

* Update src/panels/config/zha/zha-add-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-06 07:02:47 -05:00
Bram Kragten 18d09c6f04 Add UI for restored entities (#4414)
* Add UI for restored entities

* Add conformation for removal

* Apply suggestions

* Guard
2020-01-03 12:44:25 +01:00
Joakim Sørensen 70b81de49d Force rerender on update/save (#4396)
* Force rerender on update/save

* Fix linting issue

* Define properties by using @property() instead

* Add styles to disabled save button

* Change to use @customElement, and remove _generation as a property.
2020-01-02 21:15:26 +01:00
David Cramer f0808c1f54 Add ha-subppage toolbar css styles (#4409) 2020-01-02 20:55:43 +01:00
Jay e779f0747e Change TRIGGER to EXECUTE (#4413)
There's been some confusion among new users about what the `TRIGGER` button does in the automation info popup. `EXECUTE` better represents what pressing that button does since it bypasses conditions and simply runs the action like a script. The automation docs at <https://www.home-assistant.io/docs/automation/action/> also say "The action of an automation rule is what is being executed when a rule fires."
2020-01-02 20:16:39 +01:00
David F. Mulcahey bdd18775c3 Add group editing to the ZHA config panel (#4382)
* add group editing

* Update src/panels/config/zha/zha-devices-data-table.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-devices-data-table.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* review comments

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-02 15:59:18 +01:00
David F. Mulcahey 711d51c022 Disable ZHA device binding buttons when a device to bind isn't selected (#4407)
* only enable buttons when a device is selected

* review comments
2020-01-02 07:24:40 -05:00
David F. Mulcahey 1b0d8bba29 fix area index on ZHA device card (#4406) 2020-01-02 10:50:19 +01:00
Colin Frei 2988cc512f Fix grammatical error (#4403) 2020-01-02 10:28:36 +01:00
Joakim Sørensen a2f8e5f3e7 Hide protection mode toggle if not usable (#4392) 2020-01-02 10:20:21 +01:00
David F. Mulcahey 680bf06a4b Add group detail view to the ZHA config panel (#4380)
* add group details

* review comments
2019-12-24 10:29:22 -05:00
David F. Mulcahey ff0b1881e2 Add Zigbee group removal to the ZHA config panel (#4376)
* add remove groups function

* add ability to remove groups

* translations

* review comments

* review comments

* review comments
2019-12-24 08:12:02 -05:00
David F. Mulcahey de653e1f7b Add Zigbee group viewing to ZHA config panel (#4365)
* add ability to view zigbee groups

* review comments

* remove selectable until used
2019-12-23 10:46:34 -05:00
Bram Kragten bb41170765 Add language Iban (#4375) 2019-12-23 16:27:41 +01:00
Bram Kragten 0ed2bc93aa Remove uploading translations from Travis (#4374) 2019-12-23 13:39:47 +01:00
Bram Kragten 04770f8ee2 Add language Esperanto (#4373) 2019-12-23 13:39:31 +01:00
Bram Kragten 15a2790b9f Add support to add all device entities to Lovelace (#4356)
* Add support to add all device entities to Lovelace

* Reload config when it was changed while Lovelace was not active

* Localize

* Update ha-panel-lovelace.ts

* Move to device entities card

* Move Lovelace logic to lovelace combine with unused entities

* Unused imports

* Added suggestions and support for YAML mode
2019-12-23 10:39:17 +01:00
Jc2k 83880791b1 Add 'unignore' to DISCOVERY_SOURCES that can be ignored. (#4370) 2019-12-21 17:10:20 +01:00
HomeAssistant Azure 4dca3289f6 [ci skip] Translation update 2019-12-19 16:07:21 +00:00
Pascal Vizeli 083a3ebfc4 Run translation on dev (#4368) 2019-12-19 17:03:05 +01:00
Pascal Vizeli 6117c4e989 Add Auto Translation handling (#4339)
* Add Auto Translation handling

* Cleanup
2019-12-18 16:38:36 +01:00
Bram Kragten 609763e658 Set focus to search when opening add integration dialog (#4357)
* Set focus to search when opening add integration dialog

* Also add to flow form
2019-12-18 16:35:20 +01:00
Bram Kragten 2c57ab60f1 Add ignore discovery button (#4354)
* Add ignore discovery button

* Add seperate list for ignored integrations

* Move translations

* Add zeroconf
2019-12-18 16:22:17 +01:00
Ian Richardson dd17a153d2 Fire custom LL event (#4361) 2019-12-18 07:40:26 +01:00
Bram Kragten c2d551bb7c Merge pull request #4341 from bonanitech/patch-2
Upgrade MDI icons to 4.7.95
2019-12-12 17:20:24 +01:00
Mauricio Bonani e0b1921108 Fix version number 2019-12-09 12:40:11 -05:00
Mauricio Bonani fcf39ceb96 Upgrade MDI icons to 4.7.95 2019-12-09 12:27:03 -05:00
Mauricio Bonani 3cc979a077 Upgrade MDI icons to 4.7.95 2019-12-09 12:24:36 -05:00
Bram Kragten 9972973774 Merge pull request #4338 from home-assistant/rc
20191204.1
2019-12-09 13:41:33 +01:00
Bram Kragten 20ae32bc26 Bumped version to 20191204.1 2019-12-09 13:03:17 +01:00
Bram Kragten a29892023b Revert "Add copy entity ID/state/attributes menu button in dev tools/states" (#4337)
* Revert "Add copy entity ID/state/attributes menu button in dev tools/states (#4259)"

This reverts commit 4b56db5255.

* Update package.json
2019-12-09 13:02:41 +01:00
Bram Kragten b283fec482 Update cloud-google-assistant.ts (#4329) 2019-12-09 13:02:17 +01:00
Bram Kragten e0116a8236 Fix thingtalk automations creation (#4328) 2019-12-09 13:01:56 +01:00
Bram Kragten d1990a4bac Revert "Add copy entity ID/state/attributes menu button in dev tools/states" (#4337)
* Revert "Add copy entity ID/state/attributes menu button in dev tools/states (#4259)"

This reverts commit 4b56db5255.

* Update package.json
2019-12-09 12:59:20 +01:00
Bram Kragten cbba1849e2 Convert script and automation editor to lit (#4327)
* Convert script and automation editor to lit

* Update yarn.lock
2019-12-09 10:59:52 +01:00
Bram Kragten 43393d1647 Update cloud-google-assistant.ts (#4329) 2019-12-09 08:34:36 +01:00
Bram Kragten b47ee1051c Fix thingtalk automations creation (#4328) 2019-12-07 20:46:04 +01:00
Bram Kragten 393adacc9e Convert automation actions/scripts to Lit (#4324)
* Convert automation actions/scripts to Lit

* Update ha-automation-action-row.ts

* Comments
2019-12-06 12:14:45 +01:00
Bram Kragten 073428849e Convert automation conditions to Lit (#4321)
* Convert automation conditions to Lit

* Split condition editor and row

* Comments

* Update automation.ts

* Update automation.ts
2019-12-05 19:48:06 +01:00
Bram Kragten e6ac0258e3 Use dynamicElement directive in ha-form (#4317)
* Use dynamicContentDirective

* Turn around

* Remove attributes

* Rename to dynamicElement
2019-12-04 22:58:35 +01:00
Bram Kragten d7e7798a55 Merge pull request #4318 from home-assistant/dev
20191204.0
2019-12-04 20:02:41 +01:00
Bram Kragten 2557414b11 Merge branch 'master' into dev 2019-12-04 19:30:47 +01:00
Bram Kragten f7065fbce9 Bumped version to 20191204.0 2019-12-04 19:28:47 +01:00
Bram Kragten 016564eee9 Update translations 2019-12-04 19:22:23 +01:00
Bram Kragten ff3087c39c Convert automation trigger to litelement (#4315)
* Convert automation trigger to Lit

* Update ha-automation-trigger-row.ts

* dynamicContentDirective

* update

* Lint

* Implement other types
2019-12-04 09:57:47 -08:00
Bram Kragten 239438ee5d Add entity picker to service call action (#4310)
* Add entity picker to service call action

* Use prop instead of attr
2019-12-03 12:30:51 +01:00
Florian Gareis 5458cda31f Add new confim dialog to automation editor (#4255) 2019-12-03 12:21:51 +01:00
Bram Kragten 36f49e66fd Remove empty defaults from time patern trigger automation (#4307) 2019-12-02 11:11:05 -08:00
Bram Kragten 2bafd38ea8 Allow automation actions/scripts to be moved up/down (#4308)
* Allow automation actions/scripts to be moved up/down

* Update index.tsx
2019-12-02 11:10:44 -08:00
Bram Kragten 73b3262491 Fix editing delay action (#4309) 2019-12-02 11:08:38 -08:00
Bram Kragten 808cde033f Update bug_report.md 2019-12-02 17:39:39 +01:00
Bram Kragten fa8f6b7b91 Add yaml editor to automation actions and scripts (#4306)
* Add yaml editor to automation actions and scripts

* Add types

* Update event.tsx
2019-12-02 14:08:19 +01:00
Bram Kragten 94c120cdb1 Add yaml editor to automation conditions (#4305) 2019-12-02 12:02:35 +01:00
Bram Kragten 7b2be54f8f YAML support for automation triggers (#4289)
* WIP: Add yaml editors to automation

* Fix form overwriting yaml on switching back

* Finish triggers

* prettier
2019-12-02 11:20:09 +01:00
nicop4 4b56db5255 Add copy entity ID/state/attributes menu button in dev tools/states (#4259)
* Added button and js method to copy with copy-to-clipboard library

* Copy entity id working, tooltip added

* copy ok, use ha toast to notify ok

* cleanup code

* add translation

* removed old useless code

* Replaced copy button with menu

* Fix comparison operator & removed commented code

	modifié :         src/panels/developer-tools/state/developer-tools-state.js

* Fix spaces

	modifié :         src/panels/developer-tools/state/developer-tools-state.js

* Improve copy attributes

* only one menu & update translation

* copy attributes in yml format
use paper-icon-item instead of paper-icon-button and add yarn.lock

* removed paper-item
2019-12-02 10:35:49 +01:00
Bram Kragten 93165c9111 Area/multiple devices and name support for thingtalk automations (#4272)
* WIP: Area/multiple devices and name support

* Fix removing devices

* Don't recalc entities for all devices every time

* Use guards

* Update ha-thingtalk-placeholders.ts
2019-12-02 10:30:30 +01:00
Bram Kragten caa604d5ca Add more aria labels (#4293)
* Add aria labels

* Fix polymer binding
2019-12-02 09:29:02 +01:00
Thomas Lovén e7e9e2cf85 Allow setting temperature to 0 degrees (#4300) 2019-12-02 09:23:20 +01:00
Bram Kragten daa04e9973 Fix jumping on iOS when toggle switch (#4275) 2019-11-29 12:41:37 +01:00
Bram Kragten 5355269f5d Check if external app by object (#4280)
* Check if external app by object

* Update core.ts

* Conditional chaining

* add babel optional chaining
2019-11-27 15:44:59 -08:00
Bram Kragten 2665a75250 Don't show hidden scenes (#4285)
* Don't show hidden scenes

* Comments

* computeStateDomain
2019-11-27 15:44:28 -08:00
Bram Kragten 8a39d18323 Bump TypeScript to 3.7 (#4282)
* Bump TypeScript to 3.7

* Update prettier to support ts 3.7

* Prettier

* More prettier

* Even more prettier
2019-11-27 13:51:03 -08:00
Bram Kragten b8a026397b Don't filter attributes when saving scene (#4278)
* Add cover attributes to scene editor

* Add more

* Remove filtering of attributes

* Update ha-scene-editor.ts
2019-11-27 13:43:46 -08:00
Bram Kragten bd5fe302eb Revert "Add specific maskable icons (#4283)" (#4284)
This reverts commit de0f1b2b65.
2019-11-27 20:23:58 +01:00
Bram Kragten de0f1b2b65 Add specific maskable icons (#4283) 2019-11-27 16:43:23 +01:00
Thomas Lovén defaa2b276 Fix missing semicolons in CSS (#4281)
Introduced in #4269
2019-11-27 13:06:02 +01:00
Bram Kragten 60efe00a1f Fix styling of vaadin elements (#4276) 2019-11-26 16:57:29 +01:00
Davide Varricchio fe93b993db Change to thermostat card to reflect step_temp on set-temperature (#4221)
* Minor change to thermostat card to reflect step_temp on set-temperature

* Corrected indentation

* Resolved eslint error
2019-11-25 17:42:38 +01:00
Joakim Sørensen f6afc92d3c Adds "air" at the bottom of the page (#4267)
* Adds "air" at the bottom of the page

* Update src/panels/config/dashboard/ha-config-dashboard.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Add margin to promo
2019-11-25 17:38:08 +01:00
Carlos Gustavo Sarmiento e4c635c855 Added new CSS property for styling of the app-header component (#4269) 2019-11-25 17:37:33 +01:00
Bram Kragten a3e59e168f Bumped version to 20191119.6 2019-11-23 21:31:19 +01:00
Thomas Lovén e56355b406 Bump round-slider version. Fix #4265 (#4266) 2019-11-23 21:30:54 +01:00
Mauricio Bonani 8ef15c50b4 Upgrade MDI icons to 4.6.95 (#4270)
* Upgrade MDI icons to 4.6.95

* Upgrade MDI icons to 4.6.95
2019-11-23 21:26:32 +01:00
Marius 81588469b8 Add secondary-info: last-triggered (#4222)
* Add secondary-info: last-triggered

add last-triggered to the currently available options 'entity-id' and 'last-changed' see:https://www.home-assistant.io/lovelace/entities/#secondary_info

* corrected omission 'attributes'

* added test for attributes.last_triggered

* Update hui-generic-entity-row.ts

* Update hui-generic-entity-row.ts
2019-11-23 21:19:26 +01:00
Joakim Sørensen 70a920af3c Add initial bg color to panels (#4268) 2019-11-23 21:18:54 +01:00
Thomas Lovén 1329e60c89 Bump round-slider version. Fix #4265 (#4266) 2019-11-23 21:12:48 +01:00
Bram Kragten 9b7c095080 Bumped version to 20191119.5 2019-11-21 17:25:50 +01:00
Bram Kragten 654ff99cd1 Bumped version to 20191119.4 2019-11-21 17:04:43 +01:00
Bram Kragten 0511bc360e iOS 9 doesn't support append (#4260) 2019-11-21 17:04:36 +01:00
Bram Kragten ea9e8cc392 iOS 9 doesn't support append (#4260) 2019-11-21 17:03:35 +01:00
Bram Kragten 8433678371 Bumped version to 20191119.3 2019-11-21 15:22:07 +01:00
Bram Kragten 757bc00854 Fix thermostat card (#4258)
* Fix thermostat card

* Change styling

* Remove margin on mode buttons
2019-11-21 15:21:45 +01:00
Bram Kragten 2551393821 Fix light card (#4257)
* Fix light card

* Remove unused class

* Fix for when entity is not available

* Fix active state
2019-11-21 15:21:20 +01:00
Bram Kragten 0acd41b7f0 Fix thermostat card (#4258)
* Fix thermostat card

* Change styling

* Remove margin on mode buttons
2019-11-21 15:18:16 +01:00
Bram Kragten 85ca73db84 Fix light card (#4257)
* Fix light card

* Remove unused class

* Fix for when entity is not available

* Fix active state
2019-11-21 15:17:55 +01:00
Bram Kragten 444cbd00d9 Update README.md 2019-11-21 15:05:42 +01:00
Bram Kragten 15b500886c Bumped version to 20191119.2 2019-11-20 11:02:01 +01:00
Thomas Lovén 3aac834e72 Version bump round-slider. Fix bad rendering in IE/Edge (#4249) 2019-11-20 11:01:32 +01:00
Thomas Lovén 6edf23b91f Version bump round-slider. Fix bad rendering in IE/Edge (#4249) 2019-11-20 10:55:06 +01:00
Bram Kragten e445251b02 Bumped version to 20191119.1 2019-11-19 21:08:29 +01:00
Bram Kragten 693151b590 Fix ha-form on edge (#4248) 2019-11-19 21:08:15 +01:00
Bram Kragten 1249c0eea9 Fix ha-form on edge (#4248) 2019-11-19 21:06:52 +01:00
Bram Kragten 3133118870 Update vaadin components (#3571)
* Update vaadin components

* Remove resolution

* Migrate person detail dialog to mwc-dialog

* Fix imports

* Update dialog-person-detail.ts
2019-11-19 11:35:37 -06:00
Bram Kragten de5c1a0545 Merge pull request #4246 from home-assistant/dev
20191119.0
2019-11-19 13:37:07 +01:00
Bram Kragten c61e2fb459 Bumped version to 20191119.0 2019-11-19 13:19:33 +01:00
Bram Kragten 64a2a19da3 Update translations 2019-11-19 13:19:27 +01:00
Bram Kragten 74fe1f820c Fix error when no entities (#4244) 2019-11-19 13:16:55 +01:00
Bram Kragten 69929f5dc3 Fix thermostat unavailable (#4245) 2019-11-19 13:16:38 +01:00
Bram Kragten fcd793fc9e Fix device filtering on mobile (#4243) 2019-11-19 11:41:56 +01:00
Bram Kragten 8a3b1d76a1 Fix removing entity in scene editor (#4241)
Fixes https://github.com/home-assistant/home-assistant-polymer/issues/4237
2019-11-19 00:35:16 +01:00
Thomas Lovén 9f520d7628 Use new scaling features of round-slider (#4172)
* Refresh light card.

* Refresh thermostat card

* Fix paddings

* Fix #4175

* Use action handler

* Address review comments

* Lint

* Padding on percentage

* Remove typo
2019-11-19 00:32:23 +01:00
Bram Kragten 258cfddc3f Remove alias from scene action (#4240)
Fixes https://github.com/home-assistant/home-assistant-polymer/issues/4239
2019-11-19 00:28:35 +01:00
Bram Kragten 3697500402 Fix min value in editor (#4236) 2019-11-19 00:28:08 +01:00
springstan b4942ad27e Fixed two-part pin code input in Manual Alarm Control Panel (#4213)
* Consolidated code input via clicking GUI pads and using a physical keyboard

* Replaced the querySelector with the query decorator

* Run the query selector once, store its result and reuse it multiple times
2019-11-19 00:27:48 +01:00
Ville Skyttä 1e217e8d2f Support email and url form input types (#4186)
* Support email and url form input types

* Lint

* Lint

* Add types
2019-11-18 18:03:19 +01:00
Bram Kragten 0056237d85 Merge pull request #4233 from home-assistant/dev
20191118.0
2019-11-18 13:08:58 +01:00
Bram Kragten 920ee741f3 Bumped version to 20191118.0 2019-11-18 12:50:11 +01:00
Bram Kragten 6ecc60423f Fix actions not working on touch devices (#4231) 2019-11-18 11:27:44 +01:00
MatthewFlamm 09e7638c89 fix evaluating to false and remove ; (#4228) 2019-11-18 09:00:50 +01:00
Bram Kragten b82b4a639e Merge pull request #4227 from home-assistant/demo-manifest
Add maskable icon directive to demo manifest
2019-11-18 08:54:07 +01:00
Paulus Schoutsen d08aa51c16 Add maskable icon directive to demo manifest 2019-11-16 12:09:29 +01:00
Bram Kragten 385ffe6d8f Merge pull request #4226 from home-assistant/dev
20191115.0
2019-11-15 20:21:09 +01:00
Bram Kragten 564e6d4073 Bumped version to 20191115.0 2019-11-15 20:06:35 +01:00
Bram Kragten a4bd816eb5 Fix localise escaping issue (#4225) 2019-11-15 19:59:47 +01:00
Bram Kragten 13c18a9bb7 Merge pull request #4224 from iantrich/fix-filter-badge
Fix entity-filter-badge update
2019-11-15 19:59:25 +01:00
Ian Richardson 562d7a7cf4 use lastChild 2019-11-15 11:10:47 -06:00
Ian Richardson 89f33a1730 Fix entity-filter-badge update 2019-11-15 09:45:50 -06:00
Bram Kragten ff7309f5c4 Merge pull request #4218 from home-assistant/dev
20191114.0
2019-11-14 13:47:21 +01:00
Bram Kragten 1c614c855f Bumped version to 20191114.0 2019-11-14 13:28:28 +01:00
Bram Kragten 6a3238951d Updated translations 2019-11-14 13:28:06 +01:00
Bram Kragten 0dab5828fb Add Thingtalk automation generation (#4216)
* thingtalk

* works

* Add device_class support and get placeholders from api

* Update
2019-11-14 13:22:44 +01:00
Joakim Sørensen d0b9c09f8f Fix person dialog issues (#4210)
* Fix person dialog issues

* Remove repo (should not have been committed...)

* Trigger Travis
2019-11-12 20:30:11 +01:00
Josh McCarty 55f4629256 Wrap the dialog title when using Entity Registry (#4174)
* Wrap the dialog title when using Entity Registry

* Move updated styles to styles()
2019-11-12 14:52:56 +01:00
Joakim Sørensen 004565217e Restructure/reorder configuration dashboard (#4202)
* Reoreder config dashboard

* Changes base translation for config dashboard items to be pleural

* Convert to lit/ts

* remove unneded stuff

* fix child property passes

* Export page configuration

* Apply suggestion

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Change property to CloudStatus
2019-11-10 23:25:13 +01:00
Bram Kragten c07b39ebde Fix device and entity pickers clear (#4206)
* Fix device and entity pickers clear

* Prevent combobox to open on clear
2019-11-10 13:25:07 -08:00
Bram Kragten 8b17b6ed1c Add attribution and onboarding to voice (#4190)
* Add attribution and onboarding to voice

* Align with backend changes

* Layout + switch to ws for process

* Don't mutate window

* Move speechRecognition

* Add border

* Update ha-voice-command-dialog.ts
2019-11-10 11:30:41 -08:00
Paulus Schoutsen 1d16bdbe54 Merge pull request #4201 from home-assistant/lokalise
Update lokalise cli to version 2 + fix replacing localise vars
2019-11-10 11:30:08 -08:00
Joakim Sørensen 9e2a0c77d5 Adds clear value handler (#4205)
* Adds clear value handler

* Add the same to device picker
2019-11-10 19:23:27 +01:00
Joakim Sørensen 4f41508110 Adds timestamp device_class for sensor (#4204) 2019-11-10 18:41:33 +01:00
Joakim Sørensen eaedb2e5ae Checked button colors (#4203)
* split switch-checked-color into 2 vars like the unchecked variant

* Apply new css vars

* revert accidental delete

* revert demo changes

* revert property change
2019-11-10 18:40:36 +01:00
Bram Kragten 75ad1f51a9 Update translations_upload_base 2019-11-09 23:49:26 +01:00
Bram Kragten 142175c6ab Update lokalise cli to version 2 + fix replacing localise vars 2019-11-09 23:47:58 +01:00
Joakim Sørensen f1980d6bcf Fixes history graph card defaults (#4198) 2019-11-09 17:30:08 +01:00
Joakim Sørensen 5a7b5200fe Change correct localization string (#4197)
* Change correct localization string

* Update en.json
2019-11-09 17:29:14 +01:00
Joakim Sørensen d284d53b93 Reload buttons (#4194)
* Change base translation for ui.panel.config.server_control.section.reloading.core

* Give each btn a new card-action div
2019-11-08 14:39:21 -08:00
Bram Kragten bc01df42d8 Merge pull request #4193 from home-assistant/dev
20191108.0
2019-11-08 17:41:58 +01:00
Bram Kragten 901752bec3 Update translations (#4192) 2019-11-08 17:12:48 +01:00
Bram Kragten e3ef3cfae1 Bumped version to 20191108.0 2019-11-08 17:12:28 +01:00
Paulus Schoutsen ab476d2f1b Add conversation ID to voice dialog (#4189) 2019-11-07 12:21:37 -08:00
Bram Kragten 5ca82fd39c Fix mobile support for voice dialog (#4154)
* Fix mobile support for voice dialog

* Update ha-voice-command-dialog.ts

* typo

* Add extra data functions

* Start listening for choice

* Remove extra data logic
2019-11-04 12:34:59 -08:00
Bram Kragten da35c263d2 Add scene editor (#4164)
* Add scene editor

* Update ha-config-scene.ts

* Update en.json

* Update ha-scene-editor.ts

* Partial comments

* Types

* 1 more

* Comments

* Lint

* Update ha-device-picker.ts

* Update ha-device-card.ts
2019-11-04 12:07:09 -08:00
Bram Kragten 2a617a9639 Revert "Add Netatmo specific states" (#4171) 2019-11-01 20:35:35 +01:00
springstan c730aab28f Translated config flow form and steps (#4140)
* Translated config flow form and steps

* Moved translation from config_entry to config_flow

* Renamed translation key from not_all_fields_required to not_all_required_fields
2019-11-01 20:34:10 +01:00
Ian Richardson 274c2016c0 action-handler (#4115)
* action-handler

* comments

* address comments

* finish conversion

* move haptics

* address comments

* lint

* keyup

* double enter

* address comments

* keyup
2019-11-01 13:15:11 -05:00
Bram Kragten 9b3891f778 Fix state-label-badge override name (#4166) 2019-11-01 12:54:14 -05:00
Bram Kragten b705de956e Fix hassio build (#4167) 2019-11-01 17:42:36 +01:00
Ian Richardson e37201f84f enter is registering as double_tap (#4161)
* enter is registering as double_tap

* Update long-press-directive.ts

* Update long-press-directive.ts
2019-11-01 16:39:53 +01:00
springstan f53eea81c4 Translated a bunch of strings (#4137)
* Translated customization page
 - added translation key-value pairs to en.json
 - translated form-customize, customize-icon and its key-value

* Translated mutliple pages:
 - devices
 - entity-registry
 - config-entry
 - dashboard -> hint to advanced mode toggle

* Translated custom panel confirm message

* Added translation for no entries in logbook

* Updated translation keys, tested and removed ha-types file translations

* Removed setting an if to true for testing

* Use template literal instead of string concatenation
2019-11-01 16:12:49 +01:00
springstan 0fa8db1682 Translated unused entities, device registry page and domain toggler dialog (#4141)
* Translated device registry and domain toggler dialog

* Translated unused entities page

* Extracted unused_entities keys and created new section for domain_toggler

* Moved unknow_error and area_picker_label into devices section
2019-11-01 16:07:18 +01:00
Bram Kragten 46f5224e70 Migrate voice command dialog (#4150)
* Migrate voice command dialog

* Cleanup

* Correct types

* Added animation when listening and we should talk back right? :'-)

* Set recognition to english

* Comments

* Update on change of hass
2019-10-29 14:59:35 -07:00
Bram Kragten 12be2a9775 Merge branch 'master' into dev 2019-10-29 15:14:04 +01:00
springstan 6196bbdc5e Translated hui-editor and hui-root pages (#4142) 2019-10-29 13:15:47 +01:00
Marianne Hval b41f4777d4 More descriptive delete/move buttons + red delete (#4145) 2019-10-29 13:13:30 +01:00
springstan f2812bc706 Translated automation and script editor (#4146) 2019-10-29 13:12:35 +01:00
Bram Kragten 04500bc237 Merge pull request #4148 from springstan/addTitleAttributeConfigUIMode
Added title attributes and translated them in Configure UI Mode
2019-10-29 13:07:43 +01:00
Bram Kragten 2a6b877cf1 Bumped version to 20191025.1 2019-10-29 12:58:20 +01:00
Bram Kragten c3896a4613 Only do haptic on entity interactions 2019-10-29 12:56:52 +01:00
Bram Kragten c6fb896fe4 Merge pull request #4152 from home-assistant/haptics
Only do haptic on entity interactions
2019-10-29 12:53:44 +01:00
Bram Kragten 669fbb7e77 Only do haptic on entity interactions 2019-10-29 12:37:25 +01:00
springstan 971865e4f9 Added title attributes and translated them in Configure UI Mode 2019-10-28 20:13:24 +01:00
Paulus Schoutsen 9078e41855 Clarify tslint disable 2019-10-28 10:45:58 -07:00
Bram Kragten 466c48a7d0 Merge pull request #4128 from Twanislas/netatmo-states-translation
Add Netatmo specific states
2019-10-28 15:51:42 +01:00
Bram Kragten 31a047ce9e Merge pull request #4136 from home-assistant/dev
20191025.0
2019-10-25 17:44:34 +02:00
Bram Kragten bd24ffa5d0 Bumped version to 20191025.0 2019-10-25 17:12:30 +02:00
Bram Kragten 99f4bd7398 Updated translations 2019-10-25 17:12:22 +02:00
Bram Kragten 417177b097 Merge pull request #4135 from home-assistant/entity-reg-1-col
Change entity reg table to full width
2019-10-25 17:08:43 +02:00
Bram Kragten c407cab501 Change entity reg table to full width 2019-10-25 16:54:42 +02:00
Bram Kragten 044cf22f47 Fix variable column widths (#4127) 2019-10-24 09:43:28 -07:00
Bram Kragten 75aa940d44 Merge pull request #4129 from home-assistant/delete-view-btn
Fix styling delete view btn
2019-10-24 17:32:04 +02:00
Bram Kragten 7be8080726 Fix styling delete view btn 2019-10-24 12:32:59 +02:00
Antoine Rahier 13fbc813cd Add Netatmo thermostat states 2019-10-24 11:20:06 +02:00
Antoine Rahier 44d1458229 Revert "Add Netatmo specific states"
Wrong file !

This reverts commit f06f3ee2e5.
2019-10-24 11:16:41 +02:00
Antoine Rahier f06f3ee2e5 Add Netatmo specific states 2019-10-24 11:09:42 +02:00
Bram Kragten a889a02e15 Merge pull request #4123 from iantrich/aria-ts-translations
translated most aria-labels in ts files
2019-10-24 10:34:46 +02:00
Ian Richardson 6bf3d6a689 lint 2019-10-23 23:20:54 -05:00
Ian Richardson 1d7dcca495 translated most aria-labels in ts files 2019-10-23 23:02:58 -05:00
Bram Kragten ad8f049570 Merge pull request #4117 from home-assistant/dev
20191023.0
2019-10-23 21:36:21 +02:00
Bram Kragten 73c56a68b6 Bumped version to 20191023.0 2019-10-23 21:16:25 +02:00
Bram Kragten b34b52f305 Update translations 2019-10-23 21:16:03 +02:00
Ian Richardson 39d052273d support actions on rows (#4023)
* support actions on rows

* address comments

* add type

* pointer events

* move action area to row name to avoid handler competition

* add action to state-badge as well

* correct type

* address comments

* handle 'enter' in long-press and make entities state-badge selecatable
2019-10-23 10:30:09 -07:00
Bram Kragten e435b9153b Clean up device card (#4108) 2019-10-22 16:11:56 -07:00
Bram Kragten 0792278927 Fix more integrations message (#4106)
* Fix more integrations message

* Period outside link
2019-10-22 16:10:42 -07:00
Josh McCarty 06d59b3cde Adds a white background to the QR code for MFA (#4107) 2019-10-23 00:04:09 +02:00
Josh McCarty 1e7497ad33 Revise hassio update card design (#4041)
* Revise hassio update card design

See https://github.com/home-assistant/home-assistant-polymer/issues/3916

* Remove available text; use secondary text color instead of yellow/orange

* Less bold text for update header
2019-10-22 23:06:18 +02:00
Ian Richardson 49d0f2359b add sensor card to first demo (#4035)
* add sensor card to first demo

* Change to temperature sensor
2019-10-22 14:43:34 -05:00
Timmo bb73039205 Confirmation Dialog (#4053)
*  Add confirmation dialog

*  Add confirmation dialog to service calls

* 🔨 Change returned value

*  Add confirmation dialog to integration remove

*  Add to entity registry

*  Add to delete card and add translation

*  Add to views deletion

* 🔨 Remove async

* 🔨 Fix min-width for smaller screens

* 🔨 Remove async

* Fix wrong merge

* Update ha-config-entry-page.ts
2019-10-22 21:20:41 +02:00
Bram Kragten d4d6b7e2ce Fix delete button styling in hui-edit-view (#4102) 2019-10-22 21:17:55 +02:00
Drake Loud 7b5201599d added title to view configuation (#4037)
* added title to view configuation

* replacing let with const

* added localization change

* updated view config title

* linter updates

* Prettier updates
2019-10-22 10:27:36 +02:00
springstan 11c08e9a69 Added view title to heading of Lovelace Add Card picker (#4083)
* Added view title to heading of Lovelace Add Card picker

* Fixed building error, cleaned up code

* Changed _view to _viewConfig and added check for undefined _cardConfig

* Added else if for undefined _cardConfig, added else for manual cards

* Used template literal instead of string concatenation
2019-10-22 10:24:25 +02:00
aquarium 731bb176f7 Fix link to translation documentation (#4098) 2019-10-22 08:43:14 +02:00
Phi Dong b0fce93de8 Fix issue where long states do not wrap (#4101) 2019-10-22 08:39:37 +02:00
Paulus Schoutsen fdbe89e87e Fix develop build 2019-10-21 16:51:54 -07:00
Ian Richardson a8d0a2293f revert lovelace selectable text (#4095) 2019-10-21 16:45:15 -07:00
Paulus Schoutsen 8ac278bc59 Remove unused deps 2019-10-21 16:33:03 -07:00
Paulus Schoutsen 70d6c6b902 Refactor Webpack build scripts (#4093)
* Refactor Webpack build scripts

* Add Gallery too

* Fix icons

* Update travis
2019-10-21 15:02:54 -07:00
Drake Loud 0621218e16 Changed button to text (#4067)
* Changed button to text

* Moved styles to hui-edit-view

* prettier updates
2019-10-21 23:32:15 +02:00
Bram Kragten 2424376fba Change ha-device-picker to combo box + improve name handling + show area (#4089)
* Change ha-device-picker to combo box + improve name handling + show area

* unused import
2019-10-21 12:40:16 -07:00
Bram Kragten 3973374f3f Add positive_time_period_dict to ha-form (#4090)
* Add positive_time_period_dict to ha-form

* select input on focus

* Update ha-form-positive_time_period_dict.ts
2019-10-21 12:36:26 -07:00
Ian Richardson c25a38b82f add actions to state-badge element and state-label-badge (default Lovelace badge type) (#4028)
* add actions to state-badge element

* address comments

state-label-badge no longer handles clicks
added actions to hui-state-label-badge
moved ha-badges-card to Lit
2019-10-21 14:03:01 -05:00
Ian Richardson 3c0ba1d7eb Convert more-info-sun to Lit (#4075)
* Convert more-info-sun to Lit

* address comments
2019-10-21 13:04:22 -05:00
Ian Richardson be678b02c5 Convert more-info-weather to LitElement (#4073)
* Convert more-info-weather to LitElement

* address comments

* add shouldUpdate
2019-10-21 13:04:08 -05:00
Ian Richardson 0078b48e3c card level themes (#4057)
* card level themes

weather-forecast
shopping-list
plant-status
markdown
alarm-panel

* fix markdown

* address comments

also added picture cards

* update updated

* address comments

* address comments
2019-10-21 12:38:06 -05:00
springstan 540f1d9bce Fix for Zone icon visibility on Map panel and Lovelace Map card (#4085)
* Set icon color to black in ha-panel-map.js

* Changed icon color depending on dark mode in lovelace map card

* Fixed build error by swapping var for let and const

* Replaced hardcoded style with the light and dark classes
2019-10-21 17:45:40 +02:00
Bram Kragten 5e3cb812ec Fix yaml name collision in card editor (#4079)
* Fix `yaml` name collision

* Add types for js-yaml change to named imports
2019-10-21 17:36:09 +02:00
aquarium 6d10a5dd4c Split data table background color into separate theme variable (#4031)
* Split data table background color into separate theme variable

* Remove reference to MDC in data table theme variable name
2019-10-21 09:27:06 +02:00
Sean Mooney 96d14b7ab7 Changed outdated "GUI editor" reference to "visual editor" (#4068)
Changed warning text from "GUI editor" to "visual editor" to match the updated naming being used in card editors.
2019-10-20 15:10:07 +02:00
Phi Dong b96b026905 Add hovers (title attrs) to buttons on integrations config entry (#4059)
* Add integration specific titles to config buttons

* Rename tranlation var to integration, move button labels inline
2019-10-20 15:02:11 +02:00
Paulus Schoutsen c25f2d3941 Move compression from Webpack to Gulp (#4074) 2019-10-20 14:42:20 +02:00
Paulus Schoutsen 785453aa79 Clean up mixins (#4076)
* Clean up mixins

* Lint
2019-10-20 14:31:58 +02:00
Phi Dong 4dbf5327bd Update snapshot actions to be a list (#4045)
* Update snapshot actions to be a list

* Update text of delete button to warning color
2019-10-19 18:03:22 +02:00
springstan 603240c467 Translated developer tools info page (#4054)
* Translated developer tools info page

* Added set or remove as a variable in translation of key default_ui
2019-10-19 17:59:57 +02:00
Paulus Schoutsen bbc3e7d93f Make updateHass not async (#4060) 2019-10-19 17:18:56 +02:00
Ian Richardson fbee4937a0 add icon option to entities card name (#4024)
* add icon option to entities card name

* account for only icon

* address comments
2019-10-19 14:25:14 +02:00
Phi Dong 0a77728652 Move Home Assistant and version on info page into h2 (#4061) 2019-10-19 14:24:28 +02:00
Phi Dong e3ed0cf436 Hide save on card configuration if no card is picked (#4062) 2019-10-19 14:18:59 +02:00
Bram Kragten d05dc2e4dc Bring back babel (#3974)
* Bring back babel

* bump preset env

* Remove empty TS properties in mixins
2019-10-19 14:06:04 +02:00
Paulus Schoutsen c437cd3865 Use only decorators (#4058)
* Use only decorators

* Remove unused imports
2019-10-18 22:50:27 -07:00
springstan 442171169b Translated developer tools template page (#4050) 2019-10-18 23:05:07 +02:00
springstan cc12dbb6ee Translated developer tools services page (#4049)
* Translated developer tools services page

* Changed translation parameter from error to data
2019-10-18 23:04:43 +02:00
springstan 60b3a960ae Translated developer tools mqtt page (#4052) 2019-10-18 23:04:26 +02:00
shbatm 5a957c3c9e Add width property to light card to fix #3964 (#3972)
* Add width property to light card to fix #3964

* Update Light Card Name CSS

* Update css per review
2019-10-18 22:58:25 +02:00
Ian Richardson be4d431dc3 more-info dialog for counter (#4038)
* more-info dialog for counter

* address comments
2019-10-18 14:55:53 -05:00
Ian Richardson 0005c75091 fix double tap on glance entity (#4051) 2019-10-18 21:08:12 +02:00
springstan 880b382a16 Translated developer tools logs page (#4046)
* Translated developer tools logs page

* Changed translation key from load_log to load_full_log
2019-10-18 17:43:04 +02:00
Ian Richardson d012512a79 add feature request template (#4026) 2019-10-18 17:01:41 +02:00
springstan e2ac842690 Translated developer tools state page (#4039)
* Translated developer tools state page

* Fixed merge error by updating used icon in developer-tools-state.js
2019-10-18 16:33:11 +02:00
Ian Richardson 67d8d48855 translate view editor and explain panel mode (#4043) 2019-10-18 16:28:31 +02:00
Bram Kragten 00f2d36cb5 Migrate ha-form to lit (#4000)
* Migrate ha-form to lit

* Fix import path

* Update

* add default, change suffix, fix import

* Fix select
2019-10-18 16:08:34 +02:00
springstan 035057b185 Made thermostat history graph localizable (#4004)
* Made thermostat history graph localizable

* Changed string concatenation with white spaces from .join() to template literal

* Used variables in translations instead of template literals

* Update src/translations/en.json

Removed unnecessary space in heating value

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>
2019-10-17 23:28:12 +02:00
springstan 982966c8d9 Translated developer tools events page (#4033)
* Translated developer tools events page

* Implemented translations (alert on empty event type, notification on firing an event), Removed unnecessary translation key-value pairs

* Added falsely removed key-value pairs
2019-10-17 23:17:39 +02:00
Ian Richardson f5e3a9ad40 Convert thermostat to round-slider (#3734)
* Convert to round-slider

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3622
Closes https://github.com/home-assistant/home-assistant-polymer/issues/2756

* scaling

* address review comments

* css tweaks

* remove jquery

* address comments

* simplify set-temperature

* handle long name

* remove increased handleSize

* address comments

* address comments

* address comments

* address comment

* need coffee
2019-10-17 21:00:39 +02:00
Ian Richardson 141c3f1ea4 add confirmation option to actions (#4006)
* add confirmation option to actions

* address comments
2019-10-16 11:03:36 -05:00
Ian Richardson 4ea483e3de Switch theme (#4017)
* introduce ha-switch theming

* fix typo

* remove comment
2019-10-16 17:08:28 +02:00
Josh McCarty 8eca956cd1 Uses information-outline icon for entity more info link (#4016) 2019-10-16 16:53:25 +02:00
Ian Richardson c9242a5075 Custom badges (#3867)
* custom badges

* incremental

* functional

* cleanup

* cleanup

* address review comments

* address more comments

* address review comments

* address review comments

* cleanup

* address review comments

* address comments

* address comments

* fix entity-filter

* set hass once

* hass
2019-10-16 16:09:13 +02:00
Ian Richardson df29a5becb Add double tap action (#3879)
* add dbltap_action

* apply to picture-glance

* types and boolean

* fix typo

* simplify double tap logic

* extract hasDoubleClick functionality

* address comments

* address comments

* double_tap_action
2019-10-16 08:57:05 -05:00
Ian Richardson fb589337f8 display card errors with yaml config (#4018) 2019-10-16 09:22:57 +02:00
Ian Richardson ea5ee6189d filter system users from Person editor (#3958)
* filter system users from Person editor

* address review comments

* address comments

* address comments
2019-10-15 19:19:46 -05:00
Josh McCarty a39e47cced Updates alarm more-info dialog button styles to match lovelace card (#3955)
* Updates alarm more-info dialog button styles to match lovelace card

* Use flex for controlling button size

* Limit max-width of alarm buttons

This matches the width of the code input field
2019-10-15 21:04:29 +02:00
Ian Richardson 49d69f65ad add show_state option for picture-glance entities (#3937)
* add states option below picture-glance entities

* address review comments
2019-10-15 09:49:03 +02:00
Marcus Fredlund 424d677bcb Alarm Panel card: number buttons outline and adjusted padding and font-size fixing #2812 (#3991)
* outline on alarm panel buttons

* Fix for font-size before mwc-button is working.

* suggested edits from review

* changed to just outline

* Remove base-unit
2019-10-14 21:29:37 +02:00
springstan 59e4cdc62a Added integration name to System Options dialog (#3996)
* Added integration name to System Options dialog

* Passed integration name into translation string

* Translated integration name

* Added option for no translation
2019-10-14 21:28:44 +02:00
Bram Kragten 9d3dfad98c Update integration-badge.ts (#4001) 2019-10-14 21:28:13 +02:00
Erik Montnemery 555b746f4b Allow device actions to specify extra fields (#4002)
* Allow device actions to specify extra fields

* Typing etc.

* Use deviceAutomationsEqual to compare automations
2019-10-14 21:27:51 +02:00
Bram Kragten ce6a97d065 Merge pull request #3995 from scop/customize-yaml-message
Improve customize.yaml non-inclusion warning message
2019-10-14 21:27:07 +02:00
Ville Skyttä 88567df36d Prettier 2019-10-14 22:03:28 +03:00
Bram Kragten f55cbd9e9a Merge pull request #3999 from home-assistant/dev
20191014.0
2019-10-14 11:01:07 +02:00
Bram Kragten 7d00cc1eff Merge branch 'master' into dev 2019-10-14 10:28:17 +02:00
Bram Kragten 29301ddee7 Bumped version to 20191014.0 2019-10-14 10:22:13 +02:00
Bram Kragten 978b773968 Update translations 2019-10-14 10:21:56 +02:00
springstan 4f30cae6aa Translated Advanced mode toggle (#3997) 2019-10-13 22:39:08 +02:00
Ville Skyttä 5f29b66a8d Further tweak the message 2019-10-13 21:15:06 +03:00
springstan b94da1bd19 Added note about more integrations to bottom of Set up new integration dialog (#3992)
* Added note about more integrations to bottom of Set up new integration dialog

* Fixed note about more integration by encapsulating it in one paragraph
2019-10-13 15:57:24 +02:00
Franck Nijhof f9b0a0fc13 Fixes documentation URL for HTML5 push notifications (#3993) 2019-10-13 13:34:34 +02:00
Sven 300ffdae04 Add no devices available hint to person editor (#3906)
* Add no devices available hint to person editor (#3731)

* Fix device_tracker check and adjust messages

* fix lint

* Add location, fix memoize usage, hide entity picker and update text

* Move links to a list
2019-10-13 13:22:37 +02:00
Tom Raithel 476525e0d4 Remove 'Pick script to edit' headline from script editor (#3873)
Fixes #3829
2019-10-13 13:18:43 +02:00
Ville Skyttä edecf9d58f Improve customize.yaml non-inclusion warning message
Link to relevant docs, note that changes won't be applied after a
restart if the include isn't in place (changes _do_ actually affect the
current runtime configuration and are persisted in customize.yaml).
2019-10-13 14:07:02 +03:00
Sean Mooney 38bf2e116b Update ISSUE_TEMPLATE.md (#3987)
Now that ui-schema repo is merged here and there's a feature request label, I think this line is no longer necessary.

 `- This is for bugs only. Feature and enhancement requests should go in our community forum: https://community.home-assistant.io/c/feature-requests`
2019-10-12 23:14:51 -07:00
Paulus Schoutsen 0719c4d1ae Add cache headers to demo and cast (#3982)
* Add cache headers to demo and cast

* Demo only to copy static from frontend public folder

* Update headers

* Update demo headers

* Update cast headers

* Update _headers

* Update _headers
2019-10-12 23:12:01 -07:00
Bram Kragten 12840231be Add code mirror editors to the dev-tools data fields (#3981)
* Add yaml code mirror editor to the dev-tools yaml fields

* Add jinja2 editor on dev template

* Migrate to UpdatingElement, review comments

* update cm, add types

* types

* dev tools mqtt
2019-10-12 12:33:51 -07:00
Bram Kragten 4728c12225 Update google cloud card (#3978)
* Update google cloud card

* Oops
2019-10-11 08:48:56 -07:00
Bram Kragten 90526ac563 Migrate entity registry to data-table (#3965)
* Migrate entity registry to data-table

* icons

* Styling

* Review comments

* fix not selector

* typos + move columns out of class

* Localize + comments

* Fucked up the rebase
2019-10-11 14:55:45 +02:00
Hayley McIldoon 6f7ea03e35 Remove redundant text in Cloud panel #3824 (#3967) 2019-10-11 14:55:12 +02:00
Erik Montnemery 78900e05ad Allow device conditions to specify extra fields (#3973) 2019-10-11 13:16:54 +02:00
Ian Richardson 495f4aa19c ability to hide tabs (#3811)
* ability to hide tabs

* address review comments

* address review comments

* address review comments

* review comments
2019-10-11 13:14:34 +02:00
Bram Kragten 88c480759f Convert YAMLTextArea to code mirror editor (#3980)
* Convert YAMLTextArea to code mirror editor

* Review comments

* Clean up
2019-10-10 21:58:21 +02:00
Josh McCarty ab75365636 Move alexa state reporting switch position for consistency (#3953) 2019-10-10 10:51:58 +02:00
Tom Raithel 0266617c71 Remove overflow attribute from view column (#3971)
Fixes #3253
2019-10-10 10:50:46 +02:00
Mauricio Bonani aef45c5043 Upgrade MDI icons to 4.5.95 (#3977)
* Upgrade MDI icons to 4.5.95

* Upgrade MDI icons to 4.5.95
2019-10-10 09:44:10 +02:00
Hayley McIldoon deeb0146c7 Renamed Toggle Editor button #3617 (#3968) 2019-10-09 23:03:46 +02:00
Bram Kragten 5dea674f20 Merge pull request #3975 from home-assistant/rc
20191002.2
2019-10-09 22:19:34 +02:00
Bram Kragten 646fe34d09 Bumped version to 20191002.2 2019-10-09 21:57:58 +02:00
Ian Richardson c67907aa58 simplify 2019-10-09 21:54:58 +02:00
Ian Richardson e78f4c5ace picture-glance: check for entity state change 2019-10-09 21:54:34 +02:00
Bram Kragten e891fdc3eb Save orig value + some cleanup 2019-10-09 21:53:48 +02:00
Erik 95a258c2a5 Allow device triggers to specify extra fields 2019-10-09 21:53:30 +02:00
Bram Kragten f1fabd09a6 Merge pull request #3970 from emontnemery/automation_device_action_form
Allow device triggers to specify extra fields
2019-10-09 21:48:57 +02:00
Bram Kragten 0d77bdaf32 Merge pull request #3949 from iantrich/fix-glance-state_image
picture-glance: check for entity state change
2019-10-09 21:48:05 +02:00
Bram Kragten 320be2e5d9 Convert integration entry page to data table (#3963)
* Convert integration entry page to data table

* Simplify device-card

In a future PR this has to be changed further

* Center no devices text

* Review comments
2019-10-09 08:48:41 -07:00
Bram Kragten 6a098ad0b5 Save orig value + some cleanup 2019-10-09 13:34:34 +02:00
Erik e895e91a11 Allow device triggers to specify extra fields 2019-10-09 07:41:25 +02:00
Paulus Schoutsen fc3f7ca4b2 Mark Persian as right to left. 2019-10-08 10:24:21 -07:00
Bram Kragten 1f09d848c5 Merge pull request #3961 from home-assistant/rc
20191002.1
2019-10-08 17:55:43 +02:00
Bram Kragten 4d794f6088 Hide empty blocks on device page (#3950)
* Hide empty blocks on device page

* lint

* Rename entities on device rename

* check if entity_id is valid

* clarify var name

* Review comments

* Use regex to replace not allowed chars

* Align with backend
2019-10-08 17:54:17 +02:00
Bram Kragten 9ad7f0dbac Hide empty blocks on device page (#3950)
* Hide empty blocks on device page

* lint

* Rename entities on device rename

* check if entity_id is valid

* clarify var name

* Review comments

* Use regex to replace not allowed chars

* Align with backend
2019-10-08 08:53:31 -07:00
Bram Kragten 9f39610153 Update translations 2019-10-08 16:13:52 +02:00
Bram Kragten 12d8a04c15 Update translations 2019-10-08 16:13:06 +02:00
Bram Kragten 73b0f5949e Fix updating entity id in entity-registry-dialog (#3962) 2019-10-08 12:28:49 +02:00
Bram Kragten 0f7a3887a7 Fix updating entity id in entity-registry-dialog (#3962) 2019-10-08 12:27:29 +02:00
Bram Kragten ac75ce038a Bumped version to 20191002.1 2019-10-08 10:33:16 +02:00
Bram Kragten 8de9a73741 Add report state toggle for Google (#3855) 2019-10-08 10:28:37 +02:00
Bram Kragten ef51f29e28 Add report state toggle for Google (#3855) 2019-10-08 10:25:57 +02:00
Ian Richardson b61bbee35a fix media row secondary info (#3957) 2019-10-08 10:10:37 +02:00
Markus Nigbur 64dd8c463d Changed the states-ui toggle button to unobstrusive text link. (#3959) 2019-10-08 10:01:51 +02:00
akargl d2a95e9f06 Add default text to Markdown card editor (#3960) 2019-10-08 09:58:37 +02:00
Timmo 0cb0525516 Add localized names to card editor (#3941)
* 🔨 Add localized names to card editor

* ✏️ Rename alarm_panel to alarm-panel

* ✏️ Proper case

* 🔨 Move to else

* 🔨 Remove name and object from card picker
2019-10-07 20:17:12 +02:00
Ian Richardson dcaf4fdfe2 add title option to stack cards (#3839) 2019-10-07 10:17:52 +02:00
ottersen 0c13757910 Correct usage of Zigbee vs ZigBee #1 (#3938)
ref clarification by Zigbee Alliance of correct usage of "Zigbee" vs "ZigBee"

https://twitter.com/Frenck/status/1178239254713061377
2019-10-07 09:55:31 +02:00
ottersen 0cdcd74c9d Correct usage of Zigbee vs ZigBee #2 (#3939)
ref clarification by Zigbee Alliance of correct usage of "Zigbee" vs "ZigBee"

https://twitter.com/Frenck/status/1178239254713061377
2019-10-07 09:55:18 +02:00
Phi Dong db3968399f Add intro to OZW log z-wave config section (#3935) 2019-10-07 09:53:37 +02:00
Malte Franken 7494a49238 Normalize longitude to the range between -180 to +180 degrees (#3872)
* normalize longitude to the range between -180 to +180 degrees

* only normalize longitude if out of valid range
2019-10-07 09:49:00 +02:00
Ian Richardson 55d2a3c8b1 simplify 2019-10-06 23:16:14 -05:00
Ian Richardson be4e45c22c picture-glance: check for entity state change 2019-10-06 23:08:14 -05:00
Matthew Donoughe efb28d337a editor support for scene script action (#3942)
Script support added in home-assistant/home-assistant#27223
2019-10-05 15:14:37 -07:00
Phi Dong edd77e1f32 Exclude persistent_notifications domain when computing unused entities (#3936) 2019-10-05 14:01:00 +02:00
Bram Kragten 848dd7e071 Fixes to script localization (#3930)
* Fixes

* fix toast
2019-10-04 21:46:32 +02:00
Bram Kragten 59d4a4247a Fix whitespace error in services (#3880) 2019-10-04 17:21:43 +02:00
Jens Vanhooydonck ba79633758 HA Cloud overflow wrap (#3905)
* Overflow of Remote Control URL

* Overflow wrap of certificate information

Closes #2982

* Changed styling to class break-word

* Changed break-work to class

* Update src/panels/config/cloud/account/cloud-remote-pref.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>
2019-10-04 16:46:01 +02:00
Charles Garwood 860973bdbd Add localization to ZHA panel (#3881)
* Add localization for ZHA config panel

* Additional ZHA panel localization
2019-10-04 14:07:49 +02:00
Sven d4d897e79e Make cloud account panel translatable (#3875)
* Add localization to cloud login & register (#3844)

* Add localization to cloud account (#3844)

* Add localization to cloud forgot password (#3844)

* fix lint errors

* Update src/panels/config/cloud/account/cloud-account.js

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/cloud/register/cloud-register.js

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* fix issues pointed out in review

* fix code style issue

* Add localization for dialogs, alexa and google

* fix exposed entities name
2019-10-04 13:14:53 +02:00
Bram Kragten 4850f3d588 Fix whitespace error in services (#3880) 2019-10-04 12:35:49 +02:00
Bram Kragten 8bc53c235f Fix styling system options (#3877) 2019-10-04 12:04:27 +02:00
Charles Garwood c74793b1d5 Add link to Z-Wave panel docs (#3874) 2019-10-03 20:51:37 +02:00
Marcel Brückner 56bac8a8c1 Make script editor translatable (#3866)
* Make script editor's script picker translatable (home-assistant/home-assistant-polymer#3848)

* Make script editor translatable (home-assistant/home-assistant-polymer#3848)

* Fix linting errors (home-assistant/home-assistant-polymer#3866)

* Fix linting errors (home-assistant/home-assistant-polymer#3866)

* Move unsaved_confirm translation key to common section (home-assistant/home-assistant-polymer#3866)

Instead of adding the same text multiple times for every section, add a common section to indicate reusable translations.

* Add variable to localization text

* Use JavaScript instead of Polymer data binding
2019-10-03 20:31:53 +02:00
Sven 184575fd54 Add localization to persons config page (#3846) (#3871) 2019-10-03 14:38:34 +02:00
Sven e148559d3e Add localization to user config page (#3845) (#3869) 2019-10-03 12:22:45 +02:00
Phi Dong 95b76dbb85 Fix issue where help icon overlapped with header text on mobile devices (#3868) 2019-10-03 11:50:36 +02:00
Bram Kragten 496bb9dc39 Merge pull request #3864 from home-assistant/dev
20191002.0
2019-10-02 22:46:27 +02:00
Bram Kragten 351ba3e701 Merge branch 'master' into dev 2019-10-02 22:31:00 +02:00
Bram Kragten 260f428bc6 Bumped version to 20191002.0 2019-10-02 22:25:49 +02:00
Bram Kragten 3622514131 Fix dark switch for map card editor (#3856) 2019-10-02 21:26:48 +02:00
Bram Kragten 391b2dcf6a Align background with tiles (#3858) 2019-10-02 21:25:59 +02:00
Bram Kragten a02bf1fd48 Allow yaml in dev states (#3859)
* Allow yaml in dev states

* remove json
2019-10-02 21:25:38 +02:00
Bram Kragten 4cf9472bf4 Allow yaml in dev services (#3860)
* Allow yaml in dev services

* remove json
2019-10-02 21:23:37 +02:00
Bram Kragten 74d1de7313 Allow yaml in dev events (#3861)
* Allow yaml in dev events

* remove json
2019-10-02 21:22:06 +02:00
Bram Kragten cd6fd6a46c Allow yaml in script and automation (#3862)
* Allow yaml in script and automation

* Restore defaults

* Rename class

* Catch errors in constructor

* Update yaml_textarea.tsx
2019-10-02 21:21:13 +02:00
Bram Kragten a6dda90b13 Default hide disabled entities from entity registry (#3863)
* Default hide disabled entities from entity registry

* localize

* Use memoize
2019-10-02 21:20:47 +02:00
Bram Kragten 7add8a2ea0 Guard for null badges (#3841)
* Guard for null badges

* Check for null badges on load and save
2019-10-02 09:29:36 -07:00
Bram Kragten b927a3ef29 Add entity registry functions to device page (#3843)
* Add entity registry functions to device page

* Move update/remove logic to dialog

* Hide disabled entities by default
2019-10-02 09:23:42 -07:00
Ian Richardson 76d3218130 Allow user selection of text in Lovelace (#3605)
* Allow user selection of text in Lovelace

Closes https://github.com/home-assistant/home-assistant-polymer/issues/2110

* set negative tabindex

This appears to work locally, but pushing it up to try on the demo to be sure

* toggle class for android

* apply suggestions
2019-10-02 13:33:16 +02:00
Franck Nijhof 8b6d8f9086 Update documentation link URL for integrations (#3857) 2019-10-02 13:23:41 +02:00
Bram Kragten ffaecb29b7 Update translations 2019-10-02 12:58:11 +02:00
Ian Richardson fa74295c0b add actions to picture-glance entities (#3807)
* add actions to picture-glance

* remove unnecessary entity property

* Update hui-picture-glance-card.ts
2019-10-02 11:22:33 +02:00
Bram Kragten ea50d486da Fix some styling of ha-switch (#3842)
If content is slotted it will get some margin to the toggle like the old switch.
2019-10-01 11:17:10 -07:00
Bram Kragten 3cf4b890b6 Remove local mdc-datatable (#3840)
With version 3.2.0 of mdc-datatable they removed the ts files from the published package, so we can now use it again.
2019-10-01 11:34:25 +02:00
Sean Mooney 313b984a53 Add missing domain icons (#3836)
`persistent_notification` and `zone` were both missing domain icons.
2019-10-01 10:11:44 +02:00
Bram Kragten 7d09e29d60 Use filter worker in data-table (#3808)
* Filter worker

Doesn't work

* Remove template for worker

* Move files

* Sort to worker + debounce filter

* Improve performance

* Update ha-data-table.ts
2019-09-30 15:53:48 -07:00
Ian Richardson 7e979f0cf1 add image option to entities card (#3832) 2019-09-30 22:25:09 +02:00
Ian Richardson 64366dc99a fix alignment of switches positioned absolutely (#3812)
* fix alignment of switches positioned absolutely

* wrap switches

* remove !important
2019-09-30 21:27:19 +02:00
Ian Richardson c69585db98 add state_filter to picture cards (#3791) 2019-09-30 09:49:11 +02:00
Bram Kragten 2dd5cd586b Add a setting for vibration (#3813)
* Add a setting for vibration

* Update en.json
2019-09-27 10:23:30 +02:00
Bram Kragten 05a258c886 Add hassio supervisor and os update notice (#3798)
* Add hassio supervisor and os update notice

* Cleanup

* Update hassio-dashboard.ts

* Fix styling

* Check if system has HassOs

* Remove unused import
2019-09-26 13:47:34 +02:00
Bram Kragten f4bd42dfd4 Add name to picture entity struct (#3809) 2019-09-25 23:37:54 +02:00
Bram Kragten 41e5e7c1ae Update yarn.lock 2019-09-25 22:41:17 +02:00
Ian Richardson 95dfcafce3 UI Editor for picture-glance card (#3709)
* UI Editor for picture-glance card

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3700

* address review comments

* address review comments

* fallback to yaml if state image used

* push default changes

* default image for config

* Update hui-picture-glance-card-editor.ts
2019-09-25 15:38:26 -05:00
Bram Kragten 111d1afc21 Fix firefox overflow (#3806)
* Fix firefox overflow

MIght fix...

* Add comment

* Align
2019-09-25 21:52:21 +02:00
Ian Richardson 886c6dd88c Expand entity-filter options (#3692)
* Expand entity-filter options

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3543

Adds the following to `state_filter`:
- `operator` option. Specify operator to use in comparison.
- `value` option. Specify value to compare against.
- `attribute` option.  Specify attribute to use instead of state in comparison.

e.g.
```yaml
type: entity-filter
state_filter:
  - "on"
  - operator: ">"
    value: 90
entities:
  - sensor.water_leak
  - sensor.outside_temp
  - entity: sensor.humidity_and_temp
    state_filter:
      operator: ">"
      value: 50
      attribute: humidity
```

* Update evaluate-filter.ts

* verify state_filter exists on card or each entity

* address review comments

* apply Bram's suggestion

* address review comments

* cleanup
2019-09-24 10:34:57 +02:00
On Freund 38b817bd67 Green shade in climate history for platforms that don't support hvac_action (#3787)
* Green shade in climate history for platforms that don't support HVAC_ACTION

* The presence of hvac_action can change over time

* Move static condition out of anon function
2019-09-24 10:34:13 +02:00
Ian Richardson c59b6626f2 UI editor for history-graph (#3782)
* UI editor for history-graph

* add translations
2019-09-24 10:00:52 +02:00
Ian Richardson 2cc196e3fb cleanup editors (#3786)
* cleanup editors

* address review comments
2019-09-23 17:11:45 -05:00
Erik Montnemery a08884fed6 Add support for and and or conditions to the automation editor. (#3724)
* Add support for `and` and `or` conditions in automations

* Remove debug prints, fix lint errors

* Fix

* Merge `and` and `or` conditions

* Add missing file
2019-09-23 14:07:57 -07:00
Bram Kragten 2fe4a02b6b Add support for panels to cast (#3796)
* Add panel support to cast

* Set background
2019-09-23 14:03:45 -07:00
Paulus Schoutsen 7c793c1cdb Bumped version to 20190919.1 2019-09-23 13:17:48 -07:00
Bram Kragten a0b848acc4 Bring back babel for ES5 builds (#3797)
* Bring back babel for ES5 builds

* Remove ts from babel
2019-09-23 13:17:44 -07:00
Bram Kragten a1b9a092d0 Bring back babel for ES5 builds (#3797)
* Bring back babel for ES5 builds

* Remove ts from babel
2019-09-23 13:15:12 -07:00
Bram Kragten 993d390ea5 Add device automation options to device page (#3776)
* Add device automation options to device page

* Update

* Fill automation editor with data

* Update ha-automation-editor.ts

* Remove dupe deps

* Fix imports
2019-09-23 14:13:44 +02:00
Ian Richardson 1f4d359050 Replace all default exports in common/ with named exports (#3790) 2019-09-23 10:57:47 +02:00
Ian Richardson f871387fa6 new action: url (#3773)
* new action: url

Takes a `url_path` option.
Closes https://github.com/home-assistant/ui-schema/issues/249
I'm experience the issue described here with my string values in the action-editor: https://github.com/home-assistant/home-assistant-polymer/issues/2645. Have not been able to track down where the issue is.

* Fix losing config on init

* fix action-editor
2019-09-22 21:56:29 +02:00
Ian Richardson 9a92ed31f6 picture entity editor fix (#3783)
* forgot to push commit

* resolve broken build
2019-09-21 22:42:46 -05:00
Ian Richardson 37129adfab UI Editor for picture-entity card (#3708)
* UI Editor for picture-entity card

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3699

* address review comments

* translations
2019-09-21 22:15:30 -05:00
Paulus Schoutsen ec52e71c71 Upgrade some deps (#3780)
* Upgrade TS

* Remove unused uglifyjs webpack plugin

* Upgrade some webpack stuff
2019-09-21 11:59:51 +02:00
Ian Richardson 5e28e1b320 Switch paper-toggle-button to mwc-switch (#3683)
* Switch paper-toggle-button to mwc-switch

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3352

* ha-switch

* apply not-checked theming

Thanks @bramkragten!

* address review comments
2019-09-21 11:59:27 +02:00
Ian Richardson 9a7eb3d406 light-card: icon option (#3771)
* light-card: icon option

closes https://github.com/home-assistant/home-assistant-polymer/issues/3768

* add theme select label property

* address review comments
2019-09-20 16:10:14 -05:00
Erik Montnemery eee0c2e53f Add support for automation description (#3723)
* Add support for automation annotation

* Update label and add placeholder

* Rename annotation to description

* Adress review comments, fix lint errors
2019-09-20 08:19:38 -07:00
Bram Kragten 145259e82f Add Language Urdu (#3750)
* Add Urdu

* Changed name to native name
2019-09-19 16:27:54 -07:00
Bram Kragten d0cc4c2715 Move views to own folder + use update vs updated in panel view (#3761)
* Move views to own folder + use update vs updated in panel view

* updated -> update
2019-09-19 09:10:02 -07:00
Paulus Schoutsen 4d97a47e08 Merge pull request #3770 from home-assistant/dev
20190919.0
2019-09-19 09:01:35 -07:00
Paulus Schoutsen 4ef5a8da70 Bumped version to 20190919.0 2019-09-19 08:59:57 -07:00
Paulus Schoutsen cdfd0afdf4 Update translations 2019-09-19 08:59:23 -07:00
Bram Kragten d250a931e6 fix continue integration flow (#3766)
* fix continue integration flow

* Remove test button
2019-09-19 08:57:17 -07:00
Bram Kragten cd2b92a449 Show toast on success save entity settings (#3763) 2019-09-19 08:53:16 -07:00
Bram Kragten c617cb5b12 Align behaviour state badge (#3767) 2019-09-19 08:53:00 -07:00
Paulus Schoutsen e7ac95e314 Merge pull request #3757 from home-assistant/dev
20190918.1
2019-09-18 13:02:58 -07:00
Paulus Schoutsen 7bab9cb464 Remove unused templates attributes from demo 2019-09-18 13:02:45 -07:00
Paulus Schoutsen bb5ab958c1 Bumped version to 20190918.1 2019-09-18 12:52:25 -07:00
Paulus Schoutsen 2d92ffaa4d Update translations 2019-09-18 12:52:20 -07:00
Mauricio Bonani 7a7a0f772a Upgrade MDI icons to 4.4.95 (#3755)
* Upgrade MDI icons to 4.4.95

* Upgrade MDI icons to 4.4.95
2019-09-18 12:38:45 -07:00
Paulus Schoutsen c898db5010 Fixes to device page (#3756)
* Fixes to device page

* Cache page with data page
2019-09-18 12:38:27 -07:00
Bram Kragten b6fbf4da3a Cast: Show error message instead of number (#3752)
* Cast: Show error message instead of number

* Update hc-main.ts
2019-09-18 09:33:58 -07:00
Bram Kragten 0bfc61629e Fix save button more info settings (#3751)
Would be blue on blue on mobile
2019-09-18 09:23:09 -07:00
Ian Richardson e594fcfc42 lower unavailable font-size (#3746)
Closes https://github.com/home-assistant/home-assistant-polymer/issues/3745
2019-09-18 17:19:42 +02:00
Bram Kragten 84ed6d8fb3 Merge pull request #3748 from home-assistant/dev
20190918.0
2019-09-18 14:22:53 +02:00
Bram Kragten 31ae115062 Fix set theme on panel (#3749) 2019-09-18 14:12:54 +02:00
Bram Kragten fca885a17a Bumped version to 20190918.0 2019-09-18 13:56:01 +02:00
Bram Kragten 29dff42de4 Make panel-view it's own component (#3747)
* Make panel-view it's own component

* Convert to updatingelement
2019-09-18 13:54:21 +02:00
Bram Kragten f5b3a82922 Merge pull request #3742 from home-assistant/dev
20190917.2
2019-09-17 21:13:48 +02:00
Bram Kragten 54beaad7e5 Bumped version to 20190917.2 2019-09-17 21:00:13 +02:00
Bram Kragten e30f9d4a66 Add device config page (#3695)
* Add device config page

* Remove unused imports

* Revert a lot

Make the PR smaller

* Change columns add battery level

* memoize

* don't bubble

* Add mobile view

* fix filter mobile

* Comments
2019-09-17 20:59:43 +02:00
Bram Kragten 27264b27a9 Fix (#3741) 2019-09-17 09:50:51 -07:00
Bram Kragten 2b1f9460a8 Fix styling mwc-button (#3740) 2019-09-17 09:06:53 -07:00
Bram Kragten 4641cd65ca Merge pull request #3739 from home-assistant/dev
20190917.1
2019-09-17 14:18:45 +02:00
Bram Kragten 1f6fe5dfcf Bumped version to 20190917.1 2019-09-17 14:12:46 +02:00
Bram Kragten 058b4ba658 Fix theme rgb creation (#3738) 2019-09-17 14:08:48 +02:00
Bram Kragten 24baa87b18 Merge pull request #3736 from home-assistant/dev
20190917.0
2019-09-17 08:00:51 +02:00
Bram Kragten fad2f1790f Update translations (#3735) 2019-09-17 07:50:38 +02:00
Bram Kragten 8fd8274d15 Bumped version to 20190917.0 2019-09-17 07:49:52 +02:00
Bram Kragten f4f1e24ad5 Generate rgb theme vars (#3728)
* Create rgb theme vars

* Check if key is rgb and revert paper

* Update apply_themes_on_element.ts

* paper-card > card
2019-09-17 07:46:53 +02:00
Paulus Schoutsen 42626ba2f8 Upgrade set-value (#3733) 2019-09-17 07:46:22 +02:00
Bram Kragten 29ab04fc7a Add subscribe mixin (#3710)
* Add subscribe mixin

* Update src/mixins/subscribe-mixin.ts

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Update src/mixins/subscribe-mixin.ts

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Update subscribe-mixin.ts

* Update subscribe-mixin.ts

* Add properties

* Fix
2019-09-17 07:45:56 +02:00
Bram Kragten 722e9bcda7 Hide columns in unused entities on mobile (#3719)
* Hide columns in unused entities on mobile

* Update hui-unused-entities.ts

* Fix

* Update hui-unused-entities.ts
2019-09-17 07:45:21 +02:00
Paulus Schoutsen 065e42c8fd Fix Cast race condition (#3732) 2019-09-17 07:42:25 +02:00
Bram Kragten bf343647d4 Fix background on panel (#3713)
* Fix background on panel

* Make themes work on panel

* fix for tabs-hidden

* and still not gone...
2019-09-16 15:03:16 -06:00
Bram Kragten 3b51e55f2d Update logs on activate tab (#3716)
* Update logs on activate tab

* Only update if we already loaded data
2019-09-16 13:56:22 -06:00
Bram Kragten 125616aa99 Merge pull request #3727 from PDekker/patch-1
Update cover_icon.ts
2019-09-16 20:50:16 +02:00
Bram Kragten 1341fe9ae9 Open more info in unused entities (#3714)
* Open more info in unused entities

* Only make entity column open more info
2019-09-16 11:09:07 -06:00
Bram Kragten b195df0bfa Merge pull request #3704 from iantrich/light-min
Set minimum brightness of slider to 1%
2019-09-16 15:53:11 +02:00
Bram Kragten 1109d18576 Merge pull request #3718 from DB-CL/dev
Update slider's min/max when thermostat gets updated
2019-09-16 15:45:17 +02:00
Bram Kragten b1a6580afb Merge pull request #3720 from SeanPM5/patch-1
Add documentation link on Events panel
2019-09-16 14:08:46 +02:00
PDekker 1d95b9d779 Update src/common/entity/cover_icon.ts
Co-Authored-By: Bram Kragten <mail@bramkragten.nl>
2019-09-16 14:01:47 +02:00
PDekker 202782e741 Update cover_icon.ts
Add new icons for existing device types
2019-09-16 11:39:09 +02:00
Sean Mooney a4663d438c prettier fix, hopefully third time's a charm? 2019-09-15 00:53:28 -04:00
Sean Mooney eab3e6091a Update developer-tools-event.js 2019-09-15 00:31:36 -04:00
Sean Mooney 6627a96a05 Add documentation link on Events panel
adds a link to events documentation which contains helpful information for using this tool.
2019-09-14 23:32:13 -04:00
Erik Montnemery 16ae52c321 Fix regression in device automation from #3643 (#3717) 2019-09-14 07:02:43 -06:00
Bram Kragten 9792572370 chnage order dev tools (#3715) 2019-09-14 07:00:44 -06:00
Bram Kragten 4bb65b8ae1 Make data table and checkbox themeable (#3712)
Added rgb vars, not sure we want to go that way, but otherwise we will get a lot of styles...
2019-09-14 06:56:16 -06:00
DBCL 2f3b399450 Please the linter 2019-09-13 23:27:28 +02:00
DBCL 3e98b8e4f1 Add min/max changes on thermostat update 2019-09-13 22:58:43 +02:00
Ian Richardson 493198f530 Set minimum brightness of slider to 1%
Closes #3693
2019-09-12 13:38:18 -05:00
Paulus Schoutsen ce9e3ae9e9 Merge pull request #3690 from home-assistant/dev
20190911.1
2019-09-11 13:04:39 -06:00
Paulus Schoutsen a2c2f6a1e2 Bumped version to 20190911.1 2019-09-11 13:00:59 -06:00
Bram Kragten b46c9406ff Add ha-data-table (#3647)
* Work in progress

* add sorting

implemented in unused entities to try it

* implement sorting

* fix

* Refactor

* Default sort, filterable, id

* Fix

* Add local mdc-data-table + comments + fixes

* Move mdc-data-tabel

So our linters won't complain...
2019-09-11 12:59:27 -06:00
Ian Richardson 9f213cf055 Don't display slider if light doesn't support brightness (#3684)
Closes https://github.com/home-assistant/home-assistant-polymer/issues/3542
2019-09-11 12:47:48 -06:00
Bram Kragten 3254478d05 Remove wct-browser-legacy (#3686) 2019-09-11 12:46:57 -06:00
Bram Kragten e78fb35593 Merge pull request #3688 from home-assistant/dev
20190911.0
2019-09-11 13:43:09 +02:00
Bram Kragten 321b852079 Bumped version to 20190911.0 2019-09-11 13:00:33 +02:00
Bram Kragten 8b44998e1f Update translations (#3687) 2019-09-11 12:59:53 +02:00
Paulus Schoutsen 4aeca70f49 Upgrade HAWS to 4.4.0 (#3682) 2019-09-10 21:27:44 -07:00
gregod 7912f0bf9e Set rel noopener and noreferrer on external links in markdown (#3666)
* Set rel noopener and noreferrer on external links in markdown

* Update ha-markdown.ts

* Update ha-markdown.ts
2019-09-10 13:44:02 -07:00
Paulus Schoutsen abc849f623 Remove Polymer CLI (#3681) 2019-09-10 13:08:21 -07:00
Bram Kragten e6671299fe Filter html from translations (#3665)
* Filter html from translations

* Error when html found
2019-09-10 20:18:57 +02:00
Bram Kragten 8c5beb0042 Replace paper-fab with ha-fab (#3678)
* Replace paper-fab with ha-fab

...which is based on mwc-fab

* comment
2019-09-10 20:17:11 +02:00
Thomas Lovén eba3c535bf Fix unclickable light in light-card. Fix #3679 (#3680) 2019-09-10 10:22:26 -07:00
Ian Richardson 34d50f0c90 Add image option to glance card entities (#3673)
* Add image option to glance card entities

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3021

* properly order override
2019-09-09 22:14:12 -07:00
Ian Richardson 9eae637814 Only allow admin to edit UI config (#3674)
Closes https://github.com/home-assistant/home-assistant-polymer/issues/3084
2019-09-09 22:13:45 -07:00
Ian Richardson a29d598027 revert stop effect change (#3672)
Appears to be platform specific
2019-09-09 20:39:21 -07:00
Erik Montnemery 5448cbf1c5 Add device actions to automation editor. (#3637)
* Add device actions to automation editor.

* Copy automation on selection

* Fix types

* Remove device from device action schema
2019-09-09 12:01:58 -07:00
Ian Richardson f2999c30f3 Filter null badges (#3645)
* Convert weather-forecast to LitElement

Part of https://github.com/home-assistant/home-assistant-polymer/issues/2095

Not sure how RTL works and how to apply it.

Also, thinking I should update if the forecast changes and not just the state. Input?

* Revert "Convert weather-forecast to LitElement"

This reverts commit e1893b0a83.

* Filter out null badges

Closes https://github.com/home-assistant/home-assistant-polymer/issues/2974

* address review comments

* Update hui-view.ts
2019-09-09 11:31:20 -05:00
Ian Richardson 8a710202f1 Stop effect in more-info-light (#3636)
* Convert weather-forecast to LitElement

Part of https://github.com/home-assistant/home-assistant-polymer/issues/2095

Not sure how RTL works and how to apply it.

Also, thinking I should update if the forecast changes and not just the state. Input?

* Revert "Convert weather-forecast to LitElement"

This reverts commit e1893b0a83.

* Add stop effect button

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3619

* address review comments

* cleanup
2019-09-09 14:10:20 +02:00
Bram Kragten 11f917d5f8 Add vibration (#3588)
* Add vibration

I don't have a device that supports vibrate, and can't find a list of patterns, maybe someone can make some nice patterns?

* listen event

* Mixin

* move logic to mixin
2019-09-09 14:08:52 +02:00
Bram Kragten 2d8d6119bd Merge pull request #3663 from home-assistant/remove-babel
Remove babel
2019-09-09 09:54:17 +02:00
Paulus Schoutsen 1a5ae99c42 Update ESLint 2019-09-08 23:51:30 -07:00
Paulus Schoutsen c4d888f060 Whitelist tags/attributes instead of allow-all (#3657) 2019-09-08 23:47:28 -07:00
Paulus Schoutsen 594ee7ce9b Update build scripts 2019-09-08 23:39:37 -07:00
Paulus Schoutsen 7f10bcbfd1 Drop Babel 2019-09-08 23:39:22 -07:00
Paulus Schoutsen fe31f532b6 Update ESLint (#3664) 2019-09-08 23:38:58 -07:00
Bram Kragten 7e7158b816 Pick unused entities for lovelace cards (#3614)
* Pick unused entities for lovelace cards

* Type

* Table layout for unused entities

* properties

* remove unused import

* mwc-button

Need to find a way to set the color

* add icons to pick view dialog

* Comments

* Lint

* Restore unused entities for yaml mode

* Remove _elements

* decorators, types, comments

* flexbox + comments

* remove unused import
2019-09-08 13:43:28 -07:00
dependabot[bot] e19c210af2 Bump jquery from 3.3.1 to 3.4.0 (#3652)
Bumps [jquery](https://github.com/jquery/jquery) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.3.1...3.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-08 11:58:11 -07:00
dependabot[bot] a2f23c068b Bump lodash.mergewith from 4.6.1 to 4.6.2 (#3654)
Bumps [lodash.mergewith](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-08 11:55:12 -07:00
dependabot[bot] 205e12150f Bump lodash.template from 4.4.0 to 4.5.0 (#3653)
Bumps [lodash.template](https://github.com/lodash/lodash) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.4.0...4.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-08 11:55:03 -07:00
dependabot[bot] b7ea66c30f Bump eslint-utils from 1.3.1 to 1.4.2 (#3651)
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.3.1 to 1.4.2.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.3.1...v1.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-08 11:54:37 -07:00
Paulus Schoutsen 11ac8e4b08 Convert preact to tsx (#3643) 2019-09-08 11:54:17 -07:00
Bram Kragten d5f0ae8ae2 Merge pull request #3655 from home-assistant/dev
20190908.0
2019-09-08 20:53:20 +02:00
Bram Kragten 4c37c76a8f Merge branch 'dev' 2019-09-08 20:48:25 +02:00
Thomas Lovén cdfc3f8faf Use new round sliders for light card (#3634)
* Use new round sliders for light card

* Remove _roundSliderstyle
2019-09-08 11:47:36 -07:00
dependabot[bot] 44ca37c1dc Bump mixin-deep from 1.3.1 to 1.3.2 (#3650)
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-08 11:44:34 -07:00
dependabot[bot] 535308bf96 Bump js-yaml from 3.13.0 to 3.13.1 (#3649)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.13.0 to 3.13.1.
- [Release notes](https://github.com/nodeca/js-yaml/releases)
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.13.0...3.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-08 11:44:27 -07:00
Bram Kragten 6328f15032 Bumped version to 20190908.0 2019-09-08 20:16:10 +02:00
Erik Montnemery 2f96a096f7 Device automations: Rename name to entity_name, introduce subtype (#3644) 2019-09-08 20:12:56 +02:00
Ian Richardson cbd01f2d68 Create more-for timer with action buttons (#3621)
* Create more-for timer with action buttons

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3594

* center actions

* Address review comments

* address review comments
2019-09-06 22:13:05 -05:00
Paulus Schoutsen 2ff4d0fa4b Do not allow SVG by default (#3640) 2019-09-06 17:36:28 -07:00
Shahen Hovhannisyan 3aba2e3408 feat(translations): Added Armenian language (#3616)
* feat(translations): Added Armenian language

* fix(translations): Corrected nativeName

* fix(armenian/hy): Corrected language code

* chore(translationsMetadata): Sorted by alphabetic order
2019-09-06 14:11:27 -07:00
Mauricio Bonani b473c9c2aa Upgrade MDI icons to 4.3.95 (#3639)
* Upgrade MDI icons to 4.3.95

* Upgrade MDI icons to 4.3.95
2019-09-06 14:37:51 -05:00
Bram Kragten b97e24283c Clarify title of the dialog (#3629)
* Clarify title of the dialog

* translate
2019-09-06 16:36:58 +02:00
Ian Richardson c8d3293ae9 Throttle updates for entity-filter (#3551)
* Throttle updates for entity-filter

* throttle element config sets

* apply changes

* apply review changes
2019-09-06 11:48:39 +02:00
Ian Richardson 8e0c39e451 Convert weather-forecast to LitElement (#3623)
* Convert weather-forecast to LitElement

Part of https://github.com/home-assistant/home-assistant-polymer/issues/2095

Not sure how RTL works and how to apply it.

Also, thinking I should update if the forecast changes and not just the state. Input?

* Revert "Convert weather-forecast to LitElement"

This reverts commit e1893b0a83.

* Convert weather-forecast to LitElement

Part of https://github.com/home-assistant/home-assistant-polymer/issues/2095

Not sure how RTL works and how to apply it.

Also, thinking I should update if the forecast changes and not just the state. Input?

* address review comments and add types

* address review comments
2019-09-05 20:26:35 -07:00
Ian Richardson 46968bb565 Timestamp unavailable (#3635)
* Convert weather-forecast to LitElement

Part of https://github.com/home-assistant/home-assistant-polymer/issues/2095

Not sure how RTL works and how to apply it.

Also, thinking I should update if the forecast changes and not just the state. Input?

* Revert "Convert weather-forecast to LitElement"

This reverts commit e1893b0a83.

* Don't try to show unavailable timestamp

Closes https://github.com/home-assistant/home-assistant-polymer/issues/2956
2019-09-05 16:01:24 -07:00
Erik Montnemery 011219b727 Add device conditions to automation editor. (#3595)
* Add device conditions to automation editor.

* Fix inheritance shizzle

* Make device automation lists simple lists, not dicts

* Really make device automation lists simple lists

* Add few types

* Fix types
2019-09-05 15:43:14 -07:00
Bram Kragten 9205837b67 Create hui-views-list component (#3631)
And use for move card view
2019-09-05 11:17:19 -07:00
Bram Kragten 4eed3508ce Update cloud-google-pref.ts (#3628) 2019-09-05 09:47:39 -07:00
Bram Kragten 460a56aa0a Fill example data for services in dev tools (#3596)
* Fill example data

* Align indents

* Comments
2019-09-05 06:57:17 -07:00
Bram Kragten 3927eb53ac Fix translations (#3626) 2019-09-05 06:53:27 -07:00
Ian Richardson 2a596666c8 Move light brightness below icon (#3607)
* Move light brightness below icon

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3606

* remove border and white text coloring
2019-09-04 12:57:06 -07:00
Bram Kragten 0008a100f4 Fill state details when entity selected (#3615) 2019-09-04 10:05:49 -07:00
David F. Mulcahey 164e433592 ZHA device info dialog (#3529)
* zha device info dialog

* cleanup

* quick hack to make this work

* remove hack

* add mixin for zha device info dialog

* fix potential exception

* cleanup

* review comments

* lint

* remove unused import

* lint

* review coments

* review comments

* translations and css
2019-09-04 09:40:47 -07:00
Bram Kragten abb9190c98 20190904.0 (#3613)
* Alarm codes (#3566)

* Handle alarm codes from keyboard input

Closes https://github.com/home-assistant/home-assistant-polymer/issues/2602

* remove friendly_name changes

* remove unnecessary TS check

* Update azure-pipelines-release.yml for Azure Pipelines

* Don't remove `hvac_action` from history attributes (#3570)

So it can be used to plot a fill when active in the graph.

* Update the map when making config changes (#3568)

* Add haptic feedback to handle click (#3569)

* Filter camera service entities (#3583)

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3582

* Notification drawer RTL support (#3580)

* add exceptional icon (#3572)

* Add options to badges (#3552)

* Add options to badges

name
icon
entity_picture

* lint

* lint

* rename entityPicture to image

* Align styling cast buttons (#3579)

* Align styling cast buttons

* Split dev constants

* Ignore dev_const

* Update README.md

* Move lovelace background settings to theme (#3561)

* Move lovelace background settings to theme

While being backwards compatible

* Also update cast

* Don't allow overwrite of english lang (#3590)

* Update hui-card-options.ts (#3591)

* Fix display of no triggers text if no device is selected or device has no triggers (#3592)

* Fix timing issue in external auth (#3587)

* Fix timing issue in external auth

* add await 0

* Show toast on successfull save (#3576)

* Show toast on successfull save

We need to make a list of places where this could benefit the user experience.

* Helper method

* Rename

* handle unavailable lights (#3549)

* handle unavailable lights

* unavailable overlay

* extract unavailable overlay

* Option to display last changed in glance-card (#3584)

* Option to display last changed in glance-card

Closes https://github.com/home-assistant/ui-schema/issues/110

* move show_last_changed to entity-level

* address review comments

* Filter alerts in services (#3598)

Closes https://github.com/home-assistant/home-assistant-polymer/issues/3597

* Add exceptional in weather to translations (#3599)

* Add MQTT subscribe to dev tools (#3589)

* Add mqtt subscribe to dev tools

* Update mqtt-subscribe-card.ts

* Comments

* type

* Wrap long attributes in more-info-default (#3601)

Can likely be applied in many other places

Closes https://github.com/home-assistant/home-assistant-polymer/issues/2811

* Bumped version to 20190904.0 (#3612)
2019-09-04 14:21:03 +02:00
Bram Kragten c4fca84ded Bumped version to 20190904.0 (#3612) 2019-09-04 13:51:52 +02:00
Ian Richardson 48a010563e Wrap long attributes in more-info-default (#3601)
Can likely be applied in many other places

Closes https://github.com/home-assistant/home-assistant-polymer/issues/2811
2019-09-04 09:37:21 +02:00
Bram Kragten 4378904243 Add MQTT subscribe to dev tools (#3589)
* Add mqtt subscribe to dev tools

* Update mqtt-subscribe-card.ts

* Comments

* type
2019-09-03 15:57:54 -07:00
MatthewFlamm ba66bf88d3 Add exceptional in weather to translations (#3599) 2019-09-03 22:51:46 +02:00
Ian Richardson 5282a6504a Filter alerts in services (#3598)
Closes https://github.com/home-assistant/home-assistant-polymer/issues/3597
2019-09-03 22:23:10 +02:00
Ian Richardson 4f3abe1025 Option to display last changed in glance-card (#3584)
* Option to display last changed in glance-card

Closes https://github.com/home-assistant/ui-schema/issues/110

* move show_last_changed to entity-level

* address review comments
2019-09-03 22:12:21 +02:00
Ian Richardson 5bcba95c25 handle unavailable lights (#3549)
* handle unavailable lights

* unavailable overlay

* extract unavailable overlay
2019-09-03 14:35:37 -05:00
Bram Kragten a9c9d4ca51 Show toast on successfull save (#3576)
* Show toast on successfull save

We need to make a list of places where this could benefit the user experience.

* Helper method

* Rename
2019-09-03 20:33:10 +02:00
Bram Kragten f00ad84c16 Fix timing issue in external auth (#3587)
* Fix timing issue in external auth

* add await 0
2019-09-03 20:32:43 +02:00
Erik Montnemery 3b2e02562c Fix display of no triggers text if no device is selected or device has no triggers (#3592) 2019-09-03 10:55:42 -07:00
Bram Kragten 7bc947ffb0 Update hui-card-options.ts (#3591) 2019-09-03 10:26:26 -07:00
Bram Kragten 15564a1b26 Don't allow overwrite of english lang (#3590) 2019-09-03 10:26:04 -07:00
Bram Kragten 753e069323 Move lovelace background settings to theme (#3561)
* Move lovelace background settings to theme

While being backwards compatible

* Also update cast
2019-09-03 13:13:29 +02:00
Bram Kragten b37a0e2d43 Align styling cast buttons (#3579)
* Align styling cast buttons

* Split dev constants

* Ignore dev_const

* Update README.md
2019-09-03 12:56:11 +02:00
Ian Richardson 87b35010e0 Add options to badges (#3552)
* Add options to badges

name
icon
entity_picture

* lint

* lint

* rename entityPicture to image
2019-09-03 11:33:07 +02:00
MatthewFlamm 4e383e3e67 add exceptional icon (#3572) 2019-09-03 11:31:54 +02:00
Yosi Levy 0e82178973 Notification drawer RTL support (#3580) 2019-09-03 11:31:08 +02:00
Ian Richardson fe2046c6cd Filter camera service entities (#3583)
Closes https://github.com/home-assistant/home-assistant-polymer/issues/3582
2019-09-03 10:02:34 +02:00
Bram Kragten af0304bf78 Add haptic feedback to handle click (#3569) 2019-09-02 21:18:47 -07:00
Bram Kragten fcd206e94b Update the map when making config changes (#3568) 2019-09-02 21:17:03 -07:00
Bram Kragten cf7a300614 Don't remove hvac_action from history attributes (#3570)
So it can be used to plot a fill when active in the graph.
2019-09-02 09:10:48 -07:00
Pascal Vizeli a97ce49f0b Update azure-pipelines-release.yml for Azure Pipelines 2019-09-02 14:36:26 +02:00
Ian Richardson 5bfdc98217 Alarm codes (#3566)
* Handle alarm codes from keyboard input

Closes https://github.com/home-assistant/home-assistant-polymer/issues/2602

* remove friendly_name changes

* remove unnecessary TS check
2019-09-01 22:23:37 -07:00
Paulus Schoutsen b022128031 Merge pull request #3567 from home-assistant/dev
20190901.0
2019-09-01 22:18:43 -07:00
Bram Kragten 1bc2e6fc17 Use tslib and importHelpers (#3559) 2019-09-01 22:00:32 -07:00
Ian Richardson 6b5c9efb39 Break long strings in notifications (#3557) 2019-09-01 22:00:14 -07:00
Ian Richardson be0c035ba1 Don't open more-info from integrations dashboard (#3556) 2019-09-01 21:59:57 -07:00
Bram Kragten 12173388a0 Split Logs from info tab in dev tools (#3560)
* Split Logs from info tab in dev tools

* lint

* Remove border above logs
2019-09-01 21:53:12 -07:00
Ian Richardson ba0d7cb156 Present confirmation for server restarts/stops (#3564)
Closes https://github.com/home-assistant/home-assistant-polymer/issues/3233
2019-09-01 21:51:35 -07:00
Ian Richardson c3e29e359a Show alarm's friendly_name if set (#3565)
Closes https://github.com/home-assistant/home-assistant-polymer/issues/3459
2019-09-01 21:51:01 -07:00
Paulus Schoutsen 6259e45128 Bumped version to 20190901.0 2019-09-01 21:48:41 -07:00
Paulus Schoutsen 6998cce8eb Update translations 2019-09-01 21:48:37 -07:00
Erik Montnemery f43abb5a9d Support device triggers in automation editor (#3514)
* Support device trigger in automation editor

* Fix review comments, improve usability.

* Lint

* Lint

* Improve styling, address review comments

* Fix support for unknown stored automation

* Fix

* Lint

* Lint

* Index trigger by key, not by object

* Fix no trigger case

* Fix typing

* Move trigger translations to backend

* Rename WS command to device_automation/trigger/list

* Tweak

* Update src/data/device_automation.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Address review comments

* Fix..

* Simplify ha-device-trigger-picker

* Fix changing device
2019-09-01 21:45:47 -07:00
Ian Richardson a7fdbc069b Update fan direction (#3547)
* Handle current_direction in more-info-fan

* remove current_direction changes

* add forward/reverse to translations
2019-08-30 17:29:17 -07:00
Paulus Schoutsen b154903691 Merge pull request #3537 from home-assistant/dev
20190828.0
2019-08-28 13:43:20 -07:00
Mauricio Bonani 15a88385c2 Upgrade MDI icons to 4.2.95 (#3533)
* Upgrade MDI icons to 4.2.95

* Upgrade MDI icons to 4.2.95
2019-08-28 13:42:18 -07:00
Paulus Schoutsen 6ddf364093 Bumped version to 20190828.0 2019-08-28 13:41:37 -07:00
Paulus Schoutsen fccb97ede8 Update translations 2019-08-28 13:41:34 -07:00
Sean Mooney cfc6bf4da9 Remove duplicate word from onboarding error (#3535)
Someone shared an error message in Discord and I noticed it mentioned the word "loading" twice in a row. This removes the duplicate word from the alert.
2019-08-28 13:37:58 -07:00
Thomas Lovén 02e250cd04 Fix for double taps in iOS 13 beta (#3523)
See home-assistant/home-assistant-polymer#3510 for more info.
2019-08-28 13:37:30 -07:00
Paulus Schoutsen d29eacb268 Merge pull request #3530 from home-assistant/dev
20190825.0
2019-08-25 22:24:24 -07:00
Paulus Schoutsen 62ae7df097 Bumped version to 20190825.0 2019-08-25 22:20:44 -07:00
Paulus Schoutsen 0d43bef600 Update translations 2019-08-25 22:20:35 -07:00
Paulus Schoutsen 3709c13975 Increase touch target of menu button with notifications (#3527) 2019-08-25 22:08:49 -07:00
Paulus Schoutsen b624b363bd Fix LL menu (#3528) 2019-08-25 21:51:47 -07:00
Paulus Schoutsen d841cc92ef Slightly simplify markdown API 2019-08-24 12:55:40 -07:00
Paulus Schoutsen cdcafe9e6f Run markdown in web worker (#3524)
* Run markdown in web worker

* Set global object
2019-08-24 12:48:57 -07:00
Paulus Schoutsen a66960fa00 Add context to comment 2019-08-24 12:42:38 -07:00
Paulus Schoutsen 38cc7b1090 Fix advanced mode not representing state correctly (#3519) 2019-08-24 09:55:49 -07:00
Paulus Schoutsen ac443c2fa0 Merge pull request #3515 from home-assistant/dev
20190822.0
2019-08-22 15:05:43 -07:00
Paulus Schoutsen ee0388708f Bumped version to 20190822.0 2019-08-22 15:04:09 -07:00
Paulus Schoutsen 0717a3dadd Update translations 2019-08-22 15:04:06 -07:00
Paulus Schoutsen 6b0b66af99 Fix text areas not working in Preact (#3513) 2019-08-22 12:24:42 -07:00
Paulus Schoutsen 7e5f28b3cc Fix required fields with default values (#3512) 2019-08-22 12:21:21 -07:00
Paulus Schoutsen c9307ab76a Merge pull request #3507 from home-assistant/dev
20190821.0
2019-08-21 14:14:38 -07:00
Paulus Schoutsen ecfbfbf56b Bumped version to 20190821.0 2019-08-21 14:13:32 -07:00
Paulus Schoutsen 9b321124bb Update translations 2019-08-21 14:13:27 -07:00
Paulus Schoutsen 512b76f450 Update MDI 2019-08-21 14:12:43 -07:00
Thomas Lovén 5de8c713c8 Lovelace markdown card - fix race condition, add variables to template (#3505)
* Fix connection race, add variables

* Update src/panels/lovelace/cards/hui-markdown-card.ts

* Lint
2019-08-21 14:03:40 -07:00
Paulus Schoutsen 7482059373 Merge pull request #3504 from home-assistant/dev
20190820.1
2019-08-20 16:19:52 -07:00
Paulus Schoutsen f64062d17b Bumped version to 20190820.1 2019-08-20 16:19:16 -07:00
Paulus Schoutsen afd6fddad7 Update translations 2019-08-20 16:19:03 -07:00
Paulus Schoutsen e8ad975212 Fix onboarding (#3503)
* Fix onboarding

* Lint
2019-08-20 16:18:26 -07:00
Paulus Schoutsen 831b23347e Merge pull request #3502 from home-assistant/dev
20190820.0
2019-08-20 00:14:18 -07:00
Paulus Schoutsen 5edee41c5b Add system options UI (#3501)
* Add system options UI

* Tweak translation
2019-08-20 00:09:33 -07:00
Paulus Schoutsen c04a091f59 Bumped version to 20190820.0 2019-08-20 00:07:25 -07:00
Paulus Schoutsen 3bbd45079c Update translations 2019-08-20 00:07:21 -07:00
Paulus Schoutsen 01da25d2d6 Allow disabling entity in entity registry (#3496)
* Allow disabling entitiy in entity registry

* Make strings translatable

* Update dialog-entity-registry-detail.ts

* Change to enabled
2019-08-19 23:59:32 -07:00
Paulus Schoutsen 355e3d7911 Migrate integrations page to TypeScript (#3500) 2019-08-19 15:12:57 -07:00
Thomas Lovén 6c109c15ef Add buttons to move entities (#3499) 2019-08-19 14:17:49 -07:00
Thomas Lovén c542b242fe Fix gui-editor resizing problem (#3498) 2019-08-19 13:19:56 -07:00
Yosi Levy bcb26bd960 Force ltr again in info panel (#3494) 2019-08-15 21:27:36 -07:00
Paulus Schoutsen 3a3c705343 Merge pull request #3492 from home-assistant/dev
20190815.0
2019-08-15 14:03:35 -07:00
Paulus Schoutsen 46f3a38b7c Bumped version to 20190815.0 2019-08-15 13:36:03 -07:00
Paulus Schoutsen 864175bde9 Update translations 2019-08-15 13:36:00 -07:00
Paulus Schoutsen f458bdffe0 Add support for options flows (#3491) 2019-08-15 13:34:26 -07:00
Paulus Schoutsen 200e099035 Refactor config flow dialog to make it reusable (#3488)
* Refactor config flow dialog to make it reusable

* More refactor

* forgot to save

* Render labels correcetly
2019-08-15 09:03:54 -07:00
Mauricio Bonani 07b8518162 Upgrade MDI icons to 4.0.96 (#3490)
* Upgrade MDI icons to 4.0.96

* Upgrade MDI icons to 4.0.96
2019-08-15 08:45:35 -07:00
Paulus Schoutsen b3525abf21 Upgrade lit-html (#3485) 2019-08-15 08:45:17 -07:00
Paulus Schoutsen f7bb85d332 Do not use toggleAttribute (#3484) 2019-08-12 12:52:59 -07:00
Paulus Schoutsen b8a18a27a4 Update release script 2019-08-12 12:48:34 -07:00
Yosi Levy 88bea10b26 Fix ha-sidebar for RTL (#3469)
* Fix menu alignments, icon, profile alignment in collapsed and expanded mode

* Refactor

* Lint exclude

* Refactor + lint ignore

* Fixed RTL calc location

* Refactored ifs
2019-08-12 10:44:51 -07:00
Yosi Levy 807dff99af RTL arrow problems (#3467)
* Updated style check since load sequence must have changed

* Refactored to timeout

* Added comment
2019-08-12 10:31:23 -07:00
Seb Ruiz 9fa8544972 Add relevant device_class icons for Cover entity (#3482)
* Add relevant cover icons for supported device classes

* Remove icon which doesn't have closed/open state

* Remove umbrella icon for awnings
2019-08-12 09:11:59 -07:00
Paulus Schoutsen 806e70b6c9 Merge pull request #3480 from home-assistant/dev
20190811.0
2019-08-11 21:17:04 -07:00
Paulus Schoutsen 204bd803bf Add reload scene button (#3476) 2019-08-11 20:52:58 -07:00
Paulus Schoutsen 52712f65c2 Bumped version to 20190811.0 2019-08-11 20:52:24 -07:00
Paulus Schoutsen 8c3f8656fe Update translations 2019-08-11 20:52:19 -07:00
Thomas Lovén 1f3a5b1396 Template markdown card (#3451)
* Render templates in markdown card

* Add manual entity_id option

* Linting

* Address review comments

* Address review comments

* Address review comments

* Address review comments

* Tweak disconnect function

* Remove cardSize instance variable

* Fix demo
2019-08-10 12:55:32 -07:00
Thomas Lovén c15629b81b Various changes to card editor. (#3265)
* Various changes to card editor.

* Avoid crashing on bad yaml when creating a new card

* Address review comments

* Revert interface change

* Avoid config loops. Nicer error behavior.
2019-08-10 12:14:35 -07:00
Paulus Schoutsen ef3892de92 Re-apply theme if backend theme changes (#3471) 2019-08-10 11:38:39 -07:00
Paulus Schoutsen 47d6bb69b0 Fix setting view background (#3470) 2019-08-09 16:26:33 -07:00
Paulus Schoutsen f10fab7e22 Fix hass.io icon order (#3462) 2019-08-09 15:53:46 -07:00
Bram Kragten e2dfac48d0 Cast View 0 + show active (#3466)
* View 0 + show active

* Fix view 0 receiver

* Type

select doesn't seem to be used?
2019-08-09 15:34:09 -07:00
Paulus Schoutsen 53f5a29151 Remove stale comment 2019-08-09 15:24:28 -07:00
Paulus Schoutsen a042cd2d48 Fix icon build 2019-08-09 13:15:58 -07:00
Paulus Schoutsen 8533f9372f Upgrade MDI icons to 3.9.97 2019-08-09 11:40:23 -07:00
Paulus Schoutsen a4e96a4f3f Update translations 2019-08-09 10:59:13 -07:00
Pascal Vizeli fa40135a27 Build wheels from release & Templates 2019-08-08 11:22:48 +02:00
Paulus Schoutsen d85f9f9021 Convert profile page to Lit/TS (#3449)
* Convert profile page to Lit/TS

* Lint
2019-08-07 14:35:31 -07:00
Thomas Lovén dc2ee2e63f Enable ha-icons in markdown card (#3458)
* Allow ha-icon in markdown

* Please the linter

* Remove allowSvg

* Remove lasts allow-svgs
2019-08-07 14:35:17 -07:00
Paulus Schoutsen f3729759b7 Update FAQ 2019-08-06 16:47:27 -07:00
Frederik Gladhorn f108e279cd Add script/setup (#3437)
script/setup did not exist, despite being mentioned in the readme.
Create it and let it call bootstrap.
2019-08-06 15:36:35 -07:00
Paulus Schoutsen 8dce24ddfc Tweak upload script 2019-08-06 09:56:07 -07:00
Paulus Schoutsen d2e780dda2 Better track pageview 2019-08-06 09:36:22 -07:00
Paulus Schoutsen c382768008 Update GA to always track / 2019-08-06 09:34:45 -07:00
Paulus Schoutsen f369045f35 Set correct GA code 2019-08-06 08:49:57 -07:00
Paulus Schoutsen 17921c18b6 Add GA to receiver 2019-08-06 08:44:47 -07:00
Paulus Schoutsen 42c6cecf89 Merge pull request #3461 from home-assistant/dev
20190805.0
2019-08-05 22:31:25 -07:00
Paulus Schoutsen 4799fdee9c Bumped version to 20190805.0 2019-08-05 22:22:35 -07:00
Paulus Schoutsen 2049687590 Update translations 2019-08-05 22:22:31 -07:00
Paulus Schoutsen aca5ae9f67 Fix Cast demo (#3460) 2019-08-05 22:21:54 -07:00
Paulus Schoutsen de04f60821 Merge pull request #3457 from home-assistant/dev
20190804.0
2019-08-04 22:37:45 -07:00
Paulus Schoutsen 98b882d599 Bumped version to 20190804.0 2019-08-04 22:26:27 -07:00
Paulus Schoutsen 5b02a43c3f Update translations 2019-08-04 22:26:20 -07:00
Paulus Schoutsen 2da844a1fb Home Assistant Cast 2019-08-04 22:25:43 -07:00
Charles Garwood 0544027c38 Fix zwave-node-values component (#3452)
* Fix zwave-node-values

* lint
2019-08-03 11:19:25 -07:00
Paulus Schoutsen 2389f92448 Fix playerObj undefined. Fixes #2915 2019-08-03 11:17:31 -07:00
Paulus Schoutsen 1f13c00937 Merge pull request #3450 from home-assistant/dev
20190801.0
2019-08-01 13:41:22 -07:00
Paulus Schoutsen 2fda2ee742 Suggest a view path when user enters a title when creating a view (#3448)
* Suggest a view path when user enters a title when creating a view

* Lint
2019-08-01 13:33:28 -07:00
Paulus Schoutsen 17a3affb6f Remove conversation because it's not part of default config (#3444) 2019-08-01 13:32:13 -07:00
Paulus Schoutsen f6be398fb9 Bumped version to 20190801.0 2019-08-01 13:31:46 -07:00
Paulus Schoutsen 87e24d658b Update translations 2019-08-01 13:31:41 -07:00
Paulus Schoutsen abf70c3a3e Better deal with YAML updated message (#3447) 2019-08-01 11:52:43 -07:00
Paulus Schoutsen b9afa69ee5 Handle unavailable climate (#3446) 2019-08-01 09:02:20 -07:00
Charles Garwood d9628fd9a2 Convert zwave-node-config to lit/ts (#3434)
* Convert zwave-node-config to lit/ts

* Add translations

* lint round 1

* lint round 2

* . all the properties and fix missing types

* Clean up bad prettier auto-style

* set header property instead of attribute
2019-08-01 08:32:20 -07:00
Paulus Schoutsen a617eac284 Merge pull request #3443 from home-assistant/dev
20190731.0
2019-07-31 11:06:58 -07:00
Paulus Schoutsen 7d90429fa9 Bumped version to 20190731.0 2019-07-31 10:51:22 -07:00
Paulus Schoutsen fa6d0949a2 Update translations 2019-07-31 10:50:26 -07:00
Marijn Pool aab967798a Split General Config and Server Control (#3418)
* Initial split of core and server control config

* Changed Typescript to Javascript

* Show Server controls without Advanced Mode

* Update en.json
2019-07-31 10:41:54 -07:00
Sean Mooney c523bae2c8 Use accent color for notification badge again (#3442)
This fixes https://github.com/home-assistant/home-assistant-polymer/issues/3414 by changing the notification badge to use `accent-color` variable (same behavior as it was prior to 0.96 overhaul). I make extensive use of persistent_notifications and agree with that issue - the color change has made it a little harder to notice now. 

Before and after of how it looks on the default theme:
![badge](https://i.imgur.com/VHnyzQb.png)

The other reason I feel this makes sense, is that `accent-color` is already used in "mobile mode" dot (pic below), so this brings some consistency.
![mobile-badge](https://i.imgur.com/EOvtZGJ.jpg)

If this was an intentional change, feel free to reject/close this.
2019-07-31 09:11:24 -07:00
Thomas Lovén b77372fc9a Display history-graph entries in the order they were specified (#3436) 2019-07-30 11:55:37 -07:00
Paulus Schoutsen 70b06861d1 Add file for custom card support (#3440) 2019-07-30 11:47:01 -07:00
Paulus Schoutsen b158f15d93 Lovelace tweaks (#3439) 2019-07-30 10:37:21 -07:00
Paulus Schoutsen 4edcd5f2ef Simplify demo (#3438) 2019-07-30 10:37:12 -07:00
Paulus Schoutsen 689e37782e Ignore LL updates for a second in YAML mode (#3433) 2019-07-26 20:30:54 -07:00
Paulus Schoutsen dcfed5d7e1 weblink target (#3431) 2019-07-26 15:09:32 -07:00
Paulus Schoutsen 54ea6176aa Extract is navigation click (#3432) 2019-07-26 14:55:08 -07:00
Paulus Schoutsen a91bb3cdbb Add label to ha-entity-picker (#3430) 2019-07-26 14:54:50 -07:00
Paulus Schoutsen 6abbe72e4d Lovelace cleanups (#3427)
* Improvements

* Add types CAF

* Fix demo switching

* Do not set background color in hui-view
2019-07-26 11:06:16 -07:00
Paulus Schoutsen dae0ecce6a Hide preset=none (#3419)
* Hide preset=none

* Add const to commit
2019-07-25 10:14:29 -07:00
Paulus Schoutsen c3118eada9 Show notification indicator in forced mobile mode (#3420) 2019-07-25 10:14:20 -07:00
Paulus Schoutsen 0f6d0b164f Add aria labels to cover controls (#3421) 2019-07-25 10:14:13 -07:00
Paulus Schoutsen 87293e4b15 Add more labels (#3422) 2019-07-25 10:14:05 -07:00
David F. Mulcahey ff80eef25d Update ZHA device card (#3411)
* add ability to subscribe to individual updates

* catch changes on area, device name and entity ids

* subscribe directly

* remove entity registry change

* add type

* remove device subscription
2019-07-24 20:05:33 -07:00
Paulus Schoutsen 973c190bb6 Merge pull request #3408 from home-assistant/dev
20190721.1
2019-07-21 12:57:30 -07:00
Paulus Schoutsen 0cd263c532 Bumped version to 20190721.1 2019-07-21 12:45:27 -07:00
Paulus Schoutsen 3c366b2b85 Move hassio down (#3407) 2019-07-21 12:20:55 -07:00
Paulus Schoutsen a59f0086b5 Fix proper script closing tag (#3405) 2019-07-21 12:20:37 -07:00
Paulus Schoutsen 1f1a3acc03 Fix styling notifications (#3404) 2019-07-21 12:10:47 -07:00
Paulus Schoutsen d09cf9c8ab Close script tag (#3403) 2019-07-21 11:46:40 -07:00
Paulus Schoutsen f32eb971a4 Properly close script tag 2019-07-21 11:30:57 -07:00
Paulus Schoutsen 56c08a1d07 Close the drawer when picking a panel when in forced narrow mode (#3402) 2019-07-21 11:07:26 -07:00
Paulus Schoutsen a44b1d01ed Merge pull request #3401 from home-assistant/dev
20190721.0
2019-07-21 09:55:40 -07:00
Paulus Schoutsen 2fd75742f1 Bumped version to 20190721.0 2019-07-21 09:55:03 -07:00
Paulus Schoutsen 70b18344b6 Update translations 2019-07-21 09:54:59 -07:00
Paulus Schoutsen 5ec58a723e properly store width (#3400) 2019-07-21 09:54:12 -07:00
Paulus Schoutsen 8dd44bca32 Merge pull request #3399 from home-assistant/dev
20190720.0
2019-07-20 17:55:41 -07:00
Paulus Schoutsen dcb975c8ce Bumped version to 20190720.0 2019-07-20 17:34:03 -07:00
Paulus Schoutsen ea0a0f510d Update translations 2019-07-20 17:33:59 -07:00
Paulus Schoutsen 9476557aee Remove automatically including preset None (#3398) 2019-07-20 17:32:35 -07:00
Paulus Schoutsen 4555bd4240 Add a force mobile mode on desktop (#3394)
* Add a force mobile mode

* Fix columns on LL

* Update text

* Move it above the push notifications

* Hide notification count when sidebar expanded and count=0
2019-07-20 17:30:25 -07:00
Paulus Schoutsen 75c7445dd9 Show a tooltip when hovering sidebar items in compact mode (#3393)
* Show a tooltip when hovering sidebar items in compact mode

* Use div for tooltip
2019-07-20 10:31:13 -07:00
Paulus Schoutsen da741238d2 Various climate improvements (#3389)
* Sort HVAC modes

* Add translations for HVAC action

* Show hvac_action if available
2019-07-19 15:51:47 -07:00
Paulus Schoutsen 3d0c994b9a Sidebar iteration (#3392)
* Remove hover effect

* Reuse render panel func

* Show notification badge on the right in expanded mode
2019-07-19 15:51:37 -07:00
Paulus Schoutsen ab4b4796c0 Merge pull request #3388 from home-assistant/dev
20190719.0
2019-07-19 09:42:24 -07:00
Paulus Schoutsen a7077dbcb4 Bumped version to 20190719.0 2019-07-19 09:29:42 -07:00
Paulus Schoutsen a66013ecd7 Update translations 2019-07-19 09:29:38 -07:00
Nikolay Vasilchuk 8265a55838 Fix target_temperature_step (#3386)
* target_temp_step fix

* Fix undefined

* Small fix

* Linter fix

* Linter fix
2019-07-19 09:20:08 -07:00
Paulus Schoutsen 95d6cbd130 Merge pull request #3385 from home-assistant/dev
20190718.0
2019-07-18 14:07:04 -07:00
Paulus Schoutsen 1ee9811644 Bumped version to 20190718.0 2019-07-18 14:06:10 -07:00
Paulus Schoutsen 99c5f2a88a Update translations 2019-07-18 14:06:07 -07:00
Paulus Schoutsen cdfd9cea5c Fix shade for HVAC action on graph (#3380) 2019-07-18 14:03:04 -07:00
Joakim Plate 4f2b82d787 Fix missing end tag (#3378)
* Fix missing end tag

* Prettify file
2019-07-18 09:36:15 -07:00
Charles Garwood 3fd0ee9d75 Convert zwave-values to ts & add translation strings (#3367)
* Convert zwave-values to ts & add translation strings

* lint

* Change some common translation strings to live under "common" instead of "values"

* Cleanup & address review comments
2019-07-17 20:26:45 -07:00
Paulus Schoutsen c7f7e72340 Merge pull request #3377 from home-assistant/dev
20190717.1
2019-07-17 15:10:22 -07:00
Paulus Schoutsen 1205322342 Bumped version to 20190717.1 2019-07-17 15:09:26 -07:00
Joakim Plate 4cefb9715c Make sure sliderType is set first (#3376)
* Make sure sliderType is set first

* No need for a separate name
2019-07-17 15:08:51 -07:00
Paulus Schoutsen 35b38db57f Merge branch 'master' into dev 2019-07-17 15:08:31 -07:00
Paulus Schoutsen 4f72eb5416 Remove check 2019-07-17 13:01:12 -07:00
Paulus Schoutsen f3d1a421f4 Update pipeline 2019-07-17 13:00:34 -07:00
Paulus Schoutsen f3c24dc0b3 Remove tsc check 2019-07-17 12:41:07 -07:00
Paulus Schoutsen e4cbdc29a2 Update azure-pipelines-release.yml 2019-07-17 12:33:46 -07:00
Paulus Schoutsen c985977efc Update pipeline 2019-07-17 12:17:52 -07:00
Paulus Schoutsen 8fb991c5ce Merge remote-tracking branch 'origin/dev' 2019-07-17 12:15:52 -07:00
Paulus Schoutsen 210c63ad14 Bumped version to 20190717.0 2019-07-17 12:15:13 -07:00
Paulus Schoutsen 8167b05cad Update translations 2019-07-17 12:15:12 -07:00
Paulus Schoutsen e5a916032a Merge pull request #3375 from home-assistant/dev
20190717.0
2019-07-17 12:09:36 -07:00
Paulus Schoutsen 56745b3723 Set up CI with Azure Pipelines
[skip ci]
2019-07-17 11:50:07 -07:00
Paulus Schoutsen ddf2c6cc0f Add Azure pipelines for release 2019-07-17 11:48:50 -07:00
Joakim Plate 84df2bd531 Make sure slider type updates with changes to temperatures (#3374) 2019-07-17 11:32:22 -07:00
Paulus Schoutsen 42c3e3e46c Differentiate Heat/Cool (#3371) 2019-07-16 23:51:15 -07:00
Paulus Schoutsen 5141e0e923 Merge pull request #3370 from home-assistant/fixes-yo
Fixes yo
2019-07-16 22:56:10 -07:00
Paulus Schoutsen b87c94e395 Fix typing 2019-07-16 22:41:47 -07:00
Paulus Schoutsen 55aa5a0d12 Scroll device list when goes out of screen. Fixes #3343 2019-07-16 21:43:15 -07:00
Paulus Schoutsen eaaeb10c6d Store width before searching to avoid jumping 2019-07-16 21:34:12 -07:00
Paulus Schoutsen 567769be5a Use hass icons for search input 2019-07-16 21:33:09 -07:00
Paulus Schoutsen 3ebb30bd48 Only show advanced mode toggle for admins. Fixes #3369 2019-07-16 20:43:05 -07:00
Paulus Schoutsen 09a19d2e7f Allow scrolling notification drawer. Fixes 3366 2019-07-16 20:38:35 -07:00
Paulus Schoutsen fabc49d17e Fix theme color in dev index.html 2019-07-16 20:36:40 -07:00
Paulus Schoutsen 00e9155546 Merge pull request #3368 from home-assistant/dev
20190715.0
2019-07-15 13:50:25 -07:00
Paulus Schoutsen 8238b700b0 Update translations uno mas 2019-07-15 13:38:44 -07:00
Paulus Schoutsen 5ff33224ed Remove unused keys 2019-07-15 13:15:50 -07:00
Paulus Schoutsen 07dee9c5bb Update translations 2019-07-15 13:11:37 -07:00
Paulus Schoutsen 9eaeafdd6a Bumped version to 20190715.0 2019-07-15 13:05:11 -07:00
Paulus Schoutsen beb1fe1e64 Update translations 2019-07-15 13:05:06 -07:00
Timmo cdb2a1a424 Integrations - Add Search (#3361)
*  Add search to flow picker

* 🔨 Autofocus

* 🔨 squash extra space

* Update src/dialogs/config-flow/step-flow-pick-handler.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update src/dialogs/config-flow/step-flow-pick-handler.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
2019-07-14 13:47:33 -07:00
Paulus Schoutsen 8bbc442b7e Correctly check frontend version (#3365) 2019-07-14 13:30:50 -07:00
Sean Mooney 7a12cbf96e Add link to Alexa skill on Cloud page (#3364)
This adds a direct link to the Home Assistant Alexa skill, which is more convenient than telling the user to search for it themselves. On mobile devices it can open the skill directly in the Alexa app which is nice.

Also tweaked the wording from "activate" to "enable" since that is what Amazon uses.
2019-07-12 23:45:27 -07:00
Paulus Schoutsen e36454f08f Fix token card not showing (#3362) 2019-07-12 22:36:36 -07:00
Timmo 3865c1943c 🔨 Fix mqtt dev tools missing class (#3359) 2019-07-12 15:31:38 -07:00
Paulus Schoutsen e7e3edfd97 Merge pull request #3358 from home-assistant/dev
20190712.0
2019-07-12 14:58:22 -07:00
Paulus Schoutsen 4bdc82f0ed Bumped version to 20190712.0 2019-07-12 14:44:22 -07:00
Paulus Schoutsen 8e3b41885d Update translations 2019-07-12 14:44:07 -07:00
Paulus Schoutsen 8f3d5fdb7d Fix scrollbar on Firefox (#3357) 2019-07-12 14:42:56 -07:00
Timmo f258aa2818 Replace standard browser scrollbar for overview and sidebar (#3350)
* 📜 Replace standard browser scrollbar for overview and sidebar

* 🔨 Remove from main
2019-07-12 13:08:51 -07:00
Charles Garwood b4dd971829 Z-Wave Config Panel Updates (#3349)
* Display network status, hide buttons if network is stopped.

* travis/lint updates

* Review comments

* Add translations

* lint

* Missed a translation

* lint again...

* Fix unsubscribe function?

* lint again

* Remove state_str

* Code review comments

* fix for lit re-rendering & possible undefined value
2019-07-12 13:07:50 -07:00
Sean Mooney e99d6f8e6a Fix incorrect tooltip on Add Person button (#3355)
The tooltip for the add person button incorrectly says "Create Area" when hovered. This should fix it, I think.
2019-07-12 12:07:46 -07:00
Paulus Schoutsen cc969e547c Add frontend version to info (#3354) 2019-07-12 11:18:01 -07:00
Paulus Schoutsen 0e1ae3926b Merge pull request #3348 from home-assistant/dev
20190710.0
2019-07-10 10:35:46 -07:00
Charles Garwood 60c2bcc483 Convert Z-Wave panel to TS/Lit (#3345)
* Convert zwave-network to typescript/lit

* Convert zwave-network to ts/lit

* Updates per code review

* missed one (hass? => hass!)

* Remove constructor
2019-07-10 10:26:17 -07:00
Paulus Schoutsen 5d8e34e8be Show menu button when Hassio supervisor UI runs on old HA (#3347) 2019-07-10 10:10:56 -07:00
Paulus Schoutsen 14a430a059 Bumped version to 20190710.0 2019-07-10 09:36:44 -07:00
Paulus Schoutsen 4ae347949a Update translations 2019-07-10 09:36:35 -07:00
Paulus Schoutsen cdd007cc54 Ensure load order (#3346) 2019-07-10 09:27:25 -07:00
Paulus Schoutsen 2929db5ba4 Fix fonts precaching (#3338)
* Fix font urls

* Don't zopfli nonexisting fonts
2019-07-10 08:18:04 -07:00
Paulus Schoutsen 628692b2e9 Do not cache onboarding page (#3337) 2019-07-10 08:17:51 -07:00
Paulus Schoutsen 7cfdc24a8c Fix test translations (#3339) 2019-07-10 08:17:41 -07:00
Paulus Schoutsen 1c69aa122b Merge pull request #3334 from home-assistant/dev
20190705.0
2019-07-05 16:09:33 -07:00
Paulus Schoutsen 25afb73ed7 Bumped version to 20190705.0 2019-07-05 15:25:01 -07:00
Paulus Schoutsen 5b5384032d Update translations 2019-07-05 15:25:01 -07:00
Jérôme W a9d221147f Fix timer stops updating when changing views in LL (#3248)
* Fix timer stops updating when changing views in LL

* Test if _config exists in connectedCallback()

* Update hui-timer-entity-row.ts
2019-07-05 15:22:29 -07:00
Paulus Schoutsen 4fdbec93b3 Migrate for climate 1.0 (#3333)
* Migrate for climate 1.0

* Update demo

* Fix gallery

* Add preset to thermostat card

* Fix climate entity row
2019-07-05 15:13:53 -07:00
Thomas Lovén 0a8703ad0a Allow selecting text in error-card (#3330)
* Allow selecting text in error-card

* Still use default cursor
2019-07-02 20:28:39 -07:00
Paulus Schoutsen ddc11c1b12 Merge pull request #3329 from home-assistant/dev
20190702.0
2019-07-02 10:33:40 -07:00
Paulus Schoutsen 317f43277e Bumped version to 20190702.0 2019-07-02 10:32:43 -07:00
Paulus Schoutsen bf90642c9b Update translations 2019-07-02 10:32:40 -07:00
Paulus Schoutsen 6f77992387 Random fixes (#3328)
* Fix scroll into view on first load

* Do not crash when deleting script/automation

* Disable swipe on notification drawer
2019-07-02 10:31:48 -07:00
David F. Mulcahey deaccd6cd4 Add info to ZHA device card (#3327)
* add zha domain icon

* update device card
2019-07-02 10:13:59 -07:00
Paulus Schoutsen d7371ace6a Sidebar improvements (#3325)
* Do not contract sidebar when undocking sidebar

* Do not hide text until fully contracted

* Cancel hover expanding on tablets

* Open notifications on the left

* Set property before opening

* Fix check for support scroll if needed
2019-07-01 10:35:10 -07:00
Paulus Schoutsen 453b1000c1 Merge branch 'dev' 2019-06-30 23:03:58 -07:00
Paulus Schoutsen 8c1aff7505 Check supported func properly 2019-06-30 23:03:51 -07:00
Paulus Schoutsen adf002c154 Merge branch 'dev' 2019-06-30 23:02:58 -07:00
Paulus Schoutsen ed7b81e7a4 Hide scrollbars on sidebar during expanding 2019-06-30 23:02:48 -07:00
Paulus Schoutsen c0f6ee6a32 Merge branch 'dev' 2019-06-30 22:52:44 -07:00
Paulus Schoutsen 9408df6099 Fix Firefox 2019-06-30 22:52:31 -07:00
Paulus Schoutsen 157bfd6f80 Space out sidebar 2019-06-30 22:21:37 -07:00
Paulus Schoutsen 99da7ebfe6 Merge branch 'dev' 2019-06-30 21:58:32 -07:00
Paulus Schoutsen 6911df9ac4 Fix sidebar in Safari 2019-06-30 21:58:02 -07:00
Paulus Schoutsen 8daeaab40b Merge pull request #3324 from home-assistant/dev
20190630.0
2019-06-30 15:20:33 -07:00
Paulus Schoutsen 45c3c78b31 Bumped version to 20190630.0 2019-06-30 15:15:56 -07:00
Paulus Schoutsen a64a35b861 Update translations 2019-06-30 15:15:52 -07:00
Paulus Schoutsen 5a25627219 Stop playing video when more info is closed (#3318) 2019-06-30 15:14:42 -07:00
Paulus Schoutsen 203b14613f Show a notification dot on toggle menu button in narrow mode (#3323)
* Show a notification dot on toggle menu button in narrow mode

* Fix lint

* Move menu button to sidebar

* Fix height sidebar
2019-06-30 15:02:53 -07:00
Paulus Schoutsen 0a7cb39500 Add transition delay to sidebar expand 2019-06-28 14:46:54 -07:00
Paulus Schoutsen 42e75e7cdf Move notifications to the sidebar (#3317)
* Move notifications to the sidebar

* Close when navigating

* Lint
2019-06-28 14:23:29 -07:00
Paulus Schoutsen 58e6be12af Add developer tools panel (#3313) 2019-06-28 08:34:29 -07:00
Paulus Schoutsen 618d25ce48 Fix person showing value in badge 2019-06-28 08:28:52 -07:00
Paulus Schoutsen 9974510067 Merge pull request #3311 from home-assistant/dev
20190627.0
2019-06-27 17:56:22 -07:00
Paulus Schoutsen 2faa0c5979 Bumped version to 20190627.0 2019-06-27 17:48:44 -07:00
Paulus Schoutsen 1479647062 Update translations 2019-06-27 17:48:38 -07:00
Paulus Schoutsen 3becefaf8b Add a couple of labels (#3310)
* Add a couple of labels

* Add some more labels
2019-06-27 17:47:19 -07:00
Paulus Schoutsen e804e62e66 Add advanced mode (#3298)
* Add advanced mode

* Move advanced mode to profile

* Add promo for advanced mode
2019-06-27 16:17:32 -07:00
Paulus Schoutsen 2c3cc1fbc7 experimental sidebar (#3306)
* experimental sidebar

* Change default docked sidebar to true

* remove delay

* Push things down

* Speed up animation

* Always open on big screens

* Move things around

* Final tweaks

* Lint

* Don't open on hover logo
2019-06-27 15:23:05 -07:00
Paulus Schoutsen 58cc76ab5a Merge pull request #3305 from home-assistant/dev
20190626.0
2019-06-26 09:10:32 -07:00
Paulus Schoutsen 5783cdb0d2 Bumped version to 20190626.0 2019-06-26 09:05:00 -07:00
Paulus Schoutsen 4f07caebc6 Update translations 2019-06-26 09:04:56 -07:00
Paulus Schoutsen c4b75b4534 Fix typo in font definition (#3304) 2019-06-25 23:39:50 -07:00
Paulus Schoutsen ae82eabaec Fix link colors in hassio addon view 2019-06-25 13:08:11 -07:00
Paulus Schoutsen f8d3e55fe0 Fix home zone so it doesn't overlap the city name 2019-06-25 10:17:26 -07:00
Paulus Schoutsen 1462db0a76 Merge pull request #3303 from home-assistant/dev
20190624.1
2019-06-24 22:15:47 -07:00
Paulus Schoutsen 86b36fb76b Bumped version to 20190624.1 2019-06-24 22:06:35 -07:00
Paulus Schoutsen c6194622b1 Update translations 2019-06-24 22:06:14 -07:00
Paulus Schoutsen be5c3efb23 Fix source maps 2019-06-24 22:05:34 -07:00
Paulus Schoutsen 999c243c94 Better error report on Alexa (#3302) 2019-06-24 17:36:12 -07:00
Paulus Schoutsen 483f82e554 Add demo sw (#3301) 2019-06-24 10:39:27 -07:00
Paulus Schoutsen e91f4567c2 Merge pull request #3300 from home-assistant/dev
20190624.0
2019-06-24 08:26:03 -07:00
Paulus Schoutsen 029467139d Bumped version to 20190624.0 2019-06-24 08:14:17 -07:00
Paulus Schoutsen 29649abe3d Update translations 2019-06-24 08:14:12 -07:00
Mauricio Bonani 266c80320b Upgrade mdi to 3.7.95 (#3299)
* Update yarn.lock

* Update package.json
2019-06-22 18:18:28 -07:00
Paulus Schoutsen ae51300446 Revert Polymer to 3.1 (#3297)
* Revert Polymer to 3.1

* Only install 1 polymer
2019-06-22 12:36:30 -07:00
Thomas Lovén cbdb222f72 Import extra_html_url using js instead of deprecated link tags (#3288)
* import extra_html_url using js instead of deprecated link tags

* Import modules instead

* Address comment

* Rename variables for es5 scripts

* Address comments
2019-06-21 20:55:53 -07:00
Paulus Schoutsen 98c419ff03 Switch to woff2 fonts (#3296) 2019-06-21 12:48:20 -07:00
Paulus Schoutsen 88b9348a81 Add map to demo (#3295) 2019-06-21 11:05:01 -07:00
Paulus Schoutsen 3e8606781e Fix typo 2019-06-21 09:31:15 -07:00
Paulus Schoutsen 875afbd7ae Merge pull request #3294 from home-assistant/dev
20190620.0
2019-06-20 23:52:08 -07:00
Paulus Schoutsen 3139b914d7 Bumped version to 20190620.0 2019-06-20 23:43:45 -07:00
Paulus Schoutsen 212a44b6ae Update translations 2019-06-20 23:43:39 -07:00
Paulus Schoutsen 60551168a2 Update demo (#3292)
* Update demo

* Kill homebridge hidden

* Add missing air translation

* Hide demo card with localStorage.hide_demo_card

* adjust size of demo card if hidden

* disable lint rule
2019-06-20 23:40:56 -07:00
Robbie Trencheny 32d9a6884f Add some aria-labels for use with fastlane snapshot (#3293) 2019-06-20 23:16:50 -07:00
Mauricio Bonani 7002ab27c0 Upgrade mdi to 3.6.95 (#3291)
* Update package.json

* Update yarn.lock
2019-06-20 14:45:43 -07:00
Bram Kragten 15c101109e Update hui-map-card.ts (#3289) 2019-06-20 08:34:34 -07:00
Paulus Schoutsen 316fed953a Merge pull request #3286 from home-assistant/dev
20190619.0
2019-06-19 16:21:38 -07:00
Paulus Schoutsen 93934449c0 Bumped version to 20190619.0 2019-06-19 16:11:45 -07:00
Paulus Schoutsen 894a25c98e Update translations 2019-06-19 16:11:41 -07:00
Paulus Schoutsen 90f0d9fa00 Add button for Alexa to sync entities (#3284)
* Add button for Alexa to sync entities

* Lint
2019-06-19 11:43:17 -07:00
Paulus Schoutsen 83889a8fd7 Filter met during onboarding (#3285)
* Filter met during onboarding

* Hide temp values with no value
2019-06-19 11:42:46 -07:00
Paulus Schoutsen 4cfc429e75 Hide unused entities in the demo 2019-06-18 11:59:51 -07:00
Paulus Schoutsen 2df829b79d Hide unused entities in the demo 2019-06-18 11:57:21 -07:00
Paulus Schoutsen 7baf6382ac Merge pull request #3282 from home-assistant/dev
20190618.0
2019-06-18 11:47:21 -07:00
Paulus Schoutsen 7d1f689ed9 Bumped version to 20190618.0 2019-06-18 11:21:56 -07:00
Paulus Schoutsen 4f448553f6 Update translations 2019-06-18 11:21:52 -07:00
David F. Mulcahey dd56671974 Add NWK to ZHA device card and fix search again (#3278)
* add nwk to device info

* fix search again
2019-06-18 11:14:37 -07:00
Paulus Schoutsen d8e0fd0ba5 Limit demo card mobile (#3281)
* Limit demo card on mobile

* Remove unused deps

* Remove tabs from ARS demo

* Set title to Home Assistant
2019-06-18 10:44:11 -07:00
Paulus Schoutsen a9320d4baf Fix import 2019-06-17 20:12:29 -07:00
Kevin Cooper 42475becf1 Fix for more-info-alarm_control_panel when using code_arm_required (#3052)
* Fix for more-infoalarm_control_panel when using code_arm_required

* Update more-info-alarm_control_panel.js
2019-06-17 15:08:14 -07:00
Justin Bassett c30aca8484 Dark Mode for Map Card (#3250)
* Ability to change tile set from light_all to dark_all through card config.

* Use correct boolean.

* Fix possible undefined.

* Use correct value.
2019-06-14 20:37:34 -07:00
Paulus Schoutsen 25bdf50737 Use users location 2019-06-14 15:25:41 -07:00
Paulus Schoutsen 4a60479b74 Merge branch 'dev' 2019-06-14 15:09:54 -07:00
Paulus Schoutsen f6d651304c Fix demo 2019-06-14 15:09:42 -07:00
Paulus Schoutsen 85990c20ed Merge pull request #3275 from home-assistant/dev
20190614.0
2019-06-14 14:40:40 -07:00
Paulus Schoutsen 8ea98023a5 Bumped version to 20190614.0 2019-06-14 13:41:39 -07:00
Paulus Schoutsen acceaea410 Update translations 2019-06-14 13:41:33 -07:00
Paulus Schoutsen d609155022 Make setView not async (#3274) 2019-06-14 13:40:16 -07:00
Paulus Schoutsen 1add5077af Add Alexa report state (#3272) 2019-06-14 13:30:35 -07:00
Paulus Schoutsen a9cac343b0 Preload LL (#3273)
* Preload LL

* Remove using observer
2019-06-14 13:30:20 -07:00
Paulus Schoutsen 1b441a752e Manage Alexa entities (#3269)
* Reorg cloud components

* Allow managing Alexa entities in the UI

* Use observer

* Update mwc version

* Tweak some UI
2019-06-13 11:57:56 -07:00
Ofek Ashery 03fee95f68 Allow to copy text in the notifications panel (#3257) 2019-06-12 21:01:14 -07:00
Paulus Schoutsen 7fa4b18843 Group managed entities (#3268) 2019-06-12 21:00:41 -07:00
Paulus Schoutsen 7b0fb949fd Upgrade some deps (#3266)
* Upgrade some deps

* Fix linting
2019-06-12 17:29:16 -07:00
Paulus Schoutsen df10cff842 Add loading screen when external step done (#3261) 2019-06-11 15:19:12 -07:00
Penny Wood 8b93af1b56 Via Hub Rename (#3254) 2019-06-11 08:36:48 -07:00
Tor Arne Vestbø a396a4e666 Pass credentials (cookies e.g.) when loading JavaScript assets (#3259)
The behavior of 'crossorigin' without a value is the same as
anonymous, which means user credentials such as cookies,
client-side SSL certificates or HTTP authentication will
not be passed on.

We want the preload links to work even when they are behind
a proxy that requires an authentication cookie, such as
Cloudflare Access (CF_Authorization), so we need to explicitly
send credentials with the "use-credentials" value.

ES modules are always fetched with CORS, with anonymous being
the default. Some browsers (Chromium) will realize that the
request is to the same origin, and send credentials anyways,
while others (Safari) will not, so we need to explicitly send
credentials to make sure they load in all cases.

See https://jakearchibald.com/2017/es-modules-in-browsers/
2019-06-10 13:41:59 -07:00
Paulus Schoutsen 8f278ec4bc Merge pull request #3247 from home-assistant/dev
20190604.0
2019-06-04 08:50:01 -07:00
Paulus Schoutsen 032ebce0bc Bumped version to 20190604.0 2019-06-04 08:48:41 -07:00
Paulus Schoutsen bb60b42f98 Update translations 2019-06-04 08:48:37 -07:00
Paulus Schoutsen 21ed717287 Link to beta release notes for beta release in hassio (#3243) 2019-06-04 08:47:40 -07:00
Paulus Schoutsen 2d056bad81 Allow picking location on a map (#3244)
* Allow picking location on a map

* Add some better defaults

* Close connection before navigation
2019-06-04 08:47:02 -07:00
Paulus Schoutsen 8297e9e215 Merge pull request #3242 from home-assistant/dev
20190602.0
2019-06-02 13:52:11 -07:00
Paulus Schoutsen 4ccf450ad4 Bumped version to 20190602.0 2019-06-02 13:45:20 -07:00
Paulus Schoutsen fc056869a7 Update translations 2019-06-02 13:45:16 -07:00
Paulus Schoutsen 0bd5ff34d4 Google banner background to support incorrect themes (#3241) 2019-06-02 13:44:01 -07:00
Paulus Schoutsen ffd272d3fe Fix refreshing cloud prefs after changing Google prefs (#3240) 2019-06-02 13:37:55 -07:00
Paulus Schoutsen 1eee186e79 Fix toast on Firefox (#3239) 2019-06-02 16:13:10 +02:00
Paulus Schoutsen 3a05b1124a Merge branch 'dev' 2019-06-01 14:26:26 -07:00
Paulus Schoutsen d14c6125da Bumped version to 20190601.0 2019-06-01 14:26:13 -07:00
Paulus Schoutsen 3ee357178e Update translations 2019-06-01 14:26:12 -07:00
Paulus Schoutsen 8f6fdea4eb Merge pull request #3238 from home-assistant/dev
20190601.0
2019-06-01 14:25:00 -07:00
Paulus Schoutsen be6b25f5be Google Entities updates (#3237)
* Match Google Expose default with backend for when no config value set

* Allow toggling domains
2019-06-01 14:23:32 -07:00
Paulus Schoutsen be4dd5b20b Fix Google manage entity button on small screens (#3234) 2019-05-31 21:26:47 -07:00
Paulus Schoutsen fe4811b278 Allow saving unit system (#3235) 2019-05-31 15:51:12 -07:00
Paulus Schoutsen d376457cec Merge pull request #3231 from home-assistant/dev
20190530.0
2019-05-30 09:32:06 -07:00
Paulus Schoutsen 35e82a8e26 Bumped version to 20190530.0 2019-05-30 09:31:29 -07:00
Paulus Schoutsen 03735f0539 Update translations 2019-05-30 09:31:23 -07:00
Paulus Schoutsen 4cc812c1bf Always have a gauge base unit (#3229) 2019-05-30 08:42:02 -07:00
Paulus Schoutsen bdacd05fab Pass connection instead of hass (#3228) 2019-05-30 08:41:52 -07:00
Paulus Schoutsen ab157fdbff Correctly warn if Google entities defined in YAML (#3230) 2019-05-30 08:41:44 -07:00
Paulus Schoutsen d94223a61e Dynamic update panels (#3227) 2019-05-30 08:41:32 -07:00
Paulus Schoutsen ebe3198c27 Merge pull request #3225 from home-assistant/dev
20190529.0
2019-05-29 08:55:07 -07:00
Paulus Schoutsen 2b2d2effd2 Bumped version to 20190529.0 2019-05-29 08:42:17 -07:00
Paulus Schoutsen 8092e24af8 Update translations 2019-05-29 08:42:06 -07:00
Paulus Schoutsen f019bb095d Allow edit default config (#3220) 2019-05-29 08:39:38 -07:00
Paulus Schoutsen 1ad9d2e54c Add UI to manage Google Entities exposed to Cloud (#3224)
* Add UI to manage Google Entities exposed to Cloud

* Add selected count
2019-05-29 08:38:52 -07:00
Paulus Schoutsen b2b18cb814 Convert cloud dashboard to use Lit router (#3223) 2019-05-28 14:31:51 -07:00
Bram Kragten e595637a10 Show toast when Lovelace config was updated from a different place (#3218)
* Refresh other lovelace UI's when making a change

* Move to toast with refresh button

* Change to `hass-notification`

* Reload on reconnect

- Fix for duration = 0
- Reload on reconnect

* Listen to ready of connection

* Update src/managers/notification-manager.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* use showToast, listen connection-status,  noCancelOnOutsideClick -> option

* Remove unused import
2019-05-27 14:54:14 -07:00
Bram Kragten d10a0b3b6c Update translations.js (#3219) 2019-05-26 20:59:52 -07:00
Penny Wood c24f8a2115 Allow editing of device name (#3209)
* Allow editing of device name

* Patches

* Update dialog-device-registry-detail.ts
2019-05-26 07:27:33 -07:00
Paulus Schoutsen 7691e3f2c2 Fix duplicate tab when regen LL (#3217) 2019-05-25 12:30:44 -07:00
Paulus Schoutsen 6bbe8ff39f Merge pull request #3214 from home-assistant/dev
20190523.0
2019-05-23 13:31:26 -07:00
Paulus Schoutsen a1e9b4938f Bumped version to 20190523.0 2019-05-23 13:20:59 -07:00
Paulus Schoutsen c826596529 Update translations 2019-05-23 13:20:55 -07:00
Paulus Schoutsen 7f47079750 Notify about remote portal (#3211)
* Notify about remote portal

* Update text
2019-05-23 13:16:50 -07:00
Bram Kragten 642ba1adc3 Create dummy translation on dev (#3213) 2019-05-23 13:16:24 -07:00
Paulus Schoutsen fe80c7fe0e Warn that only automations in automations.yaml are editable (#3200) 2019-05-23 12:28:17 -07:00
Paulus Schoutsen 9309c5a1b6 Update Lit-HTML to 1.1 (#3210) 2019-05-22 19:36:07 -07:00
Paulus Schoutsen 575eb22608 Add UI to set/update core config (#3208)
* Add UI to set/update core config

* Types

* Disable editor in config.yaml mode

* Fix type
2019-05-21 20:12:07 -07:00
Paulus Schoutsen be0bef3f1b Allow automation/script delete (#3194) 2019-05-16 17:44:46 +02:00
Paulus Schoutsen 970286bbba Merge pull request #3197 from home-assistant/dev
20190514.0
2019-05-14 07:06:58 +02:00
Paulus Schoutsen 087c3b9c0e Bumped version to 20190514.0 2019-05-14 06:55:20 +02:00
Paulus Schoutsen b12d1b13ca Update translations 2019-05-14 06:55:14 +02:00
Paulus Schoutsen d0410e0884 Fix Safari 10 (#3196) 2019-05-14 06:52:20 +02:00
Paulus Schoutsen a1bf06ceb2 Fix CSS 2019-05-14 06:15:50 +02:00
Thomas Lovén d99744e054 ha-card migration - step #2 (#3187)
* Convert profile settings to ha-card

* Convert dev- panels to ha-card

* Convert empty-state-card to ha-card

* Convert zha config to ha-card - UNTESTED

* Convert zwave config to ha-card - UNTESTED

* Convert various panels to ha-card - UNTESTED

* Convert gallery to ha-card
2019-05-13 01:24:43 -07:00
Paulus Schoutsen e02d11a51f Pimp script editor (#3192)
* Pimp script editor

* Use property for define

* Show toasts
2019-05-12 21:28:25 -07:00
Paulus Schoutsen 1b50100b6c Pimp automation picker (#3193) 2019-05-12 20:30:49 -07:00
Timmo 309fecc9f3 Support icon_height for entity button (#2800)
* 🎨 Add support for icon_height

* 🎨 Add icon_height to config ui

* 🔨 Don't expose css for icon_height

* 🔨 Post rebase changes and allow advanced css height
2019-05-12 20:25:48 -07:00
Timmo 46f3add520 🔨 Fix hassio new add-on repository height (#3191) 2019-05-12 11:14:18 +02:00
Timmo a89f0bd1cd Add Search to Hassio add-on store (#3108)
*  Add search to hassio add-ons

* 👕 Fix linter error

* 👕 Lint fixes

* 🔥 Remove search from dashboard for this PR

* 🔥 Remove search from dasboard in this PR

* 🔨 Suggested changes

* 🔨 Change to fireEvent

* 🔨 Convert definition

* 🔥 Fix imports

* 🔥 Revert styling test

* 🔨 Fix search

* 🔨 CSS fix

* 🔨 Add smaller message to show no results found in repo

* 🔨 Fixes

* 🔨 CSS fixes

* 🔨 Add types

* 🎨 Max width

* 🔨 Fix margin jump

* 🔨 Add working memoizeOne

* 👕 Fix linting / error on build
2019-05-12 11:13:16 +02:00
Paulus Schoutsen 8408b8d41f Merge pull request #3190 from home-assistant/dev
20190510.0
2019-05-10 14:21:52 -07:00
Paulus Schoutsen 13761a20c5 Bumped version to 20190510.0 2019-05-10 14:13:20 -07:00
Paulus Schoutsen 03d17a9761 Update translations 2019-05-10 14:13:15 -07:00
Paulus Schoutsen 5501cccc67 Fix custom panel paths (#3188) 2019-05-10 14:12:08 -07:00
Paulus Schoutsen 9340d9068e Hash demo files in index.html (#3185) 2019-05-09 20:19:15 -07:00
Paulus Schoutsen bbdaa4b7c1 Merge pull request #3184 from home-assistant/dev
20190509.0
2019-05-09 15:48:22 -07:00
Paulus Schoutsen c87c782b2c Merge remote-tracking branch 'origin/master' into dev 2019-05-09 15:40:33 -07:00
Paulus Schoutsen f0b1cd9032 Bumped version to 20190509.0 2019-05-09 15:38:37 -07:00
Paulus Schoutsen 2ed532e055 Update translations 2019-05-09 15:38:33 -07:00
Paulus Schoutsen f70dafa192 Autofocus the first element in the auth page (#3177) 2019-05-09 15:36:43 -07:00
Paulus Schoutsen af6ade8eb6 Fix editing wait actions in script editor (#3181) 2019-05-09 15:36:29 -07:00
Paulus Schoutsen d77ae840d8 Fix the ES5 adapter for custom panel (#3182)
* Fix the ES5 adapter for custom panel

* Update custom-panel.ts

* Update custom-panel.ts

* Update custom-panel.ts
2019-05-09 15:36:16 -07:00
Paulus Schoutsen 968eae7727 Add external step (#3183)
* Add external step

* Automatically open external step
2019-05-09 15:36:05 -07:00
Paulus Schoutsen 97d8a68455 Unused entities to check picture-element cards (#3180)
* Check picture element cards for unused entities

* Remove unused entities from Arsaboo config

* Remove unused entities Isa

* Remove unused entities kernehed

* Remove unused entities jimpower
2019-05-09 09:53:29 -07:00
Paulus Schoutsen 7827cec212 Fix demo camera images (#3179) 2019-05-09 09:43:52 -07:00
Paulus Schoutsen 746ad588ef 20190508.0 (#3176)
* Prevent default form action (#3172)

* Use areas when generating Lovelace config (#3175)

* Use areas when generating Lovelace config

* Add missing return type

* Convert auth-flow to TypeScript/Lit (#3174)

* Change ha-pick-auth-provider to typescript

* Convert auth-flow to TypeScript/Lit

* Make sure we block emulated mouse events when touch is used (#3173)

* Trim text

* Update translations

* Bumped version to 20190508.0
2019-05-08 20:12:05 -07:00
Paulus Schoutsen 95e918b6ac Bumped version to 20190508.0 2019-05-08 19:58:30 -07:00
Paulus Schoutsen 1e82cc22e4 Update translations 2019-05-08 19:58:26 -07:00
Paulus Schoutsen fb2e1e5ebb Trim text 2019-05-08 19:57:03 -07:00
Joakim Plate fe2ae965b3 Make sure we block emulated mouse events when touch is used (#3173) 2019-05-08 19:53:34 -07:00
Jason Hu 8924a5f043 Convert auth-flow to TypeScript/Lit (#3174)
* Change ha-pick-auth-provider to typescript

* Convert auth-flow to TypeScript/Lit
2019-05-08 19:52:55 -07:00
Paulus Schoutsen 32e68c1a4b Use areas when generating Lovelace config (#3175)
* Use areas when generating Lovelace config

* Add missing return type
2019-05-08 16:34:53 -07:00
Jason Hu 89a35a0062 Prevent default form action (#3172) 2019-05-08 07:48:33 -07:00
Paulus Schoutsen 484b1c8444 Merge pull request #3171 from home-assistant/dev
20190507.0
2019-05-07 22:48:16 -07:00
Paulus Schoutsen cd5e274ffa Fix demo 2019-05-07 22:39:00 -07:00
Paulus Schoutsen f466a53ed4 Bumped version to 20190507.0 2019-05-07 22:31:15 -07:00
Paulus Schoutsen 1d40d94774 Update translations 2019-05-07 22:31:10 -07:00
Paulus Schoutsen 82e8ca2754 Alow setting up integrations during onboarding (#3163)
* Allow setting up integrations during onboarding

* Fix compress static

* Don't compress static files in CI

* Remove unused file

* Fix static compress disabled in CI build

* Work with new integration step

* Import fix

* Lint

* Upgrade HAWS to 4.1.1
2019-05-07 22:27:10 -07:00
Paulus Schoutsen 8c904fb012 Sort config flow picker (#3170) 2019-05-07 21:07:59 -07:00
Paulus Schoutsen fa13b95498 Use collections for registries (#3168)
* Use collections

* Fix bugs

* Lint
2019-05-07 20:57:23 -07:00
Paulus Schoutsen 289611363e Use named export for events mixin (#3166) 2019-05-07 17:47:44 -07:00
Paulus Schoutsen cb7048db23 Type debounce (#3167) 2019-05-07 17:47:31 -07:00
Paulus Schoutsen b9f86f735b Use named export for compare (#3169) 2019-05-07 17:47:19 -07:00
Thomas Lovén 0e044acaa9 ha-card migration Step #1 Configuration (#3161)
* Improvements to ha-card. Better paper-card compatibility

* Remove named slots

* Tweak distance between header and contents

* Further css tweaking

* Convert config dashboard to ha-card

* Convert cloud configuration to ha-card.

* Convert integrations configuration to ha-card.

* Convert user configuration to ha-card.

* Convert core configuration to ha-card

* Convert person, entity and area config to ha-card

* Convert automation and script editor to ha-card

* Convert customization editor to ha-card
2019-05-07 09:26:56 -07:00
Thomas Lovén 1223766523 ha-card migration. Step #0: improvements to ha-card. (#3144)
* Improvements to ha-card. Better paper-card compatibility

* Remove named slots

* Tweak distance between header and contents

* Further css tweaking
2019-05-07 09:24:39 -07:00
Paulus Schoutsen db65af9c22 Split up onboarding code (#3158) 2019-05-04 11:59:43 -07:00
Paulus Schoutsen fcdb1b48a2 Isolate hass state from base el (#3157) 2019-05-03 20:26:01 -07:00
Thomas Lovén 8729410dce Remove spinners in firefox (#3150) 2019-05-03 09:38:28 -07:00
Sean Mooney adb92e1708 add target="_blank" to match all other links on page (#3154)
* add target="_blank" to match all other links on page

* adds target="_blank" to ensure link opens in new tab

* adds target="_blank" to ensure link opens in new tab

* attempting to fix travis error

* resolve prettier errors hopefully

* Update ha-automation-picker.js

* Update ha-automation-picker.js

* Lint

* Lint
2019-05-03 09:37:06 -07:00
Joakim Plate 81088e0d07 Simplify list selection 2 (#3156)
* light: use attr-for-selected for effect

* vacuum: use attr-for-selection for speed
2019-05-03 08:54:38 -07:00
Paulus Schoutsen 34129cc7cb Migrate demo to gulp (#3152)
* Migrate demo to gulp

* Tweak demo migration to gulp

* Feature detect demo

* Gen icons
2019-05-02 22:41:58 -07:00
Paulus Schoutsen 530be9155b Dont cache requests to auth APIs (#3151) 2019-05-02 19:49:39 -07:00
Paulus Schoutsen aa33b00a1f Merge pull request #3149 from home-assistant/dev
20190502.0
2019-05-02 11:51:22 -07:00
Paulus Schoutsen 57b917f297 Bumped version to 20190502.0 2019-05-02 11:45:03 -07:00
Paulus Schoutsen aad7dc5d7d Update translations 2019-05-02 11:44:58 -07:00
Paulus Schoutsen 6c41c7b1ab Gulpify build pipeline (#3145)
* Gulpify build pipeline

* Update build frontend script

* Fixes

* Limit service worker to latest build

* Use shorthand

* Fix hassio build
2019-05-02 11:35:46 -07:00
Yosi Levy 8b98f375c2 Added tooltip to state badge element (#3137) 2019-05-02 11:31:14 -07:00
Joakim Plate 8a86dd8426 Simplify list selection (#3148)
* water_heater: Use attr-for-selected for operation mode

* climate: Use attr-for-selected for operation, fan, swing mode

* fan: Use attr-for-selected for speed

* fan: skip extra property

* climate: drop extra property

* water_heater: avoid extra property

* media_player: drop extra variable for source and sound_mode

* water_heater: missed change
2019-05-02 07:09:06 -07:00
Robbie Trencheny 5b12ca94e9 Add missing key for app configuration in sidebar (#3146)
* Add missing key for app configuration in sidebar

* avoid lokalise round trip
2019-05-01 22:49:33 -07:00
Paulus Schoutsen 652cd10483 Use Node 12 (#3141)
* Use Node 12

* Remove tests that don't work in Node
2019-04-30 12:16:41 -07:00
Paulus Schoutsen ca0ded8587 Fix webpack chunkname 2019-04-30 11:38:17 -07:00
Joakim Plate f943393ade Switch source selection to same logic as SoundMode with using (#3136)
actual value as selected item instead of index.

This avoids the bug with selected:
https://github.com/PolymerElements/paper-dropdown-menu/issues/197
https://github.com/PolymerElements/paper-dropdown-menu/issues/114

Fixes: #3022

Side note: it actually mainly hides the issue. If we should allow a key,
value setup with source being a key and the display value being a
localized value it likely would return.
2019-04-30 10:21:43 -07:00
Thomas Lovén d8f21d99af Use named slots to have advanced ha-card headers (#3127)
* Use named slots to have advanced ha-card headers

* Fix header text color
2019-04-29 11:31:27 -07:00
Paulus Schoutsen 73ef03e33f Use signed path for camera snapshot (#3138) 2019-04-29 11:27:40 -07:00
Paulus Schoutsen c34dde815c Merge pull request #3134 from home-assistant/dev
20190427.0
2019-04-27 22:16:54 -07:00
Paulus Schoutsen 1e85880d7b Bumped version to 20190427.0 2019-04-27 22:08:20 -07:00
Paulus Schoutsen 57abd4ae07 Update translations 2019-04-27 22:08:15 -07:00
Paulus Schoutsen 2624c1544b Disable the show in sidebar toggle when HA < 0.92 (#3124)
* Hide the show in sidebar toggle on 0.92

* Update hassio/src/addon-view/hassio-addon-info.js

Co-Authored-By: balloob <paulus@home-assistant.io>
2019-04-27 22:02:47 -07:00
Paulus Schoutsen 1e72ffc0c2 Fix input select more info (#3132)
* Fix input select more info

* Lint
2019-04-27 22:02:26 -07:00
Yosi Levy 8ca70ace4c Tooltip picture elements (#3111)
* Added noTitle option to supress tooltip

* Additional strings

* Updated name

* refactored name

* Refactored strings

* Refactored to allow null in title
2019-04-27 13:03:31 -07:00
Thomas Lovén d66cf3f787 Allow changing state-icon element icon (#3122) 2019-04-27 10:37:57 -07:00
Paulus Schoutsen 44df0f698c Conditionally attach external message bus (#3131) 2019-04-27 10:37:15 -07:00
Thomas Lovén 981dd5df63 Basic input-datetime entity row (#3121)
* Basic input-datetime entity row

* Address review comments

* Fix imports
2019-04-25 21:47:46 -07:00
Paulus Schoutsen cd6250c495 Don't proxy external accessible covers (#3120) 2019-04-24 21:05:38 -07:00
Paulus Schoutsen 2f36304f06 Move picking new integration into dialog (#3110) 2019-04-24 12:51:41 -07:00
Paulus Schoutsen 30471b7cfb Merge pull request #3119 from home-assistant/dev
20190424.0
2019-04-24 11:13:42 -07:00
Paulus Schoutsen ff2f573dd0 Bumped version to 20190424.0 2019-04-24 11:07:34 -07:00
Paulus Schoutsen 38ddbf45c2 Update translations 2019-04-24 11:07:29 -07:00
Robbie Trencheny d79bf5e07e Forward haptic events to external apps (#3116)
* Forward haptic events to external apps

* Fix types
2019-04-24 11:03:59 -07:00
Robbie Trencheny d05b1ef9cc Add connection events to bus (#3117)
* Add connection events

* Fix types

* Fix order
2019-04-24 10:56:53 -07:00
Pascal Vizeli c260591d4d Hass.io update labels (#3114)
* Hass.io update labels

* Update hassio-addon-info.js
2019-04-24 08:58:35 +02:00
Paulus Schoutsen 87a7e63e31 Fix tests 2019-04-23 20:37:56 -07:00
Paulus Schoutsen a5dd3755e1 Add external app message bus (#3112)
* Add support for a app configuration button in the sidebar

* Add event to types

* Fire connection events so that app knows when to hide its fallback settings button

* Add external message bus

* Fixes

* Update external_config.ts

* Remove icon from gen-icons

* Add fireMessagE

* msgId -> id

* Rename to externalBus

* Log messages in dev

* Add should update to ha-sidebar


Co-authored-by: Robbie Trencheny <me@robbiet.us>
2019-04-23 20:23:56 -07:00
Pascal Vizeli ad40d9927b Hass.io: Support automated panel integration (#3113)
* Hass.io: Support automated panel integration

* Update hassio-addon-info.js

* fix lint
2019-04-23 12:24:06 +02:00
Robbie Trencheny f4cfbc6678 Initial haptics support (#3099)
* Initial haptics support

* Move window stuff into types.ts

* Fire haptic events instead of expecting a messageHandler

* Style fixes, linting fixes

* Only allow whitelisted haptics

* Make requested changes
2019-04-22 09:24:30 -07:00
Jc2k b3c1bead39 Allow 'Discovered' flows to have title placeholders (#3106)
* Allow 'Discovered' flows to have title placeholders

* Feedback from review
2019-04-21 10:58:51 -07:00
Paulus Schoutsen d220e56239 Merge pull request #3104 from home-assistant/dev
20190419.0
2019-04-19 17:01:05 -07:00
Paulus Schoutsen f967b4940a Bumped version to 20190419.0 2019-04-19 16:57:51 -07:00
Paulus Schoutsen f44d5dca1c Update translations 2019-04-19 16:57:50 -07:00
Paulus Schoutsen a9ed4e7943 Regenerate LL when attached (#3102)
* Regenerate when attached

* Fix lint
2019-04-19 14:53:26 -07:00
Paulus Schoutsen a404acbf44 Add support for secure devices pin (#3101) 2019-04-19 14:53:16 -07:00
Robbie Trencheny eaa2ce1462 Ask users if they want to install iOS app (#3100) 2019-04-18 20:54:52 -07:00
Joakim Plate bdd8699709 Add device_class for switches (#3096) 2019-04-18 15:12:17 -07:00
Paulus Schoutsen 9f0b20634a Merge pull request #3098 from home-assistant/dev
20190417.0
2019-04-17 09:39:05 -07:00
Paulus Schoutsen a70d9195db Bumped version to 20190417.0 2019-04-17 09:31:40 -07:00
Paulus Schoutsen d86253d582 Update translations 2019-04-17 09:31:23 -07:00
Paulus Schoutsen d5a313445f Update user-agents to 2.0.0 (#3087) 2019-04-15 19:56:31 -07:00
Joakim Plate f979febb76 Match list of classes for cover to backend (#3090)
https://github.com/home-assistant/home-assistant/blob/1d2e9b6915debbd6d1906c7612851db479bf5702/homeassistant/components/cover/__init__.py#L52

Fixes #3089
2019-04-15 19:56:23 -07:00
Jason Hunter a1a2a78531 Add Stream Element (#3086)
* initial commit for stream element

* lit elements are apparently not self closing

* add disconnectedCallback to teardown on unload

* refactor stream element to UpdatingElement and bundle MJPEG handling with it

* attach video element for HLS native

* update hui-image to optionally show a live camera view (video or mjpeg)

* fix playing inline video on iOS

* implement review feedback

* Fix update bugs

* Tweaks

* Fix stateObj changed
2019-04-15 19:55:13 -07:00
Paulus Schoutsen 6ed2d288e6 addon -> add-on (#3094) 2019-04-15 10:53:53 -07:00
ktnrg45 5c8e5d3539 Added padding definition for type game (#3059) 2019-04-13 20:35:24 -07:00
Paulus Schoutsen bbae3291e1 Support ingress custom panels (#3085)
* Support ingress custom panels

* Fix types

* Add disabled placeholder to network card
2019-04-11 11:42:52 -07:00
Paulus Schoutsen 5dbd5c7395 Fix hassio unavailable dashboard & update card 2019-04-10 15:38:33 -07:00
Paulus Schoutsen 038f7b43d5 Merge pull request #3080 from home-assistant/dev
20190410.0
2019-04-10 15:00:36 -07:00
Paulus Schoutsen 671e564037 Fix hassio dashboard available maybe 2019-04-10 15:00:19 -07:00
Paulus Schoutsen 8298d810a8 Bumped version to 20190410.0 2019-04-10 14:46:23 -07:00
Paulus Schoutsen 7428479f6b Update translations 2019-04-10 14:46:16 -07:00
Paulus Schoutsen 6b85910cdb Fix classname 2019-04-10 14:45:39 -07:00
Paulus Schoutsen 4d7bb0df7d Fix hassio loading 2019-04-10 12:46:42 -07:00
Paulus Schoutsen 26a39b1bb8 Hassio fixes 2019-04-10 12:32:21 -07:00
Ian Richardson e23f046c4d 🕶 convert hui-persisten-notification-item to TypeScript/LitElement (#3032) 2019-04-09 22:25:34 -05:00
Paulus Schoutsen fe73213643 Fix hassio 2019-04-09 16:31:07 -07:00
Paulus Schoutsen cbe5355d38 Small fixes 2019-04-09 14:26:30 -07:00
Paulus Schoutsen 81b232f01e Stop experimenting in dev for hassio 2019-04-09 14:26:18 -07:00
Paulus Schoutsen 3e6be45f1f Revert webpack upgrade for hassio fix? 2019-04-09 13:58:48 -07:00
Paulus Schoutsen d26ed6fdb6 fix sorting and use user given name if available (#3072) 2019-04-09 13:53:44 -07:00
Pascal Vizeli eda168247c Add description support to UI (#3079) 2019-04-09 22:53:10 +02:00
Paulus Schoutsen 4d2390daf4 Hass.io snapshots -> Lit (#3078)
* Hass.io snapshots

* Fix rootnav
2019-04-09 13:05:56 -07:00
Paulus Schoutsen 5b861bb4c6 Fix hassio in prod? 2019-04-09 00:17:34 -07:00
Paulus Schoutsen be6d89bb7a Revert a tsconfig change (#3075) 2019-04-08 17:08:59 -07:00
Paulus Schoutsen 1c17210948 Clean up even more (#3074) 2019-04-09 00:15:46 +02:00
David Mulcahey 5257715145 fix sorting and use user given name if available 2019-04-08 07:31:33 -04:00
Paulus Schoutsen 8df9ac9dfa Fix paper-icon-button fail (#3069) 2019-04-07 23:50:58 -07:00
Paulus Schoutsen 559164e159 fix showing edit entity icon in more info dialog (#3066)
* fix showing cog

* Remove unused value

* Lint
2019-04-07 12:17:06 -07:00
Paulus Schoutsen 70072786a1 Clean up hassio tabs page (#3068)
* Clean up hassio tabs page

* Make load optional

* Fix bug
2019-04-07 11:58:51 -07:00
Paulus Schoutsen cda29fcd07 Clean up hassio panel (#3067)
* Clean up hassio panel

* Extract dialog manager code

* Convert markdown dialog to show-dialog

* Extract snapshot dialog
2019-04-07 17:45:56 +02:00
Paulus Schoutsen 31e351c75c Show features translation 2019-04-06 22:36:30 -07:00
Paulus Schoutsen cadcd845cc Add guard for addon 2019-04-06 12:32:45 -07:00
Paulus Schoutsen b07f95f956 Add hassio ingress support (#3062)
* Add hassio ingress support

* Remove logging

* Better integrate

* Add badge

* FIx type
2019-04-06 09:28:08 +02:00
Markus Jankowski 7f99f1d9be add device_class_signal_strength (#3058) 2019-04-04 21:40:27 -04:00
Yosi Levy 8c7cdda3d3 Converted paper-dialog to ha-paper-dialog (#3055)
* Converted paper-dialog to ha-paper-dialog

* Fixed paths

* Fixed double import

* Fixed orphan tags

* Moved to /components and renamed

* Fixed hassio

* Fix travis issue
2019-04-04 15:11:43 -07:00
Paulus Schoutsen 8c222bb467 Remove unnecessary resolutions (#3056)
* Remove vaadin-lumo-styles resolution

* Remove iron-overlay-behavior resolution

* Remove polymer and shadycss resolutions

* Add lumo-styles back to resolution
2019-04-03 23:07:35 -07:00
Markus Jankowski 4dfdebb00a Add device_class_power to sensor (#3057) 2019-04-03 21:55:14 -07:00
Paulus Schoutsen 3947adbab4 Upgrade workbox to v4 (#3053)
* Upgrade workbox to v4

* Update dmeo config
2019-04-02 15:38:14 -07:00
Paulus Schoutsen 81eab0bf1b Fix arsaboo demo unit (#3050)
* Fix arsaboo demo unit

* Migrate to C
2019-04-02 12:25:35 -07:00
Paulus Schoutsen 0c406335f5 Upgrade deps (#3038)
* Upgrade deps

* Revert workbox back to 3

* Fix var name
2019-04-02 12:14:10 -07:00
yosilevy 109c40b2d3 RTL fix for drop downs (#3047)
* RTL fix for drop downs

* Added new file
2019-04-02 11:53:00 -07:00
David F. Mulcahey a362b08113 buffer time to prevent edge misses (#3049) 2019-04-02 11:52:01 -07:00
Paulus Schoutsen 438d155c45 Fix imports (#3040) 2019-04-02 11:50:57 -07:00
Paulus Schoutsen 75f5325048 Simplify hass subpage (#3039) 2019-04-02 11:50:50 -07:00
David F. Mulcahey 8f5f14fada Add targeted joins to ZHA config panel (#3048)
* initial targeted add

* mains powered devices only

* fix prop reference

* import

* fix targeted join
2019-04-02 11:48:06 -07:00
1591 changed files with 233647 additions and 136367 deletions
-4
View File
@@ -1,4 +0,0 @@
node_modules
hass_frontend
hass_frontend_es5
.git
-79
View File
@@ -1,79 +0,0 @@
{
"extends": ["airbnb-base", "prettier"],
"parserOptions": {
"ecmaFeatures": {
"jsx": true,
"modules": true
}
},
"settings": {
"react": {
"pragma": "h",
"version": "15.0"
},
"import/resolver": {
"webpack": {
"config": "webpack.config.js"
}
}
},
"globals": {
"__DEV__": false,
"__DEMO__": false,
"__BUILD__": false,
"__VERSION__": false,
"__STATIC_PATH__": false,
"Polymer": true,
"webkitSpeechRecognition": false,
"ResizeObserver": false
},
"env": {
"browser": true,
"mocha": true
},
"rules": {
"class-methods-use-this": 0,
"new-cap": 0,
"prefer-template": 0,
"object-shorthand": 0,
"func-names": 0,
"prefer-arrow-callback": 0,
"no-underscore-dangle": 0,
"no-var": 0,
"strict": 0,
"prefer-spread": 0,
"no-plusplus": 0,
"no-bitwise": 0,
"comma-dangle": 0,
"vars-on-top": 0,
"no-continue": 0,
"no-param-reassign": 0,
"no-multi-assign": 0,
"radix": 0,
"no-alert": 0,
"no-return-await": 0,
"prefer-destructuring": 0,
"no-restricted-globals": [2, "event"],
"prefer-promise-reject-errors": 0,
"import/prefer-default-export": 0,
"import/no-unresolved": 0,
"import/extensions": [2, "ignorePackages"],
"object-curly-newline": 0,
"default-case": 0,
"react/jsx-no-bind": [2, { "ignoreRefs": true }],
"react/jsx-no-duplicate-props": 2,
"react/self-closing-comp": 2,
"react/prefer-es6-class": 2,
"react/no-string-refs": 2,
"react/require-render-return": 2,
"react/no-find-dom-node": 2,
"react/no-is-mounted": 2,
"react/jsx-no-comment-textnodes": 2,
"react/jsx-no-undef": 2,
"react/jsx-uses-react": 2,
"react/jsx-uses-vars": 2,
"no-restricted-syntax": [0, "ForOfStatement"],
"prettier/prettier": "error"
},
"plugins": ["react", "prettier"]
}
+83 -10
View File
@@ -1,15 +1,88 @@
{
"extends": "./.eslintrc-hound.json",
"plugins": [
"react"
"extends": [
"airbnb-typescript/base",
"plugin:@typescript-eslint/recommended",
"plugin:wc/recommended",
"plugin:lit/recommended",
"prettier",
"prettier/@typescript-eslint"
],
"env": {
"browser": true
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"ecmaFeatures": {
"modules": true
},
"sourceType": "module",
"project": "./tsconfig.json"
},
"settings": {
"import/resolver": {
"webpack": {
"config": "./webpack.config.js"
}
}
},
"globals": {
"__DEV__": false,
"__DEMO__": false,
"__BUILD__": false,
"__VERSION__": false,
"__STATIC_PATH__": false,
"Polymer": true,
"webkitSpeechRecognition": false,
"ResizeObserver": false
},
"env": {
"browser": true,
"es6": true
},
"parser": "babel-eslint",
"rules": {
"import/no-unresolved": 2,
"linebreak-style": 0,
"implicit-arrow-linebreak": 0
}
"class-methods-use-this": 0,
"new-cap": 0,
"prefer-template": 0,
"object-shorthand": 0,
"func-names": 0,
"prefer-arrow-callback": 0,
"no-underscore-dangle": 0,
"strict": 0,
"prefer-spread": 0,
"no-plusplus": 0,
"no-bitwise": 2,
"comma-dangle": 0,
"vars-on-top": 0,
"no-continue": 0,
"no-param-reassign": 0,
"no-multi-assign": 0,
"no-console": 2,
"radix": 0,
"no-alert": 0,
"no-return-await": 0,
"no-nested-ternary": 0,
"prefer-destructuring": 0,
"no-restricted-globals": [2, "event"],
"prefer-promise-reject-errors": 0,
"import/order": 0,
"import/prefer-default-export": 0,
"import/no-unresolved": 0,
"import/no-cycle": 0,
"import/extensions": [
2,
"ignorePackages",
{ "ts": "never", "js": "never" }
],
"no-restricted-syntax": ["error", "LabeledStatement", "WithStatement"],
"object-curly-newline": 0,
"default-case": 0,
"wc/no-self-class": 0,
"@typescript-eslint/camelcase": 0,
"@typescript-eslint/ban-ts-ignore": 0,
"@typescript-eslint/no-use-before-define": 0,
"@typescript-eslint/no-non-null-assertion": 0,
"@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/no-unused-vars": 0,
"@typescript-eslint/explicit-function-return-type": 0
},
"plugins": ["disable", "import", "lit", "prettier", "@typescript-eslint"],
"processor": "disable/disable"
}
+1
View File
@@ -11,3 +11,4 @@
*.mp3 binary
demo/public/api/camera_proxy_stream/* binary
demo/public/api/media_player_proxy/* binary
-37
View File
@@ -1,37 +0,0 @@
<!-- READ THIS FIRST:
- If you need additional help with this template please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/home-assistant/releases
- This is for bugs only. Feature and enhancement requests should go in our community forum: https://community.home-assistant.io/c/feature-requests
- Provide as many details as possible. Do not delete any text from this template!
-->
**Home Assistant release with the issue:**
<!--
- Frontend -> Developer tools -> Info
- Or use this command: hass --version
-->
**Last working Home Assistant release (if known):**
**UI (States or Lovelace UI?):**
<!--
- Frontend -> Developer tools -> Info
-->
**Browser and Operating System:**
<!--
Provide details about what browser (and version) you are seeing the issue in. And also which operating system this is on. If possible try to replicate the issue in other browsers and include your findings here.
-->
**Description of problem:**
<!--
Explain what the issue is, and how things should look/behave. If possible provide a screenshot with a description.
-->
**Javascript errors shown in the web inspector (if applicable):**
```
```
**Additional information:**
+100
View File
@@ -0,0 +1,100 @@
---
name: Report a bug with the UI, Frontend or Lovelace
about: Report an issue related to the Home Assistant frontend.
labels: bug
---
<!-- READ THIS FIRST:
- If you need additional help with this template please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/home-assistant/releases
- Do not report issues for custom Lovelace cards.
- Provide as many details as possible. Paste logs, configuration samples and code into the backticks.
DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed without comment.
-->
## Checklist
- [ ] I have updated to the latest available Home Assistant version.
- [ ] I have cleared the cache of my browser.
- [ ] I have tried a different browser to see if it is related to my browser.
## The problem
<!--
Describe the issue you are experiencing here to communicate to the
maintainers. Tell us about the current behavior.
If possible provide a screenshot with a description.
-->
## Expected behavior
<!--
Describe what you expected to happen or it should look/behave.
If possible provide a screenshot with a description.
-->
## Steps to reproduce
<!--
Provide steps for us, that helps reproducing your issue.
For example:
1. Add a climate integration
2. Navigate to Lovelace
3. Click more info of the climate entity
4. Set the HVAC action to heat
5. Set the temperature higher than the current temperature
6. Set the HVAC action to cool
-->
## Environment
<!--
Provide details about the versions you are using, which helps us reproducing
and finding the issue quicker. Version information is found in the
Home Assistant frontend: Configuration -> Info.
Browser version and operating system is important! Please try to replicate
your issue in a different browser and be sure to include your findings.
-->
- Home Assistant release with the issue:
- Last working Home Assistant release (if known):
- Browser and browser version:
- Operating system:
## State of relevant entities
<!--
If your issue is about how an entity is shown in the UI, please add the state
and attributes for all situations with a screenshot of the UI.
You can find this information at `/developer-tools/state`
-->
```yaml
```
## Problem-relevant configuration
<!--
An example configuration that caused the problem for you. Fill this out even
if it seems unimportant to you. Please be sure to remove personal information
like passwords, private URLs and other credentials.
-->
```yaml
```
## Javascript errors shown in your browser console/inspector
<!--
If you come across any javascript or other error logs, e.g., in your browser
console/inspector please provide them.
-->
```txt
```
## Additional information
+26
View File
@@ -0,0 +1,26 @@
---
name: Request a feature for the UI, Frontend or Lovelace
about: Request an new feature for the Home Assistant frontend.
labels: feature request
---
<!--
DO NOT DELETE ANY TEXT from this template!
Otherwise, your request may be closed without comment.
-->
## The request
<!--
Describe to our maintainers, the feature you would like to be added.
Please be clear and concise and, if possible, provide a screenshot or mockup.
-->
## The alternatives
<!--
Are you currently using, or have you considered alternatives?
If so, could you please describe those?
-->
## Additional information
+14
View File
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Report a bug that is NOT related to the UI, Frontend or Lovelace
url: https://github.com/home-assistant/core/issues
about: This is the issue tracker for our frontend. Please report other issues with the backend repository.
- name: Report incorrect or missing information on our website
url: https://github.com/home-assistant/home-assistant.io/issues
about: Our documentation has its own issue tracker. Please report issues with the website there.
- name: I have a question or need support
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!
+83
View File
@@ -0,0 +1,83 @@
<!--
You are amazing! Thanks for contributing to our project!
Please, DO NOT DELETE ANY TEXT from this template! (unless instructed).
-->
## Breaking change
<!--
If your PR contains a breaking change for existing users, it is important
to tell them what breaks, how to make it work again and why we did this.
This piece of text is published with the release notes, so it helps if you
write it towards our users, not us.
Note: Remove this section if this PR is NOT a breaking change.
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
## Type of change
<!--
What type of change does your PR introduce to the Home Assistant frontend?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (thank you!)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example configuration
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR.
-->
```yaml
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request:
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [ ] The code change is tested and works locally.
- [ ] There is no commented out code in this PR.
- [ ] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
<!--
Thank you for contributing <3
-->
[docs-repository]: https://github.com/home-assistant/home-assistant.io
+27
View File
@@ -0,0 +1,27 @@
# Configuration for Lock Threads - https://github.com/dessant/lock-threads
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 1
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: 2020-01-01
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: []
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: false
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: false
# Limit to only `issues` or `pulls`
only: pulls
# Optionally, specify configuration settings just for `issues` or `pulls`
issues:
daysUntilLock: 30
+56
View File
@@ -0,0 +1,56 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 90
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- feature request
- Help wanted
- to do
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: true
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: true
# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false
# Label to use when marking as stale
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
There hasn't been any activity on this issue recently. Due to the high number
of incoming GitHub notifications, we have to clean some of the old issues,
as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check
if that solves the issue. Let us know if that works for you by adding a
comment 👍
This issue now has been marked as stale and will be closed if no further
activity occurs. Thank you for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
# Your comment here.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Limit to only `issues` or `pulls`
only: issues
+123
View File
@@ -0,0 +1,123 @@
name: CI
on:
push:
branches:
- dev
- master
pull_request:
branches:
- dev
- master
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build resources
run: ./node_modules/.bin/gulp gen-icons-json build-translations gather-gallery-demos
- name: Run eslint
run: ./node_modules/.bin/eslint '{**/src,src}/**/*.{js,ts,html}' --ignore-path .gitignore
- name: Run tsc
run: ./node_modules/.bin/tsc
test:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Run Mocha
run: npm run mocha
build:
runs-on: ubuntu-latest
needs: [lint, test]
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Application
run: ./node_modules/.bin/gulp build-app
env:
IS_TEST: "true"
supervisor:
runs-on: ubuntu-latest
needs: [lint, test]
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Application
run: ./node_modules/.bin/gulp build-hassio
env:
IS_TEST: "true"
+39
View File
@@ -0,0 +1,39 @@
name: Demo
on:
push:
branches:
- dev
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Demo
run: ./node_modules/.bin/gulp build-demo
- name: Deploy to Netlify
uses: netlify/actions/cli@master
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_DEV_SITE_ID }}
with:
args: deploy --dir=demo/dist --prod
+14
View File
@@ -0,0 +1,14 @@
name: Release Drafter
on:
push:
branches:
- dev
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+6 -2
View File
@@ -4,9 +4,7 @@ node_modules/*
npm-debug.log
.DS_Store
hass_frontend/*
hass_frontend_es5/*
.reify-cache
demo/hademo-icons.html
# Python stuff
*.py[cod]
@@ -26,6 +24,12 @@ dist
.vscode/*
!.vscode/extensions.json
# Cast dev settings
src/cast/dev_const.ts
# Secrets
.lokalise_token
yarn-error.log
#asdf
.tool-versions
+1 -1
View File
@@ -1 +1 @@
8.11.1
12.1
+10
View File
@@ -0,0 +1,10 @@
build
build-translations/*
translations/*
node_modules/*
hass_frontend/*
pip-selfcheck.json
# vscode
.vscode/*
!.vscode/extensions.json
-26
View File
@@ -1,26 +0,0 @@
sudo: false
language: node_js
cache:
yarn: true
directories:
- bower_components
install: yarn install
script:
- npm run build
- hassio/script/build_hassio
- npm run test
# - xvfb-run wct --module-resolution=node --npm
# - 'if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then wct --module-resolution=node --npm --plugin sauce; fi'
services:
- docker
before_deploy:
- 'docker pull lokalise/lokalise-cli@sha256:2198814ebddfda56ee041a4b427521757dd57f75415ea9693696a64c550cef21'
deploy:
provider: script
script: script/travis_deploy
'on':
branch: master
dist: trusty
addons:
sauce_connect: true
-1
View File
@@ -1,7 +1,6 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"ms-vscode.vscode-typescript-tslint-plugin",
"esbenp.prettier-vscode",
"bierner.lit-html",
"runem.lit-plugin"
+108 -48
View File
@@ -2,79 +2,139 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
Examples of behavior that contributes to a positive environment for our
community include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior by participants include:
Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [safety@home-assistant.io][email]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
reported to the community leaders responsible for enforcement at
[safety@home-assistant.io][email] or by using the report/flag feature of
the medium used. All complaints will be reviewed and investigated promptly and
fairly.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available [here][version].
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available [here][version].
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder][mozilla].
## Adoption
This Code of Conduct was first adopted January 21st, 2017 and announced in [this][coc-blog] blog post.
This Code of Conduct was first adopted January 21st, 2017 and announced in
[this][coc-blog] blog post and has been updated on May 25th, 2020 to version
2.0 of the [Contributor Covenant][homepage] as announced in [this][coc2-blog]
blog post.
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
For answers to common questions about this code of conduct, see the FAQ at
<https://www.contributor-covenant.org/faq>. Translations are available at
<https://www.contributor-covenant.org/translations>.
[coc-blog]: /blog/2017/01/21/home-assistant-governance/
[coc2-blog]: /blog/2020/05/25/code-of-conduct-updated/
[email]: mailto:safety@home-assistant.io
[coc-blog]: https://home-assistant.io/blog/2017/01/21/home-assistant-governance/
[homepage]: http://contributor-covenant.org
[mozilla]: https://github.com/mozilla/diversity
[version]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
-31
View File
@@ -1,31 +0,0 @@
FROM node:8.11.1-alpine
# install yarn
ENV PATH /root/.yarn/bin:$PATH
## Install/force base tools
RUN apk update \
&& apk add make g++ curl bash binutils tar git python2 python3 \
&& rm -rf /var/cache/apk/* \
&& /bin/bash \
&& touch ~/.bashrc
## Install yarn
RUN curl -o- -L https://yarnpkg.com/install.sh | bash
## Setup the project
RUN mkdir -p /frontend
WORKDIR /frontend
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile
COPY . .
COPY script/docker_entrypoint.sh /usr/bin/docker_entrypoint.sh
RUN chmod +x /usr/bin/docker_entrypoint.sh
CMD [ "docker_entrypoint.sh" ]
+8 -12
View File
@@ -1,17 +1,17 @@
# Home Assistant Polymer [![Build Status](https://travis-ci.org/home-assistant/home-assistant-polymer.svg?branch=master)](https://travis-ci.org/home-assistant/home-assistant-polymer)
# Home Assistant Frontend
This is the repository for the official [Home Assistant](https://home-assistant.io) frontend.
[![Screenshot of the frontend](https://raw.githubusercontent.com/home-assistant/home-assistant-polymer/master/docs/screenshot.png)](https://home-assistant.io/demo/)
[![Screenshot of the frontend](https://raw.githubusercontent.com/home-assistant/home-assistant-polymer/master/docs/screenshot.png)](https://demo.home-assistant.io/)
- [View demo of the Polymer frontend](https://home-assistant.io/demo/)
- [View demo of Home Assistant](https://demo.home-assistant.io/)
- [More information about Home Assistant](https://home-assistant.io)
- [Frontend development instructions](https://developers.home-assistant.io/docs/en/frontend_index.html)
- [Frontend development instructions](https://developers.home-assistant.io/docs/frontend/development/)
## Development
- Initial setup: `script/setup`
- Development: [Instructions](https://developers.home-assistant.io/docs/en/frontend_development.html)
- Development: [Instructions](https://developers.home-assistant.io/docs/frontend/development/)
- Production build: `script/build_frontend`
- Gallery: `cd gallery && script/develop_gallery`
- Hass.io: [Instructions](https://developers.home-assistant.io/docs/en/hassio_hass.html)
@@ -19,15 +19,11 @@ This is the repository for the official [Home Assistant](https://home-assistant.
## Frontend development
### Classic environment
A complete guide can be found at the following [link](https://www.home-assistant.io/developers/frontend/). It describes a short guide for the build of project.
### Docker environment
It is possible to compile the project and/or run commands in the development environment having only the [Docker](https://www.docker.com) pre-installed in the system. On the root of project you can do:
* `sh ./script/docker_run.sh build` Build all the project with one command
* `sh ./script/docker_run.sh bash` Open an interactive shell (the same environment generated by the *classic environment*) where you can run commands. This bash work on your project directory and any change on your file is automatically present within your build bash.
**Note**: if you have installed `npm` in addition to the `docker`, you can use the commands `npm run docker_build` and `npm run bash` to get a full build or bash as explained above
## License
Home Assistant is open-source and Apache 2 licensed. Feel free to browse the repository, learn and reuse parts in your own projects.
We use [BrowserStack](https://www.browserstack.com) to test Home Assistant on a large variation of devices.
+30
View File
@@ -0,0 +1,30 @@
# https://dev.azure.com/home-assistant
trigger: none
pr: none
schedules:
- cron: "0 0 * * *"
displayName: "build preview"
branches:
include:
- dev
always: true
variables:
- group: netlify
jobs:
- job: 'Netlify_preview'
pool:
vmImage: 'ubuntu-latest'
steps:
- script: |
# Cast
curl -X POST -d {} https://api.netlify.com/build_hooks/${NETLIFY_CAST}
# Demo
curl -X POST -d {} https://api.netlify.com/build_hooks/${NETLIFY_DEMO}
# Gallery
curl -X POST -d {} https://api.netlify.com/build_hooks/${NETLIFY_GALLERY}
displayName: 'Trigger netlify build preview'
+59
View File
@@ -0,0 +1,59 @@
# https://dev.azure.com/home-assistant
trigger:
batch: true
tags:
include:
- "*"
pr: none
variables:
- name: versionWheels
value: '1.10.1-3.7-alpine3.11'
- name: versionNode
value: '12.1'
- group: twine
resources:
repositories:
- repository: azure
type: github
name: 'home-assistant/ci-azure'
endpoint: 'home-assistant'
stages:
- stage: "Validate"
jobs:
- template: templates/azp-job-version.yaml@azure
- stage: "Build"
jobs:
- job: "ReleasePython"
pool:
vmImage: "ubuntu-latest"
steps:
- task: UsePythonVersion@0
displayName: "Use Python 3.7"
inputs:
versionSpec: "3.7"
- task: NodeTool@0
displayName: "Use Node $(versionNode)"
inputs:
versionSpec: "$(versionNode)"
- script: pip install twine wheel
displayName: "Install tools"
- script: |
export TWINE_USERNAME="$(twineUser)"
export TWINE_PASSWORD="$(twinePassword)"
script/release
displayName: "Build and release package"
- stage: "Wheels"
jobs:
- template: templates/azp-job-wheels.yaml@azure
parameters:
builderVersion: '$(versionWheels)'
wheelsRequirement: 'requirement.txt'
preBuild:
- script: |
sleep 240
echo "home-assistant-frontend==$(Build.SourceBranchName)" > requirement.txt
+70
View File
@@ -0,0 +1,70 @@
# https://dev.azure.com/home-assistant
trigger:
batch: true
branches:
include:
- dev
paths:
include:
- translations/en.json
pr: none
schedules:
- cron: "30 0 * * *"
displayName: "frontend translation update"
branches:
include:
- dev
always: true
variables:
- group: translation
resources:
repositories:
- repository: azure
type: github
name: 'home-assistant/ci-azure'
endpoint: 'home-assistant'
jobs:
- job: 'Upload'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: '12.x'
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"
./script/translations_upload_base
displayName: 'Upload Translation'
- job: 'Download'
dependsOn:
- 'Upload'
condition: or(eq(variables['Build.Reason'], 'Schedule'), eq(variables['Build.Reason'], 'Manual'))
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: '12.x'
- template: templates/azp-step-git-init.yaml@azure
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"
npm install
./script/translations_download
displayName: 'Download Translation'
- script: |
git checkout dev
git add translation
git commit -am "[ci skip] Translation update"
git push
displayName: 'Update translation'
+195
View File
@@ -0,0 +1,195 @@
const path = require("path");
const env = require("./env.js");
const paths = require("./paths.js");
// Files from NPM Packages that should not be imported
module.exports.ignorePackages = ({ latestBuild }) => [
// Bloats bundle and it's not used.
path.resolve(require.resolve("moment"), "../locale"),
// Part of yaml.js and only used for !!js functions that we don't use
require.resolve("esprima"),
];
// Files from NPM packages that we should replace with empty file
module.exports.emptyPackages = ({ latestBuild }) =>
[
// Contains all color definitions for all material color sets.
// We don't use it
require.resolve("@polymer/paper-styles/color.js"),
require.resolve("@polymer/paper-styles/default-theme.js"),
// Loads stuff from a CDN
require.resolve("@polymer/font-roboto/roboto.js"),
require.resolve("@vaadin/vaadin-material-styles/font-roboto.js"),
// Compatibility not needed for latest builds
latestBuild &&
// wrapped in require.resolve so it blows up if file no longer exists
require.resolve(
path.resolve(paths.polymer_dir, "src/resources/compatibility.ts")
),
// This polyfill is loaded in workers to support ES5, filter it out.
latestBuild && require.resolve("proxy-polyfill/src/index.js"),
].filter(Boolean);
module.exports.definedVars = ({ isProdBuild, latestBuild, defineOverlay }) => ({
__DEV__: !isProdBuild,
__BUILD__: JSON.stringify(latestBuild ? "latest" : "es5"),
__VERSION__: JSON.stringify(env.version()),
__DEMO__: false,
__BACKWARDS_COMPAT__: false,
__STATIC_PATH__: "/static/",
"process.env.NODE_ENV": JSON.stringify(
isProdBuild ? "production" : "development"
),
...defineOverlay,
});
module.exports.terserOptions = (latestBuild) => ({
safari10: true,
ecma: latestBuild ? undefined : 5,
output: { comments: false },
});
module.exports.babelOptions = ({ latestBuild }) => ({
babelrc: false,
presets: [
!latestBuild && [require("@babel/preset-env").default, { modules: false }],
require("@babel/preset-typescript").default,
].filter(Boolean),
plugins: [
// Part of ES2018. Converts {...a, b: 2} to Object.assign({}, a, {b: 2})
!latestBuild && [
"@babel/plugin-proposal-object-rest-spread",
{ loose: true, useBuiltIns: true },
],
// Only support the syntax, Webpack will handle it.
"@babel/syntax-dynamic-import",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
[
require("@babel/plugin-proposal-decorators").default,
{ decoratorsBeforeExport: true },
],
[
require("@babel/plugin-proposal-class-properties").default,
{ loose: true },
],
].filter(Boolean),
});
// Are already ES5, cause warnings when babelified.
module.exports.babelExclude = () => [
require.resolve("@mdi/js/mdi.js"),
require.resolve("hls.js"),
];
const outputPath = (outputRoot, latestBuild) =>
path.resolve(outputRoot, latestBuild ? "frontend_latest" : "frontend_es5");
const publicPath = (latestBuild, root = "") =>
latestBuild ? `${root}/frontend_latest/` : `${root}/frontend_es5/`;
/*
BundleConfig {
// Object with entrypoints that need to be bundled
entry: { [name: string]: pathToFile },
// Folder where bundled files need to be written
outputPath: string,
// absolute url-path where bundled files can be found
publicPath: string,
// extra definitions that we need to replace in source
defineOverlay: {[name: string]: value },
// if this is a production build
isProdBuild: boolean,
// If we're targeting latest browsers
latestBuild: boolean,
// If we're doing a stats build (create nice chunk names)
isStatsBuild: boolean,
// Names of entrypoints that should not be hashed
dontHash: Set<string>
}
*/
module.exports.config = {
app({ isProdBuild, latestBuild, isStatsBuild }) {
return {
entry: {
service_worker: "./src/entrypoints/service_worker.ts",
app: "./src/entrypoints/app.ts",
authorize: "./src/entrypoints/authorize.ts",
onboarding: "./src/entrypoints/onboarding.ts",
core: "./src/entrypoints/core.ts",
"custom-panel": "./src/entrypoints/custom-panel.ts",
},
outputPath: outputPath(paths.app_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
isStatsBuild,
};
},
demo({ isProdBuild, latestBuild, isStatsBuild }) {
return {
entry: {
main: path.resolve(paths.demo_dir, "src/entrypoint.ts"),
},
outputPath: outputPath(paths.demo_output_root, latestBuild),
publicPath: publicPath(latestBuild),
defineOverlay: {
__VERSION__: JSON.stringify(`DEMO-${env.version()}`),
__DEMO__: true,
},
isProdBuild,
latestBuild,
isStatsBuild,
};
},
cast({ isProdBuild, latestBuild }) {
const entry = {
launcher: path.resolve(paths.cast_dir, "src/launcher/entrypoint.ts"),
};
if (latestBuild) {
entry.receiver = path.resolve(
paths.cast_dir,
"src/receiver/entrypoint.ts"
);
}
return {
entry,
outputPath: outputPath(paths.cast_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
defineOverlay: {
__BACKWARDS_COMPAT__: true,
},
};
},
hassio({ isProdBuild, latestBuild }) {
return {
entry: {
entrypoint: path.resolve(paths.hassio_dir, "src/entrypoint.ts"),
},
outputPath: outputPath(paths.hassio_output_root, latestBuild),
publicPath: publicPath(latestBuild, paths.hassio_publicPath),
isProdBuild,
latestBuild,
};
},
gallery({ isProdBuild, latestBuild }) {
return {
entry: {
entrypoint: path.resolve(paths.gallery_dir, "src/entrypoint.js"),
},
outputPath: outputPath(paths.gallery_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
};
},
};
+32
View File
@@ -0,0 +1,32 @@
const fs = require("fs");
const path = require("path");
const paths = require("./paths.js");
module.exports = {
useRollup() {
return process.env.ROLLUP === "1";
},
isProdBuild() {
return (
process.env.NODE_ENV === "production" || module.exports.isStatsBuild()
);
},
isStatsBuild() {
return process.env.STATS === "1";
},
isTest() {
return process.env.IS_TEST === "true";
},
isNetlify() {
return process.env.NETLIFY === "true";
},
version() {
const version = fs
.readFileSync(path.resolve(paths.polymer_dir, "setup.py"), "utf8")
.match(/\d{8}\.\d+/);
if (!version) {
throw Error("Version not found");
}
return version[0];
},
};
+53
View File
@@ -0,0 +1,53 @@
// Run HA develop mode
const gulp = require("gulp");
const env = require("../env");
require("./clean.js");
require("./translations.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./compress.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
gulp.task(
"develop-app",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "development";
},
"clean",
gulp.parallel(
"gen-service-worker-app-dev",
"gen-icons-json",
"gen-pages-dev",
"gen-index-app-dev",
"build-translations"
),
"copy-static-app",
env.useRollup() ? "rollup-watch-app" : "webpack-watch-app"
)
);
gulp.task(
"build-app",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "production";
},
"clean",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-app",
env.useRollup() ? "rollup-prod-app" : "webpack-prod-app",
...// Don't compress running tests
(env.isTest() ? [] : ["compress-app"]),
gulp.parallel(
"gen-pages-prod",
"gen-index-app-prod",
"gen-service-worker-app-prod"
)
)
);
+41
View File
@@ -0,0 +1,41 @@
const gulp = require("gulp");
const env = require("../env");
require("./clean.js");
require("./translations.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
gulp.task(
"develop-cast",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "development";
},
"clean-cast",
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-cast",
"gen-index-cast-dev",
env.useRollup() ? "rollup-dev-server-cast" : "webpack-dev-server-cast"
)
);
gulp.task(
"build-cast",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "production";
},
"clean-cast",
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-cast",
env.useRollup() ? "rollup-prod-cast" : "webpack-prod-cast",
"gen-index-cast-prod"
)
);
+36
View File
@@ -0,0 +1,36 @@
const del = require("del");
const gulp = require("gulp");
const paths = require("../paths");
require("./translations");
gulp.task(
"clean",
gulp.parallel("clean-translations", function cleanOutputAndBuildDir() {
return del([paths.app_output_root, paths.build_dir]);
})
);
gulp.task(
"clean-demo",
gulp.parallel("clean-translations", function cleanOutputAndBuildDir() {
return del([paths.demo_output_root, paths.build_dir]);
})
);
gulp.task(
"clean-cast",
gulp.parallel("clean-translations", function cleanOutputAndBuildDir() {
return del([paths.cast_output_root, paths.build_dir]);
})
);
gulp.task("clean-hassio", function cleanOutputAndBuildDir() {
return del([paths.hassio_output_root, paths.build_dir]);
});
gulp.task(
"clean-gallery",
gulp.parallel("clean-translations", function cleanOutputAndBuildDir() {
return del([paths.gallery_output_root, paths.build_dir]);
})
);
+45
View File
@@ -0,0 +1,45 @@
// Tasks to compress
const gulp = require("gulp");
const zopfli = require("gulp-zopfli-green");
const merge = require("merge-stream");
const path = require("path");
const paths = require("../paths");
const zopfliOptions = { threshold: 150 };
gulp.task("compress-app", function compressApp() {
const jsLatest = gulp
.src(path.resolve(paths.app_output_latest, "**/*.js"))
.pipe(zopfli(zopfliOptions))
.pipe(gulp.dest(paths.app_output_latest));
const jsEs5 = gulp
.src(path.resolve(paths.app_output_es5, "**/*.js"))
.pipe(zopfli(zopfliOptions))
.pipe(gulp.dest(paths.app_output_es5));
const polyfills = gulp
.src(path.resolve(paths.app_output_static, "polyfills/*.js"))
.pipe(zopfli(zopfliOptions))
.pipe(gulp.dest(path.resolve(paths.app_output_static, "polyfills")));
const translations = gulp
.src(path.resolve(paths.app_output_static, "translations/**/*.json"))
.pipe(zopfli(zopfliOptions))
.pipe(gulp.dest(path.resolve(paths.app_output_static, "translations")));
const icons = gulp
.src(path.resolve(paths.app_output_static, "mdi/*.json"))
.pipe(zopfli(zopfliOptions))
.pipe(gulp.dest(path.resolve(paths.app_output_static, "mdi")));
return merge(jsLatest, jsEs5, polyfills, translations, icons);
});
gulp.task("compress-hassio", function compressApp() {
return gulp
.src(path.resolve(paths.hassio_output_root, "**/*.js"))
.pipe(zopfli(zopfliOptions))
.pipe(gulp.dest(paths.hassio_output_root));
});
+43
View File
@@ -0,0 +1,43 @@
// Run demo develop mode
const gulp = require("gulp");
const env = require("../env");
require("./clean.js");
require("./translations.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
gulp.task(
"develop-demo",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "development";
},
"clean-demo",
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "gen-index-demo-dev", "build-translations"),
"copy-static-demo",
env.useRollup() ? "rollup-dev-server-demo" : "webpack-dev-server-demo"
)
);
gulp.task(
"build-demo",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "production";
},
"clean-demo",
// Cast needs to be backwards compatible and older HA has no translations
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-demo",
env.useRollup() ? "rollup-prod-demo" : "webpack-prod-demo",
"gen-index-demo-prod"
)
);
@@ -0,0 +1,95 @@
const del = require("del");
const gulp = require("gulp");
const fs = require("fs");
const mapStream = require("map-stream");
const inDirFrontend = "translations/frontend";
const inDirBackend = "translations/backend";
const downloadDir = "translations/downloads";
const srcMeta = "src/translations/translationMetadata.json";
const encoding = "utf8";
const tasks = [];
function hasHtml(data) {
return /<[a-z][\s\S]*>/i.test(data);
}
function recursiveCheckHasHtml(file, data, errors, recKey) {
Object.keys(data).forEach(function (key) {
if (typeof data[key] === "object") {
const nextRecKey = recKey ? `${recKey}.${key}` : key;
recursiveCheckHasHtml(file, data[key], errors, nextRecKey);
} else if (hasHtml(data[key])) {
errors.push(`HTML found in ${file.path} at key ${recKey}.${key}`);
}
});
}
function checkHtml() {
const errors = [];
return mapStream(function (file, cb) {
const content = file.contents;
let error;
if (content) {
if (hasHtml(String(content))) {
const data = JSON.parse(String(content));
recursiveCheckHasHtml(file, data, errors);
if (errors.length > 0) {
error = errors.join("\r\n");
}
}
}
cb(error, file);
});
}
let taskName = "clean-downloaded-translations";
gulp.task(taskName, function () {
return del([`${downloadDir}/**`]);
});
tasks.push(taskName);
taskName = "check-translations-html";
gulp.task(taskName, function () {
return gulp.src(`${downloadDir}/*.json`).pipe(checkHtml());
});
tasks.push(taskName);
taskName = "check-all-files-exist";
gulp.task(taskName, function () {
const file = fs.readFileSync(srcMeta, { encoding });
const meta = JSON.parse(file);
Object.keys(meta).forEach((lang) => {
if (!fs.existsSync(`${inDirFrontend}/${lang}.json`)) {
fs.writeFileSync(`${inDirFrontend}/${lang}.json`, JSON.stringify({}));
}
if (!fs.existsSync(`${inDirBackend}/${lang}.json`)) {
fs.writeFileSync(`${inDirBackend}/${lang}.json`, JSON.stringify({}));
}
});
return Promise.resolve();
});
tasks.push(taskName);
taskName = "move-downloaded-translations";
gulp.task(taskName, function () {
return gulp.src(`${downloadDir}/*.json`).pipe(gulp.dest(inDirFrontend));
});
tasks.push(taskName);
taskName = "check-downloaded-translations";
gulp.task(
taskName,
gulp.series(
"check-translations-html",
"move-downloaded-translations",
"check-all-files-exist",
"clean-downloaded-translations"
)
);
tasks.push(taskName);
module.exports = tasks;
+304
View File
@@ -0,0 +1,304 @@
// Tasks to generate entry HTML
/* eslint-disable import/no-dynamic-require */
/* eslint-disable global-require */
const gulp = require("gulp");
const fs = require("fs-extra");
const path = require("path");
const template = require("lodash.template");
const minify = require("html-minifier").minify;
const paths = require("../paths.js");
const env = require("../env.js");
const templatePath = (tpl) =>
path.resolve(paths.polymer_dir, "src/html/", `${tpl}.html.template`);
const readFile = (pth) => fs.readFileSync(pth).toString();
const renderTemplate = (pth, data = {}, pathFunc = templatePath) => {
const compiled = template(readFile(pathFunc(pth)));
return compiled({
...data,
useRollup: env.useRollup(),
renderTemplate,
});
};
const renderDemoTemplate = (pth, data = {}) =>
renderTemplate(pth, data, (tpl) =>
path.resolve(paths.demo_dir, "src/html/", `${tpl}.html.template`)
);
const renderCastTemplate = (pth, data = {}) =>
renderTemplate(pth, data, (tpl) =>
path.resolve(paths.cast_dir, "src/html/", `${tpl}.html.template`)
);
const renderGalleryTemplate = (pth, data = {}) =>
renderTemplate(pth, data, (tpl) =>
path.resolve(paths.gallery_dir, "src/html/", `${tpl}.html.template`)
);
const minifyHtml = (content) =>
minify(content, {
collapseWhitespace: true,
minifyJS: true,
minifyCSS: true,
removeComments: true,
});
const PAGES = ["onboarding", "authorize"];
gulp.task("gen-pages-dev", (done) => {
for (const page of PAGES) {
const content = renderTemplate(page, {
latestPageJS: `/frontend_latest/${page}.js`,
es5PageJS: `/frontend_es5/${page}.js`,
});
fs.outputFileSync(
path.resolve(paths.app_output_root, `${page}.html`),
content
);
}
done();
});
gulp.task("gen-pages-prod", (done) => {
const latestManifest = require(path.resolve(
paths.app_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.app_output_es5,
"manifest.json"
));
for (const page of PAGES) {
const content = renderTemplate(page, {
latestPageJS: latestManifest[`${page}.js`],
es5PageJS: es5Manifest[`${page}.js`],
});
fs.outputFileSync(
path.resolve(paths.app_output_root, `${page}.html`),
minifyHtml(content)
);
}
done();
});
gulp.task("gen-index-app-dev", (done) => {
const content = renderTemplate("index", {
latestAppJS: "/frontend_latest/app.js",
latestCoreJS: "/frontend_latest/core.js",
latestCustomPanelJS: "/frontend_latest/custom-panel.js",
es5AppJS: "/frontend_es5/app.js",
es5CoreJS: "/frontend_es5/core.js",
es5CustomPanelJS: "/frontend_es5/custom-panel.js",
}).replace(/#THEMEC/g, "{{ theme_color }}");
fs.outputFileSync(path.resolve(paths.app_output_root, "index.html"), content);
done();
});
gulp.task("gen-index-app-prod", (done) => {
const latestManifest = require(path.resolve(
paths.app_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.app_output_es5,
"manifest.json"
));
const content = renderTemplate("index", {
latestAppJS: latestManifest["app.js"],
latestCoreJS: latestManifest["core.js"],
latestCustomPanelJS: latestManifest["custom-panel.js"],
es5AppJS: es5Manifest["app.js"],
es5CoreJS: es5Manifest["core.js"],
es5CustomPanelJS: es5Manifest["custom-panel.js"],
});
const minified = minifyHtml(content).replace(/#THEMEC/g, "{{ theme_color }}");
fs.outputFileSync(
path.resolve(paths.app_output_root, "index.html"),
minified
);
done();
});
gulp.task("gen-index-cast-dev", (done) => {
const contentReceiver = renderCastTemplate("receiver", {
latestReceiverJS: "/frontend_latest/receiver.js",
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "receiver.html"),
contentReceiver
);
const contentFAQ = renderCastTemplate("launcher-faq", {
latestLauncherJS: "/frontend_latest/launcher.js",
es5LauncherJS: "/frontend_es5/launcher.js",
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "faq.html"),
contentFAQ
);
const contentLauncher = renderCastTemplate("launcher", {
latestLauncherJS: "/frontend_latest/launcher.js",
es5LauncherJS: "/frontend_es5/launcher.js",
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "index.html"),
contentLauncher
);
done();
});
gulp.task("gen-index-cast-prod", (done) => {
const latestManifest = require(path.resolve(
paths.cast_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.cast_output_es5,
"manifest.json"
));
const contentReceiver = renderCastTemplate("receiver", {
latestReceiverJS: latestManifest["receiver.js"],
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "receiver.html"),
contentReceiver
);
const contentFAQ = renderCastTemplate("launcher-faq", {
latestLauncherJS: latestManifest["launcher.js"],
es5LauncherJS: es5Manifest["launcher.js"],
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "faq.html"),
contentFAQ
);
const contentLauncher = renderCastTemplate("launcher", {
latestLauncherJS: latestManifest["launcher.js"],
es5LauncherJS: es5Manifest["launcher.js"],
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "index.html"),
contentLauncher
);
done();
});
gulp.task("gen-index-demo-dev", (done) => {
const content = renderDemoTemplate("index", {
latestDemoJS: "/frontend_latest/main.js",
es5DemoJS: "/frontend_es5/main.js",
});
fs.outputFileSync(
path.resolve(paths.demo_output_root, "index.html"),
content
);
done();
});
gulp.task("gen-index-demo-prod", (done) => {
const latestManifest = require(path.resolve(
paths.demo_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.demo_output_es5,
"manifest.json"
));
const content = renderDemoTemplate("index", {
latestDemoJS: latestManifest["main.js"],
es5DemoJS: es5Manifest["main.js"],
});
const minified = minifyHtml(content);
fs.outputFileSync(
path.resolve(paths.demo_output_root, "index.html"),
minified
);
done();
});
gulp.task("gen-index-gallery-dev", (done) => {
const content = renderGalleryTemplate("index", {
latestGalleryJS: "./frontend_latest/entrypoint.js",
});
fs.outputFileSync(
path.resolve(paths.gallery_output_root, "index.html"),
content
);
done();
});
gulp.task("gen-index-gallery-prod", (done) => {
const latestManifest = require(path.resolve(
paths.gallery_output_latest,
"manifest.json"
));
const content = renderGalleryTemplate("index", {
latestGalleryJS: latestManifest["entrypoint.js"],
});
const minified = minifyHtml(content);
fs.outputFileSync(
path.resolve(paths.gallery_output_root, "index.html"),
minified
);
done();
});
gulp.task("gen-index-hassio-dev", async () => {
writeHassioEntrypoint(
`${paths.hassio_publicPath}/frontend_latest/entrypoint.js`,
`${paths.hassio_publicPath}/frontend_es5/entrypoint.js`
);
});
gulp.task("gen-index-hassio-prod", async () => {
const latestManifest = require(path.resolve(
paths.hassio_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.hassio_output_es5,
"manifest.json"
));
writeHassioEntrypoint(
latestManifest["entrypoint.js"],
es5Manifest["entrypoint.js"]
);
});
function writeHassioEntrypoint(latestEntrypoint, es5Entrypoint) {
fs.mkdirSync(paths.hassio_output_root, { recursive: true });
fs.writeFileSync(
path.resolve(paths.hassio_output_root, "entrypoint.js"),
`
try {
new Function("import('${latestEntrypoint}')")();
} catch (err) {
var el = document.createElement('script');
el.src = '${es5Entrypoint}';
document.body.appendChild(el);
}
`,
{ encoding: "utf-8" }
);
}
+79
View File
@@ -0,0 +1,79 @@
// Run demo develop mode
const gulp = require("gulp");
const fs = require("fs");
const path = require("path");
const env = require("../env");
const paths = require("../paths");
require("./clean.js");
require("./translations.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
gulp.task("gather-gallery-demos", async function gatherDemos() {
const files = await fs.promises.readdir(
path.resolve(paths.gallery_dir, "src/demos")
);
let content = "export const DEMOS = {\n";
for (const file of files) {
const demoId = path.basename(file, ".ts");
const demoPath = "../src/demos/" + demoId;
content += ` "${demoId}": () => import("${demoPath}"),\n`;
}
content += "};";
const galleryBuild = path.resolve(paths.gallery_dir, "build");
fs.mkdirSync(galleryBuild, { recursive: true });
fs.writeFileSync(
path.resolve(galleryBuild, "import-demos.ts"),
content,
"utf-8"
);
});
gulp.task(
"develop-gallery",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "development";
},
"clean-gallery",
"translations-enable-merge-backend",
gulp.parallel(
"gen-icons-json",
"build-translations",
"gather-gallery-demos"
),
"copy-static-gallery",
"gen-index-gallery-dev",
env.useRollup() ? "rollup-dev-server-gallery" : "webpack-dev-server-gallery"
)
);
gulp.task(
"build-gallery",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "production";
},
"clean-gallery",
"translations-enable-merge-backend",
gulp.parallel(
"gen-icons-json",
"build-translations",
"gather-gallery-demos"
),
"copy-static-gallery",
env.useRollup() ? "rollup-prod-gallery" : "webpack-prod-gallery",
"gen-index-gallery-prod"
)
);
+147
View File
@@ -0,0 +1,147 @@
// Gulp task to gather all static files.
const gulp = require("gulp");
const path = require("path");
const cpx = require("cpx");
const fs = require("fs-extra");
const paths = require("../paths");
const npmPath = (...parts) =>
path.resolve(paths.polymer_dir, "node_modules", ...parts);
const polyPath = (...parts) => path.resolve(paths.polymer_dir, ...parts);
const copyFileDir = (fromFile, toDir) =>
fs.copySync(fromFile, path.join(toDir, path.basename(fromFile)));
const genStaticPath = (staticDir) => (...parts) =>
path.resolve(staticDir, ...parts);
function copyTranslations(staticDir) {
const staticPath = genStaticPath(staticDir);
// Translation output
fs.copySync(
polyPath("build-translations/output"),
staticPath("translations")
);
}
function copyMdiIcons(staticDir) {
const staticPath = genStaticPath(staticDir);
// MDI icons output
fs.copySync(polyPath("build/mdi"), staticPath("mdi"));
}
function copyPolyfills(staticDir) {
const staticPath = genStaticPath(staticDir);
// For custom panels using ES5 builds that don't use Babel 7+
copyFileDir(
npmPath("@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"),
staticPath("polyfills/")
);
// Web Component polyfills and adapters
copyFileDir(
npmPath("@webcomponents/webcomponentsjs/webcomponents-bundle.js"),
staticPath("polyfills/")
);
copyFileDir(
npmPath("@webcomponents/webcomponentsjs/webcomponents-bundle.js.map"),
staticPath("polyfills/")
);
}
function copyLoaderJS(staticDir) {
const staticPath = genStaticPath(staticDir);
copyFileDir(npmPath("systemjs/dist/s.min.js"), staticPath("js"));
copyFileDir(npmPath("systemjs/dist/s.min.js.map"), staticPath("js"));
}
function copyFonts(staticDir) {
const staticPath = genStaticPath(staticDir);
// Local fonts
cpx.copySync(
npmPath("roboto-fontface/fonts/roboto/*.woff2"),
staticPath("fonts/roboto")
);
}
function copyMapPanel(staticDir) {
const staticPath = genStaticPath(staticDir);
copyFileDir(
npmPath("leaflet/dist/leaflet.css"),
staticPath("images/leaflet/")
);
fs.copySync(
npmPath("leaflet/dist/images"),
staticPath("images/leaflet/images/")
);
}
gulp.task("copy-translations-app", async () => {
const staticDir = paths.app_output_static;
copyTranslations(staticDir);
});
gulp.task("copy-static-app", async () => {
const staticDir = paths.app_output_static;
// Basic static files
fs.copySync(polyPath("public"), paths.app_output_root);
copyLoaderJS(staticDir);
copyPolyfills(staticDir);
copyFonts(staticDir);
copyTranslations(staticDir);
copyMdiIcons(staticDir);
// Panel assets
copyMapPanel(staticDir);
});
gulp.task("copy-static-demo", async () => {
// Copy app static files
fs.copySync(
polyPath("public/static"),
path.resolve(paths.demo_output_root, "static")
);
// Copy demo static files
fs.copySync(path.resolve(paths.demo_dir, "public"), paths.demo_output_root);
copyLoaderJS(paths.demo_output_static);
copyPolyfills(paths.demo_output_static);
copyMapPanel(paths.demo_output_static);
copyFonts(paths.demo_output_static);
copyTranslations(paths.demo_output_static);
copyMdiIcons(paths.demo_output_static);
});
gulp.task("copy-static-cast", async () => {
// Copy app static files
fs.copySync(polyPath("public/static"), paths.cast_output_static);
// Copy cast static files
fs.copySync(path.resolve(paths.cast_dir, "public"), paths.cast_output_root);
copyLoaderJS(paths.cast_output_static);
copyPolyfills(paths.cast_output_static);
copyMapPanel(paths.cast_output_static);
copyFonts(paths.cast_output_static);
copyTranslations(paths.cast_output_static);
copyMdiIcons(paths.cast_output_static);
});
gulp.task("copy-static-gallery", async () => {
// Copy app static files
fs.copySync(polyPath("public/static"), paths.gallery_output_static);
// Copy gallery static files
fs.copySync(
path.resolve(paths.gallery_dir, "public"),
paths.gallery_output_root
);
copyMapPanel(paths.gallery_output_static);
copyFonts(paths.gallery_output_static);
copyTranslations(paths.gallery_output_static);
copyMdiIcons(paths.gallery_output_static);
});
+120
View File
@@ -0,0 +1,120 @@
const gulp = require("gulp");
const path = require("path");
const fs = require("fs");
const hash = require("object-hash");
const ICON_PACKAGE_PATH = path.resolve(
__dirname,
"../../node_modules/@mdi/svg/"
);
const META_PATH = path.resolve(ICON_PACKAGE_PATH, "meta.json");
const PACKAGE_PATH = path.resolve(ICON_PACKAGE_PATH, "package.json");
const ICON_PATH = path.resolve(ICON_PACKAGE_PATH, "svg");
const OUTPUT_DIR = path.resolve(__dirname, "../../build/mdi");
const REMOVED_ICONS_PATH = path.resolve(__dirname, "../removedIcons.json");
const encoding = "utf8";
const getMeta = () => {
const file = fs.readFileSync(META_PATH, { encoding });
const meta = JSON.parse(file);
return meta.map((icon) => {
const svg = fs.readFileSync(`${ICON_PATH}/${icon.name}.svg`, {
encoding,
});
return { path: svg.match(/ d="([^"]+)"/)[1], name: icon.name };
});
};
const addRemovedMeta = (meta) => {
const file = fs.readFileSync(REMOVED_ICONS_PATH, { encoding });
const removed = JSON.parse(file);
const combinedMeta = [...meta, ...removed];
return combinedMeta.sort((a, b) => a.name.localeCompare(b.name));
};
const splitBySize = (meta) => {
const chunks = [];
const CHUNK_SIZE = 50000;
let curSize = 0;
let startKey;
let icons = [];
Object.values(meta).forEach((icon) => {
if (startKey === undefined) {
startKey = icon.name;
}
curSize += icon.path.length;
icons.push(icon);
if (curSize > CHUNK_SIZE) {
chunks.push({
startKey,
endKey: icon.name,
icons,
});
curSize = 0;
startKey = undefined;
icons = [];
}
});
chunks.push({
startKey,
icons,
});
return chunks;
};
const findDifferentiator = (curString, prevString) => {
for (let i = 0; i < curString.length; i++) {
if (curString[i] !== prevString[i]) {
return curString.substring(0, i + 1);
}
}
throw new Error("Cannot find differentiator", curString, prevString);
};
gulp.task("gen-icons-json", (done) => {
const meta = addRemovedMeta(getMeta());
const split = splitBySize(meta);
if (!fs.existsSync(OUTPUT_DIR)) {
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
}
const parts = [];
let lastEnd;
split.forEach((chunk) => {
let startKey;
if (lastEnd === undefined) {
chunk.startKey = undefined;
startKey = undefined;
} else {
startKey = findDifferentiator(chunk.startKey, lastEnd);
}
lastEnd = chunk.endKey;
const output = {};
chunk.icons.forEach((icon) => {
output[icon.name] = icon.path;
});
const filename = hash(output);
parts.push({ start: startKey, file: filename });
fs.writeFileSync(
path.resolve(OUTPUT_DIR, `${filename}.json`),
JSON.stringify(output)
);
});
const file = fs.readFileSync(PACKAGE_PATH, { encoding });
const package = JSON.parse(file);
fs.writeFileSync(
path.resolve(OUTPUT_DIR, "iconMetadata.json"),
JSON.stringify({ version: package.version, parts })
);
done();
});
+40
View File
@@ -0,0 +1,40 @@
const gulp = require("gulp");
const fs = require("fs");
const path = require("path");
const env = require("../env");
const paths = require("../paths");
require("./clean.js");
require("./gen-icons-json.js");
require("./webpack.js");
require("./compress.js");
require("./rollup.js");
gulp.task(
"develop-hassio",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "development";
},
"clean-hassio",
"gen-icons-json",
"gen-index-hassio-dev",
env.useRollup() ? "rollup-watch-hassio" : "webpack-watch-hassio"
)
);
gulp.task(
"build-hassio",
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "production";
},
"clean-hassio",
"gen-icons-json",
env.useRollup() ? "rollup-prod-hassio" : "webpack-prod-hassio",
"gen-index-hassio-prod",
...// Don't compress running tests
(env.isTest() ? [] : ["compress-hassio"])
)
);
+146
View File
@@ -0,0 +1,146 @@
// Tasks to run Rollup
const path = require("path");
const gulp = require("gulp");
const rollup = require("rollup");
const handler = require("serve-handler");
const http = require("http");
const log = require("fancy-log");
const rollupConfig = require("../rollup");
const paths = require("../paths");
const open = require("open");
const bothBuilds = (createConfigFunc, params) =>
gulp.series(
async function buildLatest() {
await buildRollup(
createConfigFunc({
...params,
latestBuild: true,
})
);
},
async function buildES5() {
await buildRollup(
createConfigFunc({
...params,
latestBuild: false,
})
);
}
);
function createServer(serveOptions) {
const server = http.createServer((request, response) => {
return handler(request, response, {
public: serveOptions.root,
});
});
server.listen(
serveOptions.port,
serveOptions.networkAccess ? "0.0.0.0" : undefined,
() => {
log.info(`Available at http://localhost:${serveOptions.port}`);
open(`http://localhost:${serveOptions.port}`);
}
);
}
function watchRollup(createConfig, extraWatchSrc = [], serveOptions) {
const { inputOptions, outputOptions } = createConfig({
isProdBuild: false,
latestBuild: true,
});
const watcher = rollup.watch({
...inputOptions,
output: [outputOptions],
watch: {
include: ["src/**"] + extraWatchSrc,
},
});
let startedHttp = false;
watcher.on("event", (event) => {
if (event.code === "BUNDLE_END") {
log(`Build done @ ${new Date().toLocaleTimeString()}`);
} else if (event.code === "ERROR") {
log.error(event.error);
} else if (event.code === "END") {
if (startedHttp || !serveOptions) {
return;
}
startedHttp = true;
createServer(serveOptions);
}
});
gulp.watch(
path.join(paths.translations_src, "en.json"),
gulp.series("build-translations", "copy-translations-app")
);
}
async function buildRollup(config) {
const bundle = await rollup.rollup(config.inputOptions);
await bundle.write(config.outputOptions);
}
gulp.task("rollup-watch-app", () => {
watchRollup(rollupConfig.createAppConfig);
});
gulp.task("rollup-watch-hassio", () => {
watchRollup(rollupConfig.createHassioConfig, ["hassio/src/**"]);
});
gulp.task("rollup-dev-server-demo", () => {
watchRollup(rollupConfig.createDemoConfig, ["demo/src/**"], {
root: paths.demo_output_root,
port: 8090,
});
});
gulp.task("rollup-dev-server-cast", () => {
watchRollup(rollupConfig.createCastConfig, ["cast/src/**"], {
root: paths.cast_output_root,
port: 8080,
networkAccess: true,
});
});
gulp.task("rollup-dev-server-gallery", () => {
watchRollup(rollupConfig.createGalleryConfig, ["gallery/src/**"], {
root: paths.gallery_output_root,
port: 8100,
});
});
gulp.task(
"rollup-prod-app",
bothBuilds(rollupConfig.createAppConfig, { isProdBuild: true })
);
gulp.task(
"rollup-prod-demo",
bothBuilds(rollupConfig.createDemoConfig, { isProdBuild: true })
);
gulp.task(
"rollup-prod-cast",
bothBuilds(rollupConfig.createCastConfig, { isProdBuild: true })
);
gulp.task("rollup-prod-hassio", () =>
bothBuilds(rollupConfig.createHassioConfig, { isProdBuild: true })
);
gulp.task("rollup-prod-gallery", () =>
buildRollup(
rollupConfig.createGalleryConfig({
isProdBuild: true,
latestBuild: true,
})
)
);
+96
View File
@@ -0,0 +1,96 @@
// Generate service worker.
// Based on manifest, create a file with the content as service_worker.js
/* eslint-disable import/no-dynamic-require */
/* eslint-disable global-require */
const gulp = require("gulp");
const path = require("path");
const fs = require("fs-extra");
const workboxBuild = require("workbox-build");
const sourceMapUrl = require("source-map-url");
const paths = require("../paths.js");
const swDest = path.resolve(paths.app_output_root, "service_worker.js");
const writeSW = (content) => fs.outputFileSync(swDest, content.trim() + "\n");
gulp.task("gen-service-worker-app-dev", (done) => {
writeSW(
`
console.debug('Service worker disabled in development');
self.addEventListener('install', (event) => {
// This will activate the dev service worker,
// removing any prod service worker the dev might have running
self.skipWaiting();
});
`
);
done();
});
gulp.task("gen-service-worker-app-prod", async () => {
// Read bundled source file
const bundleManifestLatest = require(path.resolve(
paths.app_output_latest,
"manifest.json"
));
let serviceWorkerContent = fs.readFileSync(
paths.app_output_root + bundleManifestLatest["service_worker.js"],
"utf-8"
);
// Delete old file from frontend_latest so manifest won't pick it up
fs.removeSync(
paths.app_output_root + bundleManifestLatest["service_worker.js"]
);
fs.removeSync(
paths.app_output_root + bundleManifestLatest["service_worker.js.map"]
);
// Remove ES5
const bundleManifestES5 = require(path.resolve(
paths.app_output_es5,
"manifest.json"
));
fs.removeSync(paths.app_output_root + bundleManifestES5["service_worker.js"]);
fs.removeSync(
paths.app_output_root + bundleManifestES5["service_worker.js.map"]
);
const workboxManifest = await workboxBuild.getManifest({
// Files that mach this pattern will be considered unique and skip revision check
// ignore JS files + translation files
dontCacheBustURLsMatching: /(frontend_latest\/.+|static\/translations\/.+)/,
globDirectory: paths.app_output_root,
globPatterns: [
"frontend_latest/*.js",
// Cache all English translations because we catch them as fallback
// Using pattern to match hash instead of * to avoid caching en-GB
// 'v' added as valid hash letter because in dev we hash with 'dev'
"static/translations/**/en-+([a-fv0-9]).json",
// Icon shown on splash screen
"static/icons/favicon-192x192.png",
"static/icons/favicon.ico",
// Common fonts
"static/fonts/roboto/Roboto-Light.woff2",
"static/fonts/roboto/Roboto-Medium.woff2",
"static/fonts/roboto/Roboto-Regular.woff2",
"static/fonts/roboto/Roboto-Bold.woff2",
],
});
for (const warning of workboxManifest.warnings) {
console.warn(warning);
}
// remove source map and add WB manifest
serviceWorkerContent = sourceMapUrl.removeFrom(serviceWorkerContent);
serviceWorkerContent = serviceWorkerContent.replace(
"WB_MANIFEST",
JSON.stringify(workboxManifest.manifestEntries)
);
// Write new file to root
fs.writeFileSync(swDest, serviceWorkerContent);
});
+407
View File
@@ -0,0 +1,407 @@
const crypto = require("crypto");
const del = require("del");
const path = require("path");
const source = require("vinyl-source-stream");
const vinylBuffer = require("vinyl-buffer");
const gulp = require("gulp");
const fs = require("fs");
const foreach = require("gulp-foreach");
const merge = require("gulp-merge-json");
const minify = require("gulp-jsonminify");
const rename = require("gulp-rename");
const transform = require("gulp-json-transform");
const { mapFiles } = require("../util");
const env = require("../env");
const paths = require("../paths");
const inFrontendDir = "translations/frontend";
const inBackendDir = "translations/backend";
const workDir = "build-translations";
const fullDir = workDir + "/full";
const coreDir = workDir + "/core";
const outDir = workDir + "/output";
let mergeBackend = false;
gulp.task("translations-enable-merge-backend", (done) => {
mergeBackend = true;
done();
});
String.prototype.rsplit = function (sep, maxsplit) {
var split = this.split(sep);
return maxsplit
? [split.slice(0, -maxsplit).join(sep)].concat(split.slice(-maxsplit))
: split;
};
// Panel translations which should be split from the core translations. These
// should mirror the fragment definitions in polymer.json, so that we load
// additional resources at equivalent points.
const TRANSLATION_FRAGMENTS = [
"config",
"history",
"logbook",
"mailbox",
"profile",
"shopping-list",
"page-authorize",
"page-demo",
"page-onboarding",
"developer-tools",
];
function recursiveFlatten(prefix, data) {
let output = {};
Object.keys(data).forEach(function (key) {
if (typeof data[key] === "object") {
output = {
...output,
...recursiveFlatten(prefix + key + ".", data[key]),
};
} else {
output[prefix + key] = data[key];
}
});
return output;
}
function flatten(data) {
return recursiveFlatten("", data);
}
function emptyFilter(data) {
const newData = {};
Object.keys(data).forEach((key) => {
if (data[key]) {
if (typeof data[key] === "object") {
newData[key] = emptyFilter(data[key]);
} else {
newData[key] = data[key];
}
}
});
return newData;
}
function recursiveEmpty(data) {
const newData = {};
Object.keys(data).forEach((key) => {
if (data[key]) {
if (typeof data[key] === "object") {
newData[key] = recursiveEmpty(data[key]);
} else {
newData[key] = "TRANSLATED";
}
}
});
return newData;
}
/**
* Replace Lokalise key placeholders with their actual values.
*
* We duplicate the behavior of Lokalise here so that placeholders can
* be included in src/translations/en.json, but still be usable while
* developing locally.
*
* @link https://docs.lokalise.co/article/KO5SZWLLsy-key-referencing
*/
const re_key_reference = /\[%key:([^%]+)%\]/;
function lokaliseTransform(data, original, file) {
const output = {};
Object.entries(data).forEach(([key, value]) => {
if (value instanceof Object) {
output[key] = lokaliseTransform(value, original, file);
} else {
output[key] = value.replace(re_key_reference, (match, key) => {
const replace = key.split("::").reduce((tr, k) => {
if (!tr) {
throw Error(`Invalid key placeholder ${key} in ${file.path}`);
}
return tr[k];
}, original);
if (typeof replace !== "string") {
throw Error(`Invalid key placeholder ${key} in ${file.path}`);
}
return replace;
});
}
});
return output;
}
gulp.task("clean-translations", function () {
return del([workDir]);
});
gulp.task("ensure-translations-build-dir", (done) => {
if (!fs.existsSync(workDir)) {
fs.mkdirSync(workDir);
}
done();
});
gulp.task("create-test-metadata", function (cb) {
fs.writeFile(
workDir + "/testMetadata.json",
JSON.stringify({
test: {
nativeName: "Test",
},
}),
cb
);
});
gulp.task(
"create-test-translation",
gulp.series("create-test-metadata", function createTestTranslation() {
return gulp
.src(path.join(paths.translations_src, "en.json"))
.pipe(
transform(function (data, file) {
return recursiveEmpty(data);
})
)
.pipe(rename("test.json"))
.pipe(gulp.dest(workDir));
})
);
/**
* This task will build a master translation file, to be used as the base for
* all languages. This starts with src/translations/en.json, and replaces all
* Lokalise key placeholders with their target values. Under normal circumstances,
* this will be the same as translations/en.json However, we build it here to
* facilitate both making changes in development mode, and to ensure that the
* project is buildable immediately after merging new translation keys, since
* the Lokalise update to translations/en.json will not happen immediately.
*/
gulp.task("build-master-translation", function () {
const src = [path.join(paths.translations_src, "en.json")];
if (mergeBackend) {
src.push(path.join(inBackendDir, "en.json"));
}
return gulp
.src(src)
.pipe(
transform(function (data, file) {
return lokaliseTransform(data, data, file);
})
)
.pipe(
merge({
fileName: "translationMaster.json",
})
)
.pipe(gulp.dest(workDir));
});
gulp.task("build-merged-translations", function () {
return gulp
.src([inFrontendDir + "/*.json", workDir + "/test.json"], {
allowEmpty: true,
})
.pipe(
transform(function (data, file) {
return lokaliseTransform(data, data, file);
})
)
.pipe(
foreach(function (stream, file) {
// For each language generate a merged json file. It begins with the master
// translation as a failsafe for untranslated strings, and merges all parent
// tags into one file for each specific subtag
//
// TODO: This is a naive interpretation of BCP47 that should be improved.
// Will be OK for now as long as we don't have anything more complicated
// than a base translation + region.
const tr = path.basename(file.history[0], ".json");
const subtags = tr.split("-");
const src = [workDir + "/translationMaster.json"];
for (let i = 1; i <= subtags.length; i++) {
const lang = subtags.slice(0, i).join("-");
if (lang === "test") {
src.push(workDir + "/test.json");
} else if (lang !== "en") {
src.push(inFrontendDir + "/" + lang + ".json");
if (mergeBackend) {
src.push(inBackendDir + "/" + lang + ".json");
}
}
}
return gulp
.src(src, { allowEmpty: true })
.pipe(transform((data) => emptyFilter(data)))
.pipe(
merge({
fileName: tr + ".json",
})
)
.pipe(gulp.dest(fullDir));
})
);
});
var taskName;
const splitTasks = [];
TRANSLATION_FRAGMENTS.forEach((fragment) => {
taskName = "build-translation-fragment-" + fragment;
gulp.task(taskName, function () {
// Return only the translations for this fragment.
return gulp
.src(fullDir + "/*.json")
.pipe(
transform((data) => ({
ui: {
panel: {
[fragment]: data.ui.panel[fragment],
},
},
}))
)
.pipe(gulp.dest(workDir + "/" + fragment));
});
splitTasks.push(taskName);
});
taskName = "build-translation-core";
gulp.task(taskName, function () {
// Remove the fragment translations from the core translation.
return gulp
.src(fullDir + "/*.json")
.pipe(
transform((data, file) => {
TRANSLATION_FRAGMENTS.forEach((fragment) => {
delete data.ui.panel[fragment];
});
return data;
})
)
.pipe(gulp.dest(coreDir));
});
splitTasks.push(taskName);
gulp.task("build-flattened-translations", function () {
// Flatten the split versions of our translations, and move them into outDir
return gulp
.src(
TRANSLATION_FRAGMENTS.map(
(fragment) => workDir + "/" + fragment + "/*.json"
).concat(coreDir + "/*.json"),
{ base: workDir }
)
.pipe(
transform(function (data) {
// Polymer.AppLocalizeBehavior requires flattened json
return flatten(data);
})
)
.pipe(minify())
.pipe(
rename((filePath) => {
if (filePath.dirname === "core") {
filePath.dirname = "";
}
})
)
.pipe(gulp.dest(outDir));
});
const fingerprints = {};
gulp.task(
"build-translation-fingerprints",
function fingerprintTranslationFiles() {
// Fingerprint full file of each language
const files = fs.readdirSync(fullDir);
for (let i = 0; i < files.length; i++) {
fingerprints[files[i].split(".")[0]] = {
// In dev we create fake hashes
hash: env.isProdBuild()
? crypto
.createHash("md5")
.update(fs.readFileSync(path.join(fullDir, files[i]), "utf-8"))
.digest("hex")
: "dev",
};
}
mapFiles(outDir, ".json", (filename) => {
const parsed = path.parse(filename);
// nl.json -> nl-<hash>.json
if (!(parsed.name in fingerprints)) {
throw new Error(`Unable to find hash for ${filename}`);
}
fs.renameSync(
filename,
`${parsed.dir}/${parsed.name}-${fingerprints[parsed.name].hash}${
parsed.ext
}`
);
});
const stream = source("translationFingerprints.json");
stream.write(JSON.stringify(fingerprints));
process.nextTick(() => stream.end());
return stream.pipe(vinylBuffer()).pipe(gulp.dest(workDir));
}
);
gulp.task(
"build-translations",
gulp.series(
"clean-translations",
"ensure-translations-build-dir",
env.isProdBuild() ? (done) => done() : "create-test-translation",
"build-master-translation",
"build-merged-translations",
gulp.parallel(...splitTasks),
"build-flattened-translations",
"build-translation-fingerprints",
function writeMetadata() {
return gulp
.src(
[
path.join(paths.translations_src, "translationMetadata.json"),
workDir + "/testMetadata.json",
workDir + "/translationFingerprints.json",
],
{ allowEmpty: true }
)
.pipe(merge({}))
.pipe(
transform(function (data) {
const newData = {};
Object.entries(data).forEach(([key, value]) => {
// Filter out translations without native name.
if (data[key].nativeName) {
newData[key] = data[key];
} else {
console.warn(
`Skipping language ${key}. Native name was not translated.`
);
}
if (data[key]) newData[key] = value;
});
return newData;
})
)
.pipe(
transform((data) => ({
fragments: TRANSLATION_FRAGMENTS,
translations: data,
}))
)
.pipe(rename("translationMetadata.json"))
.pipe(gulp.dest(workDir));
}
)
);
+172
View File
@@ -0,0 +1,172 @@
// Tasks to run webpack.
const gulp = require("gulp");
const webpack = require("webpack");
const WebpackDevServer = require("webpack-dev-server");
const log = require("fancy-log");
const path = require("path");
const paths = require("../paths");
const {
createAppConfig,
createDemoConfig,
createCastConfig,
createHassioConfig,
createGalleryConfig,
} = require("../webpack");
const bothBuilds = (createConfigFunc, params) => [
createConfigFunc({ ...params, latestBuild: true }),
createConfigFunc({ ...params, latestBuild: false }),
];
const runDevServer = ({
compiler,
contentBase,
port,
listenHost = "localhost",
}) =>
new WebpackDevServer(compiler, {
open: true,
watchContentBase: true,
contentBase,
}).listen(port, listenHost, function (err) {
if (err) {
throw err;
}
// Server listening
log("[webpack-dev-server]", `http://localhost:${port}`);
});
const handler = (done) => (err, stats) => {
if (err) {
log.error(err.stack || err);
if (err.details) {
log.error(err.details);
}
return;
}
log(`Build done @ ${new Date().toLocaleTimeString()}`);
if (stats.hasErrors() || stats.hasWarnings()) {
log.warn(stats.toString("minimal"));
}
if (done) {
done();
}
};
gulp.task("webpack-watch-app", () => {
// we are not calling done, so this command will run forever
webpack(createAppConfig({ isProdBuild: false, latestBuild: true })).watch(
{ ignored: /build-translations/ },
handler()
);
gulp.watch(
path.join(paths.translations_src, "en.json"),
gulp.series("build-translations", "copy-translations-app")
);
});
gulp.task(
"webpack-prod-app",
() =>
new Promise((resolve) =>
webpack(
bothBuilds(createAppConfig, { isProdBuild: true }),
handler(resolve)
)
)
);
gulp.task("webpack-dev-server-demo", () => {
runDevServer({
compiler: webpack(bothBuilds(createDemoConfig, { isProdBuild: false })),
contentBase: paths.demo_output_root,
port: 8090,
});
});
gulp.task(
"webpack-prod-demo",
() =>
new Promise((resolve) =>
webpack(
bothBuilds(createDemoConfig, {
isProdBuild: true,
}),
handler(resolve)
)
)
);
gulp.task("webpack-dev-server-cast", () => {
runDevServer({
compiler: webpack(bothBuilds(createCastConfig, { isProdBuild: false })),
contentBase: paths.cast_output_root,
port: 8080,
// Accessible from the network, because that's how Cast hits it.
listenHost: "0.0.0.0",
});
});
gulp.task(
"webpack-prod-cast",
() =>
new Promise((resolve) =>
webpack(
bothBuilds(createCastConfig, {
isProdBuild: true,
}),
handler(resolve)
)
)
);
gulp.task("webpack-watch-hassio", () => {
// we are not calling done, so this command will run forever
webpack(
createHassioConfig({
isProdBuild: false,
latestBuild: true,
})
).watch({}, handler());
});
gulp.task(
"webpack-prod-hassio",
() =>
new Promise((resolve) =>
webpack(
bothBuilds(createHassioConfig, {
isProdBuild: true,
}),
handler(resolve)
)
)
);
gulp.task("webpack-dev-server-gallery", () => {
runDevServer({
// We don't use the es5 build, but the dev server will fuck up the publicPath if we don't
compiler: webpack(bothBuilds(createGalleryConfig, { isProdBuild: false })),
contentBase: paths.gallery_output_root,
port: 8100,
});
});
gulp.task(
"webpack-prod-gallery",
() =>
new Promise((resolve) =>
webpack(
createGalleryConfig({
isProdBuild: true,
latestBuild: true,
}),
handler(resolve)
)
)
);
+45
View File
@@ -0,0 +1,45 @@
var path = require("path");
module.exports = {
polymer_dir: path.resolve(__dirname, ".."),
build_dir: path.resolve(__dirname, "../build"),
app_output_root: path.resolve(__dirname, "../hass_frontend"),
app_output_static: path.resolve(__dirname, "../hass_frontend/static"),
app_output_latest: path.resolve(
__dirname,
"../hass_frontend/frontend_latest"
),
app_output_es5: path.resolve(__dirname, "../hass_frontend/frontend_es5"),
demo_dir: path.resolve(__dirname, "../demo"),
demo_output_root: path.resolve(__dirname, "../demo/dist"),
demo_output_static: path.resolve(__dirname, "../demo/dist/static"),
demo_output_latest: path.resolve(__dirname, "../demo/dist/frontend_latest"),
demo_output_es5: path.resolve(__dirname, "../demo/dist/frontend_es5"),
cast_dir: path.resolve(__dirname, "../cast"),
cast_output_root: path.resolve(__dirname, "../cast/dist"),
cast_output_static: path.resolve(__dirname, "../cast/dist/static"),
cast_output_latest: path.resolve(__dirname, "../cast/dist/frontend_latest"),
cast_output_es5: path.resolve(__dirname, "../cast/dist/frontend_es5"),
gallery_dir: path.resolve(__dirname, "../gallery"),
gallery_output_root: path.resolve(__dirname, "../gallery/dist"),
gallery_output_latest: path.resolve(
__dirname,
"../gallery/dist/frontend_latest"
),
gallery_output_static: path.resolve(__dirname, "../gallery/dist/static"),
hassio_dir: path.resolve(__dirname, "../hassio"),
hassio_output_root: path.resolve(__dirname, "../hassio/build"),
hassio_output_latest: path.resolve(
__dirname,
"../hassio/build/frontend_latest"
),
hassio_output_es5: path.resolve(__dirname, "../hassio/build/frontend_es5"),
hassio_publicPath: "/api/hassio/app",
translations_src: path.resolve(__dirname, "../src/translations"),
};
+267
View File
@@ -0,0 +1,267 @@
[
{
"path": "M17.5,15.61C17.33,15.37 9.53,5.4 9.27,5.08C9,4.75 9.08,4.65 9.13,4.59C9.22,4.5 9.36,4.5 9.93,4.5C10.26,4.5 13.59,4.5 13.94,4.47C14.66,4.47 14.78,4.53 14.85,4.56C14.93,4.58 15.13,4.75 15.26,4.92C15.33,5 22.32,13.36 22.39,13.45C22.46,13.54 22.59,13.69 22.67,13.84C22.76,14 22.77,14.18 22.64,14.25C22.56,14.3 18.7,15.89 18.59,15.93C18.5,16 18.27,16.06 18.11,16.04C18,16 17.77,15.92 17.5,15.61M21.47,15.42L21.75,15.47C21.75,15.47 22.68,15.65 22.77,15.67C22.87,15.69 22.96,15.76 22.95,15.79C22.94,15.87 22.9,15.91 22.83,15.95C22.77,16 18.58,18.58 18.5,18.62C18.43,18.66 18.33,18.72 18.11,18.75C17.7,18.83 16.91,18.61 16.66,18.56C16.41,18.5 6.15,16.23 6.06,16.2C5.97,16.17 5.91,16.16 5.9,16.08C5.89,15.94 6.11,15.88 6.28,15.81C6.46,15.75 11.28,14 11.45,13.93C11.62,13.86 11.84,13.84 11.95,13.83C12.06,13.82 12.73,13.93 13.03,13.97C13.34,14 14.2,14.15 14.2,14.15L16.16,16.7C16.5,17.09 16.72,17.25 17,17.28C17.15,17.29 17.31,17.25 17.42,17.2C17.5,17.16 21.47,15.42 21.47,15.42M10.25,9.18L11.96,11.37L12,11.45V11.5C11.96,11.54 8.93,14.32 8.91,14.35L5.72,15.5C5.72,15.5 5.63,15.55 5.58,15.58C5.53,15.61 5.47,15.67 5.5,15.82C5.5,15.87 5.5,16.59 5.5,16.79L1.56,18.04C1.37,18.1 1,18.23 0.95,18.19C0.88,18.14 0.97,18.03 1,17.97C1.06,17.91 9.08,10 9.39,9.7C9.84,9.24 10.25,9.18 10.25,9.18",
"name": "accusoft"
},
{
"path": "M4.94,11.12C5.23,11.12 5.5,11.16 5.76,11.23C5.77,9.09 7.5,7.35 9.65,7.35C11.27,7.35 12.67,8.35 13.24,9.77C13.83,9 14.74,8.53 15.76,8.53C17.5,8.53 18.94,9.95 18.94,11.71C18.94,11.95 18.91,12.2 18.86,12.43C19.1,12.34 19.37,12.29 19.65,12.29C20.95,12.29 22,13.35 22,14.65C22,15.95 20.95,17 19.65,17C18.35,17 6.36,17 4.94,17C3.32,17 2,15.68 2,14.06C2,12.43 3.32,11.12 4.94,11.12Z",
"name": "amazon-drive"
},
{
"path": "M8,11.5A1.25,1.25 0 0,0 6.75,12.75A1.25,1.25 0 0,0 8,14A1.25,1.25 0 0,0 9.25,12.75A1.25,1.25 0 0,0 8,11.5M16,11.5A1.25,1.25 0 0,0 14.75,12.75A1.25,1.25 0 0,0 16,14A1.25,1.25 0 0,0 17.25,12.75A1.25,1.25 0 0,0 16,11.5M12,7C13.5,7 14.9,7.33 16.18,7.91L18.34,5.75C18.73,5.36 19.36,5.36 19.75,5.75C20.14,6.14 20.14,6.77 19.75,7.16L17.95,8.96C20.41,10.79 22,13.71 22,17H2C2,13.71 3.59,10.79 6.05,8.96L4.25,7.16C3.86,6.77 3.86,6.14 4.25,5.75C4.64,5.36 5.27,5.36 5.66,5.75L7.82,7.91C9.1,7.33 10.5,7 12,7Z",
"name": "android-head"
},
{
"path": "M2,16.25C2,16.25 4,3.75 12,3.75C20,3.75 22,16.25 22,16.25C22,16.25 20,20.25 12,20.25C4,20.25 2,16.25 2,16.25M3.35,15.65C3.35,15.65 4.3,19 12,19C17,19 20,17.8 20.65,15.85C21.3,13.9 15.65,7.6 14.65,7.6C13.65,7.6 11.2,12 10.45,12C8.45,12 8.9,10 7.15,10C5.4,10 3.35,15.65 3.35,15.65Z",
"name": "basecamp"
},
{
"path": "M7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7C10.87,7 9.84,7.37 9,8V2.46C9.95,2.16 10.95,2 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,8.3 4,5.07 7,3.34V12M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z",
"name": "beats"
},
{
"path": "M19.58,12.27C19.54,11.65 19.33,11.18 18.96,10.86C18.59,10.54 18.13,10.38 17.58,10.38C17,10.38 16.5,10.55 16.19,10.89C15.86,11.23 15.65,11.69 15.57,12.27M21.92,12.04C22,12.45 22,13.04 22,13.81H15.5C15.55,14.71 15.85,15.33 16.44,15.69C16.79,15.92 17.22,16.03 17.73,16.03C18.26,16.03 18.69,15.89 19,15.62C19.2,15.47 19.36,15.27 19.5,15H21.88C21.82,15.54 21.53,16.07 21,16.62C20.22,17.5 19.1,17.92 17.66,17.92C16.47,17.92 15.43,17.55 14.5,16.82C13.62,16.09 13.16,14.9 13.16,13.25C13.16,11.7 13.57,10.5 14.39,9.7C15.21,8.87 16.27,8.46 17.58,8.46C18.35,8.46 19.05,8.6 19.67,8.88C20.29,9.16 20.81,9.59 21.21,10.2C21.58,10.73 21.81,11.34 21.92,12.04M9.58,14.07C9.58,13.42 9.31,12.97 8.79,12.73C8.5,12.6 8.08,12.53 7.54,12.5H4.87V15.84H7.5C8.04,15.84 8.46,15.77 8.76,15.62C9.31,15.35 9.58,14.83 9.58,14.07M4.87,10.46H7.5C8.04,10.46 8.5,10.36 8.82,10.15C9.16,9.95 9.32,9.58 9.32,9.06C9.32,8.5 9.1,8.1 8.66,7.91C8.27,7.78 7.78,7.72 7.19,7.72H4.87M11.72,12.42C12.04,12.92 12.2,13.53 12.2,14.24C12.2,15 12,15.64 11.65,16.23C11.41,16.62 11.12,16.94 10.77,17.21C10.37,17.5 9.9,17.72 9.36,17.83C8.82,17.94 8.24,18 7.61,18H2V5.55H8C9.53,5.58 10.6,6 11.23,6.88C11.61,7.41 11.8,8.04 11.8,8.78C11.8,9.54 11.61,10.15 11.23,10.61C11,10.87 10.7,11.11 10.28,11.32C10.91,11.55 11.39,11.92 11.72,12.42M20.06,7.32H15.05V6.07H20.06V7.32Z",
"name": "behance"
},
{
"path": "M5.45,10.28C6.4,10.28 7.5,11.05 7.5,12C7.5,12.95 6.4,13.72 5.45,13.72H2L2.69,10.28H5.45M6.14,4.76C7.09,4.76 8.21,5.53 8.21,6.5C8.21,7.43 7.09,8.21 6.14,8.21H2.69L3.38,4.76H6.14M13.03,4.76C14,4.76 15.1,5.53 15.1,6.5C15.1,7.43 14,8.21 13.03,8.21H9.41L10.1,4.76H13.03M12.34,10.28C13.3,10.28 14.41,11.05 14.41,12C14.41,12.95 13.3,13.72 12.34,13.72H8.72L9.41,10.28H12.34M10.97,15.79C11.92,15.79 13.03,16.57 13.03,17.5C13.03,18.47 11.92,19.24 10.97,19.24H7.5L8.21,15.79H10.97M18.55,13.72C19.5,13.72 20.62,14.5 20.62,15.45C20.62,16.4 19.5,17.17 18.55,17.17H15.1L15.79,13.72H18.55M19.93,8.21C20.88,8.21 22,9 22,9.93C22,10.88 20.88,11.66 19.93,11.66H16.5L17.17,8.21H19.93Z",
"name": "blackberry"
},
{
"path": "M12,3A9,9 0 0,1 21,12A9,9 0 0,1 12,21A9,9 0 0,1 3,12A9,9 0 0,1 12,3M5.94,8.5C4,11.85 5.15,16.13 8.5,18.06C11.85,20 18.85,7.87 15.5,5.94C12.15,4 7.87,5.15 5.94,8.5Z",
"name": "cisco-webex"
},
{
"path": "M11.9,14.5H10.8V9.5H11.9C13.5,9.5 14.6,10.4 14.6,12C14.6,13.6 13.5,14.5 11.9,14.5M11.9,7H8.1V17H11.8C15.3,17 17.4,14.9 17.4,12V12C17.4,9.1 15.4,7 11.9,7M12,20C10.1,20 8.3,19.3 6.9,18.1L6.2,17.5L4.5,17.7L5.2,16.1L4.9,15.3C4.4,14.2 4.2,13.1 4.2,11.9C4.2,7.5 7.8,3.9 12.1,3.9C16.4,3.9 19.9,7.6 19.9,12C19.9,16.4 16.3,20 12,20M12,2C6.5,2 2.1,6.5 2.1,12C2.1,13.5 2.4,14.9 3,16.2L1.4,20.3L5.7,19.7C7.4,21.2 9.7,22.1 12.1,22.1C17.6,22.1 22,17.6 22,12.1C22,6.6 17.5,2 12,2Z",
"name": "disqus-outline"
},
{
"path": "M16.42,18.42C16,16.5 15.5,14.73 15,13.17C15.5,13.1 16,13.06 16.58,13.06H16.6V13.06H16.6C17.53,13.06 18.55,13.18 19.66,13.43C19.28,15.5 18.08,17.27 16.42,18.42M12,19.8C10.26,19.8 8.66,19.23 7.36,18.26C7.64,17.81 8.23,16.94 9.18,16.04C10.14,15.11 11.5,14.15 13.23,13.58C13.82,15.25 14.36,17.15 14.77,19.29C13.91,19.62 13,19.8 12,19.8M4.2,12C4.2,11.96 4.2,11.93 4.2,11.89C4.42,11.9 4.71,11.9 5.05,11.9H5.06C6.62,11.89 9.36,11.76 12.14,10.89C12.29,11.22 12.44,11.56 12.59,11.92C10.73,12.54 9.27,13.53 8.19,14.5C7.16,15.46 6.45,16.39 6.04,17C4.9,15.66 4.2,13.91 4.2,12M8.55,5C9.1,5.65 10.18,7.06 11.34,9.25C9,9.96 6.61,10.12 5.18,10.12C5.14,10.12 5.1,10.12 5.06,10.12H5.05C4.81,10.12 4.6,10.12 4.43,10.11C5,7.87 6.5,6 8.55,5M12,4.2C13.84,4.2 15.53,4.84 16.86,5.91C15.84,7.14 14.5,8 13.03,8.65C12,6.67 11,5.25 10.34,4.38C10.88,4.27 11.43,4.2 12,4.2M18.13,7.18C19.1,8.42 19.71,9.96 19.79,11.63C18.66,11.39 17.6,11.28 16.6,11.28V11.28H16.59C15.79,11.28 15.04,11.35 14.33,11.47C14.16,11.05 14,10.65 13.81,10.26C15.39,9.57 16.9,8.58 18.13,7.18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",
"name": "dribbble"
},
{
"path": "M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15.09,16.5C14.81,15.14 14.47,13.91 14.08,12.82L15.2,12.74H15.22V12.74C15.87,12.74 16.59,12.82 17.36,13C17.09,14.44 16.26,15.69 15.09,16.5M12,17.46C10.79,17.46 9.66,17.06 8.76,16.39C8.95,16.07 9.36,15.46 10,14.83C10.7,14.18 11.64,13.5 12.86,13.11C13.28,14.27 13.65,15.6 13.94,17.1C13.33,17.33 12.68,17.46 12,17.46M6.54,12V11.92L7.14,11.93V11.93C8.24,11.93 10.15,11.83 12.1,11.22L12.41,11.94C11.11,12.38 10.09,13.07 9.34,13.76C8.61,14.42 8.12,15.08 7.83,15.5C7.03,14.56 6.54,13.34 6.54,12M9.59,7.11C9.97,7.56 10.73,8.54 11.54,10.08C9.89,10.57 8.23,10.68 7.22,10.68H7.14V10.68H6.7C7.09,9.11 8.17,7.81 9.59,7.11M12,6.54C13.29,6.54 14.47,7 15.41,7.74C14.69,8.6 13.74,9.22 12.72,9.66C12,8.27 11.31,7.28 10.84,6.67C11.21,6.59 11.6,6.54 12,6.54M16.29,8.63C16.97,9.5 17.4,10.57 17.45,11.74C16.66,11.58 15.92,11.5 15.22,11.5V11.5C14.66,11.5 14.13,11.54 13.63,11.63L13.27,10.78C14.37,10.3 15.43,9.61 16.29,8.63M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5Z",
"name": "dribbble-box"
},
{
"path": "M6.72,20.78C8.23,20.71 10.07,20.78 11.87,20.78C13.72,20.78 15.62,20.66 17.12,20.78C17.72,20.83 18.28,21.19 18.77,20.87C19.16,20.38 18.87,19.71 18.96,19.05C19.12,17.78 20.28,16.27 18.59,15.95C17.87,16.61 18.35,17.23 17.95,18.05C17.45,19.03 15.68,19.37 14,19.5C12.54,19.62 10,19.76 9.5,18.77C9.04,17.94 9.29,16.65 9.29,15.58C9.29,14.38 9.16,13.22 9.5,12.3C11.32,12.43 13.7,11.69 15,12.5C15.87,13 15.37,14.06 16.38,14.4C17.07,14.21 16.7,13.32 16.66,12.5C16.63,11.94 16.63,11.19 16.66,10.57C16.69,9.73 17,8.76 16.1,8.74C15.39,9.3 15.93,10.23 15.18,10.75C14.95,10.92 14.43,11 14.08,11C12.7,11.17 10.54,11.05 9.38,10.84C9.23,9.16 9.24,6.87 9.38,5.19C10,4.57 11.45,4.54 12.42,4.55C14.13,4.55 16.79,4.7 17.3,5.55C17.58,6 17.36,7 17.85,7.1C18.85,7.33 18.36,5.55 18.41,4.73C18.44,4.11 18.71,3.72 18.59,3.27C18.27,2.83 17.79,3.05 17.5,3.09C14.35,3.5 9.6,3.27 6.26,3.27C5.86,3.27 5.16,3.07 4.88,3.54C4.68,4.6 6.12,4.16 6.62,4.73C6.79,4.91 7.03,5.73 7.08,6.28C7.23,7.74 7.08,9.97 7.08,12.12C7.08,14.38 7.26,16.67 7.08,18.05C7,18.53 6.73,19.3 6.62,19.41C6,20.04 4.34,19.35 4.5,20.69C5.09,21.08 5.93,20.82 6.72,20.78Z",
"name": "etsy"
},
{
"path": "M12,17.5C10.15,17.5 8.42,16.56 7.41,15L17.41,12.75L22.08,11.75C22.05,10.32 21.71,8.92 21.08,7.64C18.66,2.61 12.62,0.5 7.58,2.92C2.55,5.34 0.44,11.38 2.86,16.41C5.29,21.44 11.33,23.56 16.36,21.14C18.5,20.09 20.25,18.31 21.22,16.11L16.61,15C15.6,16.57 13.86,17.5 12,17.5M12,6.5C13.76,6.5 15.41,7.34 16.44,8.77L6.57,11.19C6.96,8.5 9.28,6.5 12,6.5Z",
"name": "eventbrite"
},
{
"path": "M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M18,5H15.5A3.5,3.5 0 0,0 12,8.5V11H10V14H12V21H15V14H18V11H15V9A1,1 0 0,1 16,8H18V5Z",
"name": "facebook-box"
},
{
"path": "M21,12A9,9 0 0,1 12,21H4.5L9.74,15.76L11.16,17.17L9.33,19H12A7,7 0 0,0 19,12V7L21,5V12M3,12A9,9 0 0,1 12,3H19.5L14.26,8.24L12.84,6.83L14.67,5H12A7,7 0 0,0 5,12V17L3,19V12Z",
"name": "flattr"
},
{
"path": "M11,12C11,14.5 9,16.5 6.5,16.5C4,16.5 2,14.5 2,12C2,9.5 4,7.5 6.5,7.5C9,7.5 11,9.5 11,12M17.5,7.5C15,7.5 13,9.5 13,12C13,14.5 15,16.5 17.5,16.5C20,16.5 22,14.5 22,12C22,9.5 20,7.5 17.5,7.5Z",
"name": "flickr"
},
{
"path": "M17,5L16.57,7.5C16.5,7.73 16.2,8 15.91,8C15.61,8 12,8 12,8C11.53,8 10.95,8.32 10.95,8.79V9.2C10.95,9.67 11.53,10 12,10C12,10 14.95,10 15.28,10C15.61,10 15.93,10.36 15.86,10.71C15.79,11.07 14.94,13.28 14.9,13.5C14.86,13.67 14.64,14 14.25,14C13.92,14 11.37,14 11.37,14C10.85,14 10.69,14.07 10.34,14.5C10,14.94 7.27,18.1 7.27,18.1C7.24,18.13 7,18.04 7,18V5C7,4.7 7.61,4 8,4C8,4 16.17,4 16.5,4C16.82,4 17.08,4.61 17,5M17,14.45C17.11,13.97 18.78,6.72 19.22,4.55M17.58,2C17.58,2 8.38,2 6.91,2C5.43,2 5,3.11 5,3.8C5,4.5 5,20.76 5,20.76C5,21.54 5.42,21.84 5.66,21.93C5.9,22.03 6.55,22.11 6.94,21.66C6.94,21.66 11.65,16.22 11.74,16.13C11.87,16 11.87,16 12,16C12.26,16 14.2,16 15.26,16C16.63,16 16.85,15 17,14.45C17.11,13.97 18.78,6.72 19.22,4.55C19.56,2.89 19.14,2 17.58,2Z",
"name": "foursquare"
},
{
"path": "M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H14.56C14.24,20.93 14.23,20.32 14.23,20.11L14.24,17.64C14.24,16.8 13.95,16.25 13.63,15.97C15.64,15.75 17.74,15 17.74,11.53C17.74,10.55 17.39,9.74 16.82,9.11C16.91,8.89 17.22,7.97 16.73,6.73C16.73,6.73 15.97,6.5 14.25,7.66C13.53,7.46 12.77,7.36 12,7.35C11.24,7.36 10.46,7.46 9.75,7.66C8.03,6.5 7.27,6.73 7.27,6.73C6.78,7.97 7.09,8.89 7.18,9.11C6.61,9.74 6.26,10.55 6.26,11.53C6.26,15 8.36,15.75 10.36,16C10.1,16.2 9.87,16.6 9.79,17.18C9.27,17.41 7.97,17.81 7.17,16.43C7.17,16.43 6.69,15.57 5.79,15.5C5.79,15.5 4.91,15.5 5.73,16.05C5.73,16.05 6.32,16.33 6.73,17.37C6.73,17.37 7.25,19.12 9.76,18.58L9.77,20.11C9.77,20.32 9.75,20.93 9.43,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z",
"name": "github-box"
},
{
"path": "M20.38,8.53C20.54,8.13 21.06,6.54 20.21,4.39C20.21,4.39 18.9,4 15.91,6C14.66,5.67 13.33,5.62 12,5.62C10.68,5.62 9.34,5.67 8.09,6C5.1,3.97 3.79,4.39 3.79,4.39C2.94,6.54 3.46,8.13 3.63,8.53C2.61,9.62 2,11 2,12.72C2,19.16 6.16,20.61 12,20.61C17.79,20.61 22,19.16 22,12.72C22,11 21.39,9.62 20.38,8.53M12,19.38C7.88,19.38 4.53,19.19 4.53,15.19C4.53,14.24 5,13.34 5.8,12.61C7.14,11.38 9.43,12.03 12,12.03C14.59,12.03 16.85,11.38 18.2,12.61C19,13.34 19.5,14.23 19.5,15.19C19.5,19.18 16.13,19.38 12,19.38M8.86,13.12C8.04,13.12 7.36,14.12 7.36,15.34C7.36,16.57 8.04,17.58 8.86,17.58C9.69,17.58 10.36,16.58 10.36,15.34C10.36,14.11 9.69,13.12 8.86,13.12M15.14,13.12C14.31,13.12 13.64,14.11 13.64,15.34C13.64,16.58 14.31,17.58 15.14,17.58C15.96,17.58 16.64,16.58 16.64,15.34C16.64,14.11 16,13.12 15.14,13.12Z",
"name": "github-face"
},
{
"path": "M8,2A3,3 0 0,0 5,5V16.5H8V5H19A3,3 0 0,0 16,2H8M16,7.5V19H5A3,3 0 0,0 8,22H16A3,3 0 0,0 19,19V7.5H16Z",
"name": "glassdoor"
},
{
"path": "M2,22L8.5,2H15.4L9.2,20C9.2,20 8.6,22 7,22C5.9,22 2,22 2,22M16.4,5L13,15L15,20.7C15,20.7 15.4,22 17,22C18.3,22 22,22 22,22L16.4,5Z",
"name": "google-adwords"
},
{
"path": "M19,3H13V8L17,7L16,11H21V5C21,3.89 20.1,3 19,3M17,17L13,16V21H19A2,2 0 0,0 21,19V13H16M8,13H3V19A2,2 0 0,0 5,21H11V16L7,17M3,5V11H8L7,7L11,8V3H5C3.89,3 3,3.89 3,5Z",
"name": "google-pages"
},
{
"path": "M12,1.5A9,9 0 0,1 21,10.5C21,13.11 19.89,15.47 18.11,17.11L17.05,16.05C18.55,14.68 19.5,12.7 19.5,10.5A7.5,7.5 0 0,0 12,3A7.5,7.5 0 0,0 4.5,10.5C4.5,12.7 5.45,14.68 6.95,16.05L5.89,17.11C4.11,15.47 3,13.11 3,10.5A9,9 0 0,1 12,1.5M12,4.5A6,6 0 0,1 18,10.5C18,12.28 17.22,13.89 16,15L14.92,13.92C15.89,13.1 16.5,11.87 16.5,10.5C16.5,8 14.5,6 12,6C9.5,6 7.5,8 7.5,10.5C7.5,11.87 8.11,13.1 9.08,13.92L8,15C6.78,13.89 6,12.28 6,10.5A6,6 0 0,1 12,4.5M8.11,17.65L11.29,14.46C11.68,14.07 12.32,14.07 12.71,14.46L15.89,17.65C16.28,18.04 16.28,18.67 15.89,19.06L12.71,22.24C12.32,22.63 11.68,22.63 11.29,22.24L8.11,19.06C7.72,18.67 7.72,18.04 8.11,17.65Z",
"name": "google-physical-web"
},
{
"path": "M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M19.5,12H18V10.5H17V12H15.5V13H17V14.5H18V13H19.5V12M9.65,11.36V12.9H12.22C12.09,13.54 11.45,14.83 9.65,14.83C8.11,14.83 6.89,13.54 6.89,12C6.89,10.46 8.11,9.17 9.65,9.17C10.55,9.17 11.13,9.56 11.45,9.88L12.67,8.72C11.9,7.95 10.87,7.5 9.65,7.5C7.14,7.5 5.15,9.5 5.15,12C5.15,14.5 7.14,16.5 9.65,16.5C12.22,16.5 13.96,14.7 13.96,12.13C13.96,11.81 13.96,11.61 13.89,11.36H9.65Z",
"name": "google-plus-box"
},
{
"path": "M14,20.95H20V10.78L8,7.34V3.05H4V20.95H10V15.31H14V20.95Z",
"name": "houzz"
},
{
"path": "M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M13.5,18.71H18V11.09L9,8.5V5.29H6V18.71H10.5V14.5H13.5V18.71Z",
"name": "houzz-box"
},
{
"path": "M10,5A1,1 0 0,0 9,4H8V2H16V4H15A1,1 0 0,0 14,5V19A1,1 0 0,0 15,20H16V22H8V20H9A1,1 0 0,0 10,19V5Z",
"name": "instapaper"
},
{
"path": "M7.85,17.07C7.03,17.17 3.5,17.67 4.06,20.26C4.69,23.3 9.87,22.59 9.83,19C9.81,16.57 9.83,9.2 9.83,9.2C9.83,9.2 9.76,8.53 10.43,8.39L18.19,6.79C18.19,6.79 18.83,6.65 18.83,7.29C18.83,7.89 18.83,14.2 18.83,14.2C18.83,14.2 18.9,14.83 18.12,15C17.34,15.12 13.91,15.4 14.19,18C14.5,21.07 20,20.65 20,17.07V2.61C20,2.61 20.04,1.62 18.9,1.87L9.5,3.78C9.5,3.78 8.66,3.96 8.66,4.77C8.66,5.5 8.66,16.11 8.66,16.11C8.66,16.11 8.66,16.96 7.85,17.07Z",
"name": "itunes"
},
{
"path": "M2,5.69C8.92,1.07 11.1,7 11.28,10.27C11.46,13.53 8.29,17.64 4.31,14.92V20.3L2,18.77V5.69M4.22,7.4V12.78C7.84,14.95 9.08,13.17 9.08,10.09C9.08,5.74 6.57,5.59 4.22,7.4M15.08,4.15C15.08,4.15 14.9,7.64 15.08,11.07C15.44,14.5 19.69,11.84 19.69,11.84V4.92L22,5.2V14.44C22,20.6 15.85,20.3 15.85,20.3L15.08,18C20.46,18 19.78,14.43 19.78,14.43C13.27,16.97 12.77,12.61 12.77,12.61V5.69L15.08,4.15Z",
"name": "language-python-text"
},
{
"path": "M18,17.93C15.92,17.92 14.81,16.9 14.04,15.09L13.82,14.6L11.92,10.23C11.29,8.69 9.72,7.64 7.96,7.64C5.57,7.64 3.63,9.59 3.63,12C3.63,14.41 5.57,16.36 7.96,16.36C9.62,16.36 11.08,15.41 11.8,14L12.57,15.81C11.5,17.15 9.82,18 7.96,18C4.67,18 2,15.32 2,12C2,8.69 4.67,6 7.96,6C10.44,6 12.45,7.34 13.47,9.7C13.54,9.89 14.54,12.24 15.42,14.24C15.96,15.5 16.42,16.31 17.91,16.36C19.38,16.41 20.39,15.5 20.39,14.37C20.39,13.26 19.62,13 18.32,12.56C16,11.79 14.79,11 14.79,9.15C14.79,7.33 16,6.12 18,6.12C19.31,6.12 20.24,6.7 20.89,7.86L19.62,8.5C19.14,7.84 18.61,7.57 17.94,7.57C17,7.57 16.33,8.23 16.33,9.1C16.33,10.34 17.43,10.53 18.97,11.03C21.04,11.71 22,12.5 22,14.42C22,16.45 20.27,17.93 18,17.93Z",
"name": "lastfm"
},
{
"path": "M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M18.5,18.5V13.2A3.26,3.26 0 0,0 15.24,9.94C14.39,9.94 13.4,10.46 12.92,11.24V10.13H10.13V18.5H12.92V13.57C12.92,12.8 13.54,12.17 14.31,12.17A1.4,1.4 0 0,1 15.71,13.57V18.5H18.5M6.88,8.56A1.68,1.68 0 0,0 8.56,6.88C8.56,5.95 7.81,5.19 6.88,5.19A1.69,1.69 0 0,0 5.19,6.88C5.19,7.81 5.95,8.56 6.88,8.56M8.27,18.5V10.13H5.5V18.5H8.27Z",
"name": "linkedin-box"
},
{
"path": "M9.56,12.5C9.56,12.6 9.5,12.72 9.4,12.79C9.2,12.97 8.89,12.94 8.71,12.74C8.63,12.65 8.59,12.53 8.59,12.41V8.5H5.66V13.39A2.44,2.44 0 0,0 8.1,15.83C8.68,15.83 9.24,15.62 9.68,15.24C9.64,15.6 9.43,15.93 9.11,16.11C8.75,16.31 8.35,16.42 7.94,16.41C7.46,16.41 7,16.3 6.56,16.09L6.39,16V18.6C7.04,18.86 7.74,19 8.44,19C9.47,19 10.46,18.66 11.25,18C12.08,17.25 12.54,16.18 12.5,15.06V8.5H9.56V12.5M4.93,13.39V5.59H2V12.9C1.84,14.35 2.88,15.65 4.33,15.81C4.41,15.82 4.5,15.83 4.56,15.83V15.83C4.93,15.83 5.29,15.74 5.63,15.59L5.75,15.5L5.65,15.41C5.17,14.85 4.91,14.13 4.93,13.39M22,11.39V8.5H21C20.59,6.38 18.53,5 16.41,5.41C16.17,5.45 15.94,5.5 15.71,5.61C14.28,6.24 13.33,7.62 13.26,9.18V15.83H13.39C14.95,15.76 16.19,14.47 16.19,12.9H17.41V10H16.15V9.17C16.15,8.86 16.32,8.57 16.59,8.41C17.06,8.13 17.68,8.28 17.96,8.76C18.05,8.91 18.09,9.07 18.1,9.24V11.93C18.07,14.05 19.75,15.79 21.87,15.83H22V12.9H22A1,1 0 0,1 21,11.9V11.41L22,11.39Z",
"name": "lyft"
},
{
"path": "M15.45,11.91C15.34,9.7 13.7,8.37 11.72,8.37H11.64C9.35,8.37 8.09,10.17 8.09,12.21C8.09,14.5 9.62,15.95 11.63,15.95C13.88,15.95 15.35,14.3 15.46,12.36M11.65,6.39C13.18,6.39 14.62,7.07 15.67,8.13V8.13C15.67,7.62 16,7.24 16.5,7.24H16.61C17.35,7.24 17.5,7.94 17.5,8.16V16.06C17.46,16.58 18.04,16.84 18.37,16.5C19.64,15.21 21.15,9.81 17.58,6.69C14.25,3.77 9.78,4.25 7.4,5.89C4.88,7.63 3.26,11.5 4.83,15.11C6.54,19.06 11.44,20.24 14.35,19.06C15.83,18.47 16.5,20.46 15,21.11C12.66,22.1 6.23,22 3.22,16.79C1.19,13.27 1.29,7.08 6.68,3.87C10.81,1.42 16.24,2.1 19.5,5.5C22.95,9.1 22.75,15.8 19.4,18.41C17.89,19.59 15.64,18.44 15.66,16.71L15.64,16.15C14.59,17.2 13.18,17.81 11.65,17.81C8.63,17.81 6,15.15 6,12.13C6,9.08 8.63,6.39 11.65,6.39Z",
"name": "mail-ru"
},
{
"path": "M20.93,14C20.66,15.4 18.5,16.95 15.97,17.25C14.66,17.4 13.38,17.55 12,17.5C9.76,17.38 8,16.95 8,16.95L8.03,17.57C8.32,19.78 10.22,19.92 12.03,20C13.85,20.04 15.47,19.53 15.47,19.53L15.55,21.17C15.55,21.17 14.27,21.86 12,22C10.75,22.05 9.2,21.95 7.39,21.47C3.47,20.43 2.79,16.25 2.69,12L2.68,8.57C2.68,4.23 5.5,2.96 5.5,2.96C6.95,2.3 9.41,2 11.97,2H12.03C14.59,2 17.05,2.3 18.5,2.96C18.5,2.96 21.33,4.23 21.33,8.57C21.33,8.57 21.36,11.77 20.93,14M8.33,10.32C8.33,9.54 7.7,8.91 6.93,8.91C6.15,8.91 5.5,9.54 5.5,10.32C5.5,11.09 6.15,11.72 6.93,11.72A1.4,1.4 0 0,0 8.33,10.32M13.41,10.32A1.41,1.41 0 0,0 12,8.91A1.41,1.41 0 0,0 10.59,10.32C10.59,11.09 11.22,11.72 12,11.72C12.78,11.72 13.41,11.09 13.41,10.32M18.5,10.32C18.5,9.54 17.85,8.91 17.07,8.91C16.3,8.91 15.67,9.54 15.67,10.32A1.4,1.4 0 0,0 17.07,11.72C17.85,11.72 18.5,11.09 18.5,10.32Z",
"name": "mastodon-variant"
},
{
"path": "M4.37,7.3C4.4,7.05 4.3,6.81 4.12,6.65L2.25,4.4V4.06H8.05L12.53,13.89L16.47,4.06H22V4.4L20.4,5.93C20.27,6.03 20.2,6.21 20.23,6.38V17.62C20.2,17.79 20.27,17.97 20.4,18.07L21.96,19.6V19.94H14.12V19.6L15.73,18.03C15.89,17.88 15.89,17.83 15.89,17.59V8.5L11.4,19.9H10.8L5.57,8.5V16.14C5.5,16.46 5.63,16.78 5.86,17L7.96,19.57V19.9H2V19.57L4.1,17C4.33,16.78 4.43,16.46 4.37,16.14V7.3Z",
"name": "medium"
},
{
"path": "M19.61,14.86C19.61,16.68 18.3,18.25 16.5,18.55C16.29,18.59 16.07,18.62 15.84,18.61C15.76,18.61 15.73,18.64 15.71,18.71C15.35,19.74 14.64,20.35 13.57,20.5C12.86,20.6 12.22,20.41 11.65,19.97C11.57,19.9 11.5,19.9 11.44,19.96C10.78,20.43 10.04,20.64 9.23,20.59C7.66,20.5 6.33,19.29 6.08,17.74C6.06,17.63 6.04,17.5 6.04,17.41C6.04,17.32 6,17.29 5.92,17.27C5.44,17.18 5,17 4.63,16.68C3.92,16.13 3.5,15.41 3.4,14.5C3.29,13.5 3.61,12.62 4.32,11.89C4.38,11.83 4.38,11.79 4.34,11.72C4.07,11.24 3.94,10.72 3.96,10.17C4,8.79 4.97,7.65 6.31,7.37C6.46,7.33 6.54,7.27 6.61,7.13C7.27,5.71 8.37,4.85 9.91,4.56C11,4.36 12,4.58 12.94,5.13C13,5.18 13.08,5.18 13.17,5.16C14.67,4.72 16,5.04 17.12,6.11C17.78,6.74 18.15,7.54 18.26,8.46C18.28,8.66 18.29,8.86 18.28,9.06C18.27,9.14 18.29,9.17 18.37,9.19C19.04,9.44 19.5,9.91 19.71,10.6C19.96,11.45 19.75,12.21 19.11,12.83C19.05,12.89 19.07,12.92 19.1,12.97C19.44,13.56 19.61,14.18 19.61,14.86M12.93,14.57C12.93,15.34 13.43,16 14.14,16.26C14.5,16.37 14.85,16.43 15.22,16.45C15.5,16.46 15.75,16.44 16,16.32C16.19,16.22 16.28,16.06 16.27,15.85C16.26,15.64 16.16,15.5 15.96,15.4C15.89,15.37 15.82,15.34 15.74,15.33C15.5,15.29 15.3,15.26 15.07,15.21C14.71,15.14 14.55,14.95 14.55,14.57C14.54,14.24 14.63,13.93 14.73,13.63C14.92,13.07 15.17,12.53 15.41,12C15.64,11.47 15.88,10.95 16.04,10.4C16.13,10.1 16.18,9.8 16.09,9.5C15.97,9 15.69,8.7 15.2,8.61C14.75,8.5 14.3,8.5 13.9,8.78C13.76,8.87 13.63,8.85 13.5,8.74C13.43,8.67 13.34,8.58 13.26,8.5C12.84,8.12 12.3,8.1 11.85,8.45C11.67,8.59 11.5,8.76 11.33,8.89C11.16,9 11,9.03 10.79,8.92C10.6,8.83 10.42,8.74 10.23,8.65C10.03,8.57 9.85,8.46 9.63,8.44C8.95,8.38 8.24,8.79 7.94,9.41C7.8,9.68 7.69,9.96 7.59,10.25C7.11,11.57 6.72,12.91 6.32,14.26C6.14,14.86 6.35,15.45 6.86,15.77C7.26,16 7.69,16.09 8.14,15.95C8.5,15.84 8.71,15.55 8.85,15.22C9.31,14.13 9.73,13 10.17,11.91C10.29,11.61 10.41,11.3 10.54,11C10.67,10.7 11.04,10.6 11.26,10.8C11.4,10.92 11.44,11.09 11.42,11.26C11.41,11.45 11.34,11.62 11.27,11.79C11,12.5 10.69,13.24 10.4,13.97C10.34,14.11 10.28,14.26 10.25,14.42C10.21,14.69 10.31,14.93 10.54,15C10.76,15.12 11,15.14 11.23,15.05C11.5,14.95 11.67,14.74 11.79,14.5C12.22,13.65 12.65,12.8 13.08,11.95C13.28,11.56 13.5,11.17 13.68,10.78C13.76,10.64 13.85,10.5 14,10.41C14.12,10.33 14.25,10.33 14.38,10.4C14.5,10.47 14.5,10.6 14.5,10.73C14.5,10.8 14.5,10.87 14.47,10.93C14.41,11.07 14.36,11.2 14.3,11.33C13.94,12.09 13.57,12.84 13.22,13.59C13.07,13.91 12.91,14.23 12.93,14.57M17.96,20.12C17.96,19.62 17.54,19.2 17.04,19.2C16.5,19.2 16.1,19.61 16.1,20.12A0.93,0.93 0 0,0 17.03,21.05A0.93,0.93 0 0,0 17.96,20.12M2.38,12.46C2.86,12.46 3.27,12.05 3.27,11.57C3.27,11.09 2.87,10.69 2.39,10.69C1.89,10.69 1.5,11.08 1.5,11.57C1.5,12.06 1.89,12.46 2.38,12.46M13.26,2.55C12.77,2.55 12.37,2.94 12.37,3.42C12.37,3.91 12.77,4.3 13.25,4.3C13.74,4.3 14.13,3.92 14.13,3.43C14.13,2.95 13.74,2.55 13.26,2.55M20.45,8.03C20.45,7.63 20.11,7.29 19.71,7.29C19.3,7.28 18.95,7.63 18.95,8.04C18.95,8.45 19.28,8.78 19.7,8.78C20.12,8.78 20.46,8.45 20.45,8.03M5.04,5.89C5.04,6.27 5.34,6.56 5.71,6.56C6.09,6.56 6.39,6.26 6.38,5.88C6.38,5.5 6.09,5.22 5.72,5.22C5.33,5.22 5.04,5.5 5.04,5.89M12.06,21.44C12.06,21.12 11.81,20.86 11.5,20.86C11.16,20.86 10.91,21.11 10.91,21.44C10.91,21.75 11.16,22 11.5,22C11.8,22 12.06,21.75 12.06,21.44M21,12.5C20.71,12.5 20.45,12.78 20.45,13.08A0.55,0.55 0 0,0 21,13.63C21.33,13.63 21.57,13.4 21.57,13.08C21.57,12.77 21.33,12.5 21,12.5M7.62,2C7.35,2 7.14,2.2 7.14,2.47C7.14,2.73 7.35,2.94 7.62,2.94A0.47,0.47 0 0,0 8.09,2.47C8.09,2.2 7.89,2 7.62,2M22.08,10C21.86,10 21.67,10.17 21.66,10.4C21.66,10.63 21.85,10.82 22.08,10.82C22.32,10.82 22.5,10.64 22.5,10.41C22.5,10.17 22.32,10 22.08,10M5.5,18.26C5.5,18.04 5.29,17.85 5.06,17.84C4.84,17.84 4.65,18.03 4.65,18.27C4.65,18.5 4.84,18.68 5.07,18.68C5.3,18.68 5.5,18.5 5.5,18.26Z",
"name": "meetup"
},
{
"path": "M21.11,18.5C20.97,18.5 20.83,18.44 20.71,18.36C20.37,18.13 20.28,17.68 20.5,17.34C21.18,16.34 21.54,15.16 21.54,13.93C21.54,12.71 21.18,11.53 20.5,10.5C20.28,10.18 20.37,9.73 20.71,9.5C21.04,9.28 21.5,9.37 21.72,9.7C22.56,10.95 23,12.41 23,13.93C23,15.45 22.56,16.91 21.72,18.16C21.58,18.37 21.35,18.5 21.11,18.5M19,17.29C18.88,17.29 18.74,17.25 18.61,17.17C18.28,16.94 18.19,16.5 18.42,16.15C18.86,15.5 19.1,14.73 19.1,13.93C19.1,13.14 18.86,12.37 18.42,11.71C18.19,11.37 18.28,10.92 18.61,10.69C18.95,10.47 19.4,10.55 19.63,10.89C20.24,11.79 20.56,12.84 20.56,13.93C20.56,15 20.24,16.07 19.63,16.97C19.5,17.18 19.25,17.29 19,17.29M14.9,15.73C15.89,15.73 16.7,14.92 16.7,13.93C16.7,13.17 16.22,12.5 15.55,12.25C15.5,12.55 15.43,12.85 15.34,13.14C15.23,13.44 14.95,13.64 14.64,13.64C14.57,13.64 14.5,13.62 14.41,13.6C14.03,13.47 13.82,13.06 13.95,12.67C14.09,12.24 14.17,11.78 14.17,11.32C14.17,8.93 12.22,7 9.82,7C8.1,7 6.56,8 5.87,9.5C6.54,9.7 7.16,10.04 7.66,10.54C7.95,10.83 7.95,11.29 7.66,11.58C7.38,11.86 6.91,11.86 6.63,11.58C6.17,11.12 5.56,10.86 4.9,10.86C3.56,10.86 2.46,11.96 2.46,13.3C2.46,14.64 3.56,15.73 4.9,15.73H14.9M15.6,10.75C17.06,11.07 18.17,12.37 18.17,13.93C18.17,15.73 16.7,17.19 14.9,17.19H4.9C2.75,17.19 1,15.45 1,13.3C1,11.34 2.45,9.73 4.33,9.45C5.12,7.12 7.33,5.5 9.82,5.5C12.83,5.5 15.31,7.82 15.6,10.75Z",
"name": "mixcloud"
},
{
"path": "M5.68,3.96L11.41,11.65C11.55,11.84 11.55,12.1 11.41,12.29L5.65,20L5.5,20.18C4.76,21 3.47,21.07 2.64,20.31C1.85,19.59 1.79,18.37 2.43,17.5L6.56,11.97L2.46,6.47C1.83,5.62 1.88,4.39 2.67,3.67L2.82,3.54C3.73,2.87 5,3.05 5.68,3.96M18.32,3.96C19,3.05 20.27,2.87 21.18,3.54L21.33,3.67C22.12,4.39 22.17,5.61 21.54,6.47L17.44,11.97L21.57,17.5C22.21,18.36 22.15,19.59 21.36,20.31C20.53,21.07 19.24,21 18.5,20.18L18.35,20L12.59,12.29C12.45,12.1 12.45,11.84 12.59,11.65L18.32,3.96Z",
"name": "mixer"
},
{
"path": "M3.25,4.03L19.95,20.73L18.7,22L14.86,18.13C14.77,18.12 14.68,18.09 14.59,18.05C14.26,17.89 14.14,17.62 14.11,17.38L12.18,15.45C12.14,15.53 12.09,15.6 12.05,15.66C11.62,16.26 11.19,16.26 10.86,16.04C10.54,15.83 5.5,12 5.23,11.87C4.95,11.76 4.85,12.03 5.12,13.5C5.39,15 4.95,15.39 4.57,15.45C4.2,15.5 3.06,15.18 3,12.14C2.95,9.11 3.76,8.62 4.14,8.62C4.6,8.62 7.08,10.69 8.84,12.12L2,5.28L3.25,4.03M18.38,16.56C18.75,15.4 19.12,13.8 19.1,12.03V12C19.14,8.5 17.66,5.58 17.66,5.58C17.66,5.58 17.42,4.72 18.12,4.39C18.83,4.06 19.3,4.61 19.3,4.61C21.12,8.22 21,11.64 21,12C21,12.27 21.09,14.96 19.88,18.05L18.38,16.56M15.14,13.31C15.19,12.92 15.22,12.5 15.24,12.03V12C15.14,8.5 14.13,7.21 14.13,7.21C14.13,7.21 13.89,6.34 14.59,6C15.3,5.69 15.77,6.23 15.77,6.23C17.26,8.94 17.16,11.64 17.14,12C17.15,12.2 17.2,13.38 16.82,15L15.14,13.31M10.2,8.38C10.23,7.77 10.59,7.64 10.59,7.64C10.59,7.64 11.19,7.37 11.57,7.8C11.91,8.19 12.72,9.57 12.89,11.07L10.2,8.38Z",
"name": "nfc-off"
},
{ "path": "M20,4H4V20H12V8H16V20H20V4", "name": "npm-variant" },
{
"path": "M3,3V21H21V3H3M6,6H18V18H15V9H12V18H6V6Z",
"name": "npm-variant-outline"
},
{
"path": "M8.32,21.97C8.21,21.92 8.08,21.76 8.06,21.65C8.03,21.5 8,21.76 8.66,17.56C9.26,13.76 9.25,13.82 9.33,13.71C9.46,13.54 9.44,13.54 10.94,13.53C12.26,13.5 12.54,13.5 13.13,13.41C16.38,12.96 18.39,11.05 19.09,7.75C19.13,7.53 19.17,7.34 19.18,7.34C19.18,7.33 19.25,7.38 19.33,7.44C20.36,8.22 20.71,9.66 20.32,11.58C19.86,13.87 18.64,15.39 16.74,16.04C15.93,16.32 15.25,16.43 14.05,16.46C13.25,16.5 13.23,16.5 13,16.65C12.83,16.82 12.84,16.79 12.45,19.2C12.18,20.9 12.08,21.45 12.04,21.55C11.97,21.71 11.83,21.85 11.67,21.93L11.56,22H10C8.71,22 8.38,22 8.32,21.97V21.97M3.82,19.74C3.63,19.64 3.5,19.47 3.5,19.27C3.5,19 6.11,2.68 6.18,2.5C6.27,2.32 6.5,2.13 6.68,2.06L6.83,2H10.36C14.27,2 14.12,2 15,2.2C17.62,2.75 18.82,4.5 18.37,7.13C17.87,10.06 16.39,11.8 13.87,12.43C13,12.64 12.39,12.7 10.73,12.7C9.42,12.7 9.32,12.71 9.06,12.85C8.8,13 8.59,13.27 8.5,13.6C8.46,13.67 8.23,15.07 7.97,16.7C7.71,18.33 7.5,19.69 7.5,19.72L7.47,19.78H5.69C4.11,19.78 3.89,19.78 3.82,19.74V19.74Z",
"name": "paypal"
},
{
"path": "M12,7A2,2 0 0,1 10,9A2,2 0 0,1 8,7C7.37,7.84 7,8.87 7,10A5,5 0 0,0 12,15A5,5 0 0,0 17,10A5,5 0 0,0 12,5C11.57,5 11.16,5.05 10.77,5.15C11.5,5.45 12,6.17 12,7M12,2A8,8 0 0,1 20,10C20,11.05 19.8,12.04 19.43,12.96C17.89,17.38 13.63,22 12,22C10.37,22 6.11,17.38 4.57,12.96C4.2,12.04 4,11.05 4,10A8,8 0 0,1 12,2Z",
"name": "periscope"
},
{
"path": "M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H9.29C9.69,20.33 10.19,19.38 10.39,18.64L11.05,16.34C11.36,16.95 12.28,17.45 13.22,17.45C16.17,17.45 18.22,14.78 18.22,11.45C18.22,8.28 15.64,5.89 12.3,5.89C8.14,5.89 5.97,8.67 5.97,11.72C5.97,13.14 6.69,14.89 7.91,15.45C8.08,15.56 8.19,15.5 8.19,15.34L8.47,14.28C8.5,14.14 8.5,14.06 8.41,14C7.97,13.45 7.69,12.61 7.69,11.78C7.69,9.64 9.3,7.61 12.03,7.61C14.42,7.61 16.08,9.19 16.08,11.5C16.08,14.11 14.75,15.95 13.03,15.95C12.05,15.95 11.39,15.11 11.55,14.17C11.83,13.03 12.39,11.83 12.39,11C12.39,10.22 12,9.61 11.16,9.61C10.22,9.61 9.39,10.61 9.39,11.95C9.39,12.83 9.66,13.39 9.66,13.39L8.55,18.17C8.39,19 8.47,20.25 8.55,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z",
"name": "pinterest-box"
},
{
"path": "M21.9,4.26C21.64,3.55 20.96,3.07 20.2,3.07H20.19L18.46,3.07H3.81C3.07,3.07 2.39,3.54 2.12,4.24C2.04,4.45 2,4.66 2,4.88V10.92L2.07,12.12C2.36,14.85 3.78,17.23 5.97,18.9C6,18.93 6.05,18.96 6.09,19H6.11C7.29,19.86 8.6,20.44 10,20.73C10.68,20.86 11.35,20.93 12,20.93C12.63,20.93 13.25,20.87 13.85,20.76C13.93,20.75 14,20.73 14.07,20.72C14.09,20.71 14.11,20.7 14.14,20.69C15.5,20.4 16.76,19.83 17.89,19H17.91C17.95,18.96 18,18.93 18.03,18.9C20.22,17.23 21.64,14.85 21.93,12.12L22,10.92V4.88C22,4.68 21.97,4.47 21.9,4.26M17.67,10.55L12.96,15.06C12.7,15.32 12.35,15.44 12,15.44C11.67,15.44 11.33,15.32 11.06,15.06L6.36,10.55C5.81,10.03 5.79,9.16 6.32,8.61C6.84,8.06 7.71,8.05 8.26,8.57L12,12.17L15.77,8.57C16.31,8.05 17.18,8.07 17.71,8.61C18.23,9.16 18.21,10.03 17.67,10.55Z",
"name": "pocket"
},
{
"path": "M12,3A9,9 0 0,1 21,12C21,13.76 20.5,15.4 19.62,16.79L21,18.17V20A1,1 0 0,1 20,21H18.18L16.79,19.62C15.41,20.5 13.76,21 12,21A9,9 0 0,1 3,12A9,9 0 0,1 12,3M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17C12.65,17 13.26,16.88 13.83,16.65L10.95,13.77C10.17,13 10.17,11.72 10.95,10.94C11.73,10.16 13,10.16 13.78,10.94L16.66,13.82C16.88,13.26 17,12.64 17,12A5,5 0 0,0 12,7Z",
"name": "quicktime"
},
{
"path": "M18.61,5.89C18.6,5.79 18.5,5.73 18.44,5.73C18.37,5.72 16.83,5.61 16.83,5.61C16.83,5.61 15.76,4.55 15.65,4.43C15.53,4.31 15.3,4.35 15.21,4.37C15.2,4.37 15,4.44 14.61,4.55C14.25,3.5 13.62,2.58 12.43,2.58C12.11,2.18 11.72,2 11.38,2C8.8,2 7.57,5.22 7.18,6.86C6.18,7.17 5.47,7.39 5.37,7.42C4.82,7.6 4.8,7.62 4.73,8.14C4.67,8.54 3.21,19.86 3.21,19.86L14.61,22L20.79,20.66C20.79,20.66 18.62,6 18.61,5.89M14,4.76C13.69,4.85 13.37,4.95 13,5.06C13,5 13,4.93 13,4.85C13,4.21 12.93,3.7 12.79,3.29C13.35,3.36 13.73,4 14,4.76M12.08,3.42C12.24,3.82 12.34,4.39 12.34,5.16C12.34,5.2 12.34,5.24 12.34,5.27C11.71,5.46 11.03,5.68 10.35,5.89C10.73,4.4 11.45,3.69 12.08,3.42M11.31,2.69C11.42,2.69 11.53,2.73 11.64,2.8C10.81,3.19 9.93,4.17 9.55,6.12C9,6.3 8.47,6.46 8,6.62C8.42,5.12 9.46,2.69 11.31,2.69M12.5,9.15L11.76,11.42C11.76,11.42 11.09,11.06 10.27,11.06C9.07,11.06 9,11.81 9,12C9,13.04 11.71,13.43 11.71,15.86C11.71,17.77 10.5,19 8.87,19C6.91,19 5.91,17.78 5.91,17.78L6.43,16.05C6.43,16.05 7.46,16.93 8.33,16.93C8.9,16.93 9.13,16.5 9.13,16.16C9.13,14.81 6.92,14.75 6.92,12.53C6.92,10.66 8.26,8.85 10.97,8.85C12,8.85 12.5,9.15 12.5,9.15M15.43,5.29L16.75,6.6L17.71,6.68C18.05,9 19.19,16.73 19.66,19.88L14.66,20.97L15.43,5.29Z",
"name": "shopify"
},
{
"path": "M7.47,17.19C7.37,17.95 7.08,18.21 6.19,18.21C5.27,18.21 4.87,17.79 4.81,16.87L4.61,13.65C4.61,12.91 4.87,12.55 5.86,12.55C7.21,12.55 7.04,13.54 7.64,14.5C8.33,15.62 10,16.35 12.31,16.35C15.17,16.35 17,15.14 17,13.57C17,12.23 15.89,11.39 13.85,11.16L11.5,10.89C7.21,10.42 5.1,9.19 5.1,6.62C5.1,4.07 8.06,2 12.21,2C13.5,2 14.81,2.29 16.29,2.76C16.29,2.26 16.58,2.1 17.3,2.1C18.46,2.1 18.55,2.39 18.62,3.08L18.85,5.88C18.85,6.5 18.39,6.83 17.63,6.83C16.35,6.83 16.55,5.88 15.86,5.07C15.17,4.26 13.79,3.73 12.08,3.73C9.44,3.73 7.7,4.89 7.7,6.5C7.7,7.8 8.92,8.56 11.38,8.82L13.95,9.08C17.7,9.5 19.61,10.92 19.61,13.33C19.61,16.17 16.71,18.08 12.21,18.08C10.56,18.08 9.08,17.77 7.47,17.19M1,16H2V21H23V22H1V16Z",
"name": "slackware"
},
{
"path": "M6,3H18A3,3 0 0,1 21,6V18A3,3 0 0,1 18,21H6A3,3 0 0,1 3,18V6A3,3 0 0,1 6,3M7,6A1,1 0 0,0 6,7V17A1,1 0 0,0 7,18H17A1,1 0 0,0 18,17V7A1,1 0 0,0 17,6H7M9.5,9H14.5A0.5,0.5 0 0,1 15,9.5V14.5A0.5,0.5 0 0,1 14.5,15H9.5A0.5,0.5 0 0,1 9,14.5V9.5A0.5,0.5 0 0,1 9.5,9Z",
"name": "square-inc"
},
{
"path": "M5.5,0H18.5A5.5,5.5 0 0,1 24,5.5V18.5A5.5,5.5 0 0,1 18.5,24H5.5A5.5,5.5 0 0,1 0,18.5V5.5A5.5,5.5 0 0,1 5.5,0M15.39,15.18C15.39,16.76 14.5,17.81 12.85,17.95V12.61C14.55,13.13 15.39,13.66 15.39,15.18M11.65,6V10.88C10.34,10.5 9.03,9.93 9.03,8.43C9.03,6.94 10.18,6.12 11.65,6M15.5,7.6L16.5,6.8C15.62,5.66 14.4,4.92 12.85,4.77V3.8H11.65V3.8L11.65,4.75C9.5,4.89 7.68,6.17 7.68,8.5C7.68,11 9.74,11.78 11.65,12.29V17.96C10.54,17.84 9.29,17.31 8.43,16.03L7.3,16.78C8.2,18.12 9.76,19 11.65,19.14V20.2H12.07L12.85,20.2V19.16C15.35,19 16.7,17.34 16.7,15.14C16.7,12.58 14.81,11.76 12.85,11.19V6.05C14,6.22 14.85,6.76 15.5,7.6Z",
"name": "square-inc-cash"
},
{
"path": "M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V15L6.19,16.31C6.45,17.6 7.6,18.58 8.97,18.58C10.53,18.58 11.8,17.31 11.8,15.75V15.62L15.2,13.19H15.28C17.36,13.19 19.05,11.5 19.05,9.42C19.05,7.34 17.36,5.65 15.28,5.65C13.2,5.65 11.5,7.34 11.5,9.42V9.47L9.13,12.93L8.97,12.92C8.38,12.92 7.83,13.1 7.38,13.41L3,11.6V5A2,2 0 0,1 5,3H19M8.28,17.17C9.08,17.5 10,17.13 10.33,16.33C10.66,15.53 10.28,14.62 9.5,14.29L8.22,13.76C8.71,13.58 9.26,13.57 9.78,13.79C10.31,14 10.72,14.41 10.93,14.94C11.15,15.46 11.15,16.04 10.93,16.56C10.5,17.64 9.23,18.16 8.15,17.71C7.65,17.5 7.27,17.12 7.06,16.67L8.28,17.17M17.8,9.42C17.8,10.81 16.67,11.94 15.28,11.94C13.9,11.94 12.77,10.81 12.77,9.42A2.51,2.51 0 0,1 15.28,6.91C16.67,6.91 17.8,8.04 17.8,9.42M13.4,9.42C13.4,10.46 14.24,11.31 15.29,11.31C16.33,11.31 17.17,10.46 17.17,9.42C17.17,8.38 16.33,7.53 15.29,7.53C14.24,7.53 13.4,8.38 13.4,9.42Z",
"name": "steam-box"
},
{
"path": "M14.92,17.16L16.75,13.53H19.45L14.94,22.5L10.37,13.53H13.07L14.92,17.16M10.63,8.66L8.18,13.55H4.55L10.61,1.5L16.74,13.55H13.11L10.63,8.66Z",
"name": "strava"
},
{
"path": "M12,14C11,14 9,15 9,16C9,18 12,18 12,18V17A1,1 0 0,1 11,16A1,1 0 0,1 12,15V14M12,19C12,19 8,18.5 8,16.5C8,13.5 11,12.75 12,12.75V11.5C11,11.5 7,13 7,16C7,20 12,20 12,20V19M10.07,7.03L11.26,7.56C11.69,5.12 12.84,3.5 12.84,3.5C12.41,4.53 12.13,5.38 11.95,6.05C13.16,3.55 15.61,2 15.61,2C14.43,3.18 13.56,4.46 12.97,5.53C14.55,3.85 16.74,2.75 16.74,2.75C14.05,4.47 12.84,7.2 12.54,7.96L13.09,8.04C13.09,8.56 13.09,9.04 13.34,9.42C14.1,11.31 18,11.47 18,16C18,20.53 13.97,22 11.83,22C9.69,22 5,21.03 5,16C5,10.97 9.95,10.93 10.83,8.92C10.95,8.54 10.07,7.03 10.07,7.03Z",
"name": "tor"
},
{
"path": "M17,11H13V15.5C13,16.44 13.28,17 14.5,17H17V21C17,21 15.54,21.05 14.17,21.05C10.8,21.05 9.5,19 9.5,16.75V11H7V7C10.07,6.74 10.27,4.5 10.5,3H13V7H17",
"name": "tumblr"
},
{
"path": "M16,11H13V14.9C13,15.63 13.14,16 14.1,16H16V19C16,19 14.97,19.1 13.9,19.1C11.25,19.1 10,17.5 10,15.7V11H8V8.2C10.41,8 10.62,6.16 10.8,5H13V8H16M20,2H4C2.89,2 2,2.89 2,4V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V4C22,2.89 21.1,2 20,2Z",
"name": "tumblr-box"
},
{
"path": "M3.75,17L8,12.75V16H18V11.5L20,9.5V16A2,2 0 0,1 18,18H8V21.25L3.75,17M20.25,7L16,11.25V8H6V12.5L4,14.5V8A2,2 0 0,1 6,6H16V2.75L20.25,7Z",
"name": "tumblr-reblog"
},
{
"path": "M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M17.71,9.33C18.19,8.93 18.75,8.45 19,7.92C18.59,8.13 18.1,8.26 17.56,8.33C18.06,7.97 18.47,7.5 18.68,6.86C18.16,7.14 17.63,7.38 16.97,7.5C15.42,5.63 11.71,7.15 12.37,9.95C9.76,9.79 8.17,8.61 6.85,7.16C6.1,8.38 6.75,10.23 7.64,10.74C7.18,10.71 6.83,10.57 6.5,10.41C6.54,11.95 7.39,12.69 8.58,13.09C8.22,13.16 7.82,13.18 7.44,13.12C7.81,14.19 8.58,14.86 9.9,15C9,15.76 7.34,16.29 6,16.08C7.15,16.81 8.46,17.39 10.28,17.31C14.69,17.11 17.64,13.95 17.71,9.33Z",
"name": "twitter-box"
},
{
"path": "M17.71,9.33C18.19,8.93 18.75,8.45 19,7.92C18.59,8.13 18.1,8.26 17.56,8.33C18.06,7.97 18.47,7.5 18.68,6.86C18.16,7.14 17.63,7.38 16.97,7.5C15.42,5.63 11.71,7.15 12.37,9.95C9.76,9.79 8.17,8.61 6.85,7.16C6.1,8.38 6.75,10.23 7.64,10.74C7.18,10.71 6.83,10.57 6.5,10.41C6.54,11.95 7.39,12.69 8.58,13.09C8.22,13.16 7.82,13.18 7.44,13.12C7.81,14.19 8.58,14.86 9.9,15C9,15.76 7.34,16.29 6,16.08C7.15,16.81 8.46,17.39 10.28,17.31C14.69,17.11 17.64,13.95 17.71,9.33M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z",
"name": "twitter-circle"
},
{
"path": "M6.38,13.24V13.24C6.38,11.84 6.38,10.44 6.38,9.04H7.4V15.84H6.39C6.39,15.63 6.39,15.42 6.39,15.21C5.93,15.68 5.29,15.96 4.58,15.96C3.12,15.96 2,14.9 2,13.3V9.04H3V13.24C3,14.33 3.74,15.04 4.7,15.04C5.64,15.04 6.38,14.31 6.38,13.24M9.14,9.04V11.5C9.37,11.29 9.65,11.1 9.95,10.97C10.25,10.85 10.58,10.78 10.91,10.78C12.37,10.78 13.5,11.94 13.5,13.37C13.5,14.8 12.37,15.96 10.91,15.96C10.58,15.96 10.25,15.89 9.95,15.77C9.64,15.64 9.37,15.45 9.13,15.22C9.13,15.43 9.13,15.63 9.13,15.84C8.81,15.84 8.5,15.84 8.16,15.84V9.04H9.14M12.55,13.37V13.37C12.55,12.41 11.77,11.65 10.84,11.65C9.89,11.65 9.13,12.41 9.13,13.37C9.13,14.32 9.88,15.09 10.84,15.09C11.77,15.09 12.55,14.32 12.55,13.37M16.46,10.79C17.9,10.79 18.95,11.89 18.95,13.36V13.69H14.91C15.04,14.5 15.71,15.09 16.55,15.09C17.13,15.09 17.61,14.86 18,14.36L18.7,14.89C18.2,15.55 17.46,15.95 16.55,15.95C15.06,15.95 13.91,14.84 13.91,13.36C13.91,11.97 15,10.79 16.46,10.79M14.92,12.91H17.95C17.79,12.15 17.18,11.65 16.44,11.65C15.71,11.65 15.1,12.15 14.92,12.91M20.5,13V15.84H19.5V10.89C19.82,10.89 20.14,10.89 20.47,10.89V11.5C20.71,11.1 21.11,10.85 21.66,10.85H22V11.76H21.59C20.95,11.76 20.5,12.26 20.5,13",
"name": "uber"
},
{
"path": "M19.5,3C20.14,4.08 20.44,5.19 20.44,6.6C20.44,11.08 16.61,16.91 13.5,21H6.41L3.56,4L9.77,3.39L11.28,15.5C12.69,13.21 14.42,9.61 14.42,7.16C14.42,5.81 14.19,4.9 13.83,4.15L19.5,3Z",
"name": "venmo"
},
{
"path": "M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M5.5,8.5H7C7.36,8.5 7.5,8.66 7.64,9.07C8.36,11.17 9.57,13 10.07,13C10.26,13 10.35,12.92 10.35,12.45V10.28C10.29,9.28 9.76,9.19 9.76,8.84C9.76,8.67 9.9,8.5 10.14,8.5H12.45C12.77,8.5 12.87,8.67 12.87,9.04V11.96C12.87,12.27 13,12.38 13.1,12.38C13.29,12.38 13.45,12.27 13.79,11.93C14.85,10.74 15.6,8.92 15.6,8.92C15.7,8.7 15.87,8.5 16.24,8.5H17.71C18.16,8.5 18.26,8.73 18.16,9.04C17.97,9.9 16.18,12.43 16.18,12.43C16,12.68 15.96,12.8 16.18,13.09C16.33,13.3 16.85,13.74 17.19,14.15C17.83,14.86 18.3,15.46 18.44,15.87C18.56,16.29 18.35,16.5 17.93,16.5H16.45C15.89,16.5 15.73,16.05 14.73,15.05C13.85,14.21 13.5,14.1 13.26,14.1C12.96,14.1 12.87,14.18 12.87,14.61V15.93C12.87,16.29 12.76,16.5 11.82,16.5C10.26,16.5 8.54,15.55 7.33,13.8C5.5,11.24 5,9.31 5,8.92C5,8.7 5.08,8.5 5.5,8.5Z",
"name": "vk-box"
},
{
"path": "M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M5.5,8.5H7C7.36,8.5 7.5,8.66 7.64,9.07C8.36,11.17 9.57,13 10.07,13C10.26,13 10.35,12.92 10.35,12.45V10.28C10.29,9.28 9.76,9.19 9.76,8.84C9.76,8.67 9.9,8.5 10.14,8.5H12.45C12.77,8.5 12.87,8.67 12.87,9.04V11.96C12.87,12.27 13,12.38 13.1,12.38C13.29,12.38 13.45,12.27 13.79,11.93C14.85,10.74 15.6,8.92 15.6,8.92C15.7,8.7 15.87,8.5 16.24,8.5H17.71C18.16,8.5 18.26,8.73 18.16,9.04C17.97,9.9 16.18,12.43 16.18,12.43C16,12.68 15.96,12.8 16.18,13.09C16.33,13.3 16.85,13.74 17.19,14.15C17.83,14.86 18.3,15.46 18.44,15.87C18.56,16.29 18.35,16.5 17.93,16.5H16.45C15.89,16.5 15.73,16.05 14.73,15.05C13.85,14.21 13.5,14.1 13.26,14.1C12.96,14.1 12.87,14.18 12.87,14.61V15.93C12.87,16.29 12.76,16.5 11.82,16.5C10.26,16.5 8.54,15.55 7.33,13.8C5.5,11.24 5,9.31 5,8.92C5,8.7 5.08,8.5 5.5,8.5Z",
"name": "vk-circle"
},
{
"path": "M17,17.5L12,15L7,17.5V5H5V19H19V5H17V17.5M12,12.42L14.25,13.77L13.65,11.22L15.64,9.5L13,9.27L12,6.86L11,9.27L8.36,9.5L10.35,11.22L9.75,13.77L12,12.42M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z",
"name": "wunderlist"
},
{
"path": "M0 16.7L3.2 12.9L0 9.1L1.5 7.8L4.5 11.3L7.5 7.8L9 9.1L5.8 12.9L9 16.7L7.5 18L4.5 14.4L1.5 18L0 16.7M24 16.9C24 17.4 23.6 17.9 23 17.9H20C18.9 17.9 18 17 18 15.9V13.9C18 12.8 18.9 11.9 20 11.9H22V9.9H18V8H23C23.5 8 24 8.4 24 9M22 14H20V16H22V14M16 16.9C16 17.4 15.6 17.9 15 17.9H12C10.9 17.9 10 17 10 15.9V9.9C10 8.8 10.9 7.9 12 7.9H14V5H16V16.9M14 15.9V9.9H12V15.9H14Z",
"name": "xda"
},
{
"path": "M4.8,3C3.8,3 3,3.8 3,4.8V19.2C3,20.2 3.8,21 4.8,21H19.2C20.2,21 21,20.2 21,19.2V4.8C21,3.8 20.2,3 19.2,3M16.07,5H18.11C18.23,5 18.33,5.04 18.37,5.13C18.43,5.22 18.43,5.33 18.37,5.44L13.9,13.36L16.75,18.56C16.81,18.67 16.81,18.78 16.75,18.87C16.7,18.95 16.61,19 16.5,19H14.47C14.16,19 14,18.79 13.91,18.61L11.04,13.35C11.18,13.1 15.53,5.39 15.53,5.39C15.64,5.19 15.77,5 16.07,5M7.09,7.76H9.1C9.41,7.76 9.57,7.96 9.67,8.15L11.06,10.57C10.97,10.71 8.88,14.42 8.88,14.42C8.77,14.61 8.63,14.81 8.32,14.81H6.3C6.18,14.81 6.09,14.76 6.04,14.67C6,14.59 6,14.47 6.04,14.36L8.18,10.57L6.82,8.2C6.77,8.09 6.75,8 6.81,7.89C6.86,7.81 6.96,7.76 7.09,7.76Z",
"name": "xing-box"
},
{
"path": "M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15.85,6H17.74C17.86,6 17.94,6.04 18,6.12C18.04,6.2 18.04,6.3 18,6.41L13.84,13.76L16.5,18.59C16.53,18.69 16.53,18.8 16.5,18.88C16.43,18.96 16.35,19 16.24,19H14.36C14.07,19 13.93,18.81 13.84,18.64L11.17,13.76C11.31,13.5 15.35,6.36 15.35,6.36C15.45,6.18 15.57,6 15.85,6M7.5,8.57H9.39C9.67,8.57 9.81,8.75 9.9,8.92L11.19,11.17C11.12,11.3 9.17,14.75 9.17,14.75C9.07,14.92 8.94,15.11 8.66,15.11H6.78C6.67,15.11 6.59,15.06 6.54,15C6.5,14.9 6.5,14.8 6.54,14.69L8.53,11.17L7.27,9C7.21,8.87 7.2,8.77 7.25,8.69C7.3,8.61 7.39,8.57 7.5,8.57Z",
"name": "xing-circle"
},
{
"path": "M10.59,2C11.23,2 11.5,2.27 11.58,2.97L11.79,6.14L12.03,10.29C12.05,10.64 12,11 11.86,11.32C11.64,11.77 11.14,11.89 10.73,11.58C10.5,11.39 10.31,11.14 10.15,10.87L6.42,4.55C6.06,3.94 6.17,3.54 6.77,3.16C7.5,2.68 9.73,2 10.59,2M14.83,14.85L15.09,14.91L18.95,16.31C19.61,16.55 19.79,16.92 19.5,17.57C19.06,18.7 18.34,19.66 17.42,20.45C16.96,20.85 16.5,20.78 16.21,20.28L13.94,16.32C13.55,15.61 14.03,14.8 14.83,14.85M4.5,14C4.5,13.26 4.5,12.55 4.75,11.87C4.97,11.2 5.33,11 6,11.27L9.63,12.81C10.09,13 10.35,13.32 10.33,13.84C10.3,14.36 9.97,14.58 9.53,14.73L5.85,15.94C5.15,16.17 4.79,15.96 4.64,15.25C4.55,14.83 4.47,14.4 4.5,14M11.97,21C11.95,21.81 11.6,22.12 10.81,22C9.77,21.8 8.81,21.4 7.96,20.76C7.54,20.44 7.45,19.95 7.76,19.53L10.47,15.97C10.7,15.67 11.03,15.6 11.39,15.74C11.77,15.88 11.97,16.18 11.97,16.59V21M14.45,13.32C13.73,13.33 13.23,12.5 13.64,11.91C14.47,10.67 15.35,9.46 16.23,8.26C16.5,7.85 16.94,7.82 17.31,8.16C18.24,9 18.91,10 19.29,11.22C19.43,11.67 19.25,12.08 18.83,12.2L15.09,13.17L14.45,13.32Z",
"name": "yelp"
}
]
@@ -0,0 +1,14 @@
module.exports = function (opts = {}) {
const dontHash = opts.dontHash || new Set();
return {
name: "dont-hash",
renderChunk(_code, chunk, _options) {
if (!chunk.isEntry || !dontHash.has(chunk.name)) {
return null;
}
chunk.fileName = `${chunk.name}.js`;
return null;
},
};
};
@@ -0,0 +1,26 @@
const path = require("path");
module.exports = function (userOptions = {}) {
// Files need to be absolute paths.
// This only works if the file has no exports
// and only is imported for its side effects
const files = userOptions.files || [];
if (files.length === 0) {
return {
name: "ignore",
};
}
return {
name: "ignore",
load(id) {
return files.some((toIgnorePath) => id.startsWith(toIgnorePath))
? {
code: "",
}
: null;
},
};
};
@@ -0,0 +1,34 @@
const url = require("url");
const defaultOptions = {
publicPath: "",
};
module.exports = function (userOptions = {}) {
const options = { ...defaultOptions, ...userOptions };
return {
name: "manifest",
generateBundle(outputOptions, bundle) {
const manifest = {};
for (const chunk of Object.values(bundle)) {
if (!chunk.isEntry) {
continue;
}
// Add js extension to mimic Webpack manifest.
manifest[`${chunk.name}.js`] = url.resolve(
options.publicPath,
chunk.fileName
);
}
this.emitFile({
type: "asset",
source: JSON.stringify(manifest, undefined, 2),
name: "manifest.json",
fileName: "manifest.json",
});
},
};
};
@@ -0,0 +1,149 @@
// Worker plugin
// Each worker will include all of its dependencies
// instead of relying on an importer.
// Forked from v.1.4.1
// https://github.com/surma/rollup-plugin-off-main-thread
/**
* Copyright 2018 Google Inc. All Rights Reserved.
* 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.
*/
const rollup = require("rollup");
const path = require("path");
const MagicString = require("magic-string");
const defaultOpts = {
// A RegExp to find `new Workers()` calls. The second capture group _must_
// capture the provided file name without the quotes.
workerRegexp: /new Worker\((["'])(.+?)\1(,[^)]+)?\)/g,
plugins: ["node-resolve", "commonjs", "babel", "terser", "ignore"],
};
async function getBundledWorker(workerPath, rollupOptions) {
const bundle = await rollup.rollup({
...rollupOptions,
input: {
worker: workerPath,
},
});
const { output } = await bundle.generate({
// Generates cleanest output, we shouldn't have any imports/exports
// that would be incompatible with ES5.
format: "es",
// We should not export anything. This will fail build if we are.
exports: "none",
});
let code;
for (const chunkOrAsset of output) {
if (chunkOrAsset.name === "worker") {
code = chunkOrAsset.code;
} else if (chunkOrAsset.type !== "asset") {
throw new Error("Unexpected extra output");
}
}
return code;
}
module.exports = function (opts = {}) {
opts = { ...defaultOpts, ...opts };
let rollupOptions;
let refIds;
return {
name: "hass-worker",
async buildStart(options) {
refIds = {};
rollupOptions = {
plugins: options.plugins.filter((plugin) =>
opts.plugins.includes(plugin.name)
),
};
},
async transform(code, id) {
// Copy the regexp as they are stateful and this hook is async.
const workerRegexp = new RegExp(
opts.workerRegexp.source,
opts.workerRegexp.flags
);
if (!workerRegexp.test(code)) {
return;
}
const ms = new MagicString(code);
// Reset the regexp
workerRegexp.lastIndex = 0;
while (true) {
const match = workerRegexp.exec(code);
if (!match) {
break;
}
const workerFile = match[2];
let optionsObject = {};
// Parse the optional options object
if (match[3] && match[3].length > 0) {
// FIXME: ooooof!
optionsObject = new Function(`return ${match[3].slice(1)};`)();
}
delete optionsObject.type;
if (!new RegExp("^.*/").test(workerFile)) {
this.warn(
`Paths passed to the Worker constructor must be relative or absolute, i.e. start with /, ./ or ../ (just like dynamic import!). Ignoring "${workerFile}".`
);
continue;
}
// Find worker file and store it as a chunk with ID prefixed for our loader
const resolvedWorkerFile = (await this.resolve(workerFile, id)).id;
let chunkRefId;
if (resolvedWorkerFile in refIds) {
chunkRefId = refIds[resolvedWorkerFile];
} else {
this.addWatchFile(resolvedWorkerFile);
const source = await getBundledWorker(
resolvedWorkerFile,
rollupOptions
);
chunkRefId = refIds[resolvedWorkerFile] = this.emitFile({
name: path.basename(resolvedWorkerFile),
source,
type: "asset",
});
}
const workerParametersStartIndex = match.index + "new Worker(".length;
const workerParametersEndIndex =
match.index + match[0].length - ")".length;
ms.overwrite(
workerParametersStartIndex,
workerParametersEndIndex,
`import.meta.ROLLUP_FILE_URL_${chunkRefId}, ${JSON.stringify(
optionsObject
)}`
);
}
return {
code: ms.toString(),
map: ms.generateMap({ hires: true }),
};
},
};
};
+151
View File
@@ -0,0 +1,151 @@
const path = require("path");
const commonjs = require("@rollup/plugin-commonjs");
const resolve = require("@rollup/plugin-node-resolve");
const json = require("@rollup/plugin-json");
const babel = require("rollup-plugin-babel");
const replace = require("@rollup/plugin-replace");
const visualizer = require("rollup-plugin-visualizer");
const { string } = require("rollup-plugin-string");
const { terser } = require("rollup-plugin-terser");
const manifest = require("./rollup-plugins/manifest-plugin");
const worker = require("./rollup-plugins/worker-plugin");
const dontHashPlugin = require("./rollup-plugins/dont-hash-plugin");
const ignore = require("./rollup-plugins/ignore-plugin");
const bundle = require("./bundle");
const paths = require("./paths");
const extensions = [".js", ".ts"];
/**
* @param {Object} arg
* @param { import("rollup").InputOption } arg.input
*/
const createRollupConfig = ({
entry,
outputPath,
defineOverlay,
isProdBuild,
latestBuild,
isStatsBuild,
publicPath,
dontHash,
}) => {
return {
/**
* @type { import("rollup").InputOptions }
*/
inputOptions: {
input: entry,
// Some entry points contain no JavaScript. This setting silences a warning about that.
// https://rollupjs.org/guide/en/#preserveentrysignatures
preserveEntrySignatures: false,
plugins: [
ignore({
files: bundle.emptyPackages({ latestBuild }),
}),
resolve({
extensions,
preferBuiltins: false,
browser: true,
rootDir: paths.polymer_dir,
}),
commonjs({
namedExports: {
"js-yaml": ["safeDump", "safeLoad"],
},
}),
json(),
babel({
...bundle.babelOptions({ latestBuild }),
extensions,
exclude: bundle.babelExclude(),
}),
string({
// Import certain extensions as strings
include: [path.join(paths.polymer_dir, "node_modules/**/*.css")],
}),
replace(
bundle.definedVars({ isProdBuild, latestBuild, defineOverlay })
),
manifest({
publicPath,
}),
worker(),
dontHashPlugin({ dontHash }),
isProdBuild && terser(bundle.terserOptions(latestBuild)),
isStatsBuild &&
visualizer({
// https://github.com/btd/rollup-plugin-visualizer#options
open: true,
sourcemap: true,
}),
],
},
/**
* @type { import("rollup").OutputOptions }
*/
outputOptions: {
// https://rollupjs.org/guide/en/#outputdir
dir: outputPath,
// https://rollupjs.org/guide/en/#outputformat
format: latestBuild ? "es" : "systemjs",
// https://rollupjs.org/guide/en/#outputexternallivebindings
externalLiveBindings: false,
// https://rollupjs.org/guide/en/#outputentryfilenames
// https://rollupjs.org/guide/en/#outputchunkfilenames
// https://rollupjs.org/guide/en/#outputassetfilenames
entryFileNames:
isProdBuild && !isStatsBuild ? "[name]-[hash].js" : "[name].js",
chunkFileNames:
isProdBuild && !isStatsBuild ? "c.[hash].js" : "[name].js",
assetFileNames:
isProdBuild && !isStatsBuild ? "a.[hash].js" : "[name].js",
// https://rollupjs.org/guide/en/#outputsourcemap
sourcemap: isProdBuild ? true : "inline",
},
};
};
const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
return createRollupConfig(
bundle.config.app({
isProdBuild,
latestBuild,
isStatsBuild,
})
);
};
const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
return createRollupConfig(
bundle.config.demo({
isProdBuild,
latestBuild,
isStatsBuild,
})
);
};
const createCastConfig = ({ isProdBuild, latestBuild }) => {
return createRollupConfig(bundle.config.cast({ isProdBuild, latestBuild }));
};
const createHassioConfig = ({ isProdBuild, latestBuild }) => {
return createRollupConfig(bundle.config.hassio({ isProdBuild, latestBuild }));
};
const createGalleryConfig = ({ isProdBuild, latestBuild }) => {
return createRollupConfig(
bundle.config.gallery({ isProdBuild, latestBuild })
);
};
module.exports = {
createAppConfig,
createDemoConfig,
createCastConfig,
createHassioConfig,
createGalleryConfig,
};
+16
View File
@@ -0,0 +1,16 @@
const path = require("path");
const fs = require("fs");
// Helper function to map recursively over files in a folder and it's subfolders
module.exports.mapFiles = function mapFiles(startPath, filter, mapFunc) {
const files = fs.readdirSync(startPath);
for (let i = 0; i < files.length; i++) {
const filename = path.join(startPath, files[i]);
const stat = fs.lstatSync(filename);
if (stat.isDirectory()) {
mapFiles(filename, filter, mapFunc);
} else if (filename.indexOf(filter) >= 0) {
mapFunc(filename);
}
}
};
+159
View File
@@ -0,0 +1,159 @@
const webpack = require("webpack");
const path = require("path");
const TerserPlugin = require("terser-webpack-plugin");
const ManifestPlugin = require("webpack-manifest-plugin");
const WorkerPlugin = require("worker-plugin");
const paths = require("./paths.js");
const bundle = require("./bundle");
const createWebpackConfig = ({
entry,
outputPath,
publicPath,
defineOverlay,
isProdBuild,
latestBuild,
isStatsBuild,
dontHash,
}) => {
if (!dontHash) {
dontHash = new Set();
}
const ignorePackages = bundle.ignorePackages({ latestBuild });
return {
mode: isProdBuild ? "production" : "development",
devtool: isProdBuild
? "cheap-module-source-map"
: "eval-cheap-module-source-map",
entry,
node: false,
module: {
rules: [
{
test: /\.js$|\.ts$/,
exclude: bundle.babelExclude(),
use: {
loader: "babel-loader",
options: bundle.babelOptions({ latestBuild }),
},
},
{
test: /\.css$/,
use: "raw-loader",
},
],
},
optimization: {
minimizer: [
new TerserPlugin({
cache: true,
parallel: true,
extractComments: true,
sourceMap: true,
terserOptions: bundle.terserOptions(latestBuild),
}),
],
},
plugins: [
new WorkerPlugin(),
new ManifestPlugin({
// Only include the JS of entrypoints
filter: (file) => file.isInitial && !file.name.endsWith(".map"),
}),
new webpack.DefinePlugin(
bundle.definedVars({ isProdBuild, latestBuild, defineOverlay })
),
new webpack.IgnorePlugin({
checkResource(resource, context) {
// Only use ignore to intercept imports that we don't control
// inside node_module dependencies.
if (
!context.includes("/node_modules/") ||
// calling define.amd will call require("!!webpack amd options")
resource.startsWith("!!webpack") ||
// loaded by webpack dev server but doesn't exist.
resource === "webpack/hot"
) {
return false;
}
let fullPath;
try {
fullPath = resource.startsWith(".")
? path.resolve(context, resource)
: require.resolve(resource);
} catch (err) {
console.error(
"Error in Home Assistant ignore plugin",
resource,
context
);
throw err;
}
return ignorePackages.some((toIgnorePath) =>
fullPath.startsWith(toIgnorePath)
);
},
}),
new webpack.NormalModuleReplacementPlugin(
new RegExp(bundle.emptyPackages({ latestBuild }).join("|")),
path.resolve(paths.polymer_dir, "src/util/empty.js")
),
],
resolve: {
extensions: [".ts", ".js", ".json"],
},
output: {
filename: ({ chunk }) => {
if (!isProdBuild || dontHash.has(chunk.name)) {
return `${chunk.name}.js`;
}
return `${chunk.name}.${chunk.hash.substr(0, 8)}.js`;
},
chunkFilename:
isProdBuild && !isStatsBuild
? "chunk.[chunkhash].js"
: "[name].chunk.js",
path: outputPath,
publicPath,
// To silence warning in worker plugin
globalObject: "self",
},
};
};
const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
return createWebpackConfig(
bundle.config.app({ isProdBuild, latestBuild, isStatsBuild })
);
};
const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
return createWebpackConfig(
bundle.config.demo({ isProdBuild, latestBuild, isStatsBuild })
);
};
const createCastConfig = ({ isProdBuild, latestBuild }) => {
return createWebpackConfig(bundle.config.cast({ isProdBuild, latestBuild }));
};
const createHassioConfig = ({ isProdBuild, latestBuild }) => {
return createWebpackConfig(
bundle.config.hassio({ isProdBuild, latestBuild })
);
};
const createGalleryConfig = ({ isProdBuild, latestBuild }) => {
return createWebpackConfig(
bundle.config.gallery({ isProdBuild, latestBuild })
);
};
module.exports = {
createAppConfig,
createDemoConfig,
createCastConfig,
createHassioConfig,
createGalleryConfig,
};
+56
View File
@@ -0,0 +1,56 @@
# Home Assistant Cast
Home Assistant Cast is made up of two separate applications:
- Chromecast receiver application that can connect to Home Assistant and display relevant information.
- Launcher website that allows users to authorize with their Home Assistant installation and launch the receiver app on their Chromecast.
## Development
- Run `script/develop_cast` to launch the Cast receiver dev server. Keep this running.
- Navigate to http://localhost:8080 to start the launcher
- Debug the receiver running on the Chromecast via [chrome://inspect/#devices](chrome://inspect/#devices)
## Setting up development environment
### Registering development cast app
- Go to https://cast.google.com/publish and enroll your account for the Google Cast SDK (costs \$5)
- Register your Chromecast as a testing device by entering the serial
- Add new application -> Custom Receiver
- Name: Home Assistant Dev
- Receiver Application URL: http://IP-OF-DEV-MACHINE:8080/receiver.html
- Guest Mode: off
- Google Case for Audio: off
### Setting dev variables
Open `src/cast/dev_const.ts` and change `CAST_DEV_APP_ID` to the ID of the app you just created. And set the `CAST_DEV_HASS_URL` to the url of you development machine.
### Changing configuration
In `configuration.yaml`, configure CORS for the HTTP integration:
```yaml
http:
cors_allowed_origins:
- https://cast.home-assistant.io
- http://IP-OF-DEV-MACHINE:8080
```
## Running development
```bash
cd cast
script/develop_cast
```
The launcher application will be accessible at [http://localhost:8080](http://localhost:8080) and the receiver application will be accessible at [http://localhost:8080/receiver.html](http://localhost:8080/receiver.html) (but only works if accessed by a Chromecast).
### Developing cast widgets in HA ui
If your work involves interaction with the Cast parts from the normal Home Assistant UI, you will need to have that development script running too (`script/develop`).
### Developing the cast demo
The cast demo is triggered from the Home Assistant demo. To work on that, you will also need to run the development script for the demo (`script/develop_demo`).
+20
View File
@@ -0,0 +1,20 @@
/*
Cache-Control: public, max-age: 0, s-maxage=3600, must-revalidate
Content-Security-Policy: form-action https:
Feature-Policy: vibrate 'none'; geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; payment 'none'
Referrer-Policy: no-referrer-when-downgrade
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
/images/*
Cache-Control: public, max-age: 604800, s-maxage=604800
/manifest.json
Cache-Control: public, max-age: 3600, s-maxage=3600
/frontend_es5/*
Cache-Control: public, max-age: 604800, s-maxage=604800
/frontend_latest/*
Cache-Control: public, max-age: 604800, s-maxage=604800
Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

+18
View File
@@ -0,0 +1,18 @@
{
"background_color": "#FFFFFF",
"description": "Show Home Assistant on your Chromecast or Google Assistant devices with a screen.",
"dir": "ltr",
"display": "standalone",
"icons": [
{
"src": "/images/ha-cast-icon.png",
"sizes": "512x512",
"type": "image/png"
}
],
"lang": "en-US",
"name": "Home Assistant Cast",
"short_name": "HA Cast",
"start_url": "/?homescreen=1",
"theme_color": "#03A9F4"
}
+3
View File
@@ -0,0 +1,3 @@
self.addEventListener("fetch", function(event) {
event.respondWith(fetch(event.request));
});
+10
View File
@@ -0,0 +1,10 @@
const rollup = require("../build-scripts/rollup.js");
const env = require("../build-scripts/env.js");
const config = rollup.createCastConfig({
isProdBuild: env.isProdBuild(),
latestBuild: true,
isStatsBuild: env.isStatsBuild(),
});
module.exports = { ...config.inputOptions, output: config.outputOptions };
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
# Build the cast receiver
# Stop on errors
set -e
cd "$(dirname "$0")/../.."
./node_modules/.bin/gulp build-cast
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
# Develop the cast receiver
# Stop on errors
set -e
cd "$(dirname "$0")/../.."
./node_modules/.bin/gulp develop-cast
+5
View File
@@ -0,0 +1,5 @@
# Run it twice, second time we just delete.
aws s3 sync dist s3://cast.home-assistant.io --acl public-read
# Don't delete as it might break open sites that need to load code splitted things.
# aws s3 sync dist s3://cast.home-assistant.io --acl public-read --delete
# Todo : update JS first, HTML last.
+264
View File
@@ -0,0 +1,264 @@
<!DOCTYPE html>
<html>
<head>
<title>Home Assistant Cast - FAQ</title>
<link rel="icon" href="/images/ha-cast-icon.png" type="image/png" />
<%= renderTemplate('_style_base') %>
<style>
body {
background-color: #e5e5e5;
}
</style>
<meta property="fb:app_id" content="338291289691179" />
<meta property="og:title" content="FAQ - Home Assistant Cast" />
<meta property="og:site_name" content="Home Assistant Cast" />
<meta property="og:url" content="https://cast.home-assistant.io/" />
<meta property="og:type" content="website" />
<meta
property="og:description"
content="Frequently asked questions about Home Assistant Cast."
/>
<meta
property="og:image"
content="https://cast.home-assistant.io/images/google-nest-hub.png"
/>
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@home_assistant" />
<meta name="twitter:title" content="FAQ - Home Assistant Cast" />
<meta
name="twitter:description"
content="Frequently asked questions about Home Assistant Cast."
/>
<meta
name="twitter:image"
content="https://cast.home-assistant.io/images/google-nest-hub.png"
/>
</head>
<body>
<%= renderTemplate('_js_base') %>
<script>
import("<%= latestLauncherJS %>");
window.latestJS = true;
</script>
<script>
if (!window.latestJS) {
<% if (useRollup) { %>
_ls("/static/js/s.min.js").onload = function() {
System.import("<%= es5LauncherJS %>");
};
<% } else { %>
_ls("<%= es5LauncherJS %>");
<% } %>
}
</script>
<hc-layout subtitle="FAQ">
<style>
a {
color: var(--primary-color);
}
</style>
<div class="card-content">
<p><a href="/">&laquo; Back to Home Assistant Cast</a></p>
</div>
<div class="section-header">What is Home Assistant Cast?</div>
<div class="card-content">
<p>
Home Assistant Cast allows you to show your Home Assistant data on a
Chromecast device and allows you to interact with Home Assistant on
Google Assistant devices with a screen.
</p>
</div>
<div class="section-header">
What are the Home Assistant Cast requirements?
</div>
<div class="card-content">
<p>
Home Assistant Cast requires a Home Assistant installation that is
accessible via HTTPS (the url starts with "https://").
</p>
</div>
<div class="section-header">What is Home Assistant?</div>
<div class="card-content">
<p>
Home Assistant is worlds biggest open source home automation platform
with a focus on privacy and local control. You can install Home
Assistant for free.
</p>
<p>
<a href="https://www.home-assistant.io" target="_blank"
>Visit the Home Assistant website.</a
>
</p>
</div>
<div class="section-header" id="https">
Why does my Home Assistant needs to be served using HTTPS?
</div>
<div class="card-content">
<p>
The Chromecast only works with websites served over HTTPS. This means
that the Home Assistant Cast app that runs on your Chromecast is
served over HTTPS. Websites served over HTTPS are restricted on what
content can be accessed on websites served over HTTP. This is called
mixed active content (<a
href="https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content#Mixed_active_content"
target="_blank"
>learn more @ MDN</a
>).
</p>
<p>
The easiest way to get your Home Assistant installation served over
HTTPS is by signing up for
<a href="https://www.nabucasa.com" target="_blank"
>Home Assistant Cloud by Nabu Casa</a
>.
</p>
</div>
<div class="section-header" id="https">
Why does Home Assistant Cast require me to authorize my Home Assistant
instance?
</div>
<div class="card-content">
<p>
You're currently looking at the Home Assistant Cast launcher
application. This is a standalone application to launch Home Assistant
Cast on your Chromecast. Because Chromecasts do not allow us to log in
to Home Assistant, we need to supply authentication to it from the
launcher. This authentication is obtained when you authorize your
instance. Your authentication credentials will remain in your browser
and on your Cast device.
</p>
<p>
Your authentication credentials or Home Assistant url are never sent
to the Cloud. You can validate this behavior in
<a
href="https://github.com/home-assistant/home-assistant-polymer/tree/dev/cast"
target="_blank"
>the source code</a
>.
</p>
<p>
The launcher application exists to make it possible to use Home
Assistant Cast with older versions of Home Assistant.
</p>
<p>
Starting with Home Assistant 0.97, Home Assistant Cast is also built
into the Lovelace UI as a special entities card row. Since the
Lovelace UI already has authentication, you will be able to start
casting right away.
</p>
</div>
<div class="section-header">Wat does Home Assistant Cast do?</div>
<div class="card-content">
<p>
Home Assistant Cast is a receiver application for the Chromecast. When
loaded, it will make a direct connection to your Home Assistant
instance.
</p>
<p>
Home Assistant Cast is able to render any of your Lovelace views on
your Chromecast. Things that work in Lovelace in Home Assistant will
work in Home Assistant Cast:
</p>
<ul>
<li>Render Lovelace views, including custom cards</li>
<li>
Real-time data stream will ensure the UI always shows the latest
state of your house
</li>
<li>Navigate between views using navigate actions or weblinks</li>
<li>
Instant updates of the casted Lovelace UI when you update your
Lovelace configuration.
</li>
</ul>
<p>Things that currently do not work:</p>
<ul>
<li>
Live videostreams using the streaming integration
</li>
<li>Specifying a view with a single card with "panel: true".</li>
</ul>
</div>
<div class="section-header" id="https">
How do I change what is shown on my Chromecast?
</div>
<div class="card-content">
<p>
Home Assistant Cast allows you to show your Lovelace view on your
Chromecast. So to edit what is shown, you need to edit your Lovelace
UI.
</p>
<p>
To edit your Lovelace UI, open Home Assistant, click on the three-dot
menu in the top right and click on "Configure UI".
</p>
</div>
<div class="section-header" id="browser">
What browsers are supported?
</div>
<div class="card-content">
<p>
Chromecast is a technology developed by Google, and is available on:
</p>
<ul>
<li>Google Chrome (all platforms except on iOS)</li>
<li>
Microsoft Edge (all platforms,
<a href="https://www.microsoftedgeinsider.com" target="_blank"
>dev and canary builds only</a
>)
</li>
</ul>
</div>
<div class="section-header">Why do some custom cards not work?</div>
<div class="card-content">
<p>
Home Assistant needs to be configured to allow Home Assistant Cast to
load custom cards. Starting with Home Assistant 0.97, this is done
automatically. If you are on an older version, or have manually
configured CORS for the HTTP integration, add the following to your
configuration.yaml file:
</p>
<pre>
http:
cors_allowed_origins:
- https://cast.home-assistant.io</pre
>
<p>
Some custom cards rely on things that are only available in the normal
Home Assistant interface. This requires an update by the custom card
developer.
</p>
<p>
If you're a custom card developer: the most common mistake is that
LitElement is extracted from an element that is not available on the
page.
</p>
</div>
</hc-layout>
<script>
var _gaq = [["_setAccount", "UA-57927901-9"], ["_trackPageview"]];
(function (d, t) {
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src =
("https:" == location.protocol ? "//ssl" : "//www") +
".google-analytics.com/ga.js";
s.parentNode.insertBefore(g, s);
})(document, "script");
</script>
</body>
</html>
+57
View File
@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html>
<head>
<title>Home Assistant Cast</title>
<link rel="manifest" href="/manifest.json" />
<link rel="icon" href="/images/ha-cast-icon.png" type="image/png" />
<%= renderTemplate('_style_base') %>
<style>
body {
background-color: #e5e5e5;
}
</style>
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant Cast">
<meta property="og:site_name" content="Home Assistant Cast">
<meta property="og:url" content="https://cast.home-assistant.io/">
<meta property="og:type" content="website">
<meta property="og:description" content="Show Home Assistant on your Chromecast or Google Assistant devices with a screen.">
<meta property="og:image" content="https://cast.home-assistant.io/images/google-nest-hub.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:title" content="Home Assistant Cast">
<meta name="twitter:description" content="Show Home Assistant on your Chromecast or Google Assistant devices with a screen.">
<meta name="twitter:image" content="https://cast.home-assistant.io/images/google-nest-hub.png">
</head>
<body>
<%= renderTemplate('_js_base') %>
<hc-connect></hc-connect>
<script>
import("<%= latestLauncherJS %>");
window.latestJS = true;
</script>
<script>
if (!window.latestJS) {
<% if (useRollup) { %>
_ls("/static/js/s.min.js").onload = function() {
System.import("<%= es5LauncherJS %>");
};
<% } else { %>
_ls("<%= es5LauncherJS %>");
<% } %>
}
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-57927901-9', 'auto');
ga('send', 'pageview', location.pathname.includes("auth_callback") === -1 ? location.pathname : "/");
</script>
</body>
</html>
+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
<script type="module" src="<%= latestReceiverJS %>"></script>
<%= renderTemplate('_style_base') %>
<style>
body {
background-color: white;
font-size: initial;
}
</style>
<script>
var _gaq=[['_setAccount','UA-57927901-10'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</html>
+3
View File
@@ -0,0 +1,3 @@
import "../../../src/resources/ha-style";
import "../../../src/resources/roboto";
import "./layout/hc-connect";
+287
View File
@@ -0,0 +1,287 @@
import "@polymer/paper-item/paper-icon-item";
import "@polymer/paper-listbox/paper-listbox";
import { Auth, Connection } from "home-assistant-js-websocket";
import {
css,
CSSResult,
customElement,
html,
LitElement,
property,
internalProperty,
TemplateResult,
} from "lit-element";
import { CastManager } from "../../../../src/cast/cast_manager";
import {
castSendShowLovelaceView,
ensureConnectedCastSession,
} from "../../../../src/cast/receiver_messages";
import {
askWrite,
enableWrite,
saveTokens,
} from "../../../../src/common/auth/token_storage";
import { atLeastVersion } from "../../../../src/common/config/version";
import { toggleAttribute } from "../../../../src/common/dom/toggle_attribute";
import "../../../../src/components/ha-icon";
import {
getLegacyLovelaceCollection,
getLovelaceCollection,
LovelaceConfig,
} from "../../../../src/data/lovelace";
import "../../../../src/layouts/hass-loading-screen";
import { generateDefaultViewConfig } from "../../../../src/panels/lovelace/common/generate-lovelace-config";
import "./hc-layout";
import "@material/mwc-button/mwc-button";
@customElement("hc-cast")
class HcCast extends LitElement {
@property() public auth!: Auth;
@property() public connection!: Connection;
@property() public castManager!: CastManager;
@internalProperty() private askWrite = false;
@internalProperty() private lovelaceConfig?: LovelaceConfig | null;
protected render(): TemplateResult {
if (this.lovelaceConfig === undefined) {
return html` <hass-loading-screen no-toolbar></hass-loading-screen>> `;
}
const error =
this.castManager.castState === "NO_DEVICES_AVAILABLE"
? html`
<p>
There were no suitable Chromecast devices to cast to found.
</p>
`
: undefined;
return html`
<hc-layout .auth=${this.auth} .connection=${this.connection}>
${this.askWrite
? html`
<p class="question action-item">
Stay logged in?
<span>
<mwc-button @click=${this._handleSaveTokens}>
YES
</mwc-button>
<mwc-button @click=${this._handleSkipSaveTokens}>
NO
</mwc-button>
</span>
</p>
`
: ""}
${error
? html` <div class="card-content">${error}</div> `
: !this.castManager.status
? html`
<p class="center-item">
<mwc-button raised @click=${this._handleLaunch}>
<ha-icon icon="hass:cast"></ha-icon>
Start Casting
</mwc-button>
</p>
`
: html`
<div class="section-header">PICK A VIEW</div>
<paper-listbox
attr-for-selected="data-path"
.selected=${this.castManager.status.lovelacePath || ""}
>
${(this.lovelaceConfig
? this.lovelaceConfig.views
: [generateDefaultViewConfig([], [], [], {}, () => "")]
).map(
(view, idx) => html`
<paper-icon-item
@click=${this._handlePickView}
data-path=${view.path || idx}
>
${view.icon
? html`
<ha-icon
.icon=${view.icon}
slot="item-icon"
></ha-icon>
`
: ""}
${view.title || view.path}
</paper-icon-item>
`
)}
</paper-listbox>
`}
<div class="card-actions">
${this.castManager.status
? html`
<mwc-button @click=${this._handleLaunch}>
<ha-icon icon="hass:cast-connected"></ha-icon>
Manage
</mwc-button>
`
: ""}
<div class="spacer"></div>
<mwc-button @click=${this._handleLogout}>Log out</mwc-button>
</div>
</hc-layout>
`;
}
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
const llColl = atLeastVersion(this.connection.haVersion, 0, 107)
? getLovelaceCollection(this.connection)
: getLegacyLovelaceCollection(this.connection);
// We first do a single refresh because we need to check if there is LL
// configuration.
llColl.refresh().then(
() => {
llColl.subscribe((config) => {
this.lovelaceConfig = config;
});
},
async () => {
this.lovelaceConfig = null;
}
);
this.askWrite = askWrite();
this.castManager.addEventListener("state-changed", () => {
this.requestUpdate();
});
this.castManager.addEventListener("connection-changed", () => {
this.requestUpdate();
});
}
protected updated(changedProps) {
super.updated(changedProps);
toggleAttribute(
this,
"hide-icons",
this.lovelaceConfig
? !this.lovelaceConfig.views.some((view) => view.icon)
: true
);
}
private async _handleSkipSaveTokens() {
this.askWrite = false;
}
private async _handleSaveTokens() {
enableWrite();
this.askWrite = false;
}
private _handleLaunch() {
this.castManager.requestSession();
}
private async _handlePickView(ev: Event) {
const path = (ev.currentTarget as any).getAttribute("data-path");
await ensureConnectedCastSession(this.castManager!, this.auth!);
castSendShowLovelaceView(this.castManager, path);
}
private async _handleLogout() {
try {
await this.auth.revoke();
saveTokens(null);
if (this.castManager.castSession) {
this.castManager.castContext.endCurrentSession(true);
}
this.connection.close();
location.reload();
} catch (err) {
alert("Unable to log out!");
}
}
static get styles(): CSSResult {
return css`
.center-item {
display: flex;
justify-content: space-around;
}
.action-item {
display: flex;
align-items: center;
justify-content: space-between;
}
.question {
position: relative;
padding: 8px 16px;
}
.question:before {
border-radius: 4px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
pointer-events: none;
content: "";
background-color: var(--primary-color);
opacity: 0.12;
will-change: opacity;
}
.connection,
.connection a {
color: var(--secondary-text-color);
}
mwc-button ha-icon {
margin-right: 8px;
height: 18px;
}
paper-listbox {
padding-top: 0;
}
paper-listbox ha-icon {
padding: 12px;
color: var(--secondary-text-color);
}
paper-icon-item {
cursor: pointer;
}
paper-icon-item[disabled] {
cursor: initial;
}
:host([hide-icons]) paper-icon-item {
--paper-item-icon-width: 0px;
}
.spacer {
flex: 1;
}
.card-content a {
color: var(--primary-color);
}
`;
}
}
declare global {
interface HTMLElementTagNameMap {
"hc-cast": HcCast;
}
}
+334
View File
@@ -0,0 +1,334 @@
import "@material/mwc-button";
import "@polymer/paper-input/paper-input";
import {
Auth,
Connection,
createConnection,
ERR_CANNOT_CONNECT,
ERR_HASS_HOST_REQUIRED,
ERR_INVALID_AUTH,
ERR_INVALID_HTTPS_TO_HTTP,
getAuth,
getAuthOptions,
} from "home-assistant-js-websocket";
import {
css,
CSSResult,
customElement,
html,
LitElement,
TemplateResult,
internalProperty,
} from "lit-element";
import { CastManager, getCastManager } from "../../../../src/cast/cast_manager";
import { castSendShowDemo } from "../../../../src/cast/receiver_messages";
import {
loadTokens,
saveTokens,
} from "../../../../src/common/auth/token_storage";
import "../../../../src/components/ha-icon";
import "../../../../src/layouts/hass-loading-screen";
import { registerServiceWorker } from "../../../../src/util/register-service-worker";
import "./hc-layout";
const seeFAQ = (qid) => html`
See <a href="./faq.html${qid ? `#${qid}` : ""}">the FAQ</a> for more
information.
`;
const translateErr = (err) =>
err === ERR_CANNOT_CONNECT
? "Unable to connect"
: err === ERR_HASS_HOST_REQUIRED
? "Please enter a Home Assistant URL."
: err === ERR_INVALID_HTTPS_TO_HTTP
? html`
Cannot connect to Home Assistant instances over "http://".
${seeFAQ("https")}
`
: `Unknown error (${err}).`;
const INTRO = html`
<p>
Home Assistant Cast allows you to cast your Home Assistant installation to
Chromecast video devices and to Google Assistant devices with a screen.
</p>
<p>
For more information, see the
<a href="./faq.html">frequently asked questions</a>.
</p>
`;
@customElement("hc-connect")
export class HcConnect extends LitElement {
@internalProperty() private loading = false;
// If we had stored credentials but we cannot connect,
// show a screen asking retry or logout.
@internalProperty() private cannotConnect = false;
@internalProperty() private error?: string | TemplateResult;
@internalProperty() private auth?: Auth;
@internalProperty() private connection?: Connection;
@internalProperty() private castManager?: CastManager | null;
private openDemo = false;
protected render(): TemplateResult {
if (this.cannotConnect) {
const tokens = loadTokens();
return html`
<hc-layout>
<div class="card-content">
Unable to connect to ${tokens!.hassUrl}.
</div>
<div class="card-actions">
<a href="/">
<mwc-button>
Retry
</mwc-button>
</a>
<div class="spacer"></div>
<mwc-button @click=${this._handleLogout}>Log out</mwc-button>
</div>
</hc-layout>
`;
}
if (this.castManager === undefined || this.loading) {
return html` <hass-loading-screen no-toolbar></hass-loading-screen> `;
}
if (this.castManager === null) {
return html`
<hc-layout>
<div class="card-content">
${INTRO}
<p class="error">
The Cast API is not available in your browser.
${seeFAQ("browser")}
</p>
</div>
</hc-layout>
`;
}
if (!this.auth) {
return html`
<hc-layout>
<div class="card-content">
${INTRO}
<p>
To get started, enter your Home Assistant URL and click authorize.
If you want a preview instead, click the show demo button.
</p>
<p>
<paper-input
label="Home Assistant URL"
placeholder="https://abcdefghijklmnop.ui.nabu.casa"
@keydown=${this._handleInputKeyDown}
></paper-input>
</p>
${this.error ? html` <p class="error">${this.error}</p> ` : ""}
</div>
<div class="card-actions">
<mwc-button @click=${this._handleDemo}>
Show Demo
<ha-icon
.icon=${this.castManager.castState === "CONNECTED"
? "hass:cast-connected"
: "hass:cast"}
></ha-icon>
</mwc-button>
<div class="spacer"></div>
<mwc-button @click=${this._handleConnect}>Authorize</mwc-button>
</div>
</hc-layout>
`;
}
return html`
<hc-cast
.connection=${this.connection}
.auth=${this.auth}
.castManager=${this.castManager}
></hc-cast>
`;
}
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
import("./hc-cast");
getCastManager().then(
async (mgr) => {
this.castManager = mgr;
mgr.addEventListener("connection-changed", () => {
this.requestUpdate();
});
mgr.addEventListener("state-changed", () => {
if (this.openDemo && mgr.castState === "CONNECTED" && !this.auth) {
castSendShowDemo(mgr);
}
});
if (location.search.indexOf("auth_callback=1") !== -1) {
this._tryConnection("auth-callback");
} else if (loadTokens()) {
this._tryConnection("saved-tokens");
}
},
() => {
this.castManager = null;
}
);
registerServiceWorker(this, false);
}
private async _handleDemo() {
this.openDemo = true;
if (this.castManager!.status && !this.castManager!.status.showDemo) {
castSendShowDemo(this.castManager!);
} else {
this.castManager!.requestSession();
}
}
private _handleInputKeyDown(ev: KeyboardEvent) {
// Handle pressing enter.
if (ev.keyCode === 13) {
this._handleConnect();
}
}
private async _handleConnect() {
const inputEl = this.shadowRoot!.querySelector("paper-input")!;
const value = inputEl.value || "";
this.error = undefined;
if (value === "") {
this.error = "Please enter a Home Assistant URL.";
return;
}
if (value.indexOf("://") === -1) {
this.error =
"Please enter your full URL, including the protocol part (https://).";
return;
}
let url: URL;
try {
url = new URL(value);
} catch (err) {
this.error = "Invalid URL";
return;
}
if (url.protocol === "http:" && url.hostname !== "localhost") {
this.error = translateErr(ERR_INVALID_HTTPS_TO_HTTP);
return;
}
await this._tryConnection("user-request", `${url.protocol}//${url.host}`);
}
private async _tryConnection(
init: "auth-callback" | "user-request" | "saved-tokens",
hassUrl?: string
) {
const options: getAuthOptions = {
saveTokens,
loadTokens: () => Promise.resolve(loadTokens()),
};
if (hassUrl) {
options.hassUrl = hassUrl;
}
let auth: Auth;
try {
this.loading = true;
auth = await getAuth(options);
} catch (err) {
if (init === "saved-tokens" && err === ERR_CANNOT_CONNECT) {
this.cannotConnect = true;
return;
}
this.error = translateErr(err);
this.loading = false;
return;
} finally {
// Clear url if we have a auth callback in url.
if (location.search.includes("auth_callback=1")) {
history.replaceState(null, "", location.pathname);
}
}
let conn: Connection;
try {
conn = await createConnection({ auth });
} catch (err) {
// In case of saved tokens, silently solve problems.
if (init === "saved-tokens") {
if (err === ERR_CANNOT_CONNECT) {
this.cannotConnect = true;
} else if (err === ERR_INVALID_AUTH) {
saveTokens(null);
}
} else {
this.error = translateErr(err);
}
return;
} finally {
this.loading = false;
}
this.auth = auth;
this.connection = conn;
this.castManager!.auth = auth;
}
private async _handleLogout() {
try {
saveTokens(null);
location.reload();
} catch (err) {
alert("Unable to log out!");
}
}
static get styles(): CSSResult {
return css`
.card-content a {
color: var(--primary-color);
}
.card-actions a {
text-decoration: none;
}
.error {
color: red;
font-weight: bold;
}
.error a {
color: darkred;
}
mwc-button ha-icon {
margin-left: 8px;
}
.spacer {
flex: 1;
}
`;
}
}
declare global {
interface HTMLElementTagNameMap {
"hc-connect": HcConnect;
}
}
+164
View File
@@ -0,0 +1,164 @@
import {
Auth,
Connection,
getUser,
HassUser,
} from "home-assistant-js-websocket";
import {
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
} from "lit-element";
import "../../../../src/components/ha-card";
@customElement("hc-layout")
class HcLayout extends LitElement {
@property() public subtitle?: string | undefined;
@property() public auth?: Auth;
@property() public connection?: Connection;
@property() public user?: HassUser;
protected render(): TemplateResult {
return html`
<ha-card>
<div class="layout">
<img class="hero" src="/images/google-nest-hub.png" />
<div class="card-header">
Home Assistant Cast${this.subtitle ? ` ${this.subtitle}` : ""}
${this.auth
? html`
<div class="subtitle">
<a href=${this.auth.data.hassUrl} target="_blank"
>${this.auth.data.hassUrl.substr(
this.auth.data.hassUrl.indexOf("//") + 2
)}</a
>
${this.user ? html` ${this.user.name} ` : ""}
</div>
`
: ""}
</div>
<slot></slot>
</div>
</ha-card>
<div class="footer">
<a href="./faq.html">Frequently Asked Questions</a> Found a bug?
<a
href="https://github.com/home-assistant/home-assistant-polymer/issues"
target="_blank"
>Let us know!</a
>
</div>
`;
}
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
if (this.connection) {
getUser(this.connection).then((user) => {
this.user = user;
});
}
}
static get styles(): CSSResult {
return css`
:host {
display: flex;
min-height: 100%;
align-items: center;
justify-content: center;
flex-direction: column;
}
ha-card {
display: flex;
width: 100%;
max-width: 500px;
}
.layout {
display: flex;
flex-direction: column;
}
.card-header {
color: var(--ha-card-header-color, --primary-text-color);
font-family: var(--ha-card-header-font-family, inherit);
font-size: var(--ha-card-header-font-size, 24px);
letter-spacing: -0.012em;
line-height: 32px;
padding: 24px 16px 16px;
display: block;
}
.subtitle {
font-size: 14px;
color: var(--secondary-text-color);
line-height: initial;
}
.subtitle a {
color: var(--secondary-text-color);
}
:host ::slotted(.card-content:not(:first-child)),
slot:not(:first-child)::slotted(.card-content) {
padding-top: 0px;
margin-top: -8px;
}
:host ::slotted(.section-header) {
font-weight: 500;
padding: 4px 16px;
text-transform: uppercase;
}
:host ::slotted(.card-content) {
padding: 16px;
flex: 1;
}
:host ::slotted(.card-actions) {
border-top: 1px solid #e8e8e8;
padding: 5px 16px;
display: flex;
}
img {
width: 100%;
}
.footer {
text-align: center;
font-size: 12px;
padding: 8px 0 24px;
color: var(--secondary-text-color);
}
.footer a {
color: var(--secondary-text-color);
}
@media all and (max-width: 500px) {
:host {
justify-content: flex-start;
min-height: 90%;
margin-bottom: 30px;
}
}
`;
}
}
declare global {
interface HTMLElementTagNameMap {
"hc-layout": HcLayout;
}
}
+2
View File
@@ -0,0 +1,2 @@
/* eslint-disable no-undef */
export const castContext = cast.framework.CastReceiverContext.getInstance();
@@ -0,0 +1,141 @@
import { convertEntities, Entity } from "../../../../src/fake_data/entity";
export const castDemoEntities: () => Entity[] = () =>
convertEntities({
"light.reading_light": {
entity_id: "light.reading_light",
state: "on",
attributes: {
friendly_name: "Reading Light",
},
},
"light.ceiling": {
entity_id: "light.ceiling",
state: "on",
attributes: {
friendly_name: "Ceiling lights",
},
},
"light.standing_lamp": {
entity_id: "light.standing_lamp",
state: "off",
attributes: {
friendly_name: "Standing Lamp",
},
},
"sensor.temperature_inside": {
entity_id: "sensor.temperature_inside",
state: "22.7",
attributes: {
battery_level: 78,
unit_of_measurement: "\u00b0C",
friendly_name: "Inside",
device_class: "temperature",
},
},
"sensor.temperature_outside": {
entity_id: "sensor.temperature_outside",
state: "31.4",
attributes: {
battery_level: 53,
unit_of_measurement: "\u00b0C",
friendly_name: "Outside",
device_class: "temperature",
},
},
"person.arsaboo": {
entity_id: "person.arsaboo",
state: "not_home",
attributes: {
radius: 50,
friendly_name: "Arsaboo",
latitude: 52.3579946,
longitude: 4.8664597,
entity_picture: "/images/arsaboo.jpg",
},
},
"person.melody": {
entity_id: "person.melody",
state: "not_home",
attributes: {
radius: 50,
friendly_name: "Melody",
latitude: 52.3408927,
longitude: 4.8711073,
entity_picture: "/images/melody.jpg",
},
},
"zone.home": {
entity_id: "zone.home",
state: "zoning",
attributes: {
hidden: true,
latitude: 52.3631339,
longitude: 4.8903147,
radius: 100,
friendly_name: "Home",
icon: "hass:home",
},
},
"input_number.harmonyvolume": {
entity_id: "input_number.harmonyvolume",
state: "18.0",
attributes: {
initial: 30,
min: 1,
max: 100,
step: 1,
mode: "slider",
friendly_name: "Volume",
icon: "hass:volume-high",
},
},
"climate.upstairs": {
entity_id: "climate.upstairs",
state: "auto",
attributes: {
current_temperature: 24,
min_temp: 15,
max_temp: 30,
temperature: null,
target_temp_high: 26,
target_temp_low: 18,
fan_mode: "auto",
fan_modes: ["auto", "on"],
hvac_modes: ["auto", "cool", "heat", "off"],
aux_heat: "off",
actual_humidity: 30,
fan: "on",
operation: "fan",
fan_min_on_time: 10,
friendly_name: "Upstairs",
supported_features: 27,
preset_mode: "away",
preset_modes: ["home", "away", "eco", "sleep"],
},
},
"climate.downstairs": {
entity_id: "climate.downstairs",
state: "auto",
attributes: {
current_temperature: 22,
min_temp: 15,
max_temp: 30,
temperature: null,
target_temp_high: 24,
target_temp_low: 20,
fan_mode: "auto",
fan_modes: ["auto", "on"],
hvac_modes: ["auto", "cool", "heat", "off"],
aux_heat: "off",
actual_humidity: 30,
fan: "on",
operation: "fan",
fan_min_on_time: 10,
friendly_name: "Downstairs",
supported_features: 27,
preset_mode: "home",
preset_modes: ["home", "away", "eco", "sleep"],
},
},
});
@@ -0,0 +1,93 @@
import {
LovelaceCardConfig,
LovelaceConfig,
} from "../../../../src/data/lovelace";
import { castContext } from "../cast_context";
export const castDemoLovelace: () => LovelaceConfig = () => {
const touchSupported = castContext.getDeviceCapabilities()
.touch_input_supported;
return {
views: [
{
path: "overview",
cards: [
{
type: "markdown",
title: "Home Assistant Cast",
content: `With Home Assistant you can easily create interfaces (just like this one) which can be shown on Chromecast devices connected to TVs or Google Assistant devices with a screen.${
touchSupported
? "\n\nYou are able to interact with this demo using the touch screen."
: "\n\nOn a Google Nest Hub you are able to interact with Home Assistant Cast via the touch screen."
}`,
},
{
type: touchSupported ? "entities" : "glance",
title: "Living Room",
entities: [
"light.reading_light",
"light.ceiling",
"light.standing_lamp",
"input_number.harmonyvolume",
],
},
{
cards: [
{
graph: "line",
type: "sensor",
entity: "sensor.temperature_inside",
},
{
graph: "line",
type: "sensor",
entity: "sensor.temperature_outside",
},
],
type: "horizontal-stack",
},
{
type: "map",
entities: ["person.arsaboo", "person.melody", "zone.home"],
aspect_ratio: touchSupported ? "16:9.3" : "16:11",
},
touchSupported && {
type: "entities",
entities: [
{
type: "weblink",
url: "/lovelace/climate",
name: "Climate controls",
icon: "hass:arrow-right",
},
],
},
].filter(Boolean) as LovelaceCardConfig[],
},
{
path: "climate",
cards: [
{
type: "thermostat",
entity: "climate.downstairs",
},
{
type: "entities",
entities: [
{
type: "weblink",
url: "/lovelace/overview",
name: "Back",
icon: "hass:arrow-left",
},
],
},
{
type: "thermostat",
entity: "climate.upstairs",
},
],
},
],
};
};
+43
View File
@@ -0,0 +1,43 @@
/* eslint-disable no-undef */
import { CAST_NS } from "../../../src/cast/const";
import { HassMessage } from "../../../src/cast/receiver_messages";
import "../../../src/resources/custom-card-support";
import { castContext } from "./cast_context";
import { HcMain } from "./layout/hc-main";
import { ReceivedMessage } from "./types";
const controller = new HcMain();
document.body.append(controller);
const options = new cast.framework.CastReceiverOptions();
options.disableIdleTimeout = true;
options.customNamespaces = {
// @ts-ignore
[CAST_NS]: cast.framework.system.MessageType.JSON,
};
// The docs say we need to set options.touchScreenOptimizeApp = true
// https://developers.google.com/cast/docs/caf_receiver/customize_ui#accessing_ui_controls
// This doesn't work.
// @ts-ignore
options.touchScreenOptimizedApp = true;
// The class reference say we can set a uiConfig in options to set it
// https://developers.google.com/cast/docs/reference/caf_receiver/cast.framework.CastReceiverOptions#uiConfig
// This doesn't work either.
// @ts-ignore
options.uiConfig = new cast.framework.ui.UiConfig();
// @ts-ignore
options.uiConfig.touchScreenOptimizedApp = true;
castContext.addCustomMessageListener(
CAST_NS,
// @ts-ignore
(ev: ReceivedMessage<HassMessage>) => {
const msg = ev.data;
msg.senderId = ev.senderId;
controller.processIncomingMessage(msg);
}
);
castContext.start(options);
+64
View File
@@ -0,0 +1,64 @@
import {
customElement,
html,
property,
internalProperty,
TemplateResult,
} from "lit-element";
import { mockHistory } from "../../../../demo/src/stubs/history";
import { LovelaceConfig } from "../../../../src/data/lovelace";
import {
MockHomeAssistant,
provideHass,
} from "../../../../src/fake_data/provide_hass";
import { HassElement } from "../../../../src/state/hass-element";
import { HomeAssistant } from "../../../../src/types";
import { castDemoEntities } from "../demo/cast-demo-entities";
import { castDemoLovelace } from "../demo/cast-demo-lovelace";
import "./hc-lovelace";
@customElement("hc-demo")
class HcDemo extends HassElement {
@property({ attribute: false }) public lovelacePath!: string;
@internalProperty() private _lovelaceConfig?: LovelaceConfig;
protected render(): TemplateResult {
if (!this._lovelaceConfig) {
return html``;
}
return html`
<hc-lovelace
.hass=${this.hass}
.lovelaceConfig=${this._lovelaceConfig}
.viewPath=${this.lovelacePath}
></hc-lovelace>
`;
}
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
this._initialize();
}
private async _initialize() {
const initial: Partial<MockHomeAssistant> = {
// Override updateHass so that the correct hass lifecycle methods are called
updateHass: (hassUpdate: Partial<HomeAssistant>) =>
this._updateHass(hassUpdate),
};
const hass = (this.hass = provideHass(this, initial));
mockHistory(hass);
hass.addEntities(castDemoEntities());
this._lovelaceConfig = castDemoLovelace();
}
}
declare global {
interface HTMLElementTagNameMap {
"hc-demo": HcDemo;
}
}
@@ -0,0 +1,63 @@
import {
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
} from "lit-element";
import { HomeAssistant } from "../../../../src/types";
@customElement("hc-launch-screen")
class HcLaunchScreen extends LitElement {
@property({ attribute: false }) public hass?: HomeAssistant;
@property() public error?: string;
protected render(): TemplateResult {
return html`
<div class="container">
<img
src="https://www.home-assistant.io/images/blog/2018-09-thinking-big/social.png"
/>
<div class="status">
${this.hass ? "Connected" : "Not Connected"}
${this.error ? html` <p>Error: ${this.error}</p> ` : ""}
</div>
</div>
`;
}
static get styles(): CSSResult {
return css`
:host {
display: block;
height: 100vh;
padding-top: 64px;
background-color: white;
font-size: 24px;
}
.container {
display: flex;
flex-direction: column;
text-align: center;
}
img {
width: 717px;
height: 376px;
display: block;
margin: 0 auto;
}
.status {
padding-right: 54px;
}
`;
}
}
declare global {
interface HTMLElementTagNameMap {
"hc-launch-screen": HcLaunchScreen;
}
}
+123
View File
@@ -0,0 +1,123 @@
import {
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
} from "lit-element";
import { LovelaceConfig } from "../../../../src/data/lovelace";
import { Lovelace } from "../../../../src/panels/lovelace/types";
import "../../../../src/panels/lovelace/views/hui-panel-view";
import "../../../../src/panels/lovelace/views/hui-view";
import { HomeAssistant } from "../../../../src/types";
import "./hc-launch-screen";
@customElement("hc-lovelace")
class HcLovelace extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: false }) public lovelaceConfig!: LovelaceConfig;
@property() public viewPath?: string | number;
public urlPath?: string | null;
protected render(): TemplateResult {
const index = this._viewIndex;
if (index === undefined) {
return html`
<hc-launch-screen
.hass=${this.hass}
.error=${`Unable to find a view with path ${this.viewPath}`}
></hc-launch-screen>
`;
}
const lovelace: Lovelace = {
config: this.lovelaceConfig,
editMode: false,
urlPath: this.urlPath!,
enableFullEditMode: () => undefined,
mode: "storage",
language: "en",
saveConfig: async () => undefined,
deleteConfig: async () => undefined,
setEditMode: () => undefined,
};
return this.lovelaceConfig.views[index].panel
? html`
<hui-panel-view
.hass=${this.hass}
.lovelace=${lovelace}
.config=${this.lovelaceConfig.views[index]}
></hui-panel-view>
`
: html`
<hui-view
.hass=${this.hass}
.lovelace=${lovelace}
.index=${index}
columns="2"
></hui-view>
`;
}
protected updated(changedProps) {
super.updated(changedProps);
if (changedProps.has("viewPath") || changedProps.has("lovelaceConfig")) {
const index = this._viewIndex;
if (index !== undefined) {
const configBackground =
this.lovelaceConfig.views[index].background ||
this.lovelaceConfig.background;
if (configBackground) {
(this.shadowRoot!.querySelector(
"hui-view, hui-panel-view"
) as HTMLElement)!.style.setProperty(
"--lovelace-background",
configBackground
);
}
}
}
}
private get _viewIndex() {
const selectedView = this.viewPath;
const selectedViewInt = parseInt(selectedView as string, 10);
for (let i = 0; i < this.lovelaceConfig.views.length; i++) {
if (
this.lovelaceConfig.views[i].path === selectedView ||
i === selectedViewInt
) {
return i;
}
}
return undefined;
}
static get styles(): CSSResult {
return css`
:host {
min-height: 100vh;
display: flex;
flex-direction: column;
box-sizing: border-box;
background: var(--primary-background-color);
}
:host > * {
flex: 1;
}
`;
}
}
declare global {
interface HTMLElementTagNameMap {
"hc-lovelace": HcLovelace;
}
}
+284
View File
@@ -0,0 +1,284 @@
import {
createConnection,
getAuth,
UnsubscribeFunc,
} from "home-assistant-js-websocket";
import {
customElement,
html,
internalProperty,
TemplateResult,
} from "lit-element";
import { CAST_NS } from "../../../../src/cast/const";
import {
ConnectMessage,
GetStatusMessage,
HassMessage,
ShowDemoMessage,
ShowLovelaceViewMessage,
} from "../../../../src/cast/receiver_messages";
import { ReceiverStatusMessage } from "../../../../src/cast/sender_messages";
import { atLeastVersion } from "../../../../src/common/config/version";
import { isNavigationClick } from "../../../../src/common/dom/is-navigation-click";
import {
fetchResources,
getLegacyLovelaceCollection,
getLovelaceCollection,
LegacyLovelaceConfig,
LovelaceConfig,
} from "../../../../src/data/lovelace";
import { loadLovelaceResources } from "../../../../src/panels/lovelace/common/load-resources";
import { HassElement } from "../../../../src/state/hass-element";
import { castContext } from "../cast_context";
import "./hc-launch-screen";
let resourcesLoaded = false;
@customElement("hc-main")
export class HcMain extends HassElement {
@internalProperty() private _showDemo = false;
@internalProperty() private _lovelaceConfig?: LovelaceConfig;
@internalProperty() private _lovelacePath: string | number | null = null;
@internalProperty() private _error?: string;
private _unsubLovelace?: UnsubscribeFunc;
private _urlPath?: string | null;
public processIncomingMessage(msg: HassMessage) {
if (msg.type === "connect") {
this._handleConnectMessage(msg);
} else if (msg.type === "show_lovelace_view") {
this._handleShowLovelaceMessage(msg);
} else if (msg.type === "get_status") {
this._handleGetStatusMessage(msg);
} else if (msg.type === "show_demo") {
this._handleShowDemo(msg);
} else {
// eslint-disable-next-line no-console
console.warn("unknown msg type", msg);
}
}
protected render(): TemplateResult {
if (this._showDemo) {
return html` <hc-demo .lovelacePath=${this._lovelacePath}></hc-demo> `;
}
if (
!this._lovelaceConfig ||
this._lovelacePath === null ||
// Guard against part of HA not being loaded yet.
(this.hass &&
(!this.hass.states || !this.hass.config || !this.hass.services))
) {
return html`
<hc-launch-screen
.hass=${this.hass}
.error=${this._error}
></hc-launch-screen>
`;
}
return html`
<hc-lovelace
.hass=${this.hass}
.lovelaceConfig=${this._lovelaceConfig}
.viewPath=${this._lovelacePath}
.urlPath=${this._urlPath}
@config-refresh=${this._generateLovelaceConfig}
></hc-lovelace>
`;
}
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
import("../second-load");
window.addEventListener("location-changed", () => {
const panelPath = `/${this._urlPath || "lovelace"}/`;
if (location.pathname.startsWith(panelPath)) {
this._lovelacePath = location.pathname.substr(panelPath.length);
this._sendStatus();
}
});
document.body.addEventListener("click", (ev) => {
const panelPath = `/${this._urlPath || "lovelace"}/`;
const href = isNavigationClick(ev);
if (href && href.startsWith(panelPath)) {
this._lovelacePath = href.substr(panelPath.length);
this._sendStatus();
}
});
}
private _sendStatus(senderId?: string) {
const status: ReceiverStatusMessage = {
type: "receiver_status",
connected: !!this.hass,
showDemo: this._showDemo,
};
if (this.hass) {
status.hassUrl = this.hass.auth.data.hassUrl;
status.lovelacePath = this._lovelacePath!;
status.urlPath = this._urlPath;
}
if (senderId) {
this.sendMessage(senderId, status);
} else {
for (const sender of castContext.getSenders()) {
this.sendMessage(sender.id, status);
}
}
}
private async _handleGetStatusMessage(msg: GetStatusMessage) {
this._sendStatus(msg.senderId!);
}
private async _handleConnectMessage(msg: ConnectMessage) {
let auth;
try {
auth = await getAuth({
loadTokens: async () => ({
hassUrl: msg.hassUrl,
clientId: msg.clientId,
refresh_token: msg.refreshToken,
access_token: "",
expires: 0,
expires_in: 0,
}),
});
} catch (err) {
this._error = this._getErrorMessage(err);
return;
}
let connection;
try {
connection = await createConnection({ auth });
} catch (err) {
this._error = this._getErrorMessage(err);
return;
}
if (this.hass) {
this.hass.connection.close();
}
this.initializeHass(auth, connection);
this._error = undefined;
this._sendStatus();
}
private async _handleShowLovelaceMessage(msg: ShowLovelaceViewMessage) {
// We should not get this command before we are connected.
// Means a client got out of sync. Let's send status to them.
if (!this.hass) {
this._sendStatus(msg.senderId!);
this._error = "Cannot show Lovelace because we're not connected.";
return;
}
if (msg.urlPath === "lovelace") {
msg.urlPath = null;
}
if (!this._unsubLovelace || this._urlPath !== msg.urlPath) {
this._urlPath = msg.urlPath;
if (this._unsubLovelace) {
this._unsubLovelace();
}
const llColl = atLeastVersion(this.hass.connection.haVersion, 0, 107)
? getLovelaceCollection(this.hass!.connection, msg.urlPath)
: getLegacyLovelaceCollection(this.hass!.connection);
// We first do a single refresh because we need to check if there is LL
// configuration.
try {
await llColl.refresh();
this._unsubLovelace = llColl.subscribe((lovelaceConfig) =>
this._handleNewLovelaceConfig(lovelaceConfig)
);
} catch (err) {
// eslint-disable-next-line
console.log("Error fetching Lovelace configuration", err, msg);
// Generate a Lovelace config.
this._unsubLovelace = () => undefined;
await this._generateLovelaceConfig();
}
}
if (!resourcesLoaded) {
resourcesLoaded = true;
const resources = atLeastVersion(this.hass.connection.haVersion, 0, 107)
? await fetchResources(this.hass!.connection)
: (this._lovelaceConfig as LegacyLovelaceConfig).resources;
if (resources) {
loadLovelaceResources(resources, this.hass!.auth.data.hassUrl);
}
}
this._showDemo = false;
this._lovelacePath = msg.viewPath;
if (castContext.getDeviceCapabilities().touch_input_supported) {
this._breakFree();
}
this._sendStatus();
}
private async _generateLovelaceConfig() {
const { generateLovelaceConfigFromHass } = await import(
"../../../../src/panels/lovelace/common/generate-lovelace-config"
);
this._handleNewLovelaceConfig(
await generateLovelaceConfigFromHass(this.hass!)
);
}
private _handleNewLovelaceConfig(lovelaceConfig: LovelaceConfig) {
castContext.setApplicationState(lovelaceConfig.title!);
this._lovelaceConfig = lovelaceConfig;
}
private _handleShowDemo(_msg: ShowDemoMessage) {
import("./hc-demo").then(() => {
this._showDemo = true;
this._lovelacePath = "overview";
this._sendStatus();
if (castContext.getDeviceCapabilities().touch_input_supported) {
this._breakFree();
}
});
}
private _getErrorMessage(error: number): string {
switch (error) {
case 1:
return "Unable to connect to the Home Assistant websocket API.";
case 2:
return "The supplied authentication is invalid.";
case 3:
return "The connection to Home Assistant was lost.";
case 4:
return "Missing hassUrl. This is required.";
case 5:
return "Home Assistant needs to be served over https:// to use with Home Assistant Cast.";
default:
return "Unknown Error";
}
}
private _breakFree() {
const controls = document.body.querySelector("touch-controls");
if (controls) {
controls.remove();
}
document.body.setAttribute("style", "overflow-y: auto !important");
}
private sendMessage(senderId: string, response: any) {
castContext.sendCustomMessage(CAST_NS, senderId, response);
}
}
declare global {
interface HTMLElementTagNameMap {
"hc-main": HcMain;
}
}
+4
View File
@@ -0,0 +1,4 @@
import "web-animations-js/web-animations-next-lite.min";
import "../../../src/resources/roboto";
import "../../../src/resources/ha-style";
import "./layout/hc-lovelace";
+6
View File
@@ -0,0 +1,6 @@
export interface ReceivedMessage<T> {
gj: boolean;
data: T;
senderId: string;
type: "message";
}
+8
View File
@@ -0,0 +1,8 @@
const { createCastConfig } = require("../build-scripts/webpack.js");
const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
module.exports = createCastConfig({
isProdBuild: isProdBuild(),
isStatsBuild: isStatsBuild(),
latestBuild: true,
});
-48
View File
@@ -1,48 +0,0 @@
module.exports.babelLoaderConfig = ({ latestBuild }) => {
if (latestBuild === undefined) {
throw Error("latestBuild not defined for babel loader config");
}
return {
test: /\.m?js$|\.tsx?$/,
use: {
loader: "babel-loader",
options: {
presets: [
!latestBuild && [
require("@babel/preset-env").default,
{ modules: false },
],
[
require("@babel/preset-typescript").default,
{
jsxPragma: "h",
},
],
].filter(Boolean),
plugins: [
// Part of ES2018. Converts {...a, b: 2} to Object.assign({}, a, {b: 2})
[
"@babel/plugin-proposal-object-rest-spread",
{ loose: true, useBuiltIns: true },
],
// Only support the syntax, Webpack will handle it.
"@babel/syntax-dynamic-import",
[
"@babel/transform-react-jsx",
{
pragma: "h",
},
],
[
require("@babel/plugin-proposal-decorators").default,
{ decoratorsBeforeExport: true },
],
[
require("@babel/plugin-proposal-class-properties").default,
{ loose: true },
],
],
},
},
};
};
-48
View File
@@ -1,48 +0,0 @@
const webpack = require("webpack");
const path = require("path");
const TerserPlugin = require("terser-webpack-plugin");
module.exports.resolve = {
extensions: [".ts", ".js", ".json", ".tsx"],
alias: {
react: "preact-compat",
"react-dom": "preact-compat",
// Not necessary unless you consume a module using `createClass`
"create-react-class": "preact-compat/lib/create-react-class",
// Not necessary unless you consume a module requiring `react-dom-factories`
"react-dom-factories": "preact-compat/lib/react-dom-factories",
},
};
module.exports.plugins = [
// Ignore moment.js locales
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
// Color.js is bloated, it contains all color definitions for all material color sets.
new webpack.NormalModuleReplacementPlugin(
/@polymer\/paper-styles\/color\.js$/,
path.resolve(__dirname, "../src/util/empty.js")
),
// Ignore roboto pointing at CDN. We use local font-roboto-local.
new webpack.NormalModuleReplacementPlugin(
/@polymer\/font-roboto\/roboto\.js$/,
path.resolve(__dirname, "../src/util/empty.js")
),
// Ignore mwc icons pointing at CDN.
new webpack.NormalModuleReplacementPlugin(
/@material\/mwc-icon\/mwc-icon-font\.js$/,
path.resolve(__dirname, "../src/util/empty.js")
),
];
module.exports.optimization = (latestBuild) => ({
minimizer: [
new TerserPlugin({
cache: true,
parallel: true,
extractComments: true,
terserOptions: {
ecma: latestBuild ? undefined : 5,
},
}),
],
});
+18
View File
@@ -0,0 +1,18 @@
/*
Cache-Control: public, max-age: 0, s-maxage=3600, must-revalidate
Content-Security-Policy: form-action https:
Referrer-Policy: no-referrer-when-downgrade
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
/api/*
Cache-Control: public, max-age: 604800, s-maxage=604800
/assets/*
Cache-Control: public, max-age: 604800, s-maxage=604800
/frontend_es5/*
Cache-Control: public, max-age: 604800, s-maxage=604800
/frontend_latest/*
Cache-Control: public, max-age: 604800, s-maxage=604800
Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Some files were not shown because too many files have changed in this diff Show More