Compare commits

..

1 Commits

Author SHA1 Message Date
Aidan Timson
1dfbb7eff2 Migrate config-integrations dialog(s) to wa 2026-02-05 15:37:18 +00:00
7 changed files with 209 additions and 245 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-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.
- 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.
- 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.9",
"ua-parser-js": "2.0.8",
"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.5",
"@rspack/core": "1.7.4",
"@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.1",
"glob": "13.0.0",
"gulp": "5.0.1",
"gulp-brotli": "3.0.0",
"gulp-json-transform": "0.5.0",

View File

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

View File

@@ -5,8 +5,7 @@ import { customElement, property, state } from "lit/decorators";
import { fireEvent } from "../../../../common/dom/fire_event";
import "../../../../components/ha-alert";
import "../../../../components/ha-button";
import "../../../../components/ha-dialog-footer";
import "../../../../components/ha-wa-dialog";
import { createCloseHeading } from "../../../../components/ha-dialog";
import type { HassDialog } from "../../../../dialogs/make-dialog-manager";
import { haStyleDialog } from "../../../../resources/styles";
import type { HomeAssistant } from "../../../../types";
@@ -22,21 +21,14 @@ 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() {
@@ -45,11 +37,13 @@ export class DialogJoinBeta
}
return html`
<ha-wa-dialog
.hass=${this.hass}
.open=${this._open}
header-title=${this.hass.localize("ui.dialogs.join_beta_channel.title")}
@closed=${this._dialogClosed}
<ha-dialog
open
@closed=${this.closeDialog}
.heading=${createCloseHeading(
this.hass,
this.hass.localize("ui.dialogs.join_beta_channel.title")
)}
>
<ha-alert alert-type="warning">
${this.hass.localize("ui.dialogs.join_beta_channel.backup")}
@@ -73,19 +67,17 @@ export class DialogJoinBeta
)}
<ha-svg-icon .path=${mdiOpenInNew}></ha-svg-icon>
</a>
<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>
<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>
`;
}

View File

