mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-28 11:46:42 +00:00
20231005.0 (#18126)
* Update dependency @material/web to v1.0.0 (#18070) * Update dependency @material/web to v1.0.0 * Fix icon button size * Remove unused ios override --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Paul Bottein <paul.bottein@gmail.com> * Update dependency magic-string to v0.30.4 (#18089) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Bump postcss from 8.4.30 to 8.4.31 (#18110) Bumps [postcss](https://github.com/postcss/postcss) from 8.4.30 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.30...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update CodeMirror (#18096) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update vaadinWebComponents monorepo to v24.1.10 (#18092) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Make the "icon next/prev" series load faster (#18087) * Preserve ancillary fields in a repeat action when modifying the form (#18068) * Do not clear alias when editing automation action, condition or trigger (#18114) * Use restart dialog confirmation for quick command (#18113) * Add translations for restore backup dialogs (#18112) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> * Hide tooltip after clicking on a chart to display more info (cosmetic change) (#18103) * fix setting wake word to first option everytime (#18121) * Fix class field for ha-icon-next/prev (#18118) * Set border-radius to 0 for img in thread panel (#18124) * Load Intl locale data in parallel (#18120) * Load Intl locale data in parallel * Switch to check result.ok * Update dependency @codemirror/view to v6.21.1 (#18125) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Bumped version to 20231005.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kendell R <KTibow@users.noreply.github.com> Co-authored-by: karwosts <32912880+karwosts@users.noreply.github.com> Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Co-authored-by: K3A <966992+k3a@users.noreply.github.com> Co-authored-by: Bram Kragten <mail@bramkragten.nl> Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
This commit is contained in:
parent
75c43d15e1
commit
9a84ce7b81
@ -360,11 +360,9 @@ export class HassioBackups extends LitElement {
|
||||
if (this.supervisor!.info.state !== "running") {
|
||||
showAlertDialog(this, {
|
||||
title: this.supervisor!.localize("backup.could_not_create"),
|
||||
text: this.supervisor!.localize(
|
||||
"backup.create_blocked_not_running",
|
||||
"state",
|
||||
this.supervisor!.info.state
|
||||
),
|
||||
text: this.supervisor!.localize("backup.create_blocked_not_running", {
|
||||
state: this.supervisor!.info.state,
|
||||
}),
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
@ -31,6 +31,7 @@ import { fileDownload } from "../../../../src/util/file_download";
|
||||
import "../../components/supervisor-backup-content";
|
||||
import type { SupervisorBackupContent } from "../../components/supervisor-backup-content";
|
||||
import { HassioBackupDialogParams } from "./show-dialog-hassio-backup";
|
||||
import { BackupOrRestoreKey } from "../../util/translations";
|
||||
|
||||
@customElement("dialog-hassio-backup")
|
||||
class HassioBackupDialog
|
||||
@ -64,6 +65,13 @@ class HassioBackupDialog
|
||||
fireEvent(this, "dialog-closed", { dialog: this.localName });
|
||||
}
|
||||
|
||||
private _localize(key: BackupOrRestoreKey) {
|
||||
return (
|
||||
this._dialogParams!.supervisor?.localize(`backup.${key}`) ||
|
||||
this._dialogParams!.localize!(`ui.panel.page-onboarding.restore.${key}`)
|
||||
);
|
||||
}
|
||||
|
||||
protected render() {
|
||||
if (!this._dialogParams || !this._backup) {
|
||||
return nothing;
|
||||
@ -79,7 +87,7 @@ class HassioBackupDialog
|
||||
<ha-header-bar>
|
||||
<span slot="title">${this._backup.name}</span>
|
||||
<ha-icon-button
|
||||
.label=${this.hass?.localize("ui.common.close") || "Close"}
|
||||
.label=${this._localize("close")}
|
||||
.path=${mdiClose}
|
||||
slot="actionItems"
|
||||
dialogAction="cancel"
|
||||
@ -87,8 +95,9 @@ class HassioBackupDialog
|
||||
</ha-header-bar>
|
||||
</div>
|
||||
${this._restoringBackup
|
||||
? html` <ha-circular-progress active></ha-circular-progress>`
|
||||
: html`<supervisor-backup-content
|
||||
? html`<ha-circular-progress active></ha-circular-progress>`
|
||||
: html`
|
||||
<supervisor-backup-content
|
||||
.hass=${this.hass}
|
||||
.supervisor=${this._dialogParams.supervisor}
|
||||
.backup=${this._backup}
|
||||
@ -96,20 +105,21 @@ class HassioBackupDialog
|
||||
.localize=${this._dialogParams.localize}
|
||||
dialogInitialFocus
|
||||
>
|
||||
</supervisor-backup-content>`}
|
||||
</supervisor-backup-content>
|
||||
`}
|
||||
${this._error
|
||||
? html`<ha-alert alert-type="error">${this._error}</ha-alert>`
|
||||
: ""}
|
||||
: nothing}
|
||||
|
||||
<mwc-button
|
||||
.disabled=${this._restoringBackup}
|
||||
slot="secondaryAction"
|
||||
@click=${this._restoreClicked}
|
||||
>
|
||||
Restore
|
||||
${this._localize("restore")}
|
||||
</mwc-button>
|
||||
|
||||
${!this._dialogParams.onboarding
|
||||
${!this._dialogParams.onboarding && this._dialogParams.supervisor
|
||||
? html`<ha-button-menu
|
||||
fixed
|
||||
slot="primaryAction"
|
||||
@ -117,22 +127,24 @@ class HassioBackupDialog
|
||||
@closed=${stopPropagation}
|
||||
>
|
||||
<ha-icon-button
|
||||
.label=${this.hass!.localize("ui.common.menu") || "Menu"}
|
||||
.label=${this._dialogParams.supervisor.localize(
|
||||
"backup.more_actions"
|
||||
)}
|
||||
.path=${mdiDotsVertical}
|
||||
slot="trigger"
|
||||
></ha-icon-button>
|
||||
<mwc-list-item
|
||||
>${this._dialogParams.supervisor?.localize(
|
||||
>${this._dialogParams.supervisor.localize(
|
||||
"backup.download_backup"
|
||||
)}</mwc-list-item
|
||||
>
|
||||
<mwc-list-item class="error"
|
||||
>${this._dialogParams.supervisor?.localize(
|
||||
>${this._dialogParams.supervisor.localize(
|
||||
"backup.delete_backup_title"
|
||||
)}</mwc-list-item
|
||||
>
|
||||
</ha-button-menu>`
|
||||
: ""}
|
||||
: nothing}
|
||||
</ha-dialog>
|
||||
`;
|
||||
}
|
||||
@ -183,21 +195,22 @@ class HassioBackupDialog
|
||||
}
|
||||
|
||||
private async _partialRestoreClicked(backupDetails) {
|
||||
if (
|
||||
this._dialogParams?.supervisor !== undefined &&
|
||||
this._dialogParams?.supervisor.info.state !== "running"
|
||||
) {
|
||||
const supervisor = this._dialogParams?.supervisor;
|
||||
if (supervisor !== undefined && supervisor.info.state !== "running") {
|
||||
await showAlertDialog(this, {
|
||||
title: "Could not restore backup",
|
||||
text: `Restoring a backup is not possible right now because the system is in ${this._dialogParams?.supervisor.info.state} state.`,
|
||||
title: supervisor.localize("backup.could_not_restore"),
|
||||
text: supervisor.localize("backup.restore_blocked_not_running", {
|
||||
state: supervisor.info.state,
|
||||
}),
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (
|
||||
!(await showConfirmationDialog(this, {
|
||||
title: "Are you sure you want to restore this partial backup?",
|
||||
confirmText: "restore",
|
||||
dismissText: "cancel",
|
||||
title: this._localize("confirm_restore_partial_backup_title"),
|
||||
text: this._localize("confirm_restore_partial_backup_text"),
|
||||
confirmText: this._localize("restore"),
|
||||
dismissText: this._localize("cancel"),
|
||||
}))
|
||||
) {
|
||||
return;
|
||||
@ -230,22 +243,22 @@ class HassioBackupDialog
|
||||
}
|
||||
|
||||
private async _fullRestoreClicked(backupDetails) {
|
||||
if (
|
||||
this._dialogParams?.supervisor !== undefined &&
|
||||
this._dialogParams?.supervisor.info.state !== "running"
|
||||
) {
|
||||
const supervisor = this._dialogParams?.supervisor;
|
||||
if (supervisor !== undefined && supervisor.info.state !== "running") {
|
||||
await showAlertDialog(this, {
|
||||
title: "Could not restore backup",
|
||||
text: `Restoring a backup is not possible right now because the system is in ${this._dialogParams?.supervisor.info.state} state.`,
|
||||
title: supervisor.localize("backup.could_not_restore"),
|
||||
text: supervisor.localize("backup.restore_blocked_not_running", {
|
||||
state: supervisor.info.state,
|
||||
}),
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (
|
||||
!(await showConfirmationDialog(this, {
|
||||
title:
|
||||
"Are you sure you want to wipe your system and restore this backup?",
|
||||
confirmText: "restore",
|
||||
dismissText: "cancel",
|
||||
title: this._localize("confirm_restore_full_backup_title"),
|
||||
text: this._localize("confirm_restore_full_backup_text"),
|
||||
confirmText: this._localize("restore"),
|
||||
dismissText: this._localize("cancel"),
|
||||
}))
|
||||
) {
|
||||
return;
|
||||
@ -279,11 +292,15 @@ class HassioBackupDialog
|
||||
}
|
||||
|
||||
private async _deleteClicked() {
|
||||
const supervisor = this._dialogParams?.supervisor;
|
||||
if (!supervisor) return;
|
||||
|
||||
if (
|
||||
!(await showConfirmationDialog(this, {
|
||||
title: "Are you sure you want to delete this backup?",
|
||||
confirmText: "delete",
|
||||
dismissText: "cancel",
|
||||
title: supervisor!.localize("backup.confirm_delete_title"),
|
||||
text: supervisor!.localize("backup.confirm_delete_text"),
|
||||
confirmText: supervisor!.localize("backup.delete"),
|
||||
dismissText: supervisor!.localize("backup.cancel"),
|
||||
}))
|
||||
) {
|
||||
return;
|
||||
@ -301,6 +318,9 @@ class HassioBackupDialog
|
||||
}
|
||||
|
||||
private async _downloadClicked() {
|
||||
const supervisor = this._dialogParams?.supervisor;
|
||||
if (!supervisor) return;
|
||||
|
||||
let signedPath: { path: string };
|
||||
try {
|
||||
signedPath = await getSignedPath(
|
||||
@ -320,10 +340,10 @@ class HassioBackupDialog
|
||||
|
||||
if (window.location.href.includes("ui.nabu.casa")) {
|
||||
const confirm = await showConfirmationDialog(this, {
|
||||
title: "Potential slow download",
|
||||
text: "Downloading backups over the Nabu Casa URL will take some time, it is recomended to use your local URL instead, do you want to continue?",
|
||||
confirmText: "continue",
|
||||
dismissText: "cancel",
|
||||
title: supervisor.localize("backup.remote_download_title"),
|
||||
text: supervisor.localize("backup.remote_download_text"),
|
||||
confirmText: supervisor.localize("backup.download"),
|
||||
dismissText: this._localize("cancel"),
|
||||
});
|
||||
if (!confirm) {
|
||||
return;
|
||||
|
@ -89,8 +89,7 @@ class HassioCreateBackupDialog extends LitElement {
|
||||
),
|
||||
text: this._dialogParams!.supervisor.localize(
|
||||
"backup.create_blocked_not_running",
|
||||
"state",
|
||||
this._dialogParams!.supervisor.info.state
|
||||
{ state: this._dialogParams!.supervisor.info.state }
|
||||
),
|
||||
});
|
||||
return;
|
||||
|
4
hassio/src/util/translations.ts
Normal file
4
hassio/src/util/translations.ts
Normal file
@ -0,0 +1,4 @@
|
||||
import type { TranslationDict } from "../../../src/types";
|
||||
|
||||
export type BackupOrRestoreKey = keyof TranslationDict["supervisor"]["backup"] &
|
||||
keyof TranslationDict["ui"]["panel"]["page-onboarding"]["restore"];
|
12
package.json
12
package.json
@ -28,12 +28,12 @@
|
||||
"@babel/runtime": "7.23.1",
|
||||
"@braintree/sanitize-url": "6.0.4",
|
||||
"@codemirror/autocomplete": "6.9.1",
|
||||
"@codemirror/commands": "6.2.5",
|
||||
"@codemirror/commands": "6.3.0",
|
||||
"@codemirror/language": "6.9.1",
|
||||
"@codemirror/legacy-modes": "6.3.3",
|
||||
"@codemirror/search": "6.5.4",
|
||||
"@codemirror/state": "6.2.1",
|
||||
"@codemirror/view": "6.20.2",
|
||||
"@codemirror/view": "6.21.1",
|
||||
"@egjs/hammerjs": "2.0.17",
|
||||
"@formatjs/intl-datetimeformat": "6.10.3",
|
||||
"@formatjs/intl-displaynames": "6.5.2",
|
||||
@ -80,7 +80,7 @@
|
||||
"@material/mwc-top-app-bar": "0.27.0",
|
||||
"@material/mwc-top-app-bar-fixed": "0.27.0",
|
||||
"@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0",
|
||||
"@material/web": "=1.0.0-pre.17",
|
||||
"@material/web": "=1.0.0",
|
||||
"@mdi/js": "7.2.96",
|
||||
"@mdi/svg": "7.2.96",
|
||||
"@polymer/iron-flex-layout": "3.0.1",
|
||||
@ -94,8 +94,8 @@
|
||||
"@polymer/paper-toast": "3.0.1",
|
||||
"@polymer/polymer": "3.5.1",
|
||||
"@thomasloven/round-slider": "0.6.0",
|
||||
"@vaadin/combo-box": "24.1.9",
|
||||
"@vaadin/vaadin-themable-mixin": "24.1.9",
|
||||
"@vaadin/combo-box": "24.1.10",
|
||||
"@vaadin/vaadin-themable-mixin": "24.1.10",
|
||||
"@vibrant/color": "3.2.1-alpha.1",
|
||||
"@vibrant/core": "3.2.1-alpha.1",
|
||||
"@vibrant/quantizer-mmcq": "3.2.1-alpha.1",
|
||||
@ -223,7 +223,7 @@
|
||||
"lint-staged": "14.0.1",
|
||||
"lit-analyzer": "2.0.0-pre.3",
|
||||
"lodash.template": "4.5.0",
|
||||
"magic-string": "0.30.3",
|
||||
"magic-string": "0.30.4",
|
||||
"map-stream": "0.0.7",
|
||||
"mocha": "10.2.0",
|
||||
"object-hash": "3.0.0",
|
||||
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "home-assistant-frontend"
|
||||
version = "20231002.0"
|
||||
version = "20231005.0"
|
||||
license = {text = "Apache-2.0"}
|
||||
description = "The Home Assistant frontend"
|
||||
readme = "README.md"
|
||||
|
@ -180,7 +180,9 @@ export class StateHistoryChartLine extends LitElement {
|
||||
return;
|
||||
}
|
||||
|
||||
const points = e.chart.getElementsAtEventForMode(
|
||||
const chart = e.chart;
|
||||
|
||||
const points = chart.getElementsAtEventForMode(
|
||||
e,
|
||||
"nearest",
|
||||
{ intersect: true },
|
||||
@ -192,6 +194,7 @@ export class StateHistoryChartLine extends LitElement {
|
||||
fireEvent(this, "hass-more-info", {
|
||||
entityId: this._entityIds[firstPoint.datasetIndex],
|
||||
});
|
||||
chart.canvas.dispatchEvent(new Event("mouseout")); // to hide tooltip
|
||||
}
|
||||
},
|
||||
};
|
||||
|
@ -238,6 +238,7 @@ export class StateHistoryChartTimeline extends LitElement {
|
||||
// @ts-ignore
|
||||
entityId: this._chartData?.datasets[index]?.label,
|
||||
});
|
||||
chart.canvas.dispatchEvent(new Event("mouseout")); // to hide tooltip
|
||||
},
|
||||
};
|
||||
}
|
||||
|
@ -12,19 +12,8 @@ export class HaIconButtonArrowNext extends LitElement {
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
@state() private _icon = mdiArrowRight;
|
||||
|
||||
public connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
// wait to check for direction since otherwise direction is wrong even though top level is RTL
|
||||
setTimeout(() => {
|
||||
this._icon =
|
||||
window.getComputedStyle(this).direction === "ltr"
|
||||
? mdiArrowRight
|
||||
: mdiArrowLeft;
|
||||
}, 100);
|
||||
}
|
||||
@state() private _icon =
|
||||
document.dir === "ltr" ? mdiArrowRight : mdiArrowLeft;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
|
@ -12,19 +12,8 @@ export class HaIconButtonArrowPrev extends LitElement {
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
@state() private _icon = mdiArrowLeft;
|
||||
|
||||
public connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
// wait to check for direction since otherwise direction is wrong even though top level is RTL
|
||||
setTimeout(() => {
|
||||
this._icon =
|
||||
window.getComputedStyle(this).direction === "ltr"
|
||||
? mdiArrowLeft
|
||||
: mdiArrowRight;
|
||||
}, 100);
|
||||
}
|
||||
@state() private _icon =
|
||||
document.dir === "ltr" ? mdiArrowLeft : mdiArrowRight;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
|
@ -12,19 +12,8 @@ export class HaIconButtonNext extends LitElement {
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
@state() private _icon = mdiChevronRight;
|
||||
|
||||
public connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
// wait to check for direction since otherwise direction is wrong even though top level is RTL
|
||||
setTimeout(() => {
|
||||
this._icon =
|
||||
window.getComputedStyle(this).direction === "ltr"
|
||||
? mdiChevronRight
|
||||
: mdiChevronLeft;
|
||||
}, 100);
|
||||
}
|
||||
@state() private _icon =
|
||||
document.dir === "ltr" ? mdiChevronRight : mdiChevronLeft;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
|
@ -12,19 +12,8 @@ export class HaIconButtonPrev extends LitElement {
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
@state() private _icon = mdiChevronLeft;
|
||||
|
||||
public connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
// wait to check for direction since otherwise direction is wrong even though top level is RTL
|
||||
setTimeout(() => {
|
||||
this._icon =
|
||||
window.getComputedStyle(this).direction === "ltr"
|
||||
? mdiChevronLeft
|
||||
: mdiChevronRight;
|
||||
}, 100);
|
||||
}
|
||||
@state() private _icon =
|
||||
document.dir === "ltr" ? mdiChevronLeft : mdiChevronRight;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
|
@ -1,20 +1,11 @@
|
||||
import { mdiChevronLeft, mdiChevronRight } from "@mdi/js";
|
||||
import { customElement } from "lit/decorators";
|
||||
import { customElement, property } from "lit/decorators";
|
||||
import { HaSvgIcon } from "./ha-svg-icon";
|
||||
|
||||
@customElement("ha-icon-next")
|
||||
export class HaIconNext extends HaSvgIcon {
|
||||
public connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
// wait to check for direction since otherwise direction is wrong even though top level is RTL
|
||||
setTimeout(() => {
|
||||
this.path =
|
||||
window.getComputedStyle(this).direction === "ltr"
|
||||
? mdiChevronRight
|
||||
: mdiChevronLeft;
|
||||
}, 100);
|
||||
}
|
||||
@property() public override path =
|
||||
document.dir === "ltr" ? mdiChevronRight : mdiChevronLeft;
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
@ -1,20 +1,11 @@
|
||||
import { mdiChevronLeft, mdiChevronRight } from "@mdi/js";
|
||||
import { customElement } from "lit/decorators";
|
||||
import { customElement, property } from "lit/decorators";
|
||||
import { HaSvgIcon } from "./ha-svg-icon";
|
||||
|
||||
@customElement("ha-icon-prev")
|
||||
export class HaIconPrev extends HaSvgIcon {
|
||||
public connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
// wait to check for direction since otherwise direction is wrong even though top level is RTL
|
||||
setTimeout(() => {
|
||||
this.path =
|
||||
window.getComputedStyle(this).direction === "ltr"
|
||||
? mdiChevronLeft
|
||||
: mdiChevronRight;
|
||||
}, 100);
|
||||
}
|
||||
@property() public override path =
|
||||
document.dir === "ltr" ? mdiChevronLeft : mdiChevronRight;
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
@ -29,11 +29,6 @@ export class HaOutlinedIconButton extends IconButton {
|
||||
--md-ripple-hover-opacity: 0;
|
||||
--md-ripple-pressed-opacity: 0;
|
||||
}
|
||||
.outlined {
|
||||
/* Fix md-outlined-icon-button padding and margin for iOS */
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
@ -60,7 +60,8 @@ export const moreInfoControlCircularSliderStyle = css`
|
||||
justify-content: space-between;
|
||||
}
|
||||
.buttons ha-outlined-icon-button {
|
||||
--md-outlined-icon-button-container-size: 48px;
|
||||
--md-outlined-icon-button-container-width: 48px;
|
||||
--md-outlined-icon-button-container-height: 48px;
|
||||
--md-outlined-icon-button-icon-size: 24px;
|
||||
}
|
||||
/* Accessibility */
|
||||
|
@ -8,7 +8,7 @@ import {
|
||||
mdiReload,
|
||||
mdiServerNetwork,
|
||||
} from "@mdi/js";
|
||||
import { css, html, LitElement, nothing } from "lit";
|
||||
import { LitElement, css, html, nothing } from "lit";
|
||||
import { customElement, property, query, state } from "lit/decorators";
|
||||
import { ifDefined } from "lit/directives/if-defined";
|
||||
import { styleMap } from "lit/directives/style-map";
|
||||
@ -23,8 +23,8 @@ import { domainIcon } from "../../common/entity/domain_icon";
|
||||
import { navigate } from "../../common/navigate";
|
||||
import { caseInsensitiveStringCompare } from "../../common/string/compare";
|
||||
import {
|
||||
fuzzyFilterSort,
|
||||
ScorableTextItem,
|
||||
fuzzyFilterSort,
|
||||
} from "../../common/string/filter/sequence-matching";
|
||||
import { debounce } from "../../common/util/debounce";
|
||||
import "../../components/ha-chip";
|
||||
@ -40,10 +40,7 @@ import { configSections } from "../../panels/config/ha-panel-config";
|
||||
import { haStyleDialog, haStyleScrollbar } from "../../resources/styles";
|
||||
import { loadVirtualizer } from "../../resources/virtualizer";
|
||||
import { HomeAssistant } from "../../types";
|
||||
import {
|
||||
ConfirmationDialogParams,
|
||||
showConfirmationDialog,
|
||||
} from "../generic/show-dialog-box";
|
||||
import { showConfirmationDialog } from "../generic/show-dialog-box";
|
||||
import { QuickBarParams } from "./show-dialog-quick-bar";
|
||||
|
||||
interface QuickBarItem extends ScorableTextItem {
|
||||
@ -602,16 +599,30 @@ export class QuickBar extends LitElement {
|
||||
`ui.dialogs.quick-bar.commands.types.${categoryKey}`
|
||||
),
|
||||
categoryKey,
|
||||
action: () => this.hass.callService("homeassistant", action),
|
||||
action: async () => {
|
||||
const confirmed = await showConfirmationDialog(this, {
|
||||
title: this.hass.localize(
|
||||
`ui.dialogs.restart.${action}.confirm_title`
|
||||
),
|
||||
text: this.hass.localize(
|
||||
`ui.dialogs.restart.${action}.confirm_description`
|
||||
),
|
||||
confirmText: this.hass.localize(
|
||||
`ui.dialogs.restart.${action}.confirm_action`
|
||||
),
|
||||
destructive: true,
|
||||
});
|
||||
if (!confirmed) {
|
||||
return;
|
||||
}
|
||||
this.hass.callService("homeassistant", action);
|
||||
},
|
||||
};
|
||||
|
||||
return this._generateConfirmationCommand(
|
||||
{
|
||||
return {
|
||||
...item,
|
||||
strings: [`${item.categoryText} ${item.primaryText}`],
|
||||
},
|
||||
this.hass.localize("ui.dialogs.generic.ok")
|
||||
);
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
@ -717,20 +728,6 @@ export class QuickBar extends LitElement {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
private _generateConfirmationCommand(
|
||||
item: CommandItem,
|
||||
confirmText: ConfirmationDialogParams["confirmText"]
|
||||
): CommandItem {
|
||||
return {
|
||||
...item,
|
||||
action: () =>
|
||||
showConfirmationDialog(this, {
|
||||
confirmText,
|
||||
confirm: item.action,
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
private _finalizeNavigationCommands(
|
||||
items: BaseNavigationCommand[]
|
||||
): CommandItem[] {
|
||||
|
@ -391,7 +391,10 @@ export default class HaAutomationActionRow extends LitElement {
|
||||
></ha-yaml-editor>
|
||||
`
|
||||
: html`
|
||||
<div @ui-mode-not-available=${this._handleUiModeNotAvailable}>
|
||||
<div
|
||||
@ui-mode-not-available=${this._handleUiModeNotAvailable}
|
||||
@value-changed=${this._onUiChanged}
|
||||
>
|
||||
${dynamicElement(`ha-automation-action-${type}`, {
|
||||
hass: this.hass,
|
||||
action: this.action,
|
||||
@ -530,6 +533,15 @@ export default class HaAutomationActionRow extends LitElement {
|
||||
fireEvent(this, "value-changed", { value: ev.detail.value });
|
||||
}
|
||||
|
||||
private _onUiChanged(ev: CustomEvent) {
|
||||
ev.stopPropagation();
|
||||
const value = {
|
||||
...(this.action.alias ? { alias: this.action.alias } : {}),
|
||||
...ev.detail.value,
|
||||
};
|
||||
fireEvent(this, "value-changed", { value });
|
||||
}
|
||||
|
||||
private _switchUiMode() {
|
||||
this._warnings = undefined;
|
||||
this._yamlMode = false;
|
||||
|
@ -54,6 +54,7 @@ export class HaSceneAction extends LitElement implements ActionElement {
|
||||
ev.stopPropagation();
|
||||
fireEvent(this, "value-changed", {
|
||||
value: {
|
||||
...this.action,
|
||||
service: "scene.turn_on",
|
||||
target: {
|
||||
entity_id: ev.detail.value,
|
||||
|
@ -51,6 +51,7 @@ export class HaPlayMediaAction extends LitElement implements ActionElement {
|
||||
ev.stopPropagation();
|
||||
fireEvent(this, "value-changed", {
|
||||
value: {
|
||||
...this.action,
|
||||
service: "media_player.play_media",
|
||||
target: { entity_id: ev.detail.value.entity_id },
|
||||
data: {
|
||||
|
@ -139,6 +139,7 @@ export class HaRepeatAction extends LitElement implements ActionElement {
|
||||
|
||||
fireEvent(this, "value-changed", {
|
||||
value: {
|
||||
...this.action,
|
||||
repeat: { ...newVal },
|
||||
},
|
||||
});
|
||||
|
@ -62,7 +62,7 @@ export default class HaAutomationConditionEditor extends LitElement {
|
||||
></ha-yaml-editor>
|
||||
`
|
||||
: html`
|
||||
<div>
|
||||
<div @value-changed=${this._onUiChanged}>
|
||||
${dynamicElement(
|
||||
`ha-automation-condition-${condition.condition}`,
|
||||
{
|
||||
@ -86,6 +86,15 @@ export default class HaAutomationConditionEditor extends LitElement {
|
||||
fireEvent(this, "value-changed", { value: ev.detail.value, yaml: true });
|
||||
}
|
||||
|
||||
private _onUiChanged(ev: CustomEvent) {
|
||||
ev.stopPropagation();
|
||||
const value = {
|
||||
...(this.condition.alias ? { alias: this.condition.alias } : {}),
|
||||
...ev.detail.value,
|
||||
};
|
||||
fireEvent(this, "value-changed", { value });
|
||||
}
|
||||
|
||||
static styles = haStyle;
|
||||
}
|
||||
|
||||
|
@ -350,7 +350,10 @@ export default class HaAutomationTriggerRow extends LitElement {
|
||||
</ha-textfield>
|
||||
`
|
||||
: ""}
|
||||
<div @ui-mode-not-available=${this._handleUiModeNotAvailable}>
|
||||
<div
|
||||
@ui-mode-not-available=${this._handleUiModeNotAvailable}
|
||||
@value-changed=${this._onUiChanged}
|
||||
>
|
||||
${dynamicElement(
|
||||
`ha-automation-trigger-${this.trigger.platform}`,
|
||||
{
|
||||
@ -562,6 +565,15 @@ export default class HaAutomationTriggerRow extends LitElement {
|
||||
fireEvent(this, "value-changed", { value: ev.detail.value });
|
||||
}
|
||||
|
||||
private _onUiChanged(ev: CustomEvent) {
|
||||
ev.stopPropagation();
|
||||
const value = {
|
||||
...(this.trigger.alias ? { alias: this.trigger.alias } : {}),
|
||||
...ev.detail.value,
|
||||
};
|
||||
fireEvent(this, "value-changed", { value });
|
||||
}
|
||||
|
||||
private _switchUiMode() {
|
||||
this._warnings = undefined;
|
||||
this._yamlMode = false;
|
||||
|
@ -635,6 +635,9 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) {
|
||||
cursor: default;
|
||||
overflow: visible;
|
||||
}
|
||||
ha-list-item img {
|
||||
border-radius: 0;
|
||||
}
|
||||
ha-svg-icon[slot="meta"] {
|
||||
width: 24px;
|
||||
}
|
||||
|
@ -72,7 +72,10 @@ export class AssistPipelineDetailWakeWord extends LitElement {
|
||||
changedProps.has("data") &&
|
||||
changedProps.get("data")?.wake_word_entity !== this.data?.wake_word_entity
|
||||
) {
|
||||
if (this.data?.wake_word_id) {
|
||||
if (
|
||||
changedProps.get("data")?.wake_word_entity &&
|
||||
this.data?.wake_word_id
|
||||
) {
|
||||
fireEvent(this, "value-changed", {
|
||||
value: { ...this.data, wake_word_id: undefined },
|
||||
});
|
||||
@ -140,8 +143,9 @@ export class AssistPipelineDetailWakeWord extends LitElement {
|
||||
}
|
||||
this._wakeWords = wakewordInfo.wake_words;
|
||||
if (
|
||||
!this.data?.wake_word_id ||
|
||||
!this._wakeWords.some((ww) => ww.id === this.data!.wake_word_id)
|
||||
this.data &&
|
||||
(!this.data?.wake_word_id ||
|
||||
!this._wakeWords.some((ww) => ww.id === this.data!.wake_word_id))
|
||||
) {
|
||||
fireEvent(this, "value-changed", {
|
||||
value: { ...this.data, wake_word_id: this._wakeWords[0]?.id },
|
||||
|
@ -164,6 +164,7 @@ export class HuiEnergyDevicesGraphCard
|
||||
// @ts-ignore
|
||||
entityId: this._chartData?.datasets[0]?.data[index]?.y,
|
||||
});
|
||||
chart.canvas.dispatchEvent(new Event("mouseout")); // to hide tooltip
|
||||
},
|
||||
})
|
||||
);
|
||||
|
@ -1,70 +1,36 @@
|
||||
// Loads the static locale data for a given language from FormatJS
|
||||
// Parents need to load polyfills first; they are not imported here to avoid a circular reference
|
||||
|
||||
const loadedPolyfillLocale = new Set();
|
||||
const INTL_POLYFILLS = [
|
||||
"DateTimeFormat",
|
||||
"DisplayNames",
|
||||
"ListFormat",
|
||||
"NumberFormat",
|
||||
"RelativeTimeFormat",
|
||||
] as const satisfies readonly (keyof typeof Intl)[];
|
||||
|
||||
export const polyfillLocaleData = async (language: string) => {
|
||||
if (loadedPolyfillLocale.has(language)) {
|
||||
return;
|
||||
}
|
||||
loadedPolyfillLocale.add(language);
|
||||
try {
|
||||
if (
|
||||
Intl.NumberFormat &&
|
||||
// @ts-ignore
|
||||
typeof Intl.NumberFormat.__addLocaleData === "function"
|
||||
) {
|
||||
const loadedLocales: Set<string> = new Set();
|
||||
|
||||
const addData = async (
|
||||
obj: (typeof INTL_POLYFILLS)[number],
|
||||
language: string
|
||||
) => {
|
||||
// Add function will only exist if constructor is polyfilled
|
||||
if (typeof (Intl[obj] as any)?.__addLocaleData === "function") {
|
||||
const result = await fetch(
|
||||
`${__STATIC_PATH__}locale-data/intl-numberformat/${language}.json`
|
||||
`${__STATIC_PATH__}locale-data/intl-${obj.toLowerCase()}/${language}.json`
|
||||
);
|
||||
// @ts-ignore
|
||||
Intl.NumberFormat.__addLocaleData(await result.json());
|
||||
// Ignore if polyfill data does not exist for language
|
||||
if (result.ok) {
|
||||
(Intl[obj] as any).__addLocaleData(await result.json());
|
||||
}
|
||||
if (
|
||||
Intl.RelativeTimeFormat &&
|
||||
// @ts-ignore
|
||||
typeof Intl.RelativeTimeFormat.__addLocaleData === "function"
|
||||
) {
|
||||
const result = await fetch(
|
||||
`${__STATIC_PATH__}locale-data/intl-relativetimeformat/${language}.json`
|
||||
);
|
||||
// @ts-ignore
|
||||
Intl.RelativeTimeFormat.__addLocaleData(await result.json());
|
||||
}
|
||||
if (
|
||||
Intl.DateTimeFormat &&
|
||||
// @ts-ignore
|
||||
typeof Intl.DateTimeFormat.__addLocaleData === "function"
|
||||
) {
|
||||
const result = await fetch(
|
||||
`${__STATIC_PATH__}locale-data/intl-datetimeformat/${language}.json`
|
||||
);
|
||||
// @ts-ignore
|
||||
Intl.DateTimeFormat.__addLocaleData(await result.json());
|
||||
}
|
||||
if (
|
||||
Intl.DisplayNames &&
|
||||
// @ts-ignore
|
||||
typeof Intl.DisplayNames.__addLocaleData === "function"
|
||||
) {
|
||||
const result = await fetch(
|
||||
`${__STATIC_PATH__}locale-data/intl-displaynames/${language}.json`
|
||||
);
|
||||
// @ts-ignore
|
||||
Intl.DisplayNames.__addLocaleData(await result.json());
|
||||
}
|
||||
if (
|
||||
Intl.ListFormat &&
|
||||
// @ts-ignore
|
||||
typeof Intl.ListFormat.__addLocaleData === "function"
|
||||
) {
|
||||
const result = await fetch(
|
||||
`${__STATIC_PATH__}locale-data/intl-listformat/${language}.json`
|
||||
);
|
||||
// @ts-ignore
|
||||
Intl.ListFormat.__addLocaleData(await result.json());
|
||||
}
|
||||
} catch (e) {
|
||||
// Ignore
|
||||
}
|
||||
};
|
||||
|
||||
export const polyfillLocaleData = async (language: string) => {
|
||||
if (loadedLocales.has(language)) {
|
||||
return;
|
||||
}
|
||||
loadedLocales.add(language);
|
||||
await Promise.all(INTL_POLYFILLS.map((obj) => addData(obj, language)));
|
||||
};
|
||||
|
@ -1203,6 +1203,11 @@
|
||||
"confirm_action": "Restart",
|
||||
"failed": "Failed to restart Home Assistant"
|
||||
},
|
||||
"stop": {
|
||||
"confirm_title": "Stop Home Assistant?",
|
||||
"confirm_description": "This will interrupt all running automations and scripts.",
|
||||
"confirm_action": "Stop"
|
||||
},
|
||||
"reboot": {
|
||||
"title": "Reboot system",
|
||||
"description": "Restart the system running Home Assistant and all Add-ons.",
|
||||
@ -5853,7 +5858,14 @@
|
||||
"addons": "[%key:supervisor::backup::addons%]",
|
||||
"password_protection": "[%key:supervisor::backup::password_protection%]",
|
||||
"password": "[%key:supervisor::backup::password%]",
|
||||
"confirm_password": "[%key:supervisor::backup::confirm_password%]"
|
||||
"confirm_password": "[%key:supervisor::backup::confirm_password%]",
|
||||
"confirm_restore_partial_backup_title": "[%key:supervisor::backup::confirm_restore_partial_backup_title%]",
|
||||
"confirm_restore_partial_backup_text": "[%key:supervisor::backup::confirm_restore_partial_backup_text%]",
|
||||
"confirm_restore_full_backup_title": "[%key:supervisor::backup::confirm_restore_full_backup_title%]",
|
||||
"confirm_restore_full_backup_text": "[%key:supervisor::backup::confirm_restore_full_backup_text%]",
|
||||
"restore": "[%key:supervisor::backup::restore%]",
|
||||
"close": "[%key:ui::common::close%]",
|
||||
"cancel": "[%key:ui::common::cancel%]"
|
||||
}
|
||||
},
|
||||
"custom": {
|
||||
@ -6256,7 +6268,8 @@
|
||||
"backup": {
|
||||
"search": "[%key:ui::panel::config::backup::picker::search%]",
|
||||
"no_backups": "You don't have any backups yet.",
|
||||
"create_blocked_not_running": "Creating a backup is not possible right now because the system is in {state} state.",
|
||||
"create_blocked_not_running": "Creating a backup is not possible right now because the system is in \"{state}\" state.",
|
||||
"restore_blocked_not_running": "Restoring a backup is not possible right now because the system is in \"{state}\" state.",
|
||||
"delete_selected": "Delete selected backups",
|
||||
"delete_backup_title": "Delete backup",
|
||||
"delete_backup_text": "Do you want to delete {number} {number, plural,\n one {backup}\n other {backups}\n}?",
|
||||
@ -6264,6 +6277,7 @@
|
||||
"selected": "{number} selected",
|
||||
"failed_to_delete": "Failed to delete",
|
||||
"could_not_create": "Could not create backup",
|
||||
"could_not_restore": "Could not restore backup",
|
||||
"upload_backup": "Upload backup",
|
||||
"download_backup": "Download backup",
|
||||
"create_backup": "Create backup",
|
||||
@ -6284,7 +6298,21 @@
|
||||
"password_protection": "Password protection",
|
||||
"enter_password": "Please enter a password.",
|
||||
"passwords_not_matching": "The passwords does not match",
|
||||
"backup_already_running": "A backup or restore is already running, creating a new backup is currently not possible, try again later."
|
||||
"backup_already_running": "A backup or restore is already running. Creating a new backup is currently not possible, try again later.",
|
||||
"confirm_restore_partial_backup_title": "Restore partial backup",
|
||||
"confirm_restore_partial_backup_text": "The backup will be restored. Depending on the size of the backup, this can take up to 45 min.",
|
||||
"confirm_restore_full_backup_title": "Restore full backup",
|
||||
"confirm_restore_full_backup_text": "Your entire system will be wiped and the backup will be restored. Depending on the size of the backup, this can take up to 45 min.",
|
||||
"confirm_delete_title": "Delete backup",
|
||||
"confirm_delete_text": "This backup will be permanently deleted and cannot be restored later.",
|
||||
"restore": "Restore",
|
||||
"close": "[%key:ui::common::close%]",
|
||||
"cancel": "[%key:ui::common::cancel%]",
|
||||
"delete": "[%key:ui::common::delete%]",
|
||||
"download": "Download",
|
||||
"more_actions": "More actions",
|
||||
"remote_download_title": "Potentially slow download",
|
||||
"remote_download_text": "You are accessing Home Assistant via remote access. Downloading backups over the Nabu Casa URL will take some time. If you are at home, cancel this dialog and enter your local URL, such as 'http://homeassistant.local:8123'"
|
||||
},
|
||||
"dialog": {
|
||||
"network": {
|
||||
|
214
yarn.lock
214
yarn.lock
@ -1454,15 +1454,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@codemirror/commands@npm:6.2.5":
|
||||
version: 6.2.5
|
||||
resolution: "@codemirror/commands@npm:6.2.5"
|
||||
"@codemirror/commands@npm:6.3.0":
|
||||
version: 6.3.0
|
||||
resolution: "@codemirror/commands@npm:6.3.0"
|
||||
dependencies:
|
||||
"@codemirror/language": ^6.0.0
|
||||
"@codemirror/state": ^6.2.0
|
||||
"@codemirror/view": ^6.0.0
|
||||
"@lezer/common": ^1.0.0
|
||||
checksum: 6d373bcfd4337160243e1493c8703a8e367e208811742331679a6410a3645de36ae8a5664e11790fec521137b45f34d703e9292932a98c4de10139510f3f29a3
|
||||
"@lezer/common": ^1.1.0
|
||||
checksum: d6ade0ba7d4f80c2e44163935783d2f2f35c8b641a4b4f62452c0630211670abe5093786cf5a4af14147102d4284dae660a26f3ae58fd840e838685a81107d11
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1507,14 +1507,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@codemirror/view@npm:6.20.2, @codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0":
|
||||
version: 6.20.2
|
||||
resolution: "@codemirror/view@npm:6.20.2"
|
||||
"@codemirror/view@npm:6.21.1, @codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0":
|
||||
version: 6.21.1
|
||||
resolution: "@codemirror/view@npm:6.21.1"
|
||||
dependencies:
|
||||
"@codemirror/state": ^6.1.4
|
||||
style-mod: ^4.1.0
|
||||
w3c-keyname: ^2.2.4
|
||||
checksum: eaf47726bb94b40f12c6f1d3494b558addaa7cd98a4ff05bfea7439c03cca3967d73380346ea8b06021478c21ec336a74665c9acb44e2b0280d5e0da4714387b
|
||||
checksum: c2271a03559c5ef469dc941bd345e5355b4f704a582ca49ff69db915dcf10f175d2fc2ad6d8f4c10b371abb20e0c0f2e625c9348b681566e52a4dfdb5adfe648
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -3164,13 +3164,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@material/web@npm:=1.0.0-pre.17":
|
||||
version: 1.0.0-pre.17
|
||||
resolution: "@material/web@npm:1.0.0-pre.17"
|
||||
"@material/web@npm:=1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "@material/web@npm:1.0.0"
|
||||
dependencies:
|
||||
lit: ^2.7.4 || ^3.0.0
|
||||
tslib: ^2.4.0
|
||||
checksum: a6443931677d981a0152fe52927b1aa2a9490354c81fbf77f3f9f33accfdc567dc2a431ae0a3cb375dff60a322ff7babd49fb62b186bcf43285e09fecd48a594
|
||||
checksum: 0c6772ab2b2c144bba62f323a6d657d44ea3b2c9a2b8e745e0e5d17081983724e8e72857a58a930df28073ec931ed04a4f2364bdcbdf72ce5c85a03abc0578f3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -4755,126 +4755,126 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/a11y-base@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/a11y-base@npm:24.1.9"
|
||||
"@vaadin/a11y-base@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/a11y-base@npm:24.1.10"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/component-base": ~24.1.9
|
||||
"@vaadin/component-base": ~24.1.10
|
||||
lit: ^2.0.0
|
||||
checksum: 773c96bf2d99668a43fa5420002bd8e9c1c677bcf6ab7248cde7b46520f2819e8a862ca930f3dcebb8eae5f312ebaa7af7353d495407766e9dde2f02162868c2
|
||||
checksum: aec01290993b717c219f3d84959cc0cec8db4717422d69a721549691620121d877ebc2c8f5763e91b92770d86c8dd76d4d98b2b4216f67a56fb7a526e7e2c916
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/combo-box@npm:24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/combo-box@npm:24.1.9"
|
||||
"@vaadin/combo-box@npm:24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/combo-box@npm:24.1.10"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.9
|
||||
"@vaadin/component-base": ~24.1.9
|
||||
"@vaadin/field-base": ~24.1.9
|
||||
"@vaadin/input-container": ~24.1.9
|
||||
"@vaadin/item": ~24.1.9
|
||||
"@vaadin/lit-renderer": ~24.1.9
|
||||
"@vaadin/overlay": ~24.1.9
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.9
|
||||
"@vaadin/vaadin-material-styles": ~24.1.9
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.9
|
||||
checksum: a709aefc2bacc150b3d86fbf825f2dd381f8fdf863250ff4beabfdb084c765d8b5a5dac4cfe5641875aed8be67c1f72fc6e3bc9572baf26b68c88c58ba148421
|
||||
"@vaadin/a11y-base": ~24.1.10
|
||||
"@vaadin/component-base": ~24.1.10
|
||||
"@vaadin/field-base": ~24.1.10
|
||||
"@vaadin/input-container": ~24.1.10
|
||||
"@vaadin/item": ~24.1.10
|
||||
"@vaadin/lit-renderer": ~24.1.10
|
||||
"@vaadin/overlay": ~24.1.10
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.10
|
||||
"@vaadin/vaadin-material-styles": ~24.1.10
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.10
|
||||
checksum: 0e776a8f2e606d7e1f667dda9f26724b31520354ce64e6333e19f9fc1b67ead07acd370e8122bc26c910802e83e789e825de8fe746c26d2d53eb91f4f880f1e7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/component-base@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/component-base@npm:24.1.9"
|
||||
"@vaadin/component-base@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/component-base@npm:24.1.10"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/vaadin-development-mode-detector": ^2.0.0
|
||||
"@vaadin/vaadin-usage-statistics": ^2.1.0
|
||||
lit: ^2.0.0
|
||||
checksum: 5480a5523e68bc38a1438c5f1a892f9b9901b24a736927107fd95fa4f699b611c12f4ae24a272d0133cb165561951203fa17be6c0e9742092827c580d69d1c4c
|
||||
checksum: fbb2c40c6bfea2bf38c4161e70bb17bc8c7eef5b281d7a9e4e5f83e5bb7ade4d41cff5eb3e9f580a45470cee84a2efb675b32e878733d989cac5e56e21750627
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/field-base@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/field-base@npm:24.1.9"
|
||||
"@vaadin/field-base@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/field-base@npm:24.1.10"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.9
|
||||
"@vaadin/component-base": ~24.1.9
|
||||
"@vaadin/a11y-base": ~24.1.10
|
||||
"@vaadin/component-base": ~24.1.10
|
||||
lit: ^2.0.0
|
||||
checksum: b9cef524ece180690b23deb5af4fcf2b121ef7df9c3028e1bdcf1e9d24374aadf416e18a922cae4cc9e8eac9f57b4de79c3787ef068c4e55f497b3632a3e92d3
|
||||
checksum: 0b88d9b69f41caf4a9f2b720fc50b49a57b79db7dc1c4fb85515a1ab79b650066960812c7be29125554a68f5b7200cec6586dfec5385f70a079632b8f1b9bf41
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/icon@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/icon@npm:24.1.9"
|
||||
"@vaadin/icon@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/icon@npm:24.1.10"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/component-base": ~24.1.9
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.9
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.9
|
||||
"@vaadin/component-base": ~24.1.10
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.10
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.10
|
||||
lit: ^2.0.0
|
||||
checksum: 53e84bf2afc4c5ed50274080e21a1eca964d2c79efaa93c8b83f798adea8a89a73ee5361b812f63773485299943b23bffea11ce91467c8d991d2a851b248d242
|
||||
checksum: 33980e49503b2e5986ceb4f81d5c520f1a0f252a1d49001a96aef3a38180d0840fc2066ccc858bfca1eaa086ea73ec113c0a3401a57661ed72c0eb4d5425f245
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/input-container@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/input-container@npm:24.1.9"
|
||||
"@vaadin/input-container@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/input-container@npm:24.1.10"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/component-base": ~24.1.9
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.9
|
||||
"@vaadin/vaadin-material-styles": ~24.1.9
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.9
|
||||
checksum: 4b126151bacf2f6c030c0a75a2e38e91dfd80bbb4ae009f2a250ffa2d4c9accda0d4ffdf16da8f43017641decf12c37c2722e66cb41cda718f413fe311d7fdb4
|
||||
"@vaadin/component-base": ~24.1.10
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.10
|
||||
"@vaadin/vaadin-material-styles": ~24.1.10
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.10
|
||||
checksum: ad6bda87ed61e9f6ce9011491b0b9a009bf5f4514f93b7b5617f575950015210f69c87371fd342be7c8b51fc82bbc70ca9af559dc8de90343c6818e1428fa416
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/item@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/item@npm:24.1.9"
|
||||
"@vaadin/item@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/item@npm:24.1.10"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.9
|
||||
"@vaadin/component-base": ~24.1.9
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.9
|
||||
"@vaadin/vaadin-material-styles": ~24.1.9
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.9
|
||||
checksum: 50ec496b64c6062fe560c7481269b9fe2f381432415bae41c97b4a16ab7507fa66ff33a750402b6644792051fe121239b6f253dc2414a2c7aa3ab8f901bbbcd6
|
||||
"@vaadin/a11y-base": ~24.1.10
|
||||
"@vaadin/component-base": ~24.1.10
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.10
|
||||
"@vaadin/vaadin-material-styles": ~24.1.10
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.10
|
||||
checksum: 81158c43976d159bed8a92a54bfe40ca319650aa60c8a4bd5b89e69f965abf385d6f5ac7bbef1040e1c60adc5c2d1aeacc75dede1618923159b686209209a1da
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/lit-renderer@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/lit-renderer@npm:24.1.9"
|
||||
"@vaadin/lit-renderer@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/lit-renderer@npm:24.1.10"
|
||||
dependencies:
|
||||
lit: ^2.0.0
|
||||
checksum: 3ba6836d211f1cc458c898e4ac5e55aba2cf33efe2a9df8afd7d98dc039aa6b4eccc0274a08c7b466795760e90887d81341d56fca3ad33215ea8d8e4bd7b9f11
|
||||
checksum: f5eec0c3a8482bda03955b3e35e730edde78d2a06672a1ee0c4bd691e93308c7303b2051cb80b79f93dd924c2a2094c6135ecedbdb47dfc5a3068235b041b9e6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/overlay@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/overlay@npm:24.1.9"
|
||||
"@vaadin/overlay@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/overlay@npm:24.1.10"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.9
|
||||
"@vaadin/component-base": ~24.1.9
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.9
|
||||
"@vaadin/vaadin-material-styles": ~24.1.9
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.9
|
||||
checksum: 387b642a9f0d7b85d3cee0a1a6a09701ef39ba0fd667cb0e2701fd0e8a40d6afd974044588f47f34ec66a4ca0cd524c72f4f34b90b7d74f5587ff3824eb79317
|
||||
"@vaadin/a11y-base": ~24.1.10
|
||||
"@vaadin/component-base": ~24.1.10
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.10
|
||||
"@vaadin/vaadin-material-styles": ~24.1.10
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.10
|
||||
checksum: 6bd9477c11a86cd26b42de11da9ca8f863b9e0e75e3b54c1fbdacd64c8974dbeaecbde1842be32ef3108aab6611c1e266b0cacd42c3ab977457d4e18bcbf8b27
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -4885,34 +4885,34 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-lumo-styles@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/vaadin-lumo-styles@npm:24.1.9"
|
||||
"@vaadin/vaadin-lumo-styles@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/vaadin-lumo-styles@npm:24.1.10"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/icon": ~24.1.9
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.9
|
||||
checksum: c4266f3b0a8cb739f50d67cd9e68965dbf462505a04c51659809f56e747492131b8b7da422b2725bfeec387978b782418268c46dc988e2f5cefec6303b89ca5c
|
||||
"@vaadin/icon": ~24.1.10
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.10
|
||||
checksum: 40abf84d0552b16561c528cd41f9acd15cfb9bee2796c0c8cedacd8977059ad5e01834aa36c8c25ad605847bb8759e3753f7e4c6a5f15127f262b841a457f59e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-material-styles@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/vaadin-material-styles@npm:24.1.9"
|
||||
"@vaadin/vaadin-material-styles@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/vaadin-material-styles@npm:24.1.10"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.9
|
||||
checksum: f4cda5bf4c7d8a00cbbd59dc21e540a5b2df7c0f20056442564f8636a31f2784e8b403ee9aa330ddff0adbf0308f3a3df5a356c08ac3572e3429aad43c062baf
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.10
|
||||
checksum: 3ba00529fe103a32d50fa1a68d1c127b71ff944ad7566da31c7bf8e8c125f48a1c1ad91c96070b22c54087592ea9559392495f0d9fe8d9b65b2046cc4e855b52
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-themable-mixin@npm:24.1.9, @vaadin/vaadin-themable-mixin@npm:~24.1.9":
|
||||
version: 24.1.9
|
||||
resolution: "@vaadin/vaadin-themable-mixin@npm:24.1.9"
|
||||
"@vaadin/vaadin-themable-mixin@npm:24.1.10, @vaadin/vaadin-themable-mixin@npm:~24.1.10":
|
||||
version: 24.1.10
|
||||
resolution: "@vaadin/vaadin-themable-mixin@npm:24.1.10"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
lit: ^2.0.0
|
||||
checksum: b006a5b998b2e5ee74ad3b04fd933c34d8d4c8b0578d52ed334de8ad957c78ee6ac4e92e2c38372dcd942b6b75ea65a9ae88549c8097e02c1f386ea4d44338e2
|
||||
checksum: 409b8ef11f09a1090630ee09851366e40cc04583853b4ccd2aeef17915cf466a3bd7e0f183b98a469396aef24600cf30c794c3da9ccd72085b9f7588bec67095
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -9635,12 +9635,12 @@ __metadata:
|
||||
"@babel/runtime": 7.23.1
|
||||
"@braintree/sanitize-url": 6.0.4
|
||||
"@codemirror/autocomplete": 6.9.1
|
||||
"@codemirror/commands": 6.2.5
|
||||
"@codemirror/commands": 6.3.0
|
||||
"@codemirror/language": 6.9.1
|
||||
"@codemirror/legacy-modes": 6.3.3
|
||||
"@codemirror/search": 6.5.4
|
||||
"@codemirror/state": 6.2.1
|
||||
"@codemirror/view": 6.20.2
|
||||
"@codemirror/view": 6.21.1
|
||||
"@egjs/hammerjs": 2.0.17
|
||||
"@formatjs/intl-datetimeformat": 6.10.3
|
||||
"@formatjs/intl-displaynames": 6.5.2
|
||||
@ -9689,7 +9689,7 @@ __metadata:
|
||||
"@material/mwc-top-app-bar": 0.27.0
|
||||
"@material/mwc-top-app-bar-fixed": 0.27.0
|
||||
"@material/top-app-bar": =14.0.0-canary.53b3cad2f.0
|
||||
"@material/web": =1.0.0-pre.17
|
||||
"@material/web": =1.0.0
|
||||
"@mdi/js": 7.2.96
|
||||
"@mdi/svg": 7.2.96
|
||||
"@octokit/auth-oauth-device": 6.0.1
|
||||
@ -9731,8 +9731,8 @@ __metadata:
|
||||
"@types/webspeechapi": 0.0.29
|
||||
"@typescript-eslint/eslint-plugin": 6.7.3
|
||||
"@typescript-eslint/parser": 6.7.3
|
||||
"@vaadin/combo-box": 24.1.9
|
||||
"@vaadin/vaadin-themable-mixin": 24.1.9
|
||||
"@vaadin/combo-box": 24.1.10
|
||||
"@vaadin/vaadin-themable-mixin": 24.1.10
|
||||
"@vibrant/color": 3.2.1-alpha.1
|
||||
"@vibrant/core": 3.2.1-alpha.1
|
||||
"@vibrant/quantizer-mmcq": 3.2.1-alpha.1
|
||||
@ -9793,7 +9793,7 @@ __metadata:
|
||||
lit-analyzer: 2.0.0-pre.3
|
||||
lodash.template: 4.5.0
|
||||
luxon: 3.4.3
|
||||
magic-string: 0.30.3
|
||||
magic-string: 0.30.4
|
||||
map-stream: 0.0.7
|
||||
marked: 9.0.3
|
||||
memoize-one: 6.0.0
|
||||
@ -11710,12 +11710,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"magic-string@npm:0.30.3":
|
||||
version: 0.30.3
|
||||
resolution: "magic-string@npm:0.30.3"
|
||||
"magic-string@npm:0.30.4":
|
||||
version: 0.30.4
|
||||
resolution: "magic-string@npm:0.30.4"
|
||||
dependencies:
|
||||
"@jridgewell/sourcemap-codec": ^1.4.15
|
||||
checksum: a5a9ddf9bd3bf49a2de1048bf358464f1bda7b3cc1311550f4a0ba8f81a4070e25445d53a5ee28850161336f1bff3cf28aa3320c6b4aeff45ce3e689f300b2f3
|
||||
checksum: bef57c926d14e9926c142307c1494cc4bdea28a56601a7624f1a5bcd34a63800e2d8a363e826436ce86104460a63ee76c7c185a6ab1f8f7ee5af2de475b98947
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -13267,13 +13267,13 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"postcss@npm:^8.4.14":
|
||||
version: 8.4.30
|
||||
resolution: "postcss@npm:8.4.30"
|
||||
version: 8.4.31
|
||||
resolution: "postcss@npm:8.4.31"
|
||||
dependencies:
|
||||
nanoid: ^3.3.6
|
||||
picocolors: ^1.0.0
|
||||
source-map-js: ^1.0.2
|
||||
checksum: 6c810c10c9bd3e03ca016e0b6b6756261e640aba1a9a7b1200b55502bc34b9165e38f590aef3493afc2f30ab55cdfcd43fd0f8408d69a77318ddbcf2a8ad164b
|
||||
checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user