Compare commits

..

6 Commits

Author SHA1 Message Date
renovate[bot]
de3e2bcafa Update dependency glob to v13.0.1 (#29462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 21:44:45 +01:00
Matthias de Baat
e732280b70 Add safe space at the bottom (#29454)
* Add safe space at the bottom

* Move margin-bottom from ha-config-analytics component to its parent wrapper in ha-config-section-analytics
2026-02-06 17:47:40 +01:00
renovate[bot]
4fb3453f73 Update dependency ua-parser-js to v2.0.9 (#29456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 16:45:18 +00:00
renovate[bot]
0f9cb9c13e Update dependency @rspack/core to v1.7.5 (#29447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 12:23:27 +01:00
Matthias de Baat
7aa235c6af Fix Discord link for designers (#29393)
* Fix Discord link for designers

Updated Discord link for designers to the correct channel.

* Update Discord link for designers in home.markdown

* Update gallery/src/pages/concepts/home.markdown

Co-authored-by: Aidan Timson <aidan@timmo.dev>

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Aidan Timson <aidan@timmo.dev>
2026-02-05 21:09:28 +01:00
Aidan Timson
e8ddae8189 Migrate join beta dialog to wa (#29439)
Migrate config-updates dialog(s) to wa
2026-02-05 21:06:38 +01:00
7 changed files with 217 additions and 198 deletions

View File

@@ -18,7 +18,7 @@ The Home Assistant interface is based on Material Design. It's a design system c
We want to make it as easy for designers to contribute as it is for developers. Theres a lot a designer can contribute to:
- Meet us at <a href="https://www.home-assistant.io/join-chat" rel="noopener noreferrer" target="_blank">devs_ux Discord</a>. Feel free to share your designs, user test or strategic ideas.
- Meet us at <a href="https://www.home-assistant.io/join-chat-design" rel="noopener noreferrer" target="_blank">Discord #designers channel</a>. If you can't see the channel, make sure you set the correct role in Channels & Roles.
- Start designing with our <a href="https://www.figma.com/community/file/967153512097289521/Home-Assistant-DesignKit" rel="noopener noreferrer" target="_blank">Figma DesignKit</a>.
- Find the latest UX <a href="https://github.com/home-assistant/frontend/discussions?discussions_q=label%3Aux" rel="noopener noreferrer" target="_blank">discussions</a> and <a href="https://github.com/home-assistant/frontend/labels/ux" rel="noopener noreferrer" target="_blank">issues</a> on GitHub. Everyone can start a new issue or discussion!

View File

@@ -132,7 +132,7 @@
"stacktrace-js": "2.0.2",
"superstruct": "2.0.2",
"tinykeys": "3.0.0",
"ua-parser-js": "2.0.8",
"ua-parser-js": "2.0.9",
"vue": "2.7.16",
"vue2-daterange-picker": "0.6.8",
"weekstart": "2.0.0",
@@ -155,7 +155,7 @@
"@octokit/plugin-retry": "8.0.3",
"@octokit/rest": "22.0.1",
"@rsdoctor/rspack-plugin": "1.5.1",
"@rspack/core": "1.7.4",
"@rspack/core": "1.7.5",
"@rspack/dev-server": "1.2.1",
"@types/babel__plugin-transform-runtime": "7.9.5",
"@types/chromecast-caf-receiver": "6.0.25",
@@ -191,7 +191,7 @@
"eslint-plugin-wc": "3.0.2",
"fancy-log": "2.0.0",
"fs-extra": "11.3.3",
"glob": "13.0.0",
"glob": "13.0.1",
"gulp": "5.0.1",
"gulp-brotli": "3.0.0",
"gulp-json-transform": "0.5.0",

View File

@@ -71,6 +71,7 @@ class HaConfigSectionAnalytics extends LitElement {
display: block;
max-width: 600px;
margin: 0 auto;
margin-bottom: 24px;
}
`;
}

View File

@@ -5,7 +5,8 @@ import { customElement, property, state } from "lit/decorators";
import { fireEvent } from "../../../../common/dom/fire_event";
import "../../../../components/ha-alert";
import "../../../../components/ha-button";
import { createCloseHeading } from "../../../../components/ha-dialog";
import "../../../../components/ha-dialog-footer";
import "../../../../components/ha-wa-dialog";
import type { HassDialog } from "../../../../dialogs/make-dialog-manager";
import { haStyleDialog } from "../../../../resources/styles";
import type { HomeAssistant } from "../../../../types";
@@ -21,14 +22,21 @@ export class DialogJoinBeta
@state() private _dialogParams?: JoinBetaDialogParams;
@state() private _open = false;
public showDialog(dialogParams: JoinBetaDialogParams): void {
this._dialogParams = dialogParams;
this._open = true;
}
public closeDialog() {
this._open = false;
return true;
}
private _dialogClosed() {
this._dialogParams = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
return true;
}
protected render() {
@@ -37,13 +45,11 @@ export class DialogJoinBeta
}
return html`
<ha-dialog
open
@closed=${this.closeDialog}
.heading=${createCloseHeading(
this.hass,
this.hass.localize("ui.dialogs.join_beta_channel.title")
)}
<ha-wa-dialog
.hass=${this.hass}
.open=${this._open}
header-title=${this.hass.localize("ui.dialogs.join_beta_channel.title")}
@closed=${this._dialogClosed}
>
<ha-alert alert-type="warning">
${this.hass.localize("ui.dialogs.join_beta_channel.backup")}
@@ -67,17 +73,19 @@ export class DialogJoinBeta
)}
<ha-svg-icon .path=${mdiOpenInNew}></ha-svg-icon>
</a>
<ha-button
appearance="plain"
slot="primaryAction"
@click=${this._cancel}
>
${this.hass.localize("ui.common.cancel")}
</ha-button>
<ha-button slot="primaryAction" @click=${this._join}>
${this.hass.localize("ui.dialogs.join_beta_channel.join")}
</ha-button>
</ha-dialog>
<ha-dialog-footer slot="footer">
<ha-button
slot="secondaryAction"
appearance="plain"
@click=${this._cancel}
>
${this.hass.localize("ui.common.cancel")}
</ha-button>
<ha-button slot="primaryAction" @click=${this._join}>
${this.hass.localize("ui.dialogs.join_beta_channel.join")}
</ha-button>
</ha-dialog-footer>
</ha-wa-dialog>
`;
}

View File

@@ -1,10 +1,9 @@
import type { CSSResultGroup } from "lit";
import { html, LitElement, nothing } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import memoizeOne from "memoize-one";
import { fireEvent } from "../../../common/dom/fire_event";
import "../../../components/ha-dialog-footer";
import "../../../components/ha-wa-dialog";
import { createCloseHeading } from "../../../components/ha-dialog";
import "../../../components/ha-form/ha-form";
import "../../../components/ha-button";
import type { HomeZoneMutableParams } from "../../../data/zone";
@@ -30,8 +29,6 @@ class DialogHomeZoneDetail extends LitElement {
@state() private _params?: HomeZoneDetailDialogParams;
@state() private _open = false;
@state() private _submitting = false;
public showDialog(params: HomeZoneDetailDialogParams): void {
@@ -43,14 +40,9 @@ class DialogHomeZoneDetail extends LitElement {
longitude: this.hass.config.longitude,
radius: this.hass.config.radius,
};
this._open = true;
}
public closeDialog(): void {
this._open = false;
}
private _dialogClosed(): void {
this._params = undefined;
this._data = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
@@ -66,40 +58,41 @@ class DialogHomeZoneDetail extends LitElement {
const valid = !latInvalid && !lngInvalid;
return html`
<ha-wa-dialog
.hass=${this.hass}
.open=${this._open}
header-title=${this.hass!.localize("ui.common.edit_item", {
name: this._data.name,
})}
@closed=${this._dialogClosed}
<ha-dialog
open
@closed=${this.closeDialog}
scrimClickAction
escapeKeyAction
.heading=${createCloseHeading(
this.hass,
this.hass!.localize("ui.common.edit_item", { name: this._data.name })
)}
>
<ha-form
autofocus
.hass=${this.hass}
.schema=${SCHEMA}
.data=${this._formData(this._data)}
.error=${this._error}
.computeLabel=${this._computeLabel}
@value-changed=${this._valueChanged}
></ha-form>
<ha-dialog-footer slot="footer">
<ha-button
slot="secondaryAction"
appearance="plain"
@click=${this.closeDialog}
>
${this.hass!.localize("ui.common.cancel")}
</ha-button>
<ha-button
slot="primaryAction"
@click=${this._updateEntry}
.disabled=${!valid || this._submitting}
>
${this.hass!.localize("ui.common.save")}
</ha-button>
</ha-dialog-footer>
</ha-wa-dialog>
<div>
<ha-form
.hass=${this.hass}
.schema=${SCHEMA}
.data=${this._formData(this._data)}
.error=${this._error}
.computeLabel=${this._computeLabel}
@value-changed=${this._valueChanged}
></ha-form>
</div>
<ha-button
slot="primaryAction"
appearance="plain"
@click=${this.closeDialog}
>
${this.hass!.localize("ui.common.cancel")}
</ha-button>
<ha-button
slot="primaryAction"
@click=${this._updateEntry}
.disabled=${!valid || this._submitting}
>
${this.hass!.localize("ui.common.save")}
</ha-button>
</ha-dialog>
`;
}
@@ -137,7 +130,20 @@ class DialogHomeZoneDetail extends LitElement {
}
static get styles(): CSSResultGroup {
return [haStyleDialog];
return [
haStyleDialog,
css`
ha-dialog {
--mdc-dialog-min-width: min(600px, 95vw);
}
@media all and (max-width: 450px), all and (max-height: 500px) {
ha-dialog {
--mdc-dialog-min-width: 100vw;
--mdc-dialog-max-width: 100vw;
}
}
`,
];
}
}

View File

@@ -4,8 +4,7 @@ import { customElement, property, state } from "lit/decorators";
import memoizeOne from "memoize-one";
import { fireEvent } from "../../../common/dom/fire_event";
import { addDistanceToCoord } from "../../../common/location/add_distance_to_coord";
import "../../../components/ha-dialog-footer";
import "../../../components/ha-wa-dialog";
import { createCloseHeading } from "../../../components/ha-dialog";
import "../../../components/ha-form/ha-form";
import "../../../components/ha-button";
import type { SchemaUnion } from "../../../components/ha-form/types";
@@ -25,8 +24,6 @@ class DialogZoneDetail extends LitElement {
@state() private _params?: ZoneDetailDialogParams;
@state() private _open = false;
@state() private _submitting = false;
public showDialog(params: ZoneDetailDialogParams): void {
@@ -53,14 +50,9 @@ class DialogZoneDetail extends LitElement {
radius: 100,
};
}
this._open = true;
}
public closeDialog(): void {
this._open = false;
}
private _dialogClosed(): void {
this._params = undefined;
this._data = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
@@ -86,58 +78,61 @@ class DialogZoneDetail extends LitElement {
!radiusInvalid;
return html`
<ha-wa-dialog
.hass=${this.hass}
.open=${this._open}
header-title=${this._params.entry
? this.hass!.localize("ui.common.edit_item", {
name: this._params.entry.name,
})
: this.hass!.localize("ui.panel.config.zone.detail.new_zone")}
@closed=${this._dialogClosed}
<ha-dialog
open
@closed=${this.closeDialog}
scrimClickAction
escapeKeyAction
.heading=${createCloseHeading(
this.hass,
this._params.entry
? this.hass!.localize("ui.common.edit_item", {
name: this._params.entry.name,
})
: this.hass!.localize("ui.panel.config.zone.detail.new_zone")
)}
>
<ha-form
autofocus
.hass=${this.hass}
.schema=${this._schema(this._data.icon)}
.data=${this._formData(this._data)}
.error=${this._error}
.computeLabel=${this._computeLabel}
class=${this._data.passive ? "passive" : ""}
@value-changed=${this._valueChanged}
></ha-form>
<ha-dialog-footer slot="footer">
<div>
<ha-form
.hass=${this.hass}
.schema=${this._schema(this._data.icon)}
.data=${this._formData(this._data)}
.error=${this._error}
.computeLabel=${this._computeLabel}
class=${this._data.passive ? "passive" : ""}
@value-changed=${this._valueChanged}
></ha-form>
</div>
${this._params.entry
? html`
<ha-button
slot="secondaryAction"
variant="danger"
appearance="plain"
@click=${this._deleteEntry}
.disabled=${this._submitting}
>
${this.hass!.localize("ui.panel.config.zone.detail.delete")}
</ha-button>
`
: nothing}
<ha-button
slot="primaryAction"
appearance="plain"
@click=${this.closeDialog}
>
${this.hass!.localize("ui.common.cancel")}
</ha-button>
<ha-button
slot="primaryAction"
@click=${this._updateEntry}
.disabled=${!valid || this._submitting}
>
${this._params.entry
? html`
<ha-button
slot="secondaryAction"
variant="danger"
appearance="plain"
@click=${this._deleteEntry}
.disabled=${this._submitting}
>
${this.hass!.localize("ui.panel.config.zone.detail.delete")}
</ha-button>
`
: nothing}
<ha-button
slot="secondaryAction"
appearance="plain"
@click=${this.closeDialog}
>
${this.hass!.localize("ui.common.cancel")}
</ha-button>
<ha-button
slot="primaryAction"
@click=${this._updateEntry}
.disabled=${!valid || this._submitting}
>
${this._params.entry
? this.hass!.localize("ui.common.save")
: this.hass!.localize("ui.panel.config.zone.detail.create")}
</ha-button>
</ha-dialog-footer>
</ha-wa-dialog>
? this.hass!.localize("ui.common.save")
: this.hass!.localize("ui.panel.config.zone.detail.create")}
</ha-button>
</ha-dialog>
`;
}
@@ -214,7 +209,7 @@ class DialogZoneDetail extends LitElement {
this._submitting = true;
try {
if (await this._params!.removeEntry!()) {
this.closeDialog();
this._params = undefined;
}
} finally {
this._submitting = false;
@@ -225,6 +220,15 @@ class DialogZoneDetail extends LitElement {
return [
haStyleDialog,
css`
ha-dialog {
--mdc-dialog-min-width: min(600px, 95vw);
}
@media all and (max-width: 450px), all and (max-height: 500px) {
ha-dialog {
--mdc-dialog-min-width: 100vw;
--mdc-dialog-max-width: 100vw;
}
}
ha-form.passive {
--zone-radius-color: var(--secondary-text-color);
}

140
yarn.lock
View File

@@ -2007,12 +2007,12 @@ __metadata:
languageName: node
linkType: hard
"@isaacs/brace-expansion@npm:^5.0.0":
version: 5.0.0
resolution: "@isaacs/brace-expansion@npm:5.0.0"
"@isaacs/brace-expansion@npm:^5.0.1":
version: 5.0.1
resolution: "@isaacs/brace-expansion@npm:5.0.1"
dependencies:
"@isaacs/balanced-match": "npm:^4.0.1"
checksum: 10/cf3b7f206aff12128214a1df764ac8cdbc517c110db85249b945282407e3dfc5c6e66286383a7c9391a059fc8e6e6a8ca82262fc9d2590bd615376141fbebd2d
checksum: 10/aec226065bc4285436a27379e08cc35bf94ef59f5098ac1c026495c9ba4ab33d851964082d3648d56d63eb90f2642867bd15a3e1b810b98beb1a8c14efce6a94
languageName: node
linkType: hard
@@ -4013,92 +4013,92 @@ __metadata:
languageName: node
linkType: hard
"@rspack/binding-darwin-arm64@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-darwin-arm64@npm:1.7.4"
"@rspack/binding-darwin-arm64@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-darwin-arm64@npm:1.7.5"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@rspack/binding-darwin-x64@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-darwin-x64@npm:1.7.4"
"@rspack/binding-darwin-x64@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-darwin-x64@npm:1.7.5"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@rspack/binding-linux-arm64-gnu@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-arm64-gnu@npm:1.7.4"
"@rspack/binding-linux-arm64-gnu@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-arm64-gnu@npm:1.7.5"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@rspack/binding-linux-arm64-musl@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-arm64-musl@npm:1.7.4"
"@rspack/binding-linux-arm64-musl@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-arm64-musl@npm:1.7.5"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@rspack/binding-linux-x64-gnu@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-x64-gnu@npm:1.7.4"
"@rspack/binding-linux-x64-gnu@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-x64-gnu@npm:1.7.5"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@rspack/binding-linux-x64-musl@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-x64-musl@npm:1.7.4"
"@rspack/binding-linux-x64-musl@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-x64-musl@npm:1.7.5"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@rspack/binding-wasm32-wasi@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-wasm32-wasi@npm:1.7.4"
"@rspack/binding-wasm32-wasi@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-wasm32-wasi@npm:1.7.5"
dependencies:
"@napi-rs/wasm-runtime": "npm:1.0.7"
conditions: cpu=wasm32
languageName: node
linkType: hard
"@rspack/binding-win32-arm64-msvc@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-win32-arm64-msvc@npm:1.7.4"
"@rspack/binding-win32-arm64-msvc@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-win32-arm64-msvc@npm:1.7.5"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@rspack/binding-win32-ia32-msvc@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-win32-ia32-msvc@npm:1.7.4"
"@rspack/binding-win32-ia32-msvc@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-win32-ia32-msvc@npm:1.7.5"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@rspack/binding-win32-x64-msvc@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-win32-x64-msvc@npm:1.7.4"
"@rspack/binding-win32-x64-msvc@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-win32-x64-msvc@npm:1.7.5"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@rspack/binding@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding@npm:1.7.4"
"@rspack/binding@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding@npm:1.7.5"
dependencies:
"@rspack/binding-darwin-arm64": "npm:1.7.4"
"@rspack/binding-darwin-x64": "npm:1.7.4"
"@rspack/binding-linux-arm64-gnu": "npm:1.7.4"
"@rspack/binding-linux-arm64-musl": "npm:1.7.4"
"@rspack/binding-linux-x64-gnu": "npm:1.7.4"
"@rspack/binding-linux-x64-musl": "npm:1.7.4"
"@rspack/binding-wasm32-wasi": "npm:1.7.4"
"@rspack/binding-win32-arm64-msvc": "npm:1.7.4"
"@rspack/binding-win32-ia32-msvc": "npm:1.7.4"
"@rspack/binding-win32-x64-msvc": "npm:1.7.4"
"@rspack/binding-darwin-arm64": "npm:1.7.5"
"@rspack/binding-darwin-x64": "npm:1.7.5"
"@rspack/binding-linux-arm64-gnu": "npm:1.7.5"
"@rspack/binding-linux-arm64-musl": "npm:1.7.5"
"@rspack/binding-linux-x64-gnu": "npm:1.7.5"
"@rspack/binding-linux-x64-musl": "npm:1.7.5"
"@rspack/binding-wasm32-wasi": "npm:1.7.5"
"@rspack/binding-win32-arm64-msvc": "npm:1.7.5"
"@rspack/binding-win32-ia32-msvc": "npm:1.7.5"
"@rspack/binding-win32-x64-msvc": "npm:1.7.5"
dependenciesMeta:
"@rspack/binding-darwin-arm64":
optional: true
@@ -4120,23 +4120,23 @@ __metadata:
optional: true
"@rspack/binding-win32-x64-msvc":
optional: true
checksum: 10/0d082e962980ace986c546ac359e7d4b5fada21ce38980db792c70ef97257841257b64a0b65c5d3c2e2660d58ab05b1d7302defc752f325c616507f5837fb98d
checksum: 10/3e66805d4dae5f2051f10c5a9126e5bf25926d2a6ccb1c794af2aa49c15e4fdcb9e362bd015a9afef1e788a3272dfe7a28a3c866713badda34579896d736ed4f
languageName: node
linkType: hard
"@rspack/core@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/core@npm:1.7.4"
"@rspack/core@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/core@npm:1.7.5"
dependencies:
"@module-federation/runtime-tools": "npm:0.22.0"
"@rspack/binding": "npm:1.7.4"
"@rspack/binding": "npm:1.7.5"
"@rspack/lite-tapable": "npm:1.1.0"
peerDependencies:
"@swc/helpers": ">=0.5.1"
peerDependenciesMeta:
"@swc/helpers":
optional: true
checksum: 10/ecce39e64993ba9f5792c737b6d61960946c59399254f5903651a53b6e61761f8bc2a20dfdf81b1b819e1b0f1e26257456d902244485fd035e5a585b5a28a623
checksum: 10/c17d93ef1e7e0728b74bf527150642d9bf072cabb63964ebd32c82da94d6d2f9eac7ff2cc13031bbd376c0c03710899f549e61d2bcfc0a6638a9f3bc8620b7ce
languageName: node
linkType: hard
@@ -8754,14 +8754,14 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:13.0.0, glob@npm:^13.0.0":
version: 13.0.0
resolution: "glob@npm:13.0.0"
"glob@npm:13.0.1, glob@npm:^13.0.0":
version: 13.0.1
resolution: "glob@npm:13.0.1"
dependencies:
minimatch: "npm:^10.1.1"
minimatch: "npm:^10.1.2"
minipass: "npm:^7.1.2"
path-scurry: "npm:^2.0.0"
checksum: 10/de390721d29ee1c9ea41e40ec2aa0de2cabafa68022e237dc4297665a5e4d650776f2573191984ea1640aba1bf0ea34eddef2d8cbfbfc2ad24b5fb0af41d8846
checksum: 10/465e8cc269ab88d7415a3906cdc0f4543a2ae54df99207204af5bc28a944396d8d893822f546a8056a78ec714e608ab4f3502532c4d6b9cc5e113adf0fe5109e
languageName: node
linkType: hard
@@ -9120,7 +9120,7 @@ __metadata:
"@octokit/rest": "npm:22.0.1"
"@replit/codemirror-indentation-markers": "npm:6.5.3"
"@rsdoctor/rspack-plugin": "npm:1.5.1"
"@rspack/core": "npm:1.7.4"
"@rspack/core": "npm:1.7.5"
"@rspack/dev-server": "npm:1.2.1"
"@swc/helpers": "npm:0.5.18"
"@thomasloven/round-slider": "npm:0.6.0"
@@ -9178,7 +9178,7 @@ __metadata:
fancy-log: "npm:2.0.0"
fs-extra: "npm:11.3.3"
fuse.js: "npm:7.1.0"
glob: "npm:13.0.0"
glob: "npm:13.0.1"
google-timezones-json: "npm:1.2.0"
gulp: "npm:5.0.1"
gulp-brotli: "npm:3.0.0"
@@ -9228,7 +9228,7 @@ __metadata:
ts-lit-plugin: "npm:2.0.2"
typescript: "npm:5.9.3"
typescript-eslint: "npm:8.54.0"
ua-parser-js: "npm:2.0.8"
ua-parser-js: "npm:2.0.9"
vite-tsconfig-paths: "npm:6.0.5"
vitest: "npm:4.0.18"
vue: "npm:2.7.16"
@@ -10973,12 +10973,12 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:^10.1.1":
version: 10.1.1
resolution: "minimatch@npm:10.1.1"
"minimatch@npm:^10.1.2":
version: 10.1.2
resolution: "minimatch@npm:10.1.2"
dependencies:
"@isaacs/brace-expansion": "npm:^5.0.0"
checksum: 10/110f38921ea527022e90f7a5f43721838ac740d0a0c26881c03b57c261354fb9a0430e40b2c56dfcea2ef3c773768f27210d1106f1f2be19cde3eea93f26f45e
"@isaacs/brace-expansion": "npm:^5.0.1"
checksum: 10/6f0ef975463739207144e411bdd54f7205ce38770b162fa3bc4c9be4987a16cb20d0962a82f26c2372598cfba90faa97b327239d303b529b774f17681c163b46
languageName: node
linkType: hard
@@ -14155,16 +14155,16 @@ __metadata:
languageName: node
linkType: hard
"ua-parser-js@npm:2.0.8":
version: 2.0.8
resolution: "ua-parser-js@npm:2.0.8"
"ua-parser-js@npm:2.0.9":
version: 2.0.9
resolution: "ua-parser-js@npm:2.0.9"
dependencies:
detect-europe-js: "npm:^0.1.2"
is-standalone-pwa: "npm:^0.1.1"
ua-is-frozen: "npm:^0.1.2"
bin:
ua-parser-js: script/cli.js
checksum: 10/862ad2e3b083d8ffbb325d6e7c78924aa86f751829301173457afdf44ff911c95c5478d8a1bd31cf80555dd6aae946b3194d20615a91550794f20dad7ac998b5
checksum: 10/63e3404e16ade8a7d1b45bf2a871410193ab63620ab02ffa5308a507a984d2698bd74651ce260ac3e0cb9f8df89c71fa55a6beefbe269c12849c6d6cf0974407
languageName: node
linkType: hard