@@ -1,11 +1,9 @@
import { mdiClose } from "@mdi/js";
import type { IFuseOptions } from "fuse.js";
import Fuse from "fuse.js";
import type { HassConfig } from "home-assistant-js-websocket";
import type { PropertyValues, TemplateResult } from "lit";
import { LitElement, css, html, nothing } from "lit";
import { customElement, state } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
import { styleMap } from "lit/directives/style-map";
import memoizeOne from "memoize-one";
import { isComponentLoaded } from "../../../common/config/is_component_loaded";
@@ -17,10 +15,10 @@ import {
import { navigate } from "../../../common/navigate";
import { caseInsensitiveStringCompare } from "../../../common/string/compare";
import type { LocalizeFunc } from "../../../common/translations/localize";
import { createCloseHeading } from "../../../components/ha-dialog";
import "../../../components/ha-icon-button-prev";
import "../../../components/ha-list";
import "../../../components/ha-spinner";
import "../../../components/ha-wa-dialog";
import "../../../components/search-input";
import { getConfigEntries } from "../../../data/config_entries";
import {
@@ -145,6 +143,9 @@ class AddIntegrationDialog extends LitElement {
public closeDialog() {
this._open = false;
}
private _dialogClosed() {
this._integrations = undefined;
this._helpers = undefined;
this._pickedBrand = undefined;
@@ -361,7 +362,7 @@ class AddIntegrationDialog extends LitElement {
}
protected render() {
if (!this._open) {
if (!this._open && !this._integrations && !this._helpers) {
return nothing;
}
const integrations = this._integrations
@@ -373,20 +374,38 @@ class AddIntegrationDialog extends LitElement {
findIntegration(this._integrations, this._pickedBrand)
: undefined;
return html`<ha-dialog
open
@closed=${this.closeDialog}
hideActions
.heading=${createCloseHeading(
this.hass,
this.hass.localize("ui.panel.config.integrations.new")
)}
const showingBrandView =
(this._pickedBrand && (!this._integrations || pickedIntegration)) ||
this._showDiscovered;
const flowsInProgress = showingBrandView
? this._getFlowsForCurrentView(pickedIntegration)
: [];
const headerTitle = showingBrandView
? this._getBrandHeading(pickedIntegration, flowsInProgress)
: this.hass.localize("ui.panel.config.integrations.new");
return html`<ha-wa-dialog
.hass=${this.hass}
.open=${this._open}
header-title=${headerTitle}
@closed=${this._dialogClosed}
>
${(this._pickedBrand && (!this._integrations || pickedIntegration)) ||
this._showDiscovered
? this._renderBrandView(pickedIntegration)
${showingBrandView
? html`
${!this._openedDirectly
? html`
<ha-icon-button-prev
slot="headerNavigationIcon"
@click=${this._prevClicked}
></ha-icon-button-prev>
`
: nothing}
${this._renderBrandView(pickedIntegration, flowsInProgress)}
`
: this._renderAll(integrations)}
</ha-dialog>`;
</ha-wa-dialog>`;
}
private _getFlowsForCurrentView(
@@ -413,61 +432,53 @@ class AddIntegrationDialog extends LitElement {
return this._getFlowsInProgressForDomains(domains);
}
private _renderBrandView(
integration: Brand | Integration | undefined
): TemplateResult {
const flowsInProgress = this._getFlowsForCurrentView(integration);
let heading: string;
private _getBrandHeading(
integration: Brand | Integration | undefined,
flowsInProgress: DataEntryFlowProgress[]
): string {
if (
integration?.iot_standards &&
!("integrations" in integration) &&
!flowsInProgress.length
) {
heading = this.hass.localize(
return this.hass.localize(
"ui.panel.config.integrations.what_device_type"
);
} else if (
}
if (
integration &&
!integration?.iot_standards &&
!("integrations" in integration) &&
flowsInProgress.length
) {
heading = this.hass.localize(
return this.hass.localize(
"ui.panel.config.integrations.confirm_add_discovered"
);
} else {
heading = this.hass.localize("ui.panel.config.integrations.what_to_add");
}
return html`<div slot="heading">
${this._openedDirectly
? html`<ha-icon-button
class="header-close-button"
.label=${this.hass.localize("ui.common.close")}
.path=${mdiClose}
dialogAction="close"
></ha-icon-button>`
: html`<ha-icon-button-prev
@click=${this._prevClicked}
></ha-icon-button-prev>`}
<h2 class="mdc-dialog__title">${heading}</h2>
</div>
<ha-domain-integrations
.hass=${this.hass}
.domain=${this._pickedBrand}
.integration=${integration}
.flowsInProgress=${flowsInProgress}
.navigateToResult=${this._navigateToResult}
.showManageLink=${this._showDiscovered}
style=${styleMap({
minWidth: `${this._width}px`,
minHeight: `581px`,
})}
@close-dialog=${this.closeDialog}
@supported-by=${this._handleSupportedByEvent}
@select-brand=${this._handleSelectBrandEvent}
></ha-domain-integrations>`;
return this.hass.localize("ui.panel.config.integrations.what_to_add");
}
private _renderBrandView(
integration: Brand | Integration | undefined,
flowsInProgress: DataEntryFlowProgress[]
): TemplateResult {
return html`<ha-domain-integrations
.hass=${this.hass}
.domain=${this._pickedBrand}
.integration=${integration}
.flowsInProgress=${flowsInProgress}
.navigateToResult=${this._navigateToResult}
.showManageLink=${this._showDiscovered}
style=${styleMap({
minWidth: `${this._width}px`,
minHeight: `581px`,
})}
@close-dialog=${this.closeDialog}
@supported-by=${this._handleSupportedByEvent}
@select-brand=${this._handleSelectBrandEvent}
></ha-domain-integrations>`;
}
private _handleSelectBrandEvent(ev: CustomEvent) {
@@ -524,7 +535,7 @@ class AddIntegrationDialog extends LitElement {
private _renderAll(integrations?: IntegrationListItem[]): TemplateResult {
return html`<search-input
.hass=${this.hass}
dialogInitialFocus=${ifDefined(this._narrow ? undefined : "")}
?autofocus=${!this._narrow}
.filter=${this._filter}
@value-changed=${this._filterChanged}
.label=${this.hass.localize(
@@ -533,9 +544,7 @@ class AddIntegrationDialog extends LitElement {
@keypress=${this._maybeSubmit}
></search-input>
${integrations
? html`<ha-list
dialogInitialFocus=${ifDefined(this._narrow ? "" : undefined)}
>
? html`<ha-list ?autofocus=${this._narrow}>
<lit-virtualizer
scroller
tabindex="-1"
@@ -809,12 +818,7 @@ class AddIntegrationDialog extends LitElement {
haStyleScrollbar,
haStyleDialog,
css`
@media all and (min-width: 550px) {
ha-dialog {
--mdc-dialog-min-width: 500px;
}
}
ha-dialog {
ha-wa-dialog {
--dialog-content-padding: 0;
}
search-input {
@@ -824,10 +828,6 @@ class AddIntegrationDialog extends LitElement {
.divider {
border-bottom-color: var(--divider-color);
}
h2 {
padding-inline-end: 66px;
direction: var(--direction);
}
p {
text-align: center;
padding: 16px;
@@ -853,43 +853,6 @@ class AddIntegrationDialog extends LitElement {
ha-integration-list-item {
width: 100%;
}
ha-icon-button-prev,
.header-close-button {
color: var(--secondary-text-color);
position: absolute;
left: 16px;
top: 14px;
inset-inline-end: initial;
inset-inline-start: 16px;
direction: var(--direction);
}
.mdc-dialog__title {
margin: 0;
margin-bottom: 8px;
margin-left: 48px;
margin-inline-start: 48px;
margin-inline-end: initial;
padding: 24px 24px 0 24px;
color: var(--mdc-dialog-heading-ink-color, rgba(0, 0, 0, 0.87));
font-size: var(
--mdc-typography-headline6-font-size,
var(--ha-font-size-l)
);
line-height: var(--mdc-typography-headline6-line-height, 2rem);
font-weight: var(
--mdc-typography-headline6-font-weight,
var(--ha-font-weight-medium)
);
letter-spacing: var(
--mdc-typography-headline6-letter-spacing,
0.0125em
);
text-decoration: var(
--mdc-typography-headline6-text-decoration,
inherit
);
text-transform: var(--mdc-typography-headline6-text-transform, inherit);
}
`,
];
}

View File

@@ -4,8 +4,9 @@ import { fireEvent } from "../../../common/dom/fire_event";
import type { HomeAssistant } from "../../../types";
import { documentationUrl } from "../../../util/documentation-url";
import type { YamlIntegrationDialogParams } from "./show-add-integration-dialog";
import "../../../components/ha-dialog";
import "../../../components/ha-button";
import "../../../components/ha-dialog-footer";
import "../../../components/ha-wa-dialog";
@customElement("dialog-yaml-integration")
export class DialogYamlIntegration extends LitElement {
@@ -13,11 +14,18 @@ export class DialogYamlIntegration extends LitElement {
@state() private _params?: YamlIntegrationDialogParams;
@state() private _open = false;
public showDialog(params: YamlIntegrationDialogParams): void {
this._params = params;
this._open = true;
}
public closeDialog() {
this._open = false;
}
private _dialogClosed(): void {
this._params = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
}
@@ -31,43 +39,50 @@ export class DialogYamlIntegration extends LitElement {
? documentationUrl(this.hass, `/integrations/${manifest.domain}`)
: manifest.documentation;
return html`
<ha-dialog
open
@closed=${this.closeDialog}
.heading=${this.hass.localize(
<ha-wa-dialog
.hass=${this.hass}
.open=${this._open}
header-title=${this.hass.localize(
"ui.panel.config.integrations.config_flow.yaml_only_title"
)}
@closed=${this._dialogClosed}
>
<p>
${this.hass.localize(
"ui.panel.config.integrations.config_flow.yaml_only"
)}
</p>
<ha-button
appearance="plain"
@click=${this.closeDialog}
slot="primaryAction"
>
${this.hass.localize("ui.common.cancel")}
</ha-button>
${docLink
? html`<ha-button
appearance="plain"
href=${docLink}
target="_blank"
rel="noreferrer noopener"
slot="primaryAction"
@click=${this.closeDialog}
dialogInitialFocus
>
${this.hass.localize(
"ui.panel.config.integrations.config_flow.open_documentation"
)}
</ha-button>`
: html`<ha-button @click=${this.closeDialog} dialogInitialFocus>
${this.hass.localize("ui.common.ok")}
</ha-button>`}
</ha-dialog>
<ha-dialog-footer slot="footer">
<ha-button
slot="secondaryAction"
appearance="plain"
@click=${this.closeDialog}
>
${this.hass.localize("ui.common.cancel")}
</ha-button>
${docLink
? html`<ha-button
slot="primaryAction"
appearance="plain"
href=${docLink}
target="_blank"
rel="noreferrer noopener"
@click=${this.closeDialog}
autofocus
>
${this.hass.localize(
"ui.panel.config.integrations.config_flow.open_documentation"
)}
</ha-button>`
: html`<ha-button
slot="primaryAction"
@click=${this.closeDialog}
autofocus
>
${this.hass.localize("ui.common.ok")}
</ha-button>`}
</ha-dialog-footer>
</ha-wa-dialog>
`;
}
@@ -79,15 +94,10 @@ export class DialogYamlIntegration extends LitElement {
a {
text-decoration: none;
}
ha-dialog {
ha-wa-dialog {
/* Place above other dialogs */
--dialog-z-index: 104;
}
@media all and (min-width: 600px) {
ha-dialog {
--mdc-dialog-min-width: 400px;
}
}
`;
}

140
yarn.lock
View File

@@ -2007,12 +2007,12 @@ __metadata:
languageName: node
linkType: hard
"@isaacs/brace-expansion@npm:^5.0.1":
version: 5.0.1
resolution: "@isaacs/brace-expansion@npm:5.0.1"
"@isaacs/brace-expansion@npm:^5.0.0":
version: 5.0.0
resolution: "@isaacs/brace-expansion@npm:5.0.0"
dependencies:
"@isaacs/balanced-match": "npm:^4.0.1"
checksum: 10/aec226065bc4285436a27379e08cc35bf94ef59f5098ac1c026495c9ba4ab33d851964082d3648d56d63eb90f2642867bd15a3e1b810b98beb1a8c14efce6a94
checksum: 10/cf3b7f206aff12128214a1df764ac8cdbc517c110db85249b945282407e3dfc5c6e66286383a7c9391a059fc8e6e6a8ca82262fc9d2590bd615376141fbebd2d
languageName: node
linkType: hard
@@ -4013,92 +4013,92 @@ __metadata:
languageName: node
linkType: hard
"@rspack/binding-darwin-arm64@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-darwin-arm64@npm:1.7.5"
"@rspack/binding-darwin-arm64@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-darwin-arm64@npm:1.7.4"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@rspack/binding-darwin-x64@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-darwin-x64@npm:1.7.5"
"@rspack/binding-darwin-x64@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-darwin-x64@npm:1.7.4"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@rspack/binding-linux-arm64-gnu@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-arm64-gnu@npm:1.7.5"
"@rspack/binding-linux-arm64-gnu@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-arm64-gnu@npm:1.7.4"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@rspack/binding-linux-arm64-musl@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-arm64-musl@npm:1.7.5"
"@rspack/binding-linux-arm64-musl@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-arm64-musl@npm:1.7.4"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@rspack/binding-linux-x64-gnu@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-x64-gnu@npm:1.7.5"
"@rspack/binding-linux-x64-gnu@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-x64-gnu@npm:1.7.4"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@rspack/binding-linux-x64-musl@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-linux-x64-musl@npm:1.7.5"
"@rspack/binding-linux-x64-musl@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-linux-x64-musl@npm:1.7.4"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@rspack/binding-wasm32-wasi@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-wasm32-wasi@npm:1.7.5"
"@rspack/binding-wasm32-wasi@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-wasm32-wasi@npm:1.7.4"
dependencies:
"@napi-rs/wasm-runtime": "npm:1.0.7"
conditions: cpu=wasm32
languageName: node
linkType: hard
"@rspack/binding-win32-arm64-msvc@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-win32-arm64-msvc@npm:1.7.5"
"@rspack/binding-win32-arm64-msvc@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-win32-arm64-msvc@npm:1.7.4"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@rspack/binding-win32-ia32-msvc@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-win32-ia32-msvc@npm:1.7.5"
"@rspack/binding-win32-ia32-msvc@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-win32-ia32-msvc@npm:1.7.4"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@rspack/binding-win32-x64-msvc@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding-win32-x64-msvc@npm:1.7.5"
"@rspack/binding-win32-x64-msvc@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding-win32-x64-msvc@npm:1.7.4"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@rspack/binding@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/binding@npm:1.7.5"
"@rspack/binding@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/binding@npm:1.7.4"
dependencies:
"@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"
"@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"
dependenciesMeta:
"@rspack/binding-darwin-arm64":
optional: true
@@ -4120,23 +4120,23 @@ __metadata:
optional: true
"@rspack/binding-win32-x64-msvc":
optional: true
checksum: 10/3e66805d4dae5f2051f10c5a9126e5bf25926d2a6ccb1c794af2aa49c15e4fdcb9e362bd015a9afef1e788a3272dfe7a28a3c866713badda34579896d736ed4f
checksum: 10/0d082e962980ace986c546ac359e7d4b5fada21ce38980db792c70ef97257841257b64a0b65c5d3c2e2660d58ab05b1d7302defc752f325c616507f5837fb98d
languageName: node
linkType: hard
"@rspack/core@npm:1.7.5":
version: 1.7.5
resolution: "@rspack/core@npm:1.7.5"
"@rspack/core@npm:1.7.4":
version: 1.7.4
resolution: "@rspack/core@npm:1.7.4"
dependencies:
"@module-federation/runtime-tools": "npm:0.22.0"
"@rspack/binding": "npm:1.7.5"
"@rspack/binding": "npm:1.7.4"
"@rspack/lite-tapable": "npm:1.1.0"
peerDependencies:
"@swc/helpers": ">=0.5.1"
peerDependenciesMeta:
"@swc/helpers":
optional: true
checksum: 10/c17d93ef1e7e0728b74bf527150642d9bf072cabb63964ebd32c82da94d6d2f9eac7ff2cc13031bbd376c0c03710899f549e61d2bcfc0a6638a9f3bc8620b7ce
checksum: 10/ecce39e64993ba9f5792c737b6d61960946c59399254f5903651a53b6e61761f8bc2a20dfdf81b1b819e1b0f1e26257456d902244485fd035e5a585b5a28a623
languageName: node
linkType: hard
@@ -8754,14 +8754,14 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:13.0.1, glob@npm:^13.0.0":
version: 13.0.1
resolution: "glob@npm:13.0.1"
"glob@npm:13.0.0, glob@npm:^13.0.0":
version: 13.0.0
resolution: "glob@npm:13.0.0"
dependencies:
minimatch: "npm:^10.1.2"
minimatch: "npm:^10.1.1"
minipass: "npm:^7.1.2"
path-scurry: "npm:^2.0.0"
checksum: 10/465e8cc269ab88d7415a3906cdc0f4543a2ae54df99207204af5bc28a944396d8d893822f546a8056a78ec714e608ab4f3502532c4d6b9cc5e113adf0fe5109e
checksum: 10/de390721d29ee1c9ea41e40ec2aa0de2cabafa68022e237dc4297665a5e4d650776f2573191984ea1640aba1bf0ea34eddef2d8cbfbfc2ad24b5fb0af41d8846
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.5"
"@rspack/core": "npm:1.7.4"
"@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.1"
glob: "npm:13.0.0"
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.9"
ua-parser-js: "npm:2.0.8"
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.2":
version: 10.1.2
resolution: "minimatch@npm:10.1.2"
"minimatch@npm:^10.1.1":
version: 10.1.1
resolution: "minimatch@npm:10.1.1"
dependencies:
"@isaacs/brace-expansion": "npm:^5.0.1"
checksum: 10/6f0ef975463739207144e411bdd54f7205ce38770b162fa3bc4c9be4987a16cb20d0962a82f26c2372598cfba90faa97b327239d303b529b774f17681c163b46
"@isaacs/brace-expansion": "npm:^5.0.0"
checksum: 10/110f38921ea527022e90f7a5f43721838ac740d0a0c26881c03b57c261354fb9a0430e40b2c56dfcea2ef3c773768f27210d1106f1f2be19cde3eea93f26f45e
languageName: node
linkType: hard
@@ -14155,16 +14155,16 @@ __metadata:
languageName: node
linkType: hard
"ua-parser-js@npm:2.0.9":
version: 2.0.9
resolution: "ua-parser-js@npm:2.0.9"
"ua-parser-js@npm:2.0.8":
version: 2.0.8
resolution: "ua-parser-js@npm:2.0.8"
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/63e3404e16ade8a7d1b45bf2a871410193ab63620ab02ffa5308a507a984d2698bd74651ce260ac3e0cb9f8df89c71fa55a6beefbe269c12849c6d6cf0974407
checksum: 10/862ad2e3b083d8ffbb325d6e7c78924aa86f751829301173457afdf44ff911c95c5478d8a1bd31cf80555dd6aae946b3194d20615a91550794f20dad7ac998b5
languageName: node
linkType: hard