20230331.0 (#16001)

This commit is contained in:
Bram Kragten 2023-03-31 17:16:48 +02:00 committed by GitHub
commit e302c6c408
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 191 additions and 132 deletions

View File

@ -184,8 +184,8 @@
"@types/sortablejs": "1.15.1", "@types/sortablejs": "1.15.1",
"@types/tar": "6.1.4", "@types/tar": "6.1.4",
"@types/webspeechapi": "0.0.29", "@types/webspeechapi": "0.0.29",
"@typescript-eslint/eslint-plugin": "5.56.0", "@typescript-eslint/eslint-plugin": "5.57.0",
"@typescript-eslint/parser": "5.56.0", "@typescript-eslint/parser": "5.57.0",
"@web/dev-server": "0.1.36", "@web/dev-server": "0.1.36",
"@web/dev-server-rollup": "0.4.0", "@web/dev-server-rollup": "0.4.0",
"babel-loader": "9.1.2", "babel-loader": "9.1.2",

View File

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

View File

@ -118,24 +118,40 @@ const FIXED_DOMAIN_ATTRIBUTE_STATES = {
"window", "window",
], ],
}, },
device_tracker: {
source_type: ["bluetooth", "bluetooth_le", "gps", "router"],
},
fan: {
direction: ["forward", "reverse"],
},
humidifier: { humidifier: {
device_class: ["humidifier", "dehumidifier"], device_class: ["humidifier", "dehumidifier"],
}, },
media_player: { media_player: {
device_class: ["tv", "speaker", "receiver"], device_class: ["tv", "speaker", "receiver"],
media_content_type: [ media_content_type: [
"album",
"app", "app",
"artist",
"channel", "channel",
"channels",
"composer",
"contibuting_artist",
"episode", "episode",
"game", "game",
"genre",
"image", "image",
"movie", "movie",
"music", "music",
"playlist", "playlist",
"podcast",
"season",
"track",
"tvshow", "tvshow",
"url", "url",
"video", "video",
], ],
repeat: ["off", "one", "all"],
}, },
number: { number: {
device_class: ["temperature"], device_class: ["temperature"],

View File

@ -25,8 +25,6 @@ export type ControlSelectOption = {
export class HaControlSelect extends LitElement { export class HaControlSelect extends LitElement {
@property({ type: Boolean, reflect: true }) disabled = false; @property({ type: Boolean, reflect: true }) disabled = false;
@property() public label?: string;
@property() public options?: ControlSelectOption[]; @property() public options?: ControlSelectOption[];
@property() public value?: string; @property() public value?: string;
@ -305,6 +303,14 @@ export class HaControlSelect extends LitElement {
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
text-align: center; text-align: center;
padding: 2px;
width: 100%;
box-sizing: border-box;
}
.option .content span {
display: block;
width: 100%;
hyphens: auto;
} }
:host([vertical]) { :host([vertical]) {
width: var(--control-select-thickness); width: var(--control-select-thickness);

View File

@ -33,7 +33,7 @@ export class HaHeaderBar extends LitElement {
unsafeCSS(topAppBarStyles), unsafeCSS(topAppBarStyles),
css` css`
.mdc-top-app-bar__row { .mdc-top-app-bar__row {
height: var(--header-bar-height, 64px); height: var(--header-height);
} }
.mdc-top-app-bar { .mdc-top-app-bar {
position: static; position: static;

View File

@ -92,7 +92,7 @@ export class HaSettingsRow extends LitElement {
::slotted(ha-switch) { ::slotted(ha-switch) {
padding: 16px 0; padding: 16px 0;
} }
div[secondary] { .secondary {
white-space: normal; white-space: normal;
} }
.prefix-wrap { .prefix-wrap {

View File

@ -1,9 +1,7 @@
import { HassEntity } from "home-assistant-js-websocket"; import { css, CSSResultGroup, html, LitElement, PropertyValues } from "lit";
import { css, CSSResultGroup, html, LitElement } from "lit";
import { customElement, property, state } from "lit/decorators"; import { customElement, property, state } from "lit/decorators";
import { styleMap } from "lit/directives/style-map"; import { styleMap } from "lit/directives/style-map";
import memoizeOne from "memoize-one"; import memoizeOne from "memoize-one";
import { computeAttributeNameDisplay } from "../../../../common/entity/compute_attribute_display";
import { stateColorCss } from "../../../../common/entity/state_color"; import { stateColorCss } from "../../../../common/entity/state_color";
import { supportsFeature } from "../../../../common/entity/supports-feature"; import { supportsFeature } from "../../../../common/entity/supports-feature";
import "../../../../components/ha-control-select"; import "../../../../components/ha-control-select";
@ -14,6 +12,7 @@ import {
AlarmMode, AlarmMode,
ALARM_MODES, ALARM_MODES,
} from "../../../../data/alarm_control_panel"; } from "../../../../data/alarm_control_panel";
import { UNAVAILABLE } from "../../../../data/entity";
import { HomeAssistant } from "../../../../types"; import { HomeAssistant } from "../../../../types";
import { showEnterCodeDialogDialog } from "./show-enter-code-dialog"; import { showEnterCodeDialogDialog } from "./show-enter-code-dialog";
@ -33,14 +32,10 @@ export class HaMoreInfoAlarmControlPanelModes extends LitElement {
}); });
}); });
protected updated(changedProp: Map<string | number | symbol, unknown>): void { protected willUpdate(changedProp: PropertyValues): void {
super.updated(changedProp); super.willUpdate(changedProp);
if (changedProp.has("stateObj") && this.stateObj) { if (changedProp.has("stateObj")) {
const oldStateObj = changedProp.get("stateObj") as HassEntity | undefined; this._currentMode = this._getCurrentMode(this.stateObj);
if (!oldStateObj || this.stateObj.state !== oldStateObj.state) {
this._currentMode = this._getCurrentMode(this.stateObj);
}
} }
} }
@ -50,53 +45,59 @@ export class HaMoreInfoAlarmControlPanelModes extends LitElement {
); );
} }
private async _valueChanged(ev: CustomEvent) { private async _setMode(mode: AlarmMode) {
const mode = (ev.detail as any).value as AlarmMode; const { service } = ALARM_MODES[mode];
const { state: modeState, service } = ALARM_MODES[mode];
if (modeState === this.stateObj.state) return;
// Force ha-control-select to previous mode because we don't known if the service call will succeed due to code check
this._currentMode = mode;
await this.requestUpdate("_currentMode");
this._currentMode = this._getCurrentMode(this.stateObj!);
let code: string | undefined; let code: string | undefined;
if ( if (
(mode !== "disarmed" && (mode !== "disarmed" &&
this.stateObj.attributes.code_arm_required && this.stateObj!.attributes.code_arm_required &&
this.stateObj.attributes.code_format) || this.stateObj!.attributes.code_format) ||
(mode === "disarmed" && this.stateObj.attributes.code_format) (mode === "disarmed" && this.stateObj!.attributes.code_format)
) { ) {
const disarm = mode === "disarmed"; const disarm = mode === "disarmed";
const response = await showEnterCodeDialogDialog(this, { const response = await showEnterCodeDialogDialog(this, {
codeFormat: this.stateObj.attributes.code_format, codeFormat: this.stateObj!.attributes.code_format,
title: this.hass.localize( title: this.hass!.localize(
`ui.dialogs.more_info_control.alarm_control_panel.${ `ui.dialogs.more_info_control.alarm_control_panel.${
disarm ? "disarm_title" : "arm_title" disarm ? "disarm_title" : "arm_title"
}` }`
), ),
submitText: this.hass.localize( submitText: this.hass!.localize(
`ui.dialogs.more_info_control.alarm_control_panel.${ `ui.dialogs.more_info_control.alarm_control_panel.${
disarm ? "disarm_action" : "arm_action" disarm ? "disarm_action" : "arm_action"
}` }`
), ),
}); });
if (!response) { if (response == null) {
return; throw new Error("cancel");
} }
code = response; code = response;
} }
await this.hass.callService("alarm_control_panel", service, { await this.hass!.callService("alarm_control_panel", service, {
entity_id: this.stateObj!.entity_id, entity_id: this.stateObj!.entity_id,
code, code,
}); });
} }
private async _valueChanged(ev: CustomEvent) {
const mode = (ev.detail as any).value as AlarmMode;
if (ALARM_MODES[mode].state === this.stateObj!.state) return;
const oldMode = this._getCurrentMode(this.stateObj!);
this._currentMode = mode;
try {
await this._setMode(mode);
} catch (err) {
this._currentMode = oldMode;
}
}
protected render() { protected render() {
const color = stateColorCss(this.stateObj); const color = stateColorCss(this.stateObj);
@ -116,16 +117,14 @@ export class HaMoreInfoAlarmControlPanelModes extends LitElement {
.options=${options} .options=${options}
.value=${this._currentMode} .value=${this._currentMode}
@value-changed=${this._valueChanged} @value-changed=${this._valueChanged}
.label=${computeAttributeNameDisplay( .ariaLabel=${this.hass.localize(
this.hass.localize, "ui.dialogs.more_info_control.alarm_control_panel.modes_label"
this.stateObj,
this.hass.entities,
"percentage"
)} )}
style=${styleMap({ style=${styleMap({
"--control-select-color": color, "--control-select-color": color,
"--modes-count": modes.length.toString(), "--modes-count": modes.length.toString(),
})} })}
.disabled=${this.stateObj!.state === UNAVAILABLE}
> >
</ha-control-select> </ha-control-select>
`; `;

View File

@ -108,6 +108,7 @@ export class HaMoreInfoFanSpeed extends LitElement {
style=${styleMap({ style=${styleMap({
"--control-select-color": color, "--control-select-color": color,
})} })}
.disabled=${this.stateObj.state === UNAVAILABLE}
> >
</ha-control-select> </ha-control-select>
`; `;
@ -116,9 +117,9 @@ export class HaMoreInfoFanSpeed extends LitElement {
return html` return html`
<ha-control-slider <ha-control-slider
vertical vertical
.value=${this.value}
min="0" min="0"
max="100" max="100"
.value=${this.value}
.step=${this.stateObj.attributes.percentage_step ?? 1} .step=${this.stateObj.attributes.percentage_step ?? 1}
@value-changed=${this._valueChanged} @value-changed=${this._valueChanged}
.ariaLabel=${computeAttributeNameDisplay( .ariaLabel=${computeAttributeNameDisplay(

View File

@ -31,7 +31,7 @@ class MoreInfoAlarmControlPanel extends LitElement {
"ui.dialogs.more_info_control.alarm_control_panel.disarm_action" "ui.dialogs.more_info_control.alarm_control_panel.disarm_action"
), ),
}); });
if (!response) { if (response == null) {
return; return;
} }
code = response; code = response;

View File

@ -478,7 +478,7 @@ export class MoreInfoDialog extends LitElement {
@media all and (max-width: 450px) { @media all and (max-width: 450px) {
.child-view > * { .child-view > * {
min-height: calc(100vh - 56px); min-height: calc(100vh - var(--header-height));
} }
} }

View File

@ -90,7 +90,7 @@ export class MoreInfoInfo extends LitElement {
@media all and (max-width: 450px) { @media all and (max-width: 450px) {
.container { .container {
min-height: calc(100vh - 56px); min-height: calc(100vh - var(--header-height));
} }
} }

View File

@ -152,7 +152,6 @@ export class HuiNotificationDrawer extends LitElement {
--mdc-theme-primary: var(--primary-background-color); --mdc-theme-primary: var(--primary-background-color);
border-bottom: 1px solid var(--divider-color); border-bottom: 1px solid var(--divider-color);
display: block; display: block;
--header-bar-height: var(--header-height);
} }
.notifications { .notifications {

View File

@ -755,6 +755,9 @@ export class QuickBar extends LitElement {
haStyleScrollbar, haStyleScrollbar,
haStyleDialog, haStyleDialog,
css` css`
mwc-list {
--mdc-list-vertical-padding: 0;
}
.heading { .heading {
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -44,6 +44,22 @@ const handleExternalMessage = (
success: true, success: true,
result: null, result: null,
}); });
} else if (msg.command === "sidebar/toggle") {
fireEvent(hassMainEl, "hass-toggle-menu");
bus.fireMessage({
id: msg.id,
type: "result",
success: true,
result: null,
});
} else if (msg.command === "sidebar/show") {
fireEvent(hassMainEl, "hass-toggle-menu", { open: true });
bus.fireMessage({
id: msg.id,
type: "result",
success: true,
result: null,
});
} else { } else {
return false; return false;
} }

View File

@ -121,9 +121,23 @@ interface EMIncomingMessageShowNotifications {
command: "notifications/show"; command: "notifications/show";
} }
interface EMIncomingMessageToggleSidebar {
id: number;
type: "command";
command: "sidebar/toggle";
}
interface EMIncomingMessageShowSidebar {
id: number;
type: "command";
command: "sidebar/show";
}
export type EMIncomingMessageCommands = export type EMIncomingMessageCommands =
| EMIncomingMessageRestart | EMIncomingMessageRestart
| EMIncomingMessageShowNotifications; | EMIncomingMessageShowNotifications
| EMIncomingMessageToggleSidebar
| EMIncomingMessageShowSidebar;
type EMIncomingMessage = type EMIncomingMessage =
| EMMessageResultSuccess | EMMessageResultSuccess

View File

@ -19,12 +19,13 @@ import "./partial-panel-resolver";
declare global { declare global {
// for fire event // for fire event
interface HASSDomEvents { interface HASSDomEvents {
"hass-toggle-menu": undefined; "hass-toggle-menu": undefined | { open?: boolean };
"hass-edit-sidebar": EditSideBarEvent; "hass-edit-sidebar": EditSideBarEvent;
"hass-show-notifications": undefined; "hass-show-notifications": undefined;
} }
interface HTMLElementEventMap { interface HTMLElementEventMap {
"hass-edit-sidebar": HASSDomEvent<EditSideBarEvent>; "hass-edit-sidebar": HASSDomEvent<EditSideBarEvent>;
"hass-toggle-menu": HASSDomEvent<HASSDomEvents["hass-toggle-menu"]>;
} }
} }
@ -107,7 +108,7 @@ export class HomeAssistantMain extends LitElement {
} }
); );
this.addEventListener("hass-toggle-menu", () => { this.addEventListener("hass-toggle-menu", (ev) => {
if (this._sidebarEditMode) { if (this._sidebarEditMode) {
return; return;
} }
@ -118,10 +119,16 @@ export class HomeAssistantMain extends LitElement {
return; return;
} }
if (this._sidebarNarrow) { if (this._sidebarNarrow) {
this._drawerOpen = !this._drawerOpen; this._drawerOpen = ev.detail?.open ?? !this._drawerOpen;
} else { } else {
fireEvent(this, "hass-dock-sidebar", { fireEvent(this, "hass-dock-sidebar", {
dock: this.hass.dockedSidebar === "auto" ? "docked" : "auto", dock: ev.detail?.open
? "docked"
: ev.detail?.open === false
? "auto"
: this.hass.dockedSidebar === "auto"
? "docked"
: "auto",
}); });
} }
}); });

View File

@ -520,7 +520,7 @@ export class HaAutomationTrace extends LitElement {
} }
.main { .main {
height: calc(100% - 56px); height: calc(100% - var(--header-height));
display: flex; display: flex;
background-color: var(--card-background-color); background-color: var(--card-background-color);
direction: ltr; direction: ltr;

View File

@ -508,7 +508,7 @@ export class HaScriptTrace extends LitElement {
} }
.main { .main {
height: calc(100% - 56px); height: calc(100% - var(--header-height));
display: flex; display: flex;
background-color: var(--card-background-color); background-color: var(--card-background-color);
} }

View File

@ -1,23 +1,23 @@
import { mdiShieldOff } from "@mdi/js"; import { mdiShieldOff } from "@mdi/js";
import { HassEntity } from "home-assistant-js-websocket"; import { HassEntity } from "home-assistant-js-websocket";
import { css, html, LitElement, TemplateResult } from "lit"; import { css, html, LitElement, PropertyValues, TemplateResult } from "lit";
import { customElement, property, state } from "lit/decorators"; import { customElement, property, state } from "lit/decorators";
import { styleMap } from "lit/directives/style-map"; import { styleMap } from "lit/directives/style-map";
import memoizeOne from "memoize-one"; import memoizeOne from "memoize-one";
import { computeAttributeNameDisplay } from "../../../common/entity/compute_attribute_display";
import { computeDomain } from "../../../common/entity/compute_domain"; import { computeDomain } from "../../../common/entity/compute_domain";
import { stateColorCss } from "../../../common/entity/state_color"; import { stateColorCss } from "../../../common/entity/state_color";
import { supportsFeature } from "../../../common/entity/supports-feature"; import { supportsFeature } from "../../../common/entity/supports-feature";
import "../../../components/ha-control-button";
import "../../../components/ha-control-button-group";
import "../../../components/ha-control-select"; import "../../../components/ha-control-select";
import type { ControlSelectOption } from "../../../components/ha-control-select"; import type { ControlSelectOption } from "../../../components/ha-control-select";
import "../../../components/ha-control-slider"; import "../../../components/ha-control-slider";
import "../../../components/ha-control-button";
import "../../../components/ha-control-button-group";
import { import {
AlarmControlPanelEntity, AlarmControlPanelEntity,
AlarmMode, AlarmMode,
ALARM_MODES, ALARM_MODES,
} from "../../../data/alarm_control_panel"; } from "../../../data/alarm_control_panel";
import { UNAVAILABLE } from "../../../data/entity";
import { showEnterCodeDialogDialog } from "../../../dialogs/more-info/components/alarm_control_panel/show-enter-code-dialog"; import { showEnterCodeDialogDialog } from "../../../dialogs/more-info/components/alarm_control_panel/show-enter-code-dialog";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { LovelaceTileFeature, LovelaceTileFeatureEditor } from "../types"; import { LovelaceTileFeature, LovelaceTileFeatureEditor } from "../types";
@ -67,14 +67,10 @@ class HuiAlarmModeTileFeature
this._config = config; this._config = config;
} }
protected updated(changedProp: Map<string | number | symbol, unknown>): void { protected willUpdate(changedProp: PropertyValues): void {
super.updated(changedProp); super.willUpdate(changedProp);
if (changedProp.has("stateObj") && this.stateObj) { if (changedProp.has("stateObj") && this.stateObj) {
const oldStateObj = changedProp.get("stateObj") as HassEntity | undefined; this._currentMode = this._getCurrentMode(this.stateObj);
if (!oldStateObj || this.stateObj.state !== oldStateObj.state) {
this._currentMode = this._getCurrentMode(this.stateObj);
}
} }
} }
@ -108,12 +104,14 @@ class HuiAlarmModeTileFeature
if (ALARM_MODES[mode].state === this.stateObj!.state) return; if (ALARM_MODES[mode].state === this.stateObj!.state) return;
// Force ha-control-select to previous mode because we don't known if the service call will succeed due to code check const oldMode = this._getCurrentMode(this.stateObj!);
this._currentMode = mode; this._currentMode = mode;
await this.requestUpdate("_currentMode");
this._currentMode = this._getCurrentMode(this.stateObj!);
this._setMode(mode); try {
await this._setMode(mode);
} catch (err) {
this._currentMode = oldMode;
}
} }
private async _disarm() { private async _disarm() {
@ -146,13 +144,13 @@ class HuiAlarmModeTileFeature
}` }`
), ),
}); });
if (!response) { if (response == null) {
return; throw new Error("cancel");
} }
code = response; code = response;
} }
this.hass!.callService("alarm_control_panel", service, { await this.hass!.callService("alarm_control_panel", service, {
entity_id: this.stateObj!.entity_id, entity_id: this.stateObj!.entity_id,
code, code,
}); });
@ -201,16 +199,14 @@ class HuiAlarmModeTileFeature
.value=${this._currentMode} .value=${this._currentMode}
@value-changed=${this._valueChanged} @value-changed=${this._valueChanged}
hide-label hide-label
.label=${computeAttributeNameDisplay( .ariaLabel=${this.hass.localize(
this.hass.localize, "ui.dialogs.more_info_control.alarm_control_panel.modes_label"
this.stateObj,
this.hass.entities,
"percentage"
)} )}
style=${styleMap({ style=${styleMap({
"--control-select-color": color, "--control-select-color": color,
"--modes-count": modes.length.toString(), "--modes-count": modes.length.toString(),
})} })}
.disabled=${this.stateObj!.state === UNAVAILABLE}
> >
</ha-control-select> </ha-control-select>
</div> </div>

View File

@ -100,12 +100,13 @@ class HuiFanSpeedTileFeature extends LitElement implements LovelaceTileFeature {
.value=${speed} .value=${speed}
@value-changed=${this._speedValueChanged} @value-changed=${this._speedValueChanged}
hide-label hide-label
.label=${computeAttributeNameDisplay( .ariaLabel=${computeAttributeNameDisplay(
this.hass.localize, this.hass.localize,
this.stateObj, this.stateObj,
this.hass.entities, this.hass.entities,
"percentage" "percentage"
)} )}
.disabled=${this.stateObj!.state === UNAVAILABLE}
> >
</ha-control-select> </ha-control-select>
</div> </div>
@ -124,14 +125,14 @@ class HuiFanSpeedTileFeature extends LitElement implements LovelaceTileFeature {
min="0" min="0"
max="100" max="100"
.step=${this.stateObj.attributes.percentage_step ?? 1} .step=${this.stateObj.attributes.percentage_step ?? 1}
.disabled=${this.stateObj!.state === UNAVAILABLE}
@value-changed=${this._valueChanged} @value-changed=${this._valueChanged}
.label=${computeAttributeNameDisplay( .ariaLabel=${computeAttributeNameDisplay(
this.hass.localize, this.hass.localize,
this.stateObj, this.stateObj,
this.hass.entities, this.hass.entities,
"percentage" "percentage"
)} )}
.disabled=${this.stateObj!.state === UNAVAILABLE}
></ha-control-slider> ></ha-control-slider>
</div> </div>
`; `;

View File

@ -929,6 +929,7 @@
} }
}, },
"alarm_control_panel": { "alarm_control_panel": {
"modes_label": "Modes",
"modes": { "modes": {
"away": "Away", "away": "Away",
"home": "Home", "home": "Home",
@ -4463,7 +4464,7 @@
}, },
"alarm-modes": { "alarm-modes": {
"label": "Alarm modes", "label": "Alarm modes",
"modes": "Modes", "modes": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes_label%]",
"modes_list": { "modes_list": {
"away": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::away%]", "away": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::away%]",
"home": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::home%]", "home": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::home%]",

100
yarn.lock
View File

@ -4505,14 +4505,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/eslint-plugin@npm:5.56.0": "@typescript-eslint/eslint-plugin@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/eslint-plugin@npm:5.56.0" resolution: "@typescript-eslint/eslint-plugin@npm:5.57.0"
dependencies: dependencies:
"@eslint-community/regexpp": ^4.4.0 "@eslint-community/regexpp": ^4.4.0
"@typescript-eslint/scope-manager": 5.56.0 "@typescript-eslint/scope-manager": 5.57.0
"@typescript-eslint/type-utils": 5.56.0 "@typescript-eslint/type-utils": 5.57.0
"@typescript-eslint/utils": 5.56.0 "@typescript-eslint/utils": 5.57.0
debug: ^4.3.4 debug: ^4.3.4
grapheme-splitter: ^1.0.4 grapheme-splitter: ^1.0.4
ignore: ^5.2.0 ignore: ^5.2.0
@ -4525,43 +4525,43 @@ __metadata:
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: 2eed4a4ed8279950ad553252e8623e947ffdee39b0d677a13f6e4e2d863ea1cbc5d683ff189e55d0de6fd5a25afd72d3c3a9ab7ae417d5405a21ead907e1b154 checksum: be13aa74ee6f15f0ae67781c625d9dcf3ce8a3feca2b125eef0cfee850b7f9f0cec23fc56a729ef25926298fe3ea51603ebeee2b93fc9b73fce1410638707177
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/parser@npm:5.56.0": "@typescript-eslint/parser@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/parser@npm:5.56.0" resolution: "@typescript-eslint/parser@npm:5.57.0"
dependencies: dependencies:
"@typescript-eslint/scope-manager": 5.56.0 "@typescript-eslint/scope-manager": 5.57.0
"@typescript-eslint/types": 5.56.0 "@typescript-eslint/types": 5.57.0
"@typescript-eslint/typescript-estree": 5.56.0 "@typescript-eslint/typescript-estree": 5.57.0
debug: ^4.3.4 debug: ^4.3.4
peerDependencies: peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: eb25490290bd5e22f9c42603dedc0d2d8ee845553e3cf48ea377bd5dc22440d3463f8b84be637b6a2b37cd9ea56b21e4e43007a0a69998948d9c8965c03fe1aa checksum: b7e8345631911f721591ba970fea5c888f0f3bf2e2ea2dbc3e5b0dc345c0776b62b92c534edfde1379b4b182958a421f35ac26d84705fe6ae7dd37aa675d9493
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/scope-manager@npm:5.56.0": "@typescript-eslint/scope-manager@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/scope-manager@npm:5.56.0" resolution: "@typescript-eslint/scope-manager@npm:5.57.0"
dependencies: dependencies:
"@typescript-eslint/types": 5.56.0 "@typescript-eslint/types": 5.57.0
"@typescript-eslint/visitor-keys": 5.56.0 "@typescript-eslint/visitor-keys": 5.57.0
checksum: bacac255ee52148cee6622be2811c0d7e25419058b89f1a11f4c1303faef4535a0a1237549f9556ec1d7a297c640ce4357183a1a8465d72e1393b7d8fb43874b checksum: 4a851f23da2adbf6341b04c1e3f19fcb66415683f26805d3123725d18845bd4a150bd182de0a91279d5682f2568bb5dd831d4ad0bdb70f49d9ca7381cec4dd17
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/type-utils@npm:5.56.0": "@typescript-eslint/type-utils@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/type-utils@npm:5.56.0" resolution: "@typescript-eslint/type-utils@npm:5.57.0"
dependencies: dependencies:
"@typescript-eslint/typescript-estree": 5.56.0 "@typescript-eslint/typescript-estree": 5.57.0
"@typescript-eslint/utils": 5.56.0 "@typescript-eslint/utils": 5.57.0
debug: ^4.3.4 debug: ^4.3.4
tsutils: ^3.21.0 tsutils: ^3.21.0
peerDependencies: peerDependencies:
@ -4569,23 +4569,23 @@ __metadata:
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: 3dd1fcfadad18790b900a3d90f6617904adb6b0e2bd1e1edb6ebf239e1399865ca9098647405385feb4252d8b2b4577883e6fd3ef8d00bdd521d6070972d486b checksum: 649d000edabfe4e567b8a384d0012c56396e40ce2123a78857d4b8da6bf2288627dc355745bd7d4a2877d4cc8a26e1d1dbfc422e6382ac3d3ab431b92eb5b852
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/types@npm:5.56.0": "@typescript-eslint/types@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/types@npm:5.56.0" resolution: "@typescript-eslint/types@npm:5.57.0"
checksum: 82ca11553bbb1bbfcaf7e7760b03c0d898940238dc002552c21af3e58f7d482c64c3c6cf0666521aff2a1e7b4b58bb6e4d9a00b1e4998a16b5039f5d288d003a checksum: 79a100fb650965f63c01c20e6abd79ca0d2043c3a329b9fef89917d6b9ba3c0f946dca3f14f2975ee6349daadd6ce0e98fde3aafe4b710e5a27abe1adc590c85
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/typescript-estree@npm:5.56.0": "@typescript-eslint/typescript-estree@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/typescript-estree@npm:5.56.0" resolution: "@typescript-eslint/typescript-estree@npm:5.57.0"
dependencies: dependencies:
"@typescript-eslint/types": 5.56.0 "@typescript-eslint/types": 5.57.0
"@typescript-eslint/visitor-keys": 5.56.0 "@typescript-eslint/visitor-keys": 5.57.0
debug: ^4.3.4 debug: ^4.3.4
globby: ^11.1.0 globby: ^11.1.0
is-glob: ^4.0.3 is-glob: ^4.0.3
@ -4594,35 +4594,35 @@ __metadata:
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
checksum: ec3e85201786aa9adddba7cb834a9f330a7f55c729ee9ccf847dbdc2f7437b760f3774152ccad6d0aa48d13fd78df766c880e3a7ca42e01a20aba0e1a1ed61c5 checksum: 648b88f88ea6cc293ec67b4c0f4f3c2bf733be7e0f2eee08aadbaec6939fd724a6c287decc336abbf67b9e366cc2c48f2e0e48d8302b533e783f798332a06e83
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/utils@npm:5.56.0": "@typescript-eslint/utils@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/utils@npm:5.56.0" resolution: "@typescript-eslint/utils@npm:5.57.0"
dependencies: dependencies:
"@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/eslint-utils": ^4.2.0
"@types/json-schema": ^7.0.9 "@types/json-schema": ^7.0.9
"@types/semver": ^7.3.12 "@types/semver": ^7.3.12
"@typescript-eslint/scope-manager": 5.56.0 "@typescript-eslint/scope-manager": 5.57.0
"@typescript-eslint/types": 5.56.0 "@typescript-eslint/types": 5.57.0
"@typescript-eslint/typescript-estree": 5.56.0 "@typescript-eslint/typescript-estree": 5.57.0
eslint-scope: ^5.1.1 eslint-scope: ^5.1.1
semver: ^7.3.7 semver: ^7.3.7
peerDependencies: peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
checksum: 413e8d4bf7023ee5ba4f695b62e796a1f94930bb92fe5aa0cee58f63b9837116c23f618825a9c671f610e50f5630188b6059b4ed6b05a2a3336f01d8e977becb checksum: 461258e1194d24c5e642c65ba1afd612712fa8e617ac85cfbbe3dde2557fe4abadedbce19a6954ae0cccbfb92b8a09f38d65a3eedca0394861a5d1c4c893c5ed
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/visitor-keys@npm:5.56.0": "@typescript-eslint/visitor-keys@npm:5.57.0":
version: 5.56.0 version: 5.57.0
resolution: "@typescript-eslint/visitor-keys@npm:5.56.0" resolution: "@typescript-eslint/visitor-keys@npm:5.57.0"
dependencies: dependencies:
"@typescript-eslint/types": 5.56.0 "@typescript-eslint/types": 5.57.0
eslint-visitor-keys: ^3.3.0 eslint-visitor-keys: ^3.3.0
checksum: 568fda40134e153d7befb59b55698f7919ba780d2d3431d8745feabf2e0fbb8aa7a02173b3c467dd20a0f6594e5248a1f82bb25d6c37827716d77452e86cad29 checksum: 77d53f74648e48bf1c6313cd60568c2b1539157ac13945f26204a54beb156666c24f3d033dd0db8ed5d1d4595ee63c072732b17132e4488b46763bf8fdcefa49
languageName: node languageName: node
linkType: hard linkType: hard
@ -9492,8 +9492,8 @@ __metadata:
"@types/sortablejs": 1.15.1 "@types/sortablejs": 1.15.1
"@types/tar": 6.1.4 "@types/tar": 6.1.4
"@types/webspeechapi": 0.0.29 "@types/webspeechapi": 0.0.29
"@typescript-eslint/eslint-plugin": 5.56.0 "@typescript-eslint/eslint-plugin": 5.57.0
"@typescript-eslint/parser": 5.56.0 "@typescript-eslint/parser": 5.57.0
"@vaadin/combo-box": 23.3.9 "@vaadin/combo-box": 23.3.9
"@vaadin/vaadin-themable-mixin": 23.3.9 "@vaadin/vaadin-themable-mixin": 23.3.9
"@vibrant/color": 3.2.1-alpha.1 "@vibrant/color": 3.2.1-alpha.1