20230801.0 (#17450)

This commit is contained in:
Bram Kragten 2023-08-01 11:16:30 +02:00 committed by GitHub
commit a181189a49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 302 additions and 224 deletions

View File

@ -1,20 +1,18 @@
import { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
export const mockConfigEntries = (hass: MockHomeAssistant) => {
hass.mockWS("config_entries/get_matching", () => [
{
entry_id: "co2signal",
domain: "co2signal",
title: "CO2 Signal",
source: "user",
state: "loaded",
supports_options: false,
supports_remove_device: false,
supports_unload: true,
pref_disable_new_entities: false,
pref_disable_polling: false,
disabled_by: null,
reason: null,
},
]);
hass.mockWS("config_entries/get", () => ({
entry_id: "co2signal",
domain: "co2signal",
title: "Electricity Maps",
source: "user",
state: "loaded",
supports_options: false,
supports_remove_device: false,
supports_unload: true,
pref_disable_new_entities: false,
pref_disable_polling: false,
disabled_by: null,
reason: null,
}));
};

View File

@ -1,16 +1,20 @@
import { PersistentNotification } from "../../../src/data/persistent_notification";
import { PersistentNotificationMessage } from "../../../src/data/persistent_notification";
import { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
export const mockPersistentNotification = (hass: MockHomeAssistant) => {
hass.mockWS("persistent_notification/get", () =>
Promise.resolve([
{
created_at: new Date().toISOString(),
message: "There was motion detected in the backyard.",
notification_id: "demo-1",
title: "Motion Detected!",
status: "unread",
hass.mockWS("persistent_notification/subscribe", (_msg, _hass, onChange) => {
onChange!({
type: "added",
notifications: {
"demo-1": {
created_at: new Date().toISOString(),
message: "There was motion detected in the backyard.",
notification_id: "demo-1",
title: "Motion Detected!",
status: "unread",
},
},
] as PersistentNotification[])
);
} as PersistentNotificationMessage);
return () => {};
});
};

View File

@ -72,6 +72,7 @@ const generateSumStatistics = (
min: null,
max: null,
last_reset: 0,
change: add,
state: initValue + sum,
sum,
});
@ -103,8 +104,8 @@ const generateCurvedStatistics = (
let half = false;
const now = new Date();
while (end > currentDate && currentDate < now) {
const add = Math.random() * maxDiff;
sum += i * add;
const add = i * (Math.random() * maxDiff);
sum += add;
statistics.push({
start: currentDate.getTime(),
end: currentDate.getTime(),
@ -112,6 +113,7 @@ const generateCurvedStatistics = (
min: null,
max: null,
last_reset: 0,
change: add,
state: initValue + sum,
sum: metered ? sum : null,
});

View File

@ -184,21 +184,21 @@
"@types/sortablejs": "1.15.1",
"@types/tar": "6.1.5",
"@types/webspeechapi": "0.0.29",
"@typescript-eslint/eslint-plugin": "6.1.0",
"@typescript-eslint/parser": "6.1.0",
"@typescript-eslint/eslint-plugin": "6.2.0",
"@typescript-eslint/parser": "6.2.0",
"@web/dev-server": "0.1.38",
"@web/dev-server-rollup": "0.4.1",
"babel-loader": "9.1.3",
"babel-plugin-template-html-minifier": "4.1.0",
"chai": "4.3.7",
"del": "7.0.0",
"eslint": "8.45.0",
"eslint": "8.46.0",
"eslint-config-airbnb-base": "15.0.0",
"eslint-config-airbnb-typescript": "17.1.0",
"eslint-config-prettier": "8.8.0",
"eslint-config-prettier": "8.9.0",
"eslint-import-resolver-webpack": "0.13.2",
"eslint-plugin-disable": "2.0.3",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-import": "2.28.0",
"eslint-plugin-lit": "1.8.3",
"eslint-plugin-lit-a11y": "3.0.0",
"eslint-plugin-unused-imports": "3.0.0",

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "home-assistant-frontend"
version = "20230725.0"
version = "20230801.0"
license = {text = "Apache-2.0"}
description = "The Home Assistant frontend"
readme = "README.md"

View File

@ -261,7 +261,11 @@ export const DOMAINS_TOGGLE = new Set([
]);
/** Domains that have a dynamic entity image / picture. */
export const DOMAINS_WITH_DYNAMIC_PICTURE = new Set(["camera", "media_player"]);
export const DOMAINS_WITH_DYNAMIC_PICTURE = new Set([
"camera",
"image",
"media_player",
]);
/** Temperature units. */
export const UNIT_C = "°C";

View File

@ -46,7 +46,10 @@ export const computeAttributeValueDisplay = (
// If invalid URL, exception will be raised
const url = new URL(attributeValue);
if (url.protocol === "http:" || url.protocol === "https:")
return html`<a target="_blank" rel="noreferrer" href=${attributeValue}
return html`<a
target="_blank"
rel="noopener noreferrer"
href=${attributeValue}
>${attributeValue}</a
>`;
} catch (_) {

View File

@ -28,7 +28,15 @@ export const FIXED_DOMAIN_STATES = {
input_button: [],
light: ["on", "off"],
lock: ["jammed", "locked", "locking", "unlocked", "unlocking"],
media_player: ["idle", "off", "paused", "playing", "standby"],
media_player: [
"off",
"on",
"idle",
"playing",
"paused",
"standby",
"buffering",
],
person: ["home", "not_home"],
plant: ["ok", "problem"],
remote: ["on", "off"],

View File

@ -34,7 +34,7 @@ export class HaNumberSelector extends LitElement {
${!isBox
? html`
${this.label
? html`${this.label}${this.required ? " *" : ""}`
? html`${this.label}${this.required ? "*" : ""}`
: ""}
<ha-slider
.min=${this.selector.number?.min}

View File

@ -21,9 +21,7 @@ export class HaTemplateSelector extends LitElement {
protected render() {
return html`
${this.label
? html`<p>${this.label}${this.required ? " *" : ""}</p>`
: ""}
${this.label ? html`<p>${this.label}${this.required ? "*" : ""}</p>` : ""}
<ha-code-editor
mode="jinja2"
.hass=${this.hass}

View File

@ -157,7 +157,6 @@ export const createHistoricState = (
attributes: {
// Rebuild the historical state by copying static attributes only
device_class: currentStateObj?.attributes.device_class,
event_type: currentStateObj?.attributes.event_type,
source_type: currentStateObj?.attributes.source_type,
has_date: currentStateObj?.attributes.has_date,
has_time: currentStateObj?.attributes.has_time,
@ -346,16 +345,22 @@ export const localizeStateMessage = (
break;
case "event": {
const event_type =
computeAttributeValueDisplay(
hass!.localize,
stateObj,
hass.locale,
hass.config,
hass.entities,
"event_type"
)?.toString() ||
localize(`${LOGBOOK_LOCALIZE_PATH}.detected_unknown_event`);
return localize(`${LOGBOOK_LOCALIZE_PATH}.detected_event_no_type`);
// TODO: This is not working yet, as we don't get historic attribute values
const event_type = computeAttributeValueDisplay(
hass!.localize,
stateObj,
hass.locale,
hass.config,
hass.entities,
"event_type"
)?.toString();
if (!event_type) {
return localize(`${LOGBOOK_LOCALIZE_PATH}.detected_unknown_event`);
}
return localize(`${LOGBOOK_LOCALIZE_PATH}.detected_event`, {
event_type: autoCaseNoun(event_type, hass.language),

View File

@ -6,11 +6,11 @@ import {
mdiWeatherWindy,
} from "@mdi/js";
import {
css,
CSSResultGroup,
html,
LitElement,
PropertyValues,
css,
html,
nothing,
} from "lit";
import { customElement, property, state } from "lit/decorators";
@ -19,13 +19,13 @@ import { formatTimeWeekday } from "../../../common/datetime/format_time";
import { formatNumber } from "../../../common/number/format_number";
import "../../../components/ha-svg-icon";
import {
ForecastEvent,
WeatherEntity,
getDefaultForecastType,
getForecast,
getWeatherUnit,
getWind,
subscribeForecast,
ForecastEvent,
WeatherEntity,
weatherIcons,
} from "../../../data/weather";
import { HomeAssistant } from "../../../types";
@ -122,6 +122,7 @@ class MoreInfoWeather extends LitElement {
);
const forecast = forecastData?.forecast;
const hourly = forecastData?.type === "hourly";
const dayNight = forecastData?.type === "twice_daily";
return html`
${this._showValue(this.stateObj.attributes.temperature)
@ -225,28 +226,34 @@ class MoreInfoWeather extends LitElement {
></ha-svg-icon>
`
: ""}
${hourly
? html`
<div class="main">
${formatTimeWeekday(
new Date(item.datetime),
this.hass.locale,
this.hass.config
)}
</div>
`
: html`
<div class="main">
<div class="main">
${dayNight
? html`
${formatDateWeekdayDay(
new Date(item.datetime),
this.hass.locale,
this.hass.config
this.hass!.locale,
this.hass!.config
)}
${item.is_daytime !== false
(${item.is_daytime !== false
? this.hass!.localize("ui.card.weather.day")
: this.hass!.localize("ui.card.weather.night")}
</div>
`}
: this.hass!.localize("ui.card.weather.night")})
`
: hourly
? html`
${formatTimeWeekday(
new Date(item.datetime),
this.hass!.locale,
this.hass!.config
)}
`
: html`
${formatDateWeekdayDay(
new Date(item.datetime),
this.hass!.locale,
this.hass!.config
)}
`}
</div>
<div class="templow">
${this._showValue(item.templow)
? `${formatNumber(item.templow!, this.hass.locale)}

View File

@ -76,6 +76,9 @@ export class HaChooseAction extends LitElement implements ActionElement {
}
private _getDescription(option, idx: number) {
if (option.alias) {
return option.alias;
}
if (this.isExpanded(idx)) {
return "";
}

View File

@ -352,9 +352,10 @@ class HuiWeatherForecastCard extends LitElement implements LovelaceCard {
<div>
${dayNight
? html`
${new Date(item.datetime).toLocaleDateString(
this.hass!.language,
{ weekday: "short" }
${formatDateWeekdayShort(
new Date(item.datetime),
this.hass!.locale,
this.hass!.config
)}
<div class="daynight">
${item.is_daytime !== false

View File

@ -69,14 +69,17 @@ class HuiEventEntityRow extends LitElement implements LovelaceRow {
})}
>
<div class="what">
${computeStateDisplay(
this.hass!.localize,
stateObj,
this.hass.locale,
this.hass.config,
this.hass.entities
)}
</div>
<div class="when">
${isUnavailableState(stateObj.state)
? computeStateDisplay(
this.hass!.localize,
stateObj,
this.hass.locale,
this.hass.config,
this.hass.entities
)
? ``
: computeAttributeValueDisplay(
this.hass!.localize,
stateObj,
@ -86,18 +89,6 @@ class HuiEventEntityRow extends LitElement implements LovelaceRow {
"event_type"
)}
</div>
<div class="when">
${isUnavailableState(stateObj.state)
? ``
: html`
<hui-timestamp-display
.hass=${this.hass}
.ts=${new Date(stateObj.state)}
.format=${this._config.format}
capitalize
></hui-timestamp-display>
`}
</div>
</div>
</hui-generic-entity-row>
`;

View File

@ -1,10 +1,9 @@
import { HassEntity } from "home-assistant-js-websocket";
import { CSSResultGroup, html, LitElement } from "lit";
import { css, CSSResultGroup, html, LitElement } from "lit";
import { customElement, property } from "lit/decorators";
import "../components/entity/ha-entity-toggle";
import "../components/entity/state-info";
import { HomeAssistant } from "../types";
import { isUnavailableState } from "../data/entity";
import { computeAttributeValueDisplay } from "../common/entity/compute_attribute_display";
import { computeStateDisplay } from "../common/entity/compute_state_display";
import { haStyle } from "../resources/styles";
@ -25,30 +24,45 @@ export class StateCardEvent extends LitElement {
.stateObj=${this.stateObj}
.inDialog=${this.inDialog}
></state-info>
<div class="event_type">
${isUnavailableState(this.stateObj.state)
? computeStateDisplay(
this.hass!.localize,
this.stateObj,
this.hass.locale,
this.hass.config,
this.hass.entities
)
: computeAttributeValueDisplay(
this.hass!.localize,
this.stateObj,
this.hass.locale,
this.hass.config,
this.hass.entities,
"event_type"
)}
<div class="container">
<div class="event_type">
${computeStateDisplay(
this.hass!.localize,
this.stateObj,
this.hass.locale,
this.hass.config,
this.hass.entities
)}
</div>
<div class="event_data">
${computeAttributeValueDisplay(
this.hass!.localize,
this.stateObj,
this.hass.locale,
this.hass.config,
this.hass.entities,
"event_type"
)}
</div>
</div>
</div>
`;
}
static get styles(): CSSResultGroup {
return haStyle;
return [
haStyle,
css`
.container {
display: flex;
flex-direction: column;
align-items: flex-end;
}
.event_data {
color: var(--secondary-text-color);
}
`,
];
}
}

View File

@ -362,6 +362,7 @@
"detected_tampering": "detected tampering",
"cleared_tampering": "cleared tampering",
"detected_event": "{event_type} event detected",
"detected_event_no_type": "detected an event",
"detected_unknown_event": "detected an unknown event"
}
},

253
yarn.lock
View File

@ -1560,16 +1560,16 @@ __metadata:
languageName: node
linkType: hard
"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.5.1":
version: 4.5.1
resolution: "@eslint-community/regexpp@npm:4.5.1"
checksum: 6d901166d64998d591fab4db1c2f872981ccd5f6fe066a1ad0a93d4e11855ecae6bfb76660869a469563e8882d4307228cebd41142adb409d182f2966771e57e
"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1":
version: 4.6.2
resolution: "@eslint-community/regexpp@npm:4.6.2"
checksum: a3c341377b46b54fa228f455771b901d1a2717f95d47dcdf40199df30abc000ba020f747f114f08560d119e979d882a94cf46cfc51744544d54b00319c0f2724
languageName: node
linkType: hard
"@eslint/eslintrc@npm:^2.1.0":
version: 2.1.0
resolution: "@eslint/eslintrc@npm:2.1.0"
"@eslint/eslintrc@npm:^2.1.1":
version: 2.1.1
resolution: "@eslint/eslintrc@npm:2.1.1"
dependencies:
ajv: ^6.12.4
debug: ^4.3.2
@ -1580,14 +1580,14 @@ __metadata:
js-yaml: ^4.1.0
minimatch: ^3.1.2
strip-json-comments: ^3.1.1
checksum: d5ed0adbe23f6571d8c9bb0ca6edf7618dc6aed4046aa56df7139f65ae7b578874e0d9c796df784c25bda648ceb754b6320277d828c8b004876d7443b8dc018c
checksum: bf909ea183d27238c257a82d4ffdec38ca94b906b4b8dfae02ecbe7ecc9e5a8182ef5e469c808bb8cb4fea4750f43ac4ca7c4b4a167b6cd7e3aaacd386b2bd25
languageName: node
linkType: hard
"@eslint/js@npm:8.44.0":
version: 8.44.0
resolution: "@eslint/js@npm:8.44.0"
checksum: fc539583226a28f5677356e9f00d2789c34253f076643d2e32888250e509a4e13aafe0880cb2425139051de0f3a48d25bfc5afa96b7304f203b706c17340e3cf
"@eslint/js@npm:^8.46.0":
version: 8.46.0
resolution: "@eslint/js@npm:8.46.0"
checksum: 7aed479832302882faf5bec37e9d068f270f84c19b3fb529646a7c1b031e73a312f730569c78806492bc09cfce3d7651dfab4ce09a56cbb06bc6469449e56377
languageName: node
linkType: hard
@ -4647,15 +4647,15 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.1.0"
"@typescript-eslint/eslint-plugin@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.2.0"
dependencies:
"@eslint-community/regexpp": ^4.5.1
"@typescript-eslint/scope-manager": 6.1.0
"@typescript-eslint/type-utils": 6.1.0
"@typescript-eslint/utils": 6.1.0
"@typescript-eslint/visitor-keys": 6.1.0
"@typescript-eslint/scope-manager": 6.2.0
"@typescript-eslint/type-utils": 6.2.0
"@typescript-eslint/utils": 6.2.0
"@typescript-eslint/visitor-keys": 6.2.0
debug: ^4.3.4
graphemer: ^1.4.0
ignore: ^5.2.4
@ -4669,44 +4669,44 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: e1f05d8d49041b47cdbea8fc80f87f03dc0f7273deb2f34f73661831572fe62976ab3780972496428ce6fa31d3f53236a4c90cd9948d45f5004631edbfa3d42a
checksum: 1ef46b1c2e3e2013f66b4982dcfb9e198a3824cc1503b843e553201a108a3cb6e4adfb2c486158c89d993e5e4b9d99aeb2af28297e43da98c4750dae8f5131b5
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/parser@npm:6.1.0"
"@typescript-eslint/parser@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/parser@npm:6.2.0"
dependencies:
"@typescript-eslint/scope-manager": 6.1.0
"@typescript-eslint/types": 6.1.0
"@typescript-eslint/typescript-estree": 6.1.0
"@typescript-eslint/visitor-keys": 6.1.0
"@typescript-eslint/scope-manager": 6.2.0
"@typescript-eslint/types": 6.2.0
"@typescript-eslint/typescript-estree": 6.2.0
"@typescript-eslint/visitor-keys": 6.2.0
debug: ^4.3.4
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: dc59cda4396ca09e3aa2bd5b99d8ef9526df56567d4a9b953668102116db975dfb2426c3369560a2b02e083d49e43b4cebb252144d175e900096eb0b17f7ae3c
checksum: ba79674f2d4599a24c7afa8f18ec28243b80df39f82a4a6b7a4ce7c584ec37d4ade40a3aa058d597a5cbf71647a40d0995866748d14cf4b52d8ad4420d10f669
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/scope-manager@npm:6.1.0"
"@typescript-eslint/scope-manager@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/scope-manager@npm:6.2.0"
dependencies:
"@typescript-eslint/types": 6.1.0
"@typescript-eslint/visitor-keys": 6.1.0
checksum: 57c73b8713be79abebbcfef1d58f78a820ea88a5c37a44d2c9a76130216d9ee824134fae215dde794121cfaf1284370da77e1e5184ba71812aebb1a8cf39f325
"@typescript-eslint/types": 6.2.0
"@typescript-eslint/visitor-keys": 6.2.0
checksum: 75a650a3ede78bf841a3bf3f4880b94a06aa4c420f399a6fb9faee19a2e5998f7e330a13f78e07c4958413345bab58b0593f09fa163a77e8f6353012e795660c
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/type-utils@npm:6.1.0"
"@typescript-eslint/type-utils@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/type-utils@npm:6.2.0"
dependencies:
"@typescript-eslint/typescript-estree": 6.1.0
"@typescript-eslint/utils": 6.1.0
"@typescript-eslint/typescript-estree": 6.2.0
"@typescript-eslint/utils": 6.2.0
debug: ^4.3.4
ts-api-utils: ^1.0.1
peerDependencies:
@ -4714,23 +4714,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 83b2ffcf3aa297b60deb2e9ddd946b9c15cc55d0727dfc8a3447e8e5402428f6ee3fc67fb9d5d8ade25da4069ca77e23777caf02bcacd2a1e75b66cfc4d76579
checksum: 9adb542fb3c49bf5c1fecca98549bee3fcfd28a0ceee5227817a1ceb0841b912e322f58ba1b3ca98a47fc998cbec0a3d69cacb9cf9ac4be1d133b11bb9d53aae
languageName: node
linkType: hard
"@typescript-eslint/types@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/types@npm:6.1.0"
checksum: c1f55ebfda7af5e63077beb65fe5a82de7ae7afb913a4ebfb023f2889d5ec06f75b6ebca6ee45d6d205508a52fa5a6bf5821182c3e7e4400ac9304083b88f139
"@typescript-eslint/types@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/types@npm:6.2.0"
checksum: 81878866cf7f49dbc335cce05adfbd994f348e2ebe9538fd6e934fa82e44186c16b2112b8d5f9f4c528ea127be157185be5e35e4913db4880d20ac495785baaf
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/typescript-estree@npm:6.1.0"
"@typescript-eslint/typescript-estree@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/typescript-estree@npm:6.2.0"
dependencies:
"@typescript-eslint/types": 6.1.0
"@typescript-eslint/visitor-keys": 6.1.0
"@typescript-eslint/types": 6.2.0
"@typescript-eslint/visitor-keys": 6.2.0
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
@ -4739,34 +4739,34 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 42729b8952a78ff9fc7d3833e16de25f1a3502461ebe5d09a28fb4375c8e5978dde0dd1f8a7973bf7470ff9023cce84de82e968b02a09f54a0f753d21d9127e8
checksum: 5bfd5bf09feff6c4807cfa65cf407dd0249f7d487d6820941dd05999ee35cacdabaacadf23c92b90b57920025e93088e93924bc8df41f393ac0366538eb2902f
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/utils@npm:6.1.0"
"@typescript-eslint/utils@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/utils@npm:6.2.0"
dependencies:
"@eslint-community/eslint-utils": ^4.4.0
"@types/json-schema": ^7.0.12
"@types/semver": ^7.5.0
"@typescript-eslint/scope-manager": 6.1.0
"@typescript-eslint/types": 6.1.0
"@typescript-eslint/typescript-estree": 6.1.0
"@typescript-eslint/scope-manager": 6.2.0
"@typescript-eslint/types": 6.2.0
"@typescript-eslint/typescript-estree": 6.2.0
semver: ^7.5.4
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
checksum: eb47a6b56e142ca68231f0f43af68d4cf5161235943aaf19c268156e3e751e10dd8ea3e0e297a7c0796b9eb3c5268b3c659821b909799949b55a524707c82e13
checksum: 54f062412a8ce23554ca4063d275327981640426b1ecd1073d30dd8b9464ff7af68b8f9f6272033bad9307815d56f2f922faa8a995421efdccd6165dd62557e1
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:6.1.0":
version: 6.1.0
resolution: "@typescript-eslint/visitor-keys@npm:6.1.0"
"@typescript-eslint/visitor-keys@npm:6.2.0":
version: 6.2.0
resolution: "@typescript-eslint/visitor-keys@npm:6.2.0"
dependencies:
"@typescript-eslint/types": 6.1.0
"@typescript-eslint/types": 6.2.0
eslint-visitor-keys: ^3.4.1
checksum: 21c7c9b9a52325e3b67c0015deb99a1603b19703af7c002e87f32e2d8f9910813985877ee7b589dc9938d308e3d082cf97c8ca43c2c95b86a919c426d8913439
checksum: b400c657c7e5c65b289304f6f5cee6536f23b3441306f82aff2d2e047e13770330715d4f7b29e734b0b2dab6030e41028894d5cd441696115bfea43ad18b2c54
languageName: node
linkType: hard
@ -5505,7 +5505,7 @@ __metadata:
languageName: node
linkType: hard
"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5":
"ajv@npm:^6.12.4, ajv@npm:^6.12.5":
version: 6.12.6
resolution: "ajv@npm:6.12.6"
dependencies:
@ -5917,6 +5917,19 @@ __metadata:
languageName: node
linkType: hard
"array.prototype.findlastindex@npm:^1.2.2":
version: 1.2.2
resolution: "array.prototype.findlastindex@npm:1.2.2"
dependencies:
call-bind: ^1.0.2
define-properties: ^1.1.4
es-abstract: ^1.20.4
es-shim-unscopables: ^1.0.0
get-intrinsic: ^1.1.3
checksum: 8a166359f69a2a751c843f26b9c8cd03d0dc396a92cdcb85f4126b5f1cecdae5b2c0c616a71ea8aff026bde68165b44950b3664404bb73db0673e288495ba264
languageName: node
linkType: hard
"array.prototype.flat@npm:^1.3.1":
version: 1.3.1
resolution: "array.prototype.flat@npm:1.3.1"
@ -7768,7 +7781,7 @@ __metadata:
languageName: node
linkType: hard
"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4":
"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4, es-abstract@npm:^1.21.2":
version: 1.22.1
resolution: "es-abstract@npm:1.22.1"
dependencies:
@ -7961,14 +7974,14 @@ __metadata:
languageName: node
linkType: hard
"eslint-config-prettier@npm:8.8.0":
version: 8.8.0
resolution: "eslint-config-prettier@npm:8.8.0"
"eslint-config-prettier@npm:8.9.0":
version: 8.9.0
resolution: "eslint-config-prettier@npm:8.9.0"
peerDependencies:
eslint: ">=7.0.0"
bin:
eslint-config-prettier: bin/cli.js
checksum: 1e94c3882c4d5e41e1dcfa2c368dbccbfe3134f6ac7d40101644d3bfbe3eb2f2ffac757f3145910b5eacf20c0e85e02b91293d3126d770cbf3dc390b3564681c
checksum: a675d0dabd76b700ef2d062b5ec6a634e105a8e8c070f95281fd2ccb614527fac60b4c758132058c50f0521fd19313f1f5be45ce9ebf081f2e5f77ae6eb7d8db
languageName: node
linkType: hard
@ -8005,7 +8018,7 @@ __metadata:
languageName: node
linkType: hard
"eslint-module-utils@npm:^2.7.4":
"eslint-module-utils@npm:^2.8.0":
version: 2.8.0
resolution: "eslint-module-utils@npm:2.8.0"
dependencies:
@ -8028,28 +8041,31 @@ __metadata:
languageName: node
linkType: hard
"eslint-plugin-import@npm:2.27.5":
version: 2.27.5
resolution: "eslint-plugin-import@npm:2.27.5"
"eslint-plugin-import@npm:2.28.0":
version: 2.28.0
resolution: "eslint-plugin-import@npm:2.28.0"
dependencies:
array-includes: ^3.1.6
array.prototype.findlastindex: ^1.2.2
array.prototype.flat: ^1.3.1
array.prototype.flatmap: ^1.3.1
debug: ^3.2.7
doctrine: ^2.1.0
eslint-import-resolver-node: ^0.3.7
eslint-module-utils: ^2.7.4
eslint-module-utils: ^2.8.0
has: ^1.0.3
is-core-module: ^2.11.0
is-core-module: ^2.12.1
is-glob: ^4.0.3
minimatch: ^3.1.2
object.fromentries: ^2.0.6
object.groupby: ^1.0.0
object.values: ^1.1.6
resolve: ^1.22.1
semver: ^6.3.0
tsconfig-paths: ^3.14.1
resolve: ^1.22.3
semver: ^6.3.1
tsconfig-paths: ^3.14.2
peerDependencies:
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
checksum: f500571a380167e25d72a4d925ef9a7aae8899eada57653e5f3051ec3d3c16d08271fcefe41a30a9a2f4fefc232f066253673ee4ea77b30dba65ae173dade85d
checksum: f9eba311b93ca1bb89311856b1f7285bd79e0181d7eb70fe115053ff77e2235fea749b30f538b78927dc65769340b5be61f4c9581d1c82bcdcccb2061f440ad1
languageName: node
linkType: hard
@ -8138,43 +8154,43 @@ __metadata:
languageName: node
linkType: hard
"eslint-scope@npm:^7.2.0":
version: 7.2.1
resolution: "eslint-scope@npm:7.2.1"
"eslint-scope@npm:^7.2.2":
version: 7.2.2
resolution: "eslint-scope@npm:7.2.2"
dependencies:
esrecurse: ^4.3.0
estraverse: ^5.2.0
checksum: dccda5c8909216f6261969b72c77b95e385f9086bed4bc09d8a6276df8439d8f986810fd9ac3bd02c94c0572cefc7fdbeae392c69df2e60712ab8263986522c5
checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e
languageName: node
linkType: hard
"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1":
version: 3.4.1
resolution: "eslint-visitor-keys@npm:3.4.1"
checksum: f05121d868202736b97de7d750847a328fcfa8593b031c95ea89425333db59676ac087fa905eba438d0a3c5769632f828187e0c1a0d271832a2153c1d3661c2c
"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.2":
version: 3.4.2
resolution: "eslint-visitor-keys@npm:3.4.2"
checksum: 9e0e7e4aaea705c097ae37c97410e5f167d4d2193be2edcb1f0760762ede3df01545e4820ae314f42dcec687745f2c6dcaf6d83575c4a2a241eb0c8517d724f2
languageName: node
linkType: hard
"eslint@npm:8.45.0":
version: 8.45.0
resolution: "eslint@npm:8.45.0"
"eslint@npm:8.46.0":
version: 8.46.0
resolution: "eslint@npm:8.46.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.4.0
"@eslint/eslintrc": ^2.1.0
"@eslint/js": 8.44.0
"@eslint-community/regexpp": ^4.6.1
"@eslint/eslintrc": ^2.1.1
"@eslint/js": ^8.46.0
"@humanwhocodes/config-array": ^0.11.10
"@humanwhocodes/module-importer": ^1.0.1
"@nodelib/fs.walk": ^1.2.8
ajv: ^6.10.0
ajv: ^6.12.4
chalk: ^4.0.0
cross-spawn: ^7.0.2
debug: ^4.3.2
doctrine: ^3.0.0
escape-string-regexp: ^4.0.0
eslint-scope: ^7.2.0
eslint-visitor-keys: ^3.4.1
espree: ^9.6.0
eslint-scope: ^7.2.2
eslint-visitor-keys: ^3.4.2
espree: ^9.6.1
esquery: ^1.4.2
esutils: ^2.0.2
fast-deep-equal: ^3.1.3
@ -8198,11 +8214,11 @@ __metadata:
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
checksum: 3e6dcce5cc43c5e301662db88ee26d1d188b22c177b9f104d7eefd1191236980bd953b3670fe2fac287114b26d7c5420ab48407d7ea1c3a446d6313c000009da
checksum: 7a7d36b1a3bbc12e08fbb5bc36fd482a7a5a1797e62e762499dd45601b9e45aaa53a129f31ce0b4444551a9639b8b681ad535f379893dd1e3ae37b31dccd82aa
languageName: node
linkType: hard
"espree@npm:^9.6.0":
"espree@npm:^9.6.0, espree@npm:^9.6.1":
version: 9.6.1
resolution: "espree@npm:9.6.1"
dependencies:
@ -9694,8 +9710,8 @@ __metadata:
"@types/sortablejs": 1.15.1
"@types/tar": 6.1.5
"@types/webspeechapi": 0.0.29
"@typescript-eslint/eslint-plugin": 6.1.0
"@typescript-eslint/parser": 6.1.0
"@typescript-eslint/eslint-plugin": 6.2.0
"@typescript-eslint/parser": 6.2.0
"@vaadin/combo-box": 24.1.4
"@vaadin/vaadin-themable-mixin": 24.1.4
"@vibrant/color": 3.2.1-alpha.1
@ -9719,13 +9735,13 @@ __metadata:
deep-clone-simple: 1.1.1
deep-freeze: 0.0.1
del: 7.0.0
eslint: 8.45.0
eslint: 8.46.0
eslint-config-airbnb-base: 15.0.0
eslint-config-airbnb-typescript: 17.1.0
eslint-config-prettier: 8.8.0
eslint-config-prettier: 8.9.0
eslint-import-resolver-webpack: 0.13.2
eslint-plugin-disable: 2.0.3
eslint-plugin-import: 2.27.5
eslint-plugin-import: 2.28.0
eslint-plugin-lit: 1.8.3
eslint-plugin-lit-a11y: 3.0.0
eslint-plugin-unused-imports: 3.0.0
@ -10375,7 +10391,7 @@ __metadata:
languageName: node
linkType: hard
"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.7.0":
"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.12.1, is-core-module@npm:^2.7.0":
version: 2.12.1
resolution: "is-core-module@npm:2.12.1"
dependencies:
@ -12506,6 +12522,29 @@ __metadata:
languageName: node
linkType: hard
"object.fromentries@npm:^2.0.6":
version: 2.0.6
resolution: "object.fromentries@npm:2.0.6"
dependencies:
call-bind: ^1.0.2
define-properties: ^1.1.4
es-abstract: ^1.20.4
checksum: 453c6d694180c0c30df451b60eaf27a5b9bca3fb43c37908fd2b78af895803dc631242bcf05582173afa40d8d0e9c96e16e8874b39471aa53f3ac1f98a085d85
languageName: node
linkType: hard
"object.groupby@npm:^1.0.0":
version: 1.0.0
resolution: "object.groupby@npm:1.0.0"
dependencies:
call-bind: ^1.0.2
define-properties: ^1.2.0
es-abstract: ^1.21.2
get-intrinsic: ^1.2.1
checksum: 64b00b287d57580111c958e7ff375c9b61811fa356f2cf0d35372d43cab61965701f00fac66c19fd8f49c4dfa28744bee6822379c69a73648ad03e09fcdeae70
languageName: node
linkType: hard
"object.map@npm:^1.0.0":
version: 1.0.1
resolution: "object.map@npm:1.0.1"
@ -13772,7 +13811,7 @@ __metadata:
languageName: node
linkType: hard
"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.4.0":
"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.3, resolve@npm:^1.4.0":
version: 1.22.3
resolution: "resolve@npm:1.22.3"
dependencies:
@ -13785,7 +13824,7 @@ __metadata:
languageName: node
linkType: hard
"resolve@patch:resolve@^1.1.6#~builtin<compat/resolve>, resolve@patch:resolve@^1.1.7#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.19.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.4.0#~builtin<compat/resolve>":
"resolve@patch:resolve@^1.1.6#~builtin<compat/resolve>, resolve@patch:resolve@^1.1.7#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.19.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.3#~builtin<compat/resolve>, resolve@patch:resolve@^1.4.0#~builtin<compat/resolve>":
version: 1.22.3
resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin<compat/resolve>::version=1.22.3&hash=c3c19d"
dependencies:
@ -15277,7 +15316,7 @@ __metadata:
languageName: node
linkType: hard
"tsconfig-paths@npm:^3.14.1":
"tsconfig-paths@npm:^3.14.2":
version: 3.14.2
resolution: "tsconfig-paths@npm:3.14.2"
dependencies: