- [[stateObj.attributes.errors]] -
++ [[stateObj.attributes.errors]] +
- -
+
-


[[error]]
-[[error]]
+[[localize('ui.panel.config.automation.picker.no_automations')]]
++ [[localize('ui.panel.config.automation.picker.no_automations')]] +
+- - To activate, search in the Alexa app for the Home Assistant Smart Home skill. + To activate, search in the Alexa app for the Home Assistant Smart + Home skill.
- - + Config documentation
Exposed entities:
-Exposed entities:
+Exposed entities:
-Exposed entities:
+- Thank you for being part of Home Assistant Cloud. It's because of people like you that we are able to make a great home automation experience for everyone. Thank you! -
-+ Thank you for being part of Home Assistant Cloud. It's because + of people like you that we are able to make a great home + automation experience for everyone. Thank you! +
+ Integrations for Home Assistant Cloud allow you to connect with + services in the cloud without having to expose your Home + Assistant instance publicly on the internet. +
++ Check the website for + all available features. +
- Integrations for Home Assistant Cloud allow you to connect with services in the cloud without having to expose your Home Assistant instance publicly on the internet. -
-- Check the website for all available features. -
-Forgot your password?
-- Enter your email address and we will send you a link to reset your password. -
-Forgot your password?
++ Enter your email address and we will send you a link to reset + your password. +
+- Home Assistant Cloud connects your local instance securely to cloud-only services Amazon Alexa and Google Assistant. -
-- This service is run by our partner Nabu Casa, Inc, a company founded by the founders of Home Assistant and Hass.io. -
-- Home Assistant Cloud is a subscription service with a free one month trial. No payment information necessary. -
- -+ Home Assistant Cloud connects your local instance securely to + cloud-only services Amazon Alexa and Google Assistant. +
++ This service is run by our partner + Nabu Casa, Inc, a company founded by the founders of Home Assistant and + Hass.io. +
++ Home Assistant Cloud is a subscription service with a free one + month trial. No payment information necessary. +
+Sign In
-Sign In
+[[localize('ui.panel.config.integrations.config_entry.no_devices')]]
- - -+ [[localize('ui.panel.config.integrations.config_entry.no_devices')]] +
+ + +- - Aborted - - - Success! - - - [[_computeStepTitle(localize, _step)]] - -
-
+
+ Aborted
+
- Created config for [[_step.title]]
+ Success!
-
-
-
-
-
-
+ [[_computeStepTitle(localize, _step)]]
-
Created config for [[_step.title]]
+ + + +- Added/edited customizations will take effect immediately. Removed customizations will take effect when the entity is updated. - -
+ Added/edited customizations will take effect immediately. Removed + customizations will take effect when the entity is updated. + +
- Changes made here won't affect your configuration. + .attributes-text { + padding-left: 20px; + } + + +
+ Changes made here won't affect your configuration. +
+ The following attributes are already set in customize.yaml
+
+
+ The following attributes are customized from outside of
+ customize.yaml
+ Possibly via a domain, a glob or a different include.
+
+
+ The following attributes of the entity are set programatically.
+ You can override them if you like.
+
+ + The following attributes weren't set. Set them if you like. +
+
- The following attributes are already set in customize.yaml
-
-
- The following attributes are customized from outside of customize.yaml
- Possibly via a domain, a glob or a different include.
-
-
- The following attributes of the entity are set programatically.
- You can override them if you like.
-
- - The following attributes weren't set. Set them if you like. -
-We couldn't find any editable scripts.
+We couldn't find any editable scripts.
+Add user
-Add user
+ID | -[[user.id]] | -
Owner | -[[user.is_owner]] | -
Active | -[[user.is_active]] | -
System generated | -[[user.system_generated]] | -
ID | +[[user.id]] | +
Owner | +[[user.is_owner]] | +
Active | +[[user.is_active]] | +
System generated | +[[user.system_generated]] | +
Ascii: [[_computedCodeOutput]]
-
-
-
- - {{event.event}} - ({{event.listener_count}} listeners) - - -
-
+
+
- + {{event.event}} + ({{event.listener_count}} listeners) + + +
- Fire an event on the event bus. -
+Fire an event on the event bus.
-Loaded Components
-The following components are currently loaded:
--
-
-
- [[item]] - -
Loaded Components
+The following components are currently loaded:
+-
+
+
- [[item]] + +
- The service dev tool allows you to call any available service in Home Assistant. -
++ The service dev tool allows you to call any available service in + Home Assistant. +
-Select a service to see the description
- - - - -No description is available
- - -[[_description]]
- -Parameter | -Description | -Example | -
---|---|---|
This service takes no parameters. | ||
[[attribute.key]] |
- [[attribute.description]] | -[[attribute.example]] | -
Select a service to see the description
+ + + + +No description is available
+ + +[[_description]]
+ +Parameter | +Description | +Example | +
---|---|---|
This service takes no parameters. | +||
[[attribute.key]] |
+ [[attribute.description]] | +[[attribute.example]] | +
- Set the representation of a device within Home Assistant.
- This will not communicate with the actual device.
-
+ Set the representation of a device within Home Assistant.
+ This will not communicate with the actual device.
+
Current entities
-Entity | -State | -
- Attributes
- |
- |||
---|---|---|---|---|---|
No entities | -
- |
- [[entity.state]] | - -[[attributeString(entity)]] | - +Entity | +State | +
+ Attributes
+ |
---|
- Templates are rendered using the Jinja2 template engine with some Home Assistant specific extensions. -
- -+ Templates are rendered using the Jinja2 template engine with some + Home Assistant specific extensions. +
+ +[[processed]]+
[[processed]]-
[[_formatDate(item.when)]]
+ + No logbook entries found. -[[_formatDate(item.when)]]
+ + + -${this._toStr(this._config.origConfig)}`; } diff --git a/src/panels/lovelace/cards/hui-gauge-card.ts b/src/panels/lovelace/cards/hui-gauge-card.ts index 5a6ebddf26..5fbfeece6f 100644 --- a/src/panels/lovelace/cards/hui-gauge-card.ts +++ b/src/panels/lovelace/cards/hui-gauge-card.ts @@ -71,30 +71,33 @@ class HuiGaugeCard extends LitElement implements LovelaceCard { } return html` - ${this.renderStyle()} -
+ >
+ >Show Entity's Name?
+ >Show Entity's State Text?
`; } diff --git a/src/panels/lovelace/editor/hui-yaml-editor.ts b/src/panels/lovelace/editor/hui-yaml-editor.ts index 3191f8de2b..eb712779a4 100644 --- a/src/panels/lovelace/editor/hui-yaml-editor.ts +++ b/src/panels/lovelace/editor/hui-yaml-editor.ts @@ -21,7 +21,7 @@ export class HuiYAMLEditor extends LitElement { }
- [[localize('ui.panel.mailbox.playback_title')]]
-
-
-
-
-
+ paper-dialog {
+ border-radius: 2px;
+ }
+ paper-dialog p {
+ color: var(--secondary-text-color);
+ }
+
+ .icon {
+ float: right;
+ }
+
+
+
+ [[localize('ui.panel.mailbox.playback_title')]]
+
+
+
+
+
+
+
+
+
+
+ [[_errorMsg]]
+
+
-
-
-
-
- [[_errorMsg]]
-
-
-
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/panels/mailbox/ha-panel-mailbox.js b/src/panels/mailbox/ha-panel-mailbox.js
index deb955d892..6cde979b4a 100644
--- a/src/panels/mailbox/ha-panel-mailbox.js
+++ b/src/panels/mailbox/ha-panel-mailbox.js
@@ -26,100 +26,106 @@ let registeredDialog = false;
class HaPanelMailbox extends EventsMixin(LocalizeMixin(PolymerElement)) {
static get template() {
return html`
-
+ .content {
+ padding: 16px;
+ max-width: 600px;
+ margin: 0 auto;
+ }
-
-
-
-
- [[localize('panel.mailbox')]]
-
-
-
-
-
- [[getPlatformName(item)]]
-
+ paper-card {
+ display: block;
+ }
+
+ paper-item {
+ cursor: pointer;
+ }
+
+ .empty {
+ text-align: center;
+ color: var(--secondary-text-color);
+ }
+
+ .header {
+ @apply --paper-font-title;
+ }
+
+ .row {
+ display: flex;
+ justify-content: space-between;
+ }
+
+ @media all and (max-width: 450px) {
+ .content {
+ width: auto;
+ padding: 0;
+ }
+ }
+
+ .tip {
+ color: var(--secondary-text-color);
+ font-size: 14px;
+ }
+ .date {
+ color: var(--primary-text-color);
+ }
+
+
+
+
+
+
+ [[localize('panel.mailbox')]]
+
+
+
+
+
+ [[getPlatformName(item)]]
+
+
+
+
+
+
+
+
+
+ [[localize('ui.panel.mailbox.empty')]]
+
-
+
+
+
+
+ [[item.caller]]
+
+ [[localize('ui.duration.second', 'count', item.duration)]]
+
+
+
+ [[item.timestamp]] -
+ [[item.message]]
+
+
+
+
+
-
-
-
-
-
- [[localize('ui.panel.mailbox.empty')]]
-
-
-
-
-
-
- [[item.caller]]
- [[localize('ui.duration.second', 'count', item.duration)]]
-
-
- [[item.timestamp]] - [[item.message]]
-
-
-
-
-
-
-
+
`;
}
diff --git a/src/panels/map/ha-entity-marker.js b/src/panels/map/ha-entity-marker.js
index a575f22418..18f853d4b6 100644
--- a/src/panels/map/ha-entity-marker.js
+++ b/src/panels/map/ha-entity-marker.js
@@ -10,35 +10,42 @@ import EventsMixin from "../../mixins/events-mixin";
class HaEntityMarker extends EventsMixin(PolymerElement) {
static get template() {
return html`
-
-
+
+
-
- [[entityName]]
-
-
-
-
-`;
+
+ [[entityName]]
+
+
+
+
+ `;
}
static get properties() {
diff --git a/src/panels/map/ha-panel-map.js b/src/panels/map/ha-panel-map.js
index bb69bf4416..0a13829de7 100644
--- a/src/panels/map/ha-panel-map.js
+++ b/src/panels/map/ha-panel-map.js
@@ -21,20 +21,23 @@ Leaflet.Icon.Default.imagePath = "/static/images/leaflet";
class HaPanelMap extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
+
-
-
- [[localize('panel.map')]]
-
+
+
+ [[localize('panel.map')]]
+
-
+
`;
}
diff --git a/src/panels/profile/ha-change-password-card.js b/src/panels/profile/ha-change-password-card.js
index 8511669f6f..75e7c45d68 100644
--- a/src/panels/profile/ha-change-password-card.js
+++ b/src/panels/profile/ha-change-password-card.js
@@ -15,74 +15,77 @@ import "../../resources/ha-style";
class HaChangePasswordCard extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
-
-
-
-
- [[_errorMsg]]
-
-
- [[_statusMsg]]
-
-
-
+
+
+
+
+
+ [[_errorMsg]]
+
+
+ [[_statusMsg]]
+
-
-
-
-
-
-
-
-
- [[localize('ui.panel.profile.change_password.submit')]]
-
-
-
-
-`;
+
+
+
+
+
+
+
+
+
+
+ [[localize('ui.panel.profile.change_password.submit')]]
+
+
+
+
+ `;
}
static get properties() {
diff --git a/src/panels/profile/ha-long-lived-access-tokens-card.js b/src/panels/profile/ha-long-lived-access-tokens-card.js
index a6843d5e6a..3493bc20bd 100644
--- a/src/panels/profile/ha-long-lived-access-tokens-card.js
+++ b/src/panels/profile/ha-long-lived-access-tokens-card.js
@@ -17,45 +17,55 @@ import "./ha-settings-row";
class HaLongLivedTokens extends LocalizeMixin(EventsMixin(PolymerElement)) {
static get template() {
return html`
-
-
-
-
- [[localize('ui.panel.profile.long_lived_access_tokens.description')]]
-
- [[localize('ui.panel.profile.long_lived_access_tokens.learn_auth_requests')]]
-
-
-
- [[localize('ui.panel.profile.long_lived_access_tokens.empty_state')]]
+
+
+
+
+ [[localize('ui.panel.profile.long_lived_access_tokens.description')]]
+
+ [[localize('ui.panel.profile.long_lived_access_tokens.learn_auth_requests')]]
+
+
+
+
+ [[localize('ui.panel.profile.long_lived_access_tokens.empty_state')]]
+
+
+
+
+
+ [[item.client_name]]
+ [[_formatCreatedAt(item.created_at)]]
+
+
-
-
-
- [[item.client_name]]
- [[_formatCreatedAt(item.created_at)]]
-
-
-
-
-
- [[localize('ui.panel.profile.long_lived_access_tokens.create')]]
-
-
-
+
+
+ [[localize('ui.panel.profile.long_lived_access_tokens.create')]]
+
+
+
`;
}
diff --git a/src/panels/profile/ha-mfa-module-setup-flow.js b/src/panels/profile/ha-mfa-module-setup-flow.js
index c98b02488c..27f7da490e 100644
--- a/src/panels/profile/ha-mfa-module-setup-flow.js
+++ b/src/panels/profile/ha-mfa-module-setup-flow.js
@@ -21,96 +21,116 @@ let instance = 0;
class HaMfaModuleSetupFlow extends LocalizeMixin(EventsMixin(PolymerElement)) {
static get template() {
return html`
-
-
-
-
- [[localize('ui.panel.profile.mfa_setup.title_aborted')]]
-
-
- [[localize('ui.panel.profile.mfa_setup.title_success')]]
-
-
- [[_computeStepTitle(localize, _step)]]
-
-
-
-
- [[_errorMsg]]
-
-
-
-
-
+
+
+
-
+ [[localize('ui.panel.profile.mfa_setup.title_aborted')]]
-
- [[localize('ui.panel.profile.mfa_setup.step_done', 'step', _step.title)]]
+ [[localize('ui.panel.profile.mfa_setup.title_success')]]
-
-
-
+ [[_computeStepTitle(localize, _step)]]
+
+
+
+
+ [[_errorMsg]]
+
+
+
+
+
+
+
+
+
-
+
+
+ [[localize('ui.panel.profile.mfa_setup.step_done', 'step',
+ _step.title)]]
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- [[localize('ui.panel.profile.mfa_setup.close')]]
-
-
- [[localize('ui.panel.profile.mfa_setup.close')]]
-
-
-
-
+
+
+
+ [[localize('ui.panel.profile.mfa_setup.close')]]
-
- [[localize('ui.panel.profile.mfa_setup.submit')]]
+
+ [[localize('ui.panel.profile.mfa_setup.close')]]
-
-
-
-`;
+
+
+
+
+
+
+
+ [[localize('ui.panel.profile.mfa_setup.submit')]]
+
+
+
+
+ `;
}
static get properties() {
diff --git a/src/panels/profile/ha-mfa-modules-card.js b/src/panels/profile/ha-mfa-modules-card.js
index 9bcd647b04..daaccd1c2b 100644
--- a/src/panels/profile/ha-mfa-modules-card.js
+++ b/src/panels/profile/ha-mfa-modules-card.js
@@ -19,49 +19,50 @@ let registeredDialog = false;
class HaMfaModulesCard extends EventsMixin(LocalizeMixin(PolymerElement)) {
static get template() {
return html`
-
-
-
-
-
- [[module.name]]
- [[module.id]]
-
-
- [[localize('ui.panel.profile.mfa.disable')]]
-
-
- [[localize('ui.panel.profile.mfa.enable')]]
-
-
-
-
-`;
+
+
+
+
+
+ [[module.name]]
+ [[module.id]]
+
+
+ [[localize('ui.panel.profile.mfa.disable')]]
+
+
+ [[localize('ui.panel.profile.mfa.enable')]]
+
+
+
+
+ `;
}
static get properties() {
diff --git a/src/panels/profile/ha-panel-profile.js b/src/panels/profile/ha-panel-profile.js
index b642aa2764..b07f16b943 100644
--- a/src/panels/profile/ha-panel-profile.js
+++ b/src/panels/profile/ha-panel-profile.js
@@ -30,85 +30,90 @@ import "./ha-push-notifications-row";
class HaPanelProfile extends EventsMixin(LocalizeMixin(PolymerElement)) {
static get template() {
return html`
-
+ .content > * {
+ display: block;
+ margin: 24px 0;
+ }
+
-
-
-
-
- [[localize('panel.profile')]]
-
-
+
+
+
+
+ [[localize('panel.profile')]]
+
+
-
-
-
- [[localize('ui.panel.profile.current_user', 'fullName', hass.user.name)]]
- [[localize('ui.panel.profile.is_owner')]]
-
+
+
+
+ [[localize('ui.panel.profile.current_user', 'fullName',
+ hass.user.name)]]
+ [[localize('ui.panel.profile.is_owner')]]
+
-
+
-
+
+
+
+
+ [[localize('ui.panel.profile.logout')]]
+
+
+
+
+
+
+
+
-
+
+
-
+
+
-
-
- [[localize('ui.panel.profile.logout')]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ refresh-tokens="[[_refreshTokens]]"
+ on-hass-refresh-tokens="_refreshRefreshTokens"
+ >
+
+
`;
}
diff --git a/src/panels/profile/ha-pick-language-row.js b/src/panels/profile/ha-pick-language-row.js
index 1b1a1e89de..5e73e24e16 100644
--- a/src/panels/profile/ha-pick-language-row.js
+++ b/src/panels/profile/ha-pick-language-row.js
@@ -17,24 +17,39 @@ import "./ha-settings-row";
class HaPickLanguageRow extends LocalizeMixin(EventsMixin(PolymerElement)) {
static get template() {
return html`
-
-
- [[localize('ui.panel.profile.language.header')]]
-
- [[localize('ui.panel.profile.language.link_promo')]]
-
-
-
-
- [[item.nativeName]]
-
-
-
-
+
+
+ [[localize('ui.panel.profile.language.header')]]
+
+ [[localize('ui.panel.profile.language.link_promo')]]
+
+
+
+
+ [[item.nativeName]]
+
+
+
+
`;
}
diff --git a/src/panels/profile/ha-pick-theme-row.js b/src/panels/profile/ha-pick-theme-row.js
index 4d3dc557c6..25220a7e7b 100644
--- a/src/panels/profile/ha-pick-theme-row.js
+++ b/src/panels/profile/ha-pick-theme-row.js
@@ -15,31 +15,37 @@ import LocalizeMixin from "../../mixins/localize-mixin";
class HaPickThemeRow extends LocalizeMixin(EventsMixin(PolymerElement)) {
static get template() {
return html`
-
-
- [[localize('ui.panel.profile.themes.header')]]
-
-
- [[localize('ui.panel.profile.themes.error_no_theme')]]
-
- [[localize('ui.panel.profile.themes.link_promo')]]
-
-
-
-
- [[theme]]
+
+
+ [[localize('ui.panel.profile.themes.header')]]
+
+
+ [[localize('ui.panel.profile.themes.error_no_theme')]]
-
-
-
+ [[localize('ui.panel.profile.themes.link_promo')]]
+
+
+
+
+ [[theme]]
+
+
+
+
`;
}
diff --git a/src/panels/profile/ha-push-notifications-row.js b/src/panels/profile/ha-push-notifications-row.js
index 83c31f01ee..eb8f3ef0a3 100644
--- a/src/panels/profile/ha-push-notifications-row.js
+++ b/src/panels/profile/ha-push-notifications-row.js
@@ -17,24 +17,28 @@ import "./ha-settings-row";
class HaPushNotificationsRow extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
-
- [[localize('ui.panel.profile.push_notifications.header')]]
-
- [[_description(_platformLoaded, _pushSupported)]]
- [[localize('ui.panel.profile.push_notifications.link_promo')]]
-
-
-
+
+
+ [[localize('ui.panel.profile.push_notifications.header')]]
+
+ [[_description(_platformLoaded, _pushSupported)]]
+ [[localize('ui.panel.profile.push_notifications.link_promo')]]
+
+
+
`;
}
diff --git a/src/panels/profile/ha-refresh-tokens-card.js b/src/panels/profile/ha-refresh-tokens-card.js
index 1de26dfb36..48a9b5e34e 100644
--- a/src/panels/profile/ha-refresh-tokens-card.js
+++ b/src/panels/profile/ha-refresh-tokens-card.js
@@ -16,39 +16,43 @@ import "./ha-settings-row";
class HaRefreshTokens extends LocalizeMixin(EventsMixin(PolymerElement)) {
static get template() {
return html`
-
-
- [[localize('ui.panel.profile.refresh_tokens.description')]]
-
-
- [[_formatTitle(item.client_id)]]
- [[_formatCreatedAt(item.created_at)]]
- [[_formatLastUsed(item)]]
-
-
- [[localize('ui.panel.profile.refresh_tokens.current_token_tooltip')]]
-
-
-
-
-
-
+
+
+
+ [[localize('ui.panel.profile.refresh_tokens.description')]]
+
+
+
+ [[_formatTitle(item.client_id)]]
+ [[_formatCreatedAt(item.created_at)]]
+ [[_formatLastUsed(item)]]
+
+
+ [[localize('ui.panel.profile.refresh_tokens.current_token_tooltip')]]
+
+
+
+
+
+
`;
}
diff --git a/src/panels/profile/ha-settings-row.js b/src/panels/profile/ha-settings-row.js
index 7bba46651c..cfdb7b1512 100644
--- a/src/panels/profile/ha-settings-row.js
+++ b/src/panels/profile/ha-settings-row.js
@@ -4,29 +4,29 @@ import { PolymerElement } from "@polymer/polymer/polymer-element";
class HaSettingsRow extends PolymerElement {
static get template() {
return html`
-
-
-
-
-
-
+
+
+
+
+
+
`;
}
diff --git a/src/panels/shopping-list/ha-panel-shopping-list.js b/src/panels/shopping-list/ha-panel-shopping-list.js
index 5c4602a4c5..9e7935429d 100644
--- a/src/panels/shopping-list/ha-panel-shopping-list.js
+++ b/src/panels/shopping-list/ha-panel-shopping-list.js
@@ -23,116 +23,122 @@ import LocalizeMixin from "../../mixins/localize-mixin";
class HaPanelShoppingList extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
+ app-toolbar paper-item {
+ cursor: pointer;
+ }
+ .content {
+ padding-bottom: 32px;
+ max-width: 600px;
+ margin: 0 auto;
+ }
+ paper-card {
+ display: block;
+ }
+ paper-icon-item {
+ border-top: 1px solid var(--divider-color);
+ }
+ paper-icon-item:first-child {
+ border-top: 0;
+ }
+ paper-checkbox {
+ padding: 11px;
+ }
+ paper-input {
+ --paper-input-container-underline: {
+ display: none;
+ }
+ --paper-input-container-underline-focus: {
+ display: none;
+ }
+ position: relative;
+ top: 1px;
+ }
+ .tip {
+ padding: 24px;
+ text-align: center;
+ color: var(--secondary-text-color);
+ }
+
-
-
-
-
- [[localize('panel.shopping_list')]]
-
-
-
-
- [[localize('ui.panel.shopping-list.clear_completed')]]
-
-
-
-
+
+
+
+
+ [[localize('panel.shopping_list')]]
+
+
+
+
+ [[localize('ui.panel.shopping-list.clear_completed')]]
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
- [[localize('ui.panel.shopping-list.microphone_tip')]]
+
+
+
+
+
+
+
+
+
+
+
+ [[localize('ui.panel.shopping-list.microphone_tip')]]
+
-
-
+
`;
}
diff --git a/src/resources/html-import/polyfill.js b/src/resources/html-import/polyfill.js
index ea9ccd8127..bb357ae2f6 100644
--- a/src/resources/html-import/polyfill.js
+++ b/src/resources/html-import/polyfill.js
@@ -419,8 +419,8 @@
return a
? a.href
: p && p.get
- ? p.get.call(this)
- : (document.querySelector("base") || window.location).href;
+ ? p.get.call(this)
+ : (document.querySelector("base") || window.location).href;
},
configurable: !0,
enumerable: !0,
diff --git a/src/resources/jquery.roundslider.js b/src/resources/jquery.roundslider.js
index 16ada36315..471e5a0c57 100644
--- a/src/resources/jquery.roundslider.js
+++ b/src/resources/jquery.roundslider.js
@@ -3,4 +3,8 @@ import "./jquery";
import "round-slider";
import roundSliderCSS from "round-slider/dist/roundslider.min.css";
-export const roundSliderStyle = html``;
+export const roundSliderStyle = html`
+
+`;
diff --git a/src/state-summary/state-card-climate.js b/src/state-summary/state-card-climate.js
index a3df097492..70cf125569 100644
--- a/src/state-summary/state-card-climate.js
+++ b/src/state-summary/state-card-climate.js
@@ -8,34 +8,37 @@ import "../components/ha-climate-state";
class StateCardClimate extends PolymerElement {
static get template() {
return html`
-
-
+
+ ha-climate-state {
+ margin-left: 16px;
+ text-align: right;
+ }
+
-
- ${this.stateInfoTemplate}
-
-
-`;
+
+ ${this.stateInfoTemplate}
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-configurator.js b/src/state-summary/state-card-configurator.js
index e9b49018a0..4b8449ff40 100644
--- a/src/state-summary/state-card-configurator.js
+++ b/src/state-summary/state-card-configurator.js
@@ -13,37 +13,39 @@ import LocalizeMixin from "../mixins/localize-mixin";
class StateCardConfigurator extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
-
+
+
-
- ${this.stateInfoTemplate}
- [[_localizeState(stateObj.state)]]
-
+
+ ${this.stateInfoTemplate}
+ [[_localizeState(stateObj.state)]]
+
-
-
-
-
-`;
+
+
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-cover.js b/src/state-summary/state-card-cover.js
index 94c275fbb5..2ecb7f66ed 100644
--- a/src/state-summary/state-card-cover.js
+++ b/src/state-summary/state-card-cover.js
@@ -10,31 +10,39 @@ import CoverEntity from "../util/cover-model";
class StateCardCover extends PolymerElement {
static get template() {
return html`
-
-
+
+
-
- ${this.stateInfoTemplate}
-
-
-
+
+ ${this.stateInfoTemplate}
+
+
+
+
-
-`;
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-display.js b/src/state-summary/state-card-display.js
index 0438fa425f..7414666cd2 100644
--- a/src/state-summary/state-card-display.js
+++ b/src/state-summary/state-card-display.js
@@ -14,44 +14,45 @@ import attributeClassNames from "../common/entity/attribute_class_names";
class StateCardDisplay extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
- state-info {
- flex: 1 1 auto;
- min-width: 0;
- }
- .state {
- @apply --paper-font-body1;
- color: var(--primary-text-color);
- margin-left: 16px;
- text-align: right;
- max-width: 40%;
- flex: 0 0 auto;
- }
- .state.has-unit_of_measurement {
- white-space: nowrap;
- }
-
-
- ${this.stateInfoTemplate}
- [[computeStateDisplay(localize, stateObj, language)]]
-`;
+ ${this.stateInfoTemplate}
+
+ [[computeStateDisplay(localize, stateObj, language)]]
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-input_number.js b/src/state-summary/state-card-input_number.js
index 8b13308ab9..6f914e6662 100644
--- a/src/state-summary/state-card-input_number.js
+++ b/src/state-summary/state-card-input_number.js
@@ -14,50 +14,81 @@ class StateCardInputNumber extends mixinBehaviors(
) {
static get template() {
return html`
-
-
+
+ }
+ ha-slider[hidden] {
+ display: none !important;
+ }
+ paper-input {
+ text-align: right;
+ margin-left: auto;
+ }
+
-
- ${this.stateInfoTemplate}
-
-
-
-
- [[stateObj.attributes.unit_of_measurement]]
- [[value]] [[stateObj.attributes.unit_of_measurement]]
-
-`;
+
+ ${this.stateInfoTemplate}
+
+
+
+
+
+ [[stateObj.attributes.unit_of_measurement]]
+
+
+ [[value]] [[stateObj.attributes.unit_of_measurement]]
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
ready() {
diff --git a/src/state-summary/state-card-input_select.js b/src/state-summary/state-card-input_select.js
index 4d881a8014..76e4667988 100644
--- a/src/state-summary/state-card-input_select.js
+++ b/src/state-summary/state-card-input_select.js
@@ -11,41 +11,48 @@ import computeStateName from "../common/entity/compute_state_name";
class StateCardInputSelect extends PolymerElement {
static get template() {
return html`
-
+ paper-item {
+ cursor: pointer;
+ }
+
- ${this.stateBadgeTemplate}
-
-
-
- [[item]]
-
-
-
-`;
+ ${this.stateBadgeTemplate}
+
+
+
+ [[item]]
+
+
+
+ `;
}
static get stateBadgeTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-input_text.js b/src/state-summary/state-card-input_text.js
index 6f0f2a4158..7840133218 100644
--- a/src/state-summary/state-card-input_text.js
+++ b/src/state-summary/state-card-input_text.js
@@ -8,29 +8,40 @@ import "../components/entity/state-info";
class StateCardInputText extends PolymerElement {
static get template() {
return html`
-
-
+
+
-
- ${this.stateInfoTemplate}
-
-
-
-`;
+
+ ${this.stateInfoTemplate}
+
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-lock.js b/src/state-summary/state-card-lock.js
index cb99b3fe33..d3fa3c4c0d 100644
--- a/src/state-summary/state-card-lock.js
+++ b/src/state-summary/state-card-lock.js
@@ -13,33 +13,43 @@ import LocalizeMixin from "../mixins/localize-mixin";
class StateCardLock extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
-
+
+
-
- ${this.stateInfoTemplate}
- [[localize('ui.card.lock.unlock')]]
- [[localize('ui.card.lock.lock')]]
-
-`;
+
+ ${this.stateInfoTemplate}
+ [[localize('ui.card.lock.unlock')]]
+ [[localize('ui.card.lock.lock')]]
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-media_player.js b/src/state-summary/state-card-media_player.js
index 593c71a800..afc3b97103 100644
--- a/src/state-summary/state-card-media_player.js
+++ b/src/state-summary/state-card-media_player.js
@@ -12,53 +12,55 @@ import HassMediaPlayerEntity from "../util/hass-media-player-model";
class StateCardMediaPlayer extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
-
+
+ .secondary-text {
+ @apply --paper-font-common-nowrap;
+ color: var(--secondary-text-color);
+ }
+
-
- ${this.stateInfoTemplate}
-
- [[computePrimaryText(localize, playerObj)]]
- [[playerObj.secondaryTitle]]
+
+ ${this.stateInfoTemplate}
+
+
+ [[computePrimaryText(localize, playerObj)]]
+
+ [[playerObj.secondaryTitle]]
+
-
-`;
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-scene.js b/src/state-summary/state-card-scene.js
index 335ca5554f..02ab4491d6 100644
--- a/src/state-summary/state-card-scene.js
+++ b/src/state-summary/state-card-scene.js
@@ -12,32 +12,34 @@ import LocalizeMixin from "../mixins/localize-mixin";
class StateCardScene extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
-
+
+
-
- ${this.stateInfoTemplate}
- [[localize('ui.card.scene.activate')]]
-
-`;
+
+ ${this.stateInfoTemplate}
+ [[localize('ui.card.scene.activate')]]
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-script.js b/src/state-summary/state-card-script.js
index 38155b3057..d74b04f890 100644
--- a/src/state-summary/state-card-script.js
+++ b/src/state-summary/state-card-script.js
@@ -14,41 +14,46 @@ import LocalizeMixin from "../mixins/localize-mixin";
class StateCardScript extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
-
-
+
+ ha-entity-toggle {
+ margin-left: 16px;
+ }
+
-
- ${this.stateInfoTemplate}
-
-
-
-
- [[localize('ui.card.script.execute')]]
-
-
-`;
+
+ ${this.stateInfoTemplate}
+
+
+
+
+ [[localize('ui.card.script.execute')]]
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-timer.js b/src/state-summary/state-card-timer.js
index b108a200cd..da8d2a8ef7 100644
--- a/src/state-summary/state-card-timer.js
+++ b/src/state-summary/state-card-timer.js
@@ -10,33 +10,33 @@ import secondsToDuration from "../common/datetime/seconds_to_duration";
class StateCardTimer extends PolymerElement {
static get template() {
return html`
-
-
+
+ margin-left: 16px;
+ text-align: right;
+ line-height: 40px;
+ }
+
-
- ${this.stateInfoTemplate}
- [[_secondsToDuration(timeRemaining)]]
-
-`;
+
+ ${this.stateInfoTemplate}
+ [[_secondsToDuration(timeRemaining)]]
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-toggle.js b/src/state-summary/state-card-toggle.js
index ae96ab28ed..391da0dc25 100644
--- a/src/state-summary/state-card-toggle.js
+++ b/src/state-summary/state-card-toggle.js
@@ -8,29 +8,32 @@ import "../components/entity/state-info";
class StateCardToggle extends PolymerElement {
static get template() {
return html`
-
-
+
+
-
- ${this.stateInfoTemplate}
-
-
-`;
+
+ ${this.stateInfoTemplate}
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-vacuum.js b/src/state-summary/state-card-vacuum.js
index d976fd5b1c..2900d322cd 100644
--- a/src/state-summary/state-card-vacuum.js
+++ b/src/state-summary/state-card-vacuum.js
@@ -8,23 +8,26 @@ import "../components/ha-vacuum-state";
class StateCardVacuum extends PolymerElement {
static get template() {
return html`
-
+
-
- ${this.stateInfoTemplate}
-
-
-`;
+
+ ${this.stateInfoTemplate}
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-water_heater.js b/src/state-summary/state-card-water_heater.js
index c04214edbc..92ae779930 100644
--- a/src/state-summary/state-card-water_heater.js
+++ b/src/state-summary/state-card-water_heater.js
@@ -8,34 +8,37 @@ import "../components/ha-water_heater-state";
class StateCardWaterHeater extends PolymerElement {
static get template() {
return html`
-
-
+
+ ha-water_heater-state {
+ margin-left: 16px;
+ text-align: right;
+ }
+
-
- ${this.stateInfoTemplate}
-
-
-`;
+
+ ${this.stateInfoTemplate}
+
+
+ `;
}
static get stateInfoTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/src/state-summary/state-card-weblink.js b/src/state-summary/state-card-weblink.js
index 467f5318b2..d078965983 100644
--- a/src/state-summary/state-card-weblink.js
+++ b/src/state-summary/state-card-weblink.js
@@ -8,30 +8,32 @@ import computeStateName from "../common/entity/compute_state_name";
class StateCardWeblink extends PolymerElement {
static get template() {
return html`
-
+ text-transform: capitalize;
+ line-height: 40px;
+ margin-left: 16px;
+ }
+
- ${this.stateBadgeTemplate}
- [[_computeStateName(stateObj)]]
-`;
+ ${this.stateBadgeTemplate}
+ [[_computeStateName(stateObj)]]
+ `;
}
static get stateBadgeTemplate() {
return html`
-
-`;
+
+ `;
}
static get properties() {
diff --git a/yarn.lock b/yarn.lock
index ac098fafe2..60d7d99e6d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -11109,9 +11109,9 @@ prettier-linter-helpers@^1.0.0:
fast-diff "^1.1.2"
prettier@^1.14.3:
- version "1.14.3"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.3.tgz#90238dd4c0684b7edce5f83b0fb7328e48bd0895"
- integrity sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==
+ version "1.15.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.1.tgz#06c67106afb1b40e74b002353b2079cc7e0e67bf"
+ integrity sha512-4rgV2hyc/5Pk0XHH4VjJWHRgVjgRbpMfLQjREAhHBtyW1UvTFkjJEsueGYNYYZd9mn97K+1qv0EBwm11zoaSgA==
pretty-bytes@^4.0.2:
version "4.0.2"
+ [[localize('ui.panel.mailbox.playback_title')]]
+
+
+
+
+
+
+
+
+ - [[localize('ui.panel.profile.long_lived_access_tokens.description')]] - - [[localize('ui.panel.profile.long_lived_access_tokens.learn_auth_requests')]] - -
- -[[localize('ui.panel.profile.long_lived_access_tokens.empty_state')]]
+ ++ [[localize('ui.panel.profile.long_lived_access_tokens.description')]] + + [[localize('ui.panel.profile.long_lived_access_tokens.learn_auth_requests')]] + +
+ ++ [[localize('ui.panel.profile.long_lived_access_tokens.empty_state')]] +
+ +- - [[localize('ui.panel.profile.mfa_setup.title_aborted')]] - - - [[localize('ui.panel.profile.mfa_setup.title_success')]] - - - [[_computeStepTitle(localize, _step)]] - -
-
-
+ [[localize('ui.panel.profile.mfa_setup.title_aborted')]]
-
- [[localize('ui.panel.profile.mfa_setup.step_done', 'step', _step.title)]]
+ [[localize('ui.panel.profile.mfa_setup.title_success')]]
-
-
-
+ [[_computeStepTitle(localize, _step)]]
+
+
+ + [[localize('ui.panel.profile.mfa_setup.step_done', 'step', + _step.title)]] +
+ + + + +