Update lint tools (#2576)

* Update lint

* Prettier Hass.io

* Update prettier
This commit is contained in:
Paulus Schoutsen 2019-01-26 19:34:07 -08:00 committed by GitHub
parent 5a6d537d43
commit 8db111c2fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
68 changed files with 1174 additions and 1475 deletions

View File

@ -8,7 +8,8 @@
}, },
"settings": { "settings": {
"react": { "react": {
"pragma": "h" "pragma": "h",
"version": "15.0"
}, },
"import/resolver": { "import/resolver": {
"webpack": { "webpack": {

View File

@ -54,26 +54,24 @@ export class HADemoCard extends LitElement implements LovelaceCard {
.disabled=${this._switching} .disabled=${this._switching}
></paper-icon-button> ></paper-icon-button>
<div> <div>
${ ${this._switching
this._switching ? html`
? html` <paper-spinner-lite active></paper-spinner-lite>
<paper-spinner-lite active></paper-spinner-lite> `
` : until(
: until( selectedDemoConfig.then(
selectedDemoConfig.then( (conf) => html`
(conf) => html` ${conf.name}
${conf.name} <small>
<small> by
by <a target="_blank" href="${conf.authorUrl}">
<a target="_blank" href="${conf.authorUrl}"> ${conf.authorName}
${conf.authorName} </a>
</a> </small>
</small> `
` ),
), ""
"" )}
)
}
</div> </div>
<paper-icon-button <paper-icon-button
@click=${this._nextConfig} @click=${this._nextConfig}

View File

@ -8,25 +8,23 @@ export class DemoUtilLongPress extends LitElement {
protected render(): TemplateResult | void { protected render(): TemplateResult | void {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
${ ${[1, 2, 3].map(
[1, 2, 3].map( () => html`
() => html` <ha-card>
<ha-card> <paper-button
<paper-button @ha-click="${this._handleTap}"
@ha-click="${this._handleTap}" @ha-hold="${this._handleHold}"
@ha-hold="${this._handleHold}" .longPress="${longPress()}"
.longPress="${longPress()}" >
> (long) press me!
(long) press me! </paper-button>
</paper-button>
<textarea></textarea> <textarea></textarea>
<div>(try pressing and scrolling too!)</div> <div>(try pressing and scrolling too!)</div>
</ha-card> </ha-card>
` `
) )}
}
`; `;
} }

View File

@ -62,14 +62,14 @@ class HassioPagesWithTabs extends NavigateMixin(PolymerElement) {
<paper-tab page-name="system">System</paper-tab> <paper-tab page-name="system">System</paper-tab>
</paper-tabs> </paper-tabs>
</app-header> </app-header>
<template is="dom-if" if="[[equals(page, &quot;dashboard&quot;)]]"> <template is="dom-if" if='[[equals(page, "dashboard")]]'>
<hassio-dashboard <hassio-dashboard
hass="[[hass]]" hass="[[hass]]"
supervisor-info="[[supervisorInfo]]" supervisor-info="[[supervisorInfo]]"
hass-info="[[hassInfo]]" hass-info="[[hassInfo]]"
></hassio-dashboard> ></hassio-dashboard>
</template> </template>
<template is="dom-if" if="[[equals(page, &quot;snapshots&quot;)]]"> <template is="dom-if" if='[[equals(page, "snapshots")]]'>
<hassio-snapshots <hassio-snapshots
hass="[[hass]]" hass="[[hass]]"
installed-addons="[[supervisorInfo.addons]]" installed-addons="[[supervisorInfo.addons]]"
@ -77,10 +77,10 @@ class HassioPagesWithTabs extends NavigateMixin(PolymerElement) {
snapshot-deleted="{{snapshotDeleted}}" snapshot-deleted="{{snapshotDeleted}}"
></hassio-snapshots> ></hassio-snapshots>
</template> </template>
<template is="dom-if" if="[[equals(page, &quot;store&quot;)]]"> <template is="dom-if" if='[[equals(page, "store")]]'>
<hassio-addon-store hass="[[hass]]"></hassio-addon-store> <hassio-addon-store hass="[[hass]]"></hassio-addon-store>
</template> </template>
<template is="dom-if" if="[[equals(page, &quot;system&quot;)]]"> <template is="dom-if" if='[[equals(page, "system")]]'>
<hassio-system <hassio-system
hass="[[hass]]" hass="[[hass]]"
supervisor-info="[[supervisorInfo]]" supervisor-info="[[supervisorInfo]]"
@ -94,7 +94,7 @@ class HassioPagesWithTabs extends NavigateMixin(PolymerElement) {
content="[[markdownContent]]" content="[[markdownContent]]"
></hassio-markdown-dialog> ></hassio-markdown-dialog>
<template is="dom-if" if="[[equals(page, &quot;snapshots&quot;)]]"> <template is="dom-if" if='[[equals(page, "snapshots")]]'>
<hassio-snapshot <hassio-snapshot
hass="[[hass]]" hass="[[hass]]"
snapshot-slug="{{snapshotSlug}}" snapshot-slug="{{snapshotSlug}}"

View File

@ -50,10 +50,7 @@ class HassioSupervisorInfo extends EventsMixin(PolymerElement) {
<td>Latest version</td> <td>Latest version</td>
<td>[[data.last_version]]</td> <td>[[data.last_version]]</td>
</tr> </tr>
<template <template is="dom-if" if='[[!_equals(data.channel, "stable")]]'>
is="dom-if"
if="[[!_equals(data.channel, &quot;stable&quot;)]]"
>
<tr> <tr>
<td>Channel</td> <td>Channel</td>
<td>[[data.channel]]</td> <td>[[data.channel]]</td>
@ -74,10 +71,7 @@ class HassioSupervisorInfo extends EventsMixin(PolymerElement) {
>Update</ha-call-api-button >Update</ha-call-api-button
> >
</template> </template>
<template <template is="dom-if" if='[[_equals(data.channel, "beta")]]'>
is="dom-if"
if="[[_equals(data.channel, &quot;beta&quot;)]]"
>
<ha-call-api-button <ha-call-api-button
hass="[[hass]]" hass="[[hass]]"
path="hassio/supervisor/options" path="hassio/supervisor/options"
@ -85,10 +79,7 @@ class HassioSupervisorInfo extends EventsMixin(PolymerElement) {
>Leave beta channel</ha-call-api-button >Leave beta channel</ha-call-api-button
> >
</template> </template>
<template <template is="dom-if" if='[[_equals(data.channel, "stable")]]'>
is="dom-if"
if="[[_equals(data.channel, &quot;stable&quot;)]]"
>
<paper-button <paper-button
on-click="_joinBeta" on-click="_joinBeta"
class="warning" class="warning"

View File

@ -112,7 +112,7 @@
"del": "^3.0.0", "del": "^3.0.0",
"eslint": "^5.6.0", "eslint": "^5.6.0",
"eslint-config-airbnb-base": "^13.1.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-import": "^2.14.0",
"eslint-plugin-prettier": "^3.0.0", "eslint-plugin-prettier": "^3.0.0",
"eslint-plugin-react": "^7.11.1", "eslint-plugin-react": "^7.11.1",

View File

@ -21,21 +21,21 @@ class HaAuthFlow extends localizeLiteMixin(PolymerElement) {
} }
</style> </style>
<form> <form>
<template is="dom-if" if="[[_equals(_state, &quot;loading&quot;)]]"> <template is="dom-if" if='[[_equals(_state, "loading")]]'>
[[localize('ui.panel.page-authorize.form.working')]]: [[localize('ui.panel.page-authorize.form.working')]]:
</template> </template>
<template is="dom-if" if="[[_equals(_state, &quot;error&quot;)]]"> <template is="dom-if" if='[[_equals(_state, "error")]]'>
<div class="error">Error: [[_errorMsg]]</div> <div class="error">Error: [[_errorMsg]]</div>
</template> </template>
<template is="dom-if" if="[[_equals(_state, &quot;step&quot;)]]"> <template is="dom-if" if='[[_equals(_state, "step")]]'>
<template is="dom-if" if="[[_equals(_step.type, &quot;abort&quot;)]]"> <template is="dom-if" if='[[_equals(_step.type, "abort")]]'>
[[localize('ui.panel.page-authorize.abort_intro')]]: [[localize('ui.panel.page-authorize.abort_intro')]]:
<ha-markdown <ha-markdown
content="[[_computeStepAbortedReason(localize, _step)]]" content="[[_computeStepAbortedReason(localize, _step)]]"
></ha-markdown> ></ha-markdown>
</template> </template>
<template is="dom-if" if="[[_equals(_step.type, &quot;form&quot;)]]"> <template is="dom-if" if='[[_equals(_step.type, "form")]]'>
<template <template
is="dom-if" is="dom-if"
if="[[_computeStepDescription(localize, _step)]]" if="[[_computeStepDescription(localize, _step)]]"

View File

@ -78,13 +78,11 @@ class HaAuthorize extends litLocalizeLiteMixin(LitElement) {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<p> <p>
${ ${this.localize(
this.localize( "ui.panel.page-authorize.authorizing_client",
"ui.panel.page-authorize.authorizing_client", "clientId",
"clientId", this.clientId
this.clientId )}
)
}
</p> </p>
${loggingInWith} ${loggingInWith}
@ -97,18 +95,16 @@ class HaAuthorize extends litLocalizeLiteMixin(LitElement) {
.step="{{step}}" .step="{{step}}"
></ha-auth-flow> ></ha-auth-flow>
${ ${inactiveProviders.length > 0
inactiveProviders.length > 0 ? html`
? html` <ha-pick-auth-provider
<ha-pick-auth-provider .resources="${this.resources}"
.resources="${this.resources}" .clientId="${this.clientId}"
.clientId="${this.clientId}" .authProviders="${inactiveProviders}"
.authProviders="${inactiveProviders}" @pick="${this._handleAuthProviderPick}"
@pick="${this._handleAuthProviderPick}" ></ha-pick-auth-provider>
></ha-pick-auth-provider> `
` : ""}
: ""
}
`; `;
} }

View File

@ -56,13 +56,10 @@ export class HaStateLabelBadge extends hassLocalizeLitMixin(LitElement) {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<ha-label-badge <ha-label-badge
class="${ class="${classMap({
classMap({ [domain]: true,
[domain]: true, "has-unit_of_measurement": "unit_of_measurement" in state.attributes,
"has-unit_of_measurement": })}"
"unit_of_measurement" in state.attributes,
})
}"
.value="${this._computeValue(domain, state)}" .value="${this._computeValue(domain, state)}"
.icon="${this._computeIcon(domain, state)}" .icon="${this._computeIcon(domain, state)}"
.image="${state.attributes.entity_picture}" .image="${state.attributes.entity_picture}"

View File

@ -48,12 +48,12 @@ class HaForm extends EventsMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(schema.type, &quot;string&quot;)]]" if='[[_equals(schema.type, "string")]]'
restamp="" restamp=""
> >
<template <template
is="dom-if" is="dom-if"
if="[[_includes(schema.name, &quot;password&quot;)]]" if='[[_includes(schema.name, "password")]]'
restamp="" restamp=""
> >
<paper-input <paper-input
@ -77,7 +77,7 @@ class HaForm extends EventsMixin(PolymerElement) {
</template> </template>
<template <template
is="dom-if" is="dom-if"
if="[[!_includes(schema.name, &quot;password&quot;)]]" if='[[!_includes(schema.name, "password")]]'
restamp="" restamp=""
> >
<paper-input <paper-input
@ -92,7 +92,7 @@ class HaForm extends EventsMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(schema.type, &quot;integer&quot;)]]" if='[[_equals(schema.type, "integer")]]'
restamp="" restamp=""
> >
<template is="dom-if" if="[[_isRange(schema)]]" restamp=""> <template is="dom-if" if="[[_isRange(schema)]]" restamp="">
@ -118,11 +118,7 @@ class HaForm extends EventsMixin(PolymerElement) {
</template> </template>
</template> </template>
<template <template is="dom-if" if='[[_equals(schema.type, "float")]]' restamp="">
is="dom-if"
if="[[_equals(schema.type, &quot;float&quot;)]]"
restamp=""
>
<!-- TODO --> <!-- TODO -->
<paper-input <paper-input
label="[[computeLabel(schema)]]" label="[[computeLabel(schema)]]"
@ -135,7 +131,7 @@ class HaForm extends EventsMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(schema.type, &quot;boolean&quot;)]]" if='[[_equals(schema.type, "boolean")]]'
restamp="" restamp=""
> >
<div> <div>
@ -147,7 +143,7 @@ class HaForm extends EventsMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(schema.type, &quot;select&quot;)]]" if='[[_equals(schema.type, "select")]]'
restamp="" restamp=""
> >
<paper-dropdown-menu label="[[computeLabel(schema)]]"> <paper-dropdown-menu label="[[computeLabel(schema)]]">

View File

@ -32,49 +32,40 @@ class HaLabelBadge extends LitElement {
<div class="badge-container"> <div class="badge-container">
<div class="label-badge" id="badge"> <div class="label-badge" id="badge">
<div <div
class="${ class="${classMap({
classMap({ value: true,
value: true, big: Boolean(this.value && this.value.length > 4),
big: Boolean(this.value && this.value.length > 4), })}"
})
}"
> >
${ ${this.icon && !this.value && !this.image
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
? html` ? html`
<div <ha-icon .icon="${this.icon}"></ha-icon>
class="${
classMap({ label: true, big: this.label.length > 5 })
}"
>
<span>${this.label}</span>
</div>
` `
: "" : ""}
} ${this.value && !this.image
</div> ? html`
${ <span>${this.value}</span>
this.description `
: ""}
</div>
${this.label
? html` ? 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> </div>
`; `;
} }

View File

@ -89,7 +89,7 @@ class HaMoreInfoDialog extends DialogMixin(PolymerElement) {
large="{{large}}" large="{{large}}"
></more-info-controls> ></more-info-controls>
</template> </template>
<template is="dom-if" if="[[_equals(_page, &quot;settings&quot;)]]"> <template is="dom-if" if='[[_equals(_page, "settings")]]'>
<more-info-settings <more-info-settings
class="no-padding" class="no-padding"
hass="[[hass]]" hass="[[hass]]"

View File

@ -62,18 +62,16 @@ export class CloudAlexaPref extends LitElement {
>This integration requires an Alexa-enabled device like the Amazon >This integration requires an Alexa-enabled device like the Amazon
Echo.</em Echo.</em
> >
${ ${enabled
enabled ? html`
? html` <p>Exposed entities:</p>
<p>Exposed entities:</p> <cloud-exposed-entities
<cloud-exposed-entities .hass="${this.hass}"
.hass="${this.hass}" .filter="${this.cloudStatus!.alexa_entities}"
.filter="${this.cloudStatus!.alexa_entities}" .supportedDomains="${this.cloudStatus!.alexa_domains}"
.supportedDomains="${this.cloudStatus!.alexa_domains}" ></cloud-exposed-entities>
></cloud-exposed-entities> `
` : ""}
: ""
}
</div> </div>
</paper-card> </paper-card>
`; `;

View File

@ -51,21 +51,19 @@ export class CloudExposedEntities extends LitElement {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
${ ${repeat(
repeat( states!,
states!, (stateInfo) => stateInfo[1].entity_id,
(stateInfo) => stateInfo[1].entity_id, (stateInfo) => html`
(stateInfo) => html` <span>
<span> <ha-state-icon
<ha-state-icon .stateObj="${stateInfo[1]}"
.stateObj="${stateInfo[1]}" @click="${this._handleMoreInfo}"
@click="${this._handleMoreInfo}" ></ha-state-icon>
></ha-state-icon> <paper-tooltip position="bottom">${stateInfo[0]}</paper-tooltip>
<paper-tooltip position="bottom">${stateInfo[0]}</paper-tooltip> </span>
</span> `
` )}
)
}
`; `;
} }

View File

@ -69,26 +69,24 @@ export class CloudGooglePref extends LitElement {
>This integration requires a Google Assistant-enabled device like >This integration requires a Google Assistant-enabled device like
the Google Home or Android phone.</em the Google Home or Android phone.</em
> >
${ ${google_enabled
google_enabled ? html`
? html` <div class="unlock">
<div class="unlock"> <div>Allow unlocking locks</div>
<div>Allow unlocking locks</div> <paper-toggle-button
<paper-toggle-button id="google_allow_unlock"
id="google_allow_unlock" .checked="${google_allow_unlock}"
.checked="${google_allow_unlock}" @change="${this._toggleChanged}"
@change="${this._toggleChanged}" ></paper-toggle-button>
></paper-toggle-button> </div>
</div> <p>Exposed entities:</p>
<p>Exposed entities:</p> <cloud-exposed-entities
<cloud-exposed-entities .hass="${this.hass}"
.hass="${this.hass}" .filter="${this.cloudStatus!.google_entities}"
.filter="${this.cloudStatus!.google_entities}" .supportedDomains="${this.cloudStatus!.google_domains}"
.supportedDomains="${this.cloudStatus!.google_domains}" ></cloud-exposed-entities>
></cloud-exposed-entities> `
` : ""}
: ""
}
</div> </div>
<div class="card-actions"> <div class="card-actions">
<ha-call-api-button <ha-call-api-button

View File

@ -108,33 +108,29 @@ export class CloudWebhooks extends LitElement {
<paper-item-body two-line> <paper-item-body two-line>
<div> <div>
${entry.name} ${entry.name}
${ ${entry.domain === entry.name.toLowerCase()
entry.domain === entry.name.toLowerCase() ? ""
? "" : ` (${entry.domain})`}
: ` (${entry.domain})`
}
</div> </div>
<div secondary>${entry.webhook_id}</div> <div secondary>${entry.webhook_id}</div>
</paper-item-body> </paper-item-body>
${ ${this._progress.includes(entry.webhook_id)
this._progress.includes(entry.webhook_id) ? html`
? html` <div class="progress">
<div class="progress"> <paper-spinner active></paper-spinner>
<paper-spinner active></paper-spinner> </div>
</div> `
` : this._cloudHooks![entry.webhook_id]
: this._cloudHooks![entry.webhook_id] ? html`
? html` <paper-button @click="${this._handleManageButton}"
<paper-button @click="${this._handleManageButton}" >Manage</paper-button
>Manage</paper-button >
> `
` : html`
: html` <paper-toggle-button
<paper-toggle-button @click="${this._enableWebhook}"
@click="${this._enableWebhook}" ></paper-toggle-button>
></paper-toggle-button> `}
`
}
</div> </div>
` `
); );

View File

@ -33,7 +33,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(_routeData.page, &quot;account&quot;)]]" if='[[_equals(_routeData.page, "account")]]'
restamp="" restamp=""
> >
<ha-config-cloud-account <ha-config-cloud-account
@ -45,7 +45,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(_routeData.page, &quot;login&quot;)]]" if='[[_equals(_routeData.page, "login")]]'
restamp="" restamp=""
> >
<ha-config-cloud-login <ha-config-cloud-login
@ -59,7 +59,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(_routeData.page, &quot;register&quot;)]]" if='[[_equals(_routeData.page, "register")]]'
restamp="" restamp=""
> >
<ha-config-cloud-register <ha-config-cloud-register
@ -72,7 +72,7 @@ class HaConfigCloud extends NavigateMixin(PolymerElement) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(_routeData.page, &quot;forgot-password&quot;)]]" if='[[_equals(_routeData.page, "forgot-password")]]'
restamp="" restamp=""
> >
<ha-config-cloud-forgot-password <ha-config-cloud-forgot-password

View File

@ -41,11 +41,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
> >
</iron-media-query> </iron-media-query>
<template <template is="dom-if" if='[[_equals(_routeData.page, "core")]]' restamp>
is="dom-if"
if="[[_equals(_routeData.page, &quot;core&quot;)]]"
restamp
>
<ha-config-core <ha-config-core
page-name="core" page-name="core"
hass="[[hass]]" hass="[[hass]]"
@ -53,11 +49,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
></ha-config-core> ></ha-config-core>
</template> </template>
<template <template is="dom-if" if='[[_equals(_routeData.page, "cloud")]]' restamp>
is="dom-if"
if="[[_equals(_routeData.page, &quot;cloud&quot;)]]"
restamp
>
<ha-config-cloud <ha-config-cloud
page-name="cloud" page-name="cloud"
route="[[route]]" route="[[route]]"
@ -67,10 +59,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
></ha-config-cloud> ></ha-config-cloud>
</template> </template>
<template <template is="dom-if" if='[[_equals(_routeData.page, "dashboard")]]'>
is="dom-if"
if="[[_equals(_routeData.page, &quot;dashboard&quot;)]]"
>
<ha-config-dashboard <ha-config-dashboard
page-name="dashboard" page-name="dashboard"
hass="[[hass]]" hass="[[hass]]"
@ -83,7 +72,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(_routeData.page, &quot;automation&quot;)]]" if='[[_equals(_routeData.page, "automation")]]'
restamp restamp
> >
<ha-config-automation <ha-config-automation
@ -94,11 +83,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
></ha-config-automation> ></ha-config-automation>
</template> </template>
<template <template is="dom-if" if='[[_equals(_routeData.page, "script")]]' restamp>
is="dom-if"
if="[[_equals(_routeData.page, &quot;script&quot;)]]"
restamp
>
<ha-config-script <ha-config-script
page-name="script" page-name="script"
route="[[route]]" route="[[route]]"
@ -107,11 +92,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
></ha-config-script> ></ha-config-script>
</template> </template>
<template <template is="dom-if" if='[[_equals(_routeData.page, "zha")]]' restamp>
is="dom-if"
if="[[_equals(_routeData.page, &quot;zha&quot;)]]"
restamp
>
<ha-config-zha <ha-config-zha
page-name="zha" page-name="zha"
hass="[[hass]]" hass="[[hass]]"
@ -119,11 +100,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
></ha-config-zha> ></ha-config-zha>
</template> </template>
<template <template is="dom-if" if='[[_equals(_routeData.page, "zwave")]]' restamp>
is="dom-if"
if="[[_equals(_routeData.page, &quot;zwave&quot;)]]"
restamp
>
<ha-config-zwave <ha-config-zwave
page-name="zwave" page-name="zwave"
hass="[[hass]]" hass="[[hass]]"
@ -133,7 +110,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(_routeData.page, &quot;customize&quot;)]]" if='[[_equals(_routeData.page, "customize")]]'
restamp restamp
> >
<ha-config-customize <ha-config-customize
@ -145,7 +122,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
<template <template
is="dom-if" is="dom-if"
if="[[_equals(_routeData.page, &quot;integrations&quot;)]]" if='[[_equals(_routeData.page, "integrations")]]'
restamp restamp
> >
<ha-config-entries <ha-config-entries
@ -157,11 +134,7 @@ class HaPanelConfig extends EventsMixin(NavigateMixin(PolymerElement)) {
></ha-config-entries> ></ha-config-entries>
</template> </template>
<template <template is="dom-if" if='[[_equals(_routeData.page, "users")]]' restamp>
is="dom-if"
if="[[_equals(_routeData.page, &quot;users&quot;)]]"
restamp
>
<ha-config-users <ha-config-users
page-name="users" page-name="users"
route="[[route]]" route="[[route]]"

View File

@ -22,15 +22,12 @@ class HaConfigUsers extends NavigateMixin(PolymerElement) {
data="{{_routeData}}" data="{{_routeData}}"
></app-route> ></app-route>
<template <template is="dom-if" if='[[_equals(_routeData.user, "picker")]]'>
is="dom-if"
if="[[_equals(_routeData.user, &quot;picker&quot;)]]"
>
<ha-user-picker hass="[[hass]]" users="[[_users]]"></ha-user-picker> <ha-user-picker hass="[[hass]]" users="[[_users]]"></ha-user-picker>
</template> </template>
<template <template
is="dom-if" is="dom-if"
if="[[!_equals(_routeData.user, &quot;picker&quot;)]]" if='[[!_equals(_routeData.user, "picker")]]'
restamp restamp
> >
<ha-user-editor <ha-user-editor

View File

@ -66,27 +66,25 @@ export class HaConfigZha extends LitElement {
@zha-node-selected="${this._onNodeSelected}" @zha-node-selected="${this._onNodeSelected}"
@zha-entity-selected="${this._onEntitySelected}" @zha-entity-selected="${this._onEntitySelected}"
></zha-node> ></zha-node>
${ ${this._selectedCluster
this._selectedCluster ? html`
? html` <zha-cluster-attributes
<zha-cluster-attributes .isWide="${this.isWide}"
.isWide="${this.isWide}" .hass="${this.hass}"
.hass="${this.hass}" .selectedNode="${this._selectedNode}"
.selectedNode="${this._selectedNode}" .selectedEntity="${this._selectedEntity}"
.selectedEntity="${this._selectedEntity}" .selectedCluster="${this._selectedCluster}"
.selectedCluster="${this._selectedCluster}" ></zha-cluster-attributes>
></zha-cluster-attributes>
<zha-cluster-commands <zha-cluster-commands
.isWide="${this.isWide}" .isWide="${this.isWide}"
.hass="${this.hass}" .hass="${this.hass}"
.selectedNode="${this._selectedNode}" .selectedNode="${this._selectedNode}"
.selectedEntity="${this._selectedEntity}" .selectedEntity="${this._selectedEntity}"
.selectedCluster="${this._selectedCluster}" .selectedCluster="${this._selectedCluster}"
></zha-cluster-commands> ></zha-cluster-commands>
` `
: "" : ""}
}
</ha-app-layout> </ha-app-layout>
`; `;
} }

View File

@ -102,32 +102,26 @@ export class ZHAClusterAttributes extends LitElement {
.selected="${this._selectedAttributeIndex}" .selected="${this._selectedAttributeIndex}"
@iron-select="${this._selectedAttributeChanged}" @iron-select="${this._selectedAttributeChanged}"
> >
${ ${this._attributes.map(
this._attributes.map( (entry) => html`
(entry) => html` <paper-item
<paper-item >${entry.name + " (id: " + entry.id + ")"}</paper-item
>${entry.name + " (id: " + entry.id + ")"}</paper-item >
> `
` )}
)
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
</div> </div>
${ ${this.showHelp
this.showHelp ? html`
? html` <div style="color: grey; padding: 16px">
<div style="color: grey; padding: 16px"> Select an attribute to view or set its value
Select an attribute to view or set its value </div>
</div> `
` : ""}
: "" ${this._selectedAttributeIndex !== -1
} ? this._renderAttributeInteractions()
${ : ""}
this._selectedAttributeIndex !== -1
? this._renderAttributeInteractions()
: ""
}
</paper-card> </paper-card>
</ha-config-section> </ha-config-section>
`; `;
@ -164,17 +158,15 @@ export class ZHAClusterAttributes extends LitElement {
.serviceData="${this._setAttributeServiceData}" .serviceData="${this._setAttributeServiceData}"
>Set Zigbee Attribute</ha-call-service-button >Set Zigbee Attribute</ha-call-service-button
> >
${ ${this.showHelp
this.showHelp ? html`
? html` <ha-service-description
<ha-service-description .hass="${this.hass}"
.hass="${this.hass}" domain="zha"
domain="zha" service="set_zigbee_cluster_attribute"
service="set_zigbee_cluster_attribute" ></ha-service-description>
></ha-service-description> `
` : ""}
: ""
}
</div> </div>
`; `;
} }

View File

@ -94,62 +94,52 @@ export class ZHAClusterCommands extends LitElement {
.selected="${this._selectedCommandIndex}" .selected="${this._selectedCommandIndex}"
@iron-select="${this._selectedCommandChanged}" @iron-select="${this._selectedCommandChanged}"
> >
${ ${this._commands.map(
this._commands.map( (entry) => html`
(entry) => html` <paper-item
<paper-item >${entry.name + " (id: " + entry.id + ")"}</paper-item
>${entry.name + " (id: " + entry.id + ")"}</paper-item >
> `
` )}
)
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
</div> </div>
${ ${this._showHelp
this._showHelp ? html`
? html` <div class="helpText">Select a command to interact with</div>
<div class="helpText">Select a command to interact with</div> `
` : ""}
: "" ${this._selectedCommandIndex !== -1
} ? html`
${ <div class="input-text">
this._selectedCommandIndex !== -1 <paper-input
? html` label="Manufacturer code override"
<div class="input-text"> type="number"
<paper-input .value="${this._manufacturerCodeOverride}"
label="Manufacturer code override" @value-changed="${this._onManufacturerCodeOverrideChanged}"
type="number" placeholder="Value"
.value="${this._manufacturerCodeOverride}" ></paper-input>
@value-changed="${ </div>
this._onManufacturerCodeOverrideChanged <div class="card-actions">
}" <ha-call-service-button
placeholder="Value" .hass="${this.hass}"
></paper-input> domain="zha"
</div> service="issue_zigbee_cluster_command"
<div class="card-actions"> .serviceData="${this._issueClusterCommandServiceData}"
<ha-call-service-button >Issue Zigbee Command</ha-call-service-button
.hass="${this.hass}" >
domain="zha" ${this._showHelp
service="issue_zigbee_cluster_command" ? html`
.serviceData="${this._issueClusterCommandServiceData}" <ha-service-description
>Issue Zigbee Command</ha-call-service-button .hass="${this.hass}"
> domain="zha"
${ service="issue_zigbee_cluster_command"
this._showHelp ></ha-service-description>
? html` `
<ha-service-description : ""}
.hass="${this.hass}" </div>
domain="zha" `
service="issue_zigbee_cluster_command" : ""}
></ha-service-description>
`
: ""
}
</div>
`
: ""
}
</paper-card> </paper-card>
</ha-config-section> </ha-config-section>
`; `;

View File

@ -81,25 +81,21 @@ export class ZHAClusters extends LitElement {
.selected="${this._selectedClusterIndex}" .selected="${this._selectedClusterIndex}"
@iron-select="${this._selectedClusterChanged}" @iron-select="${this._selectedClusterChanged}"
> >
${ ${this._clusters.map(
this._clusters.map( (entry) => html`
(entry) => html` <paper-item>${computeClusterKey(entry)}</paper-item>
<paper-item>${computeClusterKey(entry)}</paper-item> `
` )}
)
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
</div> </div>
${ ${this.showHelp
this.showHelp ? html`
? html` <div class="helpText">
<div class="helpText"> Select cluster to view attributes and commands
Select cluster to view attributes and commands </div>
</div> `
` : ""}
: ""
}
`; `;
} }

View File

@ -70,36 +70,30 @@ export class ZHAEntities extends LitElement {
.selected="${this._selectedEntityIndex}" .selected="${this._selectedEntityIndex}"
@iron-select="${this._selectedEntityChanged}" @iron-select="${this._selectedEntityChanged}"
> >
${ ${this._entities.map(
this._entities.map( (entry) => html`
(entry) => html` <paper-item>${entry.entity_id}</paper-item>
<paper-item>${entry.entity_id}</paper-item> `
` )}
)
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
</div> </div>
${ ${this.showHelp
this.showHelp ? html`
? html` <div class="helpText">
<div class="helpText"> Select entity to view per-entity options
Select entity to view per-entity options </div>
</div> `
` : ""}
: "" ${this._selectedEntityIndex !== -1
} ? html`
${ <div class="actions">
this._selectedEntityIndex !== -1 <paper-button @click="${this._showEntityInformation}"
? html` >Entity Information</paper-button
<div class="actions"> >
<paper-button @click="${this._showEntityInformation}" </div>
>Entity Information</paper-button `
> : ""}
</div>
`
: ""
}
`; `;
} }

View File

@ -95,27 +95,23 @@ export class ZHANode extends LitElement {
slot="dropdown-content" slot="dropdown-content"
@iron-select="${this._selectedNodeChanged}" @iron-select="${this._selectedNodeChanged}"
> >
${ ${this._nodes.map(
this._nodes.map( (entry) => html`
(entry) => html` <paper-item
<paper-item >${this._computeSelectCaption(entry)}</paper-item
>${this._computeSelectCaption(entry)}</paper-item >
> `
` )}
)
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
</div> </div>
${ ${this._showHelp
this._showHelp ? html`
? html` <div class="helpText">
<div class="helpText"> Select node to view per-node options
Select node to view per-node options </div>
</div> `
` : ""}
: ""
}
${this._selectedNodeIndex !== -1 ? this._renderNodeActions() : ""} ${this._selectedNodeIndex !== -1 ? this._renderNodeActions() : ""}
${this._selectedNodeIndex !== -1 ? this._renderEntities() : ""} ${this._selectedNodeIndex !== -1 ? this._renderEntities() : ""}
${this._selectedEntity ? this._renderClusters() : ""} ${this._selectedEntity ? this._renderClusters() : ""}
@ -133,17 +129,15 @@ export class ZHANode extends LitElement {
<paper-button @click="${this._onReconfigureNodeClick}" <paper-button @click="${this._onReconfigureNodeClick}"
>Reconfigure Node</paper-button >Reconfigure Node</paper-button
> >
${ ${this._showHelp
this._showHelp ? html`
? html` <ha-service-description
<ha-service-description .hass="${this.hass}"
.hass="${this.hass}" domain="zha"
domain="zha" service="reconfigure_device"
service="reconfigure_device" />
/> `
` : ""}
: ""
}
<ha-call-service-button <ha-call-service-button
.hass="${this.hass}" .hass="${this.hass}"
domain="zha" domain="zha"
@ -151,17 +145,15 @@ export class ZHANode extends LitElement {
.serviceData="${this._serviceData}" .serviceData="${this._serviceData}"
>Remove Node</ha-call-service-button >Remove Node</ha-call-service-button
> >
${ ${this._showHelp
this._showHelp ? html`
? html` <ha-service-description
<ha-service-description .hass="${this.hass}"
.hass="${this.hass}" domain="zha"
domain="zha" service="remove"
service="remove" />
/> `
` : ""}
: ""
}
</div> </div>
`; `;
} }

View File

@ -69,7 +69,7 @@ class ZwaveUsercodes extends PolymerElement {
hass="[[hass]]" hass="[[hass]]"
domain="lock" domain="lock"
service="set_usercode" service="set_usercode"
service-data="[[_computeUserCodeServiceData(_selectedUserCodeValue, &quot;Add&quot;)]]" service-data='[[_computeUserCodeServiceData(_selectedUserCodeValue, "Add")]]'
> >
Set Usercode Set Usercode
</ha-call-service-button> </ha-call-service-button>
@ -77,7 +77,7 @@ class ZwaveUsercodes extends PolymerElement {
hass="[[hass]]" hass="[[hass]]"
domain="lock" domain="lock"
service="clear_usercode" service="clear_usercode"
service-data="[[_computeUserCodeServiceData(_selectedUserCode, &quot;Delete&quot;)]]" service-data='[[_computeUserCodeServiceData(_selectedUserCode, "Delete")]]'
> >
Delete Usercode Delete Usercode
</ha-call-service-button> </ha-call-service-button>

View File

@ -124,63 +124,53 @@ class HuiAlarmPanelCard extends hassLocalizeLitMixin(LitElement)
.label="${this._stateIconLabel(stateObj.state)}" .label="${this._stateIconLabel(stateObj.state)}"
></ha-label-badge> ></ha-label-badge>
<div id="armActions" class="actions"> <div id="armActions" class="actions">
${ ${(stateObj.state === "disarmed"
(stateObj.state === "disarmed" ? this._config.states!
? this._config.states! : ["disarm"]
: ["disarm"] ).map((state) => {
).map((state) => { return html`
return html` <paper-button
<paper-button noink
noink raised
raised .action="${state}"
.action="${state}" @click="${this._handleActionClick}"
@click="${this._handleActionClick}" >${this._label(state)}</paper-button
>${this._label(state)}</paper-button >
> `;
`; })}
})
}
</div> </div>
${ ${!stateObj.attributes.code_format
!stateObj.attributes.code_format ? html``
? html`` : html`
: html` <paper-input
<paper-input label="Alarm Code"
label="Alarm Code" type="password"
type="password" .value="${this._code}"
.value="${this._code}" ></paper-input>
></paper-input> `}
` ${stateObj.attributes.code_format !== FORMAT_NUMBER
} ? html``
${ : html`
stateObj.attributes.code_format !== FORMAT_NUMBER <div id="keypad">
? html`` ${BUTTONS.map((value) => {
: html` return value === ""
<div id="keypad"> ? html`
${ <paper-button disabled></paper-button>
BUTTONS.map((value) => { `
return value === "" : html`
? html` <paper-button
<paper-button disabled></paper-button> noink
` raised
: html` .value="${value}"
<paper-button @click="${this._handlePadClick}"
noink >${value === "clear"
raised ? this._label("clear_code")
.value="${value}" : value}</paper-button
@click="${this._handlePadClick}" >
>${ `;
value === "clear" })}
? this._label("clear_code") </div>
: value `}
}</paper-button
>
`;
})
}
</div>
`
}
</ha-card> </ha-card>
`; `;
} }

View File

@ -104,33 +104,27 @@ class HuiEntitiesCard extends hassLocalizeLitMixin(LitElement)
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<ha-card> <ha-card>
${ ${!title && !show_header_toggle
!title && !show_header_toggle ? html``
? html`` : html`
: html` <div class="header">
<div class="header"> <div class="name">${title}</div>
<div class="name">${title}</div> ${show_header_toggle === false
${ ? html``
show_header_toggle === false : html`
? html`` <hui-entities-toggle
: html` .hass="${this._hass}"
<hui-entities-toggle .entities="${this._configEntities!.map(
.hass="${this._hass}" (conf) => conf.entity
.entities="${ )}"
this._configEntities!.map((conf) => conf.entity) ></hui-entities-toggle>
}" `}
></hui-entities-toggle> </div>
` `}
}
</div>
`
}
<div id="states"> <div id="states">
${ ${this._configEntities!.map((entityConf) =>
this._configEntities!.map((entityConf) => this.renderEntity(entityConf)
this.renderEntity(entityConf) )}
)
}
</div> </div>
</ha-card> </ha-card>
`; `;

View File

@ -95,34 +95,30 @@ class HuiEntityButtonCard extends hassLocalizeLitMixin(LitElement)
@ha-hold="${this._handleHold}" @ha-hold="${this._handleHold}"
.longPress="${longPress()}" .longPress="${longPress()}"
> >
${ ${!stateObj
!stateObj ? html`
? html` <div class="not-found">
<div class="not-found"> Entity not available: ${this._config.entity}
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> </div>
` </paper-button>
: 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>
`
}
</ha-card> </ha-card>
`; `;
} }

View File

@ -111,40 +111,34 @@ class HuiGaugeCard extends LitElement implements LovelaceCard {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<ha-card @click="${this._handleClick}"> <ha-card @click="${this._handleClick}">
${ ${error
error ? html`
? html` <div class="not-found">${error}</div>
<div class="not-found">${error}</div> `
` : html`
: html` <div class="container">
<div class="container"> <div class="gauge-a"></div>
<div class="gauge-a"></div> <div class="gauge-b"></div>
<div class="gauge-b"></div> <div
<div class="gauge-c"
class="gauge-c" style="${styleMap({
style="${ transform: `rotate(${this._translateTurn(state)}turn)`,
styleMap({ "background-color": this._computeSeverity(state),
transform: `rotate(${this._translateTurn(state)}turn)`, })}"
"background-color": this._computeSeverity(state), ></div>
}) <div class="gauge-data">
}" <div id="percent">
></div> ${stateObj.state}
<div class="gauge-data"> ${this._config.unit ||
<div id="percent"> stateObj.attributes.unit_of_measurement ||
${stateObj.state} ""}
${ </div>
this._config.unit || <div id="name">
stateObj.attributes.unit_of_measurement || ${this._config.name || computeStateName(stateObj)}
""
}
</div>
<div id="name">
${this._config.name || computeStateName(stateObj)}
</div>
</div> </div>
</div> </div>
` </div>
} `}
</ha-card> </ha-card>
`; `;
} }

View File

@ -124,11 +124,9 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement)
${this.renderStyle()} ${this.renderStyle()}
<ha-card .header="${title}"> <ha-card .header="${title}">
<div class="entities ${classMap({ "no-header": !title })}"> <div class="entities ${classMap({ "no-header": !title })}">
${ ${this._configEntities!.map((entityConf) =>
this._configEntities!.map((entityConf) => this.renderEntity(entityConf)
this.renderEntity(entityConf) )}
)
}
</div> </div>
</ha-card> </ha-card>
`; `;
@ -208,38 +206,30 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement)
@ha-hold="${this._handleHold}" @ha-hold="${this._handleHold}"
.longPress="${longPress()}" .longPress="${longPress()}"
> >
${ ${this._config!.show_name !== false
this._config!.show_name !== false ? html`
? html` <div class="name">
<div class="name"> ${"name" in entityConf
${ ? entityConf.name
"name" in entityConf : computeStateName(stateObj)}
? entityConf.name </div>
: computeStateName(stateObj) `
} : ""}
</div>
`
: ""
}
<state-badge <state-badge
.stateObj="${stateObj}" .stateObj="${stateObj}"
.overrideIcon="${entityConf.icon}" .overrideIcon="${entityConf.icon}"
></state-badge> ></state-badge>
${ ${this._config!.show_state !== false
this._config!.show_state !== false ? html`
? html` <div>
<div> ${computeStateDisplay(
${ this.localize,
computeStateDisplay( stateObj,
this.localize, this.hass!.language
stateObj, )}
this.hass!.language </div>
) `
} : ""}
</div>
`
: ""
}
</div> </div>
`; `;
} }

View File

@ -64,11 +64,9 @@ export class HuiIframeCard extends LitElement implements LovelaceCard {
<ha-card .header="${this._config.title}"> <ha-card .header="${this._config.title}">
<div <div
id="root" id="root"
style="${ style="${styleMap({
styleMap({ "padding-top": aspectRatio,
"padding-top": aspectRatio, })}"
})
}"
> >
<iframe src="${this._config.url}"></iframe> <iframe src="${this._config.url}"></iframe>
</div> </div>

View File

@ -92,43 +92,39 @@ export class HuiLightCard extends hassLocalizeLitMixin(LitElement)
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<ha-card> <ha-card>
${ ${!stateObj
!stateObj ? html`
? html` <div class="not-found">
<div class="not-found"> Entity not available: ${this._config.entity}
Entity not available: ${this._config.entity} </div>
</div> `
` : html`
: html` <div id="light"></div>
<div id="light"></div> <div id="tooltip">
<div id="tooltip"> <div class="icon-state">
<div class="icon-state"> <ha-icon
<ha-icon data-state="${stateObj.state}"
data-state="${stateObj.state}" .icon="${stateIcon(stateObj)}"
.icon="${stateIcon(stateObj)}" style="${styleMap({
style="${ filter: this._computeBrightness(stateObj),
styleMap({ color: this._computeColor(stateObj),
filter: this._computeBrightness(stateObj), })}"
color: this._computeColor(stateObj), @ha-click="${this._handleTap}"
}) @ha-hold="${this._handleHold}"
}" .longPress="${longPress()}"
@ha-click="${this._handleTap}" ></ha-icon>
@ha-hold="${this._handleHold}" <div
.longPress="${longPress()}" class="brightness"
></ha-icon> @ha-click="${this._handleTap}"
<div @ha-hold="${this._handleHold}"
class="brightness" .longPress="${longPress()}"
@ha-click="${this._handleTap}" ></div>
@ha-hold="${this._handleHold}" <div class="name">
.longPress="${longPress()}" ${this._config.name || computeStateName(stateObj)}
></div>
<div class="name">
${this._config.name || computeStateName(stateObj)}
</div>
</div> </div>
</div> </div>
` </div>
} `}
</ha-card> </ha-card>
`; `;
} }

View File

@ -55,11 +55,9 @@ export class HuiMarkdownCard extends LitElement implements LovelaceCard {
${this.renderStyle()} ${this.renderStyle()}
<ha-card .header="${this._config.title}"> <ha-card .header="${this._config.title}">
<ha-markdown <ha-markdown
class="markdown ${ class="markdown ${classMap({
classMap({ "no-header": !this._config.title,
"no-header": !this._config.title, })}"
})
}"
.content="${this._config.content}" .content="${this._config.content}"
></ha-markdown> ></ha-markdown>
</ha-card> </ha-card>

View File

@ -64,13 +64,11 @@ export class HuiPictureCard extends LitElement implements LovelaceCard {
@ha-click="${this._handleTap}" @ha-click="${this._handleTap}"
@ha-hold="${this._handleHold}" @ha-hold="${this._handleHold}"
.longPress="${longPress()}" .longPress="${longPress()}"
class="${ class="${classMap({
classMap({ clickable: Boolean(
clickable: Boolean( this._config.tap_action || this._config.hold_action
this._config.tap_action || this._config.hold_action ),
), })}"
})
}"
> >
<img src="${this._config.image}" /> <img src="${this._config.image}" />
</ha-card> </ha-card>

View File

@ -71,11 +71,9 @@ class HuiPictureElementsCard extends LitElement implements LovelaceCard {
.entity="${this._config.entity}" .entity="${this._config.entity}"
.aspectRatio="${this._config.aspect_ratio}" .aspectRatio="${this._config.aspect_ratio}"
></hui-image> ></hui-image>
${ ${this._config.elements.map((elementConfig: LovelaceElementConfig) =>
this._config.elements.map((elementConfig: LovelaceElementConfig) => this._createHuiElement(elementConfig)
this._createHuiElement(elementConfig) )}
)
}
</div> </div>
</ha-card> </ha-card>
`; `;

View File

@ -78,14 +78,12 @@ class HuiPictureEntityCard extends hassLocalizeLitMixin(LitElement)
if (!stateObj) { if (!stateObj) {
return html` return html`
${ ${createErrorCardElement(
createErrorCardElement( createErrorCardConfig(
createErrorCardConfig( `Entity not found: ${this._config.entity}`,
`Entity not found: ${this._config.entity}`, this._config
this._config
)
) )
} )}
`; `;
} }
@ -121,21 +119,17 @@ class HuiPictureEntityCard extends hassLocalizeLitMixin(LitElement)
.hass="${this.hass}" .hass="${this.hass}"
.image="${this._config.image}" .image="${this._config.image}"
.stateImage="${this._config.state_image}" .stateImage="${this._config.state_image}"
.cameraImage="${ .cameraImage="${computeDomain(this._config.entity) === "camera"
computeDomain(this._config.entity) === "camera" ? this._config.entity
? this._config.entity : this._config.camera_image}"
: this._config.camera_image
}"
.entity="${this._config.entity}" .entity="${this._config.entity}"
.aspectRatio="${this._config.aspect_ratio}" .aspectRatio="${this._config.aspect_ratio}"
@ha-click="${this._handleTap}" @ha-click="${this._handleTap}"
@ha-hold="${this._handleHold}" @ha-hold="${this._handleHold}"
.longPress="${longPress()}" .longPress="${longPress()}"
class="${ class="${classMap({
classMap({ clickable: stateObj.state !== UNAVAILABLE,
clickable: stateObj.state !== UNAVAILABLE, })}"
})
}"
></hui-image> ></hui-image>
${footer} ${footer}
</ha-card> </ha-card>

View File

@ -96,15 +96,13 @@ class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement)
${this.renderStyle()} ${this.renderStyle()}
<ha-card> <ha-card>
<hui-image <hui-image
class="${ class="${classMap({
classMap({ clickable: Boolean(
clickable: Boolean( this._config.tap_action ||
this._config.tap_action || this._config.hold_action ||
this._config.hold_action || this._config.camera_image
this._config.camera_image ),
), })}"
})
}"
@ha-click="${this._handleTap}" @ha-click="${this._handleTap}"
@ha-hold="${this._handleHold}" @ha-hold="${this._handleHold}"
.longPress="${longPress()}" .longPress="${longPress()}"
@ -116,26 +114,20 @@ class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement)
.aspectRatio="${this._config.aspect_ratio}" .aspectRatio="${this._config.aspect_ratio}"
></hui-image> ></hui-image>
<div class="box"> <div class="box">
${ ${this._config.title
this._config.title ? html`
? html` <div class="title">${this._config.title}</div>
<div class="title">${this._config.title}</div> `
` : ""}
: ""
}
<div> <div>
${ ${this._entitiesDialog!.map((entityConf) =>
this._entitiesDialog!.map((entityConf) => this.renderEntity(entityConf, true)
this.renderEntity(entityConf, true) )}
)
}
</div> </div>
<div> <div>
${ ${this._entitiesToggle!.map((entityConf) =>
this._entitiesToggle!.map((entityConf) => this.renderEntity(entityConf, false)
this.renderEntity(entityConf, false) )}
)
}
</div> </div>
</div> </div>
</ha-card> </ha-card>
@ -156,21 +148,17 @@ class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement)
<ha-icon <ha-icon
.entity="${stateObj.entity_id}" .entity="${stateObj.entity_id}"
@click="${dialog ? this._openDialog : this._callService}" @click="${dialog ? this._openDialog : this._callService}"
class="${ class="${classMap({
classMap({ "state-on": !STATES_OFF.has(stateObj.state),
"state-on": !STATES_OFF.has(stateObj.state), })}"
})
}"
.icon="${entityConf.icon || stateIcon(stateObj)}" .icon="${entityConf.icon || stateIcon(stateObj)}"
title="${ title="${`
`
${computeStateName(stateObj)} : ${computeStateDisplay( ${computeStateName(stateObj)} : ${computeStateDisplay(
this.localize, this.localize,
stateObj, stateObj,
this.hass!.language this.hass!.language
)} )}
` `}"
}"
></ha-icon> ></ha-icon>
`; `;
} }

View File

@ -233,38 +233,34 @@ class HuiSensorCard extends LitElement implements LovelaceCard {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<ha-card @click="${this._handleClick}"> <ha-card @click="${this._handleClick}">
${ ${!stateObj
!stateObj ? html`
? html` <div class="not-found">
<div class="not-found"> Entity not available: ${this._config.entity}
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> </div>
` <div class="header">
: html` <span class="name"
<div class="flex"> >${this._config.name || computeStateName(stateObj)}</span
<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> </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> </ha-card>
`; `;
} }

View File

@ -91,103 +91,93 @@ class HuiShoppingListCard extends hassLocalizeLitMixin(LitElement)
class="addButton" class="addButton"
@click="${this._addItem}" @click="${this._addItem}"
icon="hass:plus" icon="hass:plus"
.title="${ .title="${this.localize(
this.localize("ui.panel.lovelace.cards.shopping-list.add_item") "ui.panel.lovelace.cards.shopping-list.add_item"
}" )}"
> >
</ha-icon> </ha-icon>
<paper-item-body> <paper-item-body>
<paper-input <paper-input
no-label-float no-label-float
class="addBox" class="addBox"
placeholder="${ placeholder="${this.localize(
this.localize("ui.panel.lovelace.cards.shopping-list.add_item") "ui.panel.lovelace.cards.shopping-list.add_item"
}" )}"
@keydown="${this._addKeyPress}" @keydown="${this._addKeyPress}"
></paper-input> ></paper-input>
</paper-item-body> </paper-item-body>
</div> </div>
${ ${repeat(
repeat( this._uncheckedItems!,
this._uncheckedItems!, (item) => item.id,
(item) => item.id, (item, index) =>
(item, index) => html`
html` <div class="editRow">
<div class="editRow"> <paper-checkbox
<paper-checkbox slot="item-icon"
slot="item-icon" id="${index}"
id="${index}" ?checked="${item.complete}"
?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}" .itemId="${item.id}"
@click="${this._completeItem}" @change="${this._saveEdit}"
tabindex="0" ></paper-input>
></paper-checkbox> </paper-item-body>
<paper-item-body> </div>
<paper-input `
no-label-float )}
.value="${item.name}" ${this._checkedItems!.length > 0
.itemId="${item.id}" ? html`
@change="${this._saveEdit}" <div class="divider"></div>
></paper-input> <div class="checked">
</paper-item-body> <span class="label">
</div> ${this.localize(
` "ui.panel.lovelace.cards.shopping-list.checked_items"
) )}
} </span>
${ <ha-icon
this._checkedItems!.length > 0 class="clearall"
? html` @click="${this._clearItems}"
<div class="divider"></div> icon="hass:notification-clear-all"
<div class="checked"> .title="${this.localize(
<span class="label"> "ui.panel.lovelace.cards.shopping-list.clear_items"
${ )}"
this.localize( >
"ui.panel.lovelace.cards.shopping-list.checked_items" </ha-icon>
) </div>
} ${repeat(
</span> this._checkedItems!,
<ha-icon (item) => item.id,
class="clearall" (item, index) =>
@click="${this._clearItems}" html`
icon="hass:notification-clear-all" <div class="editRow">
.title="${ <paper-checkbox
this.localize( slot="item-icon"
"ui.panel.lovelace.cards.shopping-list.clear_items" id="${index}"
) ?checked="${item.complete}"
}" .itemId="${item.id}"
> @click="${this._completeItem}"
</ha-icon> tabindex="0"
</div> ></paper-checkbox>
${ <paper-item-body>
repeat( <paper-input
this._checkedItems!, no-label-float
(item) => item.id, .value="${item.name}"
(item, index) => .itemId="${item.id}"
html` @change="${this._saveEdit}"
<div class="editRow"> ></paper-input>
<paper-checkbox </paper-item-body>
slot="item-icon" </div>
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> </ha-card>
`; `;
} }

View File

@ -69,40 +69,34 @@ export class HuiActionEditor extends LitElement {
slot="dropdown-content" slot="dropdown-content"
.selected="${this.actions.indexOf(this._action)}" .selected="${this.actions.indexOf(this._action)}"
> >
${ ${this.actions.map((action) => {
this.actions.map((action) => { return html`
return html` <paper-item>${action}</paper-item>
<paper-item>${action}</paper-item> `;
`; })}
})
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
${ ${this._action === "navigate"
this._action === "navigate" ? html`
? html` <paper-input
<paper-input label="Navigation Path"
label="Navigation Path" .value="${this._navigation_path}"
.value="${this._navigation_path}" .configValue="${"navigation_path"}"
.configValue="${"navigation_path"}" @value-changed="${this._valueChanged}"
@value-changed="${this._valueChanged}" ></paper-input>
></paper-input> `
` : ""}
: "" ${this.config && this.config.action === "call-service"
} ? html`
${ <ha-service-picker
this.config && this.config.action === "call-service" .hass="${this.hass}"
? html` .value="${this._service}"
<ha-service-picker .configValue="${"service"}"
.hass="${this.hass}" @value-changed="${this._valueChanged}"
.value="${this._service}" ></ha-service-picker>
.configValue="${"service"}" <h3>Toggle Editor to input Service Data</h3>
@value-changed="${this._valueChanged}" `
></ha-service-picker> : ""}
<h3>Toggle Editor to input Service Data</h3>
`
: ""
}
`; `;
} }

View File

@ -71,9 +71,9 @@ export class HuiCardOptions extends hassLocalizeLitMixin(LitElement) {
<div class="options"> <div class="options">
<div class="primary-actions"> <div class="primary-actions">
<paper-button @click="${this._editCard}" <paper-button @click="${this._editCard}"
>${ >${this.localize(
this.localize("ui.panel.lovelace.editor.edit_card.edit") "ui.panel.lovelace.editor.edit_card.edit"
}</paper-button )}</paper-button
> >
</div> </div>
<div class="secondary-actions"> <div class="secondary-actions">
@ -82,10 +82,9 @@ export class HuiCardOptions extends hassLocalizeLitMixin(LitElement) {
class="move-arrow" class="move-arrow"
icon="hass:arrow-down" icon="hass:arrow-down"
@click="${this._cardDown}" @click="${this._cardDown}"
?disabled="${ ?disabled="${this.lovelace!.config.views[this.path![0]].cards!
this.lovelace!.config.views[this.path![0]].cards!.length === .length ===
this.path![1] + 1 this.path![1] + 1}"
}"
></paper-icon-button> ></paper-icon-button>
<paper-icon-button <paper-icon-button
title="Move card up" title="Move card up"
@ -102,9 +101,9 @@ export class HuiCardOptions extends hassLocalizeLitMixin(LitElement) {
<paper-listbox slot="dropdown-content"> <paper-listbox slot="dropdown-content">
<paper-item @click="${this._moveCard}">Move Card</paper-item> <paper-item @click="${this._moveCard}">Move Card</paper-item>
<paper-item @click="${this._deleteCard}" <paper-item @click="${this._deleteCard}"
>${ >${this.localize(
this.localize("ui.panel.lovelace.editor.edit_card.delete") "ui.panel.lovelace.editor.edit_card.delete"
}</paper-item )}</paper-item
> >
</paper-listbox> </paper-listbox>
</paper-menu-button> </paper-menu-button>

View File

@ -43,12 +43,10 @@ class HuiEntitiesToggle extends LitElement {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<paper-toggle-button <paper-toggle-button
?checked="${ ?checked="${this._toggleEntities!.some((entityId) => {
this._toggleEntities!.some((entityId) => { const stateObj = this.hass!.states[entityId];
const stateObj = this.hass!.states[entityId]; return stateObj && stateObj.state === "on";
return stateObj && stateObj.state === "on"; })}"
})
}"
@change="${this._callService}" @change="${this._callService}"
></paper-toggle-button> ></paper-toggle-button>
`; `;

View File

@ -32,19 +32,17 @@ export class HuiEntityEditor extends LitElement {
${this.renderStyle()} ${this.renderStyle()}
<h3>Entities</h3> <h3>Entities</h3>
<div class="entities"> <div class="entities">
${ ${this.entities.map((entityConf, index) => {
this.entities.map((entityConf, index) => { return html`
return html` <ha-entity-picker
<ha-entity-picker .hass="${this.hass}"
.hass="${this.hass}" .value="${entityConf.entity}"
.value="${entityConf.entity}" .index="${index}"
.index="${index}" @change="${this._valueChanged}"
@change="${this._valueChanged}" allow-custom-entity
allow-custom-entity ></ha-entity-picker>
></ha-entity-picker> `;
`; })}
})
}
<ha-entity-picker <ha-entity-picker
.hass="${this.hass}" .hass="${this.hass}"
@change="${this._addEntity}" @change="${this._addEntity}"

View File

@ -49,13 +49,11 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) {
.selected="${this.value}" .selected="${this.value}"
attr-for-selected="theme" attr-for-selected="theme"
> >
${ ${themes.map((theme) => {
themes.map((theme) => { return html`
return html` <paper-item theme="${theme}">${theme}</paper-item>
<paper-item theme="${theme}">${theme}</paper-item> `;
`; })}
})
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
`; `;

View File

@ -42,18 +42,16 @@ export class HuiCardPicker extends hassLocalizeLitMixin(LitElement) {
return html` return html`
<h3>${this.localize("ui.panel.lovelace.editor.edit_card.pick_card")}</h3> <h3>${this.localize("ui.panel.lovelace.editor.edit_card.pick_card")}</h3>
<div class="cards-container"> <div class="cards-container">
${ ${cards.map((card) => {
cards.map((card) => { return html`
return html` <paper-button
<paper-button raised
raised @click="${this._cardPicked}"
@click="${this._cardPicked}" .type="${card.type}"
.type="${card.type}" >${card.name}</paper-button
>${card.name}</paper-button >
> `;
`; })}
})
}
</div> </div>
`; `;
} }

View File

@ -61,18 +61,16 @@ export class HuiDialogMoveCardView extends hassLocalizeLitMixin(LitElement) {
@opened-changed="${this._openedChanged}" @opened-changed="${this._openedChanged}"
> >
<h2>Choose view to move card</h2> <h2>Choose view to move card</h2>
${ ${this._params!.lovelace!.config.views.map((view, index) => {
this._params!.lovelace!.config.views.map((view, index) => { return html`
return html` <paper-item
<paper-item ?active="${this._params!.path![0] === index}"
?active="${this._params!.path![0] === index}" @click="${this._moveCard}"
@click="${this._moveCard}" .index="${index}"
.index="${index}" >${view.title}</paper-item
>${view.title}</paper-item >
> `;
`; })}
})
}
</paper-dialog> </paper-dialog>
`; `;
} }

View File

@ -117,17 +117,15 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) {
if (this._configElement !== undefined) { if (this._configElement !== undefined) {
content = html` content = html`
<div class="element-editor"> <div class="element-editor">
${ ${this._uiEditor
this._uiEditor ? this._configElement
? this._configElement : html`
: html` <hui-yaml-editor
<hui-yaml-editor .hass="${this.hass}"
.hass="${this.hass}" .yaml="${this._configValue!.value}"
.yaml="${this._configValue!.value}" @yaml-changed="${this._handleYamlChanged}"
@yaml-changed="${this._handleYamlChanged}" ></hui-yaml-editor>
></hui-yaml-editor> `}
`
}
</div> </div>
`; `;
@ -151,50 +149,43 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) {
<paper-dialog-scrollable <paper-dialog-scrollable
class="${classMap({ hidden: this._loading! })}" class="${classMap({ hidden: this._loading! })}"
> >
${ ${this._errorMsg
this._errorMsg ? html`
? html` <div class="error">${this._errorMsg}</div>
<div class="error">${this._errorMsg}</div> `
` : ""}
: ""
}
<div class="content">${content}${preview}</div> <div class="content">${content}${preview}</div>
</paper-dialog-scrollable> </paper-dialog-scrollable>
${ ${!this._loading
!this._loading ? html`
? html` <div class="paper-dialog-buttons">
<div class="paper-dialog-buttons"> <paper-button
<paper-button class="toggle-button"
class="toggle-button" ?hidden="${!this._configValue || !this._configValue.value}"
?hidden="${!this._configValue || !this._configValue.value}" ?disabled="${this._configElement === null ||
?disabled="${ this._configState !== "OK"}"
this._configElement === null || this._configState !== "OK" @click="${this._toggleEditor}"
}" >${this.localize(
@click="${this._toggleEditor}" "ui.panel.lovelace.editor.edit_card.toggle_editor"
>${ )}</paper-button
this.localize( >
"ui.panel.lovelace.editor.edit_card.toggle_editor" <paper-button @click="${this.closeDialog}"
) >${this.localize("ui.common.cancel")}</paper-button
}</paper-button >
> <paper-button
<paper-button @click="${this.closeDialog}" ?hidden="${!this._configValue || !this._configValue.value}"
>${this.localize("ui.common.cancel")}</paper-button ?disabled="${this._saving || this._configState !== "OK"}"
> @click="${this._save}"
<paper-button >
?hidden="${!this._configValue || !this._configValue.value}" <paper-spinner
?disabled="${this._saving || this._configState !== "OK"}" ?active="${this._saving}"
@click="${this._save}" alt="Saving"
> ></paper-spinner>
<paper-spinner ${this.localize("ui.common.save")}</paper-button
?active="${this._saving}" >
alt="Saving" </div>
></paper-spinner> `
${this.localize("ui.common.save")}</paper-button : ""}
>
</div>
`
: ""
}
</paper-dialog> </paper-dialog>
`; `;
} }

View File

@ -79,33 +79,29 @@ export class HuiAlarmPanelCardEditor extends hassLocalizeLitMixin(LitElement)
allow-custom-entity allow-custom-entity
></ha-entity-picker> ></ha-entity-picker>
</div> </div>
<span>Used States</span> ${ <span>Used States</span> ${this._states.map((state, index) => {
this._states.map((state, index) => { return html`
return html` <div class="states">
<div class="states"> <paper-item>${state}</paper-item>
<paper-item>${state}</paper-item> <ha-icon
<ha-icon class="deleteState"
class="deleteState" .value="${index}"
.value="${index}" icon="hass:close"
icon="hass:close" @click=${this._stateRemoved}
@click=${this._stateRemoved} ></ha-icon>
></ha-icon> </div>
</div> `;
`; })}
})
}
<paper-dropdown-menu <paper-dropdown-menu
label="Available States" label="Available States"
@value-changed="${this._stateAdded}" @value-changed="${this._stateAdded}"
> >
<paper-listbox slot="dropdown-content"> <paper-listbox slot="dropdown-content">
${ ${states.map((state) => {
states.map((state) => { return html`
return html` <paper-item>${state}</paper-item>
<paper-item>${state}</paper-item> `;
`; })}
})
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
</div> </div>

View File

@ -121,13 +121,11 @@ export class HuiSensorCardEditor extends hassLocalizeLitMixin(LitElement)
slot="dropdown-content" slot="dropdown-content"
.selected="${graphs.indexOf(this._graph)}" .selected="${graphs.indexOf(this._graph)}"
> >
${ ${graphs.map((graph) => {
graphs.map((graph) => { return html`
return html` <paper-item>${graph}</paper-item>
<paper-item>${graph}</paper-item> `;
`; })}
})
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
</div> </div>

View File

@ -61,9 +61,9 @@ export class HuiSaveConfig extends hassLocalizeLitMixin(LitElement) {
</paper-dialog-scrollable> </paper-dialog-scrollable>
<div class="paper-dialog-buttons"> <div class="paper-dialog-buttons">
<paper-button @click="${this._closeDialog}" <paper-button @click="${this._closeDialog}"
>${ >${this.localize(
this.localize("ui.panel.lovelace.editor.save_config.cancel") "ui.panel.lovelace.editor.save_config.cancel"
}</paper-button )}</paper-button
> >
<paper-button <paper-button
?disabled="${this._saving}" ?disabled="${this._saving}"
@ -73,9 +73,9 @@ export class HuiSaveConfig extends hassLocalizeLitMixin(LitElement) {
?active="${this._saving}" ?active="${this._saving}"
alt="Saving" alt="Saving"
></paper-spinner> ></paper-spinner>
${ ${this.localize(
this.localize("ui.panel.lovelace.editor.save_config.save") "ui.panel.lovelace.editor.save_config.save"
}</paper-button )}</paper-button
> >
</div> </div>
</paper-dialog> </paper-dialog>

View File

@ -133,18 +133,16 @@ export class HuiEditView extends hassLocalizeLitMixin(LitElement) {
</paper-tabs> </paper-tabs>
<paper-dialog-scrollable> ${content} </paper-dialog-scrollable> <paper-dialog-scrollable> ${content} </paper-dialog-scrollable>
<div class="paper-dialog-buttons"> <div class="paper-dialog-buttons">
${ ${this.viewIndex !== undefined
this.viewIndex !== undefined ? html`
? html` <paper-icon-button
<paper-icon-button class="delete"
class="delete" title="Delete"
title="Delete" icon="hass:delete"
icon="hass:delete" @click="${this._delete}"
@click="${this._delete}" ></paper-icon-button>
></paper-icon-button> `
` : ""}
: ""
}
<paper-button @click="${this._closeDialog}" <paper-button @click="${this._closeDialog}"
>${this.localize("ui.common.cancel")}</paper-button >${this.localize("ui.common.cancel")}</paper-button
> >

View File

@ -46,11 +46,9 @@ class HuiStateLabelElement extends hassLocalizeLitMixin(LitElement)
@ha-hold="${this._handleHold}" @ha-hold="${this._handleHold}"
.longPress="${longPress()}" .longPress="${longPress()}"
> >
${this._config.prefix}${ ${this._config.prefix}${state
state ? computeStateDisplay(this.localize, state, this.hass!.language)
? computeStateDisplay(this.localize, state, this.hass!.language) : "-"}${this._config.suffix}
: "-"
}${this._config.suffix}
</div> </div>
`; `;
} }

View File

@ -50,21 +50,19 @@ class HuiCoverEntityRow extends LitElement implements EntityRow {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
${ ${isTiltOnly(stateObj)
isTiltOnly(stateObj) ? html`
? html` <ha-cover-tilt-controls
<ha-cover-tilt-controls .hass="${this.hass}"
.hass="${this.hass}" .stateObj="${stateObj}"
.stateObj="${stateObj}" ></ha-cover-tilt-controls>
></ha-cover-tilt-controls> `
` : html`
: html` <ha-cover-controls
<ha-cover-controls .hass="${this.hass}"
.hass="${this.hass}" .stateObj="${stateObj}"
.stateObj="${stateObj}" ></ha-cover-controls>
></ha-cover-controls> `}
`
}
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;
} }

View File

@ -51,26 +51,22 @@ class HuiGroupEntityRow extends hassLocalizeLitMixin(LitElement)
return html` return html`
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
${ ${this._computeCanToggle(stateObj.attributes.entity_id)
this._computeCanToggle(stateObj.attributes.entity_id) ? html`
? html` <ha-entity-toggle
<ha-entity-toggle .hass="${this.hass}"
.hass="${this.hass}" .stateObj="${stateObj}"
.stateObj="${stateObj}" ></ha-entity-toggle>
></ha-entity-toggle> `
` : html`
: html` <div>
<div> ${computeStateDisplay(
${ this.localize,
computeStateDisplay( stateObj,
this.localize, this.hass.language
stateObj, )}
this.hass.language </div>
) `}
}
</div>
`
}
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;
} }

View File

@ -63,15 +63,13 @@ class HuiInputSelectEntityRow extends LitElement implements EntityRow {
slot="dropdown-content" slot="dropdown-content"
selected="${stateObj.attributes.options.indexOf(stateObj.state)}" selected="${stateObj.attributes.options.indexOf(stateObj.state)}"
> >
${ ${repeat(
repeat( stateObj.attributes.options,
stateObj.attributes.options, (option) =>
(option) => html`
html` <paper-item>${option}</paper-item>
<paper-item>${option}</paper-item> `
` )}
)
}
</paper-listbox> </paper-listbox>
</paper-dropdown-menu> </paper-dropdown-menu>
`; `;

View File

@ -50,11 +50,9 @@ class HuiLockEntityRow extends hassLocalizeLitMixin(LitElement)
${this.renderStyle()} ${this.renderStyle()}
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
<paper-button @click="${this._callService}"> <paper-button @click="${this._callService}">
${ ${stateObj.state === "locked"
stateObj.state === "locked" ? this.localize("ui.card.lock.unlock")
? this.localize("ui.card.lock.unlock") : this.localize("ui.card.lock.lock")}
: this.localize("ui.card.lock.lock")
}
</paper-button> </paper-button>
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;

View File

@ -57,44 +57,36 @@ class HuiMediaPlayerEntityRow extends hassLocalizeLitMixin(LitElement)
.config="${this._config}" .config="${this._config}"
.showSecondary="false" .showSecondary="false"
> >
${ ${OFF_STATES.includes(stateObj.state)
OFF_STATES.includes(stateObj.state) ? html`
? html` <div>
<div> ${this.localize(`state.media_player.${stateObj.state}`) ||
${ this.localize(`state.default.${stateObj.state}`) ||
this.localize(`state.media_player.${stateObj.state}`) || stateObj.state}
this.localize(`state.default.${stateObj.state}`) || </div>
stateObj.state `
} : html`
</div> <div class="controls">
` ${stateObj.state !== "playing" &&
: html` !supportsFeature(stateObj, SUPPORTS_PLAY)
<div class="controls"> ? ""
${ : html`
stateObj.state !== "playing" && <paper-icon-button
!supportsFeature(stateObj, SUPPORTS_PLAY) icon="${this._computeControlIcon(stateObj)}"
? "" @click="${this._playPause}"
: html` ></paper-icon-button>
<paper-icon-button `}
icon="${this._computeControlIcon(stateObj)}" ${supportsFeature(stateObj, SUPPORT_NEXT_TRACK)
@click="${this._playPause}" ? html`
></paper-icon-button> <paper-icon-button
` icon="hass:skip-next"
} @click="${this._nextTrack}"
${ ></paper-icon-button>
supportsFeature(stateObj, SUPPORT_NEXT_TRACK) `
? html` : ""}
<paper-icon-button </div>
icon="hass:skip-next" <div slot="secondary">${this._computeMediaTitle(stateObj)}</div>
@click="${this._nextTrack}" `}
></paper-icon-button>
`
: ""
}
</div>
<div slot="secondary">${this._computeMediaTitle(stateObj)}</div>
`
}
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;
} }

View File

@ -50,20 +50,18 @@ class HuiSceneEntityRow extends hassLocalizeLitMixin(LitElement)
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
${ ${stateObj.attributes.can_cancel
stateObj.attributes.can_cancel ? html`
? html` <ha-entity-toggle
<ha-entity-toggle .hass="${this.hass}"
.hass="${this.hass}" .stateObj="${stateObj}"
.stateObj="${stateObj}" ></ha-entity-toggle>
></ha-entity-toggle> `
` : html`
: html` <paper-button @click="${this._callService}">
<paper-button @click="${this._callService}"> ${this.localize("ui.card.scene.activate")}
${this.localize("ui.card.scene.activate")} </paper-button>
</paper-button> `}
`
}
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;
} }

View File

@ -50,20 +50,18 @@ class HuiScriptEntityRow extends hassLocalizeLitMixin(LitElement)
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
${ ${stateObj.attributes.can_cancel
stateObj.attributes.can_cancel ? html`
? html` <ha-entity-toggle
<ha-entity-toggle .hass="${this.hass}"
.hass="${this.hass}" .stateObj="${stateObj}"
.stateObj="${stateObj}" ></ha-entity-toggle>
></ha-entity-toggle> `
` : html`
: html` <paper-button @click="${this._callService}">
<paper-button @click="${this._callService}"> ${this.localize("ui.card.script.execute")}
${this.localize("ui.card.script.execute")} </paper-button>
</paper-button> `}
`
}
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;
} }

View File

@ -57,17 +57,15 @@ class HuiSensorEntityRow extends hassLocalizeLitMixin(LitElement)
${this.renderStyle()} ${this.renderStyle()}
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
<div> <div>
${ ${stateObj.attributes.device_class === "timestamp"
stateObj.attributes.device_class === "timestamp" ? html`
? html` <hui-timestamp-display
<hui-timestamp-display .hass="${this.hass}"
.hass="${this.hass}" .ts="${new Date(stateObj.state)}"
.ts="${new Date(stateObj.state)}" .format="${this._config.format}"
.format="${this._config.format}" ></hui-timestamp-display>
></hui-timestamp-display> `
` : computeStateDisplay(this.localize, stateObj, this.hass.language)}
: computeStateDisplay(this.localize, stateObj, this.hass.language)
}
</div> </div>
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;

View File

@ -50,26 +50,22 @@ class HuiToggleEntityRow extends hassLocalizeLitMixin(LitElement)
return html` return html`
<hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}">
${ ${stateObj.state === "on" || stateObj.state === "off"
stateObj.state === "on" || stateObj.state === "off" ? html`
? html` <ha-entity-toggle
<ha-entity-toggle .hass="${this.hass}"
.hass="${this.hass}" .stateObj="${stateObj}"
.stateObj="${stateObj}" ></ha-entity-toggle>
></ha-entity-toggle> `
` : html`
: html` <div>
<div> ${computeStateDisplay(
${ this.localize,
computeStateDisplay( stateObj,
this.localize, this.hass!.language
stateObj, )}
this.hass!.language </div>
) `}
}
</div>
`
}
</hui-generic-entity-row> </hui-generic-entity-row>
`; `;
} }

View File

@ -52,21 +52,17 @@ class LovelaceFullConfigEditor extends hassLocalizeLitMixin(LitElement) {
@click="${this._closeEditor}" @click="${this._closeEditor}"
></paper-icon-button> ></paper-icon-button>
<div main-title>Edit Config</div> <div main-title>Edit Config</div>
${ ${this._hash
this._hash ? html`
? html` <span class="comments">Comments will be not be saved!</span>
<span class="comments">Comments will be not be saved!</span> `
` : ""}
: ""
}
<paper-button @click="${this._handleSave}">Save</paper-button> <paper-button @click="${this._handleSave}">Save</paper-button>
<ha-icon <ha-icon
class="save-button class="save-button
${ ${classMap({
classMap({ saved: this._saving! === false || this._changed === true,
saved: this._saving! === false || this._changed === true, })}"
})
}"
icon="${this._changed ? "hass:circle-medium" : "hass:check"}" icon="${this._changed ? "hass:circle-medium" : "hass:check"}"
></ha-icon> ></ha-icon>
</app-toolbar> </app-toolbar>

View File

@ -139,10 +139,8 @@ class HUIRoot extends hassLocalizeLitMixin(LitElement) {
@click="${this._editModeDisable}" @click="${this._editModeDisable}"
></paper-icon-button> ></paper-icon-button>
<div main-title> <div main-title>
${ ${this.config.title ||
this.config.title || this.localize("ui.panel.lovelace.editor.header")}
this.localize("ui.panel.lovelace.editor.header")
}
<paper-icon-button <paper-icon-button
icon="hass:pencil" icon="hass:pencil"
class="edit-icon" class="edit-icon"
@ -203,22 +201,20 @@ class HUIRoot extends hassLocalizeLitMixin(LitElement) {
@iron-select="${this._deselect}" @iron-select="${this._deselect}"
slot="dropdown-content" slot="dropdown-content"
> >
${ ${this._yamlMode
this._yamlMode ? html`
? html` <paper-item @click="${this._handleRefresh}"
<paper-item @click="${this._handleRefresh}" >Refresh</paper-item
>Refresh</paper-item >
> `
` : ""}
: ""
}
<paper-item @click="${this._handleUnusedEntities}" <paper-item @click="${this._handleUnusedEntities}"
>Unused entities</paper-item >Unused entities</paper-item
> >
<paper-item @click="${this._editModeEnable}" <paper-item @click="${this._editModeEnable}"
>${ >${this.localize(
this.localize("ui.panel.lovelace.editor.configure_ui") "ui.panel.lovelace.editor.configure_ui"
}</paper-item )}</paper-item
> >
<paper-item @click="${this._handleHelp}">Help</paper-item> <paper-item @click="${this._handleHelp}">Help</paper-item>
</paper-listbox> </paper-listbox>
@ -236,54 +232,41 @@ class HUIRoot extends hassLocalizeLitMixin(LitElement) {
.selected="${this._curView}" .selected="${this._curView}"
@iron-activate="${this._handleViewSelected}" @iron-activate="${this._handleViewSelected}"
> >
${ ${this.lovelace!.config.views.map(
this.lovelace!.config.views.map( (view) => html`
(view) => html` <paper-tab>
<paper-tab> ${view.icon
${ ? html`
view.icon <ha-icon
? html` title="${view.title}"
<ha-icon .icon="${view.icon}"
title="${view.title}" ></ha-icon>
.icon="${view.icon}" `
></ha-icon> : view.title || "Unnamed view"}
` ${this._editMode
: view.title || "Unnamed view" ? html`
} <ha-icon
${ class="edit-icon view"
this._editMode @click="${this._editView}"
? html` icon="hass:pencil"
<ha-icon ></ha-icon>
class="edit-icon view" `
@click="${this._editView}" : ""}
icon="hass:pencil" </paper-tab>
></ha-icon> `
` )}
: "" ${this._editMode
} ? html`
</paper-tab> <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> </paper-tabs>
</div> </div>
` `

View File

@ -91,20 +91,16 @@ export class HUIView extends hassLocalizeLitMixin(LitElement) {
${this.renderStyles()} ${this.renderStyles()}
<div id="badges"></div> <div id="badges"></div>
<div id="columns"></div> <div id="columns"></div>
${ ${this.lovelace!.editMode
this.lovelace!.editMode ? html`
? html` <paper-fab
<paper-fab elevated="2"
elevated="2" icon="hass:plus"
icon="hass:plus" title="${this.localize("ui.panel.lovelace.editor.edit_card.add")}"
title="${ @click="${this._addCard}"
this.localize("ui.panel.lovelace.editor.edit_card.add") ></paper-fab>
}" `
@click="${this._addCard}" : ""}
></paper-fab>
`
: ""
}
`; `;
} }

View File

@ -30,13 +30,11 @@ class HuiSectionRow extends LitElement implements EntityRow {
return html` return html`
${this.renderStyle()} ${this.renderStyle()}
<div class="divider"></div> <div class="divider"></div>
${ ${this._config.label
this._config.label ? html`
? html` <div class="label">${this._config.label}</div>
<div class="label">${this._config.label}</div> `
` : html``}
: html``
}
`; `;
} }

View File

@ -1,10 +1,6 @@
{ {
"extends": [ "extends": ["tslint:latest", "tslint-eslint-rules", "tslint-config-prettier"],
"tslint-plugin-prettier", "rulesDirectory": ["tslint-plugin-prettier"],
"tslint:latest",
"tslint-eslint-rules",
"tslint-config-prettier"
],
"rules": { "rules": {
"prettier": true, "prettier": true,
"interface-name": false, "interface-name": false,

348
yarn.lock
View File

@ -2280,12 +2280,7 @@ acorn@^5.5.0, acorn@^5.5.3:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
acorn@^6.0.2: acorn@^6.0.2, acorn@^6.0.5:
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:
version "6.0.5" version "6.0.5"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a"
integrity sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg== 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" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo= 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" version "6.7.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96"
integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg== integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==
@ -2327,7 +2322,7 @@ ajv@^6.1.0, ajv@^6.5.5:
json-schema-traverse "^0.4.1" json-schema-traverse "^0.4.1"
uri-js "^4.2.2" uri-js "^4.2.2"
ajv@^6.5.3, ajv@^6.6.1: ajv@^6.5.5:
version "6.6.1" version "6.6.1"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.1.tgz#6360f5ed0d80f232cc2b294c362d5dc2e538dd61" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.1.tgz#6360f5ed0d80f232cc2b294c362d5dc2e538dd61"
integrity sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww== integrity sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==
@ -3878,13 +3873,6 @@ caller-callsite@^2.0.0:
dependencies: dependencies:
callsites "^2.0.0" 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: caller-path@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" 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" resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= 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: callsites@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= 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: camel-case@3.0.x:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" 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" strip-ansi "^3.0.0"
supports-color "^2.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" version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 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" escape-string-regexp "^1.0.5"
supports-color "^5.3.0" 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" version "2.4.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==
@ -4902,16 +4890,16 @@ debug@^3.1.0, debug@^3.2.5:
ms "^2.1.1" ms "^2.1.1"
debug@^4.0.0, debug@^4.1.0, debug@~4.1.0: debug@^4.0.0, debug@^4.1.0, debug@~4.1.0:
version "4.1.1" version "4.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
debug@^4.0.1: debug@^4.0.1:
version "4.1.0" version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg== integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
@ -5530,7 +5518,7 @@ error@^7.0.2:
string-template "~0.2.1" string-template "~0.2.1"
xtend "~4.0.0" xtend "~4.0.0"
es-abstract@^1.5.1: es-abstract@^1.11.0, es-abstract@^1.7.0:
version "1.13.0" version "1.13.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
@ -5542,7 +5530,7 @@ es-abstract@^1.5.1:
is-regex "^1.0.4" is-regex "^1.0.4"
object-keys "^1.0.12" object-keys "^1.0.12"
es-abstract@^1.6.1: es-abstract@^1.5.1, es-abstract@^1.6.1:
version "1.12.0" version "1.12.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==
@ -5553,17 +5541,6 @@ es-abstract@^1.6.1:
is-callable "^1.1.3" is-callable "^1.1.3"
is-regex "^1.0.4" 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: es-to-primitive@^1.1.1, es-to-primitive@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 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.assign "^4.1.0"
object.entries "^1.0.4" object.entries "^1.0.4"
eslint-config-prettier@^3.1.0: eslint-config-prettier@^4.0.0:
version "3.3.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.0.0.tgz#16cedeea0a56e74de60dcbbe3be0ab2c645405b9"
integrity sha512-Bc3bh5bAcKNvs3HOpSi6EfGA2IIp7EzWcg2tS4vP7stnXu/J1opihHDM7jI9JCIckyIDTgZLSWn7J3HY0j2JfA== integrity sha512-kWuiJxzV5NwOwZcpyozTzDT5KJhBw292bbYro9Is7BWnbNMg15Gmpluc1CTetiCatF8DRkNvgPAOaSyg+bYr3g==
dependencies: dependencies:
get-stdin "^6.0.0" get-stdin "^6.0.0"
eslint-import-resolver-node@^0.3.1: eslint-import-resolver-node@^0.3.2:
version "0.3.1" version "0.3.2"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
integrity sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A== integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==
dependencies: dependencies:
debug "^2.6.8" debug "^2.6.9"
resolve "^1.2.0" resolve "^1.5.0"
eslint-import-resolver-webpack@^0.10.1: eslint-import-resolver-webpack@^0.10.1:
version "0.10.1" version "0.10.1"
@ -5658,29 +5635,29 @@ eslint-import-resolver-webpack@^0.10.1:
resolve "^1.4.0" resolve "^1.4.0"
semver "^5.3.0" semver "^5.3.0"
eslint-module-utils@^2.2.0: eslint-module-utils@^2.3.0:
version "2.2.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49"
integrity sha1-snA2LNiLGkitMIl2zn+lTphBF0Y= integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w==
dependencies: dependencies:
debug "^2.6.8" debug "^2.6.8"
pkg-dir "^1.0.0" pkg-dir "^2.0.0"
eslint-plugin-import@^2.14.0: eslint-plugin-import@^2.14.0:
version "2.14.0" version "2.15.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.15.0.tgz#d8f3c28b8988ccde5df964706faa7c1e52f0602a"
integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g== integrity sha512-LEHqgR+RcnpGqYW7h9WMkPb/tP+ekKxWdQDztfTtZeV43IHF+X8lXU+1HOCcR4oXD24qRgEwNSxIweD5uNKGVg==
dependencies: dependencies:
contains-path "^0.1.0" contains-path "^0.1.0"
debug "^2.6.8" debug "^2.6.9"
doctrine "1.5.0" doctrine "1.5.0"
eslint-import-resolver-node "^0.3.1" eslint-import-resolver-node "^0.3.2"
eslint-module-utils "^2.2.0" eslint-module-utils "^2.3.0"
has "^1.0.1" has "^1.0.3"
lodash "^4.17.4" lodash "^4.17.11"
minimatch "^3.0.3" minimatch "^3.0.4"
read-pkg-up "^2.0.0" read-pkg-up "^2.0.0"
resolve "^1.6.0" resolve "^1.9.0"
eslint-plugin-prettier@^2.2.0: eslint-plugin-prettier@^2.2.0:
version "2.7.0" version "2.7.0"
@ -5691,22 +5668,24 @@ eslint-plugin-prettier@^2.2.0:
jest-docblock "^21.0.0" jest-docblock "^21.0.0"
eslint-plugin-prettier@^3.0.0: eslint-plugin-prettier@^3.0.0:
version "3.0.0" version "3.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.0.tgz#f6b823e065f8c36529918cdb766d7a0e975ec30c" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.1.tgz#19d521e3981f69dd6d14f64aec8c6a6ac6eb0b0d"
integrity sha512-4g11opzhqq/8+AMmo5Vc2Gn7z9alZ4JqrbZ+D4i8KlSyxeQhZHlmIrY8U9Akf514MoEhogPa87Jgkq87aZ2Ohw== integrity sha512-/PMttrarPAY78PLvV3xfWibMOdMDl57hmlQ2XqFeA37wd+CJ7WSxV7txqjVPHi/AAFKd2lX0ZqfsOc/i5yFCSQ==
dependencies: dependencies:
prettier-linter-helpers "^1.0.0" prettier-linter-helpers "^1.0.0"
eslint-plugin-react@^7.11.1: eslint-plugin-react@^7.11.1:
version "7.11.1" version "7.12.4"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz#c01a7af6f17519457d6116aa94fc6d2ccad5443c" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c"
integrity sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw== integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==
dependencies: dependencies:
array-includes "^3.0.3" array-includes "^3.0.3"
doctrine "^2.1.0" doctrine "^2.1.0"
has "^1.0.3" has "^1.0.3"
jsx-ast-utils "^2.0.1" jsx-ast-utils "^2.0.1"
object.fromentries "^2.0.0"
prop-types "^15.6.2" prop-types "^15.6.2"
resolve "^1.9.0"
eslint-restricted-globals@^0.1.1: eslint-restricted-globals@^0.1.1:
version "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== integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
eslint@^5.6.0: eslint@^5.6.0:
version "5.9.0" version "5.12.1"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.9.0.tgz#b234b6d15ef84b5849c6de2af43195a2d59d408e" resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.12.1.tgz#5ca9931fb9029d04e7be92b03ce3b58edfac7e3b"
integrity sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w== integrity sha512-54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg==
dependencies: dependencies:
"@babel/code-frame" "^7.0.0" "@babel/code-frame" "^7.0.0"
ajv "^6.5.3" ajv "^6.5.3"
@ -5753,7 +5732,7 @@ eslint@^5.6.0:
eslint-scope "^4.0.0" eslint-scope "^4.0.0"
eslint-utils "^1.3.1" eslint-utils "^1.3.1"
eslint-visitor-keys "^1.0.0" eslint-visitor-keys "^1.0.0"
espree "^4.0.0" espree "^5.0.0"
esquery "^1.0.1" esquery "^1.0.1"
esutils "^2.0.2" esutils "^2.0.2"
file-entry-cache "^2.0.0" file-entry-cache "^2.0.0"
@ -5761,9 +5740,9 @@ eslint@^5.6.0:
glob "^7.1.2" glob "^7.1.2"
globals "^11.7.0" globals "^11.7.0"
ignore "^4.0.6" ignore "^4.0.6"
import-fresh "^3.0.0"
imurmurhash "^0.1.4" imurmurhash "^0.1.4"
inquirer "^6.1.0" inquirer "^6.1.0"
is-resolvable "^1.1.0"
js-yaml "^3.12.0" js-yaml "^3.12.0"
json-stable-stringify-without-jsonify "^1.0.1" json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.3.0" levn "^0.3.0"
@ -5776,7 +5755,6 @@ eslint@^5.6.0:
pluralize "^7.0.0" pluralize "^7.0.0"
progress "^2.0.0" progress "^2.0.0"
regexpp "^2.0.1" regexpp "^2.0.1"
require-uncached "^1.0.3"
semver "^5.5.1" semver "^5.5.1"
strip-ansi "^4.0.0" strip-ansi "^4.0.0"
strip-json-comments "^2.0.1" strip-json-comments "^2.0.1"
@ -5791,10 +5769,10 @@ espree@^3.5.2:
acorn "^5.5.0" acorn "^5.5.0"
acorn-jsx "^3.0.0" acorn-jsx "^3.0.0"
espree@^4.0.0: espree@^5.0.0:
version "4.1.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz#fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c"
integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w== integrity sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==
dependencies: dependencies:
acorn "^6.0.2" acorn "^6.0.2"
acorn-jsx "^5.0.0" 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" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 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" version "1.2.0"
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 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: fast-glob@^2.0.2:
version "2.2.6" version "2.2.6"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" 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" which "^1.2.14"
globals@^11.1.0: 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" version "11.9.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249" resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249"
integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg== 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: globals@^9.18.0:
version "9.18.0" version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 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" caller-path "^2.0.0"
resolve-from "^3.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: import-lazy@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 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" through "^2.3.6"
inquirer@^6.0.0: 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" version "6.2.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8"
integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==
@ -7736,6 +7698,25 @@ inquirer@^6.1.0:
strip-ansi "^4.0.0" strip-ansi "^4.0.0"
through "^2.3.6" 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: internal-ip@^3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27"
@ -8116,11 +8097,6 @@ is-relative@^0.2.1:
dependencies: dependencies:
is-unc-path "^0.1.1" 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: is-retry-allowed@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 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" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== 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: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 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" version "3.12.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== 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" argparse "^1.0.7"
esprima "^4.0.0" 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: jsbn@~0.1.0:
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 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" resolved "https://registry.yarnpkg.com/lolex/-/lolex-3.0.0.tgz#f04ee1a8aa13f60f1abd7b0e8f4213ec72ec193e"
integrity sha512-hcnW80h3j2lbUfFdMArd5UPA/vxZJ+G8vobd+wg3nVEQA0EigStbYcrG030FJxL6xiDDPEkoMatV9xIh5OecQQ== 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" version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies: dependencies:
js-tokens "^3.0.0 || ^4.0.0" 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: loud-rejection@^1.0.0:
version "1.6.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 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" function-bind "^1.1.0"
has "^1.0.1" 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: object.getownpropertydescriptors@^2.0.3:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
@ -10489,6 +10476,13 @@ param-case@2.1.x:
dependencies: dependencies:
no-case "^2.2.0" 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: parse-asn1@^5.0.0:
version "5.1.3" version "5.1.3"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.3.tgz#1600c6cc0727365d68b97f3aa78939e735a75204" 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" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= 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: pkg-dir@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 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" fast-diff "^1.1.2"
prettier@^1.14.3: prettier@^1.14.3:
version "1.15.3" version "1.16.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.3.tgz#1feaac5bdd181237b54dbe65d874e02a1472786a" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.1.tgz#534c2c9d7853f8845e5e078384e71973bd74089f"
integrity sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg== integrity sha512-XXUITwIkGb3CPJ2hforHah/zTINRyie5006Jd2HKy2qz7snEJXl0KLfsJZW/wst9g6R2rFvqba3VpNYdu1hDcA==
pretty-bytes@^4.0.2: pretty-bytes@^4.0.2:
version "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" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
progress@2.0.1, progress@^2.0.0: progress@2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31"
integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg== 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: promise-inflight@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 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" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= 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: requirejs@^2.3.4:
version "2.3.6" version "2.3.6"
resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.3.6.tgz#e5093d9601c2829251258c0b9445d4d19fa9e7c9" 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" expand-tilde "^2.0.0"
global-modules "^1.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: resolve-from@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
integrity sha1-six699nWiBvItuZTM17rywoYh0g= 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: resolve-url@^0.2.1:
version "0.2.1" version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@^1.1.6, resolve@^1.3.2, resolve@^1.5.0: resolve@^1.1.6, resolve@^1.5.0:
version "1.10.0" version "1.8.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
dependencies: 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" version "1.4.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86"
integrity sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q== integrity sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==
dependencies: dependencies:
path-parse "^1.0.5" 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: resolve@^1.4.0:
version "1.5.0" version "1.5.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
@ -11884,13 +11875,6 @@ resolve@^1.4.0:
dependencies: dependencies:
path-parse "^1.0.5" 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: restore-cursor@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 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== integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2:
version "2.6.3" version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==
dependencies: dependencies:
glob "^7.1.3" glob "^7.0.5"
rimraf@~2.2.6: rimraf@~2.2.6:
version "2.2.8" version "2.2.8"
@ -11925,11 +11909,11 @@ rimraf@~2.2.6:
integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI= integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=
rimraf@~2.6.2: rimraf@~2.6.2:
version "2.6.2" version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
dependencies: dependencies:
glob "^7.0.5" glob "^7.1.3"
ripemd160@^2.0.0, ripemd160@^2.0.1: ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2" version "2.0.2"
@ -12973,9 +12957,9 @@ table-layout@^0.4.3:
wordwrapjs "^3.0.0" wordwrapjs "^3.0.0"
table@^5.0.2: table@^5.0.2:
version "5.1.1" version "5.2.1"
resolved "https://registry.yarnpkg.com/table/-/table-5.1.1.tgz#92030192f1b7b51b6eeab23ed416862e47b70837" resolved "https://registry.yarnpkg.com/table/-/table-5.2.1.tgz#e78463702b1be9f7131c39860bcfb1b81114c2a1"
integrity sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw== integrity sha512-qmhNs2GEHNqY5fd2Mo+8N1r2sw/rvTAAvBZTaTx+Y7PHLypqyrxr1MdIu0pLw6Xvl/Gi4ONu/sdceP8vvUjkyA==
dependencies: dependencies:
ajv "^6.6.1" ajv "^6.6.1"
lodash "^4.17.11" lodash "^4.17.11"
@ -13386,9 +13370,9 @@ tslint-plugin-prettier@^2.0.1:
tslib "^1.7.1" tslib "^1.7.1"
tslint@^5.11.0: tslint@^5.11.0:
version "5.11.0" version "5.12.1"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.11.0.tgz#98f30c02eae3cde7006201e4c33cb08b48581eed" resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.12.1.tgz#8cec9d454cf8a1de9b0a26d7bdbad6de362e52c1"
integrity sha1-mPMMAurjzecAYgHkwzywi0hYHu0= integrity sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==
dependencies: dependencies:
babel-code-frame "^6.22.0" babel-code-frame "^6.22.0"
builtin-modules "^1.1.1" builtin-modules "^1.1.1"