mirror of
https://github.com/home-assistant/frontend.git
synced 2025-11-01 23:19:34 +00:00
Compare commits
32 Commits
20250828.0
...
automation
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8ecc7827e | ||
|
|
779ec4f583 | ||
|
|
c541831cd2 | ||
|
|
fd20c2a554 | ||
|
|
14fd29808c | ||
|
|
7132ee157f | ||
|
|
1596b313d5 | ||
|
|
70cd68ded7 | ||
|
|
cc91a6185e | ||
|
|
1fd7c84583 | ||
|
|
0269540ee9 | ||
|
|
98390b3843 | ||
|
|
269628929c | ||
|
|
21fcc84afd | ||
|
|
b86c1db83d | ||
|
|
a376670478 | ||
|
|
72c62079aa | ||
|
|
9baf875585 | ||
|
|
175915218f | ||
|
|
25f25243bd | ||
|
|
cf8d36b1f3 | ||
|
|
e3a9d754df | ||
|
|
7b303a699b | ||
|
|
ee45eb00f7 | ||
|
|
24a6aa2669 | ||
|
|
66d011cfb9 | ||
|
|
35895735cc | ||
|
|
e71df0b71a | ||
|
|
2a9846c598 | ||
|
|
b243d56bee | ||
|
|
6a372a165e | ||
|
|
a5dad9bc22 |
File diff suppressed because one or more lines are too long
@@ -6,4 +6,4 @@ enableGlobalCache: false
|
||||
|
||||
nodeLinker: node-modules
|
||||
|
||||
yarnPath: .yarn/releases/yarn-4.9.3.cjs
|
||||
yarnPath: .yarn/releases/yarn-4.9.4.cjs
|
||||
|
||||
16
package.json
16
package.json
@@ -89,8 +89,8 @@
|
||||
"@thomasloven/round-slider": "0.6.0",
|
||||
"@tsparticles/engine": "3.9.1",
|
||||
"@tsparticles/preset-links": "3.2.0",
|
||||
"@vaadin/combo-box": "24.8.5",
|
||||
"@vaadin/vaadin-themable-mixin": "24.8.5",
|
||||
"@vaadin/combo-box": "24.8.6",
|
||||
"@vaadin/vaadin-themable-mixin": "24.8.6",
|
||||
"@vibrant/color": "4.0.0",
|
||||
"@vue/web-component-wrapper": "1.3.0",
|
||||
"@webcomponents/scoped-custom-element-registry": "0.0.10",
|
||||
@@ -112,7 +112,7 @@
|
||||
"fuse.js": "7.1.0",
|
||||
"google-timezones-json": "1.2.0",
|
||||
"gulp-zopfli-green": "6.0.2",
|
||||
"hls.js": "1.6.10",
|
||||
"hls.js": "1.6.11",
|
||||
"home-assistant-js-websocket": "9.5.0",
|
||||
"idb-keyval": "6.2.2",
|
||||
"intl-messageformat": "10.7.16",
|
||||
@@ -123,7 +123,7 @@
|
||||
"lit": "3.3.1",
|
||||
"lit-html": "3.3.1",
|
||||
"luxon": "3.7.1",
|
||||
"marked": "16.2.0",
|
||||
"marked": "16.2.1",
|
||||
"memoize-one": "6.0.0",
|
||||
"node-vibrant": "4.0.3",
|
||||
"object-hash": "3.0.0",
|
||||
@@ -159,7 +159,7 @@
|
||||
"@octokit/plugin-retry": "8.0.1",
|
||||
"@octokit/rest": "22.0.0",
|
||||
"@rsdoctor/rspack-plugin": "1.2.3",
|
||||
"@rspack/core": "1.4.11",
|
||||
"@rspack/core": "1.5.1",
|
||||
"@rspack/dev-server": "1.1.4",
|
||||
"@types/babel__plugin-transform-runtime": "7.9.5",
|
||||
"@types/chromecast-caf-receiver": "6.0.22",
|
||||
@@ -218,7 +218,7 @@
|
||||
"terser-webpack-plugin": "5.3.14",
|
||||
"ts-lit-plugin": "2.0.2",
|
||||
"typescript": "5.9.2",
|
||||
"typescript-eslint": "8.40.0",
|
||||
"typescript-eslint": "8.41.0",
|
||||
"vite-tsconfig-paths": "5.1.4",
|
||||
"vitest": "3.2.4",
|
||||
"webpack-stats-plugin": "1.1.3",
|
||||
@@ -235,7 +235,7 @@
|
||||
"globals": "16.3.0",
|
||||
"tslib": "2.8.1",
|
||||
"@material/mwc-list@^0.27.0": "patch:@material/mwc-list@npm%3A0.27.0#~/.yarn/patches/@material-mwc-list-npm-0.27.0-5344fc9de4.patch",
|
||||
"@vaadin/vaadin-themable-mixin": "24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "24.8.6"
|
||||
},
|
||||
"packageManager": "yarn@4.9.3"
|
||||
"packageManager": "yarn@4.9.4"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "home-assistant-frontend"
|
||||
version = "20250828.0"
|
||||
version = "20250827.0"
|
||||
license = "Apache-2.0"
|
||||
license-files = ["LICENSE*"]
|
||||
description = "The Home Assistant frontend"
|
||||
|
||||
@@ -103,7 +103,9 @@ export class HaAutomationRow extends LitElement {
|
||||
}
|
||||
|
||||
public focus() {
|
||||
requestAnimationFrame(() => this._rowElement?.focus());
|
||||
requestAnimationFrame(() => {
|
||||
this._rowElement?.focus();
|
||||
});
|
||||
}
|
||||
|
||||
static styles = css`
|
||||
|
||||
@@ -53,9 +53,15 @@ export class HaMediaSelector extends LitElement {
|
||||
|
||||
private _contextEntities: string[] | undefined;
|
||||
|
||||
private get _hasAccept(): boolean {
|
||||
return !!this.selector?.media?.accept?.length;
|
||||
}
|
||||
|
||||
willUpdate(changedProps: PropertyValues<this>) {
|
||||
if (changedProps.has("context")) {
|
||||
this._contextEntities = ensureArray(this.context?.filter_entity);
|
||||
if (!this._hasAccept) {
|
||||
this._contextEntities = ensureArray(this.context?.filter_entity);
|
||||
}
|
||||
}
|
||||
|
||||
if (changedProps.has("value")) {
|
||||
@@ -99,10 +105,8 @@ export class HaMediaSelector extends LitElement {
|
||||
(stateObj &&
|
||||
supportsFeature(stateObj, MediaPlayerEntityFeature.BROWSE_MEDIA));
|
||||
|
||||
const hasAccept = this.selector?.media?.accept?.length;
|
||||
|
||||
return html`
|
||||
${hasAccept ||
|
||||
${this._hasAccept ||
|
||||
(this._contextEntities && this._contextEntities.length <= 1)
|
||||
? nothing
|
||||
: html`
|
||||
@@ -148,7 +152,7 @@ export class HaMediaSelector extends LitElement {
|
||||
: this.value.metadata?.title || this.value.media_content_id}
|
||||
@click=${this._pickMedia}
|
||||
@keydown=${this._handleKeyDown}
|
||||
class=${this.disabled || (!entityId && !hasAccept)
|
||||
class=${this.disabled || (!entityId && !this._hasAccept)
|
||||
? "disabled"
|
||||
: ""}
|
||||
>
|
||||
@@ -215,7 +219,7 @@ export class HaMediaSelector extends LitElement {
|
||||
|
||||
private _entityChanged(ev: CustomEvent) {
|
||||
ev.stopPropagation();
|
||||
if (this.context?.filter_entity) {
|
||||
if (!this._hasAccept && this.context?.filter_entity) {
|
||||
fireEvent(this, "value-changed", {
|
||||
value: {
|
||||
media_content_id: "",
|
||||
@@ -257,7 +261,7 @@ export class HaMediaSelector extends LitElement {
|
||||
media_content_type: id.media_content_type,
|
||||
media_content_id: id.media_content_id,
|
||||
})),
|
||||
...(this.context?.filter_entity
|
||||
...(!this._hasAccept && this.context?.filter_entity
|
||||
? { browse_entity_id: this._getActiveEntityId() }
|
||||
: {}),
|
||||
},
|
||||
|
||||
@@ -387,6 +387,18 @@ export const normalizeAutomationConfig = <
|
||||
}
|
||||
}
|
||||
|
||||
// We move all conditions into the action for display
|
||||
if (config.conditions) {
|
||||
if (config.actions) {
|
||||
(config.actions as Action[]).unshift(
|
||||
...(config.conditions as Condition[])
|
||||
);
|
||||
} else {
|
||||
config.actions = config.conditions;
|
||||
}
|
||||
delete config.conditions;
|
||||
}
|
||||
|
||||
return config;
|
||||
};
|
||||
|
||||
@@ -558,11 +570,11 @@ export interface AutomationClipboard {
|
||||
export interface BaseSidebarConfig {
|
||||
toggleYamlMode: () => boolean;
|
||||
delete: () => void;
|
||||
close: (focus?: boolean) => void;
|
||||
}
|
||||
|
||||
export interface TriggerSidebarConfig extends BaseSidebarConfig {
|
||||
save: (value: Trigger) => void;
|
||||
close: () => void;
|
||||
rename: () => void;
|
||||
disable: () => void;
|
||||
duplicate: () => void;
|
||||
@@ -575,7 +587,6 @@ export interface TriggerSidebarConfig extends BaseSidebarConfig {
|
||||
|
||||
export interface ConditionSidebarConfig extends BaseSidebarConfig {
|
||||
save: (value: Condition) => void;
|
||||
close: () => void;
|
||||
rename: () => void;
|
||||
disable: () => void;
|
||||
test: () => void;
|
||||
@@ -589,7 +600,6 @@ export interface ConditionSidebarConfig extends BaseSidebarConfig {
|
||||
|
||||
export interface ActionSidebarConfig extends BaseSidebarConfig {
|
||||
save: (value: Action) => void;
|
||||
close: () => void;
|
||||
rename: () => void;
|
||||
disable: () => void;
|
||||
duplicate: () => void;
|
||||
@@ -604,7 +614,6 @@ export interface ActionSidebarConfig extends BaseSidebarConfig {
|
||||
}
|
||||
|
||||
export interface OptionSidebarConfig extends BaseSidebarConfig {
|
||||
close: () => void;
|
||||
rename: () => void;
|
||||
duplicate: () => void;
|
||||
defaultOption?: boolean;
|
||||
@@ -612,7 +621,6 @@ export interface OptionSidebarConfig extends BaseSidebarConfig {
|
||||
|
||||
export interface ScriptFieldSidebarConfig extends BaseSidebarConfig {
|
||||
save: (value: Field) => void;
|
||||
close: () => void;
|
||||
config: {
|
||||
field: Field;
|
||||
selector: boolean;
|
||||
|
||||
@@ -676,9 +676,12 @@ export default class HaAutomationActionRow extends LitElement {
|
||||
save: (value) => {
|
||||
fireEvent(this, "value-changed", { value });
|
||||
},
|
||||
close: () => {
|
||||
close: (focus?: boolean) => {
|
||||
this._selected = false;
|
||||
fireEvent(this, "close-sidebar");
|
||||
if (focus) {
|
||||
this.focus();
|
||||
}
|
||||
},
|
||||
rename: () => {
|
||||
this._renameAction();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { mdiDrag, mdiPlus } from "@mdi/js";
|
||||
import deepClone from "deep-clone-simple";
|
||||
import type { PropertyValues } from "lit";
|
||||
import { LitElement, css, html, nothing } from "lit";
|
||||
import { LitElement, html, nothing } from "lit";
|
||||
import { customElement, property, queryAll, state } from "lit/decorators";
|
||||
import { repeat } from "lit/directives/repeat";
|
||||
import { storage } from "../../../../common/decorators/storage";
|
||||
@@ -409,14 +409,7 @@ export default class HaAutomationAction extends LitElement {
|
||||
this._rowSortSelected = undefined;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
automationRowsStyles,
|
||||
css`
|
||||
:host([root]) .rows {
|
||||
padding-right: 8px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
static styles = automationRowsStyles;
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
||||
@@ -648,9 +648,12 @@ export default class HaAutomationConditionRow extends LitElement {
|
||||
save: (value) => {
|
||||
fireEvent(this, "value-changed", { value });
|
||||
},
|
||||
close: () => {
|
||||
close: (focus?: boolean) => {
|
||||
this._selected = false;
|
||||
fireEvent(this, "close-sidebar");
|
||||
if (focus) {
|
||||
this.focus();
|
||||
}
|
||||
},
|
||||
rename: () => {
|
||||
this._renameCondition();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { mdiDrag, mdiPlus } from "@mdi/js";
|
||||
import deepClone from "deep-clone-simple";
|
||||
import type { PropertyValues } from "lit";
|
||||
import { css, html, LitElement, nothing } from "lit";
|
||||
import { html, LitElement, nothing } from "lit";
|
||||
import { customElement, property, queryAll, state } from "lit/decorators";
|
||||
import { repeat } from "lit/directives/repeat";
|
||||
import { storage } from "../../../../common/decorators/storage";
|
||||
@@ -428,14 +428,7 @@ export default class HaAutomationCondition extends LitElement {
|
||||
this._rowSortSelected = undefined;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
automationRowsStyles,
|
||||
css`
|
||||
:host([root]) .rows {
|
||||
padding-right: 8px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
static styles = automationRowsStyles;
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
||||
@@ -24,6 +24,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit";
|
||||
import { css, html, LitElement, nothing } from "lit";
|
||||
import { property, query, state } from "lit/decorators";
|
||||
import { classMap } from "lit/directives/class-map";
|
||||
import { isArray } from "@tsparticles/engine";
|
||||
import { transform } from "../../../common/decorators/transform";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { navigate } from "../../../common/navigate";
|
||||
@@ -43,6 +44,7 @@ import type {
|
||||
AutomationConfig,
|
||||
AutomationEntity,
|
||||
BlueprintAutomationConfig,
|
||||
Condition,
|
||||
} from "../../../data/automation";
|
||||
import {
|
||||
deleteAutomation,
|
||||
@@ -1062,8 +1064,28 @@ export class HaAutomationEditor extends PreventUnsavedMixin(
|
||||
});
|
||||
}
|
||||
|
||||
// Move conditions at top of action to automation condition key
|
||||
const configToSave = { ...this._config! };
|
||||
configToSave.conditions = !configToSave.conditions
|
||||
? []
|
||||
: isArray(configToSave.conditions)
|
||||
? [...configToSave.conditions]
|
||||
: [configToSave.conditions];
|
||||
configToSave.actions = !configToSave.actions
|
||||
? []
|
||||
: isArray(configToSave.actions)
|
||||
? [...configToSave.actions]
|
||||
: [configToSave.actions];
|
||||
|
||||
while (
|
||||
configToSave.actions.length > 0 &&
|
||||
"condition" in configToSave.actions[0]
|
||||
) {
|
||||
configToSave.conditions.push(configToSave.actions.shift() as Condition);
|
||||
}
|
||||
|
||||
try {
|
||||
await saveAutomationConfig(this.hass, id, this._config!);
|
||||
await saveAutomationConfig(this.hass, id, configToSave);
|
||||
|
||||
if (this._entityRegistryUpdate !== undefined) {
|
||||
let entityId = this._entityId;
|
||||
@@ -1181,25 +1203,6 @@ export class HaAutomationEditor extends PreventUnsavedMixin(
|
||||
display: block;
|
||||
}
|
||||
|
||||
:not(.yaml-mode) > .alert-wrapper {
|
||||
position: sticky;
|
||||
top: -24px;
|
||||
margin-top: -24px;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:not(.yaml-mode) > .alert-wrapper ha-alert {
|
||||
background-color: var(--card-background-color);
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
border-radius: var(--ha-border-radius-sm);
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
manual-automation-editor {
|
||||
max-width: 1540px;
|
||||
padding: 0 12px;
|
||||
|
||||
@@ -193,7 +193,7 @@ export default class HaAutomationSidebar extends LitElement {
|
||||
}
|
||||
|
||||
private _closeSidebar() {
|
||||
this.config?.close();
|
||||
this.config?.close(true);
|
||||
}
|
||||
|
||||
private _toggleYamlMode = () => {
|
||||
|
||||
@@ -23,7 +23,6 @@ import {
|
||||
extractSearchParam,
|
||||
removeSearchParam,
|
||||
} from "../../../common/url/search-params";
|
||||
import { computeRTL } from "../../../common/util/compute_rtl";
|
||||
import "../../../components/ha-button";
|
||||
import "../../../components/ha-fab";
|
||||
import "../../../components/ha-icon-button";
|
||||
@@ -46,8 +45,6 @@ import { documentationUrl } from "../../../util/documentation-url";
|
||||
import { showToast } from "../../../util/toast";
|
||||
import "./action/ha-automation-action";
|
||||
import type HaAutomationAction from "./action/ha-automation-action";
|
||||
import "./condition/ha-automation-condition";
|
||||
import type HaAutomationCondition from "./condition/ha-automation-condition";
|
||||
import "./ha-automation-sidebar";
|
||||
import type HaAutomationSidebar from "./ha-automation-sidebar";
|
||||
import { showPasteReplaceDialog } from "./paste-replace-dialog/show-dialog-paste-replace";
|
||||
@@ -93,9 +90,6 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
|
||||
@state() private _sidebarConfig?: SidebarConfig;
|
||||
|
||||
@query(".content")
|
||||
private _contentElement?: HTMLDivElement;
|
||||
|
||||
@query("ha-automation-sidebar") private _sidebarElement?: HaAutomationSidebar;
|
||||
|
||||
private _previousConfig?: ManualAutomationConfig;
|
||||
@@ -162,53 +156,6 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
sidebar
|
||||
></ha-automation-trigger>
|
||||
|
||||
<div class="header">
|
||||
<h2 id="conditions-heading" class="name">
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.conditions.header"
|
||||
)}
|
||||
<span class="small"
|
||||
>(${this.hass.localize("ui.common.optional")})</span
|
||||
>
|
||||
</h2>
|
||||
<a
|
||||
href=${documentationUrl(this.hass, "/docs/automation/condition/")}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ha-icon-button
|
||||
.path=${mdiHelpCircle}
|
||||
.label=${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.conditions.learn_more"
|
||||
)}
|
||||
></ha-icon-button>
|
||||
</a>
|
||||
</div>
|
||||
${!ensureArray(this.config.conditions)?.length
|
||||
? html`<p>
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.conditions.description",
|
||||
{ user: this.hass.user?.name || "Alice" }
|
||||
)}
|
||||
</p>`
|
||||
: nothing}
|
||||
|
||||
<ha-automation-condition
|
||||
role="region"
|
||||
aria-labelledby="conditions-heading"
|
||||
.conditions=${this.config.conditions || []}
|
||||
.highlightedConditions=${this._pastedConfig?.conditions || []}
|
||||
@value-changed=${this._conditionChanged}
|
||||
.hass=${this.hass}
|
||||
.disabled=${this.disabled || this.saving}
|
||||
.narrow=${this.narrow}
|
||||
@open-sidebar=${this._openSidebar}
|
||||
@request-close-sidebar=${this._closeSidebar}
|
||||
@close-sidebar=${this._handleCloseSidebar}
|
||||
root
|
||||
sidebar
|
||||
></ha-automation-condition>
|
||||
|
||||
<div class="header">
|
||||
<h2 id="actions-heading" class="name">
|
||||
${this.hass.localize(
|
||||
@@ -260,8 +207,7 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
return html`
|
||||
<div
|
||||
class=${classMap({
|
||||
"split-view": true,
|
||||
"sidebar-hidden": !this._sidebarConfig,
|
||||
"has-sidebar": this._sidebarConfig && !this.narrow,
|
||||
})}
|
||||
>
|
||||
<div class="content-wrapper">
|
||||
@@ -269,31 +215,31 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
<slot name="alerts"></slot>
|
||||
${this._renderContent()}
|
||||
</div>
|
||||
<ha-fab
|
||||
slot="fab"
|
||||
class=${this.dirty ? "dirty" : ""}
|
||||
.label=${this.hass.localize("ui.common.save")}
|
||||
.disabled=${this.saving}
|
||||
extended
|
||||
@click=${this._saveAutomation}
|
||||
>
|
||||
<ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon>
|
||||
</ha-fab>
|
||||
<div class="fab-positioner">
|
||||
<ha-fab
|
||||
slot="fab"
|
||||
class=${this.dirty ? "dirty" : ""}
|
||||
.label=${this.hass.localize("ui.common.save")}
|
||||
.disabled=${this.saving}
|
||||
extended
|
||||
@click=${this._saveAutomation}
|
||||
>
|
||||
<ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon>
|
||||
</ha-fab>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-positioner">
|
||||
<ha-automation-sidebar
|
||||
tabindex="-1"
|
||||
class=${classMap({ hidden: !this._sidebarConfig })}
|
||||
.isWide=${this.isWide}
|
||||
.hass=${this.hass}
|
||||
.narrow=${this.narrow}
|
||||
.config=${this._sidebarConfig}
|
||||
@value-changed=${this._sidebarConfigChanged}
|
||||
.disabled=${this.disabled}
|
||||
></ha-automation-sidebar>
|
||||
</div>
|
||||
<ha-automation-sidebar
|
||||
tabindex="-1"
|
||||
class=${classMap({
|
||||
sidebar: true,
|
||||
overlay: !this.isWide && !this.narrow,
|
||||
rtl: computeRTL(this.hass),
|
||||
})}
|
||||
.isWide=${this.isWide}
|
||||
.hass=${this.hass}
|
||||
.narrow=${this.narrow}
|
||||
.config=${this._sidebarConfig}
|
||||
@value-changed=${this._sidebarConfigChanged}
|
||||
.disabled=${this.disabled}
|
||||
></ha-automation-sidebar>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
@@ -344,8 +290,6 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
|
||||
private _handleCloseSidebar() {
|
||||
this._sidebarConfig = undefined;
|
||||
// fix content shift when bottom rows are scrolled into view
|
||||
this._contentElement?.scrollIntoView();
|
||||
}
|
||||
|
||||
private _triggerChanged(ev: CustomEvent): void {
|
||||
@@ -591,9 +535,9 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
}
|
||||
|
||||
private _getCollapsableElements() {
|
||||
return this.shadowRoot!.querySelectorAll<
|
||||
HaAutomationAction | HaAutomationCondition
|
||||
>("ha-automation-action, ha-automation-condition");
|
||||
return this.shadowRoot!.querySelectorAll<HaAutomationAction>(
|
||||
"ha-automation-action"
|
||||
);
|
||||
}
|
||||
|
||||
public expandAll() {
|
||||
|
||||
@@ -385,9 +385,12 @@ export default class HaAutomationOptionRow extends LitElement {
|
||||
|
||||
public openSidebar(): void {
|
||||
fireEvent(this, "open-sidebar", {
|
||||
close: () => {
|
||||
close: (focus?: boolean) => {
|
||||
this._selected = false;
|
||||
fireEvent(this, "close-sidebar");
|
||||
if (focus) {
|
||||
this.focus();
|
||||
}
|
||||
},
|
||||
rename: () => {
|
||||
this._renameOption();
|
||||
|
||||
@@ -69,7 +69,7 @@ export const indentStyle = css`
|
||||
.selector-row,
|
||||
:host([indent]) ha-form {
|
||||
margin-left: 12px;
|
||||
padding: 12px 20px 16px 16px;
|
||||
padding: 12px 0 16px 16px;
|
||||
border-left: 2px solid var(--ha-color-border-neutral-quiet);
|
||||
border-bottom: 2px solid var(--ha-color-border-neutral-quiet);
|
||||
border-radius: 0;
|
||||
@@ -108,77 +108,59 @@ export const saveFabStyles = css`
|
||||
export const manualEditorStyles = css`
|
||||
:host {
|
||||
display: block;
|
||||
--sidebar-width: 0;
|
||||
--sidebar-gap: 0;
|
||||
}
|
||||
|
||||
.split-view {
|
||||
.has-sidebar {
|
||||
--sidebar-width: min(35vw, 500px);
|
||||
--sidebar-gap: 16px;
|
||||
}
|
||||
|
||||
.fab-positioner {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
gap: 16px;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.split-view.sidebar-hidden {
|
||||
gap: 0;
|
||||
.fab-positioner ha-fab {
|
||||
position: fixed;
|
||||
right: unset;
|
||||
left: unset;
|
||||
bottom: calc(-80px - var(--safe-area-inset-bottom));
|
||||
transition: bottom 0.3s;
|
||||
}
|
||||
.fab-positioner ha-fab.dirty {
|
||||
bottom: 16px;
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
position: relative;
|
||||
flex: 6;
|
||||
padding-right: calc(var(--sidebar-width) + var(--sidebar-gap));
|
||||
padding-inline-end: calc(var(--sidebar-width) + var(--sidebar-gap));
|
||||
padding-inline-start: 0;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 32px 16px 64px 0;
|
||||
height: calc(100vh - 153px);
|
||||
height: calc(100dvh - 153px);
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
padding-top: 24px;
|
||||
padding-bottom: 72px;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
padding: 12px 0;
|
||||
flex: 4;
|
||||
height: calc(100vh - 81px);
|
||||
height: calc(100dvh - 81px);
|
||||
width: 40%;
|
||||
}
|
||||
.split-view.sidebar-hidden .sidebar {
|
||||
border-color: transparent;
|
||||
border-width: 0;
|
||||
overflow: hidden;
|
||||
flex: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.sidebar.overlay {
|
||||
ha-automation-sidebar {
|
||||
position: fixed;
|
||||
bottom: 8px;
|
||||
right: 8px;
|
||||
height: calc(100% - 70px);
|
||||
padding: 0;
|
||||
z-index: 5;
|
||||
box-shadow: -8px 0 16px rgba(0, 0, 0, 0.2);
|
||||
top: calc(var(--header-height) + 16px);
|
||||
height: calc(-81px + 100dvh);
|
||||
width: var(--sidebar-width);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sidebar.overlay.rtl {
|
||||
right: unset;
|
||||
left: 8px;
|
||||
ha-automation-sidebar.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media all and (max-width: 870px) {
|
||||
.split-view {
|
||||
gap: 0;
|
||||
}
|
||||
.sidebar {
|
||||
height: 0;
|
||||
width: 0;
|
||||
flex: 0;
|
||||
}
|
||||
.sidebar-positioner {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.split-view.sidebar-hidden .sidebar.overlay {
|
||||
width: 0;
|
||||
}
|
||||
.description {
|
||||
margin: 0;
|
||||
}
|
||||
@@ -189,9 +171,6 @@ export const manualEditorStyles = css`
|
||||
|
||||
export const automationRowsStyles = css`
|
||||
.rows {
|
||||
padding: 16px 0 16px 16px;
|
||||
margin: -16px;
|
||||
margin-right: -20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
|
||||
@@ -482,9 +482,12 @@ export default class HaAutomationTriggerRow extends LitElement {
|
||||
save: (value) => {
|
||||
fireEvent(this, "value-changed", { value });
|
||||
},
|
||||
close: () => {
|
||||
close: (focus?: boolean) => {
|
||||
this._selected = false;
|
||||
fireEvent(this, "close-sidebar");
|
||||
if (focus) {
|
||||
this.focus();
|
||||
}
|
||||
},
|
||||
rename: () => {
|
||||
this._renameTrigger();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { mdiDrag, mdiPlus } from "@mdi/js";
|
||||
import deepClone from "deep-clone-simple";
|
||||
import type { PropertyValues } from "lit";
|
||||
import { css, html, LitElement, nothing } from "lit";
|
||||
import { html, LitElement, nothing } from "lit";
|
||||
import { customElement, property, state } from "lit/decorators";
|
||||
import { repeat } from "lit/directives/repeat";
|
||||
import { storage } from "../../../../common/decorators/storage";
|
||||
@@ -368,14 +368,7 @@ export default class HaAutomationTrigger extends LitElement {
|
||||
this._rowSortSelected = undefined;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
automationRowsStyles,
|
||||
css`
|
||||
:host([root]) .rows {
|
||||
padding-right: 8px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
static styles = automationRowsStyles;
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
||||
@@ -34,6 +34,16 @@ const UPDATE_THROTTLE_TIME = 10000;
|
||||
const CORE_SOURCE_ID = "ha";
|
||||
const CORE_SOURCE_LABEL = "Home Assistant";
|
||||
|
||||
const RSSI_COLOR_THRESHOLDS: [number, string][] = [
|
||||
[-70, "--green-color"], // Excellent: > -70 dBm
|
||||
[-75, "--lime-color"], // Good: -70 to -75 dBm
|
||||
[-80, "--yellow-color"], // Okay: -75 to -80 dBm
|
||||
[-85, "--amber-color"], // Marginal: -80 to -85 dBm
|
||||
[-90, "--orange-color"], // Weak: -85 to -90 dBm
|
||||
[-95, "--deep-orange-color"], // Poor: -90 to -95 dBm
|
||||
[-Infinity, "--red-color"], // Very poor: < -95 dBm
|
||||
];
|
||||
|
||||
@customElement("bluetooth-network-visualization")
|
||||
export class BluetoothNetworkVisualization extends LitElement {
|
||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||
@@ -125,6 +135,16 @@ export class BluetoothNetworkVisualization extends LitElement {
|
||||
`;
|
||||
}
|
||||
|
||||
private _getRssiColorVar = memoizeOne((rssi: number): string => {
|
||||
for (const [threshold, colorVar] of RSSI_COLOR_THRESHOLDS) {
|
||||
if (rssi > threshold) {
|
||||
return colorVar;
|
||||
}
|
||||
}
|
||||
// Fallback (should never reach here)
|
||||
return "--red-color";
|
||||
});
|
||||
|
||||
private _formatNetworkData = memoizeOne(
|
||||
(
|
||||
data: BluetoothDeviceData[],
|
||||
@@ -206,7 +226,7 @@ export class BluetoothNetworkVisualization extends LitElement {
|
||||
symbol: "none",
|
||||
lineStyle: {
|
||||
width: this._getLineWidth(node.rssi),
|
||||
color: style.getPropertyValue("--primary-color"),
|
||||
color: style.getPropertyValue(this._getRssiColorVar(node.rssi)),
|
||||
},
|
||||
});
|
||||
return;
|
||||
@@ -227,7 +247,7 @@ export class BluetoothNetworkVisualization extends LitElement {
|
||||
lineStyle: {
|
||||
width: this._getLineWidth(node.rssi),
|
||||
color: device
|
||||
? style.getPropertyValue("--primary-color")
|
||||
? style.getPropertyValue(this._getRssiColorVar(node.rssi))
|
||||
: style.getPropertyValue("--disabled-color"),
|
||||
},
|
||||
});
|
||||
|
||||
@@ -199,8 +199,10 @@ export class HaConfigLovelaceDashboards extends LitElement {
|
||||
"ui.panel.config.lovelace.dashboards.picker.headers.require_admin"
|
||||
),
|
||||
sortable: true,
|
||||
type: "icon",
|
||||
hidden: narrow,
|
||||
type: "icon",
|
||||
minWidth: "120px",
|
||||
maxWidth: "120px",
|
||||
template: (dashboard) =>
|
||||
dashboard.require_admin
|
||||
? html`<ha-svg-icon .path=${mdiCheck}></ha-svg-icon>`
|
||||
@@ -210,8 +212,10 @@ export class HaConfigLovelaceDashboards extends LitElement {
|
||||
title: localize(
|
||||
"ui.panel.config.lovelace.dashboards.picker.headers.sidebar"
|
||||
),
|
||||
type: "icon",
|
||||
hidden: narrow,
|
||||
type: "icon",
|
||||
minWidth: "120px",
|
||||
maxWidth: "120px",
|
||||
template: (dashboard) =>
|
||||
dashboard.show_in_sidebar
|
||||
? html`<ha-svg-icon .path=${mdiCheck}></ha-svg-icon>`
|
||||
|
||||
@@ -1104,12 +1104,13 @@ export class HaScriptEditor extends SubscribeMixin(
|
||||
top: -24px;
|
||||
margin-top: -24px;
|
||||
margin-bottom: 8px;
|
||||
z-index: 100;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.alert-wrapper ha-alert {
|
||||
@@ -1117,6 +1118,7 @@ export class HaScriptEditor extends SubscribeMixin(
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
border-radius: var(--ha-border-radius-sm);
|
||||
margin-bottom: 0;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
manual-script-editor {
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
import { mdiDelete } from "@mdi/js";
|
||||
import type { CSSResultGroup } from "lit";
|
||||
import { LitElement, css, html, nothing } from "lit";
|
||||
import { customElement, property, query, state } from "lit/decorators";
|
||||
import { classMap } from "lit/directives/class-map";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { preventDefaultStopPropagation } from "../../../common/dom/prevent_default_stop_propagation";
|
||||
import { stopPropagation } from "../../../common/dom/stop_propagation";
|
||||
import type { LocalizeKeys } from "../../../common/translations/localize";
|
||||
import "../../../components/ha-automation-row";
|
||||
import type { HaAutomationRow } from "../../../components/ha-automation-row";
|
||||
import "../../../components/ha-card";
|
||||
import "../../../components/ha-icon-button";
|
||||
import "../../../components/ha-md-button-menu";
|
||||
import "../../../components/ha-md-menu-item";
|
||||
import type { ScriptFieldSidebarConfig } from "../../../data/automation";
|
||||
import type { Field } from "../../../data/script";
|
||||
import { SELECTOR_SELECTOR_BUILDING_BLOCKS } from "../../../data/selector/selector_selector";
|
||||
@@ -50,6 +45,12 @@ export default class HaScriptFieldRow extends LitElement {
|
||||
@query("ha-script-field-selector-editor")
|
||||
private _selectorEditor?: HaScriptFieldSelectorEditor;
|
||||
|
||||
@query("ha-automation-row:first-of-type")
|
||||
private _fieldRowElement?: HaAutomationRow;
|
||||
|
||||
@query(".selector-row ha-automation-row")
|
||||
private _selectorRowElement?: HaAutomationRow;
|
||||
|
||||
protected render() {
|
||||
return html`
|
||||
<ha-card outlined>
|
||||
@@ -64,29 +65,6 @@ export default class HaScriptFieldRow extends LitElement {
|
||||
<h3 slot="header">${this.key}</h3>
|
||||
|
||||
<slot name="icons" slot="icons"></slot>
|
||||
|
||||
<ha-md-button-menu
|
||||
quick
|
||||
slot="icons"
|
||||
@click=${preventDefaultStopPropagation}
|
||||
@keydown=${stopPropagation}
|
||||
@closed=${stopPropagation}
|
||||
positioning="fixed"
|
||||
anchor-corner="end-end"
|
||||
menu-corner="start-end"
|
||||
>
|
||||
<ha-md-menu-item
|
||||
slot="menu-items"
|
||||
.clickAction=${this._onDelete}
|
||||
.disabled=${this.disabled}
|
||||
class="warning"
|
||||
>
|
||||
${this.hass.localize(
|
||||
"ui.panel.config.automation.editor.actions.delete"
|
||||
)}
|
||||
<ha-svg-icon slot="start" .path=${mdiDelete}></ha-svg-icon>
|
||||
</ha-md-menu-item>
|
||||
</ha-md-button-menu>
|
||||
</ha-automation-row>
|
||||
</ha-card>
|
||||
<div
|
||||
@@ -224,11 +202,17 @@ export default class HaScriptFieldRow extends LitElement {
|
||||
save: (value) => {
|
||||
fireEvent(this, "value-changed", { value });
|
||||
},
|
||||
close: () => {
|
||||
close: (focus?: boolean) => {
|
||||
if (selectorEditor) {
|
||||
this._selectorRowSelected = false;
|
||||
if (focus) {
|
||||
this.focusSelector();
|
||||
}
|
||||
} else {
|
||||
this._selected = false;
|
||||
if (focus) {
|
||||
this.focus();
|
||||
}
|
||||
}
|
||||
fireEvent(this, "close-sidebar");
|
||||
},
|
||||
@@ -280,15 +264,19 @@ export default class HaScriptFieldRow extends LitElement {
|
||||
});
|
||||
};
|
||||
|
||||
public focus() {
|
||||
this._fieldRowElement?.focus();
|
||||
}
|
||||
|
||||
public focusSelector() {
|
||||
this._selectorRowElement?.focus();
|
||||
}
|
||||
|
||||
static get styles(): CSSResultGroup {
|
||||
return [
|
||||
haStyle,
|
||||
indentStyle,
|
||||
css`
|
||||
ha-button-menu,
|
||||
ha-icon-button {
|
||||
--mdc-theme-text-primary-on-background: var(--primary-text-color);
|
||||
}
|
||||
.disabled {
|
||||
opacity: 0.5;
|
||||
pointer-events: none;
|
||||
@@ -334,9 +322,6 @@ export default class HaScriptFieldRow extends LitElement {
|
||||
);
|
||||
}
|
||||
|
||||
ha-md-menu-item[disabled] {
|
||||
--mdc-theme-text-primary-on-background: var(--disabled-text-color);
|
||||
}
|
||||
.warning ul {
|
||||
margin: 4px 0;
|
||||
}
|
||||
@@ -352,6 +337,10 @@ export default class HaScriptFieldRow extends LitElement {
|
||||
border-color: var(--state-inactive-color);
|
||||
box-shadow: var(--shadow-default), var(--shadow-focus);
|
||||
}
|
||||
|
||||
.selector-row {
|
||||
padding: 12px 0 16px 16px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ import {
|
||||
extractSearchParam,
|
||||
removeSearchParam,
|
||||
} from "../../../common/url/search-params";
|
||||
import { computeRTL } from "../../../common/util/compute_rtl";
|
||||
import "../../../components/ha-icon-button";
|
||||
import "../../../components/ha-markdown";
|
||||
import type { SidebarConfig } from "../../../data/automation";
|
||||
@@ -38,6 +37,7 @@ import { showToast } from "../../../util/toast";
|
||||
import "../automation/action/ha-automation-action";
|
||||
import type HaAutomationAction from "../automation/action/ha-automation-action";
|
||||
import "../automation/ha-automation-sidebar";
|
||||
import type HaAutomationSidebar from "../automation/ha-automation-sidebar";
|
||||
import { showPasteReplaceDialog } from "../automation/paste-replace-dialog/show-dialog-paste-replace";
|
||||
import { manualEditorStyles, saveFabStyles } from "../automation/styles";
|
||||
import "./ha-script-fields";
|
||||
@@ -69,17 +69,19 @@ export class HaManualScriptEditor extends LitElement {
|
||||
|
||||
@property({ attribute: false }) public dirty = false;
|
||||
|
||||
@query("ha-script-fields")
|
||||
private _scriptFields?: HaScriptFields;
|
||||
|
||||
private _openFields = false;
|
||||
|
||||
@state() private _pastedConfig?: ScriptConfig;
|
||||
|
||||
@state() private _sidebarConfig?: SidebarConfig;
|
||||
|
||||
@query("ha-script-fields")
|
||||
private _scriptFields?: HaScriptFields;
|
||||
|
||||
@query("ha-automation-sidebar") private _sidebarElement?: HaAutomationSidebar;
|
||||
|
||||
private _previousConfig?: ScriptConfig;
|
||||
|
||||
private _openFields = false;
|
||||
|
||||
public addFields() {
|
||||
this._openFields = true;
|
||||
fireEvent(this, "value-changed", {
|
||||
@@ -196,8 +198,7 @@ export class HaManualScriptEditor extends LitElement {
|
||||
return html`
|
||||
<div
|
||||
class=${classMap({
|
||||
"split-view": true,
|
||||
"sidebar-hidden": !this._sidebarConfig,
|
||||
"has-sidebar": this._sidebarConfig && !this.narrow,
|
||||
})}
|
||||
>
|
||||
<div class="content-wrapper">
|
||||
@@ -205,30 +206,33 @@ export class HaManualScriptEditor extends LitElement {
|
||||
<slot name="alerts"></slot>
|
||||
${this._renderContent()}
|
||||
</div>
|
||||
<ha-fab
|
||||
slot="fab"
|
||||
class=${this.dirty ? "dirty" : ""}
|
||||
.label=${this.hass.localize("ui.common.save")}
|
||||
.disabled=${this.saving}
|
||||
extended
|
||||
@click=${this._saveScript}
|
||||
>
|
||||
<ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon>
|
||||
</ha-fab>
|
||||
<div class="fab-positioner">
|
||||
<div class="fab-positioner">
|
||||
<ha-fab
|
||||
slot="fab"
|
||||
class=${this.dirty ? "dirty" : ""}
|
||||
.label=${this.hass.localize("ui.common.save")}
|
||||
.disabled=${this.saving}
|
||||
extended
|
||||
@click=${this._saveScript}
|
||||
>
|
||||
<ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon>
|
||||
</ha-fab>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-positioner">
|
||||
<ha-automation-sidebar
|
||||
tabindex="-1"
|
||||
class=${classMap({ hidden: !this._sidebarConfig })}
|
||||
.narrow=${this.narrow}
|
||||
.isWide=${this.isWide}
|
||||
.hass=${this.hass}
|
||||
.config=${this._sidebarConfig}
|
||||
@value-changed=${this._sidebarConfigChanged}
|
||||
.disabled=${this.disabled}
|
||||
></ha-automation-sidebar>
|
||||
</div>
|
||||
<ha-automation-sidebar
|
||||
class=${classMap({
|
||||
sidebar: true,
|
||||
overlay: !this.isWide,
|
||||
rtl: computeRTL(this.hass),
|
||||
})}
|
||||
.narrow=${this.narrow}
|
||||
.isWide=${this.isWide}
|
||||
.hass=${this.hass}
|
||||
.config=${this._sidebarConfig}
|
||||
@value-changed=${this._sidebarConfigChanged}
|
||||
.disabled=${this.disabled}
|
||||
></ha-automation-sidebar>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
@@ -455,10 +459,13 @@ export class HaManualScriptEditor extends LitElement {
|
||||
});
|
||||
}
|
||||
|
||||
private _openSidebar(ev: CustomEvent<SidebarConfig>) {
|
||||
private async _openSidebar(ev: CustomEvent<SidebarConfig>) {
|
||||
// deselect previous selected row
|
||||
this._sidebarConfig?.close?.();
|
||||
this._sidebarConfig = ev.detail;
|
||||
|
||||
await this._sidebarElement?.updateComplete;
|
||||
this._sidebarElement?.focus();
|
||||
}
|
||||
|
||||
private _sidebarConfigChanged(ev: CustomEvent<{ value: SidebarConfig }>) {
|
||||
|
||||
@@ -568,6 +568,10 @@ class HaPanelDevState extends LitElement {
|
||||
margin: 0 8px 16px;
|
||||
}
|
||||
|
||||
ha-expansion-panel p {
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.inputs {
|
||||
width: 100%;
|
||||
max-width: 800px;
|
||||
@@ -579,8 +583,9 @@ class HaPanelDevState extends LitElement {
|
||||
|
||||
.button-row {
|
||||
display: flex;
|
||||
margin-top: 8px;
|
||||
margin: 8px 0;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:host([narrow]) .state-wrapper {
|
||||
|
||||
@@ -36,11 +36,12 @@ export class HuiClockCardDigital extends LitElement {
|
||||
locale = { ...locale, time_format: this.config.time_format };
|
||||
}
|
||||
|
||||
const h12 = useAmPm(locale);
|
||||
this._dateTimeFormat = new Intl.DateTimeFormat(this.hass.locale.language, {
|
||||
hour: "2-digit",
|
||||
hour: h12 ? "numeric" : "2-digit",
|
||||
minute: "2-digit",
|
||||
second: "2-digit",
|
||||
hourCycle: useAmPm(locale) ? "h12" : "h23",
|
||||
hourCycle: h12 ? "h12" : "h23",
|
||||
timeZone:
|
||||
this.config?.time_zone ||
|
||||
resolveTimeZone(locale.time_zone, this.hass.config?.time_zone),
|
||||
|
||||
@@ -7,6 +7,7 @@ import { DOMAINS_TOGGLE } from "../../../common/const";
|
||||
import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element";
|
||||
import { computeDomain } from "../../../common/entity/compute_domain";
|
||||
import { computeStateName } from "../../../common/entity/compute_state_name";
|
||||
import { stateActive } from "../../../common/entity/state_active";
|
||||
import "../../../components/ha-card";
|
||||
import "../../../components/ha-icon-button";
|
||||
import "../../../components/ha-state-icon";
|
||||
@@ -30,15 +31,6 @@ import type {
|
||||
} from "./types";
|
||||
import type { PersonEntity } from "../../../data/person";
|
||||
|
||||
const STATES_OFF = new Set([
|
||||
"closed",
|
||||
"locked",
|
||||
"not_home",
|
||||
"off",
|
||||
"unavailable",
|
||||
"unknown",
|
||||
]);
|
||||
|
||||
@customElement("hui-picture-glance-card")
|
||||
class HuiPictureGlanceCard extends LitElement implements LovelaceCard {
|
||||
public static async getConfigElement(): Promise<LovelaceCardEditor> {
|
||||
@@ -303,7 +295,7 @@ class HuiPictureGlanceCard extends LitElement implements LovelaceCard {
|
||||
.disabled=${!hasAction(entityConf.tap_action)}
|
||||
.config=${entityConf}
|
||||
class=${classMap({
|
||||
"state-on": !STATES_OFF.has(stateObj.state),
|
||||
"state-on": stateActive(stateObj),
|
||||
})}
|
||||
title=${`${computeStateName(
|
||||
stateObj
|
||||
|
||||
@@ -15,7 +15,6 @@ import type { HomeAssistant } from "../../../../../types";
|
||||
import { supportsAlarmModesCardFeature } from "../../../card-features/hui-alarm-modes-card-feature";
|
||||
import { supportsCoverOpenCloseCardFeature } from "../../../card-features/hui-cover-open-close-card-feature";
|
||||
import { supportsFanSpeedCardFeature } from "../../../card-features/hui-fan-speed-card-feature";
|
||||
import { supportsHistoryChartCardFeature } from "../../../card-features/hui-history-chart-card-feature";
|
||||
import { supportsLightBrightnessCardFeature } from "../../../card-features/hui-light-brightness-card-feature";
|
||||
import { supportsLockCommandsCardFeature } from "../../../card-features/hui-lock-commands-card-feature";
|
||||
import { supportsTargetTemperatureCardFeature } from "../../../card-features/hui-target-temperature-card-feature";
|
||||
@@ -238,12 +237,7 @@ export const computeAreaTileCardConfig =
|
||||
|
||||
let feature: LovelaceCardFeatureConfig | undefined;
|
||||
if (includeFeature) {
|
||||
if (supportsHistoryChartCardFeature(hass, context)) {
|
||||
feature = {
|
||||
type: "history-chart",
|
||||
hours_to_show: 24,
|
||||
};
|
||||
} else if (supportsLightBrightnessCardFeature(hass, context)) {
|
||||
if (supportsLightBrightnessCardFeature(hass, context)) {
|
||||
feature = {
|
||||
type: "light-brightness",
|
||||
};
|
||||
|
||||
@@ -29,8 +29,12 @@ export class HuiHomeDashboardStrategyEditor
|
||||
<ha-entities-picker
|
||||
.hass=${this.hass}
|
||||
.value=${this._config.favorite_entities || []}
|
||||
label="Favorite entities"
|
||||
placeholder="Add favorite entity"
|
||||
label=${this.hass.localize(
|
||||
"ui.panel.lovelace.editor.strategy.home.favorite_entities"
|
||||
)}
|
||||
placeholder=${this.hass.localize(
|
||||
"ui.panel.lovelace.editor.strategy.home.add_favorite_entity"
|
||||
)}
|
||||
reorder
|
||||
allow-custom-entity
|
||||
@value-changed=${this._valueChanged}
|
||||
|
||||
@@ -2,6 +2,7 @@ import type {
|
||||
EntityFilter,
|
||||
EntityFilterFunc,
|
||||
} from "../../../../../common/entity/entity_filter";
|
||||
import type { LocalizeFunc } from "../../../../../common/translations/localize";
|
||||
|
||||
export const HOME_SUMMARIES = [
|
||||
"lights",
|
||||
@@ -10,16 +11,16 @@ export const HOME_SUMMARIES = [
|
||||
"media_players",
|
||||
] as const;
|
||||
|
||||
export type HomeSummaries = (typeof HOME_SUMMARIES)[number];
|
||||
export type HomeSummary = (typeof HOME_SUMMARIES)[number];
|
||||
|
||||
export const HOME_SUMMARIES_ICONS: Record<HomeSummaries, string> = {
|
||||
export const HOME_SUMMARIES_ICONS: Record<HomeSummary, string> = {
|
||||
lights: "mdi:lamps",
|
||||
climate: "mdi:home-thermometer",
|
||||
security: "mdi:security",
|
||||
media_players: "mdi:multimedia",
|
||||
};
|
||||
|
||||
export const HOME_SUMMARIES_FILTERS: Record<HomeSummaries, EntityFilter[]> = {
|
||||
export const HOME_SUMMARIES_FILTERS: Record<HomeSummary, EntityFilter[]> = {
|
||||
lights: [{ domain: "light", entity_category: "none" }],
|
||||
climate: [
|
||||
{ domain: "climate", entity_category: "none" },
|
||||
@@ -90,3 +91,6 @@ export const findEntities = (
|
||||
|
||||
return results;
|
||||
};
|
||||
|
||||
export const getSummaryLabel = (localize: LocalizeFunc, summary: HomeSummary) =>
|
||||
localize(`ui.panel.lovelace.strategy.home.summary_list.${summary}`);
|
||||
|
||||
@@ -14,10 +14,11 @@ import type { HeadingCardConfig } from "../../cards/types";
|
||||
import { computeAreaTileCardConfig } from "../areas/helpers/areas-strategy-helper";
|
||||
import {
|
||||
findEntities,
|
||||
getSummaryLabel,
|
||||
HOME_SUMMARIES,
|
||||
HOME_SUMMARIES_FILTERS,
|
||||
HOME_SUMMARIES_ICONS,
|
||||
type HomeSummaries,
|
||||
type HomeSummary,
|
||||
} from "./helpers/home-summaries";
|
||||
|
||||
export interface HomeAreaViewStrategyConfig {
|
||||
@@ -96,7 +97,7 @@ export class HomeAreaViewStrategy extends ReactiveElement {
|
||||
acc[summary] = findEntities(areaEntities, filterFunctions);
|
||||
return acc;
|
||||
},
|
||||
{} as Record<HomeSummaries, string[]>
|
||||
{} as Record<HomeSummary, string[]>
|
||||
);
|
||||
|
||||
const {
|
||||
@@ -110,7 +111,11 @@ export class HomeAreaViewStrategy extends ReactiveElement {
|
||||
sections.push({
|
||||
type: "grid",
|
||||
cards: [
|
||||
computeHeadingCard("Lights", HOME_SUMMARIES_ICONS.lights, "lights"),
|
||||
computeHeadingCard(
|
||||
getSummaryLabel(hass.localize, "lights"),
|
||||
HOME_SUMMARIES_ICONS.lights,
|
||||
"lights"
|
||||
),
|
||||
...lights.map(computeTileCard),
|
||||
],
|
||||
});
|
||||
@@ -121,7 +126,7 @@ export class HomeAreaViewStrategy extends ReactiveElement {
|
||||
type: "grid",
|
||||
cards: [
|
||||
computeHeadingCard(
|
||||
"Climate",
|
||||
getSummaryLabel(hass.localize, "climate"),
|
||||
HOME_SUMMARIES_ICONS.climate,
|
||||
"climate"
|
||||
),
|
||||
@@ -135,7 +140,7 @@ export class HomeAreaViewStrategy extends ReactiveElement {
|
||||
type: "grid",
|
||||
cards: [
|
||||
computeHeadingCard(
|
||||
"Security",
|
||||
getSummaryLabel(hass.localize, "security"),
|
||||
HOME_SUMMARIES_ICONS.security,
|
||||
"security"
|
||||
),
|
||||
@@ -149,7 +154,7 @@ export class HomeAreaViewStrategy extends ReactiveElement {
|
||||
type: "grid",
|
||||
cards: [
|
||||
computeHeadingCard(
|
||||
"Media players",
|
||||
getSummaryLabel(hass.localize, "media_players"),
|
||||
HOME_SUMMARIES_ICONS.media_players,
|
||||
"media-players"
|
||||
),
|
||||
@@ -229,9 +234,11 @@ export class HomeAreaViewStrategy extends ReactiveElement {
|
||||
const device = hass.devices[deviceId];
|
||||
let heading = "";
|
||||
if (device) {
|
||||
heading = computeDeviceName(device) || "Unnamed device";
|
||||
heading =
|
||||
computeDeviceName(device) ||
|
||||
hass.localize("ui.panel.lovelace.strategy.home.unamed_device");
|
||||
} else {
|
||||
heading = "Others";
|
||||
heading = hass.localize("ui.panel.lovelace.strategy.home.others");
|
||||
}
|
||||
|
||||
deviceSections.push({
|
||||
|
||||
@@ -12,11 +12,30 @@ import {
|
||||
} from "../areas/helpers/areas-strategy-helper";
|
||||
import { getHomeStructure } from "./helpers/home-structure";
|
||||
import { findEntities, HOME_SUMMARIES_FILTERS } from "./helpers/home-summaries";
|
||||
import { computeStateName } from "../../../../common/entity/compute_state_name";
|
||||
import { computeObjectId } from "../../../../common/entity/compute_object_id";
|
||||
|
||||
export interface HomeClimateViewStrategyConfig {
|
||||
type: "home-climate";
|
||||
}
|
||||
|
||||
const createTempHumidBadge = (hass: HomeAssistant, entityId: string) => {
|
||||
const stateObj = hass.states[entityId];
|
||||
return {
|
||||
type: "tile",
|
||||
entity: entityId,
|
||||
name: stateObj
|
||||
? computeStateName(stateObj)
|
||||
: computeObjectId(entityId).replace(/_/g, " "),
|
||||
features: [
|
||||
{
|
||||
type: "history-chart",
|
||||
hours_to_show: 3,
|
||||
},
|
||||
],
|
||||
};
|
||||
};
|
||||
|
||||
const processAreasForClimate = (
|
||||
areaIds: string[],
|
||||
hass: HomeAssistant,
|
||||
@@ -46,10 +65,14 @@ const processAreasForClimate = (
|
||||
});
|
||||
|
||||
if (hass.areas[areaId].temperature_entity_id) {
|
||||
cards.push(computeTileCard(hass.areas[areaId].temperature_entity_id));
|
||||
cards.push(
|
||||
createTempHumidBadge(hass, hass.areas[areaId].temperature_entity_id)
|
||||
);
|
||||
}
|
||||
if (hass.areas[areaId].humidity_entity_id) {
|
||||
cards.push(computeTileCard(hass.areas[areaId].humidity_entity_id));
|
||||
cards.push(
|
||||
createTempHumidBadge(hass, hass.areas[areaId].humidity_entity_id)
|
||||
);
|
||||
}
|
||||
|
||||
for (const entityId of areaEntities) {
|
||||
@@ -95,7 +118,10 @@ export class HomeClimateViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? floor.name : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? floor.name
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -116,7 +142,10 @@ export class HomeClimateViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? "Other areas" : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? hass.localize("ui.panel.lovelace.strategy.home.other_areas")
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@@ -6,7 +6,10 @@ import type { LovelaceViewRawConfig } from "../../../../data/lovelace/config/vie
|
||||
import type { HomeAssistant } from "../../../../types";
|
||||
import { getAreas } from "../areas/helpers/areas-strategy-helper";
|
||||
import type { LovelaceStrategyEditor } from "../types";
|
||||
import { HOME_SUMMARIES_ICONS } from "./helpers/home-summaries";
|
||||
import {
|
||||
getSummaryLabel,
|
||||
HOME_SUMMARIES_ICONS,
|
||||
} from "./helpers/home-summaries";
|
||||
import type { HomeAreaViewStrategyConfig } from "./home-area-view-strategy";
|
||||
import type { HomeMainViewStrategyConfig } from "./home-main-view-strategy";
|
||||
|
||||
@@ -60,7 +63,7 @@ export class HomeDashboardStrategy extends ReactiveElement {
|
||||
});
|
||||
|
||||
const lightView = {
|
||||
title: "Lights",
|
||||
title: getSummaryLabel(hass.localize, "lights"),
|
||||
path: "lights",
|
||||
subview: true,
|
||||
strategy: {
|
||||
@@ -70,7 +73,7 @@ export class HomeDashboardStrategy extends ReactiveElement {
|
||||
} satisfies LovelaceViewRawConfig;
|
||||
|
||||
const climateView = {
|
||||
title: "Climate",
|
||||
title: getSummaryLabel(hass.localize, "climate"),
|
||||
path: "climate",
|
||||
subview: true,
|
||||
strategy: {
|
||||
@@ -80,7 +83,7 @@ export class HomeDashboardStrategy extends ReactiveElement {
|
||||
} satisfies LovelaceViewRawConfig;
|
||||
|
||||
const securityView = {
|
||||
title: "Security",
|
||||
title: getSummaryLabel(hass.localize, "security"),
|
||||
path: "security",
|
||||
subview: true,
|
||||
strategy: {
|
||||
@@ -90,7 +93,7 @@ export class HomeDashboardStrategy extends ReactiveElement {
|
||||
} satisfies LovelaceViewRawConfig;
|
||||
|
||||
const mediaPlayersView = {
|
||||
title: "Media players",
|
||||
title: getSummaryLabel(hass.localize, "media_players"),
|
||||
path: "media-players",
|
||||
subview: true,
|
||||
strategy: {
|
||||
|
||||
@@ -89,7 +89,10 @@ export class HomeLightsViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? floor.name : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? floor.name
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -110,7 +113,10 @@ export class HomeLightsViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? "Other areas" : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? hass.localize("ui.panel.lovelace.strategy.home.other_areas")
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@@ -15,7 +15,10 @@ import type {
|
||||
WeatherForecastCardConfig,
|
||||
} from "../../cards/types";
|
||||
import { getAreas } from "../areas/helpers/areas-strategy-helper";
|
||||
import { HOME_SUMMARIES_ICONS } from "./helpers/home-summaries";
|
||||
import {
|
||||
getSummaryLabel,
|
||||
HOME_SUMMARIES_ICONS,
|
||||
} from "./helpers/home-summaries";
|
||||
|
||||
export interface HomeMainViewStrategyConfig {
|
||||
type: "home-main";
|
||||
@@ -63,7 +66,7 @@ export class HomeMainViewStrategy extends ReactiveElement {
|
||||
{
|
||||
type: "heading",
|
||||
heading_style: "title",
|
||||
heading: "Areas",
|
||||
heading: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
...areas.map<AreaCardConfig>((area) =>
|
||||
computeAreaCard(area.area_id, hass)
|
||||
@@ -108,12 +111,12 @@ export class HomeMainViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: "Summaries",
|
||||
heading: hass.localize("ui.panel.lovelace.strategy.home.summaries"),
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
icon: HOME_SUMMARIES_ICONS.lights,
|
||||
name: "Lights",
|
||||
name: getSummaryLabel(hass.localize, "lights"),
|
||||
icon_height: "24px",
|
||||
grid_options: {
|
||||
rows: 2,
|
||||
@@ -127,7 +130,7 @@ export class HomeMainViewStrategy extends ReactiveElement {
|
||||
{
|
||||
type: "button",
|
||||
icon: HOME_SUMMARIES_ICONS.climate,
|
||||
name: "Climate",
|
||||
name: getSummaryLabel(hass.localize, "climate"),
|
||||
icon_height: "30px",
|
||||
grid_options: {
|
||||
rows: 2,
|
||||
@@ -141,7 +144,7 @@ export class HomeMainViewStrategy extends ReactiveElement {
|
||||
{
|
||||
type: "button",
|
||||
icon: HOME_SUMMARIES_ICONS.security,
|
||||
name: "Security",
|
||||
name: getSummaryLabel(hass.localize, "security"),
|
||||
icon_height: "30px",
|
||||
grid_options: {
|
||||
rows: 2,
|
||||
@@ -155,7 +158,7 @@ export class HomeMainViewStrategy extends ReactiveElement {
|
||||
{
|
||||
type: "button",
|
||||
icon: HOME_SUMMARIES_ICONS.media_players,
|
||||
name: "Media Players",
|
||||
name: getSummaryLabel(hass.localize, "media_players"),
|
||||
icon_height: "30px",
|
||||
grid_options: {
|
||||
rows: 2,
|
||||
@@ -232,7 +235,7 @@ export class HomeMainViewStrategy extends ReactiveElement {
|
||||
card: {
|
||||
type: "markdown",
|
||||
text_only: true,
|
||||
content: "## Welcome {{user}}",
|
||||
content: `## ${hass.localize("ui.panel.lovelace.strategy.home.welcome_user", { user: "{{ user }}" })}`,
|
||||
} satisfies MarkdownCardConfig,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -87,7 +87,10 @@ export class HomeMMediaPlayersViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? floor.name : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? floor.name
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -108,7 +111,10 @@ export class HomeMMediaPlayersViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? "Other areas" : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? hass.localize("ui.panel.lovelace.strategy.home.other_areas")
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@@ -13,6 +13,8 @@ import {
|
||||
import { getHomeStructure } from "./helpers/home-structure";
|
||||
import { findEntities, HOME_SUMMARIES_FILTERS } from "./helpers/home-summaries";
|
||||
import { computeDomain } from "../../../../common/entity/compute_domain";
|
||||
import { computeStateName } from "../../../../common/entity/compute_state_name";
|
||||
import { computeObjectId } from "../../../../common/entity/compute_object_id";
|
||||
|
||||
export interface HomeSecurityViewStrategyConfig {
|
||||
type: "home-security";
|
||||
@@ -25,7 +27,6 @@ const processAreasForSecurity = (
|
||||
): LovelaceCardConfig[] => {
|
||||
const cards: LovelaceCardConfig[] = [];
|
||||
const computeTileCard = computeAreaTileCardConfig(hass, "", false);
|
||||
const computeTileCardWithFeature = computeAreaTileCardConfig(hass, "", true);
|
||||
|
||||
for (const areaId of areaIds) {
|
||||
const area = hass.areas[areaId];
|
||||
@@ -48,10 +49,23 @@ const processAreasForSecurity = (
|
||||
});
|
||||
|
||||
for (const entityId of areaEntities) {
|
||||
const stateObj = hass.states[entityId];
|
||||
cards.push(
|
||||
computeDomain(entityId) === "binary_sensor" &&
|
||||
hass.states[entityId]?.attributes.device_class === "motion"
|
||||
? computeTileCardWithFeature(entityId)
|
||||
stateObj?.attributes.device_class === "motion"
|
||||
? {
|
||||
type: "tile",
|
||||
entity: entityId,
|
||||
name: stateObj
|
||||
? computeStateName(stateObj)
|
||||
: computeObjectId(entityId).replace(/_/g, " "),
|
||||
features: [
|
||||
{
|
||||
type: "history-chart",
|
||||
hours_to_show: 6,
|
||||
},
|
||||
],
|
||||
}
|
||||
: computeTileCard(entityId)
|
||||
);
|
||||
}
|
||||
@@ -95,7 +109,10 @@ export class HomeSecurityViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? floor.name : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? floor.name
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -116,7 +133,10 @@ export class HomeSecurityViewStrategy extends ReactiveElement {
|
||||
cards: [
|
||||
{
|
||||
type: "heading",
|
||||
heading: floorCount > 1 ? "Other areas" : "Areas",
|
||||
heading:
|
||||
floorCount > 1
|
||||
? hass.localize("ui.panel.lovelace.strategy.home.other_areas")
|
||||
: hass.localize("ui.panel.lovelace.strategy.home.areas"),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@@ -4109,9 +4109,6 @@
|
||||
},
|
||||
"conditions": {
|
||||
"name": "Conditions",
|
||||
"header": "And if",
|
||||
"description": "All conditions added here need to be satisfied for the automation to run. A condition can be satisfied or not at any given time, for example: ''If {user} is home''. You can use building blocks to create more complex conditions.",
|
||||
"learn_more": "Learn more about conditions",
|
||||
"add": "Add condition",
|
||||
"search": "Search condition",
|
||||
"add_building_block": "Add building block",
|
||||
@@ -5647,10 +5644,10 @@
|
||||
},
|
||||
"application_credentials": {
|
||||
"caption": "Application credentials",
|
||||
"description": "Manage the OAuth application credentials used by Integrations",
|
||||
"description": "Manage the OAuth application credentials used by integrations",
|
||||
"editor": {
|
||||
"caption": "Add credentials",
|
||||
"description": "OAuth is used to grant Home Assistant access to information on other websites without giving a password. This mechanism is used by companies such as Spotify, Google, Withings, Microsoft, and Twitter.",
|
||||
"caption": "Add application credentials",
|
||||
"description": "OAuth is used to grant Home Assistant secure delegated access to information on other websites without revealing your personal credentials.",
|
||||
"missing_credentials": "Setting up {integration} requires configuring application credentials.",
|
||||
"missing_credentials_domain_link": "View {integration} documentation",
|
||||
"view_documentation": "View application credentials documentation",
|
||||
@@ -6817,6 +6814,20 @@
|
||||
},
|
||||
"other_areas": "Other areas",
|
||||
"areas": "Areas"
|
||||
},
|
||||
"home": {
|
||||
"summary_list": {
|
||||
"climate": "Climate",
|
||||
"lights": "Lights",
|
||||
"security": "Security",
|
||||
"media_players": "Media players"
|
||||
},
|
||||
"welcome_user": "Welcome {user}",
|
||||
"summaries": "Summaries",
|
||||
"areas": "Areas",
|
||||
"other_areas": "Other areas",
|
||||
"unamed_device": "Unnamed device",
|
||||
"others": "Others"
|
||||
}
|
||||
},
|
||||
"cards": {
|
||||
@@ -8176,6 +8187,10 @@
|
||||
"no_entities": "No entities in this group, the section will not be displayed",
|
||||
"use_compact_card": "Use compact card",
|
||||
"use_large_card": "Use large card"
|
||||
},
|
||||
"home": {
|
||||
"favorite_entities": "Favorite entities",
|
||||
"add_favorite_entity": "Add favorite entity"
|
||||
}
|
||||
},
|
||||
"view": {
|
||||
|
||||
504
yarn.lock
504
yarn.lock
@@ -3281,58 +3281,58 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@module-federation/error-codes@npm:0.17.1":
|
||||
version: 0.17.1
|
||||
resolution: "@module-federation/error-codes@npm:0.17.1"
|
||||
checksum: 10/5f5f02a90a423479c84e4ff4398a3a9e31b66bd545e7c978ecb8a417f33162b86e749356baab14c006e741c9cebae549335a4c99e94ce7ef54210269fdf74f7f
|
||||
"@module-federation/error-codes@npm:0.18.0":
|
||||
version: 0.18.0
|
||||
resolution: "@module-federation/error-codes@npm:0.18.0"
|
||||
checksum: 10/ccd00f6b2504ec2e685bda6d175ed86df27e21994b36869140a18059595716e9ea7db5d0b516a095891ec9e6c90e702f42a366743df3652bf91ff3bb4f895991
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@module-federation/runtime-core@npm:0.17.1":
|
||||
version: 0.17.1
|
||||
resolution: "@module-federation/runtime-core@npm:0.17.1"
|
||||
"@module-federation/runtime-core@npm:0.18.0":
|
||||
version: 0.18.0
|
||||
resolution: "@module-federation/runtime-core@npm:0.18.0"
|
||||
dependencies:
|
||||
"@module-federation/error-codes": "npm:0.17.1"
|
||||
"@module-federation/sdk": "npm:0.17.1"
|
||||
checksum: 10/b0c945379bde13af84ceb833e3bfe3c8cf11fd265af0ad7640a1506017529458f408a4a3f1bd0f4b5983da71438913d5c25ed25e20908eb1f789bd1483616650
|
||||
"@module-federation/error-codes": "npm:0.18.0"
|
||||
"@module-federation/sdk": "npm:0.18.0"
|
||||
checksum: 10/82af795408f2e92bea9c801a2057f1a6ed85eaf131195d5deaa4ef9a6a88db9e2cb851b4416e6e43a841459986b5ebb84e98b4625fb9bbd98cee11929f1ede6b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@module-federation/runtime-tools@npm:0.17.1":
|
||||
version: 0.17.1
|
||||
resolution: "@module-federation/runtime-tools@npm:0.17.1"
|
||||
"@module-federation/runtime-tools@npm:0.18.0":
|
||||
version: 0.18.0
|
||||
resolution: "@module-federation/runtime-tools@npm:0.18.0"
|
||||
dependencies:
|
||||
"@module-federation/runtime": "npm:0.17.1"
|
||||
"@module-federation/webpack-bundler-runtime": "npm:0.17.1"
|
||||
checksum: 10/2e183e357b644dbe015d0e51df3fe601852ca79ffe3a30c582eee7a2050d7600eb3253f5de15e476c60741d0a1dd70add1ade7b5a3537cd2ee12bfee286284ea
|
||||
"@module-federation/runtime": "npm:0.18.0"
|
||||
"@module-federation/webpack-bundler-runtime": "npm:0.18.0"
|
||||
checksum: 10/c6b1483899865e4c73be0ae77e6e1a5f517798f7ab3b8c6df2bb7ed22463e7a471f68d5f9528b2aff5b45e2db67596805028206f3956aafec5a36dcefb94afd2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@module-federation/runtime@npm:0.17.1":
|
||||
version: 0.17.1
|
||||
resolution: "@module-federation/runtime@npm:0.17.1"
|
||||
"@module-federation/runtime@npm:0.18.0":
|
||||
version: 0.18.0
|
||||
resolution: "@module-federation/runtime@npm:0.18.0"
|
||||
dependencies:
|
||||
"@module-federation/error-codes": "npm:0.17.1"
|
||||
"@module-federation/runtime-core": "npm:0.17.1"
|
||||
"@module-federation/sdk": "npm:0.17.1"
|
||||
checksum: 10/f5405968dff4fa2cf510127701ec1722105f44298fd09eafeecead450b7bb95a05450749157fe2fc39caf6241bec9e45caa9a55375b48e7f195db84799a8df0c
|
||||
"@module-federation/error-codes": "npm:0.18.0"
|
||||
"@module-federation/runtime-core": "npm:0.18.0"
|
||||
"@module-federation/sdk": "npm:0.18.0"
|
||||
checksum: 10/6164597782b21840e3b8f159000338d8e20a817a60909015c11402e9e6442d60d9c3b4b6f25d92d7261011ef1fc0e8caafbb91f25c29b372f28764cbea8ef9eb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@module-federation/sdk@npm:0.17.1":
|
||||
version: 0.17.1
|
||||
resolution: "@module-federation/sdk@npm:0.17.1"
|
||||
checksum: 10/daaaa49ed900c00a69641130cf673ad5d5b8623d82fb4bd03a67c839a6da760a0a5ae29b836ba66eeb95ee5392e558588ffd987a2c00b05c2b0a7c5039ed042d
|
||||
"@module-federation/sdk@npm:0.18.0":
|
||||
version: 0.18.0
|
||||
resolution: "@module-federation/sdk@npm:0.18.0"
|
||||
checksum: 10/f397dc53c705ad1f1e19530a8ff79116bb5aeeef92a79b3acaaa6140ae4e5784b42e81d1445eabf536c007c9383857f6764506ed725a6352464fe1ce581af89a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@module-federation/webpack-bundler-runtime@npm:0.17.1":
|
||||
version: 0.17.1
|
||||
resolution: "@module-federation/webpack-bundler-runtime@npm:0.17.1"
|
||||
"@module-federation/webpack-bundler-runtime@npm:0.18.0":
|
||||
version: 0.18.0
|
||||
resolution: "@module-federation/webpack-bundler-runtime@npm:0.18.0"
|
||||
dependencies:
|
||||
"@module-federation/runtime": "npm:0.17.1"
|
||||
"@module-federation/sdk": "npm:0.17.1"
|
||||
checksum: 10/72e5030529dbc53df6271fa78bdb63976d0601fe9fde5105f8a7325e0fa296bc35277b9b084e52995cd314b89e12d33f8b869c1d63a13231c2948d4c741e72fd
|
||||
"@module-federation/runtime": "npm:0.18.0"
|
||||
"@module-federation/sdk": "npm:0.18.0"
|
||||
checksum: 10/c80f26e02d497948a0864283bedf13118d5c188ac8165e71edce5da72776091db6da2dc5da5d47a53fbb6914bfbff1ddfce16a6b9c18485a9a41a04bc4060e34
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -3990,92 +3990,92 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-darwin-arm64@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-darwin-arm64@npm:1.4.11"
|
||||
"@rspack/binding-darwin-arm64@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-darwin-arm64@npm:1.5.1"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-darwin-x64@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-darwin-x64@npm:1.4.11"
|
||||
"@rspack/binding-darwin-x64@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-darwin-x64@npm:1.5.1"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-linux-arm64-gnu@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-linux-arm64-gnu@npm:1.4.11"
|
||||
"@rspack/binding-linux-arm64-gnu@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-linux-arm64-gnu@npm:1.5.1"
|
||||
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-linux-arm64-musl@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-linux-arm64-musl@npm:1.4.11"
|
||||
"@rspack/binding-linux-arm64-musl@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-linux-arm64-musl@npm:1.5.1"
|
||||
conditions: os=linux & cpu=arm64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-linux-x64-gnu@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-linux-x64-gnu@npm:1.4.11"
|
||||
"@rspack/binding-linux-x64-gnu@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-linux-x64-gnu@npm:1.5.1"
|
||||
conditions: os=linux & cpu=x64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-linux-x64-musl@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-linux-x64-musl@npm:1.4.11"
|
||||
"@rspack/binding-linux-x64-musl@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-linux-x64-musl@npm:1.5.1"
|
||||
conditions: os=linux & cpu=x64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-wasm32-wasi@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-wasm32-wasi@npm:1.4.11"
|
||||
"@rspack/binding-wasm32-wasi@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-wasm32-wasi@npm:1.5.1"
|
||||
dependencies:
|
||||
"@napi-rs/wasm-runtime": "npm:^1.0.1"
|
||||
conditions: cpu=wasm32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-win32-arm64-msvc@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-win32-arm64-msvc@npm:1.4.11"
|
||||
"@rspack/binding-win32-arm64-msvc@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-win32-arm64-msvc@npm:1.5.1"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-win32-ia32-msvc@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-win32-ia32-msvc@npm:1.4.11"
|
||||
"@rspack/binding-win32-ia32-msvc@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-win32-ia32-msvc@npm:1.5.1"
|
||||
conditions: os=win32 & cpu=ia32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding-win32-x64-msvc@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding-win32-x64-msvc@npm:1.4.11"
|
||||
"@rspack/binding-win32-x64-msvc@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding-win32-x64-msvc@npm:1.5.1"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/binding@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/binding@npm:1.4.11"
|
||||
"@rspack/binding@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/binding@npm:1.5.1"
|
||||
dependencies:
|
||||
"@rspack/binding-darwin-arm64": "npm:1.4.11"
|
||||
"@rspack/binding-darwin-x64": "npm:1.4.11"
|
||||
"@rspack/binding-linux-arm64-gnu": "npm:1.4.11"
|
||||
"@rspack/binding-linux-arm64-musl": "npm:1.4.11"
|
||||
"@rspack/binding-linux-x64-gnu": "npm:1.4.11"
|
||||
"@rspack/binding-linux-x64-musl": "npm:1.4.11"
|
||||
"@rspack/binding-wasm32-wasi": "npm:1.4.11"
|
||||
"@rspack/binding-win32-arm64-msvc": "npm:1.4.11"
|
||||
"@rspack/binding-win32-ia32-msvc": "npm:1.4.11"
|
||||
"@rspack/binding-win32-x64-msvc": "npm:1.4.11"
|
||||
"@rspack/binding-darwin-arm64": "npm:1.5.1"
|
||||
"@rspack/binding-darwin-x64": "npm:1.5.1"
|
||||
"@rspack/binding-linux-arm64-gnu": "npm:1.5.1"
|
||||
"@rspack/binding-linux-arm64-musl": "npm:1.5.1"
|
||||
"@rspack/binding-linux-x64-gnu": "npm:1.5.1"
|
||||
"@rspack/binding-linux-x64-musl": "npm:1.5.1"
|
||||
"@rspack/binding-wasm32-wasi": "npm:1.5.1"
|
||||
"@rspack/binding-win32-arm64-msvc": "npm:1.5.1"
|
||||
"@rspack/binding-win32-ia32-msvc": "npm:1.5.1"
|
||||
"@rspack/binding-win32-x64-msvc": "npm:1.5.1"
|
||||
dependenciesMeta:
|
||||
"@rspack/binding-darwin-arm64":
|
||||
optional: true
|
||||
@@ -4097,23 +4097,23 @@ __metadata:
|
||||
optional: true
|
||||
"@rspack/binding-win32-x64-msvc":
|
||||
optional: true
|
||||
checksum: 10/8bb94774204f41888ff442afec06f019d008abba79964b74d566acf64f7216a148a1842f90c44b3bf680e69b697d8e5cd0f1cca6fd0b8a94df5f97c2a3f05510
|
||||
checksum: 10/a6756a35bda55fd9e21b1ce142ca18e228d92832dc213027a19314981f8f12e6510dd862a9724ee96dee61755b3dd30ce73b2bb117d150e9f5ce73ba8fe4b57a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rspack/core@npm:1.4.11":
|
||||
version: 1.4.11
|
||||
resolution: "@rspack/core@npm:1.4.11"
|
||||
"@rspack/core@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@rspack/core@npm:1.5.1"
|
||||
dependencies:
|
||||
"@module-federation/runtime-tools": "npm:0.17.1"
|
||||
"@rspack/binding": "npm:1.4.11"
|
||||
"@module-federation/runtime-tools": "npm:0.18.0"
|
||||
"@rspack/binding": "npm:1.5.1"
|
||||
"@rspack/lite-tapable": "npm:1.0.1"
|
||||
peerDependencies:
|
||||
"@swc/helpers": ">=0.5.1"
|
||||
peerDependenciesMeta:
|
||||
"@swc/helpers":
|
||||
optional: true
|
||||
checksum: 10/77d463bd90feb2d24f7bc56df198f0b7ad310a9eb676070eac8d78014d151e783943c5b44c64700a51a36708c626a341eeaa9b3287e358616d09dfe25ab04e77
|
||||
checksum: 10/b7a6269d5bdbcad140d172ebe951f4693711573d4f38e4c676c250a9cc6c1bdf602ad5187eeacc07ff12b74d510b746c92e3f112c8ab4dca46846c595d2876b0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -4964,106 +4964,106 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/eslint-plugin@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/eslint-plugin@npm:8.40.0"
|
||||
"@typescript-eslint/eslint-plugin@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/eslint-plugin@npm:8.41.0"
|
||||
dependencies:
|
||||
"@eslint-community/regexpp": "npm:^4.10.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.40.0"
|
||||
"@typescript-eslint/type-utils": "npm:8.40.0"
|
||||
"@typescript-eslint/utils": "npm:8.40.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.40.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.41.0"
|
||||
"@typescript-eslint/type-utils": "npm:8.41.0"
|
||||
"@typescript-eslint/utils": "npm:8.41.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.41.0"
|
||||
graphemer: "npm:^1.4.0"
|
||||
ignore: "npm:^7.0.0"
|
||||
natural-compare: "npm:^1.4.0"
|
||||
ts-api-utils: "npm:^2.1.0"
|
||||
peerDependencies:
|
||||
"@typescript-eslint/parser": ^8.40.0
|
||||
"@typescript-eslint/parser": ^8.41.0
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/9df4d4ac58734a34964b791622dcb94ffc6c49c1d0f4fd0480b3fc0e026527df7167ff78a4f8bbd29089d605756c28c1a90b2f0653df34b40ac8b969bc6c92e9
|
||||
checksum: 10/b96e3fd9e8ae2c289aa7f1c0d2fbf89c608d37f54162a893bac5895318b05d21d3fd456cf7a6adf165915a8212f773f1bae9b4d83f732441864f6d92d083ed99
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/parser@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/parser@npm:8.40.0"
|
||||
"@typescript-eslint/parser@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/parser@npm:8.41.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager": "npm:8.40.0"
|
||||
"@typescript-eslint/types": "npm:8.40.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.40.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.40.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.41.0"
|
||||
"@typescript-eslint/types": "npm:8.41.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.41.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.41.0"
|
||||
debug: "npm:^4.3.4"
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/1e60f70e9d02f930553db7f4684c27c376fadf345db155414a22d1a32cd21def7d36496bd63c1acbf3afbec9fb8794947e880f88c1143b83e1d3c45146cec41a
|
||||
checksum: 10/d4ba418aa62e08d49a5b953c9debd52674c30b9b2bb7bf2efc173a22ad3942df72cd83072beac06d98dad82741baf502a55fc648925ca407b01abdc908675f67
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/project-service@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/project-service@npm:8.40.0"
|
||||
"@typescript-eslint/project-service@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/project-service@npm:8.41.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/tsconfig-utils": "npm:^8.40.0"
|
||||
"@typescript-eslint/types": "npm:^8.40.0"
|
||||
"@typescript-eslint/tsconfig-utils": "npm:^8.41.0"
|
||||
"@typescript-eslint/types": "npm:^8.41.0"
|
||||
debug: "npm:^4.3.4"
|
||||
peerDependencies:
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/86491aa65c1dd78c9784dddd8467601aef8be652c5fb3a901e8b1995cf07c1dbe11d0ab4610d770e3f4063c0c254a6c6aa5fb7cf724bf12fa4ee56f47f3a2955
|
||||
checksum: 10/ff8315de005ea7072ecd208b50b35fa01db034f110f30f415faa9c9441648494e5322723a0a4267beb28524babd6b04b349c32f2a2821f4ae0e9c4d503e1e8f0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/scope-manager@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/scope-manager@npm:8.40.0"
|
||||
"@typescript-eslint/scope-manager@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/scope-manager@npm:8.41.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:8.40.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.40.0"
|
||||
checksum: 10/0c5aa10208bfbb506bf3925a420c3de667298064bde400f03ee52c19cd0785dd05c2c820e05724d005737e2920d925aff0318ec3308156f9b81c84736a1fe46b
|
||||
"@typescript-eslint/types": "npm:8.41.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.41.0"
|
||||
checksum: 10/4fc1dd6b3390d3a770c228dac227f35ff1126034fce484ab5e5a4fdbe2dab5dca1c8de3c528708320fee021adec1a1260ee45ed2aef9f7e3fdfbb1faf2191f9f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/tsconfig-utils@npm:8.40.0, @typescript-eslint/tsconfig-utils@npm:^8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/tsconfig-utils@npm:8.40.0"
|
||||
"@typescript-eslint/tsconfig-utils@npm:8.41.0, @typescript-eslint/tsconfig-utils@npm:^8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/tsconfig-utils@npm:8.41.0"
|
||||
peerDependencies:
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/c5a557cc83d194902140af0ddfa10b2776db3625e2c9bb609d0d720aa78a0735ff71df8bffd5c2a1b90cdada8242543c5421ad4dcd58cf2ff12717b733bcfca9
|
||||
checksum: 10/522d54252f9647d22e46f963df6bafe98aa0572b021e6acf7474c40f1a68afa6753f23a0a125abb1d792a89a1b1cc654d918553a03d08f769139f2f40b0d026c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/type-utils@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/type-utils@npm:8.40.0"
|
||||
"@typescript-eslint/type-utils@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/type-utils@npm:8.41.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:8.40.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.40.0"
|
||||
"@typescript-eslint/utils": "npm:8.40.0"
|
||||
"@typescript-eslint/types": "npm:8.41.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.41.0"
|
||||
"@typescript-eslint/utils": "npm:8.41.0"
|
||||
debug: "npm:^4.3.4"
|
||||
ts-api-utils: "npm:^2.1.0"
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/296c718330b2ac4408840258c30c01072de01ffe1c009be00c5049be1b19a71cbb2e258363ae349150760bcd2d34799df305b4cfc4d7f3b2fa9760ac8ffb3f75
|
||||
checksum: 10/6c4c693c1ee3d1a1a3635898d59f1a3bcdf224be84284ea95a21fa68a3206bae32ce04d371df366fcad250a3eca3af723ed6ca1b4aefba238d4e553797c2dc9d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/types@npm:8.40.0, @typescript-eslint/types@npm:^8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/types@npm:8.40.0"
|
||||
checksum: 10/f3931d0920a42b3bc69e9cdeb67a0c710597271cdd9d7c736302bdc52d21df1c962082df7cd712eeabd2c47658415d0a4b7d72f819cb38f82f4e234b48dbaa57
|
||||
"@typescript-eslint/types@npm:8.41.0, @typescript-eslint/types@npm:^8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/types@npm:8.41.0"
|
||||
checksum: 10/e2fe5d9125264a1b1310fff7ac65e827da9885219d7f910dba090dcf7d4242830cb96695c7257634b22e1947943a2e890f9740536d95612452e5752385ab6a5b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/typescript-estree@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:8.40.0"
|
||||
"@typescript-eslint/typescript-estree@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:8.41.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/project-service": "npm:8.40.0"
|
||||
"@typescript-eslint/tsconfig-utils": "npm:8.40.0"
|
||||
"@typescript-eslint/types": "npm:8.40.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.40.0"
|
||||
"@typescript-eslint/project-service": "npm:8.41.0"
|
||||
"@typescript-eslint/tsconfig-utils": "npm:8.41.0"
|
||||
"@typescript-eslint/types": "npm:8.41.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.41.0"
|
||||
debug: "npm:^4.3.4"
|
||||
fast-glob: "npm:^3.3.2"
|
||||
is-glob: "npm:^4.0.3"
|
||||
@@ -5072,160 +5072,160 @@ __metadata:
|
||||
ts-api-utils: "npm:^2.1.0"
|
||||
peerDependencies:
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/2e61ecfecb933f644799a7c11e4c7a730df57290c8d0482082cff7739b2401b0cf3b1ebef7b08a54a90285978957a49850d1a53061e8770164da651172ebee32
|
||||
checksum: 10/e039815d2ee03727fadb32c460e0c7df71a35b6c93a87e019c63836c53e51ce41f1975b32c9e5bcc840f4cd49c7bf7715c95df149f915379ec4c559d02436623
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/utils@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/utils@npm:8.40.0"
|
||||
"@typescript-eslint/utils@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/utils@npm:8.41.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": "npm:^4.7.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.40.0"
|
||||
"@typescript-eslint/types": "npm:8.40.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.40.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.41.0"
|
||||
"@typescript-eslint/types": "npm:8.41.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.41.0"
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/b4cd1e6a4f55cc6475189de12e6bd418080a227e794745a2af304ab21655b031c28dae6387d4e9b54dd2f420696cec4f77cca9c66db405ed2281e0e09c95ba1c
|
||||
checksum: 10/863565c0891d89ee27497571092783a7fa90e281a7643f1bda5d9e8b94aea2acbc851e81141ce7a53ddea3638a0527ea165801dd9611f5532940e4d413c955a8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/visitor-keys@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "@typescript-eslint/visitor-keys@npm:8.40.0"
|
||||
"@typescript-eslint/visitor-keys@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "@typescript-eslint/visitor-keys@npm:8.41.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:8.40.0"
|
||||
"@typescript-eslint/types": "npm:8.41.0"
|
||||
eslint-visitor-keys: "npm:^4.2.1"
|
||||
checksum: 10/191f47998001a5e9cdde7491b0215d9c6c45c637aedd7d32cafd35ce2a4a0f4b8582edab015e09238f48e025a788b99efd8e70e4e3200e32143f91c95112abcd
|
||||
checksum: 10/3c764be2f0d3b212c2cb7d0cc8a7b0ed378feb58883654471fd8ee943f1e124c0b78df92fe14368ceb46016b0e3ae1c47e2630ec3599aa7b4bd54f7793747657
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/a11y-base@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/a11y-base@npm:24.8.5"
|
||||
"@vaadin/a11y-base@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/a11y-base@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/64c0447b1715f842aa5953a0ffeb78e3ae677aa9dc61fa2389dead20947519d897070fd42a164b09dda9465d7cf48fa413f62a3c9afed8aac43590d920616f24
|
||||
checksum: 10/1127282ee3d2814de85ac7df2e3661db955bec78472ab4991229440ef532c6de6955c48c6353f913a4d911c938ed0205f6cff73928c52866f324237be110a222
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/combo-box@npm:24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/combo-box@npm:24.8.5"
|
||||
"@vaadin/combo-box@npm:24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/combo-box@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/a11y-base": "npm:~24.8.5"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/field-base": "npm:~24.8.5"
|
||||
"@vaadin/input-container": "npm:~24.8.5"
|
||||
"@vaadin/item": "npm:~24.8.5"
|
||||
"@vaadin/lit-renderer": "npm:~24.8.5"
|
||||
"@vaadin/overlay": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.5"
|
||||
"@vaadin/a11y-base": "npm:~24.8.6"
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
"@vaadin/field-base": "npm:~24.8.6"
|
||||
"@vaadin/input-container": "npm:~24.8.6"
|
||||
"@vaadin/item": "npm:~24.8.6"
|
||||
"@vaadin/lit-renderer": "npm:~24.8.6"
|
||||
"@vaadin/overlay": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.6"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/430e04ce3c7f977bfde771bf5aafb4dd2e862ecffd93a3296df596b24626c7a93dbe16f4e39b8e88089ce60a5f5d5a95db17fe305df6f30593f39dc1f79ec8af
|
||||
checksum: 10/95031f4fd2adfe584a235d83da30b8bd5a3bcdcc6e342c9b1d4305c9ccf7ef7c2041b5930e7206408b2d01c81fc6555d1f556e31321433cc069905afe5aa1507
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/component-base@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/component-base@npm:24.8.5"
|
||||
"@vaadin/component-base@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/component-base@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/vaadin-development-mode-detector": "npm:^2.0.0"
|
||||
"@vaadin/vaadin-usage-statistics": "npm:^2.1.0"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/7f9ec08ca2dcedb15990cff87282523505e1df668ecbdbe624e91b75aae8b08062924e9dee7886e97a971054dda025277b368f32f8c57ee4e7ca022d7c23b862
|
||||
checksum: 10/d4bff00004f659d93ec3ae4c6c5f5f645672f093cccf20bb6b0957939b31d9ecd29ecf32d7863c1a212784f0baf84f32ffee7c9158451de7c91bc009d8e42d24
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/field-base@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/field-base@npm:24.8.5"
|
||||
"@vaadin/field-base@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/field-base@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/a11y-base": "npm:~24.8.5"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/a11y-base": "npm:~24.8.6"
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/6851c05949c389bd76f201dd876ae0f0725e53146b0026bdfc8ec8a9b3712a2f52b18f23bd73971c8d76f5026c6186a0b54073850fa2a31890c7594dc2d61cb2
|
||||
checksum: 10/a1b1121e5ed690645f2e7b0400e5f1880aac0fdff81fd57fc85c325187587005162f835d322868fc5788f74ebb69ce99f1cea3cde49b23aab67310aac67df996
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/icon@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/icon@npm:24.8.5"
|
||||
"@vaadin/icon@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/icon@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.5"
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.6"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/0ba15d8ea903e6a64bf5bdd3f5e91c74ebbb75bcacdb273faae0b71dec8e83a7c6daccbcbd8700c45e48bf6c5fec4552236b7ee464ebf06b1aba6e74a6eb3565
|
||||
checksum: 10/569e5241bb421f8a30fe34c360f97b6e521f3dcde65dcf2fbeb60d699e230406605b48d301ca4e1cfa2cf64b56ca2b95e9a013a5e6e51f910e60b683aaeca64b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/input-container@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/input-container@npm:24.8.5"
|
||||
"@vaadin/input-container@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/input-container@npm:24.8.6"
|
||||
dependencies:
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.5"
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.6"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/04ca1f54f101858557a9dba55ef46706091f54a2344fb5322c89fb84abe717d97db60b43010496e9948e5a3d6779ba700e6d6eb986c8e37df96bc9bc9efe676e
|
||||
checksum: 10/b18631fd45f59cc9d728a58da911feb119398c0e76962fa7cdcf62cf8582f722cdfc4bdcf52be5f678a390bf9006339351fcaf08b1cbcfe5905638d13c74f100
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/item@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/item@npm:24.8.5"
|
||||
"@vaadin/item@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/item@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/a11y-base": "npm:~24.8.5"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.5"
|
||||
"@vaadin/a11y-base": "npm:~24.8.6"
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.6"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/da0d69cfde4655a8209cfa67c342bb48c7fe1f5ec48f15065582e6a8d3e48926b8e28e5fb68dcb526421d3f7faeea7292afd8957258cf7658e46ad40bd1328e8
|
||||
checksum: 10/59f9bd95794b30a2f65cba1482a1f496370f92f834bf532255622a76a43066c53ee0c6fc5eb3ca5d777835532f3efaa2415edce91823f91f2462ecb1342a3bce
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/lit-renderer@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/lit-renderer@npm:24.8.5"
|
||||
"@vaadin/lit-renderer@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/lit-renderer@npm:24.8.6"
|
||||
dependencies:
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/a5cdfbd7ff3e7cf979fa826b4151879c0ad8b9068b254c690e8a82d859ffd553ca935bcee5115d1a3b914ff018a393dcb2460a75d8f5caab975654624060172b
|
||||
checksum: 10/eb721a0e09156e67d857ea95ed2285b63f041e82fff60c40822de6050a4ee21e18330b208b14850a72a4ea2e0f7ee43b3d9518d228dc22672e7b69e25da43662
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/overlay@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/overlay@npm:24.8.5"
|
||||
"@vaadin/overlay@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/overlay@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/a11y-base": "npm:~24.8.5"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.5"
|
||||
"@vaadin/a11y-base": "npm:~24.8.6"
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-lumo-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-material-styles": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.6"
|
||||
lit: "npm:^3.0.0"
|
||||
checksum: 10/e9b414ebc3dc885020edea0ec399556dfdc7ab3256f544dad6410a30683862f91566bae8b691e0dd5f228ffd470c84efb33ee52fef4c85bec509919d3c226720
|
||||
checksum: 10/2a1047f4a8fc11bf51a5095cd66bd6cd9122c5edadb57ab84a559f86d90301bf16d95fd877b9fc2e7cdbcd3bd1856ab73649ec7301251b58feb5a03f42e1ccea
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -5236,37 +5236,37 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-lumo-styles@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/vaadin-lumo-styles@npm:24.8.5"
|
||||
"@vaadin/vaadin-lumo-styles@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/vaadin-lumo-styles@npm:24.8.6"
|
||||
dependencies:
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/icon": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.5"
|
||||
checksum: 10/95279f74f09d7608c312879ce8d375ffe9039f79a8326ad3c994e59704a1ba34e632cac4c9c2b838f590f52de856ff98e3357955054c73e2941bcb873ecb57ce
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
"@vaadin/icon": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.6"
|
||||
checksum: 10/fe01c0a93caa669a3b63573d2294834805d1e393bc5a0d7bcdee030d9f7ef2d73e2fc1a40543f82a4516b8fa155eaf13f6bb84653e26686c6ecb2ee22dfa9500
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-material-styles@npm:~24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/vaadin-material-styles@npm:24.8.5"
|
||||
"@vaadin/vaadin-material-styles@npm:~24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/vaadin-material-styles@npm:24.8.6"
|
||||
dependencies:
|
||||
"@polymer/polymer": "npm:^3.0.0"
|
||||
"@vaadin/component-base": "npm:~24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.5"
|
||||
checksum: 10/e1f531deda484f1e7e8485a1d5f2e5eed5a74b7c30554ede3d7a45643fc9f54e2eb364c1cc32543097f04eda3fcab466508c527be5166df2930695268fc737c8
|
||||
"@vaadin/component-base": "npm:~24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:~24.8.6"
|
||||
checksum: 10/a19f479b567e929b6c375e3a0518b651f99d4ca329ba4323cf4582c13d3b01e73392bb082a3216a3f8d84a7b004df42042ac71e64b66d9f20ae2740f3a57459f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-themable-mixin@npm:24.8.5":
|
||||
version: 24.8.5
|
||||
resolution: "@vaadin/vaadin-themable-mixin@npm:24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin@npm:24.8.6":
|
||||
version: 24.8.6
|
||||
resolution: "@vaadin/vaadin-themable-mixin@npm:24.8.6"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": "npm:^1.3.0"
|
||||
lit: "npm:^3.0.0"
|
||||
style-observer: "npm:^0.0.8"
|
||||
checksum: 10/90b883ea34f39b381d3777ac8ea15797d12b899883bdb64ac14e9d170ae113f3f5b29f3492a10d2aeec05cb05ce0b6708d0963110f9ca9858af247210c1e89ce
|
||||
checksum: 10/eb0b356f86d0f19914284219243812dde31d5b54b6f192a3bcb569d0403d100c820080d60878be90b859fd7e2a4342a5e054291a0f3c12888c173ca4122290af
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -9298,10 +9298,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"hls.js@npm:1.6.10":
|
||||
version: 1.6.10
|
||||
resolution: "hls.js@npm:1.6.10"
|
||||
checksum: 10/28ba90e7915dd178b59907f99320f02bdf81023cd570e40e4aace32c4d744bb8a4404f1d6f040cd00a152334a76d97fee702a88596dd9ecaebe93aa5ac48506f
|
||||
"hls.js@npm:1.6.11":
|
||||
version: 1.6.11
|
||||
resolution: "hls.js@npm:1.6.11"
|
||||
checksum: 10/a7fb6407bd9729186fcdff14fb37d98d24ddfdce69e30165179a1af4c66fc83252bd85ee9199df91220ca5573fed7529b861d40fe86d93b4c06dc89ccc33382a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -9377,7 +9377,7 @@ __metadata:
|
||||
"@octokit/rest": "npm:22.0.0"
|
||||
"@replit/codemirror-indentation-markers": "npm:6.5.3"
|
||||
"@rsdoctor/rspack-plugin": "npm:1.2.3"
|
||||
"@rspack/core": "npm:1.4.11"
|
||||
"@rspack/core": "npm:1.5.1"
|
||||
"@rspack/dev-server": "npm:1.1.4"
|
||||
"@shoelace-style/shoelace": "npm:2.20.1"
|
||||
"@swc/helpers": "npm:0.5.17"
|
||||
@@ -9402,8 +9402,8 @@ __metadata:
|
||||
"@types/tar": "npm:6.1.13"
|
||||
"@types/ua-parser-js": "npm:0.7.39"
|
||||
"@types/webspeechapi": "npm:0.0.29"
|
||||
"@vaadin/combo-box": "npm:24.8.5"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:24.8.5"
|
||||
"@vaadin/combo-box": "npm:24.8.6"
|
||||
"@vaadin/vaadin-themable-mixin": "npm:24.8.6"
|
||||
"@vibrant/color": "npm:4.0.0"
|
||||
"@vitest/coverage-v8": "npm:3.2.4"
|
||||
"@vue/web-component-wrapper": "npm:1.3.0"
|
||||
@@ -9446,7 +9446,7 @@ __metadata:
|
||||
gulp-json-transform: "npm:0.5.0"
|
||||
gulp-rename: "npm:2.1.0"
|
||||
gulp-zopfli-green: "npm:6.0.2"
|
||||
hls.js: "npm:1.6.10"
|
||||
hls.js: "npm:1.6.11"
|
||||
home-assistant-js-websocket: "npm:9.5.0"
|
||||
html-minifier-terser: "npm:7.2.0"
|
||||
husky: "npm:9.1.7"
|
||||
@@ -9466,7 +9466,7 @@ __metadata:
|
||||
lodash.template: "npm:4.5.0"
|
||||
luxon: "npm:3.7.1"
|
||||
map-stream: "npm:0.0.7"
|
||||
marked: "npm:16.2.0"
|
||||
marked: "npm:16.2.1"
|
||||
memoize-one: "npm:6.0.0"
|
||||
node-vibrant: "npm:4.0.3"
|
||||
object-hash: "npm:3.0.0"
|
||||
@@ -9488,7 +9488,7 @@ __metadata:
|
||||
tinykeys: "npm:3.0.0"
|
||||
ts-lit-plugin: "npm:2.0.2"
|
||||
typescript: "npm:5.9.2"
|
||||
typescript-eslint: "npm:8.40.0"
|
||||
typescript-eslint: "npm:8.41.0"
|
||||
ua-parser-js: "npm:2.0.4"
|
||||
vite-tsconfig-paths: "npm:5.1.4"
|
||||
vitest: "npm:3.2.4"
|
||||
@@ -11137,12 +11137,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"marked@npm:16.2.0":
|
||||
version: 16.2.0
|
||||
resolution: "marked@npm:16.2.0"
|
||||
"marked@npm:16.2.1":
|
||||
version: 16.2.1
|
||||
resolution: "marked@npm:16.2.1"
|
||||
bin:
|
||||
marked: bin/marked.js
|
||||
checksum: 10/0a73dcfbe500514d2f1106da99708beed8a31de586e2826e1aa47ca0e0a4850b1e9598569b09d5366d4f4dee2d279a13f32616ed1ee75c832068eb7dd660f66f
|
||||
checksum: 10/67e911a7dd416869649dee18dc4a9683c0ccd8e72ba0fee3b3f578f857416e69780013e9d63762c600e6f9cf997c5af9fa0507a2053f8e65d39c5459c245c0cd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -14527,18 +14527,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"typescript-eslint@npm:8.40.0":
|
||||
version: 8.40.0
|
||||
resolution: "typescript-eslint@npm:8.40.0"
|
||||
"typescript-eslint@npm:8.41.0":
|
||||
version: 8.41.0
|
||||
resolution: "typescript-eslint@npm:8.41.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/eslint-plugin": "npm:8.40.0"
|
||||
"@typescript-eslint/parser": "npm:8.40.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.40.0"
|
||||
"@typescript-eslint/utils": "npm:8.40.0"
|
||||
"@typescript-eslint/eslint-plugin": "npm:8.41.0"
|
||||
"@typescript-eslint/parser": "npm:8.41.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.41.0"
|
||||
"@typescript-eslint/utils": "npm:8.41.0"
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: ">=4.8.4 <6.0.0"
|
||||
checksum: 10/b96dc4e70bd551e5399b928e946957cce622cba89f0ff87521f9e93f223acbe406930a1ebee845b158f586959cb7d85f15ea2250b97341aa87f50a3c987d068a
|
||||
checksum: 10/a398a367b3a674bcdb74f060e0b06aacb9e8bd0637079c5079ff66a43a35286098b97d71fca1b81b738c0df840fda4b53aeee03ed0aacef03f9644c61a68960e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user