New date picker (#11555)
This commit is contained in:
parent
9b97faa5e3
commit
45e6ec1ee2
|
@ -89,13 +89,13 @@
|
||||||
"@polymer/polymer": "3.4.1",
|
"@polymer/polymer": "3.4.1",
|
||||||
"@thomasloven/round-slider": "0.5.4",
|
"@thomasloven/round-slider": "0.5.4",
|
||||||
"@vaadin/combo-box": "^22.0.4",
|
"@vaadin/combo-box": "^22.0.4",
|
||||||
"@vaadin/date-picker": "^22.0.4",
|
|
||||||
"@vaadin/vaadin-themable-mixin": "^22.0.4",
|
"@vaadin/vaadin-themable-mixin": "^22.0.4",
|
||||||
"@vibrant/color": "^3.2.1-alpha.1",
|
"@vibrant/color": "^3.2.1-alpha.1",
|
||||||
"@vibrant/core": "^3.2.1-alpha.1",
|
"@vibrant/core": "^3.2.1-alpha.1",
|
||||||
"@vibrant/quantizer-mmcq": "^3.2.1-alpha.1",
|
"@vibrant/quantizer-mmcq": "^3.2.1-alpha.1",
|
||||||
"@vue/web-component-wrapper": "^1.2.0",
|
"@vue/web-component-wrapper": "^1.2.0",
|
||||||
"@webcomponents/webcomponentsjs": "^2.2.10",
|
"@webcomponents/webcomponentsjs": "^2.2.10",
|
||||||
|
"app-datepicker": "^5.0.1",
|
||||||
"chart.js": "^3.3.2",
|
"chart.js": "^3.3.2",
|
||||||
"comlink": "^4.3.1",
|
"comlink": "^4.3.1",
|
||||||
"core-js": "^3.15.2",
|
"core-js": "^3.15.2",
|
||||||
|
|
|
@ -1,135 +1,76 @@
|
||||||
import { mdiCalendar } from "@mdi/js";
|
import { mdiCalendar } from "@mdi/js";
|
||||||
import "@polymer/paper-input/paper-input";
|
import "@polymer/paper-input/paper-input";
|
||||||
import "@vaadin/date-picker/theme/material/vaadin-date-picker-light";
|
import { css, CSSResultGroup, html, LitElement } from "lit";
|
||||||
import { css, CSSResultGroup, html, LitElement, PropertyValues } from "lit";
|
import { customElement, property } from "lit/decorators";
|
||||||
import { customElement, property, query } from "lit/decorators";
|
import { formatDateNumeric } from "../common/datetime/format_date";
|
||||||
import { fireEvent } from "../common/dom/fire_event";
|
import { fireEvent } from "../common/dom/fire_event";
|
||||||
|
import { HomeAssistant } from "../types";
|
||||||
import "./ha-svg-icon";
|
import "./ha-svg-icon";
|
||||||
|
|
||||||
const i18n = {
|
const loadDatePickerDialog = () => import("./ha-dialog-date-picker");
|
||||||
monthNames: [
|
|
||||||
"January",
|
|
||||||
"February",
|
|
||||||
"March",
|
|
||||||
"April",
|
|
||||||
"May",
|
|
||||||
"June",
|
|
||||||
"July",
|
|
||||||
"August",
|
|
||||||
"September",
|
|
||||||
"October",
|
|
||||||
"November",
|
|
||||||
"December",
|
|
||||||
],
|
|
||||||
weekdays: [
|
|
||||||
"Sunday",
|
|
||||||
"Monday",
|
|
||||||
"Tuesday",
|
|
||||||
"Wednesday",
|
|
||||||
"Thursday",
|
|
||||||
"Friday",
|
|
||||||
"Saturday",
|
|
||||||
],
|
|
||||||
weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
||||||
firstDayOfWeek: 0,
|
|
||||||
week: "Week",
|
|
||||||
calendar: "Calendar",
|
|
||||||
clear: "Clear",
|
|
||||||
today: "Today",
|
|
||||||
cancel: "Cancel",
|
|
||||||
formatTitle: (monthName, fullYear) => monthName + " " + fullYear,
|
|
||||||
formatDate: (d: { day: number; month: number; year: number }) =>
|
|
||||||
[
|
|
||||||
("0000" + String(d.year)).slice(-4),
|
|
||||||
("0" + String(d.month + 1)).slice(-2),
|
|
||||||
("0" + String(d.day)).slice(-2),
|
|
||||||
].join("-"),
|
|
||||||
parseDate: (text: string) => {
|
|
||||||
const parts = text.split("-");
|
|
||||||
const today = new Date();
|
|
||||||
let date;
|
|
||||||
let month = today.getMonth();
|
|
||||||
let year = today.getFullYear();
|
|
||||||
if (parts.length === 3) {
|
|
||||||
year = parseInt(parts[0]);
|
|
||||||
if (parts[0].length < 3 && year >= 0) {
|
|
||||||
year += year < 50 ? 2000 : 1900;
|
|
||||||
}
|
|
||||||
month = parseInt(parts[1]) - 1;
|
|
||||||
date = parseInt(parts[2]);
|
|
||||||
} else if (parts.length === 2) {
|
|
||||||
month = parseInt(parts[0]) - 1;
|
|
||||||
date = parseInt(parts[1]);
|
|
||||||
} else if (parts.length === 1) {
|
|
||||||
date = parseInt(parts[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (date !== undefined) {
|
export interface datePickerDialogParams {
|
||||||
return { day: date, month, year };
|
value?: string;
|
||||||
}
|
min?: string;
|
||||||
return undefined;
|
max?: string;
|
||||||
},
|
locale?: string;
|
||||||
|
onChange: (value: string) => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
const showDatePickerDialog = (
|
||||||
|
element: HTMLElement,
|
||||||
|
dialogParams: datePickerDialogParams
|
||||||
|
): void => {
|
||||||
|
fireEvent(element, "show-dialog", {
|
||||||
|
dialogTag: "ha-dialog-date-picker",
|
||||||
|
dialogImport: loadDatePickerDialog,
|
||||||
|
dialogParams,
|
||||||
|
});
|
||||||
};
|
};
|
||||||
@customElement("ha-date-input")
|
@customElement("ha-date-input")
|
||||||
export class HaDateInput extends LitElement {
|
export class HaDateInput extends LitElement {
|
||||||
|
@property({ attribute: false }) public locale!: HomeAssistant["locale"];
|
||||||
|
|
||||||
@property() public value?: string;
|
@property() public value?: string;
|
||||||
|
|
||||||
@property({ type: Boolean }) public disabled = false;
|
@property({ type: Boolean }) public disabled = false;
|
||||||
|
|
||||||
@property() public label?: string;
|
@property() public label?: string;
|
||||||
|
|
||||||
@query("vaadin-date-picker-light", true) private _datePicker;
|
|
||||||
|
|
||||||
private _inited = false;
|
|
||||||
|
|
||||||
updated(changedProps: PropertyValues) {
|
|
||||||
if (changedProps.has("value")) {
|
|
||||||
this._datePicker.value = this.value;
|
|
||||||
this._inited = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return html`<vaadin-date-picker-light
|
return html`<paper-input
|
||||||
|
.label=${this.label}
|
||||||
.disabled=${this.disabled}
|
.disabled=${this.disabled}
|
||||||
@value-changed=${this._valueChanged}
|
no-label-float
|
||||||
attr-for-value="value"
|
@click=${this._openDialog}
|
||||||
.i18n=${i18n}
|
.value=${this.value
|
||||||
|
? formatDateNumeric(new Date(this.value), this.locale)
|
||||||
|
: ""}
|
||||||
>
|
>
|
||||||
<paper-input
|
<ha-svg-icon slot="suffix" .path=${mdiCalendar}></ha-svg-icon>
|
||||||
.label=${this.label}
|
</paper-input>`;
|
||||||
.disabled=${this.disabled}
|
|
||||||
no-label-float
|
|
||||||
>
|
|
||||||
<ha-svg-icon slot="suffix" .path=${mdiCalendar}></ha-svg-icon>
|
|
||||||
</paper-input>
|
|
||||||
</vaadin-date-picker-light>`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private _valueChanged(ev: CustomEvent) {
|
private _openDialog() {
|
||||||
if (
|
if (this.disabled) {
|
||||||
!this.value ||
|
return;
|
||||||
(this._inited && !this._compareStringDates(ev.detail.value, this.value))
|
}
|
||||||
) {
|
showDatePickerDialog(this, {
|
||||||
this.value = ev.detail.value;
|
min: "1970-01-01",
|
||||||
|
value: this.value,
|
||||||
|
onChange: (value) => this._valueChanged(value),
|
||||||
|
locale: this.locale.language,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private _valueChanged(value: string) {
|
||||||
|
if (this.value !== value) {
|
||||||
|
this.value = value;
|
||||||
fireEvent(this, "change");
|
fireEvent(this, "change");
|
||||||
fireEvent(this, "value-changed", { value: ev.detail.value });
|
fireEvent(this, "value-changed", { value });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private _compareStringDates(a: string, b: string): boolean {
|
|
||||||
const aParts = a.split("-");
|
|
||||||
const bParts = b.split("-");
|
|
||||||
let i = 0;
|
|
||||||
for (const aPart of aParts) {
|
|
||||||
if (Number(aPart) !== Number(bParts[i])) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static get styles(): CSSResultGroup {
|
static get styles(): CSSResultGroup {
|
||||||
return css`
|
return css`
|
||||||
paper-input {
|
paper-input {
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
import "@material/mwc-button/mwc-button";
|
||||||
|
import "app-datepicker";
|
||||||
|
import { css, html, LitElement } from "lit";
|
||||||
|
import { customElement, property, state } from "lit/decorators";
|
||||||
|
import { fireEvent } from "../common/dom/fire_event";
|
||||||
|
import { haStyleDialog } from "../resources/styles";
|
||||||
|
import { datePickerDialogParams } from "./ha-date-input";
|
||||||
|
import "./ha-dialog";
|
||||||
|
|
||||||
|
@customElement("ha-dialog-date-picker")
|
||||||
|
export class HaDialogDatePicker extends LitElement {
|
||||||
|
@property() public value?: string;
|
||||||
|
|
||||||
|
@property({ type: Boolean }) public disabled = false;
|
||||||
|
|
||||||
|
@property() public label?: string;
|
||||||
|
|
||||||
|
@state() private _params?: datePickerDialogParams;
|
||||||
|
|
||||||
|
@state() private _value?: string;
|
||||||
|
|
||||||
|
public showDialog(params: datePickerDialogParams): void {
|
||||||
|
this._params = params;
|
||||||
|
this._value = params.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public closeDialog() {
|
||||||
|
this._params = undefined;
|
||||||
|
fireEvent(this, "dialog-closed", { dialog: this.localName });
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
if (!this._params) {
|
||||||
|
return html``;
|
||||||
|
}
|
||||||
|
return html`<ha-dialog open @closed=${this.closeDialog}>
|
||||||
|
<app-datepicker
|
||||||
|
.value=${this._value}
|
||||||
|
.min=${this._params.min}
|
||||||
|
.max=${this._params.max}
|
||||||
|
.locale=${this._params.locale}
|
||||||
|
@datepicker-value-updated=${this._valueChanged}
|
||||||
|
></app-datepicker>
|
||||||
|
<mwc-button slot="secondaryAction" @click=${this._setToday}
|
||||||
|
>today</mwc-button
|
||||||
|
>
|
||||||
|
<mwc-button slot="primaryAction" dialogaction="cancel" class="cancel-btn">
|
||||||
|
cancel
|
||||||
|
</mwc-button>
|
||||||
|
<mwc-button slot="primaryAction" @click=${this._setValue}>ok</mwc-button>
|
||||||
|
</ha-dialog>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
private _valueChanged(ev: CustomEvent) {
|
||||||
|
this._value = ev.detail.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private _setToday() {
|
||||||
|
this._value = new Date().toISOString().split("T")[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
private _setValue() {
|
||||||
|
this._params?.onChange(this._value!);
|
||||||
|
this.closeDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
static styles = [
|
||||||
|
haStyleDialog,
|
||||||
|
css`
|
||||||
|
ha-dialog {
|
||||||
|
--dialog-content-padding: 0;
|
||||||
|
--justify-action-buttons: space-between;
|
||||||
|
}
|
||||||
|
app-datepicker {
|
||||||
|
--app-datepicker-accent-color: var(--primary-color);
|
||||||
|
--app-datepicker-bg-color: transparent;
|
||||||
|
--app-datepicker-color: var(--primary-text-color);
|
||||||
|
--app-datepicker-disabled-day-color: var(--disabled-text-color);
|
||||||
|
--app-datepicker-focused-day-color: var(--text-primary-color);
|
||||||
|
--app-datepicker-focused-year-bg-color: var(--primary-color);
|
||||||
|
--app-datepicker-selector-color: var(--secondary-text-color);
|
||||||
|
--app-datepicker-separator-color: var(--divider-color);
|
||||||
|
--app-datepicker-weekday-color: var(--secondary-text-color);
|
||||||
|
}
|
||||||
|
app-datepicker::part(calendar-day):focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
@media all and (min-width: 450px) {
|
||||||
|
ha-dialog {
|
||||||
|
--mdc-dialog-min-width: 300px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media all and (max-width: 450px), all and (max-height: 500px) {
|
||||||
|
app-datepicker {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
declare global {
|
||||||
|
interface HTMLElementTagNameMap {
|
||||||
|
"ha-dialog-date-picker": HaDialogDatePicker;
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,6 +23,7 @@ class MoreInfoInputDatetime extends LitElement {
|
||||||
this.stateObj.attributes.has_date
|
this.stateObj.attributes.has_date
|
||||||
? html`
|
? html`
|
||||||
<ha-date-input
|
<ha-date-input
|
||||||
|
.locale=${this.hass.locale}
|
||||||
.value=${`${this.stateObj.attributes.year}-${this.stateObj.attributes.month}-${this.stateObj.attributes.day}`}
|
.value=${`${this.stateObj.attributes.year}-${this.stateObj.attributes.month}-${this.stateObj.attributes.day}`}
|
||||||
.disabled=${UNAVAILABLE_STATES.includes(this.stateObj.state)}
|
.disabled=${UNAVAILABLE_STATES.includes(this.stateObj.state)}
|
||||||
@value-changed=${this._dateChanged}
|
@value-changed=${this._dateChanged}
|
||||||
|
|
|
@ -54,6 +54,7 @@ class HuiInputDatetimeEntityRow extends LitElement implements LovelaceRow {
|
||||||
${stateObj.attributes.has_date
|
${stateObj.attributes.has_date
|
||||||
? html`
|
? html`
|
||||||
<ha-date-input
|
<ha-date-input
|
||||||
|
.locale=${this.hass.locale}
|
||||||
.disabled=${UNAVAILABLE_STATES.includes(stateObj.state)}
|
.disabled=${UNAVAILABLE_STATES.includes(stateObj.state)}
|
||||||
.value=${`${stateObj.attributes.year}-${stateObj.attributes.month}-${stateObj.attributes.day}`}
|
.value=${`${stateObj.attributes.year}-${stateObj.attributes.month}-${stateObj.attributes.day}`}
|
||||||
@value-changed=${this._dateChanged}
|
@value-changed=${this._dateChanged}
|
||||||
|
|
124
yarn.lock
124
yarn.lock
|
@ -3101,7 +3101,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@polymer/iron-a11y-announcer@npm:^3.0.0, @polymer/iron-a11y-announcer@npm:^3.0.0-pre.26":
|
"@polymer/iron-a11y-announcer@npm:^3.0.0-pre.26":
|
||||||
version: 3.0.2
|
version: 3.0.2
|
||||||
resolution: "@polymer/iron-a11y-announcer@npm:3.0.2"
|
resolution: "@polymer/iron-a11y-announcer@npm:3.0.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -3223,7 +3223,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@polymer/iron-media-query@npm:^3.0.0, @polymer/iron-media-query@npm:^3.0.0-pre.26":
|
"@polymer/iron-media-query@npm:^3.0.0-pre.26":
|
||||||
version: 3.0.1
|
version: 3.0.1
|
||||||
resolution: "@polymer/iron-media-query@npm:3.0.1"
|
resolution: "@polymer/iron-media-query@npm:3.0.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -3527,6 +3527,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@reallyland/esm@npm:^0.0.1":
|
||||||
|
version: 0.0.1
|
||||||
|
resolution: "@reallyland/esm@npm:0.0.1"
|
||||||
|
checksum: 08ba000c1c6970a15f06649b33861e775bfd0aef41b76e4d58430580ddf1fbc35a00637fbd14a8ecdfa06069d96bc29331b60b1aaeb77b233de8463f4aa4c885
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@rollup/plugin-babel@npm:^5.2.0, @rollup/plugin-babel@npm:^5.2.1":
|
"@rollup/plugin-babel@npm:^5.2.0, @rollup/plugin-babel@npm:^5.2.1":
|
||||||
version: 5.3.0
|
version: 5.3.0
|
||||||
resolution: "@rollup/plugin-babel@npm:5.3.0"
|
resolution: "@rollup/plugin-babel@npm:5.3.0"
|
||||||
|
@ -3979,6 +3986,22 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/lodash-es@npm:^4.17.4":
|
||||||
|
version: 4.17.5
|
||||||
|
resolution: "@types/lodash-es@npm:4.17.5"
|
||||||
|
dependencies:
|
||||||
|
"@types/lodash": "*"
|
||||||
|
checksum: 8910f646310aa008bb45071619fe85abf917bbc2c7cc0af883a971de261723247695a58dd966bfa9defd946cef79811d8b075eb6f0af12343080ab0ae6614e12
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/lodash@npm:*":
|
||||||
|
version: 4.14.178
|
||||||
|
resolution: "@types/lodash@npm:4.14.178"
|
||||||
|
checksum: a69a04a60bfc5257c3130a554b4efa0c383f0141b7b3db8ab7cf07ad2a46ea085fce66d0242da41da7e5647b133d5dfb2c15add9cbed8d7fef955e4a1e5b3128
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@types/marked@npm:^2":
|
"@types/marked@npm:^2":
|
||||||
version: 2.0.5
|
version: 2.0.5
|
||||||
resolution: "@types/marked@npm:2.0.5"
|
resolution: "@types/marked@npm:2.0.5"
|
||||||
|
@ -4035,6 +4058,20 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/parse5@npm:^6.0.0":
|
||||||
|
version: 6.0.3
|
||||||
|
resolution: "@types/parse5@npm:6.0.3"
|
||||||
|
checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/prismjs@npm:^1.16.5":
|
||||||
|
version: 1.26.0
|
||||||
|
resolution: "@types/prismjs@npm:1.26.0"
|
||||||
|
checksum: cd5e7a6214c1f4213ec512a5fcf6d8fe37a56b813fc57ac95b5ff5ee074742bfdbd2f2730d9fd985205bf4586728e09baa97023f739e5aa1c9735a7c1ecbd11a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@types/qrcode@npm:^1.4.2":
|
"@types/qrcode@npm:^1.4.2":
|
||||||
version: 1.4.2
|
version: 1.4.2
|
||||||
resolution: "@types/qrcode@npm:1.4.2"
|
resolution: "@types/qrcode@npm:1.4.2"
|
||||||
|
@ -4230,19 +4267,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@vaadin/button@npm:^22.0.4":
|
|
||||||
version: 22.0.4
|
|
||||||
resolution: "@vaadin/button@npm:22.0.4"
|
|
||||||
dependencies:
|
|
||||||
"@polymer/polymer": ^3.0.0
|
|
||||||
"@vaadin/component-base": ^22.0.4
|
|
||||||
"@vaadin/vaadin-lumo-styles": ^22.0.4
|
|
||||||
"@vaadin/vaadin-material-styles": ^22.0.4
|
|
||||||
"@vaadin/vaadin-themable-mixin": ^22.0.4
|
|
||||||
checksum: 70f8eeddd7c8d19eb859f2dd5f848e9b6b83f1f4bc8cb3d1fdc613f0637df9c04f0f91e49d23c4d390ce4ffa8a301ea77c364c29de278e8c32e5e7ccbcaf8f67
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@vaadin/combo-box@npm:^22.0.4":
|
"@vaadin/combo-box@npm:^22.0.4":
|
||||||
version: 22.0.4
|
version: 22.0.4
|
||||||
resolution: "@vaadin/combo-box@npm:22.0.4"
|
resolution: "@vaadin/combo-box@npm:22.0.4"
|
||||||
|
@ -4275,26 +4299,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@vaadin/date-picker@npm:^22.0.4":
|
|
||||||
version: 22.0.4
|
|
||||||
resolution: "@vaadin/date-picker@npm:22.0.4"
|
|
||||||
dependencies:
|
|
||||||
"@open-wc/dedupe-mixin": ^1.3.0
|
|
||||||
"@polymer/iron-a11y-announcer": ^3.0.0
|
|
||||||
"@polymer/iron-media-query": ^3.0.0
|
|
||||||
"@polymer/polymer": ^3.2.0
|
|
||||||
"@vaadin/button": ^22.0.4
|
|
||||||
"@vaadin/component-base": ^22.0.4
|
|
||||||
"@vaadin/field-base": ^22.0.4
|
|
||||||
"@vaadin/input-container": ^22.0.4
|
|
||||||
"@vaadin/vaadin-lumo-styles": ^22.0.4
|
|
||||||
"@vaadin/vaadin-material-styles": ^22.0.4
|
|
||||||
"@vaadin/vaadin-overlay": ^22.0.4
|
|
||||||
"@vaadin/vaadin-themable-mixin": ^22.0.4
|
|
||||||
checksum: bfc0bc3a9bec920d7a0b0d2b3968f6c5ca17cea752f37b7d707e8912b8c35e2780b1a78d4cdca1094519cb70554f95ee5ab69f212c677482935a7a4fc3b42a43
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@vaadin/field-base@npm:^22.0.4":
|
"@vaadin/field-base@npm:^22.0.4":
|
||||||
version: 22.0.4
|
version: 22.0.4
|
||||||
resolution: "@vaadin/field-base@npm:22.0.4"
|
resolution: "@vaadin/field-base@npm:22.0.4"
|
||||||
|
@ -5125,6 +5129,18 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"app-datepicker@npm:^5.0.1":
|
||||||
|
version: 5.0.1
|
||||||
|
resolution: "app-datepicker@npm:5.0.1"
|
||||||
|
dependencies:
|
||||||
|
"@material/mwc-button": ^0.25.3
|
||||||
|
lit: ^2.0.2
|
||||||
|
nodemod: 2.8.4
|
||||||
|
tslib: ^2.3.0
|
||||||
|
checksum: 619b6e725aca8a89a4ed28bd2390ad8e1c5a8da075928947d270e3dd5df98f6082fdf7ca1190d382d3ad73bacabcd048af21c8579e8f40c0032eba74a2e8c667
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"append-buffer@npm:^1.0.2":
|
"append-buffer@npm:^1.0.2":
|
||||||
version: 1.0.2
|
version: 1.0.2
|
||||||
resolution: "append-buffer@npm:1.0.2"
|
resolution: "append-buffer@npm:1.0.2"
|
||||||
|
@ -9158,7 +9174,6 @@ fsevents@^1.2.7:
|
||||||
"@typescript-eslint/eslint-plugin": ^4.32.0
|
"@typescript-eslint/eslint-plugin": ^4.32.0
|
||||||
"@typescript-eslint/parser": ^4.32.0
|
"@typescript-eslint/parser": ^4.32.0
|
||||||
"@vaadin/combo-box": ^22.0.4
|
"@vaadin/combo-box": ^22.0.4
|
||||||
"@vaadin/date-picker": ^22.0.4
|
|
||||||
"@vaadin/vaadin-themable-mixin": ^22.0.4
|
"@vaadin/vaadin-themable-mixin": ^22.0.4
|
||||||
"@vibrant/color": ^3.2.1-alpha.1
|
"@vibrant/color": ^3.2.1-alpha.1
|
||||||
"@vibrant/core": ^3.2.1-alpha.1
|
"@vibrant/core": ^3.2.1-alpha.1
|
||||||
|
@ -9167,6 +9182,7 @@ fsevents@^1.2.7:
|
||||||
"@web/dev-server": ^0.0.24
|
"@web/dev-server": ^0.0.24
|
||||||
"@web/dev-server-rollup": ^0.2.11
|
"@web/dev-server-rollup": ^0.2.11
|
||||||
"@webcomponents/webcomponentsjs": ^2.2.10
|
"@webcomponents/webcomponentsjs": ^2.2.10
|
||||||
|
app-datepicker: ^5.0.1
|
||||||
babel-loader: ^8.2.2
|
babel-loader: ^8.2.2
|
||||||
chai: ^4.3.4
|
chai: ^4.3.4
|
||||||
chart.js: ^3.3.2
|
chart.js: ^3.3.2
|
||||||
|
@ -10818,6 +10834,17 @@ fsevents@^1.2.7:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"lit-ntml@npm:^2.18.2":
|
||||||
|
version: 2.20.0
|
||||||
|
resolution: "lit-ntml@npm:2.20.0"
|
||||||
|
dependencies:
|
||||||
|
"@reallyland/esm": ^0.0.1
|
||||||
|
parse5: ^6.0.1
|
||||||
|
tslib: ^2.0.2
|
||||||
|
checksum: 49d59ff05959ed725799c69691aa81d759426900150f91edd17debb1cd05ace1ac766172d80b196610e1f1b7b87215cccd9ba13e93638e4f75afeab87303471c
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"lit-vaadin-helpers@npm:^0.3.0":
|
"lit-vaadin-helpers@npm:^0.3.0":
|
||||||
version: 0.3.0
|
version: 0.3.0
|
||||||
resolution: "lit-vaadin-helpers@npm:0.3.0"
|
resolution: "lit-vaadin-helpers@npm:0.3.0"
|
||||||
|
@ -11961,6 +11988,20 @@ fsevents@^1.2.7:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"nodemod@npm:2.8.4":
|
||||||
|
version: 2.8.4
|
||||||
|
resolution: "nodemod@npm:2.8.4"
|
||||||
|
dependencies:
|
||||||
|
"@types/lodash-es": ^4.17.4
|
||||||
|
"@types/parse5": ^6.0.0
|
||||||
|
"@types/prismjs": ^1.16.5
|
||||||
|
lit-ntml: ^2.18.2
|
||||||
|
normalize-diacritics: ^2.13.2
|
||||||
|
tslib: ^2.1.0
|
||||||
|
checksum: 6dbf61aeca7d1c58d8e122a0801179daccdbd23a0ded0b602cc94c1a20bf664d08b817c57b7489af4193b3b044505bb7c849491eea5eea9248fa65e16b217da0
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"nopt@npm:^4.0.1":
|
"nopt@npm:^4.0.1":
|
||||||
version: 4.0.1
|
version: 4.0.1
|
||||||
resolution: "nopt@npm:4.0.1"
|
resolution: "nopt@npm:4.0.1"
|
||||||
|
@ -11984,6 +12025,15 @@ fsevents@^1.2.7:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"normalize-diacritics@npm:^2.13.2":
|
||||||
|
version: 2.14.0
|
||||||
|
resolution: "normalize-diacritics@npm:2.14.0"
|
||||||
|
dependencies:
|
||||||
|
tslib: ^2.1.0
|
||||||
|
checksum: f29169bebce5227ac270545fde176db2d52890fb0caa8c394454dbd8553c7f4e3c09a5535e9ee6b139c558ccabbdf1e08bb153ded69cfc58f2f9e472f48703c3
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.3.4":
|
"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.3.4":
|
||||||
version: 2.5.0
|
version: 2.5.0
|
||||||
resolution: "normalize-package-data@npm:2.5.0"
|
resolution: "normalize-package-data@npm:2.5.0"
|
||||||
|
@ -15227,7 +15277,7 @@ fsevents@^1.2.7:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.2.0":
|
"tslib@npm:^2.0.1, tslib@npm:^2.0.2, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0":
|
||||||
version: 2.3.1
|
version: 2.3.1
|
||||||
resolution: "tslib@npm:2.3.1"
|
resolution: "tslib@npm:2.3.1"
|
||||||
checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9
|
checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9
|
||||||
|
|
Loading…
Reference in New Issue