mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-15 05:16:34 +00:00
Update lint tools (#2576)
* Update lint * Prettier Hass.io * Update prettier
This commit is contained in:
parent
5a6d537d43
commit
8db111c2fb
@ -8,7 +8,8 @@
|
||||
},
|
||||
"settings": {
|
||||
"react": {
|
||||
"pragma": "h"
|
||||
"pragma": "h",
|
||||
"version": "15.0"
|
||||
},
|
||||
"import/resolver": {
|
||||
"webpack": {
|
||||
|
@ -54,26 +54,24 @@ export class HADemoCard extends LitElement implements LovelaceCard {
|
||||
.disabled=${this._switching}
|
||||
></paper-icon-button>
|
||||
<div>
|
||||
${
|
||||
this._switching
|
||||
? html`
|
||||
<paper-spinner-lite active></paper-spinner-lite>
|
||||
`
|
||||
: until(
|
||||
selectedDemoConfig.then(
|
||||
(conf) => html`
|
||||
${conf.name}
|
||||
<small>
|
||||
by
|
||||
<a target="_blank" href="${conf.authorUrl}">
|
||||
${conf.authorName}
|
||||
</a>
|
||||
</small>
|
||||
`
|
||||
),
|
||||
""
|
||||
)
|
||||
}
|
||||
${this._switching
|
||||
? html`
|
||||
<paper-spinner-lite active></paper-spinner-lite>
|
||||
`
|
||||
: until(
|
||||
selectedDemoConfig.then(
|
||||
(conf) => html`
|
||||
${conf.name}
|
||||
<small>
|
||||
by
|
||||
<a target="_blank" href="${conf.authorUrl}">
|
||||
${conf.authorName}
|
||||
</a>
|
||||
</small>
|
||||
`
|
||||
),
|
||||
""
|
||||
)}
|
||||
</div>
|
||||
<paper-icon-button
|
||||
@click=${this._nextConfig}
|
||||
|
@ -8,25 +8,23 @@ export class DemoUtilLongPress extends LitElement {
|
||||
protected render(): TemplateResult | void {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
${
|
||||
[1, 2, 3].map(
|
||||
() => html`
|
||||
<ha-card>
|
||||
<paper-button
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
>
|
||||
(long) press me!
|
||||
</paper-button>
|
||||
${[1, 2, 3].map(
|
||||
() => html`
|
||||
<ha-card>
|
||||
<paper-button
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
>
|
||||
(long) press me!
|
||||
</paper-button>
|
||||
|
||||
<textarea></textarea>
|
||||
<textarea></textarea>
|
||||
|
||||
<div>(try pressing and scrolling too!)</div>
|
||||
</ha-card>
|
||||
`
|
||||
)
|
||||
}
|
||||
<div>(try pressing and scrolling too!)</div>
|
||||
</ha-card>
|
||||
`
|
||||
)}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -62,14 +62,14 @@ class HassioPagesWithTabs extends NavigateMixin(PolymerElement) {
|
||||
<paper-tab page-name="system">System</paper-tab>
|
||||
</paper-tabs>
|
||||
</app-header>
|
||||
<template is="dom-if" if="[[equals(page, "dashboard")]]">
|
||||
<template is="dom-if" if='[[equals(page, "dashboard")]]'>
|
||||
<hassio-dashboard
|
||||
hass="[[hass]]"
|
||||
supervisor-info="[[supervisorInfo]]"
|
||||
hass-info="[[hassInfo]]"
|
||||
></hassio-dashboard>
|
||||
</template>
|
||||
<template is="dom-if" if="[[equals(page, "snapshots")]]">
|
||||
<template is="dom-if" if='[[equals(page, "snapshots")]]'>
|
||||
<hassio-snapshots
|
||||
hass="[[hass]]"
|
||||
installed-addons="[[supervisorInfo.addons]]"
|
||||
@ -77,10 +77,10 @@ class HassioPagesWithTabs extends NavigateMixin(PolymerElement) {
|
||||
snapshot-deleted="{{snapshotDeleted}}"
|
||||
></hassio-snapshots>
|
||||
</template>
|
||||
<template is="dom-if" if="[[equals(page, "store")]]">
|
||||
<template is="dom-if" if='[[equals(page, "store")]]'>
|
||||
<hassio-addon-store hass="[[hass]]"></hassio-addon-store>
|
||||
</template>
|
||||
<template is="dom-if" if="[[equals(page, "system")]]">
|
||||
<template is="dom-if" if='[[equals(page, "system")]]'>
|
||||
<hassio-system
|
||||
hass="[[hass]]"
|
||||
supervisor-info="[[supervisorInfo]]"
|
||||
@ -94,7 +94,7 @@ class HassioPagesWithTabs extends NavigateMixin(PolymerElement) {
|
||||
content="[[markdownContent]]"
|
||||
></hassio-markdown-dialog>
|
||||
|
||||
<template is="dom-if" if="[[equals(page, "snapshots")]]">
|
||||
<template is="dom-if" if='[[equals(page, "snapshots")]]'>
|
||||
<hassio-snapshot
|
||||
hass="[[hass]]"
|
||||
snapshot-slug="{{snapshotSlug}}"
|
||||
|
@ -50,10 +50,7 @@ class HassioSupervisorInfo extends EventsMixin(PolymerElement) {
|
||||
<td>Latest version</td>
|
||||
<td>[[data.last_version]]</td>
|
||||
</tr>
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[!_equals(data.channel, "stable")]]"
|
||||
>
|
||||
<template is="dom-if" if='[[!_equals(data.channel, "stable")]]'>
|
||||
<tr>
|
||||
<td>Channel</td>
|
||||
<td>[[data.channel]]</td>
|
||||
@ -74,10 +71,7 @@ class HassioSupervisorInfo extends EventsMixin(PolymerElement) {
|
||||
>Update</ha-call-api-button
|
||||
>
|
||||
</template>
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(data.channel, "beta")]]"
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(data.channel, "beta")]]'>
|
||||
<ha-call-api-button
|
||||
hass="[[hass]]"
|
||||
path="hassio/supervisor/options"
|
||||
@ -85,10 +79,7 @@ class HassioSupervisorInfo extends EventsMixin(PolymerElement) {
|
||||
>Leave beta channel</ha-call-api-button
|
||||
>
|
||||
</template>
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(data.channel, "stable")]]"
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(data.channel, "stable")]]'>
|
||||
<paper-button
|
||||
on-click="_joinBeta"
|
||||
class="warning"
|
||||
|
@ -112,7 +112,7 @@
|
||||
"del": "^3.0.0",
|
||||
"eslint": "^5.6.0",
|
||||
"eslint-config-airbnb-base": "^13.1.0",
|
||||
"eslint-config-prettier": "^3.1.0",
|
||||
"eslint-config-prettier": "^4.0.0",
|
||||
"eslint-plugin-import": "^2.14.0",
|
||||
"eslint-plugin-prettier": "^3.0.0",
|
||||
"eslint-plugin-react": "^7.11.1",
|
||||
|
@ -21,21 +21,21 @@ class HaAuthFlow extends localizeLiteMixin(PolymerElement) {
|
||||
}
|
||||
</style>
|
||||
<form>
|
||||
<template is="dom-if" if="[[_equals(_state, "loading")]]">
|
||||
<template is="dom-if" if='[[_equals(_state, "loading")]]'>
|
||||
[[localize('ui.panel.page-authorize.form.working')]]:
|
||||
</template>
|
||||
<template is="dom-if" if="[[_equals(_state, "error")]]">
|
||||
<template is="dom-if" if='[[_equals(_state, "error")]]'>
|
||||
<div class="error">Error: [[_errorMsg]]</div>
|
||||
</template>
|
||||
<template is="dom-if" if="[[_equals(_state, "step")]]">
|
||||
<template is="dom-if" if="[[_equals(_step.type, "abort")]]">
|
||||
<template is="dom-if" if='[[_equals(_state, "step")]]'>
|
||||
<template is="dom-if" if='[[_equals(_step.type, "abort")]]'>
|
||||
[[localize('ui.panel.page-authorize.abort_intro')]]:
|
||||
<ha-markdown
|
||||
content="[[_computeStepAbortedReason(localize, _step)]]"
|
||||
></ha-markdown>
|
||||
</template>
|
||||
|
||||
<template is="dom-if" if="[[_equals(_step.type, "form")]]">
|
||||
<template is="dom-if" if='[[_equals(_step.type, "form")]]'>
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_computeStepDescription(localize, _step)]]"
|
||||
|
@ -78,13 +78,11 @@ class HaAuthorize extends litLocalizeLiteMixin(LitElement) {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<p>
|
||||
${
|
||||
this.localize(
|
||||
"ui.panel.page-authorize.authorizing_client",
|
||||
"clientId",
|
||||
this.clientId
|
||||
)
|
||||
}
|
||||
${this.localize(
|
||||
"ui.panel.page-authorize.authorizing_client",
|
||||
"clientId",
|
||||
this.clientId
|
||||
)}
|
||||
</p>
|
||||
${loggingInWith}
|
||||
|
||||
@ -97,18 +95,16 @@ class HaAuthorize extends litLocalizeLiteMixin(LitElement) {
|
||||
.step="{{step}}"
|
||||
></ha-auth-flow>
|
||||
|
||||
${
|
||||
inactiveProviders.length > 0
|
||||
? html`
|
||||
<ha-pick-auth-provider
|
||||
.resources="${this.resources}"
|
||||
.clientId="${this.clientId}"
|
||||
.authProviders="${inactiveProviders}"
|
||||
@pick="${this._handleAuthProviderPick}"
|
||||
></ha-pick-auth-provider>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${inactiveProviders.length > 0
|
||||
? html`
|
||||
<ha-pick-auth-provider
|
||||
.resources="${this.resources}"
|
||||
.clientId="${this.clientId}"
|
||||
.authProviders="${inactiveProviders}"
|
||||
@pick="${this._handleAuthProviderPick}"
|
||||
></ha-pick-auth-provider>
|
||||
`
|
||||
: ""}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -56,13 +56,10 @@ export class HaStateLabelBadge extends hassLocalizeLitMixin(LitElement) {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<ha-label-badge
|
||||
class="${
|
||||
classMap({
|
||||
[domain]: true,
|
||||
"has-unit_of_measurement":
|
||||
"unit_of_measurement" in state.attributes,
|
||||
})
|
||||
}"
|
||||
class="${classMap({
|
||||
[domain]: true,
|
||||
"has-unit_of_measurement": "unit_of_measurement" in state.attributes,
|
||||
})}"
|
||||
.value="${this._computeValue(domain, state)}"
|
||||
.icon="${this._computeIcon(domain, state)}"
|
||||
.image="${state.attributes.entity_picture}"
|
||||
|
@ -48,12 +48,12 @@ class HaForm extends EventsMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(schema.type, "string")]]"
|
||||
if='[[_equals(schema.type, "string")]]'
|
||||
restamp=""
|
||||
>
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_includes(schema.name, "password")]]"
|
||||
if='[[_includes(schema.name, "password")]]'
|
||||
restamp=""
|
||||
>
|
||||
<paper-input
|
||||
@ -77,7 +77,7 @@ class HaForm extends EventsMixin(PolymerElement) {
|
||||
</template>
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[!_includes(schema.name, "password")]]"
|
||||
if='[[!_includes(schema.name, "password")]]'
|
||||
restamp=""
|
||||
>
|
||||
<paper-input
|
||||
@ -92,7 +92,7 @@ class HaForm extends EventsMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(schema.type, "integer")]]"
|
||||
if='[[_equals(schema.type, "integer")]]'
|
||||
restamp=""
|
||||
>
|
||||
<template is="dom-if" if="[[_isRange(schema)]]" restamp="">
|
||||
@ -118,11 +118,7 @@ class HaForm extends EventsMixin(PolymerElement) {
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(schema.type, "float")]]"
|
||||
restamp=""
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(schema.type, "float")]]' restamp="">
|
||||
<!-- TODO -->
|
||||
<paper-input
|
||||
label="[[computeLabel(schema)]]"
|
||||
@ -135,7 +131,7 @@ class HaForm extends EventsMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(schema.type, "boolean")]]"
|
||||
if='[[_equals(schema.type, "boolean")]]'
|
||||
restamp=""
|
||||
>
|
||||
<div>
|
||||
@ -147,7 +143,7 @@ class HaForm extends EventsMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(schema.type, "select")]]"
|
||||
if='[[_equals(schema.type, "select")]]'
|
||||
restamp=""
|
||||
>
|
||||
<paper-dropdown-menu label="[[computeLabel(schema)]]">
|
||||
|
@ -32,49 +32,40 @@ class HaLabelBadge extends LitElement {
|
||||
<div class="badge-container">
|
||||
<div class="label-badge" id="badge">
|
||||
<div
|
||||
class="${
|
||||
classMap({
|
||||
value: true,
|
||||
big: Boolean(this.value && this.value.length > 4),
|
||||
})
|
||||
}"
|
||||
class="${classMap({
|
||||
value: true,
|
||||
big: Boolean(this.value && this.value.length > 4),
|
||||
})}"
|
||||
>
|
||||
${
|
||||
this.icon && !this.value && !this.image
|
||||
? html`
|
||||
<ha-icon .icon="${this.icon}"></ha-icon>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${
|
||||
this.value && !this.image
|
||||
? html`
|
||||
<span>${this.value}</span>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
</div>
|
||||
${
|
||||
this.label
|
||||
${this.icon && !this.value && !this.image
|
||||
? html`
|
||||
<div
|
||||
class="${
|
||||
classMap({ label: true, big: this.label.length > 5 })
|
||||
}"
|
||||
>
|
||||
<span>${this.label}</span>
|
||||
</div>
|
||||
<ha-icon .icon="${this.icon}"></ha-icon>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
</div>
|
||||
${
|
||||
this.description
|
||||
: ""}
|
||||
${this.value && !this.image
|
||||
? html`
|
||||
<span>${this.value}</span>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
${this.label
|
||||
? html`
|
||||
<div class="title">${this.description}</div>
|
||||
<div
|
||||
class="${classMap({
|
||||
label: true,
|
||||
big: this.label.length > 5,
|
||||
})}"
|
||||
>
|
||||
<span>${this.label}</span>
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
: ""}
|
||||
</div>
|
||||
${this.description
|
||||
? html`
|
||||
<div class="title">${this.description}</div>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ class HaMoreInfoDialog extends DialogMixin(PolymerElement) {
|
||||
large="{{large}}"
|
||||
></more-info-controls>
|
||||
</template>
|
||||
<template is="dom-if" if="[[_equals(_page, "settings")]]">
|
||||
<template is="dom-if" if='[[_equals(_page, "settings")]]'>
|
||||
<more-info-settings
|
||||
class="no-padding"
|
||||
hass="[[hass]]"
|
||||
|
@ -62,18 +62,16 @@ export class CloudAlexaPref extends LitElement {
|
||||
>This integration requires an Alexa-enabled device like the Amazon
|
||||
Echo.</em
|
||||
>
|
||||
${
|
||||
enabled
|
||||
? html`
|
||||
<p>Exposed entities:</p>
|
||||
<cloud-exposed-entities
|
||||
.hass="${this.hass}"
|
||||
.filter="${this.cloudStatus!.alexa_entities}"
|
||||
.supportedDomains="${this.cloudStatus!.alexa_domains}"
|
||||
></cloud-exposed-entities>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${enabled
|
||||
? html`
|
||||
<p>Exposed entities:</p>
|
||||
<cloud-exposed-entities
|
||||
.hass="${this.hass}"
|
||||
.filter="${this.cloudStatus!.alexa_entities}"
|
||||
.supportedDomains="${this.cloudStatus!.alexa_domains}"
|
||||
></cloud-exposed-entities>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
</paper-card>
|
||||
`;
|
||||
|
@ -51,21 +51,19 @@ export class CloudExposedEntities extends LitElement {
|
||||
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
${
|
||||
repeat(
|
||||
states!,
|
||||
(stateInfo) => stateInfo[1].entity_id,
|
||||
(stateInfo) => html`
|
||||
<span>
|
||||
<ha-state-icon
|
||||
.stateObj="${stateInfo[1]}"
|
||||
@click="${this._handleMoreInfo}"
|
||||
></ha-state-icon>
|
||||
<paper-tooltip position="bottom">${stateInfo[0]}</paper-tooltip>
|
||||
</span>
|
||||
`
|
||||
)
|
||||
}
|
||||
${repeat(
|
||||
states!,
|
||||
(stateInfo) => stateInfo[1].entity_id,
|
||||
(stateInfo) => html`
|
||||
<span>
|
||||
<ha-state-icon
|
||||
.stateObj="${stateInfo[1]}"
|
||||
@click="${this._handleMoreInfo}"
|
||||
></ha-state-icon>
|
||||
<paper-tooltip position="bottom">${stateInfo[0]}</paper-tooltip>
|
||||
</span>
|
||||
`
|
||||
)}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -69,26 +69,24 @@ export class CloudGooglePref extends LitElement {
|
||||
>This integration requires a Google Assistant-enabled device like
|
||||
the Google Home or Android phone.</em
|
||||
>
|
||||
${
|
||||
google_enabled
|
||||
? html`
|
||||
<div class="unlock">
|
||||
<div>Allow unlocking locks</div>
|
||||
<paper-toggle-button
|
||||
id="google_allow_unlock"
|
||||
.checked="${google_allow_unlock}"
|
||||
@change="${this._toggleChanged}"
|
||||
></paper-toggle-button>
|
||||
</div>
|
||||
<p>Exposed entities:</p>
|
||||
<cloud-exposed-entities
|
||||
.hass="${this.hass}"
|
||||
.filter="${this.cloudStatus!.google_entities}"
|
||||
.supportedDomains="${this.cloudStatus!.google_domains}"
|
||||
></cloud-exposed-entities>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${google_enabled
|
||||
? html`
|
||||
<div class="unlock">
|
||||
<div>Allow unlocking locks</div>
|
||||
<paper-toggle-button
|
||||
id="google_allow_unlock"
|
||||
.checked="${google_allow_unlock}"
|
||||
@change="${this._toggleChanged}"
|
||||
></paper-toggle-button>
|
||||
</div>
|
||||
<p>Exposed entities:</p>
|
||||
<cloud-exposed-entities
|
||||
.hass="${this.hass}"
|
||||
.filter="${this.cloudStatus!.google_entities}"
|
||||
.supportedDomains="${this.cloudStatus!.google_domains}"
|
||||
></cloud-exposed-entities>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<ha-call-api-button
|
||||
|
@ -108,33 +108,29 @@ export class CloudWebhooks extends LitElement {
|
||||
<paper-item-body two-line>
|
||||
<div>
|
||||
${entry.name}
|
||||
${
|
||||
entry.domain === entry.name.toLowerCase()
|
||||
? ""
|
||||
: ` (${entry.domain})`
|
||||
}
|
||||
${entry.domain === entry.name.toLowerCase()
|
||||
? ""
|
||||
: ` (${entry.domain})`}
|
||||
</div>
|
||||
<div secondary>${entry.webhook_id}</div>
|
||||
</paper-item-body>
|
||||
${
|
||||
this._progress.includes(entry.webhook_id)
|
||||
? html`
|
||||
<div class="progress">
|
||||
<paper-spinner active></paper-spinner>
|
||||
</div>
|
||||
`
|
||||
: this._cloudHooks![entry.webhook_id]
|
||||
? html`
|
||||
<paper-button @click="${this._handleManageButton}"
|
||||
>Manage</paper-button
|
||||
>
|
||||
`
|
||||
: html`
|
||||
<paper-toggle-button
|
||||
@click="${this._enableWebhook}"
|
||||
></paper-toggle-button>
|
||||
`
|
||||
}
|
||||
${this._progress.includes(entry.webhook_id)
|
||||
? html`
|
||||
<div class="progress">
|
||||
<paper-spinner active></paper-spinner>
|
||||
</div>
|
||||
`
|
||||
: this._cloudHooks![entry.webhook_id]
|
||||
? html`
|
||||
<paper-button @click="${this._handleManageButton}"
|
||||
>Manage</paper-button
|
||||
>
|
||||
`
|
||||
: html`
|
||||
<paper-toggle-button
|
||||
@click="${this._enableWebhook}"
|
||||
></paper-toggle-button>
|
||||
`}
|
||||
</div>
|
||||
`
|
||||
);
|
||||
|
@ -33,7 +33,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "account")]]"
|
||||
if='[[_equals(_routeData.page, "account")]]'
|
||||
restamp=""
|
||||
>
|
||||
<ha-config-cloud-account
|
||||
@ -45,7 +45,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "login")]]"
|
||||
if='[[_equals(_routeData.page, "login")]]'
|
||||
restamp=""
|
||||
>
|
||||
<ha-config-cloud-login
|
||||
@ -59,7 +59,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "register")]]"
|
||||
if='[[_equals(_routeData.page, "register")]]'
|
||||
restamp=""
|
||||
>
|
||||
<ha-config-cloud-register
|
||||
@ -72,7 +72,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "forgot-password")]]"
|
||||
if='[[_equals(_routeData.page, "forgot-password")]]'
|
||||
restamp=""
|
||||
>
|
||||
<ha-config-cloud-forgot-password
|
||||
|
@ -41,11 +41,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
>
|
||||
</iron-media-query>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "core")]]"
|
||||
restamp
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.page, "core")]]' restamp>
|
||||
<ha-config-core
|
||||
page-name="core"
|
||||
hass="[[hass]]"
|
||||
@ -53,11 +49,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
></ha-config-core>
|
||||
</template>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "cloud")]]"
|
||||
restamp
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.page, "cloud")]]' restamp>
|
||||
<ha-config-cloud
|
||||
page-name="cloud"
|
||||
route="[[route]]"
|
||||
@ -67,10 +59,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
></ha-config-cloud>
|
||||
</template>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "dashboard")]]"
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.page, "dashboard")]]'>
|
||||
<ha-config-dashboard
|
||||
page-name="dashboard"
|
||||
hass="[[hass]]"
|
||||
@ -83,7 +72,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "automation")]]"
|
||||
if='[[_equals(_routeData.page, "automation")]]'
|
||||
restamp
|
||||
>
|
||||
<ha-config-automation
|
||||
@ -94,11 +83,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
></ha-config-automation>
|
||||
</template>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "script")]]"
|
||||
restamp
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.page, "script")]]' restamp>
|
||||
<ha-config-script
|
||||
page-name="script"
|
||||
route="[[route]]"
|
||||
@ -107,11 +92,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
></ha-config-script>
|
||||
</template>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "zha")]]"
|
||||
restamp
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.page, "zha")]]' restamp>
|
||||
<ha-config-zha
|
||||
page-name="zha"
|
||||
hass="[[hass]]"
|
||||
@ -119,11 +100,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
></ha-config-zha>
|
||||
</template>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "zwave")]]"
|
||||
restamp
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.page, "zwave")]]' restamp>
|
||||
<ha-config-zwave
|
||||
page-name="zwave"
|
||||
hass="[[hass]]"
|
||||
@ -133,7 +110,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "customize")]]"
|
||||
if='[[_equals(_routeData.page, "customize")]]'
|
||||
restamp
|
||||
>
|
||||
<ha-config-customize
|
||||
@ -145,7 +122,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "integrations")]]"
|
||||
if='[[_equals(_routeData.page, "integrations")]]'
|
||||
restamp
|
||||
>
|
||||
<ha-config-entries
|
||||
@ -157,11 +134,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
|
||||
></ha-config-entries>
|
||||
</template>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.page, "users")]]"
|
||||
restamp
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.page, "users")]]' restamp>
|
||||
<ha-config-users
|
||||
page-name="users"
|
||||
route="[[route]]"
|
||||
|
@ -22,15 +22,12 @@ class HaConfigUsers extends NavigateMixin(PolymerElement) {
|
||||
data="{{_routeData}}"
|
||||
></app-route>
|
||||
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[_equals(_routeData.user, "picker")]]"
|
||||
>
|
||||
<template is="dom-if" if='[[_equals(_routeData.user, "picker")]]'>
|
||||
<ha-user-picker hass="[[hass]]" users="[[_users]]"></ha-user-picker>
|
||||
</template>
|
||||
<template
|
||||
is="dom-if"
|
||||
if="[[!_equals(_routeData.user, "picker")]]"
|
||||
if='[[!_equals(_routeData.user, "picker")]]'
|
||||
restamp
|
||||
>
|
||||
<ha-user-editor
|
||||
|
@ -66,27 +66,25 @@ export class HaConfigZha extends LitElement {
|
||||
@zha-node-selected="${this._onNodeSelected}"
|
||||
@zha-entity-selected="${this._onEntitySelected}"
|
||||
></zha-node>
|
||||
${
|
||||
this._selectedCluster
|
||||
? html`
|
||||
<zha-cluster-attributes
|
||||
.isWide="${this.isWide}"
|
||||
.hass="${this.hass}"
|
||||
.selectedNode="${this._selectedNode}"
|
||||
.selectedEntity="${this._selectedEntity}"
|
||||
.selectedCluster="${this._selectedCluster}"
|
||||
></zha-cluster-attributes>
|
||||
${this._selectedCluster
|
||||
? html`
|
||||
<zha-cluster-attributes
|
||||
.isWide="${this.isWide}"
|
||||
.hass="${this.hass}"
|
||||
.selectedNode="${this._selectedNode}"
|
||||
.selectedEntity="${this._selectedEntity}"
|
||||
.selectedCluster="${this._selectedCluster}"
|
||||
></zha-cluster-attributes>
|
||||
|
||||
<zha-cluster-commands
|
||||
.isWide="${this.isWide}"
|
||||
.hass="${this.hass}"
|
||||
.selectedNode="${this._selectedNode}"
|
||||
.selectedEntity="${this._selectedEntity}"
|
||||
.selectedCluster="${this._selectedCluster}"
|
||||
></zha-cluster-commands>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
<zha-cluster-commands
|
||||
.isWide="${this.isWide}"
|
||||
.hass="${this.hass}"
|
||||
.selectedNode="${this._selectedNode}"
|
||||
.selectedEntity="${this._selectedEntity}"
|
||||
.selectedCluster="${this._selectedCluster}"
|
||||
></zha-cluster-commands>
|
||||
`
|
||||
: ""}
|
||||
</ha-app-layout>
|
||||
`;
|
||||
}
|
||||
|
@ -102,32 +102,26 @@ export class ZHAClusterAttributes extends LitElement {
|
||||
.selected="${this._selectedAttributeIndex}"
|
||||
@iron-select="${this._selectedAttributeChanged}"
|
||||
>
|
||||
${
|
||||
this._attributes.map(
|
||||
(entry) => html`
|
||||
<paper-item
|
||||
>${entry.name + " (id: " + entry.id + ")"}</paper-item
|
||||
>
|
||||
`
|
||||
)
|
||||
}
|
||||
${this._attributes.map(
|
||||
(entry) => html`
|
||||
<paper-item
|
||||
>${entry.name + " (id: " + entry.id + ")"}</paper-item
|
||||
>
|
||||
`
|
||||
)}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
</div>
|
||||
${
|
||||
this.showHelp
|
||||
? html`
|
||||
<div style="color: grey; padding: 16px">
|
||||
Select an attribute to view or set its value
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${
|
||||
this._selectedAttributeIndex !== -1
|
||||
? this._renderAttributeInteractions()
|
||||
: ""
|
||||
}
|
||||
${this.showHelp
|
||||
? html`
|
||||
<div style="color: grey; padding: 16px">
|
||||
Select an attribute to view or set its value
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
${this._selectedAttributeIndex !== -1
|
||||
? this._renderAttributeInteractions()
|
||||
: ""}
|
||||
</paper-card>
|
||||
</ha-config-section>
|
||||
`;
|
||||
@ -164,17 +158,15 @@ export class ZHAClusterAttributes extends LitElement {
|
||||
.serviceData="${this._setAttributeServiceData}"
|
||||
>Set Zigbee Attribute</ha-call-service-button
|
||||
>
|
||||
${
|
||||
this.showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="set_zigbee_cluster_attribute"
|
||||
></ha-service-description>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this.showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="set_zigbee_cluster_attribute"
|
||||
></ha-service-description>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
@ -94,62 +94,52 @@ export class ZHAClusterCommands extends LitElement {
|
||||
.selected="${this._selectedCommandIndex}"
|
||||
@iron-select="${this._selectedCommandChanged}"
|
||||
>
|
||||
${
|
||||
this._commands.map(
|
||||
(entry) => html`
|
||||
<paper-item
|
||||
>${entry.name + " (id: " + entry.id + ")"}</paper-item
|
||||
>
|
||||
`
|
||||
)
|
||||
}
|
||||
${this._commands.map(
|
||||
(entry) => html`
|
||||
<paper-item
|
||||
>${entry.name + " (id: " + entry.id + ")"}</paper-item
|
||||
>
|
||||
`
|
||||
)}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
</div>
|
||||
${
|
||||
this._showHelp
|
||||
? html`
|
||||
<div class="helpText">Select a command to interact with</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${
|
||||
this._selectedCommandIndex !== -1
|
||||
? html`
|
||||
<div class="input-text">
|
||||
<paper-input
|
||||
label="Manufacturer code override"
|
||||
type="number"
|
||||
.value="${this._manufacturerCodeOverride}"
|
||||
@value-changed="${
|
||||
this._onManufacturerCodeOverrideChanged
|
||||
}"
|
||||
placeholder="Value"
|
||||
></paper-input>
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<ha-call-service-button
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="issue_zigbee_cluster_command"
|
||||
.serviceData="${this._issueClusterCommandServiceData}"
|
||||
>Issue Zigbee Command</ha-call-service-button
|
||||
>
|
||||
${
|
||||
this._showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="issue_zigbee_cluster_command"
|
||||
></ha-service-description>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._showHelp
|
||||
? html`
|
||||
<div class="helpText">Select a command to interact with</div>
|
||||
`
|
||||
: ""}
|
||||
${this._selectedCommandIndex !== -1
|
||||
? html`
|
||||
<div class="input-text">
|
||||
<paper-input
|
||||
label="Manufacturer code override"
|
||||
type="number"
|
||||
.value="${this._manufacturerCodeOverride}"
|
||||
@value-changed="${this._onManufacturerCodeOverrideChanged}"
|
||||
placeholder="Value"
|
||||
></paper-input>
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<ha-call-service-button
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="issue_zigbee_cluster_command"
|
||||
.serviceData="${this._issueClusterCommandServiceData}"
|
||||
>Issue Zigbee Command</ha-call-service-button
|
||||
>
|
||||
${this._showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="issue_zigbee_cluster_command"
|
||||
></ha-service-description>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
</paper-card>
|
||||
</ha-config-section>
|
||||
`;
|
||||
|
@ -81,25 +81,21 @@ export class ZHAClusters extends LitElement {
|
||||
.selected="${this._selectedClusterIndex}"
|
||||
@iron-select="${this._selectedClusterChanged}"
|
||||
>
|
||||
${
|
||||
this._clusters.map(
|
||||
(entry) => html`
|
||||
<paper-item>${computeClusterKey(entry)}</paper-item>
|
||||
`
|
||||
)
|
||||
}
|
||||
${this._clusters.map(
|
||||
(entry) => html`
|
||||
<paper-item>${computeClusterKey(entry)}</paper-item>
|
||||
`
|
||||
)}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
</div>
|
||||
${
|
||||
this.showHelp
|
||||
? html`
|
||||
<div class="helpText">
|
||||
Select cluster to view attributes and commands
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this.showHelp
|
||||
? html`
|
||||
<div class="helpText">
|
||||
Select cluster to view attributes and commands
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -70,36 +70,30 @@ export class ZHAEntities extends LitElement {
|
||||
.selected="${this._selectedEntityIndex}"
|
||||
@iron-select="${this._selectedEntityChanged}"
|
||||
>
|
||||
${
|
||||
this._entities.map(
|
||||
(entry) => html`
|
||||
<paper-item>${entry.entity_id}</paper-item>
|
||||
`
|
||||
)
|
||||
}
|
||||
${this._entities.map(
|
||||
(entry) => html`
|
||||
<paper-item>${entry.entity_id}</paper-item>
|
||||
`
|
||||
)}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
</div>
|
||||
${
|
||||
this.showHelp
|
||||
? html`
|
||||
<div class="helpText">
|
||||
Select entity to view per-entity options
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${
|
||||
this._selectedEntityIndex !== -1
|
||||
? html`
|
||||
<div class="actions">
|
||||
<paper-button @click="${this._showEntityInformation}"
|
||||
>Entity Information</paper-button
|
||||
>
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this.showHelp
|
||||
? html`
|
||||
<div class="helpText">
|
||||
Select entity to view per-entity options
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
${this._selectedEntityIndex !== -1
|
||||
? html`
|
||||
<div class="actions">
|
||||
<paper-button @click="${this._showEntityInformation}"
|
||||
>Entity Information</paper-button
|
||||
>
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -95,27 +95,23 @@ export class ZHANode extends LitElement {
|
||||
slot="dropdown-content"
|
||||
@iron-select="${this._selectedNodeChanged}"
|
||||
>
|
||||
${
|
||||
this._nodes.map(
|
||||
(entry) => html`
|
||||
<paper-item
|
||||
>${this._computeSelectCaption(entry)}</paper-item
|
||||
>
|
||||
`
|
||||
)
|
||||
}
|
||||
${this._nodes.map(
|
||||
(entry) => html`
|
||||
<paper-item
|
||||
>${this._computeSelectCaption(entry)}</paper-item
|
||||
>
|
||||
`
|
||||
)}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
</div>
|
||||
${
|
||||
this._showHelp
|
||||
? html`
|
||||
<div class="helpText">
|
||||
Select node to view per-node options
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._showHelp
|
||||
? html`
|
||||
<div class="helpText">
|
||||
Select node to view per-node options
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
${this._selectedNodeIndex !== -1 ? this._renderNodeActions() : ""}
|
||||
${this._selectedNodeIndex !== -1 ? this._renderEntities() : ""}
|
||||
${this._selectedEntity ? this._renderClusters() : ""}
|
||||
@ -133,17 +129,15 @@ export class ZHANode extends LitElement {
|
||||
<paper-button @click="${this._onReconfigureNodeClick}"
|
||||
>Reconfigure Node</paper-button
|
||||
>
|
||||
${
|
||||
this._showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="reconfigure_device"
|
||||
/>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="reconfigure_device"
|
||||
/>
|
||||
`
|
||||
: ""}
|
||||
<ha-call-service-button
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
@ -151,17 +145,15 @@ export class ZHANode extends LitElement {
|
||||
.serviceData="${this._serviceData}"
|
||||
>Remove Node</ha-call-service-button
|
||||
>
|
||||
${
|
||||
this._showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="remove"
|
||||
/>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._showHelp
|
||||
? html`
|
||||
<ha-service-description
|
||||
.hass="${this.hass}"
|
||||
domain="zha"
|
||||
service="remove"
|
||||
/>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ class ZwaveUsercodes extends PolymerElement {
|
||||
hass="[[hass]]"
|
||||
domain="lock"
|
||||
service="set_usercode"
|
||||
service-data="[[_computeUserCodeServiceData(_selectedUserCodeValue, "Add")]]"
|
||||
service-data='[[_computeUserCodeServiceData(_selectedUserCodeValue, "Add")]]'
|
||||
>
|
||||
Set Usercode
|
||||
</ha-call-service-button>
|
||||
@ -77,7 +77,7 @@ class ZwaveUsercodes extends PolymerElement {
|
||||
hass="[[hass]]"
|
||||
domain="lock"
|
||||
service="clear_usercode"
|
||||
service-data="[[_computeUserCodeServiceData(_selectedUserCode, "Delete")]]"
|
||||
service-data='[[_computeUserCodeServiceData(_selectedUserCode, "Delete")]]'
|
||||
>
|
||||
Delete Usercode
|
||||
</ha-call-service-button>
|
||||
|
@ -124,63 +124,53 @@ class HuiAlarmPanelCard extends hassLocalizeLitMixin(LitElement)
|
||||
.label="${this._stateIconLabel(stateObj.state)}"
|
||||
></ha-label-badge>
|
||||
<div id="armActions" class="actions">
|
||||
${
|
||||
(stateObj.state === "disarmed"
|
||||
? this._config.states!
|
||||
: ["disarm"]
|
||||
).map((state) => {
|
||||
return html`
|
||||
<paper-button
|
||||
noink
|
||||
raised
|
||||
.action="${state}"
|
||||
@click="${this._handleActionClick}"
|
||||
>${this._label(state)}</paper-button
|
||||
>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${(stateObj.state === "disarmed"
|
||||
? this._config.states!
|
||||
: ["disarm"]
|
||||
).map((state) => {
|
||||
return html`
|
||||
<paper-button
|
||||
noink
|
||||
raised
|
||||
.action="${state}"
|
||||
@click="${this._handleActionClick}"
|
||||
>${this._label(state)}</paper-button
|
||||
>
|
||||
`;
|
||||
})}
|
||||
</div>
|
||||
${
|
||||
!stateObj.attributes.code_format
|
||||
? html``
|
||||
: html`
|
||||
<paper-input
|
||||
label="Alarm Code"
|
||||
type="password"
|
||||
.value="${this._code}"
|
||||
></paper-input>
|
||||
`
|
||||
}
|
||||
${
|
||||
stateObj.attributes.code_format !== FORMAT_NUMBER
|
||||
? html``
|
||||
: html`
|
||||
<div id="keypad">
|
||||
${
|
||||
BUTTONS.map((value) => {
|
||||
return value === ""
|
||||
? html`
|
||||
<paper-button disabled></paper-button>
|
||||
`
|
||||
: html`
|
||||
<paper-button
|
||||
noink
|
||||
raised
|
||||
.value="${value}"
|
||||
@click="${this._handlePadClick}"
|
||||
>${
|
||||
value === "clear"
|
||||
? this._label("clear_code")
|
||||
: value
|
||||
}</paper-button
|
||||
>
|
||||
`;
|
||||
})
|
||||
}
|
||||
</div>
|
||||
`
|
||||
}
|
||||
${!stateObj.attributes.code_format
|
||||
? html``
|
||||
: html`
|
||||
<paper-input
|
||||
label="Alarm Code"
|
||||
type="password"
|
||||
.value="${this._code}"
|
||||
></paper-input>
|
||||
`}
|
||||
${stateObj.attributes.code_format !== FORMAT_NUMBER
|
||||
? html``
|
||||
: html`
|
||||
<div id="keypad">
|
||||
${BUTTONS.map((value) => {
|
||||
return value === ""
|
||||
? html`
|
||||
<paper-button disabled></paper-button>
|
||||
`
|
||||
: html`
|
||||
<paper-button
|
||||
noink
|
||||
raised
|
||||
.value="${value}"
|
||||
@click="${this._handlePadClick}"
|
||||
>${value === "clear"
|
||||
? this._label("clear_code")
|
||||
: value}</paper-button
|
||||
>
|
||||
`;
|
||||
})}
|
||||
</div>
|
||||
`}
|
||||
</ha-card>
|
||||
`;
|
||||
}
|
||||
|
@ -104,33 +104,27 @@ class HuiEntitiesCard extends hassLocalizeLitMixin(LitElement)
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<ha-card>
|
||||
${
|
||||
!title && !show_header_toggle
|
||||
? html``
|
||||
: html`
|
||||
<div class="header">
|
||||
<div class="name">${title}</div>
|
||||
${
|
||||
show_header_toggle === false
|
||||
? html``
|
||||
: html`
|
||||
<hui-entities-toggle
|
||||
.hass="${this._hass}"
|
||||
.entities="${
|
||||
this._configEntities!.map((conf) => conf.entity)
|
||||
}"
|
||||
></hui-entities-toggle>
|
||||
`
|
||||
}
|
||||
</div>
|
||||
`
|
||||
}
|
||||
${!title && !show_header_toggle
|
||||
? html``
|
||||
: html`
|
||||
<div class="header">
|
||||
<div class="name">${title}</div>
|
||||
${show_header_toggle === false
|
||||
? html``
|
||||
: html`
|
||||
<hui-entities-toggle
|
||||
.hass="${this._hass}"
|
||||
.entities="${this._configEntities!.map(
|
||||
(conf) => conf.entity
|
||||
)}"
|
||||
></hui-entities-toggle>
|
||||
`}
|
||||
</div>
|
||||
`}
|
||||
<div id="states">
|
||||
${
|
||||
this._configEntities!.map((entityConf) =>
|
||||
this.renderEntity(entityConf)
|
||||
)
|
||||
}
|
||||
${this._configEntities!.map((entityConf) =>
|
||||
this.renderEntity(entityConf)
|
||||
)}
|
||||
</div>
|
||||
</ha-card>
|
||||
`;
|
||||
|
@ -95,34 +95,30 @@ class HuiEntityButtonCard extends hassLocalizeLitMixin(LitElement)
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
>
|
||||
${
|
||||
!stateObj
|
||||
? html`
|
||||
<div class="not-found">
|
||||
Entity not available: ${this._config.entity}
|
||||
${!stateObj
|
||||
? html`
|
||||
<div class="not-found">
|
||||
Entity not available: ${this._config.entity}
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<paper-button>
|
||||
<div>
|
||||
<ha-icon
|
||||
data-domain="${computeStateDomain(stateObj)}"
|
||||
data-state="${stateObj.state}"
|
||||
.icon="${this._config.icon || stateIcon(stateObj)}"
|
||||
style="${styleMap({
|
||||
filter: this._computeBrightness(stateObj),
|
||||
color: this._computeColor(stateObj),
|
||||
})}"
|
||||
></ha-icon>
|
||||
<span>
|
||||
${this._config.name || computeStateName(stateObj)}
|
||||
</span>
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<paper-button>
|
||||
<div>
|
||||
<ha-icon
|
||||
data-domain="${computeStateDomain(stateObj)}"
|
||||
data-state="${stateObj.state}"
|
||||
.icon="${this._config.icon || stateIcon(stateObj)}"
|
||||
style="${
|
||||
styleMap({
|
||||
filter: this._computeBrightness(stateObj),
|
||||
color: this._computeColor(stateObj),
|
||||
})
|
||||
}"
|
||||
></ha-icon>
|
||||
<span>
|
||||
${this._config.name || computeStateName(stateObj)}
|
||||
</span>
|
||||
</div>
|
||||
</paper-button>
|
||||
`
|
||||
}
|
||||
</paper-button>
|
||||
`}
|
||||
</ha-card>
|
||||
`;
|
||||
}
|
||||
|
@ -111,40 +111,34 @@ class HuiGaugeCard extends LitElement implements LovelaceCard {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<ha-card @click="${this._handleClick}">
|
||||
${
|
||||
error
|
||||
? html`
|
||||
<div class="not-found">${error}</div>
|
||||
`
|
||||
: html`
|
||||
<div class="container">
|
||||
<div class="gauge-a"></div>
|
||||
<div class="gauge-b"></div>
|
||||
<div
|
||||
class="gauge-c"
|
||||
style="${
|
||||
styleMap({
|
||||
transform: `rotate(${this._translateTurn(state)}turn)`,
|
||||
"background-color": this._computeSeverity(state),
|
||||
})
|
||||
}"
|
||||
></div>
|
||||
<div class="gauge-data">
|
||||
<div id="percent">
|
||||
${stateObj.state}
|
||||
${
|
||||
this._config.unit ||
|
||||
stateObj.attributes.unit_of_measurement ||
|
||||
""
|
||||
}
|
||||
</div>
|
||||
<div id="name">
|
||||
${this._config.name || computeStateName(stateObj)}
|
||||
</div>
|
||||
${error
|
||||
? html`
|
||||
<div class="not-found">${error}</div>
|
||||
`
|
||||
: html`
|
||||
<div class="container">
|
||||
<div class="gauge-a"></div>
|
||||
<div class="gauge-b"></div>
|
||||
<div
|
||||
class="gauge-c"
|
||||
style="${styleMap({
|
||||
transform: `rotate(${this._translateTurn(state)}turn)`,
|
||||
"background-color": this._computeSeverity(state),
|
||||
})}"
|
||||
></div>
|
||||
<div class="gauge-data">
|
||||
<div id="percent">
|
||||
${stateObj.state}
|
||||
${this._config.unit ||
|
||||
stateObj.attributes.unit_of_measurement ||
|
||||
""}
|
||||
</div>
|
||||
<div id="name">
|
||||
${this._config.name || computeStateName(stateObj)}
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
</div>
|
||||
`}
|
||||
</ha-card>
|
||||
`;
|
||||
}
|
||||
|
@ -124,11 +124,9 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement)
|
||||
${this.renderStyle()}
|
||||
<ha-card .header="${title}">
|
||||
<div class="entities ${classMap({ "no-header": !title })}">
|
||||
${
|
||||
this._configEntities!.map((entityConf) =>
|
||||
this.renderEntity(entityConf)
|
||||
)
|
||||
}
|
||||
${this._configEntities!.map((entityConf) =>
|
||||
this.renderEntity(entityConf)
|
||||
)}
|
||||
</div>
|
||||
</ha-card>
|
||||
`;
|
||||
@ -208,38 +206,30 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement)
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
>
|
||||
${
|
||||
this._config!.show_name !== false
|
||||
? html`
|
||||
<div class="name">
|
||||
${
|
||||
"name" in entityConf
|
||||
? entityConf.name
|
||||
: computeStateName(stateObj)
|
||||
}
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._config!.show_name !== false
|
||||
? html`
|
||||
<div class="name">
|
||||
${"name" in entityConf
|
||||
? entityConf.name
|
||||
: computeStateName(stateObj)}
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
<state-badge
|
||||
.stateObj="${stateObj}"
|
||||
.overrideIcon="${entityConf.icon}"
|
||||
></state-badge>
|
||||
${
|
||||
this._config!.show_state !== false
|
||||
? html`
|
||||
<div>
|
||||
${
|
||||
computeStateDisplay(
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass!.language
|
||||
)
|
||||
}
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._config!.show_state !== false
|
||||
? html`
|
||||
<div>
|
||||
${computeStateDisplay(
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass!.language
|
||||
)}
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
@ -64,11 +64,9 @@ export class HuiIframeCard extends LitElement implements LovelaceCard {
|
||||
<ha-card .header="${this._config.title}">
|
||||
<div
|
||||
id="root"
|
||||
style="${
|
||||
styleMap({
|
||||
"padding-top": aspectRatio,
|
||||
})
|
||||
}"
|
||||
style="${styleMap({
|
||||
"padding-top": aspectRatio,
|
||||
})}"
|
||||
>
|
||||
<iframe src="${this._config.url}"></iframe>
|
||||
</div>
|
||||
|
@ -92,43 +92,39 @@ export class HuiLightCard extends hassLocalizeLitMixin(LitElement)
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<ha-card>
|
||||
${
|
||||
!stateObj
|
||||
? html`
|
||||
<div class="not-found">
|
||||
Entity not available: ${this._config.entity}
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<div id="light"></div>
|
||||
<div id="tooltip">
|
||||
<div class="icon-state">
|
||||
<ha-icon
|
||||
data-state="${stateObj.state}"
|
||||
.icon="${stateIcon(stateObj)}"
|
||||
style="${
|
||||
styleMap({
|
||||
filter: this._computeBrightness(stateObj),
|
||||
color: this._computeColor(stateObj),
|
||||
})
|
||||
}"
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
></ha-icon>
|
||||
<div
|
||||
class="brightness"
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
></div>
|
||||
<div class="name">
|
||||
${this._config.name || computeStateName(stateObj)}
|
||||
</div>
|
||||
${!stateObj
|
||||
? html`
|
||||
<div class="not-found">
|
||||
Entity not available: ${this._config.entity}
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<div id="light"></div>
|
||||
<div id="tooltip">
|
||||
<div class="icon-state">
|
||||
<ha-icon
|
||||
data-state="${stateObj.state}"
|
||||
.icon="${stateIcon(stateObj)}"
|
||||
style="${styleMap({
|
||||
filter: this._computeBrightness(stateObj),
|
||||
color: this._computeColor(stateObj),
|
||||
})}"
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
></ha-icon>
|
||||
<div
|
||||
class="brightness"
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
></div>
|
||||
<div class="name">
|
||||
${this._config.name || computeStateName(stateObj)}
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
</div>
|
||||
`}
|
||||
</ha-card>
|
||||
`;
|
||||
}
|
||||
|
@ -55,11 +55,9 @@ export class HuiMarkdownCard extends LitElement implements LovelaceCard {
|
||||
${this.renderStyle()}
|
||||
<ha-card .header="${this._config.title}">
|
||||
<ha-markdown
|
||||
class="markdown ${
|
||||
classMap({
|
||||
"no-header": !this._config.title,
|
||||
})
|
||||
}"
|
||||
class="markdown ${classMap({
|
||||
"no-header": !this._config.title,
|
||||
})}"
|
||||
.content="${this._config.content}"
|
||||
></ha-markdown>
|
||||
</ha-card>
|
||||
|
@ -64,13 +64,11 @@ export class HuiPictureCard extends LitElement implements LovelaceCard {
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
class="${
|
||||
classMap({
|
||||
clickable: Boolean(
|
||||
this._config.tap_action || this._config.hold_action
|
||||
),
|
||||
})
|
||||
}"
|
||||
class="${classMap({
|
||||
clickable: Boolean(
|
||||
this._config.tap_action || this._config.hold_action
|
||||
),
|
||||
})}"
|
||||
>
|
||||
<img src="${this._config.image}" />
|
||||
</ha-card>
|
||||
|
@ -71,11 +71,9 @@ class HuiPictureElementsCard extends LitElement implements LovelaceCard {
|
||||
.entity="${this._config.entity}"
|
||||
.aspectRatio="${this._config.aspect_ratio}"
|
||||
></hui-image>
|
||||
${
|
||||
this._config.elements.map((elementConfig: LovelaceElementConfig) =>
|
||||
this._createHuiElement(elementConfig)
|
||||
)
|
||||
}
|
||||
${this._config.elements.map((elementConfig: LovelaceElementConfig) =>
|
||||
this._createHuiElement(elementConfig)
|
||||
)}
|
||||
</div>
|
||||
</ha-card>
|
||||
`;
|
||||
|
@ -78,14 +78,12 @@ class HuiPictureEntityCard extends hassLocalizeLitMixin(LitElement)
|
||||
|
||||
if (!stateObj) {
|
||||
return html`
|
||||
${
|
||||
createErrorCardElement(
|
||||
createErrorCardConfig(
|
||||
`Entity not found: ${this._config.entity}`,
|
||||
this._config
|
||||
)
|
||||
${createErrorCardElement(
|
||||
createErrorCardConfig(
|
||||
`Entity not found: ${this._config.entity}`,
|
||||
this._config
|
||||
)
|
||||
}
|
||||
)}
|
||||
`;
|
||||
}
|
||||
|
||||
@ -121,21 +119,17 @@ class HuiPictureEntityCard extends hassLocalizeLitMixin(LitElement)
|
||||
.hass="${this.hass}"
|
||||
.image="${this._config.image}"
|
||||
.stateImage="${this._config.state_image}"
|
||||
.cameraImage="${
|
||||
computeDomain(this._config.entity) === "camera"
|
||||
? this._config.entity
|
||||
: this._config.camera_image
|
||||
}"
|
||||
.cameraImage="${computeDomain(this._config.entity) === "camera"
|
||||
? this._config.entity
|
||||
: this._config.camera_image}"
|
||||
.entity="${this._config.entity}"
|
||||
.aspectRatio="${this._config.aspect_ratio}"
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
class="${
|
||||
classMap({
|
||||
clickable: stateObj.state !== UNAVAILABLE,
|
||||
})
|
||||
}"
|
||||
class="${classMap({
|
||||
clickable: stateObj.state !== UNAVAILABLE,
|
||||
})}"
|
||||
></hui-image>
|
||||
${footer}
|
||||
</ha-card>
|
||||
|
@ -96,15 +96,13 @@ class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement)
|
||||
${this.renderStyle()}
|
||||
<ha-card>
|
||||
<hui-image
|
||||
class="${
|
||||
classMap({
|
||||
clickable: Boolean(
|
||||
this._config.tap_action ||
|
||||
this._config.hold_action ||
|
||||
this._config.camera_image
|
||||
),
|
||||
})
|
||||
}"
|
||||
class="${classMap({
|
||||
clickable: Boolean(
|
||||
this._config.tap_action ||
|
||||
this._config.hold_action ||
|
||||
this._config.camera_image
|
||||
),
|
||||
})}"
|
||||
@ha-click="${this._handleTap}"
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
@ -116,26 +114,20 @@ class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement)
|
||||
.aspectRatio="${this._config.aspect_ratio}"
|
||||
></hui-image>
|
||||
<div class="box">
|
||||
${
|
||||
this._config.title
|
||||
? html`
|
||||
<div class="title">${this._config.title}</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._config.title
|
||||
? html`
|
||||
<div class="title">${this._config.title}</div>
|
||||
`
|
||||
: ""}
|
||||
<div>
|
||||
${
|
||||
this._entitiesDialog!.map((entityConf) =>
|
||||
this.renderEntity(entityConf, true)
|
||||
)
|
||||
}
|
||||
${this._entitiesDialog!.map((entityConf) =>
|
||||
this.renderEntity(entityConf, true)
|
||||
)}
|
||||
</div>
|
||||
<div>
|
||||
${
|
||||
this._entitiesToggle!.map((entityConf) =>
|
||||
this.renderEntity(entityConf, false)
|
||||
)
|
||||
}
|
||||
${this._entitiesToggle!.map((entityConf) =>
|
||||
this.renderEntity(entityConf, false)
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</ha-card>
|
||||
@ -156,21 +148,17 @@ class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement)
|
||||
<ha-icon
|
||||
.entity="${stateObj.entity_id}"
|
||||
@click="${dialog ? this._openDialog : this._callService}"
|
||||
class="${
|
||||
classMap({
|
||||
"state-on": !STATES_OFF.has(stateObj.state),
|
||||
})
|
||||
}"
|
||||
class="${classMap({
|
||||
"state-on": !STATES_OFF.has(stateObj.state),
|
||||
})}"
|
||||
.icon="${entityConf.icon || stateIcon(stateObj)}"
|
||||
title="${
|
||||
`
|
||||
title="${`
|
||||
${computeStateName(stateObj)} : ${computeStateDisplay(
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass!.language
|
||||
)}
|
||||
`
|
||||
}"
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass!.language
|
||||
)}
|
||||
`}"
|
||||
></ha-icon>
|
||||
`;
|
||||
}
|
||||
|
@ -233,38 +233,34 @@ class HuiSensorCard extends LitElement implements LovelaceCard {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<ha-card @click="${this._handleClick}">
|
||||
${
|
||||
!stateObj
|
||||
? html`
|
||||
<div class="not-found">
|
||||
Entity not available: ${this._config.entity}
|
||||
${!stateObj
|
||||
? html`
|
||||
<div class="not-found">
|
||||
Entity not available: ${this._config.entity}
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<div class="flex">
|
||||
<div class="icon">
|
||||
<ha-icon
|
||||
.icon="${this._config.icon || stateIcon(stateObj)}"
|
||||
></ha-icon>
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<div class="flex">
|
||||
<div class="icon">
|
||||
<ha-icon
|
||||
.icon="${this._config.icon || stateIcon(stateObj)}"
|
||||
></ha-icon>
|
||||
</div>
|
||||
<div class="header">
|
||||
<span class="name"
|
||||
>${this._config.name || computeStateName(stateObj)}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex info">
|
||||
<span id="value">${stateObj.state}</span>
|
||||
<span id="measurement"
|
||||
>${
|
||||
this._config.unit ||
|
||||
stateObj.attributes.unit_of_measurement
|
||||
}</span
|
||||
<div class="header">
|
||||
<span class="name"
|
||||
>${this._config.name || computeStateName(stateObj)}</span
|
||||
>
|
||||
</div>
|
||||
<div class="graph"><div>${graph}</div></div>
|
||||
`
|
||||
}
|
||||
</div>
|
||||
<div class="flex info">
|
||||
<span id="value">${stateObj.state}</span>
|
||||
<span id="measurement"
|
||||
>${this._config.unit ||
|
||||
stateObj.attributes.unit_of_measurement}</span
|
||||
>
|
||||
</div>
|
||||
<div class="graph"><div>${graph}</div></div>
|
||||
`}
|
||||
</ha-card>
|
||||
`;
|
||||
}
|
||||
|
@ -91,103 +91,93 @@ class HuiShoppingListCard extends hassLocalizeLitMixin(LitElement)
|
||||
class="addButton"
|
||||
@click="${this._addItem}"
|
||||
icon="hass:plus"
|
||||
.title="${
|
||||
this.localize("ui.panel.lovelace.cards.shopping-list.add_item")
|
||||
}"
|
||||
.title="${this.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.add_item"
|
||||
)}"
|
||||
>
|
||||
</ha-icon>
|
||||
<paper-item-body>
|
||||
<paper-input
|
||||
no-label-float
|
||||
class="addBox"
|
||||
placeholder="${
|
||||
this.localize("ui.panel.lovelace.cards.shopping-list.add_item")
|
||||
}"
|
||||
placeholder="${this.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.add_item"
|
||||
)}"
|
||||
@keydown="${this._addKeyPress}"
|
||||
></paper-input>
|
||||
</paper-item-body>
|
||||
</div>
|
||||
${
|
||||
repeat(
|
||||
this._uncheckedItems!,
|
||||
(item) => item.id,
|
||||
(item, index) =>
|
||||
html`
|
||||
<div class="editRow">
|
||||
<paper-checkbox
|
||||
slot="item-icon"
|
||||
id="${index}"
|
||||
?checked="${item.complete}"
|
||||
${repeat(
|
||||
this._uncheckedItems!,
|
||||
(item) => item.id,
|
||||
(item, index) =>
|
||||
html`
|
||||
<div class="editRow">
|
||||
<paper-checkbox
|
||||
slot="item-icon"
|
||||
id="${index}"
|
||||
?checked="${item.complete}"
|
||||
.itemId="${item.id}"
|
||||
@click="${this._completeItem}"
|
||||
tabindex="0"
|
||||
></paper-checkbox>
|
||||
<paper-item-body>
|
||||
<paper-input
|
||||
no-label-float
|
||||
.value="${item.name}"
|
||||
.itemId="${item.id}"
|
||||
@click="${this._completeItem}"
|
||||
tabindex="0"
|
||||
></paper-checkbox>
|
||||
<paper-item-body>
|
||||
<paper-input
|
||||
no-label-float
|
||||
.value="${item.name}"
|
||||
.itemId="${item.id}"
|
||||
@change="${this._saveEdit}"
|
||||
></paper-input>
|
||||
</paper-item-body>
|
||||
</div>
|
||||
`
|
||||
)
|
||||
}
|
||||
${
|
||||
this._checkedItems!.length > 0
|
||||
? html`
|
||||
<div class="divider"></div>
|
||||
<div class="checked">
|
||||
<span class="label">
|
||||
${
|
||||
this.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.checked_items"
|
||||
)
|
||||
}
|
||||
</span>
|
||||
<ha-icon
|
||||
class="clearall"
|
||||
@click="${this._clearItems}"
|
||||
icon="hass:notification-clear-all"
|
||||
.title="${
|
||||
this.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.clear_items"
|
||||
)
|
||||
}"
|
||||
>
|
||||
</ha-icon>
|
||||
</div>
|
||||
${
|
||||
repeat(
|
||||
this._checkedItems!,
|
||||
(item) => item.id,
|
||||
(item, index) =>
|
||||
html`
|
||||
<div class="editRow">
|
||||
<paper-checkbox
|
||||
slot="item-icon"
|
||||
id="${index}"
|
||||
?checked="${item.complete}"
|
||||
.itemId="${item.id}"
|
||||
@click="${this._completeItem}"
|
||||
tabindex="0"
|
||||
></paper-checkbox>
|
||||
<paper-item-body>
|
||||
<paper-input
|
||||
no-label-float
|
||||
.value="${item.name}"
|
||||
.itemId="${item.id}"
|
||||
@change="${this._saveEdit}"
|
||||
></paper-input>
|
||||
</paper-item-body>
|
||||
</div>
|
||||
`
|
||||
)
|
||||
}
|
||||
`
|
||||
: ""
|
||||
}
|
||||
@change="${this._saveEdit}"
|
||||
></paper-input>
|
||||
</paper-item-body>
|
||||
</div>
|
||||
`
|
||||
)}
|
||||
${this._checkedItems!.length > 0
|
||||
? html`
|
||||
<div class="divider"></div>
|
||||
<div class="checked">
|
||||
<span class="label">
|
||||
${this.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.checked_items"
|
||||
)}
|
||||
</span>
|
||||
<ha-icon
|
||||
class="clearall"
|
||||
@click="${this._clearItems}"
|
||||
icon="hass:notification-clear-all"
|
||||
.title="${this.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.clear_items"
|
||||
)}"
|
||||
>
|
||||
</ha-icon>
|
||||
</div>
|
||||
${repeat(
|
||||
this._checkedItems!,
|
||||
(item) => item.id,
|
||||
(item, index) =>
|
||||
html`
|
||||
<div class="editRow">
|
||||
<paper-checkbox
|
||||
slot="item-icon"
|
||||
id="${index}"
|
||||
?checked="${item.complete}"
|
||||
.itemId="${item.id}"
|
||||
@click="${this._completeItem}"
|
||||
tabindex="0"
|
||||
></paper-checkbox>
|
||||
<paper-item-body>
|
||||
<paper-input
|
||||
no-label-float
|
||||
.value="${item.name}"
|
||||
.itemId="${item.id}"
|
||||
@change="${this._saveEdit}"
|
||||
></paper-input>
|
||||
</paper-item-body>
|
||||
</div>
|
||||
`
|
||||
)}
|
||||
`
|
||||
: ""}
|
||||
</ha-card>
|
||||
`;
|
||||
}
|
||||
|
@ -69,40 +69,34 @@ export class HuiActionEditor extends LitElement {
|
||||
slot="dropdown-content"
|
||||
.selected="${this.actions.indexOf(this._action)}"
|
||||
>
|
||||
${
|
||||
this.actions.map((action) => {
|
||||
return html`
|
||||
<paper-item>${action}</paper-item>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${this.actions.map((action) => {
|
||||
return html`
|
||||
<paper-item>${action}</paper-item>
|
||||
`;
|
||||
})}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
${
|
||||
this._action === "navigate"
|
||||
? html`
|
||||
<paper-input
|
||||
label="Navigation Path"
|
||||
.value="${this._navigation_path}"
|
||||
.configValue="${"navigation_path"}"
|
||||
@value-changed="${this._valueChanged}"
|
||||
></paper-input>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${
|
||||
this.config && this.config.action === "call-service"
|
||||
? html`
|
||||
<ha-service-picker
|
||||
.hass="${this.hass}"
|
||||
.value="${this._service}"
|
||||
.configValue="${"service"}"
|
||||
@value-changed="${this._valueChanged}"
|
||||
></ha-service-picker>
|
||||
<h3>Toggle Editor to input Service Data</h3>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._action === "navigate"
|
||||
? html`
|
||||
<paper-input
|
||||
label="Navigation Path"
|
||||
.value="${this._navigation_path}"
|
||||
.configValue="${"navigation_path"}"
|
||||
@value-changed="${this._valueChanged}"
|
||||
></paper-input>
|
||||
`
|
||||
: ""}
|
||||
${this.config && this.config.action === "call-service"
|
||||
? html`
|
||||
<ha-service-picker
|
||||
.hass="${this.hass}"
|
||||
.value="${this._service}"
|
||||
.configValue="${"service"}"
|
||||
@value-changed="${this._valueChanged}"
|
||||
></ha-service-picker>
|
||||
<h3>Toggle Editor to input Service Data</h3>
|
||||
`
|
||||
: ""}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -71,9 +71,9 @@ export class HuiCardOptions extends hassLocalizeLitMixin(LitElement) {
|
||||
<div class="options">
|
||||
<div class="primary-actions">
|
||||
<paper-button @click="${this._editCard}"
|
||||
>${
|
||||
this.localize("ui.panel.lovelace.editor.edit_card.edit")
|
||||
}</paper-button
|
||||
>${this.localize(
|
||||
"ui.panel.lovelace.editor.edit_card.edit"
|
||||
)}</paper-button
|
||||
>
|
||||
</div>
|
||||
<div class="secondary-actions">
|
||||
@ -82,10 +82,9 @@ export class HuiCardOptions extends hassLocalizeLitMixin(LitElement) {
|
||||
class="move-arrow"
|
||||
icon="hass:arrow-down"
|
||||
@click="${this._cardDown}"
|
||||
?disabled="${
|
||||
this.lovelace!.config.views[this.path![0]].cards!.length ===
|
||||
this.path![1] + 1
|
||||
}"
|
||||
?disabled="${this.lovelace!.config.views[this.path![0]].cards!
|
||||
.length ===
|
||||
this.path![1] + 1}"
|
||||
></paper-icon-button>
|
||||
<paper-icon-button
|
||||
title="Move card up"
|
||||
@ -102,9 +101,9 @@ export class HuiCardOptions extends hassLocalizeLitMixin(LitElement) {
|
||||
<paper-listbox slot="dropdown-content">
|
||||
<paper-item @click="${this._moveCard}">Move Card</paper-item>
|
||||
<paper-item @click="${this._deleteCard}"
|
||||
>${
|
||||
this.localize("ui.panel.lovelace.editor.edit_card.delete")
|
||||
}</paper-item
|
||||
>${this.localize(
|
||||
"ui.panel.lovelace.editor.edit_card.delete"
|
||||
)}</paper-item
|
||||
>
|
||||
</paper-listbox>
|
||||
</paper-menu-button>
|
||||
|
@ -43,12 +43,10 @@ class HuiEntitiesToggle extends LitElement {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<paper-toggle-button
|
||||
?checked="${
|
||||
this._toggleEntities!.some((entityId) => {
|
||||
const stateObj = this.hass!.states[entityId];
|
||||
return stateObj && stateObj.state === "on";
|
||||
})
|
||||
}"
|
||||
?checked="${this._toggleEntities!.some((entityId) => {
|
||||
const stateObj = this.hass!.states[entityId];
|
||||
return stateObj && stateObj.state === "on";
|
||||
})}"
|
||||
@change="${this._callService}"
|
||||
></paper-toggle-button>
|
||||
`;
|
||||
|
@ -32,19 +32,17 @@ export class HuiEntityEditor extends LitElement {
|
||||
${this.renderStyle()}
|
||||
<h3>Entities</h3>
|
||||
<div class="entities">
|
||||
${
|
||||
this.entities.map((entityConf, index) => {
|
||||
return html`
|
||||
<ha-entity-picker
|
||||
.hass="${this.hass}"
|
||||
.value="${entityConf.entity}"
|
||||
.index="${index}"
|
||||
@change="${this._valueChanged}"
|
||||
allow-custom-entity
|
||||
></ha-entity-picker>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${this.entities.map((entityConf, index) => {
|
||||
return html`
|
||||
<ha-entity-picker
|
||||
.hass="${this.hass}"
|
||||
.value="${entityConf.entity}"
|
||||
.index="${index}"
|
||||
@change="${this._valueChanged}"
|
||||
allow-custom-entity
|
||||
></ha-entity-picker>
|
||||
`;
|
||||
})}
|
||||
<ha-entity-picker
|
||||
.hass="${this.hass}"
|
||||
@change="${this._addEntity}"
|
||||
|
@ -49,13 +49,11 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) {
|
||||
.selected="${this.value}"
|
||||
attr-for-selected="theme"
|
||||
>
|
||||
${
|
||||
themes.map((theme) => {
|
||||
return html`
|
||||
<paper-item theme="${theme}">${theme}</paper-item>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${themes.map((theme) => {
|
||||
return html`
|
||||
<paper-item theme="${theme}">${theme}</paper-item>
|
||||
`;
|
||||
})}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
`;
|
||||
|
@ -42,18 +42,16 @@ export class HuiCardPicker extends hassLocalizeLitMixin(LitElement) {
|
||||
return html`
|
||||
<h3>${this.localize("ui.panel.lovelace.editor.edit_card.pick_card")}</h3>
|
||||
<div class="cards-container">
|
||||
${
|
||||
cards.map((card) => {
|
||||
return html`
|
||||
<paper-button
|
||||
raised
|
||||
@click="${this._cardPicked}"
|
||||
.type="${card.type}"
|
||||
>${card.name}</paper-button
|
||||
>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${cards.map((card) => {
|
||||
return html`
|
||||
<paper-button
|
||||
raised
|
||||
@click="${this._cardPicked}"
|
||||
.type="${card.type}"
|
||||
>${card.name}</paper-button
|
||||
>
|
||||
`;
|
||||
})}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
@ -61,18 +61,16 @@ export class HuiDialogMoveCardView extends hassLocalizeLitMixin(LitElement) {
|
||||
@opened-changed="${this._openedChanged}"
|
||||
>
|
||||
<h2>Choose view to move card</h2>
|
||||
${
|
||||
this._params!.lovelace!.config.views.map((view, index) => {
|
||||
return html`
|
||||
<paper-item
|
||||
?active="${this._params!.path![0] === index}"
|
||||
@click="${this._moveCard}"
|
||||
.index="${index}"
|
||||
>${view.title}</paper-item
|
||||
>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${this._params!.lovelace!.config.views.map((view, index) => {
|
||||
return html`
|
||||
<paper-item
|
||||
?active="${this._params!.path![0] === index}"
|
||||
@click="${this._moveCard}"
|
||||
.index="${index}"
|
||||
>${view.title}</paper-item
|
||||
>
|
||||
`;
|
||||
})}
|
||||
</paper-dialog>
|
||||
`;
|
||||
}
|
||||
|
@ -117,17 +117,15 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) {
|
||||
if (this._configElement !== undefined) {
|
||||
content = html`
|
||||
<div class="element-editor">
|
||||
${
|
||||
this._uiEditor
|
||||
? this._configElement
|
||||
: html`
|
||||
<hui-yaml-editor
|
||||
.hass="${this.hass}"
|
||||
.yaml="${this._configValue!.value}"
|
||||
@yaml-changed="${this._handleYamlChanged}"
|
||||
></hui-yaml-editor>
|
||||
`
|
||||
}
|
||||
${this._uiEditor
|
||||
? this._configElement
|
||||
: html`
|
||||
<hui-yaml-editor
|
||||
.hass="${this.hass}"
|
||||
.yaml="${this._configValue!.value}"
|
||||
@yaml-changed="${this._handleYamlChanged}"
|
||||
></hui-yaml-editor>
|
||||
`}
|
||||
</div>
|
||||
`;
|
||||
|
||||
@ -151,50 +149,43 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) {
|
||||
<paper-dialog-scrollable
|
||||
class="${classMap({ hidden: this._loading! })}"
|
||||
>
|
||||
${
|
||||
this._errorMsg
|
||||
? html`
|
||||
<div class="error">${this._errorMsg}</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._errorMsg
|
||||
? html`
|
||||
<div class="error">${this._errorMsg}</div>
|
||||
`
|
||||
: ""}
|
||||
<div class="content">${content}${preview}</div>
|
||||
</paper-dialog-scrollable>
|
||||
${
|
||||
!this._loading
|
||||
? html`
|
||||
<div class="paper-dialog-buttons">
|
||||
<paper-button
|
||||
class="toggle-button"
|
||||
?hidden="${!this._configValue || !this._configValue.value}"
|
||||
?disabled="${
|
||||
this._configElement === null || this._configState !== "OK"
|
||||
}"
|
||||
@click="${this._toggleEditor}"
|
||||
>${
|
||||
this.localize(
|
||||
"ui.panel.lovelace.editor.edit_card.toggle_editor"
|
||||
)
|
||||
}</paper-button
|
||||
>
|
||||
<paper-button @click="${this.closeDialog}"
|
||||
>${this.localize("ui.common.cancel")}</paper-button
|
||||
>
|
||||
<paper-button
|
||||
?hidden="${!this._configValue || !this._configValue.value}"
|
||||
?disabled="${this._saving || this._configState !== "OK"}"
|
||||
@click="${this._save}"
|
||||
>
|
||||
<paper-spinner
|
||||
?active="${this._saving}"
|
||||
alt="Saving"
|
||||
></paper-spinner>
|
||||
${this.localize("ui.common.save")}</paper-button
|
||||
>
|
||||
</div>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${!this._loading
|
||||
? html`
|
||||
<div class="paper-dialog-buttons">
|
||||
<paper-button
|
||||
class="toggle-button"
|
||||
?hidden="${!this._configValue || !this._configValue.value}"
|
||||
?disabled="${this._configElement === null ||
|
||||
this._configState !== "OK"}"
|
||||
@click="${this._toggleEditor}"
|
||||
>${this.localize(
|
||||
"ui.panel.lovelace.editor.edit_card.toggle_editor"
|
||||
)}</paper-button
|
||||
>
|
||||
<paper-button @click="${this.closeDialog}"
|
||||
>${this.localize("ui.common.cancel")}</paper-button
|
||||
>
|
||||
<paper-button
|
||||
?hidden="${!this._configValue || !this._configValue.value}"
|
||||
?disabled="${this._saving || this._configState !== "OK"}"
|
||||
@click="${this._save}"
|
||||
>
|
||||
<paper-spinner
|
||||
?active="${this._saving}"
|
||||
alt="Saving"
|
||||
></paper-spinner>
|
||||
${this.localize("ui.common.save")}</paper-button
|
||||
>
|
||||
</div>
|
||||
`
|
||||
: ""}
|
||||
</paper-dialog>
|
||||
`;
|
||||
}
|
||||
|
@ -79,33 +79,29 @@ export class HuiAlarmPanelCardEditor extends hassLocalizeLitMixin(LitElement)
|
||||
allow-custom-entity
|
||||
></ha-entity-picker>
|
||||
</div>
|
||||
<span>Used States</span> ${
|
||||
this._states.map((state, index) => {
|
||||
return html`
|
||||
<div class="states">
|
||||
<paper-item>${state}</paper-item>
|
||||
<ha-icon
|
||||
class="deleteState"
|
||||
.value="${index}"
|
||||
icon="hass:close"
|
||||
@click=${this._stateRemoved}
|
||||
></ha-icon>
|
||||
</div>
|
||||
`;
|
||||
})
|
||||
}
|
||||
<span>Used States</span> ${this._states.map((state, index) => {
|
||||
return html`
|
||||
<div class="states">
|
||||
<paper-item>${state}</paper-item>
|
||||
<ha-icon
|
||||
class="deleteState"
|
||||
.value="${index}"
|
||||
icon="hass:close"
|
||||
@click=${this._stateRemoved}
|
||||
></ha-icon>
|
||||
</div>
|
||||
`;
|
||||
})}
|
||||
<paper-dropdown-menu
|
||||
label="Available States"
|
||||
@value-changed="${this._stateAdded}"
|
||||
>
|
||||
<paper-listbox slot="dropdown-content">
|
||||
${
|
||||
states.map((state) => {
|
||||
return html`
|
||||
<paper-item>${state}</paper-item>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${states.map((state) => {
|
||||
return html`
|
||||
<paper-item>${state}</paper-item>
|
||||
`;
|
||||
})}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
</div>
|
||||
|
@ -121,13 +121,11 @@ export class HuiSensorCardEditor extends hassLocalizeLitMixin(LitElement)
|
||||
slot="dropdown-content"
|
||||
.selected="${graphs.indexOf(this._graph)}"
|
||||
>
|
||||
${
|
||||
graphs.map((graph) => {
|
||||
return html`
|
||||
<paper-item>${graph}</paper-item>
|
||||
`;
|
||||
})
|
||||
}
|
||||
${graphs.map((graph) => {
|
||||
return html`
|
||||
<paper-item>${graph}</paper-item>
|
||||
`;
|
||||
})}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
</div>
|
||||
|
@ -61,9 +61,9 @@ export class HuiSaveConfig extends hassLocalizeLitMixin(LitElement) {
|
||||
</paper-dialog-scrollable>
|
||||
<div class="paper-dialog-buttons">
|
||||
<paper-button @click="${this._closeDialog}"
|
||||
>${
|
||||
this.localize("ui.panel.lovelace.editor.save_config.cancel")
|
||||
}</paper-button
|
||||
>${this.localize(
|
||||
"ui.panel.lovelace.editor.save_config.cancel"
|
||||
)}</paper-button
|
||||
>
|
||||
<paper-button
|
||||
?disabled="${this._saving}"
|
||||
@ -73,9 +73,9 @@ export class HuiSaveConfig extends hassLocalizeLitMixin(LitElement) {
|
||||
?active="${this._saving}"
|
||||
alt="Saving"
|
||||
></paper-spinner>
|
||||
${
|
||||
this.localize("ui.panel.lovelace.editor.save_config.save")
|
||||
}</paper-button
|
||||
${this.localize(
|
||||
"ui.panel.lovelace.editor.save_config.save"
|
||||
)}</paper-button
|
||||
>
|
||||
</div>
|
||||
</paper-dialog>
|
||||
|
@ -133,18 +133,16 @@ export class HuiEditView extends hassLocalizeLitMixin(LitElement) {
|
||||
</paper-tabs>
|
||||
<paper-dialog-scrollable> ${content} </paper-dialog-scrollable>
|
||||
<div class="paper-dialog-buttons">
|
||||
${
|
||||
this.viewIndex !== undefined
|
||||
? html`
|
||||
<paper-icon-button
|
||||
class="delete"
|
||||
title="Delete"
|
||||
icon="hass:delete"
|
||||
@click="${this._delete}"
|
||||
></paper-icon-button>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this.viewIndex !== undefined
|
||||
? html`
|
||||
<paper-icon-button
|
||||
class="delete"
|
||||
title="Delete"
|
||||
icon="hass:delete"
|
||||
@click="${this._delete}"
|
||||
></paper-icon-button>
|
||||
`
|
||||
: ""}
|
||||
<paper-button @click="${this._closeDialog}"
|
||||
>${this.localize("ui.common.cancel")}</paper-button
|
||||
>
|
||||
|
@ -46,11 +46,9 @@ class HuiStateLabelElement extends hassLocalizeLitMixin(LitElement)
|
||||
@ha-hold="${this._handleHold}"
|
||||
.longPress="${longPress()}"
|
||||
>
|
||||
${this._config.prefix}${
|
||||
state
|
||||
? computeStateDisplay(this.localize, state, this.hass!.language)
|
||||
: "-"
|
||||
}${this._config.suffix}
|
||||
${this._config.prefix}${state
|
||||
? computeStateDisplay(this.localize, state, this.hass!.language)
|
||||
: "-"}${this._config.suffix}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
@ -50,21 +50,19 @@ class HuiCoverEntityRow extends LitElement implements EntityRow {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
|
||||
${
|
||||
isTiltOnly(stateObj)
|
||||
? html`
|
||||
<ha-cover-tilt-controls
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-cover-tilt-controls>
|
||||
`
|
||||
: html`
|
||||
<ha-cover-controls
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-cover-controls>
|
||||
`
|
||||
}
|
||||
${isTiltOnly(stateObj)
|
||||
? html`
|
||||
<ha-cover-tilt-controls
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-cover-tilt-controls>
|
||||
`
|
||||
: html`
|
||||
<ha-cover-controls
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-cover-controls>
|
||||
`}
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
}
|
||||
|
@ -51,26 +51,22 @@ class HuiGroupEntityRow extends hassLocalizeLitMixin(LitElement)
|
||||
|
||||
return html`
|
||||
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
|
||||
${
|
||||
this._computeCanToggle(stateObj.attributes.entity_id)
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<div>
|
||||
${
|
||||
computeStateDisplay(
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass.language
|
||||
)
|
||||
}
|
||||
</div>
|
||||
`
|
||||
}
|
||||
${this._computeCanToggle(stateObj.attributes.entity_id)
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<div>
|
||||
${computeStateDisplay(
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass.language
|
||||
)}
|
||||
</div>
|
||||
`}
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
}
|
||||
|
@ -63,15 +63,13 @@ class HuiInputSelectEntityRow extends LitElement implements EntityRow {
|
||||
slot="dropdown-content"
|
||||
selected="${stateObj.attributes.options.indexOf(stateObj.state)}"
|
||||
>
|
||||
${
|
||||
repeat(
|
||||
stateObj.attributes.options,
|
||||
(option) =>
|
||||
html`
|
||||
<paper-item>${option}</paper-item>
|
||||
`
|
||||
)
|
||||
}
|
||||
${repeat(
|
||||
stateObj.attributes.options,
|
||||
(option) =>
|
||||
html`
|
||||
<paper-item>${option}</paper-item>
|
||||
`
|
||||
)}
|
||||
</paper-listbox>
|
||||
</paper-dropdown-menu>
|
||||
`;
|
||||
|
@ -50,11 +50,9 @@ class HuiLockEntityRow extends hassLocalizeLitMixin(LitElement)
|
||||
${this.renderStyle()}
|
||||
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
|
||||
<paper-button @click="${this._callService}">
|
||||
${
|
||||
stateObj.state === "locked"
|
||||
? this.localize("ui.card.lock.unlock")
|
||||
: this.localize("ui.card.lock.lock")
|
||||
}
|
||||
${stateObj.state === "locked"
|
||||
? this.localize("ui.card.lock.unlock")
|
||||
: this.localize("ui.card.lock.lock")}
|
||||
</paper-button>
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
|
@ -57,44 +57,36 @@ class HuiMediaPlayerEntityRow extends hassLocalizeLitMixin(LitElement)
|
||||
.config="${this._config}"
|
||||
.showSecondary="false"
|
||||
>
|
||||
${
|
||||
OFF_STATES.includes(stateObj.state)
|
||||
? html`
|
||||
<div>
|
||||
${
|
||||
this.localize(`state.media_player.${stateObj.state}`) ||
|
||||
this.localize(`state.default.${stateObj.state}`) ||
|
||||
stateObj.state
|
||||
}
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<div class="controls">
|
||||
${
|
||||
stateObj.state !== "playing" &&
|
||||
!supportsFeature(stateObj, SUPPORTS_PLAY)
|
||||
? ""
|
||||
: html`
|
||||
<paper-icon-button
|
||||
icon="${this._computeControlIcon(stateObj)}"
|
||||
@click="${this._playPause}"
|
||||
></paper-icon-button>
|
||||
`
|
||||
}
|
||||
${
|
||||
supportsFeature(stateObj, SUPPORT_NEXT_TRACK)
|
||||
? html`
|
||||
<paper-icon-button
|
||||
icon="hass:skip-next"
|
||||
@click="${this._nextTrack}"
|
||||
></paper-icon-button>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
</div>
|
||||
<div slot="secondary">${this._computeMediaTitle(stateObj)}</div>
|
||||
`
|
||||
}
|
||||
${OFF_STATES.includes(stateObj.state)
|
||||
? html`
|
||||
<div>
|
||||
${this.localize(`state.media_player.${stateObj.state}`) ||
|
||||
this.localize(`state.default.${stateObj.state}`) ||
|
||||
stateObj.state}
|
||||
</div>
|
||||
`
|
||||
: html`
|
||||
<div class="controls">
|
||||
${stateObj.state !== "playing" &&
|
||||
!supportsFeature(stateObj, SUPPORTS_PLAY)
|
||||
? ""
|
||||
: html`
|
||||
<paper-icon-button
|
||||
icon="${this._computeControlIcon(stateObj)}"
|
||||
@click="${this._playPause}"
|
||||
></paper-icon-button>
|
||||
`}
|
||||
${supportsFeature(stateObj, SUPPORT_NEXT_TRACK)
|
||||
? html`
|
||||
<paper-icon-button
|
||||
icon="hass:skip-next"
|
||||
@click="${this._nextTrack}"
|
||||
></paper-icon-button>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
<div slot="secondary">${this._computeMediaTitle(stateObj)}</div>
|
||||
`}
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
}
|
||||
|
@ -50,20 +50,18 @@ class HuiSceneEntityRow extends hassLocalizeLitMixin(LitElement)
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
|
||||
${
|
||||
stateObj.attributes.can_cancel
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<paper-button @click="${this._callService}">
|
||||
${this.localize("ui.card.scene.activate")}
|
||||
</paper-button>
|
||||
`
|
||||
}
|
||||
${stateObj.attributes.can_cancel
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<paper-button @click="${this._callService}">
|
||||
${this.localize("ui.card.scene.activate")}
|
||||
</paper-button>
|
||||
`}
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
}
|
||||
|
@ -50,20 +50,18 @@ class HuiScriptEntityRow extends hassLocalizeLitMixin(LitElement)
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
|
||||
${
|
||||
stateObj.attributes.can_cancel
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<paper-button @click="${this._callService}">
|
||||
${this.localize("ui.card.script.execute")}
|
||||
</paper-button>
|
||||
`
|
||||
}
|
||||
${stateObj.attributes.can_cancel
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<paper-button @click="${this._callService}">
|
||||
${this.localize("ui.card.script.execute")}
|
||||
</paper-button>
|
||||
`}
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
}
|
||||
|
@ -57,17 +57,15 @@ class HuiSensorEntityRow extends hassLocalizeLitMixin(LitElement)
|
||||
${this.renderStyle()}
|
||||
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
|
||||
<div>
|
||||
${
|
||||
stateObj.attributes.device_class === "timestamp"
|
||||
? html`
|
||||
<hui-timestamp-display
|
||||
.hass="${this.hass}"
|
||||
.ts="${new Date(stateObj.state)}"
|
||||
.format="${this._config.format}"
|
||||
></hui-timestamp-display>
|
||||
`
|
||||
: computeStateDisplay(this.localize, stateObj, this.hass.language)
|
||||
}
|
||||
${stateObj.attributes.device_class === "timestamp"
|
||||
? html`
|
||||
<hui-timestamp-display
|
||||
.hass="${this.hass}"
|
||||
.ts="${new Date(stateObj.state)}"
|
||||
.format="${this._config.format}"
|
||||
></hui-timestamp-display>
|
||||
`
|
||||
: computeStateDisplay(this.localize, stateObj, this.hass.language)}
|
||||
</div>
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
|
@ -50,26 +50,22 @@ class HuiToggleEntityRow extends hassLocalizeLitMixin(LitElement)
|
||||
|
||||
return html`
|
||||
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
|
||||
${
|
||||
stateObj.state === "on" || stateObj.state === "off"
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<div>
|
||||
${
|
||||
computeStateDisplay(
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass!.language
|
||||
)
|
||||
}
|
||||
</div>
|
||||
`
|
||||
}
|
||||
${stateObj.state === "on" || stateObj.state === "off"
|
||||
? html`
|
||||
<ha-entity-toggle
|
||||
.hass="${this.hass}"
|
||||
.stateObj="${stateObj}"
|
||||
></ha-entity-toggle>
|
||||
`
|
||||
: html`
|
||||
<div>
|
||||
${computeStateDisplay(
|
||||
this.localize,
|
||||
stateObj,
|
||||
this.hass!.language
|
||||
)}
|
||||
</div>
|
||||
`}
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
}
|
||||
|
@ -52,21 +52,17 @@ class LovelaceFullConfigEditor extends hassLocalizeLitMixin(LitElement) {
|
||||
@click="${this._closeEditor}"
|
||||
></paper-icon-button>
|
||||
<div main-title>Edit Config</div>
|
||||
${
|
||||
this._hash
|
||||
? html`
|
||||
<span class="comments">Comments will be not be saved!</span>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._hash
|
||||
? html`
|
||||
<span class="comments">Comments will be not be saved!</span>
|
||||
`
|
||||
: ""}
|
||||
<paper-button @click="${this._handleSave}">Save</paper-button>
|
||||
<ha-icon
|
||||
class="save-button
|
||||
${
|
||||
classMap({
|
||||
saved: this._saving! === false || this._changed === true,
|
||||
})
|
||||
}"
|
||||
${classMap({
|
||||
saved: this._saving! === false || this._changed === true,
|
||||
})}"
|
||||
icon="${this._changed ? "hass:circle-medium" : "hass:check"}"
|
||||
></ha-icon>
|
||||
</app-toolbar>
|
||||
|
@ -139,10 +139,8 @@ class HUIRoot extends hassLocalizeLitMixin(LitElement) {
|
||||
@click="${this._editModeDisable}"
|
||||
></paper-icon-button>
|
||||
<div main-title>
|
||||
${
|
||||
this.config.title ||
|
||||
this.localize("ui.panel.lovelace.editor.header")
|
||||
}
|
||||
${this.config.title ||
|
||||
this.localize("ui.panel.lovelace.editor.header")}
|
||||
<paper-icon-button
|
||||
icon="hass:pencil"
|
||||
class="edit-icon"
|
||||
@ -203,22 +201,20 @@ class HUIRoot extends hassLocalizeLitMixin(LitElement) {
|
||||
@iron-select="${this._deselect}"
|
||||
slot="dropdown-content"
|
||||
>
|
||||
${
|
||||
this._yamlMode
|
||||
? html`
|
||||
<paper-item @click="${this._handleRefresh}"
|
||||
>Refresh</paper-item
|
||||
>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this._yamlMode
|
||||
? html`
|
||||
<paper-item @click="${this._handleRefresh}"
|
||||
>Refresh</paper-item
|
||||
>
|
||||
`
|
||||
: ""}
|
||||
<paper-item @click="${this._handleUnusedEntities}"
|
||||
>Unused entities</paper-item
|
||||
>
|
||||
<paper-item @click="${this._editModeEnable}"
|
||||
>${
|
||||
this.localize("ui.panel.lovelace.editor.configure_ui")
|
||||
}</paper-item
|
||||
>${this.localize(
|
||||
"ui.panel.lovelace.editor.configure_ui"
|
||||
)}</paper-item
|
||||
>
|
||||
<paper-item @click="${this._handleHelp}">Help</paper-item>
|
||||
</paper-listbox>
|
||||
@ -236,54 +232,41 @@ class HUIRoot extends hassLocalizeLitMixin(LitElement) {
|
||||
.selected="${this._curView}"
|
||||
@iron-activate="${this._handleViewSelected}"
|
||||
>
|
||||
${
|
||||
this.lovelace!.config.views.map(
|
||||
(view) => html`
|
||||
<paper-tab>
|
||||
${
|
||||
view.icon
|
||||
? html`
|
||||
<ha-icon
|
||||
title="${view.title}"
|
||||
.icon="${view.icon}"
|
||||
></ha-icon>
|
||||
`
|
||||
: view.title || "Unnamed view"
|
||||
}
|
||||
${
|
||||
this._editMode
|
||||
? html`
|
||||
<ha-icon
|
||||
class="edit-icon view"
|
||||
@click="${this._editView}"
|
||||
icon="hass:pencil"
|
||||
></ha-icon>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
</paper-tab>
|
||||
${this.lovelace!.config.views.map(
|
||||
(view) => html`
|
||||
<paper-tab>
|
||||
${view.icon
|
||||
? html`
|
||||
<ha-icon
|
||||
title="${view.title}"
|
||||
.icon="${view.icon}"
|
||||
></ha-icon>
|
||||
`
|
||||
: view.title || "Unnamed view"}
|
||||
${this._editMode
|
||||
? html`
|
||||
<ha-icon
|
||||
class="edit-icon view"
|
||||
@click="${this._editView}"
|
||||
icon="hass:pencil"
|
||||
></ha-icon>
|
||||
`
|
||||
: ""}
|
||||
</paper-tab>
|
||||
`
|
||||
)}
|
||||
${this._editMode
|
||||
? html`
|
||||
<paper-button id="add-view" @click="${this._addView}">
|
||||
<ha-icon
|
||||
title="${this.localize(
|
||||
"ui.panel.lovelace.editor.edit_view.add"
|
||||
)}"
|
||||
icon="hass:plus"
|
||||
></ha-icon>
|
||||
</paper-button>
|
||||
`
|
||||
)
|
||||
}
|
||||
${
|
||||
this._editMode
|
||||
? html`
|
||||
<paper-button
|
||||
id="add-view"
|
||||
@click="${this._addView}"
|
||||
>
|
||||
<ha-icon
|
||||
title="${
|
||||
this.localize(
|
||||
"ui.panel.lovelace.editor.edit_view.add"
|
||||
)
|
||||
}"
|
||||
icon="hass:plus"
|
||||
></ha-icon>
|
||||
</paper-button>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
: ""}
|
||||
</paper-tabs>
|
||||
</div>
|
||||
`
|
||||
|
@ -91,20 +91,16 @@ export class HUIView extends hassLocalizeLitMixin(LitElement) {
|
||||
${this.renderStyles()}
|
||||
<div id="badges"></div>
|
||||
<div id="columns"></div>
|
||||
${
|
||||
this.lovelace!.editMode
|
||||
? html`
|
||||
<paper-fab
|
||||
elevated="2"
|
||||
icon="hass:plus"
|
||||
title="${
|
||||
this.localize("ui.panel.lovelace.editor.edit_card.add")
|
||||
}"
|
||||
@click="${this._addCard}"
|
||||
></paper-fab>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
${this.lovelace!.editMode
|
||||
? html`
|
||||
<paper-fab
|
||||
elevated="2"
|
||||
icon="hass:plus"
|
||||
title="${this.localize("ui.panel.lovelace.editor.edit_card.add")}"
|
||||
@click="${this._addCard}"
|
||||
></paper-fab>
|
||||
`
|
||||
: ""}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -30,13 +30,11 @@ class HuiSectionRow extends LitElement implements EntityRow {
|
||||
return html`
|
||||
${this.renderStyle()}
|
||||
<div class="divider"></div>
|
||||
${
|
||||
this._config.label
|
||||
? html`
|
||||
<div class="label">${this._config.label}</div>
|
||||
`
|
||||
: html``
|
||||
}
|
||||
${this._config.label
|
||||
? html`
|
||||
<div class="label">${this._config.label}</div>
|
||||
`
|
||||
: html``}
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,6 @@
|
||||
{
|
||||
"extends": [
|
||||
"tslint-plugin-prettier",
|
||||
"tslint:latest",
|
||||
"tslint-eslint-rules",
|
||||
"tslint-config-prettier"
|
||||
],
|
||||
"extends": ["tslint:latest", "tslint-eslint-rules", "tslint-config-prettier"],
|
||||
"rulesDirectory": ["tslint-plugin-prettier"],
|
||||
"rules": {
|
||||
"prettier": true,
|
||||
"interface-name": false,
|
||||
|
348
yarn.lock
348
yarn.lock
@ -2280,12 +2280,7 @@ acorn@^5.5.0, acorn@^5.5.3:
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
|
||||
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
|
||||
|
||||
acorn@^6.0.2:
|
||||
version "6.0.4"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754"
|
||||
integrity sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==
|
||||
|
||||
acorn@^6.0.5:
|
||||
acorn@^6.0.2, acorn@^6.0.5:
|
||||
version "6.0.5"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a"
|
||||
integrity sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg==
|
||||
@ -2317,7 +2312,7 @@ ajv-keywords@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
|
||||
integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=
|
||||
|
||||
ajv@^6.1.0, ajv@^6.5.5:
|
||||
ajv@^6.1.0, ajv@^6.5.3, ajv@^6.6.1:
|
||||
version "6.7.0"
|
||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96"
|
||||
integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==
|
||||
@ -2327,7 +2322,7 @@ ajv@^6.1.0, ajv@^6.5.5:
|
||||
json-schema-traverse "^0.4.1"
|
||||
uri-js "^4.2.2"
|
||||
|
||||
ajv@^6.5.3, ajv@^6.6.1:
|
||||
ajv@^6.5.5:
|
||||
version "6.6.1"
|
||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.1.tgz#6360f5ed0d80f232cc2b294c362d5dc2e538dd61"
|
||||
integrity sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==
|
||||
@ -3878,13 +3873,6 @@ caller-callsite@^2.0.0:
|
||||
dependencies:
|
||||
callsites "^2.0.0"
|
||||
|
||||
caller-path@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
|
||||
integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=
|
||||
dependencies:
|
||||
callsites "^0.2.0"
|
||||
|
||||
caller-path@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
|
||||
@ -3897,16 +3885,16 @@ callsite@1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
|
||||
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
|
||||
|
||||
callsites@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
|
||||
integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=
|
||||
|
||||
callsites@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
|
||||
integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
|
||||
|
||||
callsites@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3"
|
||||
integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==
|
||||
|
||||
camel-case@3.0.x:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
|
||||
@ -4003,7 +3991,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
|
||||
strip-ansi "^3.0.0"
|
||||
supports-color "^2.0.0"
|
||||
|
||||
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1:
|
||||
chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
||||
@ -4012,7 +4000,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1:
|
||||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^5.3.0"
|
||||
|
||||
chalk@^2.1.0, chalk@^2.3.1:
|
||||
chalk@^2.0.1, chalk@^2.3.1, chalk@^2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
|
||||
integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==
|
||||
@ -4902,16 +4890,16 @@ debug@^3.1.0, debug@^3.2.5:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@^4.0.0, debug@^4.1.0, debug@~4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87"
|
||||
integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@^4.0.1:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87"
|
||||
integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
@ -5530,7 +5518,7 @@ error@^7.0.2:
|
||||
string-template "~0.2.1"
|
||||
xtend "~4.0.0"
|
||||
|
||||
es-abstract@^1.5.1:
|
||||
es-abstract@^1.11.0, es-abstract@^1.7.0:
|
||||
version "1.13.0"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
|
||||
integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
|
||||
@ -5542,7 +5530,7 @@ es-abstract@^1.5.1:
|
||||
is-regex "^1.0.4"
|
||||
object-keys "^1.0.12"
|
||||
|
||||
es-abstract@^1.6.1:
|
||||
es-abstract@^1.5.1, es-abstract@^1.6.1:
|
||||
version "1.12.0"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
|
||||
integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==
|
||||
@ -5553,17 +5541,6 @@ es-abstract@^1.6.1:
|
||||
is-callable "^1.1.3"
|
||||
is-regex "^1.0.4"
|
||||
|
||||
es-abstract@^1.7.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
|
||||
integrity sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==
|
||||
dependencies:
|
||||
es-to-primitive "^1.1.1"
|
||||
function-bind "^1.1.1"
|
||||
has "^1.0.1"
|
||||
is-callable "^1.1.3"
|
||||
is-regex "^1.0.4"
|
||||
|
||||
es-to-primitive@^1.1.1, es-to-primitive@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
|
||||
@ -5627,20 +5604,20 @@ eslint-config-airbnb-base@^13.1.0:
|
||||
object.assign "^4.1.0"
|
||||
object.entries "^1.0.4"
|
||||
|
||||
eslint-config-prettier@^3.1.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d"
|
||||
integrity sha512-Bc3bh5bAcKNvs3HOpSi6EfGA2IIp7EzWcg2tS4vP7stnXu/J1opihHDM7jI9JCIckyIDTgZLSWn7J3HY0j2JfA==
|
||||
eslint-config-prettier@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.0.0.tgz#16cedeea0a56e74de60dcbbe3be0ab2c645405b9"
|
||||
integrity sha512-kWuiJxzV5NwOwZcpyozTzDT5KJhBw292bbYro9Is7BWnbNMg15Gmpluc1CTetiCatF8DRkNvgPAOaSyg+bYr3g==
|
||||
dependencies:
|
||||
get-stdin "^6.0.0"
|
||||
|
||||
eslint-import-resolver-node@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc"
|
||||
integrity sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A==
|
||||
eslint-import-resolver-node@^0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
|
||||
integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==
|
||||
dependencies:
|
||||
debug "^2.6.8"
|
||||
resolve "^1.2.0"
|
||||
debug "^2.6.9"
|
||||
resolve "^1.5.0"
|
||||
|
||||
eslint-import-resolver-webpack@^0.10.1:
|
||||
version "0.10.1"
|
||||
@ -5658,29 +5635,29 @@ eslint-import-resolver-webpack@^0.10.1:
|
||||
resolve "^1.4.0"
|
||||
semver "^5.3.0"
|
||||
|
||||
eslint-module-utils@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746"
|
||||
integrity sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=
|
||||
eslint-module-utils@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49"
|
||||
integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w==
|
||||
dependencies:
|
||||
debug "^2.6.8"
|
||||
pkg-dir "^1.0.0"
|
||||
pkg-dir "^2.0.0"
|
||||
|
||||
eslint-plugin-import@^2.14.0:
|
||||
version "2.14.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8"
|
||||
integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==
|
||||
version "2.15.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.15.0.tgz#d8f3c28b8988ccde5df964706faa7c1e52f0602a"
|
||||
integrity sha512-LEHqgR+RcnpGqYW7h9WMkPb/tP+ekKxWdQDztfTtZeV43IHF+X8lXU+1HOCcR4oXD24qRgEwNSxIweD5uNKGVg==
|
||||
dependencies:
|
||||
contains-path "^0.1.0"
|
||||
debug "^2.6.8"
|
||||
debug "^2.6.9"
|
||||
doctrine "1.5.0"
|
||||
eslint-import-resolver-node "^0.3.1"
|
||||
eslint-module-utils "^2.2.0"
|
||||
has "^1.0.1"
|
||||
lodash "^4.17.4"
|
||||
minimatch "^3.0.3"
|
||||
eslint-import-resolver-node "^0.3.2"
|
||||
eslint-module-utils "^2.3.0"
|
||||
has "^1.0.3"
|
||||
lodash "^4.17.11"
|
||||
minimatch "^3.0.4"
|
||||
read-pkg-up "^2.0.0"
|
||||
resolve "^1.6.0"
|
||||
resolve "^1.9.0"
|
||||
|
||||
eslint-plugin-prettier@^2.2.0:
|
||||
version "2.7.0"
|
||||
@ -5691,22 +5668,24 @@ eslint-plugin-prettier@^2.2.0:
|
||||
jest-docblock "^21.0.0"
|
||||
|
||||
eslint-plugin-prettier@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.0.tgz#f6b823e065f8c36529918cdb766d7a0e975ec30c"
|
||||
integrity sha512-4g11opzhqq/8+AMmo5Vc2Gn7z9alZ4JqrbZ+D4i8KlSyxeQhZHlmIrY8U9Akf514MoEhogPa87Jgkq87aZ2Ohw==
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.1.tgz#19d521e3981f69dd6d14f64aec8c6a6ac6eb0b0d"
|
||||
integrity sha512-/PMttrarPAY78PLvV3xfWibMOdMDl57hmlQ2XqFeA37wd+CJ7WSxV7txqjVPHi/AAFKd2lX0ZqfsOc/i5yFCSQ==
|
||||
dependencies:
|
||||
prettier-linter-helpers "^1.0.0"
|
||||
|
||||
eslint-plugin-react@^7.11.1:
|
||||
version "7.11.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz#c01a7af6f17519457d6116aa94fc6d2ccad5443c"
|
||||
integrity sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==
|
||||
version "7.12.4"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c"
|
||||
integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==
|
||||
dependencies:
|
||||
array-includes "^3.0.3"
|
||||
doctrine "^2.1.0"
|
||||
has "^1.0.3"
|
||||
jsx-ast-utils "^2.0.1"
|
||||
object.fromentries "^2.0.0"
|
||||
prop-types "^15.6.2"
|
||||
resolve "^1.9.0"
|
||||
|
||||
eslint-restricted-globals@^0.1.1:
|
||||
version "0.1.1"
|
||||
@ -5740,9 +5719,9 @@ eslint-visitor-keys@^1.0.0:
|
||||
integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
|
||||
|
||||
eslint@^5.6.0:
|
||||
version "5.9.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.9.0.tgz#b234b6d15ef84b5849c6de2af43195a2d59d408e"
|
||||
integrity sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w==
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.12.1.tgz#5ca9931fb9029d04e7be92b03ce3b58edfac7e3b"
|
||||
integrity sha512-54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
ajv "^6.5.3"
|
||||
@ -5753,7 +5732,7 @@ eslint@^5.6.0:
|
||||
eslint-scope "^4.0.0"
|
||||
eslint-utils "^1.3.1"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
espree "^4.0.0"
|
||||
espree "^5.0.0"
|
||||
esquery "^1.0.1"
|
||||
esutils "^2.0.2"
|
||||
file-entry-cache "^2.0.0"
|
||||
@ -5761,9 +5740,9 @@ eslint@^5.6.0:
|
||||
glob "^7.1.2"
|
||||
globals "^11.7.0"
|
||||
ignore "^4.0.6"
|
||||
import-fresh "^3.0.0"
|
||||
imurmurhash "^0.1.4"
|
||||
inquirer "^6.1.0"
|
||||
is-resolvable "^1.1.0"
|
||||
js-yaml "^3.12.0"
|
||||
json-stable-stringify-without-jsonify "^1.0.1"
|
||||
levn "^0.3.0"
|
||||
@ -5776,7 +5755,6 @@ eslint@^5.6.0:
|
||||
pluralize "^7.0.0"
|
||||
progress "^2.0.0"
|
||||
regexpp "^2.0.1"
|
||||
require-uncached "^1.0.3"
|
||||
semver "^5.5.1"
|
||||
strip-ansi "^4.0.0"
|
||||
strip-json-comments "^2.0.1"
|
||||
@ -5791,10 +5769,10 @@ espree@^3.5.2:
|
||||
acorn "^5.5.0"
|
||||
acorn-jsx "^3.0.0"
|
||||
|
||||
espree@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f"
|
||||
integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==
|
||||
espree@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz#fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c"
|
||||
integrity sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==
|
||||
dependencies:
|
||||
acorn "^6.0.2"
|
||||
acorn-jsx "^5.0.0"
|
||||
@ -6107,16 +6085,11 @@ fast-deep-equal@^2.0.1:
|
||||
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
|
||||
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
|
||||
|
||||
fast-diff@^1.1.1:
|
||||
fast-diff@^1.1.1, fast-diff@^1.1.2:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
|
||||
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
|
||||
|
||||
fast-diff@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
|
||||
integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==
|
||||
|
||||
fast-glob@^2.0.2:
|
||||
version "2.2.6"
|
||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295"
|
||||
@ -6838,15 +6811,15 @@ global-prefix@^1.0.1:
|
||||
which "^1.2.14"
|
||||
|
||||
globals@^11.1.0:
|
||||
version "11.10.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50"
|
||||
integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==
|
||||
|
||||
globals@^11.7.0:
|
||||
version "11.9.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249"
|
||||
integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==
|
||||
|
||||
globals@^11.7.0:
|
||||
version "11.10.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50"
|
||||
integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==
|
||||
|
||||
globals@^9.18.0:
|
||||
version "9.18.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
|
||||
@ -7610,6 +7583,14 @@ import-fresh@^2.0.0:
|
||||
caller-path "^2.0.0"
|
||||
resolve-from "^3.0.0"
|
||||
|
||||
import-fresh@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390"
|
||||
integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==
|
||||
dependencies:
|
||||
parent-module "^1.0.0"
|
||||
resolve-from "^4.0.0"
|
||||
|
||||
import-lazy@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
|
||||
@ -7699,25 +7680,6 @@ inquirer@^1.0.2:
|
||||
through "^2.3.6"
|
||||
|
||||
inquirer@^6.0.0:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz#9943fc4882161bdb0b0c9276769c75b32dbfcd52"
|
||||
integrity sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==
|
||||
dependencies:
|
||||
ansi-escapes "^3.0.0"
|
||||
chalk "^2.0.0"
|
||||
cli-cursor "^2.1.0"
|
||||
cli-width "^2.0.0"
|
||||
external-editor "^3.0.0"
|
||||
figures "^2.0.0"
|
||||
lodash "^4.17.10"
|
||||
mute-stream "0.0.7"
|
||||
run-async "^2.2.0"
|
||||
rxjs "^6.1.0"
|
||||
string-width "^2.1.0"
|
||||
strip-ansi "^5.0.0"
|
||||
through "^2.3.6"
|
||||
|
||||
inquirer@^6.1.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8"
|
||||
integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==
|
||||
@ -7736,6 +7698,25 @@ inquirer@^6.1.0:
|
||||
strip-ansi "^4.0.0"
|
||||
through "^2.3.6"
|
||||
|
||||
inquirer@^6.1.0:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz#9943fc4882161bdb0b0c9276769c75b32dbfcd52"
|
||||
integrity sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==
|
||||
dependencies:
|
||||
ansi-escapes "^3.0.0"
|
||||
chalk "^2.0.0"
|
||||
cli-cursor "^2.1.0"
|
||||
cli-width "^2.0.0"
|
||||
external-editor "^3.0.0"
|
||||
figures "^2.0.0"
|
||||
lodash "^4.17.10"
|
||||
mute-stream "0.0.7"
|
||||
run-async "^2.2.0"
|
||||
rxjs "^6.1.0"
|
||||
string-width "^2.1.0"
|
||||
strip-ansi "^5.0.0"
|
||||
through "^2.3.6"
|
||||
|
||||
internal-ip@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27"
|
||||
@ -8116,11 +8097,6 @@ is-relative@^0.2.1:
|
||||
dependencies:
|
||||
is-unc-path "^0.1.1"
|
||||
|
||||
is-resolvable@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
|
||||
integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
|
||||
|
||||
is-retry-allowed@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
|
||||
@ -8297,17 +8273,17 @@ js-levenshtein@^1.1.3:
|
||||
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
|
||||
integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
|
||||
|
||||
js-tokens@^3.0.0, js-tokens@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
|
||||
|
||||
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||
|
||||
js-yaml@^3.12.0, js-yaml@^3.7.0, js-yaml@^3.9.0:
|
||||
js-tokens@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
|
||||
|
||||
js-yaml@^3.12.0, js-yaml@^3.9.0:
|
||||
version "3.12.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
|
||||
integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==
|
||||
@ -8315,6 +8291,14 @@ js-yaml@^3.12.0, js-yaml@^3.7.0, js-yaml@^3.9.0:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
js-yaml@^3.7.0:
|
||||
version "3.12.1"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600"
|
||||
integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
jsbn@~0.1.0:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
|
||||
@ -9234,20 +9218,13 @@ lolex@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/lolex/-/lolex-3.0.0.tgz#f04ee1a8aa13f60f1abd7b0e8f4213ec72ec193e"
|
||||
integrity sha512-hcnW80h3j2lbUfFdMArd5UPA/vxZJ+G8vobd+wg3nVEQA0EigStbYcrG030FJxL6xiDDPEkoMatV9xIh5OecQQ==
|
||||
|
||||
loose-envify@^1.0.0:
|
||||
loose-envify@^1.0.0, loose-envify@^1.3.1:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
||||
dependencies:
|
||||
js-tokens "^3.0.0 || ^4.0.0"
|
||||
|
||||
loose-envify@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
|
||||
integrity sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=
|
||||
dependencies:
|
||||
js-tokens "^3.0.0"
|
||||
|
||||
loud-rejection@^1.0.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
|
||||
@ -10175,6 +10152,16 @@ object.entries@^1.0.4:
|
||||
function-bind "^1.1.0"
|
||||
has "^1.0.1"
|
||||
|
||||
object.fromentries@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab"
|
||||
integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==
|
||||
dependencies:
|
||||
define-properties "^1.1.2"
|
||||
es-abstract "^1.11.0"
|
||||
function-bind "^1.1.1"
|
||||
has "^1.0.1"
|
||||
|
||||
object.getownpropertydescriptors@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
|
||||
@ -10489,6 +10476,13 @@ param-case@2.1.x:
|
||||
dependencies:
|
||||
no-case "^2.2.0"
|
||||
|
||||
parent-module@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5"
|
||||
integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==
|
||||
dependencies:
|
||||
callsites "^3.0.0"
|
||||
|
||||
parse-asn1@^5.0.0:
|
||||
version "5.1.3"
|
||||
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.3.tgz#1600c6cc0727365d68b97f3aa78939e735a75204"
|
||||
@ -10735,13 +10729,6 @@ pinkie@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
|
||||
integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
|
||||
|
||||
pkg-dir@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
|
||||
integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q=
|
||||
dependencies:
|
||||
find-up "^1.0.0"
|
||||
|
||||
pkg-dir@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
|
||||
@ -11146,9 +11133,9 @@ prettier-linter-helpers@^1.0.0:
|
||||
fast-diff "^1.1.2"
|
||||
|
||||
prettier@^1.14.3:
|
||||
version "1.15.3"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.3.tgz#1feaac5bdd181237b54dbe65d874e02a1472786a"
|
||||
integrity sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==
|
||||
version "1.16.1"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.1.tgz#534c2c9d7853f8845e5e078384e71973bd74089f"
|
||||
integrity sha512-XXUITwIkGb3CPJ2hforHah/zTINRyie5006Jd2HKy2qz7snEJXl0KLfsJZW/wst9g6R2rFvqba3VpNYdu1hDcA==
|
||||
|
||||
pretty-bytes@^4.0.2:
|
||||
version "4.0.2"
|
||||
@ -11201,11 +11188,16 @@ process@^0.11.10:
|
||||
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
||||
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
|
||||
|
||||
progress@2.0.1, progress@^2.0.0:
|
||||
progress@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31"
|
||||
integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==
|
||||
|
||||
progress@^2.0.0:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
|
||||
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
|
||||
|
||||
promise-inflight@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
|
||||
@ -11807,14 +11799,6 @@ require-main-filename@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
|
||||
integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
|
||||
|
||||
require-uncached@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
|
||||
integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=
|
||||
dependencies:
|
||||
caller-path "^0.1.0"
|
||||
resolve-from "^1.0.0"
|
||||
|
||||
requirejs@^2.3.4:
|
||||
version "2.3.6"
|
||||
resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.3.6.tgz#e5093d9601c2829251258c0b9445d4d19fa9e7c9"
|
||||
@ -11848,35 +11832,42 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1:
|
||||
expand-tilde "^2.0.0"
|
||||
global-modules "^1.0.0"
|
||||
|
||||
resolve-from@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
|
||||
integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=
|
||||
|
||||
resolve-from@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
|
||||
integrity sha1-six699nWiBvItuZTM17rywoYh0g=
|
||||
|
||||
resolve-from@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
|
||||
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
|
||||
|
||||
resolve-url@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||
|
||||
resolve@^1.1.6, resolve@^1.3.2, resolve@^1.5.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
|
||||
integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==
|
||||
resolve@^1.1.6, resolve@^1.5.0:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
|
||||
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
|
||||
dependencies:
|
||||
path-parse "^1.0.6"
|
||||
path-parse "^1.0.5"
|
||||
|
||||
resolve@^1.1.7, resolve@^1.2.0:
|
||||
resolve@^1.1.7:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86"
|
||||
integrity sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==
|
||||
dependencies:
|
||||
path-parse "^1.0.5"
|
||||
|
||||
resolve@^1.3.2, resolve@^1.9.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
|
||||
integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==
|
||||
dependencies:
|
||||
path-parse "^1.0.6"
|
||||
|
||||
resolve@^1.4.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
|
||||
@ -11884,13 +11875,6 @@ resolve@^1.4.0:
|
||||
dependencies:
|
||||
path-parse "^1.0.5"
|
||||
|
||||
resolve@^1.6.0:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
|
||||
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
|
||||
dependencies:
|
||||
path-parse "^1.0.5"
|
||||
|
||||
restore-cursor@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
|
||||
@ -11913,11 +11897,11 @@ ret@~0.1.10:
|
||||
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
|
||||
|
||||
rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2:
|
||||
version "2.6.3"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
|
||||
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
|
||||
integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==
|
||||
dependencies:
|
||||
glob "^7.1.3"
|
||||
glob "^7.0.5"
|
||||
|
||||
rimraf@~2.2.6:
|
||||
version "2.2.8"
|
||||
@ -11925,11 +11909,11 @@ rimraf@~2.2.6:
|
||||
integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=
|
||||
|
||||
rimraf@~2.6.2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
|
||||
integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==
|
||||
version "2.6.3"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
|
||||
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
|
||||
dependencies:
|
||||
glob "^7.0.5"
|
||||
glob "^7.1.3"
|
||||
|
||||
ripemd160@^2.0.0, ripemd160@^2.0.1:
|
||||
version "2.0.2"
|
||||
@ -12973,9 +12957,9 @@ table-layout@^0.4.3:
|
||||
wordwrapjs "^3.0.0"
|
||||
|
||||
table@^5.0.2:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/table/-/table-5.1.1.tgz#92030192f1b7b51b6eeab23ed416862e47b70837"
|
||||
integrity sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw==
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/table/-/table-5.2.1.tgz#e78463702b1be9f7131c39860bcfb1b81114c2a1"
|
||||
integrity sha512-qmhNs2GEHNqY5fd2Mo+8N1r2sw/rvTAAvBZTaTx+Y7PHLypqyrxr1MdIu0pLw6Xvl/Gi4ONu/sdceP8vvUjkyA==
|
||||
dependencies:
|
||||
ajv "^6.6.1"
|
||||
lodash "^4.17.11"
|
||||
@ -13386,9 +13370,9 @@ tslint-plugin-prettier@^2.0.1:
|
||||
tslib "^1.7.1"
|
||||
|
||||
tslint@^5.11.0:
|
||||
version "5.11.0"
|
||||
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.11.0.tgz#98f30c02eae3cde7006201e4c33cb08b48581eed"
|
||||
integrity sha1-mPMMAurjzecAYgHkwzywi0hYHu0=
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.12.1.tgz#8cec9d454cf8a1de9b0a26d7bdbad6de362e52c1"
|
||||
integrity sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==
|
||||
dependencies:
|
||||
babel-code-frame "^6.22.0"
|
||||
builtin-modules "^1.1.1"
|
||||
|
Loading…
x
Reference in New Issue
Block a user