mirror of
https://github.com/home-assistant/frontend.git
synced 2026-06-29 11:41:38 +00:00
Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e87accdfb4 | |||
| 4dcfe3031d | |||
| 1538fbb102 | |||
| b9259b87eb | |||
| 30997dbc88 | |||
| 607eb6d130 | |||
| f2e9b3577d | |||
| cb2c6d8560 | |||
| bfe8346ced | |||
| 88da9bb91b | |||
| 5e2ee1a16c | |||
| 2fdc746392 | |||
| 1667973a66 | |||
| 42f0101440 | |||
| 13b69bff1b | |||
| 2c2226dfd6 | |||
| a3fdfe0e15 | |||
| a0de209a55 | |||
| 0208b50ac7 | |||
| 4a61779aba | |||
| 05057ade05 | |||
| 6fb206853c | |||
| fab68055bf | |||
| d5a77ef3cd | |||
| dcb2605de4 | |||
| e6d38f4539 | |||
| 293b56cfa6 | |||
| 775e93d54b | |||
| 7f840e75df | |||
| 2113ea675e | |||
| 916a5c1a6b | |||
| f684531315 | |||
| fe8dda8996 | |||
| 4cd4b328c8 |
@@ -74,12 +74,12 @@ DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed w
|
||||
|
||||
```
|
||||
|
||||
## Problem-relevant configuration
|
||||
## Problem-relevant frontend configuration
|
||||
|
||||
<!--
|
||||
An example configuration that caused the problem for you. Fill this out even
|
||||
if it seems unimportant to you. Please be sure to remove personal information
|
||||
like passwords, private URLs and other credentials.
|
||||
An example configuration that caused the problem for you, e.g. the YAML configuration
|
||||
of the used cards. Fill this out even if it seems unimportant to you. Please be sure
|
||||
to remove personal information like passwords, private URLs and other credentials.
|
||||
-->
|
||||
|
||||
```yaml
|
||||
@@ -89,7 +89,7 @@ DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed w
|
||||
## Javascript errors shown in your browser console/inspector
|
||||
|
||||
<!--
|
||||
If you come across any javascript or other error logs, e.g., in your browser
|
||||
If you come across any Javascript or other error logs, e.g. in your browser
|
||||
console/inspector please provide them.
|
||||
-->
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ const createWebpackConfig = ({
|
||||
const ignorePackages = bundle.ignorePackages({ latestBuild });
|
||||
return {
|
||||
mode: isProdBuild ? "production" : "development",
|
||||
target: ["web", latestBuild ? "es2017" : "es5"],
|
||||
devtool: isProdBuild
|
||||
? "cheap-module-source-map"
|
||||
: "eval-cheap-module-source-map",
|
||||
@@ -131,22 +132,6 @@ const createWebpackConfig = ({
|
||||
}
|
||||
return `${chunk.name}.${chunk.hash.substr(0, 8)}.js`;
|
||||
},
|
||||
environment: {
|
||||
// The environment supports arrow functions ('() => { ... }').
|
||||
arrowFunction: latestBuild,
|
||||
// The environment supports BigInt as literal (123n).
|
||||
bigIntLiteral: false,
|
||||
// The environment supports const and let for variable declarations.
|
||||
const: latestBuild,
|
||||
// The environment supports destructuring ('{ a, b } = obj').
|
||||
destructuring: latestBuild,
|
||||
// The environment supports an async import() function to import EcmaScript modules.
|
||||
dynamicImport: latestBuild,
|
||||
// The environment supports 'for of' iteration ('for (const x of array) { ... }').
|
||||
forOf: latestBuild,
|
||||
// The environment supports ECMAScript Module syntax to import ECMAScript modules (import ... from '...').
|
||||
module: latestBuild,
|
||||
},
|
||||
chunkFilename:
|
||||
isProdBuild && !isStatsBuild
|
||||
? "chunk.[chunkhash].js"
|
||||
|
||||
@@ -9,30 +9,29 @@ class DemoMoreInfo extends PolymerElement {
|
||||
static get template() {
|
||||
return html`
|
||||
<style>
|
||||
:host {
|
||||
.root {
|
||||
display: flex;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
#card {
|
||||
max-width: 400px;
|
||||
width: 100vw;
|
||||
}
|
||||
ha-card {
|
||||
width: 333px;
|
||||
width: 352px;
|
||||
padding: 20px 24px;
|
||||
}
|
||||
|
||||
state-card-content {
|
||||
display: block;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
pre {
|
||||
width: 400px;
|
||||
margin: 0 16px;
|
||||
overflow: auto;
|
||||
color: var(--primary-text-color);
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 800px) {
|
||||
:host {
|
||||
.root {
|
||||
flex-direction: column;
|
||||
}
|
||||
pre {
|
||||
@@ -40,21 +39,25 @@ class DemoMoreInfo extends PolymerElement {
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<ha-card>
|
||||
<state-card-content
|
||||
state-obj="[[_stateObj]]"
|
||||
hass="[[hass]]"
|
||||
in-dialog
|
||||
></state-card-content>
|
||||
<div class="root">
|
||||
<div id="card">
|
||||
<ha-card>
|
||||
<state-card-content
|
||||
state-obj="[[_stateObj]]"
|
||||
hass="[[hass]]"
|
||||
in-dialog
|
||||
></state-card-content>
|
||||
|
||||
<more-info-content
|
||||
hass="[[hass]]"
|
||||
state-obj="[[_stateObj]]"
|
||||
></more-info-content>
|
||||
</ha-card>
|
||||
<template is="dom-if" if="[[showConfig]]">
|
||||
<pre>[[_jsonEntity(_stateObj)]]</pre>
|
||||
</template>
|
||||
<more-info-content
|
||||
hass="[[hass]]"
|
||||
state-obj="[[_stateObj]]"
|
||||
></more-info-content>
|
||||
</ha-card>
|
||||
</div>
|
||||
<template is="dom-if" if="[[showConfig]]">
|
||||
<pre>[[_jsonEntity(_stateObj)]]</pre>
|
||||
</template>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,12 +3,18 @@ import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import "../../../src/components/ha-switch";
|
||||
import "../../../src/components/ha-formfield";
|
||||
import "./demo-more-info";
|
||||
import { applyThemesOnElement } from "../../../src/common/dom/apply_themes_on_element";
|
||||
|
||||
class DemoMoreInfos extends PolymerElement {
|
||||
static get template() {
|
||||
return html`
|
||||
<style>
|
||||
#container {
|
||||
min-height: calc(100vh - 128px);
|
||||
background: var(--primary-background-color);
|
||||
}
|
||||
.cards {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -23,20 +29,31 @@ class DemoMoreInfos extends PolymerElement {
|
||||
.filters {
|
||||
margin-left: 60px;
|
||||
}
|
||||
ha-formfield {
|
||||
margin-right: 16px;
|
||||
}
|
||||
</style>
|
||||
<app-toolbar>
|
||||
<div class="filters">
|
||||
<ha-switch checked="{{_showConfig}}">Show entity</ha-switch>
|
||||
<ha-formfield label="Show entities">
|
||||
<ha-switch checked="[[_showConfig]]" on-change="_showConfigToggled">
|
||||
</ha-switch>
|
||||
</ha-formfield>
|
||||
<ha-formfield label="Dark theme">
|
||||
<ha-switch on-change="_darkThemeToggled"> </ha-switch>
|
||||
</ha-formfield>
|
||||
</div>
|
||||
</app-toolbar>
|
||||
<div class="cards">
|
||||
<template is="dom-repeat" items="[[entities]]">
|
||||
<demo-more-info
|
||||
entity-id="[[item]]"
|
||||
show-config="[[_showConfig]]"
|
||||
hass="[[hass]]"
|
||||
></demo-more-info>
|
||||
</template>
|
||||
<div id="container">
|
||||
<div class="cards">
|
||||
<template is="dom-repeat" items="[[entities]]">
|
||||
<demo-more-info
|
||||
entity-id="[[item]]"
|
||||
show-config="[[_showConfig]]"
|
||||
hass="[[hass]]"
|
||||
></demo-more-info>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
@@ -51,6 +68,16 @@ class DemoMoreInfos extends PolymerElement {
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
_showConfigToggled(ev) {
|
||||
this._showConfig = ev.target.checked;
|
||||
}
|
||||
|
||||
_darkThemeToggled(ev) {
|
||||
applyThemesOnElement(this.$.container, { themes: {} }, "default", {
|
||||
dark: ev.target.checked,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-more-infos", DemoMoreInfos);
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
|
||||
export const createPlantEntities = () => [
|
||||
getEntity("plant", "lemon_tree", "ok", {
|
||||
problem: "none",
|
||||
sensors: {
|
||||
moisture: "sensor.lemon_tree_moisture",
|
||||
battery: "sensor.lemon_tree_battery",
|
||||
temperature: "sensor.lemon_tree_temperature",
|
||||
conductivity: "sensor.lemon_tree_conductivity",
|
||||
brightness: "sensor.lemon_tree_brightness",
|
||||
},
|
||||
unit_of_measurement_dict: {
|
||||
temperature: "°C",
|
||||
moisture: "%",
|
||||
brightness: "lx",
|
||||
battery: "%",
|
||||
conductivity: "μS/cm",
|
||||
},
|
||||
moisture: 54,
|
||||
battery: 95,
|
||||
temperature: 15.6,
|
||||
conductivity: 1,
|
||||
brightness: 12,
|
||||
max_brightness: 20,
|
||||
friendly_name: "Lemon Tree",
|
||||
}),
|
||||
getEntity("plant", "apple_tree", "ok", {
|
||||
problem: "brightness",
|
||||
sensors: {
|
||||
moisture: "sensor.apple_tree_moisture",
|
||||
battery: "sensor.apple_tree_battery",
|
||||
temperature: "sensor.apple_tree_temperature",
|
||||
conductivity: "sensor.apple_tree_conductivity",
|
||||
brightness: "sensor.apple_tree_brightness",
|
||||
},
|
||||
unit_of_measurement_dict: {
|
||||
temperature: "°C",
|
||||
moisture: "%",
|
||||
brightness: "lx",
|
||||
battery: "%",
|
||||
conductivity: "μS/cm",
|
||||
},
|
||||
moisture: 54,
|
||||
battery: 2,
|
||||
temperature: 15.6,
|
||||
conductivity: 1,
|
||||
brightness: 25,
|
||||
max_brightness: 20,
|
||||
friendly_name: "Apple Tree",
|
||||
}),
|
||||
getEntity("plant", "sunflowers", "ok", {
|
||||
problem: "moisture, temperature, conductivity",
|
||||
sensors: {
|
||||
moisture: "sensor.sunflowers_moisture",
|
||||
temperature: "sensor.sunflowers_temperature",
|
||||
conductivity: "sensor.sunflowers_conductivity",
|
||||
brightness: "sensor.sunflowers_brightness",
|
||||
},
|
||||
unit_of_measurement_dict: {
|
||||
temperature: "°C",
|
||||
moisture: "%",
|
||||
brightness: "lx",
|
||||
conductivity: "μS/cm",
|
||||
},
|
||||
moisture: 54,
|
||||
temperature: 15.6,
|
||||
conductivity: 1,
|
||||
brightness: 25,
|
||||
entity_picture: "/images/sunflowers.jpg",
|
||||
}),
|
||||
];
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -71,28 +76,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoAlarmPanelEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-alarm-panel-card")
|
||||
class DemoAlarmPanelEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
this._setupDemo();
|
||||
}
|
||||
|
||||
private async _setupDemo() {
|
||||
const hass = provideHass(this.$.demos);
|
||||
await hass.updateTranslations(null, "en");
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -53,24 +58,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoConditional extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-conditional-card")
|
||||
class DemoConditional extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -217,24 +222,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoEntities extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-entities-card")
|
||||
class DemoEntities extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -69,24 +74,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoButtonEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-entity-button-card")
|
||||
class DemoButtonEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -89,26 +94,21 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoFilter extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-entity-filter-card")
|
||||
class DemoEntityFilter extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-entity-filter-card", DemoFilter);
|
||||
customElements.define("demo-hui-entity-filter-card", DemoEntityFilter);
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -107,24 +112,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoGaugeEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-gauge-card")
|
||||
class DemoGaugeEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -218,26 +223,21 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoPicEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-glance-card")
|
||||
class DemoGlanceEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-glance-card", DemoPicEntity);
|
||||
customElements.define("demo-hui-glance-card", DemoGlanceEntity);
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import { html, LitElement, customElement, TemplateResult } from "lit-element";
|
||||
import "../components/demo-cards";
|
||||
|
||||
const CONFIGS = [
|
||||
@@ -37,18 +35,10 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoIframe extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards configs="[[_configs]]"></demo-cards> `;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
@customElement("demo-hui-iframe-card")
|
||||
class DemoIframe extends LitElement {
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -63,24 +68,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoLightEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-light-card")
|
||||
class DemoLightEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -161,24 +166,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoMap extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-map-card")
|
||||
class DemoMap extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { mockTemplate } from "../../../demo/src/stubs/template";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -254,23 +259,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoMarkdown extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-markdown-card")
|
||||
class DemoMarkdown extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
mockTemplate(hass);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
import { createMediaPlayerEntities } from "../data/media_players";
|
||||
@@ -158,26 +163,21 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoHuiMediControlCard extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-media-control-card")
|
||||
class DemoHuiMediaControlCard extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(createMediaPlayerEntities());
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-media-control-card", DemoHuiMediControlCard);
|
||||
customElements.define("demo-hui-media-control-card", DemoHuiMediaControlCard);
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
import { createMediaPlayerEntities } from "../data/media_players";
|
||||
@@ -55,26 +60,21 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoHuiMediaPlayerRows extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-media-player-row")
|
||||
class DemoHuiMediaPlayerRow extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(createMediaPlayerEntities());
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-media-player-rows", DemoHuiMediaPlayerRows);
|
||||
customElements.define("demo-hui-media-player-row", DemoHuiMediaPlayerRow);
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -125,26 +130,21 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoPicElements extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-picture-elements-card")
|
||||
class DemoPictureElements extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-picture-elements-card", DemoPicElements);
|
||||
customElements.define("demo-hui-picture-elements-card", DemoPictureElements);
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -80,26 +85,21 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoPicEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-picture-entity-card")
|
||||
class DemoPictureEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-picture-entity-card", DemoPicEntity);
|
||||
customElements.define("demo-hui-picture-entity-card", DemoPictureEntity);
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -121,26 +126,21 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoPicGlance extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-picture-glance-card")
|
||||
class DemoPictureGlance extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-picture-glance-card", DemoPicGlance);
|
||||
customElements.define("demo-hui-picture-glance-card", DemoPictureGlance);
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
import { createPlantEntities } from "../data/plants";
|
||||
|
||||
const CONFIGS = [
|
||||
{
|
||||
heading: "Basic example",
|
||||
config: `
|
||||
- type: plant-status
|
||||
entity: plant.lemon_tree
|
||||
`,
|
||||
},
|
||||
{
|
||||
heading: "Problem (too bright) + low battery",
|
||||
config: `
|
||||
- type: plant-status
|
||||
entity: plant.apple_tree
|
||||
`,
|
||||
},
|
||||
{
|
||||
heading: "With picture + multiple problems",
|
||||
config: `
|
||||
- type: plant-status
|
||||
entity: plant.sunflowers
|
||||
name: Sunflowers Name Overwrite
|
||||
`,
|
||||
},
|
||||
];
|
||||
|
||||
@customElement("demo-hui-plant-card")
|
||||
export class DemoPlantEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(createPlantEntities());
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-hui-plant-card", DemoPlantEntity);
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
|
||||
@@ -20,24 +25,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoShoppingListEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-shopping-list-card")
|
||||
class DemoShoppingListEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
|
||||
hass.mockAPI("shopping_list", () => [
|
||||
{ name: "list", id: 1, complete: false },
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { mockHistory } from "../../../demo/src/stubs/history";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
@@ -132,24 +137,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoStack extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-stack-card")
|
||||
class DemoStack extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
mockHistory(hass);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-cards";
|
||||
@@ -74,24 +79,19 @@ const CONFIGS = [
|
||||
},
|
||||
];
|
||||
|
||||
class DemoThermostatEntity extends PolymerElement {
|
||||
static get template() {
|
||||
return html` <demo-cards id="demos" configs="[[_configs]]"></demo-cards> `;
|
||||
@customElement("demo-hui-thermostat-card")
|
||||
class DemoThermostatEntity extends LitElement {
|
||||
@query("#demos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_configs: {
|
||||
type: Object,
|
||||
value: CONFIGS,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
const hass = provideHass(this.$.demos);
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.updateTranslations("lovelace", "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,27 @@
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
/* eslint-plugin-disable lit */
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import {
|
||||
html,
|
||||
LitElement,
|
||||
customElement,
|
||||
property,
|
||||
PropertyValues,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import "../../../src/components/ha-card";
|
||||
import { SUPPORT_BRIGHTNESS } from "../../../src/data/light";
|
||||
import {
|
||||
SUPPORT_BRIGHTNESS,
|
||||
SUPPORT_COLOR_TEMP,
|
||||
SUPPORT_EFFECT,
|
||||
SUPPORT_FLASH,
|
||||
SUPPORT_COLOR,
|
||||
SUPPORT_TRANSITION,
|
||||
SUPPORT_WHITE_VALUE,
|
||||
} from "../../../src/data/light";
|
||||
import { getEntity } from "../../../src/fake_data/entity";
|
||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||
import {
|
||||
provideHass,
|
||||
MockHomeAssistant,
|
||||
} from "../../../src/fake_data/provide_hass";
|
||||
import "../components/demo-more-infos";
|
||||
import "../../../src/dialogs/more-info/more-info-content";
|
||||
|
||||
@@ -14,38 +31,52 @@ const ENTITIES = [
|
||||
}),
|
||||
getEntity("light", "kitchen_light", "on", {
|
||||
friendly_name: "Brightness Light",
|
||||
brightness: 80,
|
||||
brightness: 200,
|
||||
supported_features: SUPPORT_BRIGHTNESS,
|
||||
}),
|
||||
getEntity("light", "color_temperature_light", "on", {
|
||||
friendly_name: "White Color Temperature Light",
|
||||
brightness: 128,
|
||||
color_temp: 75,
|
||||
min_mireds: 30,
|
||||
max_mireds: 150,
|
||||
supported_features: SUPPORT_BRIGHTNESS + SUPPORT_COLOR_TEMP,
|
||||
}),
|
||||
getEntity("light", "color_effectslight", "on", {
|
||||
friendly_name: "Color Effets Light",
|
||||
brightness: 255,
|
||||
hs_color: [30, 100],
|
||||
white_value: 36,
|
||||
supported_features:
|
||||
SUPPORT_BRIGHTNESS +
|
||||
SUPPORT_EFFECT +
|
||||
SUPPORT_FLASH +
|
||||
SUPPORT_COLOR +
|
||||
SUPPORT_TRANSITION +
|
||||
SUPPORT_WHITE_VALUE,
|
||||
effect_list: ["random", "colorloop"],
|
||||
}),
|
||||
];
|
||||
|
||||
class DemoMoreInfoLight extends PolymerElement {
|
||||
static get template() {
|
||||
@customElement("demo-more-info-light")
|
||||
class DemoMoreInfoLight extends LitElement {
|
||||
@property() public hass!: MockHomeAssistant;
|
||||
|
||||
@query("demo-more-infos") private _demoRoot!: HTMLElement;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
<demo-more-infos
|
||||
hass="[[hass]]"
|
||||
entities="[[_entities]]"
|
||||
.hass=${this.hass}
|
||||
.entities=${ENTITIES.map((ent) => ent.entityId)}
|
||||
></demo-more-infos>
|
||||
`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
_entities: {
|
||||
type: Array,
|
||||
value: ENTITIES.map((ent) => ent.entityId),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public ready() {
|
||||
super.ready();
|
||||
this._setupDemo();
|
||||
}
|
||||
|
||||
private async _setupDemo() {
|
||||
const hass = provideHass(this);
|
||||
await hass.updateTranslations(null, "en");
|
||||
protected firstUpdated(changedProperties: PropertyValues) {
|
||||
super.firstUpdated(changedProperties);
|
||||
const hass = provideHass(this._demoRoot);
|
||||
hass.updateTranslations(null, "en");
|
||||
hass.addEntities(ENTITIES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import "@material/mwc-button";
|
||||
import { html, LitElement, TemplateResult } from "lit-element";
|
||||
import { customElement, html, LitElement, TemplateResult } from "lit-element";
|
||||
import "../../../src/components/ha-card";
|
||||
import { ActionHandlerEvent } from "../../../src/data/lovelace";
|
||||
import { actionHandler } from "../../../src/panels/lovelace/common/directives/action-handler-directive";
|
||||
|
||||
@customElement("demo-util-long-press")
|
||||
export class DemoUtilLongPress extends LitElement {
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
@@ -20,7 +21,7 @@ export class DemoUtilLongPress extends LitElement {
|
||||
|
||||
<textarea></textarea>
|
||||
|
||||
<div>(try pressing and scrolling too!)</div>
|
||||
<div>Try pressing and scrolling too!</div>
|
||||
</ha-card>
|
||||
`
|
||||
)}
|
||||
@@ -62,5 +63,3 @@ export class DemoUtilLongPress extends LitElement {
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("demo-util-long-press", DemoUtilLongPress);
|
||||
|
||||
@@ -14,8 +14,6 @@ import "../../src/styles/polymer-ha-style";
|
||||
// eslint-disable-next-line import/extensions
|
||||
import { DEMOS } from "../build/import-demos";
|
||||
|
||||
const fixPath = (path) => path.substr(2, path.length - 5);
|
||||
|
||||
class HaGallery extends PolymerElement {
|
||||
static get template() {
|
||||
return html`
|
||||
|
||||
+16
-16
@@ -29,22 +29,22 @@
|
||||
"@fullcalendar/daygrid": "5.1.0",
|
||||
"@fullcalendar/interaction": "5.1.0",
|
||||
"@fullcalendar/list": "5.1.0",
|
||||
"@material/chips": "=8.0.0-canary.774dcfc8e.0",
|
||||
"@material/mwc-button": "^0.19.0",
|
||||
"@material/mwc-checkbox": "^0.19.0",
|
||||
"@material/mwc-circular-progress": "^0.19.0",
|
||||
"@material/mwc-dialog": "^0.19.0",
|
||||
"@material/mwc-fab": "^0.19.0",
|
||||
"@material/mwc-formfield": "^0.19.0",
|
||||
"@material/mwc-icon-button": "^0.19.0",
|
||||
"@material/mwc-list": "^0.19.0",
|
||||
"@material/mwc-menu": "^0.19.0",
|
||||
"@material/mwc-radio": "^0.19.0",
|
||||
"@material/mwc-ripple": "^0.19.0",
|
||||
"@material/mwc-switch": "^0.19.0",
|
||||
"@material/mwc-tab": "^0.19.0",
|
||||
"@material/mwc-tab-bar": "^0.19.0",
|
||||
"@material/top-app-bar": "=8.0.0-canary.774dcfc8e.0",
|
||||
"@material/chips": "=9.0.0-canary.1c156d69d.0",
|
||||
"@material/mwc-button": "^0.20.0",
|
||||
"@material/mwc-checkbox": "^0.20.0",
|
||||
"@material/mwc-circular-progress": "^0.20.0",
|
||||
"@material/mwc-dialog": "^0.20.0",
|
||||
"@material/mwc-fab": "^0.20.0",
|
||||
"@material/mwc-formfield": "^0.20.0",
|
||||
"@material/mwc-icon-button": "^0.20.0",
|
||||
"@material/mwc-list": "^0.20.0",
|
||||
"@material/mwc-menu": "^0.20.0",
|
||||
"@material/mwc-radio": "^0.20.0",
|
||||
"@material/mwc-ripple": "^0.20.0",
|
||||
"@material/mwc-switch": "^0.20.0",
|
||||
"@material/mwc-tab": "^0.20.0",
|
||||
"@material/mwc-tab-bar": "^0.20.0",
|
||||
"@material/top-app-bar": "=9.0.0-canary.1c156d69d.0",
|
||||
"@mdi/js": "5.6.55",
|
||||
"@mdi/svg": "5.6.55",
|
||||
"@polymer/app-layout": "^3.0.2",
|
||||
|
||||
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
||||
|
||||
setup(
|
||||
name="home-assistant-frontend",
|
||||
version="20201229.1",
|
||||
version="20201229.0",
|
||||
description="The Home Assistant frontend",
|
||||
url="https://github.com/home-assistant/home-assistant-polymer",
|
||||
author="The Home Assistant Authors",
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
export const copyToClipboard = (str) => {
|
||||
export const copyToClipboard = async (str) => {
|
||||
if (navigator.clipboard) {
|
||||
navigator.clipboard.writeText(str);
|
||||
} else {
|
||||
const el = document.createElement("textarea");
|
||||
el.value = str;
|
||||
document.body.appendChild(el);
|
||||
el.select();
|
||||
document.execCommand("copy");
|
||||
document.body.removeChild(el);
|
||||
try {
|
||||
await navigator.clipboard.writeText(str);
|
||||
return;
|
||||
} catch {
|
||||
// just continue with the fallback coding below
|
||||
}
|
||||
}
|
||||
|
||||
const el = document.createElement("textarea");
|
||||
el.value = str;
|
||||
document.body.appendChild(el);
|
||||
el.select();
|
||||
document.execCommand("copy");
|
||||
document.body.removeChild(el);
|
||||
};
|
||||
|
||||
@@ -63,7 +63,7 @@ class HaAttributes extends LitElement {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.data-entry .value {
|
||||
max-width: 50%;
|
||||
max-width: 60%;
|
||||
overflow-wrap: break-word;
|
||||
text-align: right;
|
||||
}
|
||||
@@ -77,6 +77,9 @@ class HaAttributes extends LitElement {
|
||||
pre {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
margin: 0px;
|
||||
overflow-wrap: break-word;
|
||||
white-space: pre-line;
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
@@ -148,6 +148,11 @@ export interface CustomActionConfig extends BaseActionConfig {
|
||||
action: "fire-dom-event";
|
||||
}
|
||||
|
||||
export interface MultipleActionConfig extends BaseActionConfig {
|
||||
action: "multiple";
|
||||
actions: ActionConfig[];
|
||||
}
|
||||
|
||||
export interface BaseActionConfig {
|
||||
confirmation?: ConfirmationRestrictionConfig;
|
||||
}
|
||||
@@ -168,7 +173,8 @@ export type ActionConfig =
|
||||
| UrlActionConfig
|
||||
| MoreInfoActionConfig
|
||||
| NoActionConfig
|
||||
| CustomActionConfig;
|
||||
| CustomActionConfig
|
||||
| MultipleActionConfig;
|
||||
|
||||
type LovelaceUpdatedEvent = HassEventBase & {
|
||||
event_type: "lovelace_updated";
|
||||
|
||||
@@ -38,3 +38,12 @@ export const addItem = (
|
||||
type: "shopping_list/items/add",
|
||||
name,
|
||||
});
|
||||
|
||||
export const reorderItems = (
|
||||
hass: HomeAssistant,
|
||||
itemIds: [string]
|
||||
): Promise<ShoppingListItem> =>
|
||||
hass.callWS({
|
||||
type: "shopping_list/items/reorder",
|
||||
item_ids: itemIds,
|
||||
});
|
||||
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { UNAVAILABLE_STATES } from "../../../data/entity";
|
||||
|
||||
@customElement("more-info-counter")
|
||||
class MoreInfoCounter extends LitElement {
|
||||
@@ -22,21 +23,29 @@ class MoreInfoCounter extends LitElement {
|
||||
return html``;
|
||||
}
|
||||
|
||||
const disabled = UNAVAILABLE_STATES.includes(this.stateObj!.state);
|
||||
|
||||
return html`
|
||||
<div class="actions">
|
||||
<mwc-button
|
||||
.action="${"increment"}"
|
||||
@click="${this._handleActionClick}"
|
||||
@click=${this._handleActionClick}
|
||||
.disabled=${disabled}
|
||||
>
|
||||
${this.hass!.localize("ui.card.counter.actions.increment")}
|
||||
</mwc-button>
|
||||
<mwc-button
|
||||
.action="${"decrement"}"
|
||||
@click="${this._handleActionClick}"
|
||||
@click=${this._handleActionClick}
|
||||
.disabled=${disabled}
|
||||
>
|
||||
${this.hass!.localize("ui.card.counter.actions.decrement")}
|
||||
</mwc-button>
|
||||
<mwc-button .action="${"reset"}" @click="${this._handleActionClick}">
|
||||
<mwc-button
|
||||
.action="${"reset"}"
|
||||
@click=${this._handleActionClick}
|
||||
.disabled=${disabled}
|
||||
>
|
||||
${this.hass!.localize("ui.card.counter.actions.reset")}
|
||||
</mwc-button>
|
||||
</div>
|
||||
@@ -53,8 +62,7 @@ class MoreInfoCounter extends LitElement {
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
.actions {
|
||||
margin: 0;
|
||||
padding-top: 20px;
|
||||
margin: 8px 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
|
||||
@@ -75,7 +75,7 @@ class MoreInfoPerson extends LitElement {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.actions {
|
||||
margin: 36px 0 8px 0;
|
||||
margin: 8px 0;
|
||||
text-align: right;
|
||||
}
|
||||
ha-map {
|
||||
|
||||
@@ -76,8 +76,7 @@ class MoreInfoTimer extends LitElement {
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
.actions {
|
||||
margin: 0;
|
||||
padding-top: 20px;
|
||||
margin: 8px 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
|
||||
@@ -15,12 +15,14 @@ import {
|
||||
LitElement,
|
||||
property,
|
||||
PropertyValues,
|
||||
query,
|
||||
} from "lit-element";
|
||||
import { dynamicElement } from "../../../../common/dom/dynamic-element-directive";
|
||||
import { fireEvent } from "../../../../common/dom/fire_event";
|
||||
import "../../../../components/ha-button-menu";
|
||||
import "../../../../components/ha-card";
|
||||
import "../../../../components/ha-svg-icon";
|
||||
import type { HaYamlEditor } from "../../../../components/ha-yaml-editor";
|
||||
import type { Action } from "../../../../data/script";
|
||||
import { showConfirmationDialog } from "../../../../dialogs/generic/show-dialog-box";
|
||||
import { haStyle } from "../../../../resources/styles";
|
||||
@@ -103,6 +105,8 @@ export default class HaAutomationActionRow extends LitElement {
|
||||
|
||||
@internalProperty() private _yamlMode = false;
|
||||
|
||||
@query("ha-yaml-editor") private _yamlEditor?: HaYamlEditor;
|
||||
|
||||
protected updated(changedProperties: PropertyValues) {
|
||||
if (!changedProperties.has("action")) {
|
||||
return;
|
||||
@@ -111,6 +115,10 @@ export default class HaAutomationActionRow extends LitElement {
|
||||
if (!this._uiModeAvailable && !this._yamlMode) {
|
||||
this._yamlMode = true;
|
||||
}
|
||||
|
||||
if (this._yamlMode && this._yamlEditor) {
|
||||
this._yamlEditor.setValue(this.action);
|
||||
}
|
||||
}
|
||||
|
||||
protected render() {
|
||||
@@ -187,7 +195,7 @@ export default class HaAutomationActionRow extends LitElement {
|
||||
<ul>
|
||||
${this._warnings.map((warning) => html`<li>${warning}</li>`)}
|
||||
</ul>
|
||||
You can still edit your config in yaml.
|
||||
You can still edit your config in YAML.
|
||||
</div>`
|
||||
: ""}
|
||||
${yamlMode
|
||||
|
||||
@@ -19,12 +19,12 @@ import type { HaYamlEditor } from "../../../../../components/ha-yaml-editor";
|
||||
import { ServiceAction } from "../../../../../data/script";
|
||||
import type { PolymerChangedEvent } from "../../../../../polymer-types";
|
||||
import type { HomeAssistant } from "../../../../../types";
|
||||
import { EntityId } from "../../../../lovelace/common/structs/is-entity-id";
|
||||
import { EntityIdOrAll } from "../../../../lovelace/common/structs/is-entity-id";
|
||||
import { ActionElement, handleChangeEvent } from "../ha-automation-action-row";
|
||||
|
||||
const actionStruct = object({
|
||||
service: optional(string()),
|
||||
entity_id: optional(EntityId),
|
||||
entity_id: optional(EntityIdOrAll),
|
||||
data: optional(any()),
|
||||
});
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ export class HaBlueprintAutomationEditor extends LitElement {
|
||||
.selector=${value.selector}
|
||||
.key=${key}
|
||||
.value=${(this.config.use_blueprint.input &&
|
||||
this.config.use_blueprint.input[key]) ||
|
||||
this.config.use_blueprint.input[key]) ??
|
||||
value?.default}
|
||||
@value-changed=${this._inputChanged}
|
||||
></ha-selector>`
|
||||
|
||||
@@ -395,9 +395,12 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) {
|
||||
return cleanConfig;
|
||||
}
|
||||
|
||||
private async _copyYaml() {
|
||||
private async _copyYaml(): Promise<void> {
|
||||
if (this._editor?.yaml) {
|
||||
copyToClipboard(this._editor.yaml);
|
||||
await copyToClipboard(this._editor.yaml);
|
||||
showToast(this, {
|
||||
message: this.hass.localize("ui.common.copied_clipboard"),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ class SystemHealthCard extends LitElement {
|
||||
});
|
||||
}
|
||||
|
||||
private _copyInfo(ev: CustomEvent<ActionDetail>): void {
|
||||
private async _copyInfo(ev: CustomEvent<ActionDetail>): Promise<void> {
|
||||
const github = ev.detail.index === 1;
|
||||
let haContent: string | undefined;
|
||||
const domainParts: string[] = [];
|
||||
@@ -250,13 +250,15 @@ class SystemHealthCard extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
copyToClipboard(
|
||||
await copyToClipboard(
|
||||
`${github ? "## " : ""}System Health\n${haContent}\n\n${domainParts.join(
|
||||
"\n\n"
|
||||
)}`
|
||||
);
|
||||
|
||||
showToast(this, { message: this.hass.localize("ui.common.copied") });
|
||||
showToast(this, {
|
||||
message: this.hass.localize("ui.common.copied_clipboard"),
|
||||
});
|
||||
}
|
||||
|
||||
static get styles(): CSSResult {
|
||||
|
||||
@@ -141,11 +141,15 @@ class OZWNodeDashboard extends LitElement {
|
||||
${this._metadata.metadata.ResetHelp}
|
||||
</div>
|
||||
</ha-card>
|
||||
<ha-card class="content" header="WakeUp">
|
||||
<div class="card-content">
|
||||
${this._metadata.metadata.WakeupHelp}
|
||||
</div>
|
||||
</ha-card>
|
||||
${this._metadata.metadata.WakeupHelp
|
||||
? html`
|
||||
<ha-card class="content" header="WakeUp">
|
||||
<div class="card-content">
|
||||
${this._metadata.metadata.WakeupHelp}
|
||||
</div>
|
||||
</ha-card>
|
||||
`
|
||||
: ``}
|
||||
`
|
||||
: ``}
|
||||
`
|
||||
@@ -199,6 +203,10 @@ class OZWNodeDashboard extends LitElement {
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
.content:last-child {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.sectionHeader {
|
||||
position: relative;
|
||||
padding-right: 40px;
|
||||
|
||||
+5
-7
@@ -49,19 +49,17 @@ class ZHADevicePairingStatusCard extends LitElement {
|
||||
class="discovered ${classMap({
|
||||
initialized: this.device.pairing_status === INITIALIZED,
|
||||
})}"
|
||||
><div
|
||||
class="header"
|
||||
>
|
||||
<h1>
|
||||
><div class="header">
|
||||
<h4>
|
||||
${this.hass!.localize(
|
||||
`ui.panel.config.zha.device_pairing_card.${this.device.pairing_status}`
|
||||
)}
|
||||
</h1>
|
||||
<h4>
|
||||
</h4>
|
||||
<h1>
|
||||
${this.hass!.localize(
|
||||
`ui.panel.config.zha.device_pairing_card.${this.device.pairing_status}_status_text`
|
||||
)}
|
||||
</h4>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
${[INTERVIEW_COMPLETE, CONFIGURED].includes(
|
||||
|
||||
+120
-4
@@ -15,6 +15,12 @@ import { fetchDevices, ZHADevice } from "../../../../../data/zha";
|
||||
import "../../../../../layouts/hass-subpage";
|
||||
import type { HomeAssistant } from "../../../../../types";
|
||||
import { Network, Edge, Node, EdgeOptions } from "vis-network";
|
||||
import "../../../../../common/search/search-input";
|
||||
import "../../../../../components/ha-button-menu";
|
||||
import "../../../../../components/device/ha-device-picker";
|
||||
import "../../../../../components/ha-svg-icon";
|
||||
import { formatAsPaddedHex } from "./functions";
|
||||
import { PolymerChangedEvent } from "../../../../../polymer-types";
|
||||
|
||||
@customElement("zha-network-visualization-page")
|
||||
export class ZHANetworkVisualizationPage extends LitElement {
|
||||
@@ -28,9 +34,21 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
@internalProperty()
|
||||
private _devices: Map<string, ZHADevice> = new Map();
|
||||
|
||||
@internalProperty()
|
||||
private _devicesByDeviceId: Map<string, ZHADevice> = new Map();
|
||||
|
||||
@internalProperty()
|
||||
private _nodes: Node[] = [];
|
||||
|
||||
@internalProperty()
|
||||
private _network?: Network;
|
||||
|
||||
@internalProperty()
|
||||
private _filter?: string;
|
||||
|
||||
@internalProperty()
|
||||
private _zoomedDeviceId?: string;
|
||||
|
||||
protected firstUpdated(changedProperties: PropertyValues): void {
|
||||
super.firstUpdated(changedProperties);
|
||||
if (this.hass) {
|
||||
@@ -91,6 +109,27 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
"ui.panel.config.zha.visualization.header"
|
||||
)}
|
||||
>
|
||||
<div class="table-header">
|
||||
<search-input
|
||||
no-label-float
|
||||
no-underline
|
||||
@value-changed=${this._handleSearchChange}
|
||||
.filter=${this._filter}
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.config.zha.visualization.highlight_label"
|
||||
)}
|
||||
>
|
||||
</search-input>
|
||||
<ha-device-picker
|
||||
.hass=${this.hass}
|
||||
.value=${this._zoomedDeviceId}
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.config.zha.visualization.zoom_label"
|
||||
)}
|
||||
.includeDomains="['zha']"
|
||||
@value-changed=${this._zoomToDevice}
|
||||
></ha-device-picker>
|
||||
</div>
|
||||
<div id="visualization"></div>
|
||||
</hass-subpage>
|
||||
`;
|
||||
@@ -101,15 +140,18 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
this._devices = new Map(
|
||||
devices.map((device: ZHADevice) => [device.ieee, device])
|
||||
);
|
||||
this._devicesByDeviceId = new Map(
|
||||
devices.map((device: ZHADevice) => [device.device_reg_id, device])
|
||||
);
|
||||
this._updateDevices(devices);
|
||||
}
|
||||
|
||||
private _updateDevices(devices: ZHADevice[]) {
|
||||
const nodes: Node[] = [];
|
||||
this._nodes = [];
|
||||
const edges: Edge[] = [];
|
||||
|
||||
devices.forEach((device) => {
|
||||
nodes.push({
|
||||
this._nodes.push({
|
||||
id: device.ieee,
|
||||
label: this._buildLabel(device),
|
||||
shape: this._getShape(device),
|
||||
@@ -137,7 +179,7 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
}
|
||||
});
|
||||
|
||||
this._network?.setData({ nodes: nodes, edges: edges });
|
||||
this._network?.setData({ nodes: this._nodes, edges: edges });
|
||||
}
|
||||
|
||||
private _getLQI(lqi: number): EdgeOptions["color"] {
|
||||
@@ -181,7 +223,7 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
label += `<b>IEEE: </b>${device.ieee}`;
|
||||
label += `\n<b>Device Type: </b>${device.device_type.replace("_", " ")}`;
|
||||
if (device.nwk != null) {
|
||||
label += `\n<b>NWK: </b>${device.nwk}`;
|
||||
label += `\n<b>NWK: </b>${formatAsPaddedHex(device.nwk)}`;
|
||||
}
|
||||
if (device.manufacturer != null && device.model != null) {
|
||||
label += `\n<b>Device: </b>${device.manufacturer} ${device.model}`;
|
||||
@@ -194,6 +236,56 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
return label;
|
||||
}
|
||||
|
||||
private _handleSearchChange(ev: CustomEvent) {
|
||||
this._filter = ev.detail.value;
|
||||
const filterText = this._filter!.toLowerCase();
|
||||
if (!this._network) {
|
||||
return;
|
||||
}
|
||||
if (this._filter) {
|
||||
const filteredNodeIds: (string | number)[] = [];
|
||||
this._nodes.forEach((node) => {
|
||||
if (node.label && node.label.toLowerCase().includes(filterText)) {
|
||||
filteredNodeIds.push(node.id!);
|
||||
}
|
||||
});
|
||||
this._zoomedDeviceId = "";
|
||||
this._zoomOut();
|
||||
this._network.selectNodes(filteredNodeIds, true);
|
||||
} else {
|
||||
this._network.unselectAll();
|
||||
}
|
||||
}
|
||||
|
||||
private _zoomToDevice(event: PolymerChangedEvent<string>) {
|
||||
event.stopPropagation();
|
||||
this._zoomedDeviceId = event.detail.value;
|
||||
if (!this._network) {
|
||||
return;
|
||||
}
|
||||
this._filter = "";
|
||||
if (!this._zoomedDeviceId) {
|
||||
this._zoomOut();
|
||||
} else {
|
||||
const device: ZHADevice | undefined = this._devicesByDeviceId.get(
|
||||
this._zoomedDeviceId
|
||||
);
|
||||
if (device) {
|
||||
this._network.fit({
|
||||
nodes: [device.ieee],
|
||||
animation: { duration: 500, easingFunction: "easeInQuad" },
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private _zoomOut() {
|
||||
this._network!.fit({
|
||||
nodes: [],
|
||||
animation: { duration: 500, easingFunction: "easeOutQuad" },
|
||||
});
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
css`
|
||||
@@ -208,6 +300,30 @@ export class ZHANetworkVisualizationPage extends LitElement {
|
||||
line-height: var(--paper-font-display1_-_line-height);
|
||||
opacity: var(--dark-primary-opacity);
|
||||
}
|
||||
.table-header {
|
||||
border-bottom: 1px solid --divider-color;
|
||||
padding: 0 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: var(--header-height);
|
||||
}
|
||||
.search-toolbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: var(--secondary-text-color);
|
||||
padding: 0 16px;
|
||||
}
|
||||
search-input {
|
||||
position: relative;
|
||||
top: 2px;
|
||||
flex: 1;
|
||||
}
|
||||
search-input.header {
|
||||
left: -8px;
|
||||
}
|
||||
ha-device-picker {
|
||||
flex: 1;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ import "../../../components/ha-header-bar";
|
||||
import "@material/mwc-icon-button/mwc-icon-button";
|
||||
import { mdiContentCopy, mdiClose } from "@mdi/js";
|
||||
import "@polymer/paper-tooltip/paper-tooltip";
|
||||
import type { PaperTooltipElement } from "@polymer/paper-tooltip/paper-tooltip";
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
@@ -10,10 +9,10 @@ import {
|
||||
internalProperty,
|
||||
LitElement,
|
||||
property,
|
||||
query,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { copyToClipboard } from "../../../common/util/copy-clipboard";
|
||||
import "../../../components/ha-dialog";
|
||||
import "../../../components/ha-svg-icon";
|
||||
import {
|
||||
@@ -27,6 +26,7 @@ import { haStyleDialog } from "../../../resources/styles";
|
||||
import type { HomeAssistant } from "../../../types";
|
||||
import type { SystemLogDetailDialogParams } from "./show-dialog-system-log-detail";
|
||||
import { formatSystemLogTime } from "./util";
|
||||
import { showToast } from "../../../util/toast";
|
||||
|
||||
class DialogSystemLogDetail extends LitElement {
|
||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||
@@ -35,8 +35,6 @@ class DialogSystemLogDetail extends LitElement {
|
||||
|
||||
@internalProperty() private _manifest?: IntegrationManifest;
|
||||
|
||||
@query("paper-tooltip") private _toolTip?: PaperTooltipElement;
|
||||
|
||||
public async showDialog(params: SystemLogDetailDialogParams): Promise<void> {
|
||||
this._params = params;
|
||||
this._manifest = undefined;
|
||||
@@ -83,15 +81,6 @@ class DialogSystemLogDetail extends LitElement {
|
||||
<mwc-icon-button id="copy" @click=${this._copyLog} slot="actionItems">
|
||||
<ha-svg-icon .path=${mdiContentCopy}></ha-svg-icon>
|
||||
</mwc-icon-button>
|
||||
<paper-tooltip
|
||||
slot="actionItems"
|
||||
manual-mode
|
||||
for="copy"
|
||||
position="left"
|
||||
animation-delay="0"
|
||||
offset="4"
|
||||
>${this.hass.localize("ui.common.copied")}</paper-tooltip
|
||||
>
|
||||
</ha-header-bar>
|
||||
<div class="contents">
|
||||
<p>
|
||||
@@ -162,23 +151,15 @@ class DialogSystemLogDetail extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
private _copyLog(): void {
|
||||
private async _copyLog(): Promise<void> {
|
||||
const copyElement = this.shadowRoot?.querySelector(
|
||||
".contents"
|
||||
) as HTMLElement;
|
||||
|
||||
const selection = window.getSelection()!;
|
||||
const range = document.createRange();
|
||||
|
||||
range.selectNodeContents(copyElement);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
document.execCommand("copy");
|
||||
window.getSelection()!.removeAllRanges();
|
||||
|
||||
this._toolTip!.show();
|
||||
setTimeout(() => this._toolTip?.hide(), 3000);
|
||||
await copyToClipboard(copyElement.innerText);
|
||||
showToast(this, {
|
||||
message: this.hass.localize("ui.common.copied_clipboard"),
|
||||
});
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
|
||||
@@ -544,9 +544,12 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) {
|
||||
return this._config;
|
||||
}
|
||||
|
||||
private async _copyYaml() {
|
||||
private async _copyYaml(): Promise<void> {
|
||||
if (this._editor?.yaml) {
|
||||
copyToClipboard(this._editor.yaml);
|
||||
await copyToClipboard(this._editor.yaml);
|
||||
showToast(this, {
|
||||
message: this.hass.localize("ui.common.copied_clipboard"),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -119,27 +119,21 @@ class HaPanelHistory extends LitElement {
|
||||
todayEnd.setDate(todayEnd.getDate() + 1);
|
||||
todayEnd.setMilliseconds(todayEnd.getMilliseconds() - 1);
|
||||
|
||||
const todayCopy = new Date(today);
|
||||
|
||||
const yesterday = new Date(todayCopy.setDate(today.getDate() - 1));
|
||||
const yesterdayEnd = new Date(yesterday);
|
||||
yesterdayEnd.setDate(yesterdayEnd.getDate() + 1);
|
||||
const yesterday = new Date(today);
|
||||
yesterday.setDate(today.getDate() - 1);
|
||||
const yesterdayEnd = new Date(today);
|
||||
yesterdayEnd.setMilliseconds(yesterdayEnd.getMilliseconds() - 1);
|
||||
|
||||
const thisWeekStart = new Date(
|
||||
todayCopy.setDate(today.getDate() - today.getDay())
|
||||
);
|
||||
const thisWeekEnd = new Date(
|
||||
todayCopy.setDate(thisWeekStart.getDate() + 7)
|
||||
);
|
||||
const thisWeekStart = new Date(today);
|
||||
thisWeekStart.setDate(today.getDate() - today.getDay());
|
||||
const thisWeekEnd = new Date(thisWeekStart);
|
||||
thisWeekEnd.setDate(thisWeekStart.getDate() + 7);
|
||||
thisWeekEnd.setMilliseconds(thisWeekEnd.getMilliseconds() - 1);
|
||||
|
||||
const lastWeekStart = new Date(
|
||||
todayCopy.setDate(today.getDate() - today.getDay() - 7)
|
||||
);
|
||||
const lastWeekEnd = new Date(
|
||||
todayCopy.setDate(lastWeekStart.getDate() + 7)
|
||||
);
|
||||
const lastWeekStart = new Date(today);
|
||||
lastWeekStart.setDate(today.getDate() - today.getDay() - 7);
|
||||
const lastWeekEnd = new Date(lastWeekStart);
|
||||
lastWeekEnd.setDate(lastWeekStart.getDate() + 7);
|
||||
lastWeekEnd.setMilliseconds(lastWeekEnd.getMilliseconds() - 1);
|
||||
|
||||
this._ranges = {
|
||||
|
||||
@@ -24,7 +24,7 @@ class HaPanelIframe extends PolymerElement {
|
||||
|
||||
<iframe
|
||||
src="[[panel.config.url]]"
|
||||
sandbox="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts"
|
||||
sandbox="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts allow-modals"
|
||||
allowfullscreen="true"
|
||||
webkitallowfullscreen="true"
|
||||
mozallowfullscreen="true"
|
||||
|
||||
@@ -147,27 +147,21 @@ export class HaPanelLogbook extends LitElement {
|
||||
todayEnd.setDate(todayEnd.getDate() + 1);
|
||||
todayEnd.setMilliseconds(todayEnd.getMilliseconds() - 1);
|
||||
|
||||
const todayCopy = new Date(today);
|
||||
|
||||
const yesterday = new Date(todayCopy.setDate(today.getDate() - 1));
|
||||
const yesterdayEnd = new Date(yesterday);
|
||||
yesterdayEnd.setDate(yesterdayEnd.getDate() + 1);
|
||||
const yesterday = new Date(today);
|
||||
yesterday.setDate(today.getDate() - 1);
|
||||
const yesterdayEnd = new Date(today);
|
||||
yesterdayEnd.setMilliseconds(yesterdayEnd.getMilliseconds() - 1);
|
||||
|
||||
const thisWeekStart = new Date(
|
||||
todayCopy.setDate(today.getDate() - today.getDay())
|
||||
);
|
||||
const thisWeekEnd = new Date(
|
||||
todayCopy.setDate(thisWeekStart.getDate() + 7)
|
||||
);
|
||||
const thisWeekStart = new Date(today);
|
||||
thisWeekStart.setDate(today.getDate() - today.getDay());
|
||||
const thisWeekEnd = new Date(thisWeekStart);
|
||||
thisWeekEnd.setDate(thisWeekStart.getDate() + 7);
|
||||
thisWeekEnd.setMilliseconds(thisWeekEnd.getMilliseconds() - 1);
|
||||
|
||||
const lastWeekStart = new Date(
|
||||
todayCopy.setDate(today.getDate() - today.getDay() - 7)
|
||||
);
|
||||
const lastWeekEnd = new Date(
|
||||
todayCopy.setDate(lastWeekStart.getDate() + 7)
|
||||
);
|
||||
const lastWeekStart = new Date(today);
|
||||
lastWeekStart.setDate(today.getDate() - today.getDay() - 7);
|
||||
const lastWeekEnd = new Date(lastWeekStart);
|
||||
lastWeekEnd.setDate(lastWeekStart.getDate() + 7);
|
||||
lastWeekEnd.setMilliseconds(lastWeekEnd.getMilliseconds() - 1);
|
||||
|
||||
this._ranges = {
|
||||
|
||||
@@ -122,12 +122,14 @@ class HuiGaugeCard extends LitElement implements LovelaceCard {
|
||||
`;
|
||||
}
|
||||
|
||||
// Use `stateObj.state` as value to keep formatting (e.g trailing zeros)
|
||||
// for consistent value display across gauge, entity, entity-row, etc.
|
||||
return html`
|
||||
<ha-card @click=${this._handleClick} tabindex="0">
|
||||
<ha-gauge
|
||||
.min=${this._config.min!}
|
||||
.max=${this._config.max!}
|
||||
.value=${state}
|
||||
.value=${stateObj.state}
|
||||
.language=${this.hass!.language}
|
||||
.label=${this._config!.unit ||
|
||||
this.hass?.states[this._config!.entity].attributes
|
||||
|
||||
@@ -11,9 +11,12 @@ import {
|
||||
property,
|
||||
PropertyValues,
|
||||
TemplateResult,
|
||||
query,
|
||||
} from "lit-element";
|
||||
import { classMap } from "lit-html/directives/class-map";
|
||||
import { repeat } from "lit-html/directives/repeat";
|
||||
import { guard } from "lit-html/directives/guard";
|
||||
import { mdiDrag, mdiSort, mdiPlus, mdiNotificationClearAll } from "@mdi/js";
|
||||
import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element";
|
||||
import "../../../components/ha-card";
|
||||
import "../../../components/ha-icon";
|
||||
@@ -23,12 +26,15 @@ import {
|
||||
fetchItems,
|
||||
ShoppingListItem,
|
||||
updateItem,
|
||||
reorderItems,
|
||||
} from "../../../data/shopping-list";
|
||||
import { SubscribeMixin } from "../../../mixins/subscribe-mixin";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { LovelaceCard, LovelaceCardEditor } from "../types";
|
||||
import { SensorCardConfig, ShoppingListCardConfig } from "./types";
|
||||
|
||||
let Sortable;
|
||||
|
||||
@customElement("hui-shopping-list-card")
|
||||
class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
implements LovelaceCard {
|
||||
@@ -49,6 +55,14 @@ class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
|
||||
@internalProperty() private _checkedItems?: ShoppingListItem[];
|
||||
|
||||
@internalProperty() private _reordering = false;
|
||||
|
||||
@internalProperty() private _renderEmptySortable = false;
|
||||
|
||||
private _sortable?;
|
||||
|
||||
@query("#sortable") private _sortableEl?: HTMLElement;
|
||||
|
||||
public getCardSize(): number {
|
||||
return (this._config ? (this._config.title ? 2 : 0) : 0) + 3;
|
||||
}
|
||||
@@ -101,15 +115,15 @@ class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
})}
|
||||
>
|
||||
<div class="addRow">
|
||||
<ha-icon
|
||||
<ha-svg-icon
|
||||
class="addButton"
|
||||
icon="hass:plus"
|
||||
.path=${mdiPlus}
|
||||
.title=${this.hass!.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.add_item"
|
||||
)}
|
||||
@click=${this._addItem}
|
||||
>
|
||||
</ha-icon>
|
||||
</ha-svg-icon>
|
||||
<paper-input
|
||||
no-label-float
|
||||
class="addBox"
|
||||
@@ -118,28 +132,27 @@ class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
)}
|
||||
@keydown=${this._addKeyPress}
|
||||
></paper-input>
|
||||
<ha-svg-icon
|
||||
class="reorderButton"
|
||||
.path=${mdiSort}
|
||||
.title=${this.hass!.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.reorder_items"
|
||||
)}
|
||||
@click=${this._toggleReorder}
|
||||
>
|
||||
</ha-svg-icon>
|
||||
</div>
|
||||
${repeat(
|
||||
this._uncheckedItems!,
|
||||
(item) => item.id,
|
||||
(item) =>
|
||||
html`
|
||||
<div class="editRow">
|
||||
<paper-checkbox
|
||||
tabindex="0"
|
||||
?checked=${item.complete}
|
||||
.itemId=${item.id}
|
||||
@click=${this._completeItem}
|
||||
></paper-checkbox>
|
||||
<paper-input
|
||||
no-label-float
|
||||
.value=${item.name}
|
||||
.itemId=${item.id}
|
||||
@change=${this._saveEdit}
|
||||
></paper-input>
|
||||
${this._reordering
|
||||
? html`
|
||||
<div id="sortable">
|
||||
${guard([this._uncheckedItems, this._renderEmptySortable], () =>
|
||||
this._renderEmptySortable
|
||||
? ""
|
||||
: this._renderItems(this._uncheckedItems!)
|
||||
)}
|
||||
</div>
|
||||
`
|
||||
)}
|
||||
: this._renderItems(this._uncheckedItems!)}
|
||||
${this._checkedItems!.length > 0
|
||||
? html`
|
||||
<div class="divider"></div>
|
||||
@@ -149,16 +162,16 @@ class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
"ui.panel.lovelace.cards.shopping-list.checked_items"
|
||||
)}
|
||||
</span>
|
||||
<ha-icon
|
||||
<ha-svg-icon
|
||||
class="clearall"
|
||||
tabindex="0"
|
||||
icon="hass:notification-clear-all"
|
||||
.path=${mdiNotificationClearAll}
|
||||
.title=${this.hass!.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.clear_items"
|
||||
)}
|
||||
@click=${this._clearItems}
|
||||
>
|
||||
</ha-icon>
|
||||
</ha-svg-icon>
|
||||
</div>
|
||||
${repeat(
|
||||
this._checkedItems!,
|
||||
@@ -187,6 +200,44 @@ class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
`;
|
||||
}
|
||||
|
||||
private _renderItems(items: ShoppingListItem[]) {
|
||||
return html`
|
||||
${repeat(
|
||||
items,
|
||||
(item) => item.id,
|
||||
(item) =>
|
||||
html`
|
||||
<div class="editRow" item-id=${item.id}>
|
||||
<paper-checkbox
|
||||
tabindex="0"
|
||||
?checked=${item.complete}
|
||||
.itemId=${item.id}
|
||||
@click=${this._completeItem}
|
||||
></paper-checkbox>
|
||||
<paper-input
|
||||
no-label-float
|
||||
.value=${item.name}
|
||||
.itemId=${item.id}
|
||||
@change=${this._saveEdit}
|
||||
></paper-input>
|
||||
${this._reordering
|
||||
? html`
|
||||
<ha-svg-icon
|
||||
.title=${this.hass!.localize(
|
||||
"ui.panel.lovelace.cards.shopping-list.drag_and_drop"
|
||||
)}
|
||||
class="reorderButton"
|
||||
.path=${mdiDrag}
|
||||
>
|
||||
</ha-svg-icon>
|
||||
`
|
||||
: ""}
|
||||
</div>
|
||||
`
|
||||
)}
|
||||
`;
|
||||
}
|
||||
|
||||
private async _fetchData(): Promise<void> {
|
||||
if (!this.hass) {
|
||||
return;
|
||||
@@ -248,6 +299,54 @@ class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
}
|
||||
}
|
||||
|
||||
private async _toggleReorder() {
|
||||
if (!Sortable) {
|
||||
const sortableImport = await import(
|
||||
"sortablejs/modular/sortable.core.esm"
|
||||
);
|
||||
Sortable = sortableImport.Sortable;
|
||||
}
|
||||
this._reordering = !this._reordering;
|
||||
await this.updateComplete;
|
||||
if (this._reordering) {
|
||||
this._createSortable();
|
||||
} else {
|
||||
this._sortable?.destroy();
|
||||
this._sortable = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
private _createSortable() {
|
||||
const sortableEl = this._sortableEl;
|
||||
this._sortable = new Sortable(sortableEl, {
|
||||
animation: 150,
|
||||
fallbackClass: "sortable-fallback",
|
||||
dataIdAttr: "item-id",
|
||||
handle: "ha-svg-icon",
|
||||
onEnd: async (evt) => {
|
||||
// Since this is `onEnd` event, it's possible that
|
||||
// an item wa dragged away and was put back to its original position.
|
||||
if (evt.oldIndex !== evt.newIndex) {
|
||||
reorderItems(this.hass!, this._sortable.toArray()).catch(() =>
|
||||
this._fetchData()
|
||||
);
|
||||
// Move the shopping list item in memory.
|
||||
this._uncheckedItems!.splice(
|
||||
evt.newIndex,
|
||||
0,
|
||||
this._uncheckedItems!.splice(evt.oldIndex, 1)[0]
|
||||
);
|
||||
}
|
||||
this._renderEmptySortable = true;
|
||||
await this.updateComplete;
|
||||
while (sortableEl?.lastElementChild) {
|
||||
sortableEl.removeChild(sortableEl.lastElementChild);
|
||||
}
|
||||
this._renderEmptySortable = false;
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
static get styles(): CSSResult {
|
||||
return css`
|
||||
ha-card {
|
||||
@@ -278,6 +377,11 @@ class HuiShoppingListCard extends SubscribeMixin(LitElement)
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.reorderButton {
|
||||
padding-left: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
paper-checkbox {
|
||||
padding-left: 4px;
|
||||
padding-right: 20px;
|
||||
|
||||
@@ -4,6 +4,7 @@ import { forwardHaptic } from "../../../data/haptics";
|
||||
import { ActionConfig } from "../../../data/lovelace";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { toggleEntity } from "./entity/toggle-entity";
|
||||
import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box";
|
||||
|
||||
declare global {
|
||||
interface HASSDomEvents {
|
||||
@@ -11,7 +12,7 @@ declare global {
|
||||
}
|
||||
}
|
||||
|
||||
export const handleAction = (
|
||||
export const handleAction = async (
|
||||
node: HTMLElement,
|
||||
hass: HomeAssistant,
|
||||
config: {
|
||||
@@ -22,7 +23,7 @@ export const handleAction = (
|
||||
double_tap_action?: ActionConfig;
|
||||
},
|
||||
action: string
|
||||
): void => {
|
||||
): Promise<void> => {
|
||||
let actionConfig: ActionConfig | undefined;
|
||||
|
||||
if (action === "double_tap" && config.double_tap_action) {
|
||||
@@ -39,64 +40,78 @@ export const handleAction = (
|
||||
};
|
||||
}
|
||||
|
||||
if (
|
||||
actionConfig.confirmation &&
|
||||
(!actionConfig.confirmation.exemptions ||
|
||||
!actionConfig.confirmation.exemptions.some(
|
||||
(e) => e.user === hass!.user!.id
|
||||
))
|
||||
) {
|
||||
forwardHaptic("warning");
|
||||
const actionConfigs =
|
||||
actionConfig.action === "multiple"
|
||||
? Array.isArray(actionConfig.actions)
|
||||
? actionConfig.actions
|
||||
: [actionConfig.actions]
|
||||
: [actionConfig];
|
||||
|
||||
for await (actionConfig of actionConfigs) {
|
||||
if (
|
||||
!confirm(
|
||||
actionConfig.confirmation.text ||
|
||||
`Are you sure you want to ${actionConfig.action}?`
|
||||
)
|
||||
actionConfig.confirmation &&
|
||||
(!actionConfig.confirmation.exemptions ||
|
||||
!actionConfig.confirmation.exemptions.some(
|
||||
(e) => e.user === hass!.user!.id
|
||||
))
|
||||
) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
forwardHaptic("warning");
|
||||
|
||||
switch (actionConfig.action) {
|
||||
case "more-info": {
|
||||
if (config.entity || config.camera_image) {
|
||||
fireEvent(node, "hass-more-info", {
|
||||
entityId: config.entity ? config.entity : config.camera_image!,
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "navigate":
|
||||
if (actionConfig.navigation_path) {
|
||||
navigate(node, actionConfig.navigation_path);
|
||||
}
|
||||
break;
|
||||
case "url": {
|
||||
if (actionConfig.url_path) {
|
||||
window.open(actionConfig.url_path);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "toggle": {
|
||||
if (config.entity) {
|
||||
toggleEntity(hass, config.entity!);
|
||||
forwardHaptic("light");
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "call-service": {
|
||||
if (!actionConfig.service) {
|
||||
forwardHaptic("failure");
|
||||
if (
|
||||
!(await showConfirmationDialog(node, {
|
||||
text:
|
||||
actionConfig.confirmation.text ||
|
||||
hass.localize(
|
||||
"ui.panel.lovelace.cards.action_confirmation",
|
||||
"action",
|
||||
actionConfig.action
|
||||
),
|
||||
}))
|
||||
) {
|
||||
return;
|
||||
}
|
||||
const [domain, service] = actionConfig.service.split(".", 2);
|
||||
hass.callService(domain, service, actionConfig.service_data);
|
||||
forwardHaptic("light");
|
||||
break;
|
||||
}
|
||||
case "fire-dom-event": {
|
||||
fireEvent(node, "ll-custom", actionConfig);
|
||||
|
||||
switch (actionConfig.action) {
|
||||
case "more-info": {
|
||||
if (config.entity || config.camera_image) {
|
||||
fireEvent(node, "hass-more-info", {
|
||||
entityId: config.entity ? config.entity : config.camera_image!,
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "navigate":
|
||||
if (actionConfig.navigation_path) {
|
||||
navigate(node, actionConfig.navigation_path);
|
||||
}
|
||||
break;
|
||||
case "url": {
|
||||
if (actionConfig.url_path) {
|
||||
window.open(actionConfig.url_path);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "toggle": {
|
||||
if (config.entity) {
|
||||
toggleEntity(hass, config.entity!);
|
||||
forwardHaptic("light");
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "call-service": {
|
||||
if (!actionConfig.service) {
|
||||
forwardHaptic("failure");
|
||||
return;
|
||||
}
|
||||
const [domain, service] = actionConfig.service.split(".", 2);
|
||||
hass.callService(domain, service, actionConfig.service_data);
|
||||
forwardHaptic("light");
|
||||
break;
|
||||
}
|
||||
case "fire-dom-event": {
|
||||
fireEvent(node, "ll-custom", actionConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@ export const handleStructError = (err: Error): string[] => {
|
||||
for (const failure of err.failures()) {
|
||||
if (failure.type === "never") {
|
||||
errors.push(
|
||||
`Key "${failure.path[0]}" is not supported by the UI editor.`
|
||||
`Key "${failure.path.join(".")}" is not supported by the UI editor.`
|
||||
);
|
||||
} else {
|
||||
errors.push(
|
||||
|
||||
@@ -7,7 +7,7 @@ const isEntityId = (value: unknown, context: StructContext): StructResult => {
|
||||
if (!value.includes(".")) {
|
||||
return [
|
||||
context.fail({
|
||||
type: "entity id should be in the format 'domain.entity'",
|
||||
type: "Entity ID should be in the format 'domain.entity'",
|
||||
}),
|
||||
];
|
||||
}
|
||||
@@ -15,3 +15,16 @@ const isEntityId = (value: unknown, context: StructContext): StructResult => {
|
||||
};
|
||||
|
||||
export const EntityId = struct("entity-id", isEntityId);
|
||||
|
||||
const isEntityIdOrAll = (
|
||||
value: unknown,
|
||||
context: StructContext
|
||||
): StructResult => {
|
||||
if (typeof value === "string" && value === "all") {
|
||||
return true;
|
||||
}
|
||||
|
||||
return isEntityId(value, context);
|
||||
};
|
||||
|
||||
export const EntityIdOrAll = struct("entity-id-all", isEntityIdOrAll);
|
||||
|
||||
@@ -130,6 +130,15 @@ export class HuiActionEditor extends LitElement {
|
||||
</b>
|
||||
`
|
||||
: ""}
|
||||
${this.config?.action === "multiple"
|
||||
? html`
|
||||
<b>
|
||||
${this.hass!.localize(
|
||||
"ui.panel.lovelace.editor.action-editor.editor_multiple_actions"
|
||||
)}
|
||||
</b>
|
||||
`
|
||||
: ""}
|
||||
`;
|
||||
}
|
||||
|
||||
|
||||
@@ -164,7 +164,8 @@ class HuiGenericEntityRow extends LitElement {
|
||||
}
|
||||
.info {
|
||||
margin-left: 16px;
|
||||
flex: 1 0 60px;
|
||||
margin-right: 8px;
|
||||
flex: 1 0 30%;
|
||||
}
|
||||
.info,
|
||||
.info > * {
|
||||
@@ -181,7 +182,6 @@ class HuiGenericEntityRow extends LitElement {
|
||||
}
|
||||
.secondary,
|
||||
ha-relative-time {
|
||||
display: block;
|
||||
color: var(--secondary-text-color);
|
||||
}
|
||||
state-badge {
|
||||
|
||||
@@ -57,7 +57,9 @@ class HuiTimestampDisplay extends LitElement {
|
||||
}
|
||||
|
||||
if (isNaN(this.ts.getTime())) {
|
||||
return html` Invalid date `;
|
||||
return html`${this.hass.localize(
|
||||
"ui.panel.lovelace.components.timestamp-display.invalid"
|
||||
)}`;
|
||||
}
|
||||
|
||||
const format = this._format;
|
||||
@@ -68,7 +70,9 @@ class HuiTimestampDisplay extends LitElement {
|
||||
if (format in FORMATS) {
|
||||
return html` ${FORMATS[format](this.ts, this.hass.language)} `;
|
||||
}
|
||||
return html` Invalid format `;
|
||||
return html`${this.hass.localize(
|
||||
"ui.panel.lovelace.components.timestamp-display.invalid_format"
|
||||
)}`;
|
||||
}
|
||||
|
||||
protected updated(changedProperties: PropertyValues): void {
|
||||
|
||||
@@ -71,7 +71,7 @@ const DOMAIN_TO_ELEMENT_TYPE = {
|
||||
switch: "toggle",
|
||||
vacuum: "toggle",
|
||||
// Temporary. Once climate is rewritten,
|
||||
// water heater should get it's own row.
|
||||
// water heater should get its own row.
|
||||
water_heater: "climate",
|
||||
input_datetime: "input-datetime",
|
||||
weather: "weather",
|
||||
|
||||
@@ -46,6 +46,7 @@ const actions = [
|
||||
"url",
|
||||
"call-service",
|
||||
"none",
|
||||
"multiple",
|
||||
];
|
||||
|
||||
@customElement("hui-button-card-editor")
|
||||
|
||||
@@ -82,6 +82,7 @@ export class HuiLightCardEditor extends LitElement
|
||||
"url",
|
||||
"call-service",
|
||||
"none",
|
||||
"multiple",
|
||||
];
|
||||
|
||||
return html`
|
||||
|
||||
@@ -60,7 +60,7 @@ export class HuiPictureCardEditor extends LitElement
|
||||
return html``;
|
||||
}
|
||||
|
||||
const actions = ["navigate", "url", "call-service", "none"];
|
||||
const actions = ["navigate", "url", "call-service", "none", "multiple"];
|
||||
|
||||
return html`
|
||||
<div class="card-config">
|
||||
|
||||
@@ -104,7 +104,14 @@ export class HuiPictureEntityCardEditor extends LitElement
|
||||
return html``;
|
||||
}
|
||||
|
||||
const actions = ["more-info", "toggle", "navigate", "call-service", "none"];
|
||||
const actions = [
|
||||
"more-info",
|
||||
"toggle",
|
||||
"navigate",
|
||||
"call-service",
|
||||
"none",
|
||||
"multiple",
|
||||
];
|
||||
const views = ["auto", "live"];
|
||||
const dir = computeRTLDirection(this.hass!);
|
||||
|
||||
|
||||
@@ -108,7 +108,14 @@ export class HuiPictureGlanceCardEditor extends LitElement
|
||||
return html``;
|
||||
}
|
||||
|
||||
const actions = ["more-info", "toggle", "navigate", "call-service", "none"];
|
||||
const actions = [
|
||||
"more-info",
|
||||
"toggle",
|
||||
"navigate",
|
||||
"call-service",
|
||||
"none",
|
||||
"multiple",
|
||||
];
|
||||
const views = ["auto", "live"];
|
||||
|
||||
return html`
|
||||
|
||||
@@ -98,6 +98,7 @@ export const actionConfigStruct = object({
|
||||
url_path: optional(string()),
|
||||
service: optional(string()),
|
||||
service_data: optional(object()),
|
||||
actions: optional(array()),
|
||||
});
|
||||
|
||||
const buttonEntitiesRowConfigStruct = object({
|
||||
|
||||
@@ -48,9 +48,9 @@ export class HuiServiceButtonElement extends LitElement
|
||||
return html`
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
.domain="${this._domain}"
|
||||
.service="${this._service}"
|
||||
.serviceData="${this._config.service_data}"
|
||||
.domain=${this._domain}
|
||||
.service=${this._service}
|
||||
.serviceData=${this._config.service_data}
|
||||
>${this._config.title}</ha-call-service-button
|
||||
>
|
||||
`;
|
||||
|
||||
@@ -25,7 +25,7 @@ import { handleAction } from "../common/handle-action";
|
||||
import { UNAVAILABLE_STATES } from "../../../data/entity";
|
||||
|
||||
interface SensorEntityConfig extends EntitiesCardEntityConfig {
|
||||
format?: "relative" | "date" | "time" | "datetime";
|
||||
format?: "relative" | "total" | "date" | "time" | "datetime";
|
||||
}
|
||||
|
||||
@customElement("hui-sensor-entity-row")
|
||||
|
||||
@@ -291,7 +291,8 @@
|
||||
"successfully_saved": "Successfully saved",
|
||||
"successfully_deleted": "Successfully deleted",
|
||||
"error_required": "Required",
|
||||
"copied": "Copied"
|
||||
"copied": "Copied",
|
||||
"copied_clipboard": "Copied to clipboard"
|
||||
},
|
||||
"components": {
|
||||
"logbook": {
|
||||
@@ -2270,7 +2271,9 @@
|
||||
},
|
||||
"visualization": {
|
||||
"header": "Network Visualization",
|
||||
"caption": "Visualization"
|
||||
"caption": "Visualization",
|
||||
"highlight_label": "Highlight Devices",
|
||||
"zoom_label": "Zoom To Device"
|
||||
},
|
||||
"group_binding": {
|
||||
"header": "Group Binding",
|
||||
@@ -2389,6 +2392,7 @@
|
||||
"lovelace": {
|
||||
"cards": {
|
||||
"confirm_delete": "Are you sure you want to delete this card?",
|
||||
"action_confirmation": "Are you sure you want to exectue action \"{action}\"?",
|
||||
"empty_state": {
|
||||
"title": "Welcome Home",
|
||||
"no_devices": "This page allows you to control your devices, however it looks like you have no devices set up yet. Head to the integrations page to get started.",
|
||||
@@ -2400,7 +2404,9 @@
|
||||
"shopping-list": {
|
||||
"checked_items": "Checked items",
|
||||
"clear_items": "Clear checked items",
|
||||
"add_item": "Add item"
|
||||
"add_item": "Add item",
|
||||
"reorder_items": "Reorder items",
|
||||
"drag_and_drop": "Drag and drop"
|
||||
},
|
||||
"picture-elements": {
|
||||
"hold": "Hold:",
|
||||
@@ -2558,6 +2564,7 @@
|
||||
"action-editor": {
|
||||
"navigation_path": "Navigation Path",
|
||||
"url_path": "URL Path",
|
||||
"editor_multiple_actions": "Multiple actions can only be entered in the code editor",
|
||||
"editor_service_data": "Service data can only be entered in the code editor",
|
||||
"actions": {
|
||||
"default_action": "Default Action",
|
||||
@@ -2566,7 +2573,8 @@
|
||||
"toggle": "Toggle",
|
||||
"navigate": "Navigate",
|
||||
"url": "URL",
|
||||
"none": "No Action"
|
||||
"none": "No Action",
|
||||
"multiple": "Multiple actions"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
@@ -2833,6 +2841,12 @@
|
||||
"changed_toast": {
|
||||
"message": "The Lovelace UI configuration for this dashboard was updated. Refresh to see changes?"
|
||||
},
|
||||
"components": {
|
||||
"timestamp-display": {
|
||||
"invalid": "Invalid timestamp",
|
||||
"invalid_format": "Invalid display format"
|
||||
}
|
||||
},
|
||||
"reload_lovelace": "Reload UI"
|
||||
},
|
||||
"mailbox": {
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
"bg": {
|
||||
"nativeName": "Български"
|
||||
},
|
||||
"bn": {
|
||||
"nativeName": "বাংলা"
|
||||
},
|
||||
"bs": {
|
||||
"nativeName": "Bosanski"
|
||||
},
|
||||
|
||||
@@ -533,6 +533,8 @@
|
||||
"add_new": "Tilføj nyt område...",
|
||||
"area": "Område",
|
||||
"clear": "Ryd",
|
||||
"no_areas": "Du har ikke nogen områder",
|
||||
"no_match": "Ingen matchende områder fundet",
|
||||
"show_areas": "Vis områder"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
@@ -553,6 +555,7 @@
|
||||
"device": "Enhed",
|
||||
"no_area": "Intet område",
|
||||
"no_devices": "Du har ingen enheder",
|
||||
"no_match": "Ingen matchende enheder fundet",
|
||||
"show_devices": "Vis enheder",
|
||||
"toggle": "Til/fra"
|
||||
},
|
||||
@@ -563,6 +566,7 @@
|
||||
"entity-picker": {
|
||||
"clear": "Ryd",
|
||||
"entity": "Entitet",
|
||||
"no_match": "Ingen matchende entiteter fundet",
|
||||
"show_entities": "Vis entiteter"
|
||||
}
|
||||
},
|
||||
@@ -631,7 +635,10 @@
|
||||
},
|
||||
"target-picker": {
|
||||
"add_device_id": "Vælg enhed",
|
||||
"remove_device_id": "Fjern enhed"
|
||||
"add_entity_id": "Vælg entitet",
|
||||
"remove_area_id": "Fjern område",
|
||||
"remove_device_id": "Fjern enhed",
|
||||
"remove_entity_id": "Fjern entitet"
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Tilføj bruger",
|
||||
@@ -655,6 +662,7 @@
|
||||
"editor": {
|
||||
"confirm_delete": "Er du sikker på, at du vil slette denne post?",
|
||||
"delete": "Slet",
|
||||
"device_disabled": "Denne entitets enheden er deaktiveret.",
|
||||
"enabled_cause": "Deaktiveret af {cause}.",
|
||||
"enabled_description": "Deaktiverede entiteter tilføjes ikke til Home Assistant.",
|
||||
"enabled_label": "Aktivér entitet",
|
||||
@@ -663,6 +671,7 @@
|
||||
"icon_error": "Ikoner skal være i formatet 'præfiks:ikonnavn', fx. 'mdi:home'",
|
||||
"name": "Brugerdefineret navn",
|
||||
"note": "Bemærk: Dette virker muligvis ikke med alle integrationer endnu.",
|
||||
"open_device_settings": "Åbn enhedsindstillinger",
|
||||
"unavailable": "Denne entitet er ikke tilgængelig i øjeblikket.",
|
||||
"update": "Opdater"
|
||||
},
|
||||
@@ -715,6 +724,10 @@
|
||||
"yaml_not_editable": "Indstillingerne for denne entitet kan ikke redigeres fra brugerfladen. Det er kun entiteter, der er konfigureret fra brugerfladen, der kan konfigureres herfra."
|
||||
},
|
||||
"more_info_control": {
|
||||
"cover": {
|
||||
"close_cover": "Luk cover",
|
||||
"open_cover": "Åbn cover"
|
||||
},
|
||||
"details": "Detaljer",
|
||||
"dismiss": "Afvis dialog",
|
||||
"edit": "Rediger entitet",
|
||||
@@ -776,6 +789,16 @@
|
||||
},
|
||||
"quick-bar": {
|
||||
"commands": {
|
||||
"navigation": {
|
||||
"blueprint": "Tegninger",
|
||||
"core": "Generelt",
|
||||
"customize": "Tilpasninger",
|
||||
"entities": "Entiteter",
|
||||
"info": "Information",
|
||||
"server_control": "Serverstyring",
|
||||
"users": "Brugere",
|
||||
"zone": "Zoner"
|
||||
},
|
||||
"server_control": {
|
||||
"perform_action": "{action} server",
|
||||
"restart": "Genstart",
|
||||
@@ -892,6 +915,12 @@
|
||||
"caption": "Automatiseringer",
|
||||
"description": "Administrer automatiseringer",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Brug en tegning"
|
||||
},
|
||||
"header": "Opret en ny automatisering",
|
||||
"how": "Hvordan vil du oprette din nye automatisering?",
|
||||
"start_empty": "Start med en tom automatisering",
|
||||
"thingtalk": {
|
||||
"create": "Opret",
|
||||
"header": "Beskriv automationen du vil lave",
|
||||
@@ -973,6 +1002,13 @@
|
||||
"unsupported_action": "Ikke-understøttet handling: {action}"
|
||||
},
|
||||
"alias": "Navn",
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "Tegninger klar til brug",
|
||||
"header": "Tegninger",
|
||||
"inputs": "Indgange",
|
||||
"manage_blueprints": "Administrer tegninger",
|
||||
"no_blueprints": "Du har ingen tegninger"
|
||||
},
|
||||
"conditions": {
|
||||
"add": "Tilføj betingelse",
|
||||
"delete": "Slet",
|
||||
@@ -1190,14 +1226,22 @@
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"community_forums": "Fællesskabsfora",
|
||||
"file_name": "Tegningssti",
|
||||
"import_introduction": "Du kan importere skabeloner af andre brugere fra Github og {community_link} . Indtast URL'en til skabelonen nedenfor.",
|
||||
"import_introduction_link": "Du kan importere tegninger af andre brugere fra Github og {community_link} . Indtast webadressen til tegningen nedenfor."
|
||||
"import_introduction_link": "Du kan importere tegninger af andre brugere fra Github og {community_link} . Indtast webadressen til tegningen nedenfor.",
|
||||
"raw_blueprint": "Tegningsindhold",
|
||||
"unsupported_blueprint": "Denne tegning understøttes ikke"
|
||||
},
|
||||
"overview": {
|
||||
"add_blueprint": "Importer tegning",
|
||||
"delete_blueprint": "Slet tegning",
|
||||
"discover_more": "Find flere tegninger",
|
||||
"headers": {
|
||||
"domain": "Domæne",
|
||||
"file_name": "Filnavn"
|
||||
}
|
||||
},
|
||||
"use_blueprint": "Opret automation"
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
@@ -1448,9 +1492,12 @@
|
||||
"device_not_found": "Enhed blev ikke fundet.",
|
||||
"disabled": "Deaktiveret",
|
||||
"disabled_by": {
|
||||
"config_entry": "Konfigurationsparameter",
|
||||
"integration": "Integration",
|
||||
"user": "Bruger"
|
||||
},
|
||||
"enabled_cause": "Enheden er deaktiveret pga. {cause} .",
|
||||
"enabled_description": "Deaktiverede enheder vises ikke, og entiteter, der hører til enheden, deaktiveres og tilføjes ikke til Home Assistant.",
|
||||
"enabled_label": "Aktiver enhed",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Tilføj til Lovelace",
|
||||
@@ -1570,6 +1617,7 @@
|
||||
"info": {
|
||||
"built_using": "Bygget ved hjælp af",
|
||||
"caption": "Oplysninger",
|
||||
"copy_github": "Til GitHub",
|
||||
"copy_raw": "Rå tekst",
|
||||
"custom_uis": "Tilpassede brugergrænseflader:",
|
||||
"description": "Se oplysninger om din Home Assistant-installation",
|
||||
@@ -1987,6 +2035,7 @@
|
||||
"editor": {
|
||||
"activate_user": "Aktivér bruger",
|
||||
"active": "Aktiv",
|
||||
"active_tooltip": "Kontrollerer, om brugeren kan logge ind",
|
||||
"admin": "Administrator",
|
||||
"caption": "Vis bruger",
|
||||
"change_password": "Skift adgangskode",
|
||||
@@ -2007,6 +2056,7 @@
|
||||
"username": "Brugernavn"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Tilføj bruger",
|
||||
"headers": {
|
||||
"group": "Gruppe",
|
||||
"is_active": "Aktiv",
|
||||
@@ -2066,7 +2116,14 @@
|
||||
},
|
||||
"description": "Zigbee Home Automation-opsætning",
|
||||
"device_pairing_card": {
|
||||
"INITIALIZED_status_text": "Enheden er klar til brug"
|
||||
"CONFIGURED": "Konfiguration fuldført",
|
||||
"CONFIGURED_status_text": "Initialiserer",
|
||||
"INITIALIZED": "Initialiseringen er fuldført",
|
||||
"INITIALIZED_status_text": "Enheden er klar til brug",
|
||||
"INTERVIEW_COMPLETE": "Interview fuldført",
|
||||
"INTERVIEW_COMPLETE_status_text": "Konfigurerer",
|
||||
"PAIRED": "Enhed fundet",
|
||||
"PAIRED_status_text": "Starter Interview"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Enhed"
|
||||
@@ -2126,7 +2183,11 @@
|
||||
"hint_wakeup": "Nogle enheder som Xiaomi-sensorer har en vækkeknap, som du kan trykke på med ~5 sekunders intervaller, der holder enheder vågne, mens du interagerer med dem.",
|
||||
"introduction": "Kør ZHA-kommandoer, der påvirker en enkelt enhed. Vælg en enhed for at se en liste over tilgængelige kommandoer."
|
||||
},
|
||||
"title": "Zigbee Home Automation"
|
||||
"title": "Zigbee Home Automation",
|
||||
"visualization": {
|
||||
"caption": "Visualisering",
|
||||
"header": "Netværksvisualisering"
|
||||
}
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "Tilføj zone",
|
||||
@@ -2295,6 +2356,8 @@
|
||||
"filter_attributes": "Filtrer egenskaber",
|
||||
"filter_entities": "Filtrer entiteter",
|
||||
"filter_states": "Filtrer tilstande",
|
||||
"last_changed": "Senest ændret",
|
||||
"last_updated": "Senest opdateret",
|
||||
"more_info": "Mere information",
|
||||
"no_entities": "Ingen entiteter",
|
||||
"set_state": "Sæt tilstand",
|
||||
@@ -2491,6 +2554,9 @@
|
||||
"description": "Lys-kortet giver dig mulighed for at ændre lysets lysstyrke.",
|
||||
"name": "Lys"
|
||||
},
|
||||
"logbook": {
|
||||
"name": "Logbog"
|
||||
},
|
||||
"map": {
|
||||
"dark_mode": "Mørk tilstand?",
|
||||
"default_zoom": "Standard-zoom",
|
||||
@@ -2519,7 +2585,8 @@
|
||||
},
|
||||
"picture-glance": {
|
||||
"description": "Billedblik-kortet viser et billede og den tilsvarende entitetstilstand som et ikon. Entiteterne på højre side tillader at skifte handlinger, andre viser dialogboksen for mere information.",
|
||||
"name": "Billedblik"
|
||||
"name": "Billedblik",
|
||||
"state_entity": "Entitet status"
|
||||
},
|
||||
"picture": {
|
||||
"description": "Billedkortet giver dig mulighed for at indstille et billede, der skal bruges til navigation til forskellige stier i brugerfladen eller til at kalde en tjeneste.",
|
||||
@@ -2883,10 +2950,13 @@
|
||||
"change_password": {
|
||||
"confirm_new_password": "Bekræft ny adgangskode",
|
||||
"current_password": "Nuværende adgangskode",
|
||||
"error_new_is_old": "Ny adgangskode skal være forskellig fra den aktuelle adgangskode",
|
||||
"error_new_mismatch": "Indtastede nye adgangskoder er ikke ens",
|
||||
"error_required": "Påkrævet",
|
||||
"header": "Skift adgangskode",
|
||||
"new_password": "Ny adgangskode",
|
||||
"submit": "Indsend"
|
||||
"submit": "Indsend",
|
||||
"success": "Adgangskoden blev ændret"
|
||||
},
|
||||
"current_user": "Du er logget ind som {fullName}.",
|
||||
"customize_sidebar": {
|
||||
|
||||
@@ -706,11 +706,11 @@
|
||||
"never": "Noch nie",
|
||||
"past": "Vor {time}",
|
||||
"past_duration": {
|
||||
"day": "vor {count} {count, plural,\n one {Tag}\n other {Tagen}\n}",
|
||||
"hour": "vor {count} {count, plural,\n one {Stunde}\n other {Stunden}\n}",
|
||||
"minute": "vor {count} {count, plural,\n one {Minute}\n other {Minuten}\n}",
|
||||
"second": "vor {count} {count, plural,\n one {Sekunde}\n other {Sekunden}\n}",
|
||||
"week": "vor {count} {count, plural,\n one {Woche}\n other {Wochen}\n}"
|
||||
"day": "Vor {count} {count, plural,\n one {Tag}\n other {Tagen}\n}",
|
||||
"hour": "Vor {count} {count, plural,\n one {Stunde}\n other {Stunden}\n}",
|
||||
"minute": "Vor {count} {count, plural,\n one {Minute}\n other {Minuten}\n}",
|
||||
"second": "Vor {count} {count, plural,\n one {Sekunde}\n other {Sekunden}\n}",
|
||||
"week": "Vor {count} {count, plural,\n one {Woche}\n other {Wochen}\n}"
|
||||
}
|
||||
},
|
||||
"service-picker": {
|
||||
@@ -2139,7 +2139,7 @@
|
||||
},
|
||||
"network": {
|
||||
"header": "Netzwerkverwaltung",
|
||||
"introduction": "Verwalten netzwerkweiter Funktionen.",
|
||||
"introduction": "Verwalten der Netzwerk-Funktionen.",
|
||||
"node_count": "{count} Knoten"
|
||||
},
|
||||
"node_config": {
|
||||
@@ -2358,9 +2358,9 @@
|
||||
"min_max": "Min/Max-Entitäten neu laden",
|
||||
"mqtt": "Lade manuell konfigurierte MQTT-Entitäten neu",
|
||||
"person": "Personen neu laden",
|
||||
"ping": "Binäre Ping Sensorentitäten neu laden",
|
||||
"ping": "Binäre Ping-Sensorentitäten neu laden",
|
||||
"reload": "{domain} neu laden",
|
||||
"rest": "Rest Entitäten und Benachrichtigungsdienste neu laden",
|
||||
"rest": "Rest-Entitäten und Benachrichtigungsdienste neu laden",
|
||||
"rpi_gpio": "Raspberry Pi GPIO Entitäten neu laden",
|
||||
"scene": "Szenen neu laden",
|
||||
"script": "Skripte neu laden",
|
||||
@@ -2431,7 +2431,7 @@
|
||||
"username": "Benutzername"
|
||||
},
|
||||
"caption": "Benutzer",
|
||||
"description": "Home Assistant Benutzerkonten verwalten",
|
||||
"description": "Home Assistant-Benutzerkonten verwalten",
|
||||
"editor": {
|
||||
"activate_user": "Benutzer aktivieren",
|
||||
"active": "Aktiv",
|
||||
|
||||
@@ -929,7 +929,7 @@
|
||||
"filter": "Reload filter entities",
|
||||
"generic": "Reload generic IP camera entities",
|
||||
"generic_thermostat": "Reload generic thermostat entities",
|
||||
"group": "Reload groups, group entities, and notify services",
|
||||
"group": "Reload groups, group entities, and group notify services",
|
||||
"history_stats": "Reload history stats entities",
|
||||
"homekit": "Reload HomeKit",
|
||||
"input_boolean": "Reload input booleans",
|
||||
@@ -942,7 +942,7 @@
|
||||
"person": "Reload people",
|
||||
"ping": "Reload ping binary sensor entities",
|
||||
"reload": "Reload {domain}",
|
||||
"rest": "Reload rest entities and notify services",
|
||||
"rest": "Reload rest entities, and rest notify services",
|
||||
"rpi_gpio": "Reload Raspberry Pi GPIO entities",
|
||||
"scene": "Reload scenes",
|
||||
"script": "Reload scripts",
|
||||
@@ -1439,7 +1439,7 @@
|
||||
"confirm_delete_header": "Delete this blueprint?",
|
||||
"confirm_delete_text": "Are you sure you want to delete this blueprint?",
|
||||
"delete_blueprint": "Delete blueprint",
|
||||
"discover_more": "Discover more Blueprints",
|
||||
"discover_more": "Discover more blueprints",
|
||||
"header": "Blueprint Editor",
|
||||
"headers": {
|
||||
"domain": "Domain",
|
||||
@@ -2259,7 +2259,7 @@
|
||||
"without_device": "Entities without device"
|
||||
},
|
||||
"icon": "Icon",
|
||||
"introduction": "Use scenes to bring your home to live.",
|
||||
"introduction": "Use scenes to bring your home to life.",
|
||||
"load_error_not_editable": "Only scenes in scenes.yaml are editable.",
|
||||
"load_error_unknown": "Error loading scene ({err_no}).",
|
||||
"name": "Name",
|
||||
@@ -2345,7 +2345,7 @@
|
||||
"filter": "Reload filter entities",
|
||||
"generic": "Reload generic IP camera entities",
|
||||
"generic_thermostat": "Reload generic thermostat entities",
|
||||
"group": "Reload groups, group entities, and notify services",
|
||||
"group": "Reload groups, group entities, and group notify services",
|
||||
"heading": "YAML configuration reloading",
|
||||
"history_stats": "Reload history stats entities",
|
||||
"homekit": "Reload HomeKit",
|
||||
@@ -2360,7 +2360,7 @@
|
||||
"person": "Reload people",
|
||||
"ping": "Reload ping binary sensor entities",
|
||||
"reload": "Reload {domain}",
|
||||
"rest": "Reload rest entities and notify services",
|
||||
"rest": "Reload rest entities, and rest notify services",
|
||||
"rpi_gpio": "Reload Raspberry Pi GPIO entities",
|
||||
"scene": "Reload scenes",
|
||||
"script": "Reload scripts",
|
||||
@@ -2405,7 +2405,7 @@
|
||||
"description": "Description",
|
||||
"name": "Name",
|
||||
"new_tag": "New tag",
|
||||
"tag_id": "Tag id",
|
||||
"tag_id": "Tag ID",
|
||||
"tag_id_placeholder": "Autogenerated when left empty",
|
||||
"update": "Update",
|
||||
"usage": "A tag can trigger an automation when scanned, you can use NFC tags, QR codes or any other kind of tag. Use our {companion_link} to write this tag to a programmable NFC tag or create a QR code below."
|
||||
|
||||
@@ -1439,7 +1439,7 @@
|
||||
"confirm_delete_header": "Kas kustutada see kavand?",
|
||||
"confirm_delete_text": "Kas soovid kindlasti selle kavandi kustutada?",
|
||||
"delete_blueprint": "Kustuta kavand",
|
||||
"discover_more": "Avasta rohkem kavandeid",
|
||||
"discover_more": "Leia rohkem kavandeid",
|
||||
"header": "Kavandi redaktor",
|
||||
"headers": {
|
||||
"domain": "Domeen",
|
||||
@@ -1895,7 +1895,7 @@
|
||||
"lovelace": {
|
||||
"dashboards": "Vaated",
|
||||
"mode": "Režiim",
|
||||
"resources": "Ressursid"
|
||||
"resources": "Ressursse"
|
||||
}
|
||||
},
|
||||
"manage": "Halda",
|
||||
@@ -2259,7 +2259,7 @@
|
||||
"without_device": "Olemid ilma seadmeta"
|
||||
},
|
||||
"icon": "Ikoon",
|
||||
"introduction": "Kasutage stseene, et oma kodu mõnusamaks muuta.",
|
||||
"introduction": "Kasutage stseene, et oma kodu nutikamaks muuta.",
|
||||
"load_error_not_editable": "Ainult scenes.yaml failis asuvad stseenid on muudetavad.",
|
||||
"load_error_unknown": "Viga stseeni laadimisel ({err_no}).",
|
||||
"name": "Nimi",
|
||||
@@ -2345,7 +2345,7 @@
|
||||
"filter": "TAASLAE FILTREERITUD OLEMID",
|
||||
"generic": "TAASLAE IP KAAMERAD",
|
||||
"generic_thermostat": "TAASLAE TERMOSTAADID",
|
||||
"group": "Taaslae grupid",
|
||||
"group": "Taaslae grupid, grupi olemid ja teavitusteenused",
|
||||
"heading": "YAML konfiguratsiooni taaslaadimine",
|
||||
"history_stats": "TAASLAE OLEMITE AJALUGU",
|
||||
"homekit": "Taaslae HomeKit andmed",
|
||||
|
||||
@@ -554,7 +554,7 @@
|
||||
"blueprint-picker": {
|
||||
"add_user": "Ajouter un utilisateur",
|
||||
"remove_user": "Supprimer l'utilisateur",
|
||||
"select_blueprint": "Sélectionnez un plan"
|
||||
"select_blueprint": "Sélectionnez un Blueprint"
|
||||
},
|
||||
"data-table": {
|
||||
"no-data": "Pas de données",
|
||||
@@ -901,7 +901,7 @@
|
||||
"navigation": {
|
||||
"areas": "Zones",
|
||||
"automation": "Automatisations",
|
||||
"blueprint": "Plans",
|
||||
"blueprint": "Blueprints",
|
||||
"core": "Général",
|
||||
"customize": "Customisations",
|
||||
"devices": "Appareils",
|
||||
@@ -1073,7 +1073,7 @@
|
||||
"description": "Créez des règles de comportement personnalisées pour votre maison",
|
||||
"dialog_new": {
|
||||
"blueprint": {
|
||||
"use_blueprint": "Utiliser un plan"
|
||||
"use_blueprint": "Utiliser un Blueprint"
|
||||
},
|
||||
"header": "Créer une nouvelle automatisation",
|
||||
"how": "Comment souhaitez-vous créer votre nouvelle automatisation?",
|
||||
@@ -1166,12 +1166,12 @@
|
||||
},
|
||||
"alias": "Nom",
|
||||
"blueprint": {
|
||||
"blueprint_to_use": "Plan à utiliser",
|
||||
"header": "Plan",
|
||||
"blueprint_to_use": "Blueprint à utiliser",
|
||||
"header": "Blueprint",
|
||||
"inputs": "Entrées",
|
||||
"manage_blueprints": "Gérer les plans",
|
||||
"no_blueprints": "Vous n'avez pas de plans",
|
||||
"no_inputs": "Ce plan n'a aucune entrée."
|
||||
"manage_blueprints": "Gérer les Blueprints",
|
||||
"no_blueprints": "Vous n'avez pas de Blueprint",
|
||||
"no_inputs": "Ce Blueprint n'a aucune entrée."
|
||||
},
|
||||
"conditions": {
|
||||
"add": "Ajouter une condition",
|
||||
@@ -1417,37 +1417,37 @@
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"community_forums": "Forums communautaires",
|
||||
"error_no_url": "Veuillez entrer l'URL du plan",
|
||||
"file_name": "Chemin du fichier de plan local",
|
||||
"header": "Importer un plan",
|
||||
"import_btn": "Aperçu du plan",
|
||||
"import_header": "Importer \" {name} \" (type: {domain} )",
|
||||
"import_introduction": "Vous pouvez importer les plans d'autres utilisateurs de Github et des forums de la communauté. Entrez l'URL du plan ci-dessous.",
|
||||
"import_introduction_link": "Vous pouvez importer les plans d'autres utilisateurs de Github et des forums de la communauté. Entrez l'URL du plan ci-dessous.",
|
||||
"importing": "Chargement du plan ...",
|
||||
"raw_blueprint": "Contenu du plan",
|
||||
"save_btn": "Importer un plan",
|
||||
"saving": "Importation du plan ...",
|
||||
"unsupported_blueprint": "Ce plan n'est pas pris en charge",
|
||||
"url": "URL du plan"
|
||||
"community_forums": "Forum de la communauté",
|
||||
"error_no_url": "Veuillez entrer l'URL du Blueprint",
|
||||
"file_name": "Chemin du Blueprint",
|
||||
"header": "Importer un Blueprint",
|
||||
"import_btn": "Aperçu du Blueprint",
|
||||
"import_header": "Blueprint \"{name}\"",
|
||||
"import_introduction": "Vous pouvez importer les Blueprints d'autres utilisateurs à partir de GitHub et du forum de la communauté. Entrez l'URL du Blueprint ci-dessous.",
|
||||
"import_introduction_link": "Vous pouvez importer les Blueprints d'autres utilisateurs à partir de GitHub et du {community_link}. Entrez l'URL du Blueprint ci-dessous.",
|
||||
"importing": "Chargement du Blueprint ...",
|
||||
"raw_blueprint": "Contenu du Blueprint",
|
||||
"save_btn": "Importer un Blueprint",
|
||||
"saving": "Importation du Blueprint ...",
|
||||
"unsupported_blueprint": "Ce Blueprint n'est pas pris en charge",
|
||||
"url": "URL du Blueprint"
|
||||
},
|
||||
"caption": "Plans",
|
||||
"description": "Gérer les plans",
|
||||
"caption": "Blueprints",
|
||||
"description": "Créez des automatisations facilement à l'aide de modèles configurables",
|
||||
"overview": {
|
||||
"add_blueprint": "Importer un plan",
|
||||
"confirm_delete_header": "Supprimer ce plan ?",
|
||||
"confirm_delete_text": "Êtes-vous sûr de vouloir supprimer ce plan ?",
|
||||
"delete_blueprint": "Supprimer le plan",
|
||||
"discover_more": "Découvrez plus de plans",
|
||||
"header": "Éditeur de plans",
|
||||
"add_blueprint": "Importer un Blueprint",
|
||||
"confirm_delete_header": "Supprimer ce Blueprint ?",
|
||||
"confirm_delete_text": "Êtes-vous sûr de vouloir supprimer ce Blueprint ?",
|
||||
"delete_blueprint": "Supprimer le Blueprint",
|
||||
"discover_more": "Découvrez plus de Blueprints",
|
||||
"header": "Éditeur de Blueprints",
|
||||
"headers": {
|
||||
"domain": "Domaine",
|
||||
"file_name": "Nom de fichier",
|
||||
"name": "Nom"
|
||||
},
|
||||
"introduction": "L’éditeur de plans vous permet de créer et de modifier des plans.",
|
||||
"learn_more": "En savoir plus sur les plans",
|
||||
"introduction": "L’éditeur de Blueprint vous permet de créer et de modifier les Blueprints qui permettent de créer des automatisations facilement à l'aide de modèles configurables.",
|
||||
"learn_more": "En savoir plus sur les Blueprints",
|
||||
"use_blueprint": "Créer une automatisation"
|
||||
}
|
||||
},
|
||||
@@ -1848,7 +1848,7 @@
|
||||
"info": {
|
||||
"built_using": "Construit en utilisant",
|
||||
"caption": "Info",
|
||||
"copy_github": "Pour Github",
|
||||
"copy_github": "Pour GitHub",
|
||||
"copy_raw": "Texte brut",
|
||||
"custom_uis": "Interfaces utilisateur personnalisées :",
|
||||
"description": "Version, état du système et liens vers la documentation",
|
||||
|
||||
@@ -2405,7 +2405,7 @@
|
||||
"description": "Descrizione",
|
||||
"name": "Nome",
|
||||
"new_tag": "Nuova etichetta",
|
||||
"tag_id": "Id etichetta",
|
||||
"tag_id": "ID etichetta",
|
||||
"tag_id_placeholder": "Autogenerato quando lasciato vuoto",
|
||||
"update": "Aggiorna",
|
||||
"usage": "Una etichetta può attivare un'automazione quando viene scansionata, puoi utilizzare etichette NFC, codici QR o qualsiasi altro tipo di tag. Utilizza il nostro {companion_link} per scrivere questa etichetta su un tag NFC programmabile o crea un codice QR di seguito."
|
||||
|
||||
+100
-12
@@ -2,11 +2,13 @@
|
||||
"config_entry": {
|
||||
"disabled_by": {
|
||||
"config_entry": "Intrare config",
|
||||
"device": "Dispozitiv",
|
||||
"integration": "Integrare",
|
||||
"user": "Utilizator"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"owner": "Proprietar",
|
||||
"system-admin": "Administratori",
|
||||
"system-read-only": "Utilizatori cu drepturi de citire",
|
||||
"system-users": "Utilizatori"
|
||||
@@ -491,14 +493,19 @@
|
||||
"close": "Închide",
|
||||
"copied": "Copiat",
|
||||
"delete": "Șterge",
|
||||
"disable": "Dezactivați",
|
||||
"enable": "Activați",
|
||||
"error_required": "Necesar",
|
||||
"loading": "Se încarcă",
|
||||
"menu": "Meniu",
|
||||
"next": "Următorul",
|
||||
"no": "Nu",
|
||||
"not_now": "Nu acum",
|
||||
"previous": "Anterior",
|
||||
"refresh": "Reîmprospătare",
|
||||
"rename": "Redenumiți",
|
||||
"save": "Salvați",
|
||||
"skip": "Sari peste",
|
||||
"successfully_deleted": "Șters cu succes",
|
||||
"successfully_saved": "Opțiunile salvate cu succes.",
|
||||
"undo": "Undo",
|
||||
@@ -518,6 +525,10 @@
|
||||
"clear": "Şterge",
|
||||
"show_areas": "Arată zonele"
|
||||
},
|
||||
"blueprint-picker": {
|
||||
"add_user": "Adăugați utilizator",
|
||||
"remove_user": "Eliminați utilizatorul"
|
||||
},
|
||||
"data-table": {
|
||||
"no-data": "Fără date",
|
||||
"search": "Căutare"
|
||||
@@ -615,7 +626,8 @@
|
||||
},
|
||||
"user-picker": {
|
||||
"add_user": "Adăugați utilizator",
|
||||
"no_user": "Niciun utilizator"
|
||||
"no_user": "Niciun utilizator",
|
||||
"remove_user": "Eliminați utilizatorul"
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
@@ -753,6 +765,13 @@
|
||||
"description": "Opțiunile salvate cu succes."
|
||||
}
|
||||
},
|
||||
"quick-bar": {
|
||||
"commands": {
|
||||
"server_control": {
|
||||
"stop": "Stop"
|
||||
}
|
||||
}
|
||||
},
|
||||
"voice_command": {
|
||||
"did_not_hear": "Home Assistant nu a auzit nimic",
|
||||
"error": "Oops, a apărut o eroare",
|
||||
@@ -851,6 +870,11 @@
|
||||
"automation": {
|
||||
"caption": "Automatizări",
|
||||
"description": "Gestionarea automatizărilor",
|
||||
"dialog_new": {
|
||||
"thingtalk": {
|
||||
"create": "Creează"
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
"actions": {
|
||||
"add": "Adăugați o acțiune",
|
||||
@@ -913,15 +937,15 @@
|
||||
"service_data": "Date serviciu"
|
||||
},
|
||||
"wait_for_trigger": {
|
||||
"continue_timeout": "Continua la timeout",
|
||||
"continue_timeout": "Continuă la timeout",
|
||||
"label": "Așteptați declanșatorul",
|
||||
"timeout": "Timeout (optional)"
|
||||
"timeout": "Timeout (opțional)"
|
||||
},
|
||||
"wait_template": {
|
||||
"continue_timeout": "Continuați la expirare",
|
||||
"label": "Asteptare",
|
||||
"label": "Așteaptă",
|
||||
"timeout": "Timeout (opțional)",
|
||||
"wait_template": "Sablon Asteptare"
|
||||
"wait_template": "Șablon așteptare"
|
||||
}
|
||||
},
|
||||
"unsupported_action": "Acțiune nesuportată: {action}"
|
||||
@@ -1038,7 +1062,7 @@
|
||||
"label": "Dispozitiv"
|
||||
},
|
||||
"event": {
|
||||
"context_user_pick": "Selectare utilizatorul",
|
||||
"context_user_pick": "Selectați utilizator",
|
||||
"event_data": "Date eveniment",
|
||||
"event_type": "Tip eveniment",
|
||||
"label": "Eveniment"
|
||||
@@ -1127,15 +1151,29 @@
|
||||
"only_editable": "Numai automatizările din automations.yaml pot fi editate.",
|
||||
"pick_automation": "Alegeți automatizarea pentru a o edita",
|
||||
"show_info_automation": "Afișați informații despre automatizare"
|
||||
},
|
||||
"thingtalk": {
|
||||
"task_selection": {
|
||||
"for_example": "De exemplu:",
|
||||
"header": "Creați o nouă automatizare",
|
||||
"language_note": "Notă: Deocamdată este acceptată numai limba engleză."
|
||||
}
|
||||
}
|
||||
},
|
||||
"blueprint": {
|
||||
"add": {
|
||||
"header": "Importați un plan",
|
||||
"url": "Adresa URL a planului"
|
||||
},
|
||||
"overview": {
|
||||
"add_blueprint": "Importați planul",
|
||||
"confirm_delete_text": "Sigur doriți să ștergeți acest plan?"
|
||||
"confirm_delete_header": "Ștergeți acest plan?",
|
||||
"confirm_delete_text": "Sigur doriți să ștergeți acest plan?",
|
||||
"headers": {
|
||||
"domain": "Domeniu",
|
||||
"file_name": "Nume fișier",
|
||||
"name": "Nume"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cloud": {
|
||||
@@ -1269,6 +1307,12 @@
|
||||
"description": "Gestionați dispozitivele conectate",
|
||||
"device_info": "Informații despre dispozitiv",
|
||||
"device_not_found": "Dispozitivul nu a fost găsit.",
|
||||
"disabled": "Dezactivat",
|
||||
"disabled_by": {
|
||||
"integration": "Integrare",
|
||||
"user": "Utilizator"
|
||||
},
|
||||
"enabled_label": "Activează dispozitiv",
|
||||
"entities": {
|
||||
"add_entities_lovelace": "Adăugați la Lovelace",
|
||||
"entities": "Entități",
|
||||
@@ -1276,6 +1320,13 @@
|
||||
},
|
||||
"name": "Nume",
|
||||
"no_devices": "Nu există dispozitive",
|
||||
"picker": {
|
||||
"filter": {
|
||||
"filter": "Filtru",
|
||||
"show_all": "Arată tot"
|
||||
},
|
||||
"search": "Caută dispozitive"
|
||||
},
|
||||
"scene": {
|
||||
"create": "Creează un scenariu cu dispozitivul",
|
||||
"no_scenes": "Nu există scenarii",
|
||||
@@ -1372,6 +1423,7 @@
|
||||
"info": {
|
||||
"built_using": "Construit folosind",
|
||||
"caption": "Info",
|
||||
"copy_github": "Pentru GitHub",
|
||||
"documentation": "Documentație",
|
||||
"frontend": "front-end-ui",
|
||||
"home_assistant_logo": "Logo-ul Home Assistant",
|
||||
@@ -1383,16 +1435,27 @@
|
||||
"source": "Sursă:",
|
||||
"system_health": {
|
||||
"checks": {
|
||||
"cloud": {
|
||||
"logged_in": "Conectat"
|
||||
},
|
||||
"homeassistant": {
|
||||
"arch": "Arhitectura CPU",
|
||||
"docker": "Docker",
|
||||
"hassio": "HassOS",
|
||||
"installation_type": "Tipul de instalare",
|
||||
"os_name": "Numele sistemului de operare",
|
||||
"os_version": "Versiunea sistemului de operare",
|
||||
"python_version": "Versiunea Python",
|
||||
"timezone": "Fus orar",
|
||||
"version": "Versiune"
|
||||
},
|
||||
"lovelace": {
|
||||
"dashboards": "Tablouri de bord",
|
||||
"mode": "Mod",
|
||||
"resources": "Resurse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"more_info": "mai multe informații"
|
||||
},
|
||||
"title": "Info"
|
||||
},
|
||||
@@ -1711,6 +1774,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": {
|
||||
"confirm_remove_title": "Eliminați eticheta?"
|
||||
},
|
||||
"users": {
|
||||
"add_user": {
|
||||
"caption": "Adăugați utilizator",
|
||||
@@ -1731,17 +1797,22 @@
|
||||
"delete_user": "Ștergeți utilizatorul",
|
||||
"name": "Nume",
|
||||
"system_generated_users_not_editable": "Nu s-au putut actualiza utilizatorii generați de sistem.",
|
||||
"update_user": "Actualizare"
|
||||
"update_user": "Actualizare",
|
||||
"username": "Nume de utilizator"
|
||||
},
|
||||
"picker": {
|
||||
"add_user": "Adăugați utilizator",
|
||||
"headers": {
|
||||
"group": "Grup",
|
||||
"is_owner": "Proprietar",
|
||||
"name": "Nume",
|
||||
"system": "Sistem"
|
||||
"system": "Sistem",
|
||||
"username": "Nume de utilizator"
|
||||
}
|
||||
}
|
||||
},
|
||||
"zha": {
|
||||
"add_device": "Adaugă un dispozitiv",
|
||||
"add_device_page": {
|
||||
"discovered_text": "Dispozitivele vor apărea aici odată descoperite.",
|
||||
"discovery_text": "Dispozitivele descoperite vor apărea aici. Urmați instrucțiunile pentru dispozitiv (e) și așezați dispozitivul (ele) în modul de împerechere.",
|
||||
@@ -1782,6 +1853,11 @@
|
||||
"value": "Valoare"
|
||||
},
|
||||
"description": "Managementul rețelei Zigbee Home Automation",
|
||||
"device_pairing_card": {
|
||||
"CONFIGURED": "Configurare terminată",
|
||||
"CONFIGURED_status_text": "Iniţializare",
|
||||
"INTERVIEW_COMPLETE_status_text": "Configurez"
|
||||
},
|
||||
"devices": {
|
||||
"header": "Zigbee Home Automation - Dispozitiv"
|
||||
},
|
||||
@@ -1797,6 +1873,7 @@
|
||||
"unbind_button_label": "Deconectează grupul"
|
||||
},
|
||||
"groups": {
|
||||
"add_group": "Adăugare grup",
|
||||
"add_members": "Adăugați membri",
|
||||
"adding_members": "Adăugarea membrilor",
|
||||
"caption": "Grupuri",
|
||||
@@ -1835,7 +1912,10 @@
|
||||
"node_management": {
|
||||
"header": "Gestionare dispozitive"
|
||||
},
|
||||
"title": "Automatizare Zigbee Home"
|
||||
"title": "Automatizare Zigbee Home",
|
||||
"visualization": {
|
||||
"caption": "Vizualizare"
|
||||
}
|
||||
},
|
||||
"zone": {
|
||||
"add_zone": "Adăugare zonă",
|
||||
@@ -2015,7 +2095,7 @@
|
||||
"result_type": "Tipul rezultatului",
|
||||
"template_extensions": "Șabloane de extensie pentru Home Assistant",
|
||||
"time": "Acest șablon se actualizează la fiecare 60 de secunde după ultimul eveniment modificat de stare.",
|
||||
"title": "Sabloane",
|
||||
"title": "Şablon",
|
||||
"unknown_error_template": "Sa produs o eroare de randare necunoscută."
|
||||
}
|
||||
}
|
||||
@@ -2244,6 +2324,12 @@
|
||||
"custom_card": "Personalizare",
|
||||
"no_description": "Nicio descriere disponibilă."
|
||||
},
|
||||
"common": {
|
||||
"add": "Adaugă",
|
||||
"clear": "Şterge",
|
||||
"edit": "Editați",
|
||||
"none": "Niciunul"
|
||||
},
|
||||
"edit_card": {
|
||||
"add": "Adăugare card",
|
||||
"confirm_cancel": "Ești sigur că vrei să anulezi?",
|
||||
@@ -2280,6 +2366,8 @@
|
||||
},
|
||||
"header": "Editați interfața utilizator",
|
||||
"header-footer": {
|
||||
"footer": "Subsol",
|
||||
"header": "Antet",
|
||||
"types": {
|
||||
"graph": {
|
||||
"name": "Grafic"
|
||||
|
||||
+1162
-559
File diff suppressed because it is too large
Load Diff
@@ -929,7 +929,7 @@
|
||||
"filter": "重载 filter 实体",
|
||||
"generic": "重载通用 IP 摄像机实体",
|
||||
"generic_thermostat": "重载通用恒温器实体",
|
||||
"group": "重载分组、分组实体及通知服务",
|
||||
"group": "重载分组、分组实体及其通知服务",
|
||||
"history_stats": "重载历史记录统计实体",
|
||||
"homekit": "重载 HomeKit",
|
||||
"input_boolean": "重载二元选择器",
|
||||
@@ -942,7 +942,7 @@
|
||||
"person": "重载人员",
|
||||
"ping": "重载 ping 二元传感器实体",
|
||||
"reload": "重载{domain}",
|
||||
"rest": "重载 REST 实体及通知服务",
|
||||
"rest": "重载 REST 实体及其通知服务",
|
||||
"rpi_gpio": "重载树莓派 GPIO 实体",
|
||||
"scene": "重载场景",
|
||||
"script": "重载脚本",
|
||||
@@ -2345,7 +2345,7 @@
|
||||
"filter": "重载 filter 实体",
|
||||
"generic": "重载通用 IP 摄像机实体",
|
||||
"generic_thermostat": "重载通用恒温器实体",
|
||||
"group": "重载分组、分组实体及通知服务",
|
||||
"group": "重载分组、分组实体及其通知服务",
|
||||
"heading": "配置重载",
|
||||
"history_stats": "重载历史记录统计实体",
|
||||
"homekit": "重载 HomeKit",
|
||||
@@ -2360,7 +2360,7 @@
|
||||
"person": "重载人员",
|
||||
"ping": "重载 ping 二元传感器实体",
|
||||
"reload": "重载{domain}",
|
||||
"rest": "重载 REST 实体及通知服务",
|
||||
"rest": "重载 REST 实体及其通知服务",
|
||||
"rpi_gpio": "重载树莓派 GPIO 实体",
|
||||
"scene": "重载场景",
|
||||
"script": "重载脚本",
|
||||
|
||||
@@ -2120,551 +2120,551 @@
|
||||
dependencies:
|
||||
vary "^1.1.2"
|
||||
|
||||
"@material/animation@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/animation/-/animation-8.0.0-canary.774dcfc8e.0.tgz#26b4c4d804397a2350e9eee72cddcc0bb5dcb6a8"
|
||||
integrity sha512-h8pGWQy5mZ7yNveKGSwxP1pRV9wGs6hjXiOR5nS0NePjfIgRsqUBnSwNKW5TcP/ThPtnATbq0FfARs+ugHdFqA==
|
||||
"@material/animation@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/animation/-/animation-9.0.0-canary.1c156d69d.0.tgz#53acc1253d1286f6d4cfaf3a778229cbd19ab000"
|
||||
integrity sha512-m3eUpFRwxcP1tEWJlIH5q77YGSYEe5ITRw5OtyDvxU7ZzF0xKJbBeauQEdCmyig9UvK+J7jUUnCgkT/t/ldLtw==
|
||||
dependencies:
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/base@8.0.0-canary.774dcfc8e.0", "@material/base@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/base/-/base-8.0.0-canary.774dcfc8e.0.tgz#be9e8ff6e8e366d74a6b2adea8edc7ee84b952b2"
|
||||
integrity sha512-638e0T0WUlsAW21hgFhMNN/MnCErKmuovzJjA/vwrhPRHKtxrIuTIkmX2G1yQ7LlNQWhKG7W32g9KNd06+PNGA==
|
||||
"@material/base@9.0.0-canary.1c156d69d.0", "@material/base@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/base/-/base-9.0.0-canary.1c156d69d.0.tgz#84f365077dfae12a31a32bfc7f9ba673fe56b2db"
|
||||
integrity sha512-r98qY6EsPx6BlzT0Pj+H+BTI7r76GEX/zZPgajxZjbPAJSeeK+uCh69Dmhf63meLKaFkKgvLwH5udKJLMqqjpQ==
|
||||
dependencies:
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/button@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/button/-/button-8.0.0-canary.774dcfc8e.0.tgz#778298eeb48f4bda767283ac35c45186beec9ac0"
|
||||
integrity sha512-zwz9BNVJitc7sQqSErRcrKnPexnvS4s0imkBD0DNnwzus1XYHDb750YRHZr65rFWb1j1Mc6DNHPj2vNqsF7Yhw==
|
||||
"@material/button@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/button/-/button-9.0.0-canary.1c156d69d.0.tgz#b35540ed085006d65562ed56fe2b5540d6712712"
|
||||
integrity sha512-ZjBDrGy2kKPmlIYaL99/C1D0t+MCIkP3Pcj9Y1RxxYdayvP+o8evkBUz5IRtg5NpW4o1X89x8RfF/JmLJZrdYw==
|
||||
dependencies:
|
||||
"@material/density" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/elevation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/shape" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/touch-target" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/typography" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/density" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/elevation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/shape" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/touch-target" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/typography" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@material/checkbox@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-8.0.0-canary.774dcfc8e.0.tgz#9bbf85412de58a081791269d87d59fed484bd03e"
|
||||
integrity sha512-S/BMM+Tk/WHcCj5ZccPJqlrsO+tX5Z4D+odb8O2sm6vMMYKePIWv6xdg9S8kNvFnYXtCxN9w7Lmp1I8yH9L72A==
|
||||
"@material/checkbox@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-9.0.0-canary.1c156d69d.0.tgz#7534284e59af51217e3653ce8d7105dbd001d55f"
|
||||
integrity sha512-7Fyjh3avQg+EZx6wVIB3K4b/9rs7rYTZIXVYM4iAVJo/LDtdBrdmLy6sRmk90gnO7+V5eTvSBJy7R+dU3l/xNQ==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/density" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/touch-target" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/density" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/touch-target" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/chips@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/chips/-/chips-8.0.0-canary.774dcfc8e.0.tgz#45332d182f804414ae56b7809d484c0b266dc11e"
|
||||
integrity sha512-GtsV1FnOgNziNTFZF9qB66zQGLHV1GlfaEccThMxju0a9tgZl9hVFF+ahcc9/IlXoks4aa7P5JeBcc3bj99+oA==
|
||||
"@material/chips@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/chips/-/chips-9.0.0-canary.1c156d69d.0.tgz#8f6819c42743a8f4dd9be5155556f0c9eb2d30f7"
|
||||
integrity sha512-DuWDauRhrlj/nMI/NNUqVD+SUnVsuuZNSvf9t9AX3H08Uo3ZUHhNfdc7Ust0B+jHCaHsjLjlREyYagp8JxJuXQ==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/checkbox" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/density" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/elevation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/shape" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/touch-target" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/typography" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/checkbox" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/density" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/elevation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/shape" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/touch-target" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/typography" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/circular-progress@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-8.0.0-canary.774dcfc8e.0.tgz#a785020c5afd76bf34fa8d0d9b2d760d48f1734d"
|
||||
integrity sha512-ukQre2qan+nUWuCoPQ7+YtvrwMoNrapLTz7zPpDaPRot+RttKSGVLFC9LX9WkZNX3BP7tSsgOAiIVdL72n+c1w==
|
||||
"@material/circular-progress@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-9.0.0-canary.1c156d69d.0.tgz#df6a6b13cbe65e6e90e81ce0149d472a3de2463c"
|
||||
integrity sha512-DCYOF9ssHb+psiKA98GZFztYFr48dvEhvS8w0Lu/hx+7G4qlG6KJzFZv1mBuiF0pdJCT1tjEDjOcj6t3nU9SRA==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/progress-indicator" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/progress-indicator" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/density@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/density/-/density-8.0.0-canary.774dcfc8e.0.tgz#1fdfb5f755c91f1e8079d6675afc6fb09b8deabc"
|
||||
integrity sha512-vk0RK9Hz7Lfvz0tniAlY6MgbVsDoFKeOwVM1Y+lyfpoFcDkWrrUg499cAy5n7IxOeF4noAuXYpWFztUx9pPARg==
|
||||
"@material/density@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/density/-/density-9.0.0-canary.1c156d69d.0.tgz#ca2a2a5f4ea31520d717a41a6343c104acee3005"
|
||||
integrity sha512-Y87bUpTsXNDOi1q5NVRBxIyTUAFda1PP1Z9HOvgpV19n7/F6YLrttLGcOFSRFfx9btUKf4EddctBzwzBrF71TQ==
|
||||
|
||||
"@material/dialog@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-8.0.0-canary.774dcfc8e.0.tgz#4e1b5a340b23b767cdcc306c7725c845f3dbb653"
|
||||
integrity sha512-QqFFV9BSAMJKphcrKkKzXcC6j2W68bhQrSGR7J+qL1F0lKTzgBpYtMzVu4VTW/gbhImu7jDdSdvZefVjHlb+xQ==
|
||||
"@material/dialog@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-9.0.0-canary.1c156d69d.0.tgz#15a0c38d322679f3fcf372eabd21a9c70061f788"
|
||||
integrity sha512-JadtYwhCPrvZce/0j+kUuSq5+QaXAbZ1yx2FPT01K6/mzEgM0eDuU7ta7IlGGoJXFzmQI8jy7WsTSuW+IBNC8A==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/button" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/elevation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/shape" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/touch-target" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/typography" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/button" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/elevation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/shape" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/touch-target" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/typography" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/dom@8.0.0-canary.774dcfc8e.0", "@material/dom@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/dom/-/dom-8.0.0-canary.774dcfc8e.0.tgz#b5d52f40e1a9965bb5b6fe8e7a50eb96a29af1ba"
|
||||
integrity sha512-SHrc5zNOoWR2b9nShcv/A2D2C67beBdCS/KDPzezCpi0UfJYZVcjf9EmYDpNhZHh9jil3BiDvldknHazLGkqWA==
|
||||
"@material/dom@9.0.0-canary.1c156d69d.0", "@material/dom@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/dom/-/dom-9.0.0-canary.1c156d69d.0.tgz#ffba86848f77cdce5ac2cfe494a97cb82af5c714"
|
||||
integrity sha512-AwiQDzquolB7rqy8k4+QMVQ8Njb6k0CT+otJ/UNJbj0qNVXZB4njVaWRWrWCt70hYp1rG0cRNkZ01ZJDqABUFw==
|
||||
dependencies:
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/elevation@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-8.0.0-canary.774dcfc8e.0.tgz#8bd9848cfe685ee6195f0bc6689bc09433310e1e"
|
||||
integrity sha512-Ac0NYF4GkyN3hvaLDbxNH0GgTQpVzVukf+nZNpfHCaxygIdnHOdj0e9jfVGPIts6vldUalnpgW0HwB+Fd22sJw==
|
||||
"@material/elevation@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-9.0.0-canary.1c156d69d.0.tgz#0027434eef691dde7e16e672e1349ee1e9ed7a2b"
|
||||
integrity sha512-ojX0+nRNkfJssFA/EXhwglDwW48xll1OPCVy8jJrRfvIasRHiIJBeRdnlU5BL4qxDJHaEoOfEMmVQP/Aj504Qw==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@material/feature-targeting@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-8.0.0-canary.774dcfc8e.0.tgz#417361ead5031e6bbd72b6ac2e85b786829ff6e1"
|
||||
integrity sha512-XcCJOCZbk2kg41dTIvWd1iEJzl4rtGJ6ZK4o/FWQbczDJUcKN35je0+d/a/DvEh22t2Tj9M96n8HmTkS447Rhw==
|
||||
"@material/feature-targeting@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-9.0.0-canary.1c156d69d.0.tgz#feaf37af156811a088958e653e6c08e66f567d2a"
|
||||
integrity sha512-HWd0+GMnkVB3anmUc9+MeWCNoogAbb4U7ihzwq7lzLCQyC+i/kunppkUVV7DhL3ZVl1O6zIw1eAT+dgQpN8x4Q==
|
||||
|
||||
"@material/form-field@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-8.0.0-canary.774dcfc8e.0.tgz#34a9498c99592b82b09c541f9c6981ca327b5537"
|
||||
integrity sha512-94zmsyamY4Kpq91/hFlpMLai19VQC+FtvHP1IMCAhCHb5HFC0VR3EpXrdV5L6bkn33amxALwUon6fa1IyY9qng==
|
||||
"@material/form-field@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-9.0.0-canary.1c156d69d.0.tgz#2f44c9704c8a4aef54376819573f835983686e89"
|
||||
integrity sha512-v1KWGRj4Qf9SESLswtlrdm/B6TmNkQsh5CZSM2xL2ZXe/k/KNgbLgM4ofHJApwW3QWYVBfA8nT/MlIvJJivd9w==
|
||||
dependencies:
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/typography" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/typography" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/list@8.0.0-canary.774dcfc8e.0", "@material/list@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/list/-/list-8.0.0-canary.774dcfc8e.0.tgz#4f3549d2262587754301565457ae57fbbca8e57f"
|
||||
integrity sha512-UHBTLI6pC/4a9RYiEP1NAxr5f/uDV6j/KF3PkRwLdsePpulzlMTRaboi1wPb6m95VCICGUOPCBCH75A9zn8ZeA==
|
||||
"@material/list@9.0.0-canary.1c156d69d.0", "@material/list@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/list/-/list-9.0.0-canary.1c156d69d.0.tgz#d4a7b1354e4d00a843de19f3dbde188ca2e1e429"
|
||||
integrity sha512-cn9zTm38RgriNudHnQAlEyLJOIfE11rTYl5mnBMkLaGz1gRLH+QVN8Q8FBpMwagS0cU0CkMTwrADJaUlmJeuVQ==
|
||||
dependencies:
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/density" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/shape" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/typography" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/density" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/shape" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/typography" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/menu-surface@8.0.0-canary.774dcfc8e.0", "@material/menu-surface@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-8.0.0-canary.774dcfc8e.0.tgz#28ec8825166d254e54e1a70c9793d0ed1b80d67c"
|
||||
integrity sha512-3pXu/9ftKkDKgXZkNj4Bs/RPHb/1eZCOLXSW5ilrVb4jHt75jLvPCcE2qDDFL7JxHAFGPYGr6e5NJLfu4fpaMA==
|
||||
"@material/menu-surface@9.0.0-canary.1c156d69d.0", "@material/menu-surface@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-9.0.0-canary.1c156d69d.0.tgz#6200a17a4895d99f604f96d87b65243ae3b98d5e"
|
||||
integrity sha512-/ePz8oZm+XLsGypnXJ1ATK4Vtei4KgHh9MFJHhOvmAbd6gPX6I8LnWlUA3cQ2/AX0bDeLNM7mXUkJ1d2flHdNQ==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/elevation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/shape" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/elevation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/shape" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/menu@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/menu/-/menu-8.0.0-canary.774dcfc8e.0.tgz#7131f58d84acc1703be3d7205017dbfa1e7dc112"
|
||||
integrity sha512-8LijUyxtAf7eVluydur93xrHFa2YcSOt08F08bbxt0r5GW5fp3CNQDPqTJEzi61Y5n4YvlkCqUwIsVYNxp2RfQ==
|
||||
"@material/menu@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/menu/-/menu-9.0.0-canary.1c156d69d.0.tgz#641c020acaa1a92a254f8366e6a5762137483757"
|
||||
integrity sha512-opUKKT40E3aDY9wMUIKQtUoxB2gD6Ry633vb2sOHHkf7YA7Ad/F8HnByhLqeq7tB2Gg1N0PKfSGOk/OMjJ1l9w==
|
||||
dependencies:
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/elevation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/list" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/menu-surface" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/elevation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/list" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/menu-surface" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/mwc-base@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.19.0.tgz#ff6f693bd6d68030522c8bc9fbe5dccffbc320de"
|
||||
integrity sha512-RQdbUxkoCq02uUVXmOPwn1dRBsf+ul21fU7mFwAHv7bodASh3KdeMNiMUV/thtnAf4+fpZMgOjUoBZ1DuOlC1g==
|
||||
"@material/mwc-base@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.20.0.tgz#9753d357ea3fb9010985487a4d582bf273de1aaf"
|
||||
integrity sha512-q35jN1TGBts3LzKk2RVtgBpLDfBfRrx2hJ4GEVAeJsEGiO5CZrCD0bPlZSRTammzQBbDAh7szvhMiWo0TkRaWw==
|
||||
dependencies:
|
||||
"@material/base" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-button@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-button/-/mwc-button-0.19.0.tgz#60c2f57752b7b2af7a7d655bb12c46756da9255b"
|
||||
integrity sha512-imrhG04LYde2WRloX2tvCK2AzHiPxVn3GhK8hbG+p0ffTPmev18JsPZNSJZj6/1XLlqimMLNO3CsJIqyi3XftQ==
|
||||
"@material/mwc-button@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-button/-/mwc-button-0.20.0.tgz#2942edb504f4cee4d8f55b667b8538f27084b772"
|
||||
integrity sha512-kqQpeuLfaqfH4PZbENT9rwx1sgeFPLHuKy5M31ZeKG1deRTxw11FDGeMxSkePfm1QFfY6DNTsIAG5qC56tUNlw==
|
||||
dependencies:
|
||||
"@material/mwc-icon" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/mwc-icon" "^0.20.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-checkbox@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-checkbox/-/mwc-checkbox-0.19.0.tgz#726af8be6111280fd45ab2442ab49b38cf901867"
|
||||
integrity sha512-B8zRL1Z++hg2KC6TnMS6y7EPfo1Hlh+bcF7AcynQjLff8MNXDzqSX/8u2I74FqZAFpt8ApMe+/Wp+xU8lFPk1g==
|
||||
"@material/mwc-checkbox@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-checkbox/-/mwc-checkbox-0.20.0.tgz#fff9d41cd8a72b39a3c883d1b01230e1a3e462fd"
|
||||
integrity sha512-e7qRFpoTZPeBTU05M/FvGnAalY9fJXtzTIfFXWevpm5xm21zr+5lw4QqJOzN8l8Sj8CwciTZ86GMfKGViBbyuw==
|
||||
dependencies:
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-circular-progress@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-circular-progress/-/mwc-circular-progress-0.19.0.tgz#7ef80f57845b9456038883c38ba6bd77ae4397e7"
|
||||
integrity sha512-Vffocp0Gfw6wNm7h2bWbIzEwssba7JzmcHzr9LMjpfZjflYlexdbbiFXfRqivQwDOCp2KZDNcoQPWfeyGqXliQ==
|
||||
"@material/mwc-circular-progress@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-circular-progress/-/mwc-circular-progress-0.20.0.tgz#db27d4862be4afa3b68f4d9bd06533171869ce37"
|
||||
integrity sha512-6GyI97rZOGajjFB9L8R+44myv3YMo3zEHrlco5j1WnMPIPNHUcYww8EJgtkcl1E/q04Xpwvt6fFPv9X4vmLBnQ==
|
||||
dependencies:
|
||||
"@material/circular-progress" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/theme" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/circular-progress" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/theme" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-dialog@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-dialog/-/mwc-dialog-0.19.0.tgz#ac5dd43cc2bee6f15ff4bf1b25afbc013a9df047"
|
||||
integrity sha512-GvIyboZcIyO3vhsYomdhz9jlFIXPrW6zsXu3iDxu6Rgfie1uJlbhfOih2GCGfvctfdPCr0j6uV6APlAiQDE63w==
|
||||
"@material/mwc-dialog@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-dialog/-/mwc-dialog-0.20.0.tgz#3169f71a049c61cfd53d16b761b8313645bdba01"
|
||||
integrity sha512-7VG8M0p2xaqs+gFDQLNQiVSKJNe+j8jemYX94wxRMZaMRryX09uPrOkn1CGUAuAy0fivxVLhlFG6KINbGR/Avg==
|
||||
dependencies:
|
||||
"@material/dialog" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-button" "^0.19.0"
|
||||
"@material/dialog" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-button" "^0.20.0"
|
||||
blocking-elements "^0.1.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
wicg-inert "^3.0.0"
|
||||
|
||||
"@material/mwc-fab@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-fab/-/mwc-fab-0.19.0.tgz#55781ad3aa69c4d2ea3bf9f8a288668b5385d264"
|
||||
integrity sha512-NHw+wzxcFHbvP0Ryt65pIBPIIKJCM6rtQNAJwTvOUEAOQtjY/VHZtys7EN/y4H1jMjcTrqgjBmi4zkhOhjuqxQ==
|
||||
"@material/mwc-fab@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-fab/-/mwc-fab-0.20.0.tgz#bcd77bd9a6e06855b174944f0267e2b5512fab45"
|
||||
integrity sha512-lxPlber5SxRAzH063IFTQhUj7YRuoi5juvYsSWHDLZUqj7wBTV+m6wX9a14wltcCumMNL80k2lXs9FLUOnZz9Q==
|
||||
dependencies:
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-formfield@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-formfield/-/mwc-formfield-0.19.0.tgz#9a82b92ba9a3bac1508c91eef3005c8a93f76271"
|
||||
integrity sha512-SPreCyud7eWx8KPAM+KbkgRyqG4sZ3YuzUdP8c2fdxSGZ2YjMGffXo46fUj0eqPFmOExaqivs9Xl+xXWwbq9rw==
|
||||
"@material/mwc-formfield@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-formfield/-/mwc-formfield-0.20.0.tgz#dd3e25778aad624a0d13f5b8a33c95bf1aa3883f"
|
||||
integrity sha512-Rrk2ah5gNHD4O/yYWdwHvH3kGddaZXbdiZPCTpYDlTHG63CMUsAENJy8Fu8ZCC23nxbWfBeejtbB/Da+0VZWig==
|
||||
dependencies:
|
||||
"@material/form-field" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/form-field" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-icon-button@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-icon-button/-/mwc-icon-button-0.19.0.tgz#d99ff52b5b4afb8a29e68859ef6b89b740d5970e"
|
||||
integrity sha512-yqsqt3ouooQFUOXfjadAl8ojvxFj5IOsTPSFIZ/wSq7iqoQmWmzvR5jFlyou8cnH/4yY0N1ecRLL4ozr87C/vg==
|
||||
"@material/mwc-icon-button@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-icon-button/-/mwc-icon-button-0.20.0.tgz#1a2d22f5d351b6a61f0dd41cb516a6fe21b6bcc5"
|
||||
integrity sha512-Bwm399++ZAo4HKmvLwRqSQ8Prhq6fxKwBcNFcqRIYMwwOf/iuuq4/hSX8+Wm8XtdX+mxSQfS7GePqn8XOTTKvw==
|
||||
dependencies:
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
lit-element "^2.3.0"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-icon@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.19.0.tgz#4c152b2f79c381b6c1f7c37cec2a7b04d5e09d7e"
|
||||
integrity sha512-9Zz7QsstIVjVsO1gpNP6eOMoXU54AUEdcE98poK6HQTz0WvYO+UXGgUGWsAZAABYP6/Ue7f8yRcQmnmH4DH1TQ==
|
||||
"@material/mwc-icon@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.20.0.tgz#c2c42bca9145d4a75f63b4ce1567270b41986b47"
|
||||
integrity sha512-YCtzWbJVSZGcvWKVHwIhwfGMLEqAmRSVGcXTCAH/rOzGU7RkOxQkfNDkLAuTRAX9a7HYQStIJ39ENVcysElljg==
|
||||
dependencies:
|
||||
lit-element "^2.3.0"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-list@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-list/-/mwc-list-0.19.0.tgz#9cd854c845183cff218ba6860284b82ae3711cd7"
|
||||
integrity sha512-/ps5KNXmkhjh6pQ61bo04WFQ54ciGG+mDG6HcU79infjpkjAUpMJa9tJ59dA/+kPThefQYSoSvEow8dPG99kwQ==
|
||||
"@material/mwc-list@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-list/-/mwc-list-0.20.0.tgz#44b0bcd3653b46c7493614741fc7a11cee8abca4"
|
||||
integrity sha512-RLHn4k6oH2jsSorALbQJ3Ak0BwTyaTeKpXgjI65dHuMRhQaQUaMapJzfh5ghKPhjg1R5D+2r5wktjciFoZ9KVw==
|
||||
dependencies:
|
||||
"@material/base" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/list" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-checkbox" "^0.19.0"
|
||||
"@material/mwc-radio" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/base" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/list" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-checkbox" "^0.20.0"
|
||||
"@material/mwc-radio" "^0.20.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-menu@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-menu/-/mwc-menu-0.19.0.tgz#4d0bc6f9ce491a0f462232a02d779eee0abf1127"
|
||||
integrity sha512-q4Xq4b/KfMJURKSquvputtGIQ3REOSj2qzEkH+2U23Toqx0TH2zHncGDSGnjd2dlcUt82Hq6gTgRr4t8c8VKGg==
|
||||
"@material/mwc-menu@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-menu/-/mwc-menu-0.20.0.tgz#672d6a4b40975b8101029be3b526aa014a252957"
|
||||
integrity sha512-slSY3LORaP8MniXoNvvulvptQ3Ohjit13xiFWVWRr63H3YxnNdBqWW6BICASNJWNV/5y8UM1CE2Xw99UEnG9JQ==
|
||||
dependencies:
|
||||
"@material/menu" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/menu-surface" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-list" "^0.19.0"
|
||||
"@material/shape" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/menu" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/menu-surface" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-list" "^0.20.0"
|
||||
"@material/shape" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-radio@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-radio/-/mwc-radio-0.19.0.tgz#4aeb8e67f6f21f8df00563aa6e1cfe229a4f3491"
|
||||
integrity sha512-bwsLAG/jmYUNyEILObKy2cQ4a2ilS6/XvyWAvWtg3rKrgz3iXHQBUxrdgx+vkGInKWDf+AzYWpo37nBgXjjtJg==
|
||||
"@material/mwc-radio@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-radio/-/mwc-radio-0.20.0.tgz#bf282fe5bd3f0f8e6c3eeb0b781eea6bc06f1743"
|
||||
integrity sha512-aVsok8EZJQFHn5VW9iP4gxO1wY5XeNnANdP82GhHZfIcxp1AQDORuUSy6Qoj2YBmCFCnG4BGAac1zs4OXRPRqA==
|
||||
dependencies:
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/radio" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
"@material/radio" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-ripple@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.19.0.tgz#dfd417fa9967d15c55589b9e825d1ad4fc415471"
|
||||
integrity sha512-932JG19pGbUdDlaOCereCVzWAzB00PM7L/QkGG1teDM3gwkR3evFnTXTYPAw/kEQMYUYABr56DxZhD5MQ7yexA==
|
||||
"@material/mwc-ripple@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.20.0.tgz#ac83eda314b712c2fba293d2732f550dd1c6023b"
|
||||
integrity sha512-4rlIu+Kk//NsW/u3CnU1kz3dsvwEozax0Zf2CUp+ao0ozclHfQ2+sTZVY0Mr8+GJLn7Oz51gT5OHoarZuWWljA==
|
||||
dependencies:
|
||||
"@material/dom" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/ripple" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/ripple" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-switch@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-switch/-/mwc-switch-0.19.0.tgz#74ee7772f6cb683838304275ec50fea13b569b7f"
|
||||
integrity sha512-sp1krGI1soinbq1e99UiQ9MZD6WxKT7cu54DVAC+ZzsKy7kWtTwcMRxGwtXi3hEax6vfmsbGln/loMCsBZz0eQ==
|
||||
"@material/mwc-switch@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-switch/-/mwc-switch-0.20.0.tgz#e4b3c3f512e7c2c497f07828795aa543320e81f9"
|
||||
integrity sha512-1++EESLaVGdRQTpm0t5Z5Il/3IZTSaMzBYb/21AVM2SkNqWG5/2ycd+cj4BhfViIBjPXi0Ajcz4nhxHE/6SRjw==
|
||||
dependencies:
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/switch" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
"@material/switch" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-tab-bar@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab-bar/-/mwc-tab-bar-0.19.0.tgz#f9e641219c00842bafc6ae120d1034c609c40854"
|
||||
integrity sha512-f6Qxsoc9YdCFChW1o5LTBT6IRKa/8rpTrwJsmkMSPHmrJGDpldg5l0DMYuj2q8OvhqfJ4sXG7lvtrSjXK07wYg==
|
||||
"@material/mwc-tab-bar@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab-bar/-/mwc-tab-bar-0.20.0.tgz#02cecdc1bdf20feeb85085c8138d0f6d933411b2"
|
||||
integrity sha512-7iGFzVsS33m5uZXxeXMK1ag3u1drRbBcfkXbP8mp0rpIrhZNpCAOZkTpyXtZGx7WAijaCXPdKOo3MkHutqn6Rg==
|
||||
dependencies:
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-tab" "^0.19.0"
|
||||
"@material/mwc-tab-scroller" "^0.19.0"
|
||||
"@material/tab" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/tab-bar" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-tab" "^0.20.0"
|
||||
"@material/mwc-tab-scroller" "^0.20.0"
|
||||
"@material/tab" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/tab-bar" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-tab-indicator@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab-indicator/-/mwc-tab-indicator-0.19.0.tgz#445645a5137ec8171fd0953e296242bd8e5ecdbd"
|
||||
integrity sha512-XDMoPGIzEd+l+2uMa1cPKTAuWuHMhLicDBVyKyozlq7REcZ4ZM4V9W3PeCkxsjKSIar7rNAgEID1loD6p3X0Iw==
|
||||
"@material/mwc-tab-indicator@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab-indicator/-/mwc-tab-indicator-0.20.0.tgz#a25e981517d46689aae5214798cbc083780569e3"
|
||||
integrity sha512-Y98B1MKeBX2zHwQ4yqpQKULvrm2GaLmw6yUqxiwUoE8CJQv/8wOTJHjtvYXgazYs/VZ2bOD1NoOhtntZwMpn/w==
|
||||
dependencies:
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/tab-indicator" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/tab-indicator" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-tab-scroller@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab-scroller/-/mwc-tab-scroller-0.19.0.tgz#0f079e95945343f5e1a4d7dc89f1344ee20de299"
|
||||
integrity sha512-CYR1S9qkZbSSM/Gdl6H+/xPrPitx0ScUw77FTNydLltq6CL9h27ZVtRLGyHdWq8FlH4cNVX5NFKbA7UnqBMCnQ==
|
||||
"@material/mwc-tab-scroller@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab-scroller/-/mwc-tab-scroller-0.20.0.tgz#5f4ed139a322eef1047a03c3f79aa5df78f7b04e"
|
||||
integrity sha512-Q6Gh+xdiTuXtOBJEUz6YBEHakDAdrsiqGJV1x90Oj5PtbSvkEU8dc/QiJBFsCesxK3vssWKLGqeo1GvQSJW0LQ==
|
||||
dependencies:
|
||||
"@material/dom" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/tab-scroller" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "=9.0.0-canary.1c156d69d.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/tab-scroller" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/mwc-tab@^0.19.0":
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab/-/mwc-tab-0.19.0.tgz#8915f57dc42f5d1c1e712f1dedd1e0f4aec9c193"
|
||||
integrity sha512-GcrD/Nyye090H88NQ9gHbRn7QpdVUwCc0R+61JiQUOqjFVVUzMwsx3mHDH70kgEWbAUv3M0adaCdmAFDM1uOoQ==
|
||||
"@material/mwc-tab@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/mwc-tab/-/mwc-tab-0.20.0.tgz#a3445601dab27880e568dc5706738a6517082838"
|
||||
integrity sha512-zGHnns1Gj91sucs9GLyN9kSqstWmaKpqeQCAcu98B7D6rI4dZKYgudrwnUUZiu1xqrsWhZy2rSbe8tu075ENVQ==
|
||||
dependencies:
|
||||
"@material/mwc-base" "^0.19.0"
|
||||
"@material/mwc-ripple" "^0.19.0"
|
||||
"@material/mwc-tab-indicator" "^0.19.0"
|
||||
"@material/tab" "=8.0.0-canary.774dcfc8e.0"
|
||||
"@material/mwc-base" "^0.20.0"
|
||||
"@material/mwc-ripple" "^0.20.0"
|
||||
"@material/mwc-tab-indicator" "^0.20.0"
|
||||
"@material/tab" "=9.0.0-canary.1c156d69d.0"
|
||||
lit-element "^2.3.0"
|
||||
lit-html "^1.1.2"
|
||||
tslib "^1.10.0"
|
||||
tslib "^2.0.1"
|
||||
|
||||
"@material/progress-indicator@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-8.0.0-canary.774dcfc8e.0.tgz#29ab1b0fbf3f560e43efce9e69368e84e54fa866"
|
||||
integrity sha512-8lhLJs8uvF24DkY/6n6Zeihew2hqtumCdl0KhLPkONsFlHmzekvJGhyj/ETKj5qTlrxB4x2NCJqfs7D5E9GOiA==
|
||||
"@material/progress-indicator@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-9.0.0-canary.1c156d69d.0.tgz#2a43d2c1442909874c5990b7ae893aced071a83d"
|
||||
integrity sha512-56lYRqnUcI4L9a/LgfmzDTCKxxW1oOFqIVn3pMCP8hVGslhXY+yGl24qIp13MDW6FBgzx5rf66zB1rQltcSp/g==
|
||||
dependencies:
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/radio@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/radio/-/radio-8.0.0-canary.774dcfc8e.0.tgz#6be941bddac4fd705c4ce8191356ac67980ee06c"
|
||||
integrity sha512-PzXLQQpNCcKi6WOwpDWKDhLIl028G8xh+ayYciq1xvJ+7TMIMcExG8ijU64JOPAsByJH3H4JTx2oOwVeFOtxlg==
|
||||
"@material/radio@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/radio/-/radio-9.0.0-canary.1c156d69d.0.tgz#f0db2c1da9106a7a3888ed382da31b16fe78d1fc"
|
||||
integrity sha512-i2pDFRhvk8bWp8BBJ0dyuGCqP17FlKSHzGqYQNI80dRPVYyLiexqIRfn0KGcW/sJtVC/P4GlyhE98g4mNYA/iQ==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/density" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/touch-target" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/density" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/touch-target" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/ripple@8.0.0-canary.774dcfc8e.0", "@material/ripple@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-8.0.0-canary.774dcfc8e.0.tgz#342e9c815a5d8a8fec4787be1cefaf7511a30eaa"
|
||||
integrity sha512-mxfa+aNQuCJ6wQbjfs2k7hxHuCcISfGU9hJixTTykJqKeE1h3N045TxTyVSeroXf38SyWA4T2303/W7nkPbJpg==
|
||||
"@material/ripple@9.0.0-canary.1c156d69d.0", "@material/ripple@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-9.0.0-canary.1c156d69d.0.tgz#1cbfec1c94640140f6c1c0f43a3582a82dbc7671"
|
||||
integrity sha512-F1e/LQmYHQFORM/C3hchmANnRwJCXlc7Cp7W+VGpvJdtdzYlTd8DKKcShuOozxUQOjutbNf+Ql8gpZIdYRQaoQ==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/rtl@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-8.0.0-canary.774dcfc8e.0.tgz#a5b94a3d0b426efd5b1ce2705bcc6b29327ae963"
|
||||
integrity sha512-yj2myH3gYnQAeiapR5WwXNwgTWRd2gYUTCzn/BsOAKteJH77xg1WftF5lFzoW2zqlcckDuNDtaJTmQs4C6VlMw==
|
||||
"@material/rtl@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-9.0.0-canary.1c156d69d.0.tgz#0ff1f89f95ea4c67f030e56ce3ffdbfefcea225b"
|
||||
integrity sha512-ICx0trLFna0M1Ina/1Nat9aSiB64o7VMs8wyCcidX//n7qFDOb0AtU9h2IB+lvX/UmPZVsDAoaL8iVm6RAqygg==
|
||||
dependencies:
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@material/shape@8.0.0-canary.774dcfc8e.0", "@material/shape@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/shape/-/shape-8.0.0-canary.774dcfc8e.0.tgz#8cac13b35f0478bbb6dcbcaedc0793f49b55fff6"
|
||||
integrity sha512-7+omcfOX2WmcOIju8NE/5Xj2bqf5H/YoucxpjsYl4mHzgrEwwYmaJC8FesTyt+5TGOXnow8v7pzJ1YIxCNrdVA==
|
||||
"@material/shape@9.0.0-canary.1c156d69d.0", "@material/shape@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/shape/-/shape-9.0.0-canary.1c156d69d.0.tgz#6d42d7004ed09b4493abf3f732bb855d3c3996ed"
|
||||
integrity sha512-3NPm+LNFfY4xsiwy/jo+kY3WIFDwlVyJhq+eimjZ9vpG7STBPyzi1LpiPKvsrk0rmvsy3M0c1alM8E+BQ5+UAg==
|
||||
dependencies:
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@material/switch@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/switch/-/switch-8.0.0-canary.774dcfc8e.0.tgz#a4a9ec47bbdcd396559879bb624c208886aec13c"
|
||||
integrity sha512-JvGbdBkSZ6g3YQX7qS2Qb7SkZp7Crs5cmiEKdLmMrzx6697ZKLIQgmLH1lB8Cjs025lmz4Vs+B0qjGUHFZYAGQ==
|
||||
"@material/switch@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/switch/-/switch-9.0.0-canary.1c156d69d.0.tgz#e76b4ec213a7fc449a82534289f016ae60002465"
|
||||
integrity sha512-jGMtsI+IdPORkiEKG56XdiN8/8G9JcIdDKExov3BwGn/d6fO+IXQnMbV6XY9aRq/+eI0eI2XXT+ggiyk1Jy0AQ==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/density" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/elevation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/density" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/elevation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/tab-bar@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-8.0.0-canary.774dcfc8e.0.tgz#a522650042089128ff74f746ffdd0591390069e3"
|
||||
integrity sha512-IkRHDNB3kEyjFxTC977kYTu3oCe8Oo2PW6BqFRfvVgYV0b63RSYzjr8+/U5j7umGmQ1FKlAPh8h9w0JJ26nxDA==
|
||||
"@material/tab-bar@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-9.0.0-canary.1c156d69d.0.tgz#d3dc2ea7317410c4fb054b32d88dbbbdf9c34bb3"
|
||||
integrity sha512-wtpMK37gxkpbpdTpQh3IlHXx/maUyiYiwRjioIeh3GFQ42ZXW/N/9Ou2HK+qpiGVZDREYyT9TS2U5DiZTmM7tA==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/density" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/tab" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/tab-scroller" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/density" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/tab" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/tab-scroller" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/tab-indicator@8.0.0-canary.774dcfc8e.0", "@material/tab-indicator@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-8.0.0-canary.774dcfc8e.0.tgz#a07e8e2b0ea8c22cab9623c69095709caba11f0a"
|
||||
integrity sha512-vzwOG7uTwJIoUBRYEurQsOq3pPQbFTE3Y6G93rchUhSmF+2z1ivgPR3u65nWb02UBUEhJJUgHdkVfD/EGqRVIg==
|
||||
"@material/tab-indicator@9.0.0-canary.1c156d69d.0", "@material/tab-indicator@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-9.0.0-canary.1c156d69d.0.tgz#428b53a25cf09de65e1f602f3784b6202844ad48"
|
||||
integrity sha512-PglSDSuQY6irrTNpEK/n/MDkZh6nH+iw0H31vt2A7QrG+BPwXrVJeRi6b8y2lvEnoQFp5WK8VavhFDNhcibEtw==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/tab-scroller@8.0.0-canary.774dcfc8e.0", "@material/tab-scroller@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-8.0.0-canary.774dcfc8e.0.tgz#81ff09bce49eeaf4569d1e681dec8b701f7db58e"
|
||||
integrity sha512-CZwQhuds7zkOsjyVQfiElGY5yLdPp2fekVVvRfRHLXwjOU3h8vDc2G3V3yb/dbhF1VV9hjx4nlbDhmY+wK8TdQ==
|
||||
"@material/tab-scroller@9.0.0-canary.1c156d69d.0", "@material/tab-scroller@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-9.0.0-canary.1c156d69d.0.tgz#f65267f3af811af3e7b1a7716a4b4a3cd64571ae"
|
||||
integrity sha512-27h/vQv3+qh3YXPSTw/nakkWxgzDXMv3+ZBw+/XAwxu1siRb6EFBzsfLkQGpjVLm2DCPH3Dz4Xq8DOUkAyvd1A==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/dom" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/tab" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/dom" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/tab" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/tab@8.0.0-canary.774dcfc8e.0", "@material/tab@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab/-/tab-8.0.0-canary.774dcfc8e.0.tgz#5c47317c02b1c68dfa6caf41129bff4f64dc4500"
|
||||
integrity sha512-AENPjTMvfJ0gPHXExZJJmx7uMCiPdgZqA7RM01C0gGrSS9twTu61+UriVBesAldmcFeg9suFn5tkVMpy6LFS5Q==
|
||||
"@material/tab@9.0.0-canary.1c156d69d.0", "@material/tab@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/tab/-/tab-9.0.0-canary.1c156d69d.0.tgz#eef68160458a4d55b28e96f14b0077a6dd69e88d"
|
||||
integrity sha512-gS93t8Yl+djgWA8bFU80amzj2auGg/H3muVIJ1Mncak0CUtX3u6dYyvdKbeecRT9F1Wr4J3L8E0/aQatBOGa1w==
|
||||
dependencies:
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/tab-indicator" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/typography" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/tab-indicator" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/typography" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/theme@8.0.0-canary.774dcfc8e.0", "@material/theme@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/theme/-/theme-8.0.0-canary.774dcfc8e.0.tgz#07322fb5da2a8a6f84773c05e9edaa7ebbfe4440"
|
||||
integrity sha512-dGQHZ5nHVdgdmG/PtD6A/oJifWdou1Kx3JAu0D8JtopdyUrNFKHU24qj6SIto7LLm+pa05RPnfxSHWsBvDyLTA==
|
||||
"@material/theme@9.0.0-canary.1c156d69d.0", "@material/theme@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/theme/-/theme-9.0.0-canary.1c156d69d.0.tgz#2d733dea8f762cc8e35969915dfb3b7359147d1e"
|
||||
integrity sha512-r1610TPwUplt4FHMk7cR06Oz1jU/G31wBIh4Frs/YIB0ZonVlI5cZdIkG0IFtNt9ZYWoDwfP/1nQBxdqrDPPhg==
|
||||
dependencies:
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@material/top-app-bar@=8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-8.0.0-canary.774dcfc8e.0.tgz#403e0cb2c8ae8539230a07aaa4a56c79b9d34d88"
|
||||
integrity sha512-TCbPyPLLtzSXsiTPojJ7PWePgtfk//2sfERBlYevBMsB3WCcKpFBUFC6dYcJrYAiUIoXCavtgqOI6FC9Hgu48Q==
|
||||
"@material/top-app-bar@=9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-9.0.0-canary.1c156d69d.0.tgz#6b5c76a9cfd2abae35f45b74eb17c917db74d70d"
|
||||
integrity sha512-VJLGCF+1vsLY/YFPVgcFCIEG/EjuY7eg7ulBwhwbERIl3pyyY3NAvISGzaeUBKg6JOcw0YqcPKcRnv+Js3KchQ==
|
||||
dependencies:
|
||||
"@material/animation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/elevation" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/ripple" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/rtl" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/shape" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/typography" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/animation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/elevation" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/ripple" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/rtl" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/shape" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/typography" "9.0.0-canary.1c156d69d.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@material/touch-target@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-8.0.0-canary.774dcfc8e.0.tgz#ec1b93cbddadc85465fa33b2223e435eacfc8e59"
|
||||
integrity sha512-IuF7akLqwj30w/kCtKrz/YUz50gaI/p5oCNLV9mOxXciHNfikALXfpOSoApfhtsN+bissTGJrgy9/A8P5L/qgg==
|
||||
"@material/touch-target@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-9.0.0-canary.1c156d69d.0.tgz#e2839c73f6df724804c376624af776f32be2c81a"
|
||||
integrity sha512-AFymS9cb152a2hEwTc80dVKA0ccNCyMAQNpvB6fEopPMLjO4Hrsu4fIHVyZF5xnz3k/iG59Y6vreHQdHKFGyUw==
|
||||
dependencies:
|
||||
"@material/base" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/base" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@material/typography@8.0.0-canary.774dcfc8e.0":
|
||||
version "8.0.0-canary.774dcfc8e.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/typography/-/typography-8.0.0-canary.774dcfc8e.0.tgz#042d0de9dd448a957a04d06fd4d548882d695eba"
|
||||
integrity sha512-j7pMMZph6tQzD1jEbx5kSkzNKr/6R3tVnBgJVymo823IoBc+RSIKTO2rtj8vNn+qMVLn7HjPpK1rep3Ks6KncQ==
|
||||
"@material/typography@9.0.0-canary.1c156d69d.0":
|
||||
version "9.0.0-canary.1c156d69d.0"
|
||||
resolved "https://registry.yarnpkg.com/@material/typography/-/typography-9.0.0-canary.1c156d69d.0.tgz#340328147eaa86efacfad601b6dbdff7ac0388ac"
|
||||
integrity sha512-+JgMe2fIP+lVh4l5qXfjH9/JWd+LnfDEiVr2clWHgAc3pc2LQm6VVgUbNkrX3yeWql0x7I/inGfQovza8BeYAw==
|
||||
dependencies:
|
||||
"@material/feature-targeting" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/theme" "8.0.0-canary.774dcfc8e.0"
|
||||
"@material/feature-targeting" "9.0.0-canary.1c156d69d.0"
|
||||
"@material/theme" "9.0.0-canary.1c156d69d.0"
|
||||
|
||||
"@mdi/js@5.6.55":
|
||||
version "5.6.55"
|
||||
@@ -8437,9 +8437,9 @@ inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
||||
ini@^1.3.4, ini@~1.3.0:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
||||
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
|
||||
version "1.3.7"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
|
||||
integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
|
||||
|
||||
inquirer@^7.0.0:
|
||||
version "7.1.0"
|
||||
|
||||
Reference in New Issue
Block a user