mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-23 17:26:42 +00:00
20230705.0 (#17165)
This commit is contained in:
commit
c8de1ff74c
File diff suppressed because one or more lines are too long
@ -8,4 +8,4 @@ plugins:
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
|
||||
spec: "@yarnpkg/plugin-interactive-tools"
|
||||
|
||||
yarnPath: .yarn/releases/yarn-3.6.0.cjs
|
||||
yarnPath: .yarn/releases/yarn-3.6.1.cjs
|
||||
|
@ -1,21 +1,21 @@
|
||||
import { cast } from "chromecast-caf-receiver";
|
||||
import { framework } from "../receiver/cast_framework";
|
||||
|
||||
const castContext = cast.framework.CastReceiverContext.getInstance();
|
||||
const castContext = framework.CastReceiverContext.getInstance();
|
||||
|
||||
const playerManager = castContext.getPlayerManager();
|
||||
|
||||
playerManager.setMessageInterceptor(
|
||||
cast.framework.messages.MessageType.LOAD,
|
||||
framework.messages.MessageType.LOAD,
|
||||
(loadRequestData) => {
|
||||
const media = loadRequestData.media;
|
||||
// Special handling if it came from Google Assistant
|
||||
if (media.entity) {
|
||||
media.contentId = media.entity;
|
||||
media.streamType = cast.framework.messages.StreamType.LIVE;
|
||||
media.streamType = framework.messages.StreamType.LIVE;
|
||||
media.contentType = "application/vnd.apple.mpegurl";
|
||||
// @ts-ignore
|
||||
media.hlsVideoSegmentFormat =
|
||||
cast.framework.messages.HlsVideoSegmentFormat.FMP4;
|
||||
framework.messages.HlsVideoSegmentFormat.FMP4;
|
||||
}
|
||||
return loadRequestData;
|
||||
}
|
||||
|
@ -1,3 +1,3 @@
|
||||
import { cast } from "chromecast-caf-receiver";
|
||||
import { framework } from "./cast_framework";
|
||||
|
||||
export const castContext = cast.framework.CastReceiverContext.getInstance();
|
||||
export const castContext = framework.CastReceiverContext.getInstance();
|
||||
|
3
cast/src/receiver/cast_framework.ts
Normal file
3
cast/src/receiver/cast_framework.ts
Normal file
@ -0,0 +1,3 @@
|
||||
import type { cast as ReceiverCast } from "chromecast-caf-receiver";
|
||||
|
||||
export const framework = (cast as unknown as typeof ReceiverCast).framework;
|
@ -1,4 +1,4 @@
|
||||
import { cast } from "chromecast-caf-receiver";
|
||||
import { framework } from "./cast_framework";
|
||||
import { CAST_NS } from "../../../src/cast/const";
|
||||
import { HassMessage } from "../../../src/cast/receiver_messages";
|
||||
import "../../../src/resources/custom-card-support";
|
||||
@ -34,14 +34,14 @@ const setTouchControlsVisibility = (visible: boolean) => {
|
||||
let timeOut: number | undefined;
|
||||
|
||||
const playDummyMedia = (viewTitle?: string) => {
|
||||
const loadRequestData = new cast.framework.messages.LoadRequestData();
|
||||
const loadRequestData = new framework.messages.LoadRequestData();
|
||||
loadRequestData.autoplay = true;
|
||||
loadRequestData.media = new cast.framework.messages.MediaInformation();
|
||||
loadRequestData.media = new framework.messages.MediaInformation();
|
||||
loadRequestData.media.contentId =
|
||||
"https://cast.home-assistant.io/images/google-nest-hub.png";
|
||||
loadRequestData.media.contentType = "image/jpeg";
|
||||
loadRequestData.media.streamType = cast.framework.messages.StreamType.NONE;
|
||||
const metadata = new cast.framework.messages.GenericMediaMetadata();
|
||||
loadRequestData.media.streamType = framework.messages.StreamType.NONE;
|
||||
const metadata = new framework.messages.GenericMediaMetadata();
|
||||
metadata.title = viewTitle;
|
||||
loadRequestData.media.metadata = metadata;
|
||||
|
||||
@ -86,10 +86,10 @@ const showMediaPlayer = () => {
|
||||
}
|
||||
};
|
||||
|
||||
const options = new cast.framework.CastReceiverOptions();
|
||||
const options = new framework.CastReceiverOptions();
|
||||
options.disableIdleTimeout = true;
|
||||
options.customNamespaces = {
|
||||
[CAST_NS]: cast.framework.system.MessageType.JSON,
|
||||
[CAST_NS]: framework.system.MessageType.JSON,
|
||||
};
|
||||
|
||||
castContext.addCustomMessageListener(
|
||||
@ -98,8 +98,7 @@ castContext.addCustomMessageListener(
|
||||
(ev: ReceivedMessage<HassMessage>) => {
|
||||
// We received a show Lovelace command, stop media from playing, hide media player and show Lovelace controller
|
||||
if (
|
||||
playerManager.getPlayerState() !==
|
||||
cast.framework.messages.PlayerState.IDLE
|
||||
playerManager.getPlayerState() !== framework.messages.PlayerState.IDLE
|
||||
) {
|
||||
playerManager.stop();
|
||||
} else {
|
||||
@ -114,7 +113,7 @@ castContext.addCustomMessageListener(
|
||||
const playerManager = castContext.getPlayerManager();
|
||||
|
||||
playerManager.setMessageInterceptor(
|
||||
cast.framework.messages.MessageType.LOAD,
|
||||
framework.messages.MessageType.LOAD,
|
||||
(loadRequestData) => {
|
||||
if (
|
||||
loadRequestData.media.contentId ===
|
||||
@ -128,25 +127,24 @@ playerManager.setMessageInterceptor(
|
||||
// Special handling if it came from Google Assistant
|
||||
if (media.entity) {
|
||||
media.contentId = media.entity;
|
||||
media.streamType = cast.framework.messages.StreamType.LIVE;
|
||||
media.streamType = framework.messages.StreamType.LIVE;
|
||||
media.contentType = "application/vnd.apple.mpegurl";
|
||||
// @ts-ignore
|
||||
media.hlsVideoSegmentFormat =
|
||||
cast.framework.messages.HlsVideoSegmentFormat.FMP4;
|
||||
framework.messages.HlsVideoSegmentFormat.FMP4;
|
||||
}
|
||||
return loadRequestData;
|
||||
}
|
||||
);
|
||||
|
||||
playerManager.addEventListener(
|
||||
cast.framework.events.EventType.MEDIA_STATUS,
|
||||
framework.events.EventType.MEDIA_STATUS,
|
||||
(event) => {
|
||||
if (
|
||||
event.mediaStatus?.playerState ===
|
||||
cast.framework.messages.PlayerState.IDLE &&
|
||||
event.mediaStatus?.playerState === framework.messages.PlayerState.IDLE &&
|
||||
event.mediaStatus?.idleReason &&
|
||||
event.mediaStatus?.idleReason !==
|
||||
cast.framework.messages.IdleReason.INTERRUPTED
|
||||
framework.messages.IdleReason.INTERRUPTED
|
||||
) {
|
||||
// media finished or stopped, return to default Lovelace
|
||||
showLovelaceController();
|
||||
|
@ -38,14 +38,15 @@ class HassioIngressView extends LitElement {
|
||||
|
||||
@property({ attribute: false }) public supervisor!: Supervisor;
|
||||
|
||||
@property() public route!: Route;
|
||||
@property({ attribute: false }) public route!: Route;
|
||||
|
||||
@property() public ingressPanel = false;
|
||||
@property({ type: Boolean }) public ingressPanel = false;
|
||||
|
||||
@property({ type: Boolean }) public narrow = false;
|
||||
|
||||
@state() private _addon?: HassioAddonDetails;
|
||||
|
||||
@property({ type: Boolean })
|
||||
public narrow = false;
|
||||
@state() private _loadingMessage?: string;
|
||||
|
||||
private _sessionKeepAlive?: number;
|
||||
|
||||
@ -66,7 +67,9 @@ class HassioIngressView extends LitElement {
|
||||
|
||||
protected render(): TemplateResult {
|
||||
if (!this._addon) {
|
||||
return html`<hass-loading-screen></hass-loading-screen>`;
|
||||
return html`<hass-loading-screen
|
||||
.message=${this._loadingMessage}
|
||||
></hass-loading-screen>`;
|
||||
}
|
||||
|
||||
const iframe = html`<iframe
|
||||
@ -136,8 +139,8 @@ class HassioIngressView extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
protected updated(changedProps: PropertyValues) {
|
||||
super.updated(changedProps);
|
||||
protected willUpdate(changedProps: PropertyValues) {
|
||||
super.willUpdate(changedProps);
|
||||
|
||||
if (!changedProps.has("route")) {
|
||||
return;
|
||||
@ -149,6 +152,7 @@ class HassioIngressView extends LitElement {
|
||||
const oldAddon = oldRoute ? oldRoute.path.substring(1) : undefined;
|
||||
|
||||
if (addon && addon !== oldAddon) {
|
||||
this._loadingMessage = undefined;
|
||||
this._fetchData(addon);
|
||||
}
|
||||
}
|
||||
@ -161,8 +165,11 @@ class HassioIngressView extends LitElement {
|
||||
try {
|
||||
addon = await fetchHassioAddonInfo(this.hass, addonSlug);
|
||||
} catch (err: any) {
|
||||
await this.updateComplete;
|
||||
await showAlertDialog(this, {
|
||||
text: this.supervisor.localize("ingress.error_addon_info"),
|
||||
text:
|
||||
this.supervisor.localize("ingress.error_addon_info") ||
|
||||
"Unable to fetch add-on info to start Ingress",
|
||||
title: "Supervisor",
|
||||
});
|
||||
await nextRender();
|
||||
@ -171,8 +178,11 @@ class HassioIngressView extends LitElement {
|
||||
}
|
||||
|
||||
if (!addon.version) {
|
||||
await this.updateComplete;
|
||||
await showAlertDialog(this, {
|
||||
text: this.supervisor.localize("ingress.error_addon_not_installed"),
|
||||
text:
|
||||
this.supervisor.localize("ingress.error_addon_not_installed") ||
|
||||
"The add-on is not installed. Please install it first",
|
||||
title: addon.name,
|
||||
});
|
||||
await nextRender();
|
||||
@ -181,8 +191,11 @@ class HassioIngressView extends LitElement {
|
||||
}
|
||||
|
||||
if (!addon.ingress_url) {
|
||||
await this.updateComplete;
|
||||
await showAlertDialog(this, {
|
||||
text: this.supervisor.localize("ingress.error_addon_not_supported"),
|
||||
text:
|
||||
this.supervisor.localize("ingress.error_addon_not_supported") ||
|
||||
"This add-on does not support Ingress",
|
||||
title: addon.name,
|
||||
});
|
||||
await nextRender();
|
||||
@ -191,14 +204,21 @@ class HassioIngressView extends LitElement {
|
||||
}
|
||||
|
||||
if (!addon.state || !["startup", "started"].includes(addon.state)) {
|
||||
await this.updateComplete;
|
||||
const confirm = await showConfirmationDialog(this, {
|
||||
text: this.supervisor.localize("ingress.error_addon_not_running"),
|
||||
text:
|
||||
this.supervisor.localize("ingress.error_addon_not_running") ||
|
||||
"The add-on is not running. Do you want to start it now?",
|
||||
title: addon.name,
|
||||
confirmText: this.supervisor.localize("ingress.start_addon"),
|
||||
dismissText: this.supervisor.localize("common.no"),
|
||||
confirmText:
|
||||
this.supervisor.localize("ingress.start_addon") || "Start add-on",
|
||||
dismissText: this.supervisor.localize("common.no") || "No",
|
||||
});
|
||||
if (confirm) {
|
||||
try {
|
||||
this._loadingMessage =
|
||||
this.supervisor.localize("ingress.addon_starting") ||
|
||||
"The add-on is starting, this can take some time...";
|
||||
await startHassioAddon(this.hass, addonSlug);
|
||||
fireEvent(this, "supervisor-collection-refresh", {
|
||||
collection: "addon",
|
||||
@ -207,7 +227,9 @@ class HassioIngressView extends LitElement {
|
||||
return;
|
||||
} catch (e) {
|
||||
await showAlertDialog(this, {
|
||||
text: this.supervisor.localize("ingress.error_starting_addon"),
|
||||
text:
|
||||
this.supervisor.localize("ingress.error_starting_addon") ||
|
||||
"Error starting the add-on",
|
||||
title: addon.name,
|
||||
});
|
||||
await nextRender();
|
||||
@ -223,6 +245,10 @@ class HassioIngressView extends LitElement {
|
||||
|
||||
if (addon.state === "startup") {
|
||||
// Addon is starting up, wait for it to start
|
||||
this._loadingMessage =
|
||||
this.supervisor.localize("ingress.addon_starting") ||
|
||||
"The add-on is starting, this can take some time...";
|
||||
|
||||
this._fetchDataTimeout = window.setTimeout(() => {
|
||||
this._fetchData(addonSlug);
|
||||
}, 500);
|
||||
@ -233,6 +259,8 @@ class HassioIngressView extends LitElement {
|
||||
return;
|
||||
}
|
||||
|
||||
this._loadingMessage = undefined;
|
||||
|
||||
if (this._fetchDataTimeout) {
|
||||
clearInterval(this._fetchDataTimeout);
|
||||
this._fetchDataTimeout = undefined;
|
||||
@ -247,7 +275,9 @@ class HassioIngressView extends LitElement {
|
||||
clearInterval(this._sessionKeepAlive);
|
||||
}
|
||||
await showAlertDialog(this, {
|
||||
text: this.supervisor.localize("ingress.error_creating_session"),
|
||||
text:
|
||||
this.supervisor.localize("ingress.error_creating_session") ||
|
||||
"Unable to create an Ingress session",
|
||||
title: addon.name,
|
||||
});
|
||||
await nextRender();
|
||||
@ -269,16 +299,19 @@ class HassioIngressView extends LitElement {
|
||||
this._addon = addon;
|
||||
}
|
||||
|
||||
private _checkLoaded(ev): void {
|
||||
private async _checkLoaded(ev): Promise<void> {
|
||||
if (!this._addon) {
|
||||
return;
|
||||
}
|
||||
if (ev.target.contentDocument.body.textContent === "502: Bad Gateway") {
|
||||
await this.updateComplete;
|
||||
showConfirmationDialog(this, {
|
||||
text: this.supervisor.localize("ingress.error_addon_not_ready"),
|
||||
text:
|
||||
this.supervisor.localize("ingress.error_addon_not_ready") ||
|
||||
"The add-on seems to not be ready, it might still be starting. Do you want to try again?",
|
||||
title: this._addon.name,
|
||||
confirmText: this.supervisor.localize("ingress.retry"),
|
||||
dismissText: this.supervisor.localize("common.no"),
|
||||
confirmText: this.supervisor.localize("ingress.retry") || "Retry",
|
||||
dismissText: this.supervisor.localize("common.no") || "No",
|
||||
confirm: async () => {
|
||||
const addon = this._addon;
|
||||
this._addon = undefined;
|
||||
|
13
package.json
13
package.json
@ -47,6 +47,7 @@
|
||||
"@fullcalendar/daygrid": "6.1.8",
|
||||
"@fullcalendar/interaction": "6.1.8",
|
||||
"@fullcalendar/list": "6.1.8",
|
||||
"@fullcalendar/luxon3": "6.1.8",
|
||||
"@fullcalendar/timegrid": "6.1.8",
|
||||
"@lezer/highlight": "1.1.6",
|
||||
"@lit-labs/context": "0.3.3",
|
||||
@ -93,8 +94,8 @@
|
||||
"@polymer/paper-toast": "3.0.1",
|
||||
"@polymer/polymer": "3.5.1",
|
||||
"@thomasloven/round-slider": "0.6.0",
|
||||
"@vaadin/combo-box": "24.1.1",
|
||||
"@vaadin/vaadin-themable-mixin": "24.1.1",
|
||||
"@vaadin/combo-box": "24.1.2",
|
||||
"@vaadin/vaadin-themable-mixin": "24.1.2",
|
||||
"@vibrant/color": "3.2.1-alpha.1",
|
||||
"@vibrant/core": "3.2.1-alpha.1",
|
||||
"@vibrant/quantizer-mmcq": "3.2.1-alpha.1",
|
||||
@ -120,6 +121,7 @@
|
||||
"leaflet": "1.9.4",
|
||||
"leaflet-draw": "1.0.4",
|
||||
"lit": "2.7.5",
|
||||
"luxon": "3.3.0",
|
||||
"marked": "4.3.0",
|
||||
"memoize-one": "6.0.0",
|
||||
"node-vibrant": "3.2.1-alpha.1",
|
||||
@ -174,9 +176,10 @@
|
||||
"@types/js-yaml": "4.0.5",
|
||||
"@types/leaflet": "1.9.3",
|
||||
"@types/leaflet-draw": "1.0.7",
|
||||
"@types/luxon": "^3",
|
||||
"@types/marked": "4.3.1",
|
||||
"@types/mocha": "10.0.1",
|
||||
"@types/qrcode": "1.5.0",
|
||||
"@types/qrcode": "1.5.1",
|
||||
"@types/serve-handler": "6.1.1",
|
||||
"@types/sortablejs": "1.15.1",
|
||||
"@types/tar": "6.1.5",
|
||||
@ -189,7 +192,7 @@
|
||||
"babel-plugin-template-html-minifier": "4.1.0",
|
||||
"chai": "4.3.7",
|
||||
"del": "7.0.0",
|
||||
"eslint": "8.43.0",
|
||||
"eslint": "8.44.0",
|
||||
"eslint-config-airbnb-base": "15.0.0",
|
||||
"eslint-config-airbnb-typescript": "17.0.0",
|
||||
"eslint-config-prettier": "8.8.0",
|
||||
@ -256,5 +259,5 @@
|
||||
"trailingComma": "es5",
|
||||
"arrowParens": "always"
|
||||
},
|
||||
"packageManager": "yarn@3.6.0"
|
||||
"packageManager": "yarn@3.6.1"
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "home-assistant-frontend"
|
||||
version = "20230703.0"
|
||||
version = "20230705.0"
|
||||
license = {text = "Apache-2.0"}
|
||||
description = "The Home Assistant frontend"
|
||||
readme = "README.md"
|
||||
|
@ -1,4 +1,11 @@
|
||||
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
|
||||
import {
|
||||
css,
|
||||
CSSResultGroup,
|
||||
html,
|
||||
LitElement,
|
||||
nothing,
|
||||
TemplateResult,
|
||||
} from "lit";
|
||||
import { customElement, property } from "lit/decorators";
|
||||
import "../components/ha-circular-progress";
|
||||
import "../components/ha-icon-button-arrow-prev";
|
||||
@ -17,6 +24,8 @@ class HassLoadingScreen extends LitElement {
|
||||
|
||||
@property({ type: Boolean }) public narrow = false;
|
||||
|
||||
@property() public message?: string;
|
||||
|
||||
protected render(): TemplateResult {
|
||||
return html`
|
||||
${this.noToolbar
|
||||
@ -38,6 +47,9 @@ class HassLoadingScreen extends LitElement {
|
||||
</div>`}
|
||||
<div class="content">
|
||||
<ha-circular-progress active></ha-circular-progress>
|
||||
${this.message
|
||||
? html`<div id="loading-text">${this.message}</div>`
|
||||
: nothing}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
@ -80,9 +92,14 @@ class HassLoadingScreen extends LitElement {
|
||||
.content {
|
||||
height: calc(100% - var(--header-height));
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
#loading-text {
|
||||
max-width: 350px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
|
@ -34,6 +34,7 @@ import "../lovelace/components/hui-generic-entity-row";
|
||||
import "./ha-recurrence-rule-editor";
|
||||
import { showConfirmEventDialog } from "./show-confirm-event-dialog-box";
|
||||
import { CalendarEventEditDialogParams } from "./show-dialog-calendar-event-editor";
|
||||
import { TimeZone } from "../../data/translation";
|
||||
|
||||
const CALENDAR_DOMAINS = ["calendar"];
|
||||
|
||||
@ -81,8 +82,9 @@ class DialogCalendarEventEditor extends LitElement {
|
||||
supportsFeature(stateObj, CalendarEntityFeature.CREATE_EVENT)
|
||||
)?.entity_id;
|
||||
this._timeZone =
|
||||
Intl.DateTimeFormat().resolvedOptions().timeZone ||
|
||||
this.hass.config.time_zone;
|
||||
this.hass.locale.time_zone === TimeZone.local
|
||||
? Intl.DateTimeFormat().resolvedOptions().timeZone
|
||||
: this.hass.config.time_zone;
|
||||
if (params.entry) {
|
||||
const entry = params.entry!;
|
||||
this._allDay = isDate(entry.dtstart);
|
||||
|
@ -46,6 +46,7 @@ import type {
|
||||
} from "../../types";
|
||||
import { showCalendarEventDetailDialog } from "./show-dialog-calendar-event-detail";
|
||||
import { showCalendarEventEditDialog } from "./show-dialog-calendar-event-editor";
|
||||
import { TimeZone } from "../../data/translation";
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
@ -240,9 +241,26 @@ export class HAFullCalendar extends LitElement {
|
||||
}
|
||||
|
||||
protected firstUpdated(): void {
|
||||
this._loadCalendar();
|
||||
}
|
||||
|
||||
private async _loadCalendar() {
|
||||
const luxonPlugin =
|
||||
this.hass.locale.time_zone === TimeZone.local
|
||||
? undefined
|
||||
: (await import("@fullcalendar/luxon3")).default;
|
||||
|
||||
const config: CalendarOptions = {
|
||||
...defaultFullCalendarConfig,
|
||||
plugins:
|
||||
this.hass.locale.time_zone === TimeZone.local
|
||||
? defaultFullCalendarConfig.plugins
|
||||
: [...defaultFullCalendarConfig.plugins!, luxonPlugin!],
|
||||
locale: this.hass.language,
|
||||
timeZone:
|
||||
this.hass.locale.time_zone === TimeZone.local
|
||||
? "local"
|
||||
: this.hass.config.time_zone,
|
||||
firstDay: firstWeekdayIndex(this.hass.locale),
|
||||
initialView: this.initialView,
|
||||
eventDisplay: this.eventDisplay,
|
||||
|
@ -798,7 +798,11 @@ export class EntityRegistrySettingsEditor extends LitElement {
|
||||
.disabled=${this.disabled}
|
||||
@click=${this._handleVoiceAssistantsClicked}
|
||||
>
|
||||
<span>Voice assistants</span>
|
||||
<span
|
||||
>${this.hass.localize(
|
||||
"ui.dialogs.entity_registry.editor.voice_assistants"
|
||||
)}</span
|
||||
>
|
||||
<span slot="secondary">
|
||||
${this.entry.aliases.length
|
||||
? [...this.entry.aliases]
|
||||
@ -1320,7 +1324,10 @@ export class EntityRegistrySettingsEditor extends LitElement {
|
||||
}
|
||||
|
||||
private _handleVoiceAssistantsClicked() {
|
||||
showVoiceAssistantsView(this, "Voice assistants");
|
||||
showVoiceAssistantsView(
|
||||
this,
|
||||
this.hass.localize("ui.dialogs.entity_registry.editor.voice_assistants")
|
||||
);
|
||||
}
|
||||
|
||||
private async _showOptionsFlow() {
|
||||
|
@ -23,6 +23,8 @@ import { Schedule, ScheduleDay, weekdays } from "../../../../data/schedule";
|
||||
import { haStyle } from "../../../../resources/styles";
|
||||
import { HomeAssistant } from "../../../../types";
|
||||
import { loadPolyfillIfNeeded } from "../../../../resources/resize-observer.polyfill";
|
||||
import { TimeZone } from "../../../../data/translation";
|
||||
import { showConfirmationDialog } from "../../../../dialogs/generic/show-dialog-box";
|
||||
|
||||
const defaultFullCalendarConfig: CalendarOptions = {
|
||||
plugins: [timeGridPlugin, interactionPlugin],
|
||||
@ -286,9 +288,18 @@ class HaScheduleForm extends LitElement {
|
||||
const value = [...this[`_${day}`]];
|
||||
const newValue = { ...this._item };
|
||||
|
||||
const endFormatted = formatTime24h(end, this.hass.locale, this.hass.config);
|
||||
// Schedule is timezone unaware, we need to format it in local time
|
||||
const endFormatted = formatTime24h(
|
||||
end,
|
||||
{ ...this.hass.locale, time_zone: TimeZone.local },
|
||||
this.hass.config
|
||||
);
|
||||
value.push({
|
||||
from: formatTime24h(start, this.hass.locale, this.hass.config),
|
||||
from: formatTime24h(
|
||||
start,
|
||||
{ ...this.hass.locale, time_zone: TimeZone.local },
|
||||
this.hass.config
|
||||
),
|
||||
to:
|
||||
!isSameDay(start, end) || endFormatted === "0:00"
|
||||
? "24:00"
|
||||
@ -365,7 +376,19 @@ class HaScheduleForm extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
private _handleEventClick(info: any) {
|
||||
private async _handleEventClick(info: any) {
|
||||
if (
|
||||
!(await showConfirmationDialog(this, {
|
||||
title: this.hass.localize("ui.dialogs.helper_settings.schedule.delete"),
|
||||
text: this.hass.localize(
|
||||
"ui.dialogs.helper_settings.schedule.confirm_delete"
|
||||
),
|
||||
destructive: true,
|
||||
confirmText: this.hass.localize("ui.common.delete"),
|
||||
}))
|
||||
) {
|
||||
return;
|
||||
}
|
||||
const [day, index] = info.event.id.split("-");
|
||||
const value = [...this[`_${day}`]];
|
||||
|
||||
|
@ -1101,6 +1101,7 @@
|
||||
"stream_orientation_7": "Rotate right and flip",
|
||||
"stream_orientation_8": "Rotate right"
|
||||
},
|
||||
"voice_assistants": "[%key:ui::panel::config::dashboard::voice_assistants::main%]",
|
||||
"no_aliases": "Configure aliases and expose settings for voice assistants"
|
||||
}
|
||||
},
|
||||
@ -1223,6 +1224,10 @@
|
||||
"timer": {
|
||||
"duration": "Duration",
|
||||
"restore": "Restore?"
|
||||
},
|
||||
"schedule": {
|
||||
"delete": "Delete item?",
|
||||
"confirm_delete": "Do you want to delete this item?"
|
||||
}
|
||||
},
|
||||
"options_flow": {
|
||||
@ -5922,8 +5927,9 @@
|
||||
"error_addon_info": "Unable to fetch add-on info to start Ingress",
|
||||
"error_addon_not_installed": "The add-on is not installed. Please install it first",
|
||||
"error_addon_not_supported": "This add-on does not support Ingress",
|
||||
"error_addon_not_running": "Add-on is not running. Do you want to start it now?",
|
||||
"error_addon_not_running": "The add-on is not running. Do you want to start it now?",
|
||||
"start_addon": "Start add-on",
|
||||
"addon_starting": "The add-on is starting, this can take some time...",
|
||||
"error_starting_addon": "Error starting the add-on",
|
||||
"error_creating_session": "Unable to create an Ingress session",
|
||||
"error_addon_not_ready": "The add-on seems to not be ready, it might still be starting. Do you want to try again?",
|
||||
|
275
yarn.lock
275
yarn.lock
@ -15,6 +15,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aashutoshrathi/word-wrap@npm:^1.2.3":
|
||||
version: 1.2.6
|
||||
resolution: "@aashutoshrathi/word-wrap@npm:1.2.6"
|
||||
checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@ampproject/remapping@npm:^2.2.0":
|
||||
version: 2.2.1
|
||||
resolution: "@ampproject/remapping@npm:2.2.1"
|
||||
@ -1565,27 +1572,27 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/eslintrc@npm:^2.0.3":
|
||||
version: 2.0.3
|
||||
resolution: "@eslint/eslintrc@npm:2.0.3"
|
||||
"@eslint/eslintrc@npm:^2.1.0":
|
||||
version: 2.1.0
|
||||
resolution: "@eslint/eslintrc@npm:2.1.0"
|
||||
dependencies:
|
||||
ajv: ^6.12.4
|
||||
debug: ^4.3.2
|
||||
espree: ^9.5.2
|
||||
espree: ^9.6.0
|
||||
globals: ^13.19.0
|
||||
ignore: ^5.2.0
|
||||
import-fresh: ^3.2.1
|
||||
js-yaml: ^4.1.0
|
||||
minimatch: ^3.1.2
|
||||
strip-json-comments: ^3.1.1
|
||||
checksum: ddc51f25f8524d8231db9c9bf03177e503d941a332e8d5ce3b10b09241be4d5584a378a529a27a527586bfbccf3031ae539eb891352033c340b012b4d0c81d92
|
||||
checksum: d5ed0adbe23f6571d8c9bb0ca6edf7618dc6aed4046aa56df7139f65ae7b578874e0d9c796df784c25bda648ceb754b6320277d828c8b004876d7443b8dc018c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/js@npm:8.43.0":
|
||||
version: 8.43.0
|
||||
resolution: "@eslint/js@npm:8.43.0"
|
||||
checksum: 580487a09c82ac169744d36e4af77bc4f582c9a37749d1e9481eb93626c8f3991b2390c6e4e69e5642e3b6e870912b839229a0e23594fae348156ea5a8ed7e2e
|
||||
"@eslint/js@npm:8.44.0":
|
||||
version: 8.44.0
|
||||
resolution: "@eslint/js@npm:8.44.0"
|
||||
checksum: fc539583226a28f5677356e9f00d2789c34253f076643d2e32888250e509a4e13aafe0880cb2425139051de0f3a48d25bfc5afa96b7304f203b706c17340e3cf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1770,6 +1777,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fullcalendar/luxon3@npm:6.1.8":
|
||||
version: 6.1.8
|
||||
resolution: "@fullcalendar/luxon3@npm:6.1.8"
|
||||
peerDependencies:
|
||||
"@fullcalendar/core": ~6.1.8
|
||||
luxon: ^3.0.0
|
||||
checksum: 7e842006418dc1855efc96fce22c7180f695b2f0087ec6305b62350d74e1776c1f03337f0d8adff7e1387e82535b42ff3481ad25fdbe82b3a5ad0501a902a386
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fullcalendar/timegrid@npm:6.1.8":
|
||||
version: 6.1.8
|
||||
resolution: "@fullcalendar/timegrid@npm:6.1.8"
|
||||
@ -4436,6 +4453,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/luxon@npm:^3":
|
||||
version: 3.3.0
|
||||
resolution: "@types/luxon@npm:3.3.0"
|
||||
checksum: f7e3a89fc3ca404fbc3ea538653ed6860bc28f570a8c4d6d24449b89b9b553b7d6ad6cc94a9e129c5b8c9a2b97f0c365b3017f811e59c4a859a9c219a1c918e0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/marked@npm:4.3.1":
|
||||
version: 4.3.1
|
||||
resolution: "@types/marked@npm:4.3.1"
|
||||
@ -4522,12 +4546,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/qrcode@npm:1.5.0":
|
||||
version: 1.5.0
|
||||
resolution: "@types/qrcode@npm:1.5.0"
|
||||
"@types/qrcode@npm:1.5.1":
|
||||
version: 1.5.1
|
||||
resolution: "@types/qrcode@npm:1.5.1"
|
||||
dependencies:
|
||||
"@types/node": "*"
|
||||
checksum: b0ece3834ca5ba6171132928fd1ef764772dc619b45cb4123461ee05e377ad15553a330d234c69db0d0028c6639a99429e88d99192fbba9c5ee97c23f278c48b
|
||||
checksum: 0f780f31d983fa8d1bfbba1a130e8f7b07866d556807eccfb1d08d841c70644cdee8fc169ca752bdf17e99995e6155fcb6179079338ac8359294c781b95112b5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -4792,126 +4816,126 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/a11y-base@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/a11y-base@npm:24.1.1"
|
||||
"@vaadin/a11y-base@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/a11y-base@npm:24.1.2"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/component-base": ~24.1.1
|
||||
"@vaadin/component-base": ~24.1.2
|
||||
lit: ^2.0.0
|
||||
checksum: 1b83e3e44ebc8c395a5ba9a6bc92d42aeb6afce3bcd6a1c492bbc7eb166a228474bf7dc56fb6509d47618fdd87107c60e4ebc60d2aab3c72dcc1392465fd7ac1
|
||||
checksum: 66ce2a3f46a5cd7ba917018e09d39f7b97c611415edbc079dc0b309612d089fcb7aaaf28224c4f924c187664a651275c02698ffcb2fde6c19cdc9b8c562fff7f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/combo-box@npm:24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/combo-box@npm:24.1.1"
|
||||
"@vaadin/combo-box@npm:24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/combo-box@npm:24.1.2"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.1
|
||||
"@vaadin/component-base": ~24.1.1
|
||||
"@vaadin/field-base": ~24.1.1
|
||||
"@vaadin/input-container": ~24.1.1
|
||||
"@vaadin/item": ~24.1.1
|
||||
"@vaadin/lit-renderer": ~24.1.1
|
||||
"@vaadin/overlay": ~24.1.1
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.1
|
||||
"@vaadin/vaadin-material-styles": ~24.1.1
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.1
|
||||
checksum: 0011a1271ebe41c6eaf5d5cf5f15c7cfdfab46534c70b4bdbcc0b1afdd6e83e0c7983d3927db6df4c7669269d7909a3d886586696b9d75d291a6a7876db22ce6
|
||||
"@vaadin/a11y-base": ~24.1.2
|
||||
"@vaadin/component-base": ~24.1.2
|
||||
"@vaadin/field-base": ~24.1.2
|
||||
"@vaadin/input-container": ~24.1.2
|
||||
"@vaadin/item": ~24.1.2
|
||||
"@vaadin/lit-renderer": ~24.1.2
|
||||
"@vaadin/overlay": ~24.1.2
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.2
|
||||
"@vaadin/vaadin-material-styles": ~24.1.2
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.2
|
||||
checksum: 6f165bb337517c249d6796d8c42c3f24a4d58ad103de8fd983d2aa8cfa245f6082879713dc4ce4a69b1f163d0ec18737a8499e57880a23eb31cf9df974df9fd9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/component-base@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/component-base@npm:24.1.1"
|
||||
"@vaadin/component-base@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/component-base@npm:24.1.2"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/vaadin-development-mode-detector": ^2.0.0
|
||||
"@vaadin/vaadin-usage-statistics": ^2.1.0
|
||||
lit: ^2.0.0
|
||||
checksum: 34c698266897cf7c3c5f8b8798468f5035ae764b1743e6a93f5ea1921b3d29e642db51e4d6d71c6594ba03dee14fa0704b34ccb70b7f50ecbfd07677bde231ac
|
||||
checksum: 20299afe5c3247056d986b6bae2f680511e50ae47123ff41324c6110c5b77d6c61d7735475e19b4f3df52de57745ca567a5fdbaba2059883b8ffc444f9e2ac5e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/field-base@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/field-base@npm:24.1.1"
|
||||
"@vaadin/field-base@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/field-base@npm:24.1.2"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.1
|
||||
"@vaadin/component-base": ~24.1.1
|
||||
"@vaadin/a11y-base": ~24.1.2
|
||||
"@vaadin/component-base": ~24.1.2
|
||||
lit: ^2.0.0
|
||||
checksum: b16d5579d4a5f43a62df431b7e7e3107bf5a8062ad681b6ce0c1c345dc56ce4f0ae4f0909e2e9ff0fb05d9f2f4b54e12f17b75a680c69b9f24f8f82b63c0b234
|
||||
checksum: 73112c1e524e8704d55ab3befaa0d6dcfa8e5c1621ea1e2bd7765cc88b2c567386cc75f2525b0900f7e9097e4fd90aa9e4eae5da3c79210ab9251a4d5f67ddb3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/icon@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/icon@npm:24.1.1"
|
||||
"@vaadin/icon@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/icon@npm:24.1.2"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/component-base": ~24.1.1
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.1
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.1
|
||||
"@vaadin/component-base": ~24.1.2
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.2
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.2
|
||||
lit: ^2.0.0
|
||||
checksum: be3f8986e04f163791c0fdbc51c5d7c8074b12548f151b58a3f357ab639cc5c0c53b3375ded7936cd8c618df19dcfef4c616735b24e81da6ae1fca753d4c0774
|
||||
checksum: 976c81e9d7377e0fdce562db1324d8e7a0b564244aaf724c96d799fd0391bf67bb24487afb5296e786e7ad50dd3ab06f68b6054239a4d0342e0c27468a80f5ba
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/input-container@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/input-container@npm:24.1.1"
|
||||
"@vaadin/input-container@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/input-container@npm:24.1.2"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/component-base": ~24.1.1
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.1
|
||||
"@vaadin/vaadin-material-styles": ~24.1.1
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.1
|
||||
checksum: b8934fae0f5578b78f4ee05c506b59e66c247e3fdf6d42b1ba7d198d77af170907b1f3cd98ee5ce7bd540d0f5c1f4c08d8febdfa35f7231ed56d289b0eb7432b
|
||||
"@vaadin/component-base": ~24.1.2
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.2
|
||||
"@vaadin/vaadin-material-styles": ~24.1.2
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.2
|
||||
checksum: 42f4dbb673aca9c1aa03198d6a2ca69d09d053824e1270d3ba44eb752cd3ad69f10bd4ecca46abda6f0761e6e2f367828c1e717a85e5f9bd29c1abc3063da48f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/item@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/item@npm:24.1.1"
|
||||
"@vaadin/item@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/item@npm:24.1.2"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.1
|
||||
"@vaadin/component-base": ~24.1.1
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.1
|
||||
"@vaadin/vaadin-material-styles": ~24.1.1
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.1
|
||||
checksum: a87529f5c0c385920d36173b670afbfaaa83d0c171cea048daf7986fbdfb7d82cfef651bc806043ca007a61c1f92b47bba489240b0917d15c75ad49fabab2153
|
||||
"@vaadin/a11y-base": ~24.1.2
|
||||
"@vaadin/component-base": ~24.1.2
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.2
|
||||
"@vaadin/vaadin-material-styles": ~24.1.2
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.2
|
||||
checksum: 000364ba1977bf29f88e1cfcde33e8fa0500a85094e104a89ae8933aebea35b52bee6da7cfe95ef8f016c13ee3632882f3c92964771ad23227494dc0361d9e59
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/lit-renderer@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/lit-renderer@npm:24.1.1"
|
||||
"@vaadin/lit-renderer@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/lit-renderer@npm:24.1.2"
|
||||
dependencies:
|
||||
lit: ^2.0.0
|
||||
checksum: 17a22abce1654c9b6c86e8a113778d61d5780e45164d3362741b00f47e061cfd88521127802f16ce2ad3ba92ed1535829c8b154183cc6f4fbececdbbb70f4233
|
||||
checksum: 702291d1fcb02b28f5f82501247726a0055dd7c5067ea124c62c582208536ba929d5c0d78cb174105ae12b95c8cd1ffb934409c58be7e46072aadffdc4d010f1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/overlay@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/overlay@npm:24.1.1"
|
||||
"@vaadin/overlay@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/overlay@npm:24.1.2"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/a11y-base": ~24.1.1
|
||||
"@vaadin/component-base": ~24.1.1
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.1
|
||||
"@vaadin/vaadin-material-styles": ~24.1.1
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.1
|
||||
checksum: d0def2106e4fff7d7c49931e9b917c68994f371a0246e076442e33d97ac7a25341d9794aee9e41c7c05c94111dacac74cb5648f1814fb45f11cf37ffe6850fa1
|
||||
"@vaadin/a11y-base": ~24.1.2
|
||||
"@vaadin/component-base": ~24.1.2
|
||||
"@vaadin/vaadin-lumo-styles": ~24.1.2
|
||||
"@vaadin/vaadin-material-styles": ~24.1.2
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.2
|
||||
checksum: 228723c7928a940ddf957ce32249665ac713567b580217facdb3b77ab3604a65999f078e86d29300da46e7fb9621f98beffb4a23629a27be86297c47d24fba80
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -4922,34 +4946,34 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-lumo-styles@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/vaadin-lumo-styles@npm:24.1.1"
|
||||
"@vaadin/vaadin-lumo-styles@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/vaadin-lumo-styles@npm:24.1.2"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/icon": ~24.1.1
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.1
|
||||
checksum: ab344ce558de8f1075de6290517169bd3e95cf5038549b987ca7cfb14a9798ca12573e099958fecd518dd74f2bcfa76030dfc5d3b6e46b34dff10e4d675182c5
|
||||
"@vaadin/icon": ~24.1.2
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.2
|
||||
checksum: 1f389d3799e7411dd81b836e36a73f28fd471b98a3799a6d48297d968ca5f955142146152672522eb37c6ea52b4adcdf3874f5ae9e4a90efee0e4be0197c3c33
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-material-styles@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/vaadin-material-styles@npm:24.1.1"
|
||||
"@vaadin/vaadin-material-styles@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/vaadin-material-styles@npm:24.1.2"
|
||||
dependencies:
|
||||
"@polymer/polymer": ^3.0.0
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.1
|
||||
checksum: 601e345da8858a62804b1afde06a79f93e9b5c41fcc263bb692b6db167937e3dd1b754b502ceeaf4054586d3e04a68a167ba7bc2719ec4ad8ac10005795d9a6e
|
||||
"@vaadin/vaadin-themable-mixin": ~24.1.2
|
||||
checksum: 93662d887bc128fdaf1012efa9c361c0ac2397c748d20b6d21ec8c85eed0541aedcfeeb85c043456cea1e3867037662c8860772c2ab3eba2e25f083d777f229d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vaadin/vaadin-themable-mixin@npm:24.1.1, @vaadin/vaadin-themable-mixin@npm:~24.1.1":
|
||||
version: 24.1.1
|
||||
resolution: "@vaadin/vaadin-themable-mixin@npm:24.1.1"
|
||||
"@vaadin/vaadin-themable-mixin@npm:24.1.2, @vaadin/vaadin-themable-mixin@npm:~24.1.2":
|
||||
version: 24.1.2
|
||||
resolution: "@vaadin/vaadin-themable-mixin@npm:24.1.2"
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin": ^1.3.0
|
||||
lit: ^2.0.0
|
||||
checksum: 5066300dcf6c987e43bb9c2e16d75198188220dfbde0c76d3d875444200f05b4de70d50fd3d082c0ac0b5075953835d1499ed01d51236e06a56d5ca9e6d25e4c
|
||||
checksum: 7019857bc05976e1032610bb5af74754339e65e6ad279808c245636f44187196931f21b7b35fe39370098ac745683611168abe9929cd0d40d9ddf1120c9b39fb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -5444,7 +5468,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.2":
|
||||
"acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
|
||||
version: 8.9.0
|
||||
resolution: "acorn@npm:8.9.0"
|
||||
bin:
|
||||
@ -8151,14 +8175,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint@npm:8.43.0":
|
||||
version: 8.43.0
|
||||
resolution: "eslint@npm:8.43.0"
|
||||
"eslint@npm:8.44.0":
|
||||
version: 8.44.0
|
||||
resolution: "eslint@npm:8.44.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": ^4.2.0
|
||||
"@eslint-community/regexpp": ^4.4.0
|
||||
"@eslint/eslintrc": ^2.0.3
|
||||
"@eslint/js": 8.43.0
|
||||
"@eslint/eslintrc": ^2.1.0
|
||||
"@eslint/js": 8.44.0
|
||||
"@humanwhocodes/config-array": ^0.11.10
|
||||
"@humanwhocodes/module-importer": ^1.0.1
|
||||
"@nodelib/fs.walk": ^1.2.8
|
||||
@ -8170,7 +8194,7 @@ __metadata:
|
||||
escape-string-regexp: ^4.0.0
|
||||
eslint-scope: ^7.2.0
|
||||
eslint-visitor-keys: ^3.4.1
|
||||
espree: ^9.5.2
|
||||
espree: ^9.6.0
|
||||
esquery: ^1.4.2
|
||||
esutils: ^2.0.2
|
||||
fast-deep-equal: ^3.1.3
|
||||
@ -8190,24 +8214,24 @@ __metadata:
|
||||
lodash.merge: ^4.6.2
|
||||
minimatch: ^3.1.2
|
||||
natural-compare: ^1.4.0
|
||||
optionator: ^0.9.1
|
||||
optionator: ^0.9.3
|
||||
strip-ansi: ^6.0.1
|
||||
strip-json-comments: ^3.1.0
|
||||
text-table: ^0.2.0
|
||||
bin:
|
||||
eslint: bin/eslint.js
|
||||
checksum: 55654ce00b0d128822b57526e40473d0497c7c6be3886afdc0b41b6b0dfbd34d0eae8159911b18451b4db51a939a0e6d2e117e847ae419086884fc3d4fe23c7c
|
||||
checksum: d06309ce4aafb9d27d558c8e5e5aa5cba3bbec3ce8ceccbc7d4b7a35f2b67fd40189159155553270e2e6febeb69bd8a3b60d6241c8f5ddc2ef1702ccbd328501
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"espree@npm:^9.5.2":
|
||||
version: 9.5.2
|
||||
resolution: "espree@npm:9.5.2"
|
||||
"espree@npm:^9.6.0":
|
||||
version: 9.6.0
|
||||
resolution: "espree@npm:9.6.0"
|
||||
dependencies:
|
||||
acorn: ^8.8.0
|
||||
acorn: ^8.9.0
|
||||
acorn-jsx: ^5.3.2
|
||||
eslint-visitor-keys: ^3.4.1
|
||||
checksum: 6506289d6eb26471c0b383ee24fee5c8ae9d61ad540be956b3127be5ce3bf687d2ba6538ee5a86769812c7c552a9d8239e8c4d150f9ea056c6d5cbe8399c03c1
|
||||
checksum: 1287979510efb052a6a97c73067ea5d0a40701b29adde87bbe2d3eb1667e39ca55e8129e20e2517fed3da570150e7ef470585228459a8f3e3755f45007a1c662
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -9616,6 +9640,7 @@ __metadata:
|
||||
"@fullcalendar/daygrid": 6.1.8
|
||||
"@fullcalendar/interaction": 6.1.8
|
||||
"@fullcalendar/list": 6.1.8
|
||||
"@fullcalendar/luxon3": 6.1.8
|
||||
"@fullcalendar/timegrid": 6.1.8
|
||||
"@koa/cors": 4.0.0
|
||||
"@lezer/highlight": 1.1.6
|
||||
@ -9681,17 +9706,18 @@ __metadata:
|
||||
"@types/js-yaml": 4.0.5
|
||||
"@types/leaflet": 1.9.3
|
||||
"@types/leaflet-draw": 1.0.7
|
||||
"@types/luxon": ^3
|
||||
"@types/marked": 4.3.1
|
||||
"@types/mocha": 10.0.1
|
||||
"@types/qrcode": 1.5.0
|
||||
"@types/qrcode": 1.5.1
|
||||
"@types/serve-handler": 6.1.1
|
||||
"@types/sortablejs": 1.15.1
|
||||
"@types/tar": 6.1.5
|
||||
"@types/webspeechapi": 0.0.29
|
||||
"@typescript-eslint/eslint-plugin": 5.60.1
|
||||
"@typescript-eslint/parser": 5.60.1
|
||||
"@vaadin/combo-box": 24.1.1
|
||||
"@vaadin/vaadin-themable-mixin": 24.1.1
|
||||
"@vaadin/combo-box": 24.1.2
|
||||
"@vaadin/vaadin-themable-mixin": 24.1.2
|
||||
"@vibrant/color": 3.2.1-alpha.1
|
||||
"@vibrant/core": 3.2.1-alpha.1
|
||||
"@vibrant/quantizer-mmcq": 3.2.1-alpha.1
|
||||
@ -9713,7 +9739,7 @@ __metadata:
|
||||
deep-clone-simple: 1.1.1
|
||||
deep-freeze: 0.0.1
|
||||
del: 7.0.0
|
||||
eslint: 8.43.0
|
||||
eslint: 8.44.0
|
||||
eslint-config-airbnb-base: 15.0.0
|
||||
eslint-config-airbnb-typescript: 17.0.0
|
||||
eslint-config-prettier: 8.8.0
|
||||
@ -9751,6 +9777,7 @@ __metadata:
|
||||
lit: 2.7.5
|
||||
lit-analyzer: 2.0.0-pre.3
|
||||
lodash.template: 4.5.0
|
||||
luxon: 3.3.0
|
||||
magic-string: 0.30.0
|
||||
map-stream: 0.0.7
|
||||
marked: 4.3.0
|
||||
@ -11629,6 +11656,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"luxon@npm:3.3.0":
|
||||
version: 3.3.0
|
||||
resolution: "luxon@npm:3.3.0"
|
||||
checksum: 50cf17a0dc155c3dcacbeae8c0b7e80db425e0ba97b9cbdf12a7fc142d841ff1ab1560919f033af46240ed44e2f70c49f76e3422524c7fc8bb8d81ca47c66187
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"magic-string@npm:0.30.0":
|
||||
version: 0.30.0
|
||||
resolution: "magic-string@npm:0.30.0"
|
||||
@ -12623,17 +12657,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"optionator@npm:^0.9.1":
|
||||
version: 0.9.1
|
||||
resolution: "optionator@npm:0.9.1"
|
||||
"optionator@npm:^0.9.3":
|
||||
version: 0.9.3
|
||||
resolution: "optionator@npm:0.9.3"
|
||||
dependencies:
|
||||
"@aashutoshrathi/word-wrap": ^1.2.3
|
||||
deep-is: ^0.1.3
|
||||
fast-levenshtein: ^2.0.6
|
||||
levn: ^0.4.1
|
||||
prelude-ls: ^1.2.1
|
||||
type-check: ^0.4.0
|
||||
word-wrap: ^1.2.3
|
||||
checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0
|
||||
checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -16328,13 +16362,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"word-wrap@npm:^1.2.3":
|
||||
version: 1.2.3
|
||||
resolution: "word-wrap@npm:1.2.3"
|
||||
checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"wordwrapjs@npm:^5.1.0":
|
||||
version: 5.1.0
|
||||
resolution: "wordwrapjs@npm:5.1.0"
|
||||
|
Loading…
x
Reference in New Issue
Block a user