diff --git a/.eslintrc.json b/.eslintrc.json index 53eb3741905d..462c7a4e2b6b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -18,10 +18,6 @@ "project": "./tsconfig.json" }, "settings": { - "react": { - "pragma": "h", - "version": "15.0" - }, "import/resolver": { "webpack": { "config": "./webpack.config.js" @@ -88,13 +84,6 @@ "@typescript-eslint/no-unused-vars": 0, "@typescript-eslint/explicit-function-return-type": 0 }, - "plugins": [ - "disable", - "import", - "react", - "lit", - "prettier", - "@typescript-eslint" - ], + "plugins": ["disable", "import", "lit", "prettier", "@typescript-eslint"], "processor": "disable/disable" } diff --git a/build-scripts/babel.js b/build-scripts/babel.js index d6324be46485..b0d2ad5425d6 100644 --- a/build-scripts/babel.js +++ b/build-scripts/babel.js @@ -27,12 +27,6 @@ module.exports.babelLoaderConfig = ({ latestBuild }) => { ], // Only support the syntax, Webpack will handle it. "@babel/syntax-dynamic-import", - [ - "@babel/transform-react-jsx", - { - pragma: "h", - }, - ], "@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-nullish-coalescing-operator", [ diff --git a/build-scripts/gulp/gather-static.js b/build-scripts/gulp/gather-static.js index 179d898775d0..7dc4e194434e 100644 --- a/build-scripts/gulp/gather-static.js +++ b/build-scripts/gulp/gather-static.js @@ -80,7 +80,6 @@ gulp.task("copy-translations", (done) => { gulp.task("copy-static", (done) => { const staticDir = paths.static; - const staticPath = genStaticPath(paths.static); // Basic static files fs.copySync(polyPath("public"), paths.root); @@ -90,10 +89,6 @@ gulp.task("copy-static", (done) => { copyMdiIcons(staticDir); // Panel assets - copyFileDir( - npmPath("react-big-calendar/lib/css/react-big-calendar.css"), - staticPath("panels/calendar/") - ); copyMapPanel(staticDir); done(); }); diff --git a/build-scripts/webpack.js b/build-scripts/webpack.js index 1bcefa1b5898..3fefd3ed0550 100644 --- a/build-scripts/webpack.js +++ b/build-scripts/webpack.js @@ -100,14 +100,6 @@ const createWebpackConfig = ({ ].filter(Boolean), resolve: { extensions: [".ts", ".js", ".json"], - alias: { - react: "preact-compat", - "react-dom": "preact-compat", - // Not necessary unless you consume a module using `createClass` - "create-react-class": "preact-compat/lib/create-react-class", - // Not necessary unless you consume a module requiring `react-dom-factories` - "react-dom-factories": "preact-compat/lib/react-dom-factories", - }, }, output: { filename: ({ chunk }) => { diff --git a/package.json b/package.json index 34b6a2294caf..0b6f8d176fd1 100644 --- a/package.json +++ b/package.json @@ -24,14 +24,19 @@ "author": "Paulus Schoutsen (http://paulusschoutsen.nl)", "license": "Apache-2.0", "dependencies": { - "@material/chips": "^5.0.0", - "@material/mwc-button": "^0.13.0", - "@material/mwc-checkbox": "^0.13.0", - "@material/mwc-dialog": "^0.13.0", - "@material/mwc-fab": "^0.13.0", - "@material/mwc-icon-button": "^0.13.0", - "@material/mwc-ripple": "^0.13.0", - "@material/mwc-switch": "^0.13.0", + "@fullcalendar/core": "5.0.0-beta.2", + "@fullcalendar/daygrid": "5.0.0-beta.2", + "@material/chips": "^6.0.0-canary.35a32aaea.0", + "@material/mwc-button": "0.14.1", + "@material/mwc-checkbox": "0.14.1", + "@material/mwc-dialog": "0.14.1", + "@material/mwc-fab": "0.14.1", + "@material/mwc-formfield": "0.14.1", + "@material/mwc-icon-button": "0.14.1", + "@material/mwc-list": "0.14.1", + "@material/mwc-menu": "0.14.1", + "@material/mwc-ripple": "0.14.1", + "@material/mwc-switch": "0.14.1", "@mdi/js": "4.9.95", "@mdi/svg": "4.9.95", "@polymer/app-layout": "^3.0.2", @@ -102,9 +107,6 @@ "memoize-one": "^5.0.2", "moment": "^2.24.0", "node-vibrant": "^3.1.5", - "preact": "^8.4.2", - "preact-compat": "^3.18.4", - "react-big-calendar": "^0.20.4", "regenerator-runtime": "^0.13.2", "resize-observer": "^1.0.0", "roboto-fontface": "^0.10.0", @@ -123,7 +125,6 @@ "@babel/plugin-proposal-object-rest-spread": "^7.9.5", "@babel/plugin-proposal-optional-chaining": "^7.9.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-react-jsx": "^7.9.4", "@babel/preset-env": "^7.9.5", "@babel/preset-typescript": "^7.9.0", "@types/chai": "^4.1.7", @@ -151,7 +152,6 @@ "eslint-plugin-import": "^2.20.2", "eslint-plugin-lit": "^1.2.0", "eslint-plugin-prettier": "^3.1.3", - "eslint-plugin-react": "^7.19.0", "eslint-plugin-wc": "^1.2.0", "fs-extra": "^7.0.1", "gulp": "^4.0.0", @@ -198,17 +198,19 @@ "@webcomponents/webcomponentsjs": "^2.2.10", "@polymer/polymer": "3.1.0", "lit-html": "^1.1.2", - "@material/button": "^5.0.0", - "@material/checkbox": "^5.0.0", - "@material/density": "^5.0.0", - "@material/dialog": "^5.0.0", - "@material/fab": "^5.0.0", - "@material/feature-targeting": "^5.0.0", - "@material/switch": "^5.0.0", - "@material/ripple": "^5.0.0", - "@material/dom": "^5.0.0", - "@material/touch-target": "^5.0.0", - "@material/theme": "^5.0.0" + "@material/animation": "6.0.0", + "@material/base": "6.0.0", + "@material/checkbox": "6.0.0", + "@material/density": "6.0.0", + "@material/dom": "6.0.0", + "@material/elevation": "6.0.0", + "@material/feature-targeting": "6.0.0", + "@material/ripple": "6.0.0", + "@material/rtl": "6.0.0", + "@material/shape": "6.0.0", + "@material/theme": "6.0.0", + "@material/touch-target": "6.0.0", + "@material/typography": "6.0.0" }, "main": "src/home-assistant.js", "husky": { diff --git a/src/common/const.ts b/src/common/const.ts index a17ecd29da71..503e866c4e4d 100644 --- a/src/common/const.ts +++ b/src/common/const.ts @@ -87,3 +87,66 @@ export const UNIT_F = "°F"; /** Entity ID of the default view. */ export const DEFAULT_VIEW_ENTITY_ID = "group.default_view"; + +/** HA Color Pallete. */ +export const HA_COLOR_PALETTE = [ + "ff0029", + "66a61e", + "377eb8", + "984ea3", + "00d2d5", + "ff7f00", + "af8d00", + "7f80cd", + "b3e900", + "c42e60", + "a65628", + "f781bf", + "8dd3c7", + "bebada", + "fb8072", + "80b1d3", + "fdb462", + "fccde5", + "bc80bd", + "ffed6f", + "c4eaff", + "cf8c00", + "1b9e77", + "d95f02", + "e7298a", + "e6ab02", + "a6761d", + "0097ff", + "00d067", + "f43600", + "4ba93b", + "5779bb", + "927acc", + "97ee3f", + "bf3947", + "9f5b00", + "f48758", + "8caed6", + "f2b94f", + "eff26e", + "e43872", + "d9b100", + "9d7a00", + "698cff", + "d9d9d9", + "00d27e", + "d06800", + "009f82", + "c49200", + "cbe8ff", + "fecddf", + "c27eb6", + "8cd2ce", + "c4b8d9", + "f883b0", + "a49100", + "f48800", + "27d0df", + "a04a9b", +]; diff --git a/src/components/ha-button-menu.ts b/src/components/ha-button-menu.ts new file mode 100644 index 000000000000..0418380631c0 --- /dev/null +++ b/src/components/ha-button-menu.ts @@ -0,0 +1,55 @@ +import { + customElement, + html, + TemplateResult, + LitElement, + CSSResult, + css, + query, +} from "lit-element"; +import "@material/mwc-button"; +import "@material/mwc-menu"; +import "@material/mwc-list/mwc-list-item"; +import type { Menu } from "@material/mwc-menu"; + +import { haStyle } from "../resources/styles"; + +import "./ha-icon-button"; + +@customElement("ha-button-menu") +export class HaButtonMenu extends LitElement { + @query("mwc-menu") private _menu?: Menu; + + protected render(): TemplateResult { + return html` +
+ +
+ + + + `; + } + + private _handleClick(): void { + this._menu!.anchor = this; + this._menu!.show(); + } + + static get styles(): CSSResult[] { + return [ + haStyle, + css` + :host { + position: relative; + } + `, + ]; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-button-menu": HaButtonMenu; + } +} diff --git a/src/components/ha-button-toggle-group.ts b/src/components/ha-button-toggle-group.ts new file mode 100644 index 000000000000..a9ea9724929f --- /dev/null +++ b/src/components/ha-button-toggle-group.ts @@ -0,0 +1,86 @@ +import { + customElement, + html, + TemplateResult, + property, + LitElement, + CSSResult, + css, +} from "lit-element"; + +import "./ha-icon-button"; + +import { fireEvent } from "../common/dom/fire_event"; +import type { ToggleButton } from "../types"; + +@customElement("ha-button-toggle-group") +export class HaButtonToggleGroup extends LitElement { + @property() public buttons!: ToggleButton[]; + + @property() public active?: string; + + protected render(): TemplateResult { + return html` +
+ ${this.buttons.map( + (button) => html` + ` + )} +
+ `; + } + + private _handleClick(ev): void { + this.active = ev.target.value; + fireEvent(this, "value-changed", { value: this.active }); + } + + static get styles(): CSSResult { + return css` + div { + display: flex; + --mdc-icon-button-size: var(--button-toggle-size, 36px); + --mdc-icon-size: var(--button-toggle-icon-size, 20px); + } + ha-icon-button { + border: 1px solid var(--primary-color); + border-right-width: 0px; + position: relative; + } + ha-icon-button::before { + top: 0; + left: 0; + width: 100%; + height: 100%; + position: absolute; + background-color: currentColor; + opacity: 0; + pointer-events: none; + content: ""; + transition: opacity 15ms linear, background-color 15ms linear; + } + ha-icon-button[active]::before { + opacity: var(--mdc-icon-button-ripple-opacity, 0.12); + } + ha-icon-button:first-child { + border-radius: 4px 0 0 4px; + } + ha-icon-button:last-child { + border-radius: 0 4px 4px 0; + border-right-width: 1px; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-button-toggle-button": HaButtonToggleGroup; + } +} diff --git a/src/components/ha-icon-button.ts b/src/components/ha-icon-button.ts index d1e9d46979cb..d28f9a8c8477 100644 --- a/src/components/ha-icon-button.ts +++ b/src/components/ha-icon-button.ts @@ -42,8 +42,7 @@ export class HaIconButton extends LitElement { display: inline-block; } ha-icon { - display: inline-flex; - vertical-align: initial; + --ha-icon-display: inline; } `; } diff --git a/src/components/ha-icon.ts b/src/components/ha-icon.ts index 7d4b31d1e043..8a2cb776a683 100644 --- a/src/components/ha-icon.ts +++ b/src/components/ha-icon.ts @@ -116,11 +116,6 @@ export class HaIcon extends LitElement { static get styles(): CSSResult { return css` :host { - display: inline-flex; - align-items: center; - justify-content: center; - position: relative; - vertical-align: middle; fill: currentcolor; } `; diff --git a/src/components/ha-svg-icon.ts b/src/components/ha-svg-icon.ts index 17bf12c0f440..07b0b66cca2f 100644 --- a/src/components/ha-svg-icon.ts +++ b/src/components/ha-svg-icon.ts @@ -27,7 +27,7 @@ export class HaSvgIcon extends LitElement { static get styles(): CSSResult { return css` :host { - display: inline-flex; + display: var(--ha-icon-display, inline-flex); align-items: center; justify-content: center; position: relative; diff --git a/src/data/calendar.ts b/src/data/calendar.ts new file mode 100644 index 000000000000..a3ed45f89c91 --- /dev/null +++ b/src/data/calendar.ts @@ -0,0 +1,80 @@ +import type { HomeAssistant, Calendar, CalendarEvent } from "../types"; +import { computeDomain } from "../common/entity/compute_domain"; +import { HA_COLOR_PALETTE } from "../common/const"; +import { computeStateName } from "../common/entity/compute_state_name"; + +export const fetchCalendarEvents = async ( + hass: HomeAssistant, + start: Date, + end: Date, + calendars: Calendar[] +): Promise => { + const params = encodeURI( + `?start=${start.toISOString()}&end=${end.toISOString()}` + ); + + const calEvents: CalendarEvent[] = []; + const promises: Promise[] = []; + + calendars.forEach((cal) => { + promises.push( + hass.callApi( + "GET", + `calendars/${cal.entity_id}${params}` + ) + ); + }); + + const results = await Promise.all(promises); + + results.forEach((result, idx) => { + const cal = calendars[idx]; + result.forEach((ev) => { + const eventStart = getCalendarDate(ev.start); + if (!eventStart) { + return; + } + const eventEnd = getCalendarDate(ev.end); + const event: CalendarEvent = { + start: eventStart, + end: eventEnd, + title: ev.summary, + summary: ev.summary, + backgroundColor: cal.backgroundColor, + borderColor: cal.backgroundColor, + calendar: cal.entity_id, + }; + + calEvents.push(event); + }); + }); + + return calEvents; +}; + +const getCalendarDate = (dateObj: any): string | undefined => { + if (typeof dateObj === "string") { + return dateObj; + } + + if (dateObj.dateTime) { + return dateObj.dateTime; + } + + if (dateObj.date) { + return dateObj.date; + } + + return undefined; +}; + +export const getCalendars = (hass: HomeAssistant): Calendar[] => { + return Object.keys(hass.states) + .filter((eid) => computeDomain(eid) === "calendar") + .sort() + .map((eid, idx) => ({ + entity_id: eid, + name: computeStateName(hass.states[eid]), + backgroundColor: `#${HA_COLOR_PALETTE[idx % HA_COLOR_PALETTE.length]}`, + })); +}; diff --git a/src/panels/calendar/ha-big-calendar.js b/src/panels/calendar/ha-big-calendar.js deleted file mode 100644 index cff20e98b691..000000000000 --- a/src/panels/calendar/ha-big-calendar.js +++ /dev/null @@ -1,69 +0,0 @@ -import { html } from "@polymer/polymer/lib/utils/html-tag"; -/* eslint-plugin-disable lit */ -import { PolymerElement } from "@polymer/polymer/polymer-element"; -import moment from "moment"; -// eslint-disable-next-line import/no-duplicates,import/no-extraneous-dependencies -import React from "react"; -import BigCalendar from "react-big-calendar"; -// eslint-disable-next-line import/no-duplicates,import/no-extraneous-dependencies -import { render } from "react-dom"; -import { EventsMixin } from "../../mixins/events-mixin"; -import "../../resources/ha-style"; - -BigCalendar.setLocalizer(BigCalendar.momentLocalizer(moment)); - -const DEFAULT_VIEW = "month"; - -class HaBigCalendar extends EventsMixin(PolymerElement) { - static get template() { - return html` - - -
- `; - } - - static get properties() { - return { - events: { - type: Array, - observer: "_update", - }, - }; - } - - _update(events) { - const allViews = BigCalendar.Views.values; - - const BCElement = React.createElement(BigCalendar, { - events: events, - views: allViews, - popup: true, - onNavigate: (date, viewName) => this.fire("navigate", { date, viewName }), - onView: (viewName) => this.fire("view-changed", { viewName }), - eventPropGetter: this._setEventStyle, - defaultView: DEFAULT_VIEW, - defaultDate: new Date(), - }); - render(BCElement, this.$.root); - } - - _setEventStyle(event) { - // https://stackoverflow.com/questions/34587067/change-color-of-react-big-calendar-events - const newStyle = {}; - if (event.color) { - newStyle.backgroundColor = event.color; - } - return { style: newStyle }; - } -} - -customElements.define("ha-big-calendar", HaBigCalendar); diff --git a/src/panels/calendar/ha-full-calendar.ts b/src/panels/calendar/ha-full-calendar.ts new file mode 100644 index 000000000000..0b3bd9987182 --- /dev/null +++ b/src/panels/calendar/ha-full-calendar.ts @@ -0,0 +1,331 @@ +import { + property, + PropertyValues, + LitElement, + CSSResult, + html, + css, + unsafeCSS, + TemplateResult, +} from "lit-element"; +import { Calendar } from "@fullcalendar/core"; +import dayGridPlugin from "@fullcalendar/daygrid"; +// @ts-ignore +import fullcalendarStyle from "@fullcalendar/core/main.css"; +// @ts-ignore +import daygridStyle from "@fullcalendar/daygrid/main.css"; +import "@material/mwc-button"; + +import "../../components/ha-icon-button"; +import "../../components/ha-button-toggle-group"; + +import type { + CalendarViewChanged, + CalendarEvent, + ToggleButton, + HomeAssistant, +} from "../../types"; +import { fireEvent } from "../../common/dom/fire_event"; +import { haStyle } from "../../resources/styles"; + +declare global { + interface HASSDomEvents { + "view-changed": CalendarViewChanged; + } +} + +const fullCalendarConfig = { + headerToolbar: false, + plugins: [dayGridPlugin], + initialView: "dayGridMonth", + dayMaxEventRows: true, + height: "parent", +}; + +const viewButtons: ToggleButton[] = [ + { label: "Month View", value: "dayGridMonth", icon: "hass:view-module" }, + { label: "Week View", value: "dayGridWeek", icon: "hass:view-week" }, + { label: "Day View", value: "dayGridDay", icon: "hass:view-day" }, +]; + +class HAFullCalendar extends LitElement { + public hass!: HomeAssistant; + + @property() public events: CalendarEvent[] = []; + + @property({ type: Boolean, reflect: true }) + public narrow!: boolean; + + @property() private calendar?: Calendar; + + @property() private _activeView = "dayGridMonth"; + + protected render(): TemplateResult { + return html` + ${this.calendar + ? html` +
+ ${!this.narrow + ? html` + +

+ ${this.calendar.view.title} +

+ + ` + : html` +
+ ${this.hass.localize( + "ui.panel.calendar.today" + )} + +
+
+

+ ${this.calendar.view.title} +

+
+ + + + +
+
+ `} +
+ ` + : ""} +
+ `; + } + + protected updated(changedProps: PropertyValues): void { + super.updated(changedProps); + + if (!this.calendar) { + return; + } + + if (changedProps.has("events")) { + this.calendar.removeAllEventSources(); + this.calendar.addEventSource(this.events); + } + } + + protected firstUpdated(): void { + const config = { ...fullCalendarConfig, locale: this.hass.language }; + + this.calendar = new Calendar( + this.shadowRoot!.getElementById("calendar")!, + // @ts-ignore + config + ); + + this.calendar!.render(); + this._fireViewChanged(); + } + + private _handleNext(): void { + this.calendar!.next(); + this._fireViewChanged(); + } + + private _handlePrev(): void { + this.calendar!.prev(); + this._fireViewChanged(); + } + + private _handleToday(): void { + this.calendar!.today(); + this._fireViewChanged(); + } + + private _handleView(ev): void { + this._activeView = ev.detail.value; + this.calendar!.changeView(this._activeView); + this._fireViewChanged(); + } + + private _fireViewChanged(): void { + fireEvent(this, "view-changed", { + start: this.calendar!.view.activeStart, + end: this.calendar!.view.activeEnd, + view: this.calendar!.view.type, + }); + } + + static get styles(): CSSResult[] { + return [ + haStyle, + css` + ${unsafeCSS(fullcalendarStyle)} + ${unsafeCSS(daygridStyle)} + + :host { + display: flex; + flex-direction: column; + } + + .header { + display: flex; + align-items: center; + justify-content: space-between; + padding-bottom: 8px; + } + + :host([narrow]) .header { + padding-right: 8px; + padding-left: 8px; + flex-direction: column; + align-items: flex-start; + justify-content: initial; + } + + .navigation { + display: flex; + align-items: center; + flex-grow: 0; + } + + .controls { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + } + + .today { + margin-right: 20px; + } + + .prev, + .next { + --mdc-icon-button-size: 32px; + } + + ha-button-toggle-group { + color: var(--primary-color); + } + + #calendar { + flex-grow: 1; + background-color: var(--card-background-color); + } + + .fc-scrollgrid-section-header td { + border: none; + } + + th.fc-col-header-cell.fc-day { + color: #70757a; + font-size: 11px; + font-weight: 400; + text-transform: uppercase; + } + + .fc-daygrid-day-top { + text-align: center; + padding-top: 8px; + } + + table.fc-scrollgrid-sync-table + tbody + tr:first-child + .fc-daygrid-day-top { + padding-top: 0; + } + + a.fc-daygrid-day-number { + float: none !important; + font-size: 12px; + } + + td.fc-day-today { + background: inherit; + } + + td.fc-day-today .fc-daygrid-day-number { + height: 24px; + color: #fff; + background-color: #1a73e8; + border-radius: 50%; + display: inline-block; + text-align: center; + white-space: nowrap; + width: max-content; + min-width: 24px; + } + + .fc-daygrid-day-events { + margin-top: 4px; + } + + .fc-event { + border-radius: 4px; + line-height: 1.7; + } + + .fc-daygrid-block-event .fc-event-main { + padding: 0 1px; + } + + .fc-day-past .fc-daygrid-day-events { + opacity: 0.5; + } + + .fc-icon-x:before { + font-family: var(--material-font-family); + content: "X"; + } + `, + ]; + } +} + +window.customElements.define("ha-full-calendar", HAFullCalendar); diff --git a/src/panels/calendar/ha-panel-calendar.js b/src/panels/calendar/ha-panel-calendar.js deleted file mode 100644 index 3a3e43251640..000000000000 --- a/src/panels/calendar/ha-panel-calendar.js +++ /dev/null @@ -1,220 +0,0 @@ -import "@polymer/app-layout/app-header-layout/app-header-layout"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; -import "@polymer/paper-checkbox/paper-checkbox"; -import "@polymer/paper-item/paper-item"; -import "@polymer/paper-listbox/paper-listbox"; -import { html } from "@polymer/polymer/lib/utils/html-tag"; -/* eslint-plugin-disable lit */ -import { PolymerElement } from "@polymer/polymer/polymer-element"; -import moment from "moment"; -import dates from "react-big-calendar/lib/utils/dates"; -import "../../components/ha-card"; -import "../../components/ha-menu-button"; -import LocalizeMixin from "../../mixins/localize-mixin"; -import "../../resources/ha-style"; -import "./ha-big-calendar"; - -const DEFAULT_VIEW = "month"; - -/* - * @appliesMixin LocalizeMixin - */ -class HaPanelCalendar extends LocalizeMixin(PolymerElement) { - static get template() { - return html` - - - - - - -
[[localize('panel.calendar')]]
-
-
- -
-
- - - - - -
-
- - -
-
-
- `; - } - - static get properties() { - return { - hass: Object, - - currentView: { - type: String, - value: DEFAULT_VIEW, - }, - - currentDate: { - type: Object, - value: new Date(), - }, - - events: { - type: Array, - value: [], - }, - - calendars: { - type: Array, - value: [], - }, - - selectedCalendars: { - type: Array, - value: [], - }, - - narrow: { - type: Boolean, - reflectToAttribute: true, - }, - }; - } - - connectedCallback() { - super.connectedCallback(); - this._fetchCalendars(); - } - - _fetchCalendars() { - this.hass.callApi("get", "calendars").then((result) => { - this.calendars = result; - this.selectedCalendars = result.map((cal) => cal.entity_id); - }); - } - - _fetchData() { - const start = dates.firstVisibleDay(this.currentDate).toISOString(); - const end = dates.lastVisibleDay(this.currentDate).toISOString(); - const params = encodeURI(`?start=${start}&end=${end}`); - const calls = this.selectedCalendars.map((cal) => - this.hass.callApi("get", `calendars/${cal}${params}`) - ); - Promise.all(calls).then((results) => { - const tmpEvents = []; - - results.forEach((res) => { - res.forEach((ev) => { - ev.start = new Date(ev.start); - if (ev.end) { - ev.end = new Date(ev.end); - } else { - ev.end = null; - } - tmpEvents.push(ev); - }); - }); - this.events = tmpEvents; - }); - } - - _getDateRange() { - let startDate; - let endDate; - if (this.currentView === "day") { - startDate = moment(this.currentDate).startOf("day"); - endDate = moment(this.currentDate).startOf("day"); - } else if (this.currentView === "week") { - startDate = moment(this.currentDate).startOf("isoWeek"); - endDate = moment(this.currentDate).endOf("isoWeek"); - } else if (this.currentView === "month") { - startDate = moment(this.currentDate).startOf("month").subtract(7, "days"); - endDate = moment(this.currentDate).endOf("month").add(7, "days"); - } else if (this.currentView === "agenda") { - startDate = moment(this.currentDate).startOf("day"); - endDate = moment(this.currentDate).endOf("day").add(1, "month"); - } - return [startDate.toISOString(), endDate.toISOString()]; - } - - _handleViewChanged(ev) { - // Calendar view changed - this.currentView = ev.detail.viewName; - this._fetchData(); - } - - _handleNavigate(ev) { - // Calendar date range changed - this.currentDate = ev.detail.date; - this.currentView = ev.detail.viewName; - this._fetchData(); - } -} - -customElements.define("ha-panel-calendar", HaPanelCalendar); diff --git a/src/panels/calendar/ha-panel-calendar.ts b/src/panels/calendar/ha-panel-calendar.ts new file mode 100644 index 000000000000..ae77545aa9f0 --- /dev/null +++ b/src/panels/calendar/ha-panel-calendar.ts @@ -0,0 +1,236 @@ +import { + customElement, + LitElement, + property, + CSSResultArray, + css, + TemplateResult, + html, + PropertyValues, +} from "lit-element"; +import { styleMap } from "lit-html/directives/style-map"; + +import "@polymer/app-layout/app-header-layout/app-header-layout"; +import "@polymer/app-layout/app-header/app-header"; +import "@polymer/app-layout/app-toolbar/app-toolbar"; +import "@material/mwc-checkbox"; +import "@material/mwc-formfield"; + +import "../../components/ha-menu-button"; +import "../../components/ha-card"; +import "./ha-full-calendar"; + +import type { + HomeAssistant, + SelectedCalendar, + CalendarEvent, + CalendarViewChanged, + Calendar, +} from "../../types"; +import { haStyle } from "../../resources/styles"; +import { HASSDomEvent } from "../../common/dom/fire_event"; +import { getCalendars, fetchCalendarEvents } from "../../data/calendar"; + +@customElement("ha-panel-calendar") +class PanelCalendar extends LitElement { + @property() public hass!: HomeAssistant; + + @property({ type: Boolean, reflect: true }) + public narrow!: boolean; + + @property() private _calendars: SelectedCalendar[] = []; + + @property() private _events: CalendarEvent[] = []; + + private _start?: Date; + + private _end?: Date; + + protected firstUpdated(changedProps: PropertyValues): void { + super.firstUpdated(changedProps); + this._calendars = getCalendars(this.hass).map((calendar) => ({ + selected: true, + calendar, + })); + + if (!this._start || !this._end) { + return; + } + + this._fetchEvents(this._start, this._end, this._selectedCalendars); + } + + protected render(): TemplateResult { + return html` + + + + +
${this.hass.localize("panel.calendar")}
+ +
+
+
+
+
+ ${this.hass.localize("ui.panel.calendar.my_calendars")} +
+ ${this._calendars.map( + (selCal) => + html`
+ + + +
` + )} +
+ +
+
+ `; + } + + private get _selectedCalendars(): Calendar[] { + return this._calendars + .filter((selCal) => selCal.selected) + .map((cal) => cal.calendar); + } + + private async _fetchEvents( + start: Date, + end: Date, + calendars: Calendar[] + ): Promise { + if (!calendars.length) { + return []; + } + + return fetchCalendarEvents(this.hass, start, end, calendars); + } + + private async _handleToggle(ev): Promise { + const results = this._calendars.map(async (cal) => { + if (ev.target.value !== cal.calendar.entity_id) { + return cal; + } + + const checked = ev.target.checked; + + if (checked) { + const events = await this._fetchEvents(this._start!, this._end!, [ + cal.calendar, + ]); + this._events = [...this._events, ...events]; + } else { + this._events = this._events.filter( + (event) => event.calendar !== cal.calendar.entity_id + ); + } + + cal.selected = checked; + return cal; + }); + + this._calendars = await Promise.all(results); + } + + private async _handleViewChanged( + ev: HASSDomEvent + ): Promise { + this._start = ev.detail.start; + this._end = ev.detail.end; + this._events = await this._fetchEvents( + this._start, + this._end, + this._selectedCalendars + ); + } + + private async _handleRefresh(): Promise { + this._events = await this._fetchEvents( + this._start!, + this._end!, + this._selectedCalendars + ); + } + + static get styles(): CSSResultArray { + return [ + haStyle, + css` + .content { + padding: 16px; + display: flex; + box-sizing: border-box; + } + + :host(:not([narrow])) .content { + height: calc(100vh - 64px); + } + + .calendar-list { + padding-right: 16px; + min-width: 170px; + flex: 0 0 15%; + overflow: hidden; + --mdc-theme-text-primary-on-background: var(--primary-text-color); + } + + .calendar-list > div { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + } + + .calendar-list-header { + font-size: 16px; + padding: 16px 16px 8px 8px; + } + + ha-full-calendar { + flex-grow: 1; + } + + :host([narrow]) ha-full-calendar { + height: calc(100vh - 72px); + } + + :host([narrow]) .content { + flex-direction: column-reverse; + padding: 8px 0 0 0; + } + + :host([narrow]) .calendar-list { + margin-bottom: 24px; + width: 100%; + padding-right: 0; + } + `, + ]; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-panel-calendar": PanelCalendar; + } +} diff --git a/src/panels/lovelace/common/directives/action-handler-directive.ts b/src/panels/lovelace/common/directives/action-handler-directive.ts index 083b69568aba..1526ce1cf9e8 100644 --- a/src/panels/lovelace/common/directives/action-handler-directive.ts +++ b/src/panels/lovelace/common/directives/action-handler-directive.ts @@ -170,12 +170,12 @@ class ActionHandler extends HTMLElement implements ActionHandler { display: null, }); this.ripple.disabled = false; - this.ripple.active = true; + this.ripple.activate(); this.ripple.unbounded = true; } private stopAnimation() { - this.ripple.active = false; + this.ripple.deactivate(); this.ripple.disabled = true; this.style.display = "none"; } diff --git a/src/resources/styles.ts b/src/resources/styles.ts index c4c505d52b19..7df001137f2e 100644 --- a/src/resources/styles.ts +++ b/src/resources/styles.ts @@ -42,6 +42,7 @@ export const derivedStyles = { "mdc-theme-on-primary": "var(--text-primary-color)", "mdc-theme-on-secondary": "var(--text-primary-color)", "mdc-theme-on-surface": "var(--primary-text-color)", + "mdc-theme-text-primary-on-background": "var(--primary-text-color)", "app-header-text-color": "var(--text-primary-color)", "app-header-background-color": "var(--primary-color)", "material-body-text-color": "var(--primary-text-color)", diff --git a/src/translations/en.json b/src/translations/en.json index 2326c6bcd823..5c562ae17a45 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -231,10 +231,13 @@ } }, "common": { + "previous": "Previous", "loading": "Loading", + "refresh": "Refresh", "cancel": "Cancel", "delete": "Delete", "close": "Close", + "next": "Next", "undo": "Undo", "save": "Save", "yes": "Yes", @@ -499,6 +502,7 @@ "sidebar_toggle": "Sidebar Toggle" }, "panel": { + "calendar": { "my_calendars": "My Calendars", "today": "Today" }, "config": { "header": "Configure Home Assistant", "introduction": "Here it is possible to configure your components and Home Assistant. Not everything is possible to configure from the UI yet, but we're working on it.", diff --git a/src/types.ts b/src/types.ts index 21334e72971a..73812a555647 100644 --- a/src/types.ts +++ b/src/types.ts @@ -96,6 +96,40 @@ export interface Panels { [name: string]: PanelInfo; } +export interface Calendar { + entity_id: string; + name: string; + backgroundColor: string; +} + +export interface SelectedCalendar { + selected: boolean; + calendar: Calendar; +} + +export interface CalendarEvent { + summary: string; + title: string; + start: string; + end?: string; + backgroundColor?: string; + borderColor?: string; + calendar: string; + [key: string]: any; +} + +export interface CalendarViewChanged { + end: Date; + start: Date; + view: string; +} + +export interface ToggleButton { + label?: string; + icon: string; + value: string; +} + export interface Translation { nativeName: string; isRTL: boolean; diff --git a/yarn.lock b/yarn.lock index dfcf8d6065b4..723335fdff4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -146,23 +146,6 @@ "@babel/helper-explode-assignable-expression" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helper-builder-react-jsx-experimental@^7.9.0": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz#0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3" - integrity sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-module-imports" "^7.8.3" - "@babel/types" "^7.9.5" - -"@babel/helper-builder-react-jsx@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" - integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/types" "^7.9.0" - "@babel/helper-call-delegate@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" @@ -729,13 +712,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" - integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" @@ -1106,16 +1082,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-react-jsx@^7.9.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" - integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== - dependencies: - "@babel/helper-builder-react-jsx" "^7.9.0" - "@babel/helper-builder-react-jsx-experimental" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" - "@babel/plugin-transform-regenerator@^7.0.0": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" @@ -1322,14 +1288,6 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-typescript" "^7.9.0" -"@babel/runtime-corejs3@^7.8.3": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.2.tgz#26fe4aa77e9f1ecef9b776559bbb8e84d34284b7" - integrity sha512-HHxmgxbIzOfFlZ+tdeRKtaxWOMUoCG5Mu3wKeUmOxjYrwb3AAHgnmtCUbPPK11/raIWLIBK250t8E2BPO0p7jA== - dependencies: - core-js-pure "^3.0.0" - regenerator-runtime "^0.13.4" - "@babel/runtime@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" @@ -1337,7 +1295,7 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.3.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4": version "7.4.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.2.tgz#f5ab6897320f16decd855eed70b705908a313fe8" integrity sha512-7Bl2rALb7HpvXFL7TETNzKSAeBVCPHELzc0C//9FCxN8nsiueWSJBqaF+2oIJScyILStASR/Cx5WMkXGYTiJFA== @@ -1458,9 +1416,9 @@ to-fast-properties "^2.0.0" "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" - integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg== + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" + integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA== dependencies: "@babel/helper-validator-identifier" "^7.9.5" lodash "^4.17.13" @@ -1478,6 +1436,21 @@ resolved "https://registry.yarnpkg.com/@formatjs/intl-utils/-/intl-utils-2.2.4.tgz#fe62a96799d1f7dbe621fd38a4bd2e5a6a16cb0e" integrity sha512-83fsJywew0o9wQsW3VuEp33HRiFd0qbQDyFFnwZCwk59eLZ33CtKyJ5ofKMrU2KK6hk1zaIdzisrZeoNfmI3Tw== +"@fullcalendar/core@5.0.0-beta.2": + version "5.0.0-beta.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/core/-/core-5.0.0-beta.2.tgz#30a9cbbbf2d6476568f53cfa1c0746d06daa9660" + integrity sha512-9U/kk8Y4ackY1XZ1PHvX8rG1olixoKveStXdDsX3FCtKATR8fA/O+4Pd5qyH7nGcih8TrgreUjZ+dB+DEaomqQ== + dependencies: + preact "^10.0.5" + tslib "^1.9.3" + +"@fullcalendar/daygrid@5.0.0-beta.2": + version "5.0.0-beta.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/daygrid/-/daygrid-5.0.0-beta.2.tgz#fae2a7cba8a6afc23c9d6faaa88150d820e59a73" + integrity sha512-Dd2VLsMPWPH1W1HQ+K1iftHVXF1MYOM/lo33FUdFKM8jc0MHnF620TVyOgPojAC26u2hApbURKIY2eY87vFulg== + dependencies: + tslib "^1.9.3" + "@gfx/zopfli@^1.0.9": version "1.0.11" resolved "https://registry.yarnpkg.com/@gfx/zopfli/-/zopfli-1.0.11.tgz#6ced06b4566a5feb0036fe6a1e0262ce6cb1d6c5" @@ -1592,319 +1565,437 @@ "@babel/runtime" "^7.7.2" core-js "^3.4.1" -"@material/animation@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/animation/-/animation-5.0.0.tgz#55924a02587173e5af6570bcb375dada17f7cf68" - integrity sha512-z/l0i8eElEj9FJ/2UVqgSmwhvfbu+im64lDi3M5Giu3mhGAkN1A0galOTmckP9VudAvY75PUDFDCGealy3U7DQ== +"@material/animation@6.0.0", "@material/animation@6.0.0-canary.35a32aaea.0", "@material/animation@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-6.0.0.tgz#ec8c8bd48e069bb35bb6aa76d944f89d35cc74fa" + integrity sha512-BxlzXzQ5W2WtaEVV4/PqkTpKB5PfOUvPmr1EK8+xQ0ouMV4qiWuwBfnu7DgXF+cglpFP3T71uHVYmh6lMdi4vg== dependencies: tslib "^1.9.3" -"@material/base@5.0.0-canary.a1a0deb3e.0", "@material/base@=5.0.0-canary.a1a0deb3e.0": - version "5.0.0-canary.a1a0deb3e.0" - resolved "https://registry.yarnpkg.com/@material/base/-/base-5.0.0-canary.a1a0deb3e.0.tgz#fbdf14e16e388d4d6c0cf93debe26700694fffa8" - integrity sha512-l3MMqLNdzv67EVjBZi33vDlrhU+mzHn6OzaiaX9Q08WS+tX5Co1WfdQtHhcYEPslS5aYv6kaU9FQL96Hb6fbpw== +"@material/base@6.0.0", "@material/base@6.0.0-canary.35a32aaea.0", "@material/base@=6.0.0-canary.35a32aaea.0", "@material/base@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-6.0.0.tgz#e1208f9e83a4e8d8c4e17745d9c909aa4aada625" + integrity sha512-S3rT7B9xa9IfHXIvYXYqbo6YVu9FWbFqTt1tMUCniizTRlpmHu9b5pmQ20f6mm3K3wAFD+crqsrtie2Y8h8r5g== dependencies: tslib "^1.9.3" -"@material/base@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/base/-/base-5.0.0.tgz#bcc096871e8fe97150825db5737456d016c565f0" - integrity sha512-1GO2xEBwpAZtXh5BhCIKsYSmpCbh2RZ7YEF3mD/2cPkoveqvlpwiqzLT9iiTtHawj2dbVp0IlAxkLQxgdwSMFQ== - dependencies: +"@material/button@6.0.0-canary.35a32aaea.0", "@material/button@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/button/-/button-6.0.0-canary.35a32aaea.0.tgz#bc47f32f98516353400eca03108a9d1a812d5e90" + integrity sha512-iPQlUT+ku4q2KWeMp+IQEp+ejVQY1dKubblLwi6yfOdhlTkPvnf983LD+Iols3OeFELzEYsPOiV8/Iv9O09ZaA== + dependencies: + "@material/density" "6.0.0-canary.35a32aaea.0" + "@material/elevation" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/shape" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" + "@material/touch-target" "6.0.0-canary.35a32aaea.0" + "@material/typography" "6.0.0-canary.35a32aaea.0" + +"@material/checkbox@6.0.0", "@material/checkbox@=6.0.0-canary.35a32aaea.0", "@material/checkbox@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-6.0.0.tgz#0e122c72d9b1fc7d290cec6b9f78f40b33bd3dc6" + integrity sha512-E9fXgSZMWKHbcpzwVFWW2/ZZo8vJ5OJXSvhoQbl+Pj+NGTl4f4MY8xMj8qwA08Dqp/Bv7zfSAB1Xe7akfwQg9w== + dependencies: + "@material/animation" "^6.0.0" + "@material/base" "^6.0.0" + "@material/density" "^6.0.0" + "@material/dom" "^6.0.0" + "@material/feature-targeting" "^6.0.0" + "@material/ripple" "^6.0.0" + "@material/theme" "^6.0.0" + "@material/touch-target" "^6.0.0" tslib "^1.9.3" -"@material/button@=5.0.0-canary.a1a0deb3e.0", "@material/button@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/button/-/button-5.0.0.tgz#ac9341a42e9b4bf893ec57ff7ceaa270c1c179f5" - integrity sha512-ttKafOMIeFgDvEoOjMxENQg8y9uvtvY4z6FxEfDjZrGkyfQj2p6U5Z5IXCfhH+GIZDmxq4mMG9I9YuZNoRv5bg== - dependencies: - "@material/density" "^5.0.0" - "@material/elevation" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/ripple" "^5.0.0" - "@material/rtl" "^5.0.0" - "@material/shape" "^5.0.0" - "@material/theme" "^5.0.0" - "@material/touch-target" "^5.0.0" - "@material/typography" "^5.0.0" - -"@material/checkbox@=5.0.0-canary.a1a0deb3e.0", "@material/checkbox@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-5.0.0.tgz#6c84012e91dbd52631fc422eca48fa54c0dc38d4" - integrity sha512-tCjLYo59Dyjh9Ai/DNPmC/+QbCBNvhquhv4YKKUj1rUrY+Y+OKJxUVeh4trCMBSOgizKqdAOTEqM4tEm4K2GYQ== - dependencies: - "@material/animation" "^5.0.0" - "@material/base" "^5.0.0" - "@material/density" "^5.0.0" - "@material/dom" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/ripple" "^5.0.0" - "@material/theme" "^5.0.0" - "@material/touch-target" "^5.0.0" +"@material/chips@^6.0.0-canary.35a32aaea.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/chips/-/chips-6.0.0.tgz#b60a0d5767ca34bf8529883e47da8f76aeef44fa" + integrity sha512-6R5ZG3hNGvBN+YeVdB1KB1M1Axb5n2051g0QDWNWTnIeZw6+vONMnCx2Wn2WwLyvIXNaFZgBi5mhk5GO+eOd4w== + dependencies: + "@material/animation" "^6.0.0" + "@material/base" "^6.0.0" + "@material/checkbox" "^6.0.0" + "@material/density" "^6.0.0" + "@material/dom" "^6.0.0" + "@material/elevation" "^6.0.0" + "@material/feature-targeting" "^6.0.0" + "@material/ripple" "^6.0.0" + "@material/rtl" "^6.0.0" + "@material/shape" "^6.0.0" + "@material/theme" "^6.0.0" + "@material/touch-target" "^6.0.0" + "@material/typography" "^6.0.0" tslib "^1.9.3" -"@material/chips@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/chips/-/chips-5.0.0.tgz#13d88fb7f319cc13782783917a57caebe52c1703" - integrity sha512-xDCnPPfVkGbixQUxO/EDQgbzCxscpMWe3/ewdVbBgTaHPqsFf+OBNqb7T3C+rLfCIqewQ0s+74fajCQUi/A11g== - dependencies: - "@material/animation" "^5.0.0" - "@material/base" "^5.0.0" - "@material/checkbox" "^5.0.0" - "@material/density" "^5.0.0" - "@material/dom" "^5.0.0" - "@material/elevation" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/ripple" "^5.0.0" - "@material/rtl" "^5.0.0" - "@material/shape" "^5.0.0" - "@material/theme" "^5.0.0" - "@material/touch-target" "^5.0.0" - "@material/typography" "^5.0.0" +"@material/density@6.0.0", "@material/density@6.0.0-canary.35a32aaea.0", "@material/density@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/density/-/density-6.0.0.tgz#9731d9b981f9b5fd92780812c8382f144ba2494d" + integrity sha512-svKiq7XtUg89hf08XGFF46NdiQAZfey5CiatmNxD3WX7LUoCb5zc8K9BqPL63P1Sh6kty9R0AHj+6w4ASFetPA== + +"@material/dialog@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-6.0.0-canary.35a32aaea.0.tgz#44be6c27d6fb9b28d051c36a2807673a2ea447a9" + integrity sha512-td3y9Gbt2+YCSqqef16jK54Fc9YUvs5ss6/nXQpAFmkTGbKDXWRwALEmTio2I1aXgfmIoVz/RqhzBylrLuwa8A== + dependencies: + "@material/animation" "6.0.0-canary.35a32aaea.0" + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/button" "6.0.0-canary.35a32aaea.0" + "@material/dom" "6.0.0-canary.35a32aaea.0" + "@material/elevation" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/shape" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" + "@material/touch-target" "6.0.0-canary.35a32aaea.0" + "@material/typography" "6.0.0-canary.35a32aaea.0" tslib "^1.9.3" -"@material/density@5.0.0-canary.a1a0deb3e.0", "@material/density@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/density/-/density-5.0.0.tgz#643d9bd1a5d89b3985d48fd1d6572f73d05fb2e9" - integrity sha512-K2TnVrSjS7muxcy3gxKsYsCFlZI3qGbG39jPziqHUcnJKCpilspBHRiUvRDyLeUPO/0KbWHJmVjdVsQbgY61hg== +"@material/dom@6.0.0", "@material/dom@6.0.0-canary.35a32aaea.0", "@material/dom@=6.0.0-canary.35a32aaea.0", "@material/dom@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/dom/-/dom-6.0.0.tgz#4f59993b65bc1921f680d5b5eb1c1ff084823dda" + integrity sha512-9hvoi3MxR25dmyv15xJGRS+Ezlr0oD+Y6k4UyAbLpExFP2OakTZc8Xj0Fd7Nwav3I5aIXyC5jJ2gvhZcy1cI9A== + dependencies: + "@material/feature-targeting" "^6.0.0" + tslib "^1.9.3" -"@material/dialog@=5.0.0-canary.a1a0deb3e.0", "@material/dialog@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-5.0.0.tgz#1b902ade3956d6ddc6d96c9d6bf261735a53ae17" - integrity sha512-9dZ++5v2LJR3dwWe3enBJ15HmZcUc/IdH3X4uKU8jfp6PjjkAA6s9+FDJEkw9cwOXb+m1fXPt/dkiy9yT46+ug== - dependencies: - "@material/animation" "^5.0.0" - "@material/base" "^5.0.0" - "@material/button" "^5.0.0" - "@material/dom" "^5.0.0" - "@material/elevation" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/ripple" "^5.0.0" - "@material/rtl" "^5.0.0" - "@material/shape" "^5.0.0" - "@material/theme" "^5.0.0" - "@material/touch-target" "^5.0.0" - "@material/typography" "^5.0.0" +"@material/elevation@6.0.0", "@material/elevation@6.0.0-canary.35a32aaea.0", "@material/elevation@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-6.0.0.tgz#9ebf7c442261e1c59e1e6af0424a0b06515e07df" + integrity sha512-9WNBu/MKTQX40Ev3ayq5V8Pf/E/DqUPRQO8F0YA99jRWuYScpX2zeJlpRe+wLI6zIxtfFcVvRW9D4O1s1Bmbdg== + dependencies: + "@material/animation" "^6.0.0" + "@material/base" "^6.0.0" + "@material/feature-targeting" "^6.0.0" + "@material/theme" "^6.0.0" + +"@material/fab@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/fab/-/fab-6.0.0-canary.35a32aaea.0.tgz#d1e3fe9c447243e3e7d995913676d4449f412772" + integrity sha512-dY/wTgRmotwweHWSUmSd3/0ufpWVRFPvB4cG0U9rUgUhoZrUG+ot3FwfkLqSAOLRDLOeTe8k+Q14Y5FRq52rtw== + dependencies: + "@material/animation" "6.0.0-canary.35a32aaea.0" + "@material/elevation" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/shape" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" + "@material/touch-target" "6.0.0-canary.35a32aaea.0" + "@material/typography" "6.0.0-canary.35a32aaea.0" + +"@material/feature-targeting@6.0.0", "@material/feature-targeting@6.0.0-canary.35a32aaea.0", "@material/feature-targeting@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-6.0.0.tgz#8dcfc470f3c5b8c7e1bc04bb86b062a640ff03a0" + integrity sha512-REj9VJnqkGwpngffc/iHGPt8WTF27QFPWDD8VBNXaP+MmnpIu7V5q5JMoozKzG5uk+hVryzam1i2PJHztizDXg== + +"@material/form-field@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-6.0.0-canary.35a32aaea.0.tgz#03374522d3ba7d8956461ded1d3e7666b2fcc23c" + integrity sha512-+LkE4JTKvSG1YfA6HRCBloD/Ai41d3Uw7qfWtAnoisduCRslPDkP2RXaNQ+ll3sHGOOE/cAUqTYZdAoFnN9lZA== + dependencies: + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" + "@material/typography" "6.0.0-canary.35a32aaea.0" tslib "^1.9.3" -"@material/dom@=5.0.0-canary.a1a0deb3e.0", "@material/dom@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/dom/-/dom-5.0.0.tgz#966f7b9d8fd2c7fc176452bb355ce41f81444797" - integrity sha512-Mhpt3Ib5l5pYEUjmKQ/sXIcdVdJPhM+uhcqbXha4UgXmD+qc/GrmnDE9GDTQq/WJ3nBjs9O4nIFuqwQTmUQjmQ== +"@material/icon-button@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-6.0.0-canary.35a32aaea.0.tgz#9ab7ce21ea5a042ce9a5a8446e59b6cf94776ba1" + integrity sha512-zBTSVKErBgpQA9/3fZ7rLPj6IQtfJpt4pj6PJl+65goOpEWzmk3r6mM5BQVGfZ61j8l65gAH56tAV+X7WlQgCQ== dependencies: + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/density" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" tslib "^1.9.3" -"@material/elevation@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-5.0.0.tgz#ee61fc5b7e50714765a923a081d4d186cd478a3a" - integrity sha512-56TEn4L4mku8LN408PJfYpSW22RfyrtZbGwJDVXX+HXKg5Ubm7Y01E9xn+XXQHgSgJqww6IumGOncMwtsJ+MuA== - dependencies: - "@material/animation" "^5.0.0" - "@material/base" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/theme" "^5.0.0" +"@material/list@6.0.0-canary.35a32aaea.0", "@material/list@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/list/-/list-6.0.0-canary.35a32aaea.0.tgz#c1829fde795f0f51db2b5aeeb31c2fde9559b96e" + integrity sha512-iezUZQ2RzhWw1cuxtpfV7xjE3XjdjkaaCmEXxBCIbGhv1uaKddlR45UR9Q52p4IIr6RmS++jlt3CBDLWMGcHQQ== + dependencies: + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/density" "6.0.0-canary.35a32aaea.0" + "@material/dom" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/shape" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" + "@material/typography" "6.0.0-canary.35a32aaea.0" + tslib "^1.9.3" -"@material/fab@=5.0.0-canary.a1a0deb3e.0", "@material/fab@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/fab/-/fab-5.0.0.tgz#3b21801e07b5ec055a33a641d17786d8d468614b" - integrity sha512-4bRTTgYTRA1AINetsM6DPdTrOabA/MP1n0HgmyoNQ2koujVEZxpP5Aj/40tcJ0NdvsEAX8IlLZgfaeIpfxl0Lw== - dependencies: - "@material/animation" "^5.0.0" - "@material/elevation" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/ripple" "^5.0.0" - "@material/rtl" "^5.0.0" - "@material/shape" "^5.0.0" - "@material/theme" "^5.0.0" - "@material/touch-target" "^5.0.0" - "@material/typography" "^5.0.0" - -"@material/feature-targeting@5.0.0-canary.a1a0deb3e.0", "@material/feature-targeting@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-5.0.0.tgz#5a6c392e61a1d96bf7082999b40c3298ef76cfc7" - integrity sha512-6XSuTdrjA7XNqEChpDI4+9aSNzoxvuaTFIAMykH7B9wpykvlINI972m9keVF5GW2+pIGmSIAtwv9z5L+sjnS1g== - -"@material/icon-button@=5.0.0-canary.a1a0deb3e.0": - version "5.0.0-canary.a1a0deb3e.0" - resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-5.0.0-canary.a1a0deb3e.0.tgz#0b06f0d3e924dc2d6d178e3c6e2cff571a25949b" - integrity sha512-g5lN2zVovaF2w4FYJatcmsPVYLO42ZWLWXYzu5EbktbIOxVGp0N+NYOUhb6HKm8/pjPnqn7ZZGoiqC5NCn2JRA== - dependencies: - "@material/base" "5.0.0-canary.a1a0deb3e.0" - "@material/density" "5.0.0-canary.a1a0deb3e.0" - "@material/feature-targeting" "5.0.0-canary.a1a0deb3e.0" - "@material/ripple" "5.0.0-canary.a1a0deb3e.0" - "@material/theme" "5.0.0-canary.a1a0deb3e.0" +"@material/menu-surface@6.0.0-canary.35a32aaea.0", "@material/menu-surface@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-6.0.0-canary.35a32aaea.0.tgz#c63a7400661ed432454d7204b41d26e46c351e43" + integrity sha512-gazY2fi++swR3oG/IjBT1DHb1gru3P+qYxaGNw4N6h7zXCqECo1mv4FMeccgfSveLhLUI6djbg0HB0qTyPo0OA== + dependencies: + "@material/animation" "6.0.0-canary.35a32aaea.0" + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/elevation" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/shape" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" + tslib "^1.9.3" + +"@material/menu@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/menu/-/menu-6.0.0-canary.35a32aaea.0.tgz#fb4e0f26b25cee046020f7f7d2b8f5c91914f593" + integrity sha512-WulQ0MsGW9wikBroUzaAc+hk97+0RwuhShPbs8ZAIch3/hW2POH6Tw4EHdhJUNgTds3L0LVCsXLTaiJGN5XdDw== + dependencies: + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/dom" "6.0.0-canary.35a32aaea.0" + "@material/elevation" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/list" "6.0.0-canary.35a32aaea.0" + "@material/menu-surface" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" tslib "^1.9.3" -"@material/mwc-base@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.13.0.tgz#b2881c01333cca18a57cd2199b398416723321c6" - integrity sha512-r9TT6pz5JafRNaljwrDku/UifFNGl/htZ+o9NNfO8v+z/qqGMBFzz3xS2Neim27Qb5yiSS3uKrfdwWAymj8XDg== +"@material/mwc-base@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.14.1.tgz#7e1923919b5b672902af2e562426abff3fb73f1a" + integrity sha512-9EHP5Q2tQntiu6K92mn5G5gakmcuituHmz0NPvzAW34RnrMV81UevwfLLZwUiy51pm52hd5/viLXVt/WlL6bDg== dependencies: - "@material/base" "=5.0.0-canary.a1a0deb3e.0" - "@material/dom" "=5.0.0-canary.a1a0deb3e.0" - "@material/ripple" "=5.0.0-canary.a1a0deb3e.0" - lit-element "^2.2.1" + "@material/base" "=6.0.0-canary.35a32aaea.0" + "@material/dom" "=6.0.0-canary.35a32aaea.0" + "@material/ripple" "=6.0.0-canary.35a32aaea.0" + lit-element "^2.3.0" tslib "^1.10.0" -"@material/mwc-button@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-button/-/mwc-button-0.13.0.tgz#750da7b519663daaf42809cb7674e6b1372b614b" - integrity sha512-2ru+nkt9zHFZdtEBseba51BjPL3k1CHnn+px0YYy6o7CY5tJgJMysMVQL7L9cVbE0WyxVr59bgEN4lMedFi0/Q== - dependencies: - "@material/button" "=5.0.0-canary.a1a0deb3e.0" - "@material/mwc-base" "^0.13.0" - "@material/mwc-icon" "^0.13.0" - "@material/mwc-ripple" "^0.13.0" - lit-element "^2.2.1" +"@material/mwc-button@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-button/-/mwc-button-0.14.1.tgz#9823c874f4a10fbe551bf148ea0270f443a6385c" + integrity sha512-yXJDWsg1fdVp0afbLvtf7VbeWNhePlzK5oYZIaFzP7dmCWW8GvLK+04h/7mYMMSZeRTCcNJuRlM3Yi0S8P2YEQ== + dependencies: + "@material/button" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/mwc-icon" "^0.14.1" + "@material/mwc-ripple" "^0.14.1" + lit-element "^2.3.0" lit-html "^1.1.2" tslib "^1.10.0" -"@material/mwc-checkbox@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-checkbox/-/mwc-checkbox-0.13.0.tgz#45d63a8ee23664955267eb0bd8e9369e0f1d20f0" - integrity sha512-HCtTBos/iQqmukkNJggM4WWWmsZ4z4nm8VVNu+VxfMX0KYivIMfml6SZZZR/kT7MutRRn+E7TiROPV9aFIQvSA== +"@material/mwc-checkbox@0.14.1", "@material/mwc-checkbox@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-checkbox/-/mwc-checkbox-0.14.1.tgz#7d5527711a88e02163f82b56043c21e85a249856" + integrity sha512-US1C+Z2XfNW2K7s7Wzj7gSI1M/Ah//FeR1D6SY/6K8PIu/gtrgx6iFxcByVq7aws18ghYX6jwkDfMVZFI/uAVQ== dependencies: - "@material/checkbox" "=5.0.0-canary.a1a0deb3e.0" - "@material/mwc-base" "^0.13.0" - "@material/mwc-ripple" "^0.13.0" - lit-element "^2.2.1" + "@material/checkbox" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/mwc-ripple" "^0.14.1" + lit-element "^2.3.0" tslib "^1.10.0" -"@material/mwc-dialog@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-dialog/-/mwc-dialog-0.13.0.tgz#290d37c7a1c455786001b4e8c23c57b5eea9b804" - integrity sha512-D2Blab0fuKvhpT90aKsDxPAdPmcaV/zqUoUHUqTHdZdifyFH0CJcAkrH1HzRjptEdXcPtfMSY3XT9TCIqcMUiQ== +"@material/mwc-dialog@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-dialog/-/mwc-dialog-0.14.1.tgz#5f9baf3cebf84473f698613ab47dbe3355f37702" + integrity sha512-mIWaBAdHBwa9Fg0R1syfFRNheXcAzu6//ucXjO0RdJaWV44PxFK7BecfX910H479jfIoutbjhzIZ5ph8Ji53cg== dependencies: - "@material/dialog" "=5.0.0-canary.a1a0deb3e.0" - "@material/dom" "=5.0.0-canary.a1a0deb3e.0" - "@material/mwc-base" "^0.13.0" - "@material/touch-target" "=5.0.0-canary.a1a0deb3e.0" + "@material/dialog" "=6.0.0-canary.35a32aaea.0" + "@material/dom" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/touch-target" "=6.0.0-canary.35a32aaea.0" blocking-elements "^0.1.0" - lit-element "^2.2.1" + lit-element "^2.3.0" lit-html "^1.1.2" tslib "^1.10.0" wicg-inert "^3.0.0" -"@material/mwc-fab@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-fab/-/mwc-fab-0.13.0.tgz#42ac18dfe78f37153ab2a786eca2ff28ea58a563" - integrity sha512-wHTUkl8FQuXFw3WVAWuIESwj9GIGyzuBLYBsOVL+gUPTWBMI446GPl+MF7eidJ7MmevZmVAxXZCtJEwUG0/04Q== +"@material/mwc-fab@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-fab/-/mwc-fab-0.14.1.tgz#b01348e638c6650e83013162d5a0dabfdbb089da" + integrity sha512-Qe8kH1uYTb3PxVlHJzh5nDWkKEJmNa4Dftb5bzS3EPKhlPBjXd1uVQ0hGJJOGeVBzdbVjuHz1mRGJvOm6n+c7A== + dependencies: + "@material/fab" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/mwc-icon" "^0.14.1" + "@material/mwc-ripple" "^0.14.1" + lit-element "^2.3.0" + lit-html "^1.1.2" + tslib "^1.10.0" + +"@material/mwc-formfield@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-formfield/-/mwc-formfield-0.14.1.tgz#30aae7b12088bae93008c6c159dec1d00957222b" + integrity sha512-hRDFXUqB16vojdxGntzbaaVUqfODWXMg6D40Fjj0/ok2rC31POO/uoRhVHvwUZOHyjcY7yvFmXFQOXe5gUyNtg== dependencies: - "@material/fab" "=5.0.0-canary.a1a0deb3e.0" - "@material/mwc-base" "^0.13.0" - "@material/mwc-icon" "^0.13.0" - "@material/mwc-ripple" "^0.13.0" - lit-element "^2.2.1" + "@material/form-field" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + lit-element "^2.3.0" lit-html "^1.1.2" tslib "^1.10.0" -"@material/mwc-icon-button@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-icon-button/-/mwc-icon-button-0.13.0.tgz#0d6382ee4cd4c2dd7e84c12d899e3c2cb411f9ab" - integrity sha512-txgK6+51u3Upp394WUiZr0Yf6tUfruSNFloBRmGY0ekUIimsbSCcFyvhjA4UTFaIgroxdtULnr7qT4K3Kh2IbQ== +"@material/mwc-icon-button@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-icon-button/-/mwc-icon-button-0.14.1.tgz#053fb8462c7656d0f601779c8f97c9e72bedcc8b" + integrity sha512-5NRFf8+2fN5DX5GVc6jPEGaS74eYMGOG25XxL9Ma4IFfcX04d+fsEE0ujFkpfmQ2HMU50AMTKhQAUydAhSQxfg== + dependencies: + "@material/icon-button" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/mwc-icon" "^0.14.1" + "@material/mwc-ripple" "^0.14.1" + lit-element "^2.3.0" + tslib "^1.10.0" + +"@material/mwc-icon@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.14.1.tgz#7ca8dbf7a60b559ddf6f72056078c612fe34e3da" + integrity sha512-vjhmww/v2M4YVuPq5NhzoxyMBuJi1+CEKnfgdptqP2VT3oxjZKggQYqm/TlTTzHcRxOxhqmbcgfji7qosnzgfw== dependencies: - "@material/icon-button" "=5.0.0-canary.a1a0deb3e.0" - "@material/mwc-base" "^0.13.0" - "@material/mwc-icon" "^0.13.0" - "@material/mwc-ripple" "^0.13.0" - lit-element "^2.2.1" + "@material/mwc-base" "^0.14.1" + lit-element "^2.3.0" + tslib "^1.10.0" + +"@material/mwc-list@0.14.1", "@material/mwc-list@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-list/-/mwc-list-0.14.1.tgz#3f451a3f087c66391d62c5720fb5f044e2f0bd1b" + integrity sha512-FEe0wlH69iJslkfLVjjEZSgV2yjYvIOGNvafmJjW4Wy0FsXoLV2qtUbvphcwdjPsdzG412CCSo4oeV+BBr0IWw== + dependencies: + "@material/base" "=6.0.0-canary.35a32aaea.0" + "@material/list" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/mwc-checkbox" "^0.14.1" + "@material/mwc-radio" "^0.14.1" + lit-element "^2.3.0" + lit-html "^1.1.2" tslib "^1.10.0" -"@material/mwc-icon@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.13.0.tgz#3472caf99de1f28f5607a3ef56ad33c7a8dfe0bc" - integrity sha512-eqLb6xuuOvdLg+VuAI+RgWKfI45EMwAE5TtAS99CppTa1Ppex2Xvhz8oHXQyf47obvSX3oA3cDarZf2SOz0e0g== +"@material/mwc-menu@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-menu/-/mwc-menu-0.14.1.tgz#86fc8b3d74823aeb982323f729b6498830ebb165" + integrity sha512-TxuLbRB1pEd5gJuN8VubG4K+M+BnQSWTp20OV1XR2wxY4m03TGBdMWTh3xwtlCWIc8Pk88GhaGorXECD6GWJEQ== + dependencies: + "@material/menu" "=6.0.0-canary.35a32aaea.0" + "@material/menu-surface" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/mwc-list" "^0.14.1" + lit-element "^2.3.0" + lit-html "^1.1.2" + tslib "^1.10.0" + +"@material/mwc-radio@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-radio/-/mwc-radio-0.14.1.tgz#6a08ed9028a7a36b64a0caf37767f9acf17ced44" + integrity sha512-a5MTnYY1Zl/3jCCoS8GQjO6w1wRDp5VjfSk78QYpdTiZOq4xTJd0OAYZ4JFN7fGM1S64pXVqIgCIbdTFMzdygw== dependencies: - "@material/mwc-base" "^0.13.0" - lit-element "^2.2.1" + "@material/mwc-base" "^0.14.1" + "@material/mwc-ripple" "^0.14.1" + "@material/radio" "=6.0.0-canary.35a32aaea.0" + lit-element "^2.3.0" tslib "^1.10.0" -"@material/mwc-ripple@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.13.0.tgz#f4089cfb30928af950a94bcc28128194d93e40b4" - integrity sha512-c4UWmoAkareL5BCcitJDw/H2+DafTgxw7XuRYQYw/WOPIXD3ILraBydHs/ukapgYa9lRCpP77mOBDTyAMZeEMA== +"@material/mwc-ripple@0.14.1", "@material/mwc-ripple@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.14.1.tgz#9550d43dac6455eec4c3cf18494a2448f471a852" + integrity sha512-UdGdkT4IlkQ7myWSeOj1RqXvneyrkjdBTXW0iswFySRRkbJ9f+g1771acKASdRG0fx7GvrWj6RPcBZzD5S9SmQ== dependencies: - "@material/dom" "=5.0.0-canary.a1a0deb3e.0" - "@material/mwc-base" "^0.13.0" - "@material/ripple" "=5.0.0-canary.a1a0deb3e.0" - lit-element "^2.2.1" + "@material/dom" "=6.0.0-canary.35a32aaea.0" + "@material/mwc-base" "^0.14.1" + "@material/ripple" "=6.0.0-canary.35a32aaea.0" + lit-element "^2.3.0" lit-html "^1.1.2" tslib "^1.10.0" -"@material/mwc-switch@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@material/mwc-switch/-/mwc-switch-0.13.0.tgz#dc5f28c1df108c66b322c382793797da2468d120" - integrity sha512-Oi5GhVRCae690Ja6Bf5kzpj3qFYpY12YOu2jVjPm6fgNEQ1hBmjk+aPWvn6NyTE1sW5uYfBkASqUPnpnuFBAtw== +"@material/mwc-switch@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@material/mwc-switch/-/mwc-switch-0.14.1.tgz#15c58cdc4561deeadaf4e356c627abfe2c1ea8b1" + integrity sha512-v6KOEyj5rxNudE33TA4BDObaYLIQ2hnawxHu/c6fYdbv2/jxSn0Aft7SpYYWJYq9cHbTbn+tlL9tFEkJvf8xWg== dependencies: - "@material/mwc-base" "^0.13.0" - "@material/mwc-ripple" "^0.13.0" - "@material/switch" "=5.0.0-canary.a1a0deb3e.0" - lit-element "^2.2.1" + "@material/mwc-base" "^0.14.1" + "@material/mwc-ripple" "^0.14.1" + "@material/switch" "=6.0.0-canary.35a32aaea.0" + lit-element "^2.3.0" tslib "^1.10.0" -"@material/ripple@5.0.0-canary.a1a0deb3e.0", "@material/ripple@=5.0.0-canary.a1a0deb3e.0", "@material/ripple@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-5.0.0.tgz#78beaf2066806955b311195d30b116d32e719247" - integrity sha512-92kMA2FeXm/bX0vY/SH3DLtE88ARelxtjqZq01whzsqo3ngEiZDUqr0+tJ1WvsXSiJ50VI5mtz3wxjnd0hzhwA== - dependencies: - "@material/animation" "^5.0.0" - "@material/base" "^5.0.0" - "@material/dom" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/theme" "^5.0.0" +"@material/radio@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/radio/-/radio-6.0.0-canary.35a32aaea.0.tgz#f1d1d2d88979a018f1f2dd5a8b58a2cbd31e3232" + integrity sha512-vXrZm7bCPRFEkEcqcNSlk0x9VfCzrbCzXAj5MQltUxo+rUMmKs2jtcgKJDGxQgzuaTe6xa+QNLoLZXsTd17vGg== + dependencies: + "@material/animation" "6.0.0-canary.35a32aaea.0" + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/density" "6.0.0-canary.35a32aaea.0" + "@material/dom" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" + "@material/touch-target" "6.0.0-canary.35a32aaea.0" tslib "^1.9.3" -"@material/rtl@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-5.0.0.tgz#50b1b2d7b9df6d117d56ff7ede7f7802f321b123" - integrity sha512-TyZWiQc7wNWWCSl56rGSbkzxXGYq76gjtDA95P6SgEGxge6Pqe1d1o5Dl2dRaszESGGGSC/XTuMZaAYu7fk4Eg== +"@material/ripple@6.0.0", "@material/ripple@6.0.0-canary.35a32aaea.0", "@material/ripple@=6.0.0-canary.35a32aaea.0", "@material/ripple@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-6.0.0.tgz#97e08b79ca9d63fdc2a9383f47576fca0615fc87" + integrity sha512-z+ARpjBVkRZBhiX20aAxAMrgBcfpcCRqIcI/E3Esfyo7M+q/mm8t92ZumcahxWnOBJkHM55kkpUqHlfkYlfyZQ== + dependencies: + "@material/animation" "^6.0.0" + "@material/base" "^6.0.0" + "@material/dom" "^6.0.0" + "@material/feature-targeting" "^6.0.0" + "@material/theme" "^6.0.0" + tslib "^1.9.3" -"@material/shape@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/shape/-/shape-5.0.0.tgz#55974611adc6452e6091d23c06d7dec28f860e77" - integrity sha512-Qo3nzYfPtEBiU3ijseRDypbhMQroxws4OxwKiyyTeu8K/z1iGPNH2323S/LSmyUuLtkhLFvwAQM2N4ZPAxofRw== - dependencies: - "@material/feature-targeting" "^5.0.0" - "@material/rtl" "^5.0.0" +"@material/rtl@6.0.0", "@material/rtl@6.0.0-canary.35a32aaea.0", "@material/rtl@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-6.0.0.tgz#e8114194af72f7496ca2fc5b4ee63981c46f5066" + integrity sha512-/WkzlUm3qylWMqv7Lw7ColZ8DYvEvTXtevxxz7PKM1hT9FNlbO1/Qywvda4VUtXivEeynXEqeT1T/ZYHV9yDVw== -"@material/switch@=5.0.0-canary.a1a0deb3e.0", "@material/switch@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/switch/-/switch-5.0.0.tgz#4e5cb4bda46ca17a5135b30bdd892d1c6e27fa0b" - integrity sha512-OFLOzdCp6a4NlL6tKbqf8/9Iniy+EjO3NT4i63y0xDPgIrBPxOgWUvxlpF2ysZNghx1QcMzwgsDp4oBRrVwMRg== - dependencies: - "@material/animation" "^5.0.0" - "@material/base" "^5.0.0" - "@material/density" "^5.0.0" - "@material/dom" "^5.0.0" - "@material/elevation" "^5.0.0" - "@material/feature-targeting" "^5.0.0" - "@material/ripple" "^5.0.0" - "@material/rtl" "^5.0.0" - "@material/theme" "^5.0.0" +"@material/shape@6.0.0", "@material/shape@6.0.0-canary.35a32aaea.0", "@material/shape@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/shape/-/shape-6.0.0.tgz#ac81470b2fcc160cbcf2f6b2ce933c0598046f8f" + integrity sha512-tZT9GGWI3QcOtyfJ07Hc3noP2b5Bvx2npx/aj+k7gEIkE06mzr08dVnVOup8z8HbHWIenxRJgdeF5+lAfBE3vw== + dependencies: + "@material/feature-targeting" "^6.0.0" + "@material/rtl" "^6.0.0" + +"@material/switch@=6.0.0-canary.35a32aaea.0": + version "6.0.0-canary.35a32aaea.0" + resolved "https://registry.yarnpkg.com/@material/switch/-/switch-6.0.0-canary.35a32aaea.0.tgz#bc8e9aeadc2ee1a08cf7b057f9f1d1b2282c9ca1" + integrity sha512-tyMX2VBoXJtSbi6w+jk7RMZSA9hzvM1hDH9i+Mz5EQSj+mtzqPBQTBNFlRGmglMSZi6WQ/4x04OBZxjpZOHLAg== + dependencies: + "@material/animation" "6.0.0-canary.35a32aaea.0" + "@material/base" "6.0.0-canary.35a32aaea.0" + "@material/density" "6.0.0-canary.35a32aaea.0" + "@material/dom" "6.0.0-canary.35a32aaea.0" + "@material/elevation" "6.0.0-canary.35a32aaea.0" + "@material/feature-targeting" "6.0.0-canary.35a32aaea.0" + "@material/ripple" "6.0.0-canary.35a32aaea.0" + "@material/rtl" "6.0.0-canary.35a32aaea.0" + "@material/theme" "6.0.0-canary.35a32aaea.0" tslib "^1.9.3" -"@material/theme@5.0.0-canary.a1a0deb3e.0", "@material/theme@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/theme/-/theme-5.0.0.tgz#ff8498d883b083f91f53d0d340e31c78ea34cc8d" - integrity sha512-YBHxiAvT2ACIQ2VM6zeZ4mhq+lgYFAxB0CUX54o7/mqO4E/uZzyzPsyU85KtCeNuEJCP+a0cxN/aqIgLF9/BRA== +"@material/theme@6.0.0", "@material/theme@6.0.0-canary.35a32aaea.0", "@material/theme@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-6.0.0.tgz#35da34965737e556b35670bfe4830de0a6d1ab9a" + integrity sha512-dViBx1lsidoQhVi/MYksTmDs8aUPj3mPVQIaBPtDRtqpIuWSwG7bCHoY8rG8FHRduPLpq3b1A4OwKHBd0RWVJw== dependencies: - "@material/feature-targeting" "^5.0.0" + "@material/feature-targeting" "^6.0.0" -"@material/touch-target@=5.0.0-canary.a1a0deb3e.0", "@material/touch-target@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-5.0.0.tgz#ec7ce930550446d80b588f9bdbe883e3b7f15028" - integrity sha512-TtoalBYgUosHVG1kc+oai+MWvD5MknLg28mpXIx3IAqigVFpsnoAhy5o9Z3kgOqb+hqK7CP6UXVQsdbgzQrgfQ== +"@material/touch-target@6.0.0", "@material/touch-target@6.0.0-canary.35a32aaea.0", "@material/touch-target@=6.0.0-canary.35a32aaea.0", "@material/touch-target@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-6.0.0.tgz#122eba0976164bdec189b56cbec88e7bcafc16c1" + integrity sha512-qZjrxo6honqxRV2Gy7spgkfj1qzSwy2IC8xtQb6bIolDD7kbzOxmyyaMi+TxQE0QnRWG/w6DVBSsPPQGNt4Saw== dependencies: - "@material/base" "^5.0.0" - "@material/feature-targeting" "^5.0.0" + "@material/base" "^6.0.0" + "@material/feature-targeting" "^6.0.0" -"@material/typography@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@material/typography/-/typography-5.0.0.tgz#afdab61aa548f51c5b95000262f46d183b66f5c9" - integrity sha512-8lBDc8LNjhN5NwRIpOHUNpNhMtWXYThb8FS8z477Omv1i2EbMeGWxg+nXHLFIQM4daym2qeeRc2YlfMVkBdd1w== +"@material/typography@6.0.0", "@material/typography@6.0.0-canary.35a32aaea.0", "@material/typography@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-6.0.0.tgz#01e3f7aa9b98acdee911479de45c7386b7334da7" + integrity sha512-+4UUEYOxINMRUdyAltd1HFydjAy+MeXqUkFUXXNVsi5nFlpGTpMrxriwVaeL++XlGgvziJjDzaOe6S7zkwYxOQ== dependencies: - "@material/feature-targeting" "^5.0.0" + "@material/feature-targeting" "^6.0.0" + "@material/theme" "^6.0.0" "@mdi/js@4.9.95": version "4.9.95" @@ -3759,15 +3850,6 @@ array-includes@^3.0.3: define-properties "^1.1.2" es-abstract "^1.7.0" -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - array-initial@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" @@ -5091,11 +5173,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5, classnames@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - clean-css@4.2.x: version "4.2.1" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" @@ -5558,11 +5635,6 @@ core-js-compat@^3.6.2: browserslist "^4.8.3" semver "7.0.0" -core-js-pure@^3.0.0: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" - integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== - core-js@^2.4.0: version "2.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" @@ -5775,11 +5847,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-arithmetic@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/date-arithmetic/-/date-arithmetic-3.1.0.tgz#1fcd03dbd504b9dbee2b9078c85a5f1c7d3cc2d3" - integrity sha1-H80D29UEudvuK5B4yFpfHH08wtM= - date-fns@^1.27.2: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" @@ -6101,7 +6168,7 @@ doctrine@1.5.0: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.0.2, doctrine@^2.1.0: +doctrine@^2.0.2: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== @@ -6122,13 +6189,6 @@ dom-converter@^0.2: dependencies: utila "~0.4" -dom-helpers@^3.2.1, dom-helpers@^3.3.1, dom-helpers@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" - integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== - dependencies: - "@babel/runtime" "^7.1.2" - dom-serializer@0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" @@ -6419,7 +6479,7 @@ es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: is-regex "^1.0.4" object-keys "^1.0.12" -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: +es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: version "1.17.5" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== @@ -6643,24 +6703,6 @@ eslint-plugin-prettier@^3.1.3: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react@^7.19.0: - version "7.19.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz#6d08f9673628aa69c5559d33489e855d83551666" - integrity sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ== - dependencies: - array-includes "^3.1.1" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.2.3" - object.entries "^1.1.1" - object.fromentries "^2.0.2" - object.values "^1.1.1" - prop-types "^15.7.2" - resolve "^1.15.1" - semver "^6.3.0" - string.prototype.matchall "^4.0.2" - xregexp "^4.3.0" - eslint-plugin-wc@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-wc/-/eslint-plugin-wc-1.2.0.tgz#c47cedfce92823ea9bd5ebbe25121377cdcb55e4" @@ -8436,13 +8478,6 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -immutability-helper@^2.7.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-2.9.1.tgz#71c423ba387e67b6c6ceba0650572f2a2a6727df" - integrity sha512-r/RmRG8xO06s/k+PIaif2r5rGc3j4Yhc01jSBfwPCXDLYZwp/yxralI37Df1mwmuzcCsen/E/ITKcTEvc1PQmQ== - dependencies: - invariant "^2.2.0" - import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -8559,15 +8594,6 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== - dependencies: - es-abstract "^1.17.0-next.1" - has "^1.0.3" - side-channel "^1.0.2" - interpret@1.2.0, interpret@^1.1.0, interpret@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" @@ -8604,7 +8630,7 @@ into-stream@^4.0.0: from2 "^2.1.1" p-is-promise "^2.0.0" -invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.4: +invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -8998,11 +9024,6 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - is-symbol@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" @@ -9251,14 +9272,6 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" - integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== - dependencies: - array-includes "^3.0.3" - object.assign "^4.1.0" - just-debounce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" @@ -9510,7 +9523,14 @@ lit-element@^2.0.0, lit-element@^2.2.1: dependencies: lit-html "^1.0.0" -lit-html@^1.0.0, lit-html@^1.1.0, lit-html@^1.1.2: +lit-element@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-2.3.1.tgz#73343b978fa1e73d60526c6bb6ad60f53a16c343" + integrity sha512-tOcUAmeO3BzwiQ7FGWdsshNvC0HVHcTFYw/TLIImmKwXYoV0E7zCBASa8IJ7DiP4cen/Yoj454gS0qqTnIGsFA== + dependencies: + lit-html "^1.1.1" + +lit-html@^1.0.0, lit-html@^1.1.0, lit-html@^1.1.1, lit-html@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-1.1.2.tgz#2e3560a7075210243649c888ad738eaf0daa8374" integrity sha512-FFlUMKHKi+qG1x1iHNZ1hrtc/zHmfYTyrSvs3/wBTvaNtpZjOZGWzU7efGYVpgp6KvWeKF6ql9/KsCq6Z/mEDA== @@ -9863,7 +9883,7 @@ lolex@^3.1.0: resolved "https://registry.yarnpkg.com/lolex/-/lolex-3.1.0.tgz#1a7feb2fefd75b3e3a7f79f0e110d9476e294434" integrity sha512-zFo5MgCJ0rZ7gQg69S4pqBsLURbFw11X68C18OcJjJQbqaXm2NoTrGl1IMM3TIz0/BnN1tIs2tzmmqvCsOMMjw== -loose-envify@^1.0.0, loose-envify@^1.4.0: +loose-envify@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -10035,11 +10055,6 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memoize-one@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== - memoize-one@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.2.tgz#6aba5276856d72fb44ead3efab86432f94ba203d" @@ -10837,16 +10852,6 @@ object.entries@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" - integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" @@ -10896,16 +10901,6 @@ object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - obuf@^1.0.0, obuf@^1.1.1, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -11741,33 +11736,10 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -preact-compat@^3.18.4: - version "3.18.4" - resolved "https://registry.yarnpkg.com/preact-compat/-/preact-compat-3.18.4.tgz#fbe76ddd30356c68e3ccde608107104946f2cf8d" - integrity sha512-aR5CvCIDerE2Y201ERVkWQdTAQKhKGNYujEk4tbyfQDInFTrnCCa3KCeGtULZrwy0PNRBjdQa2/Za7qv7ALNFg== - dependencies: - immutability-helper "^2.7.1" - preact-render-to-string "^3.8.2" - preact-transition-group "^1.1.1" - prop-types "^15.6.2" - standalone-react-addons-pure-render-mixin "^0.1.1" - -preact-render-to-string@^3.8.2: - version "3.8.2" - resolved "https://registry.yarnpkg.com/preact-render-to-string/-/preact-render-to-string-3.8.2.tgz#bd72964d705a57da3a9e72098acaa073dd3ceff9" - integrity sha512-przuZPajiurStGgxMoJP0EJeC4xj5CgHv+M7GfF3YxAdhGgEWAkhOSE0xympAFN20uMayntBZpttIZqqLl77fw== - dependencies: - pretty-format "^3.5.1" - -preact-transition-group@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/preact-transition-group/-/preact-transition-group-1.1.1.tgz#f0a49327ea515ece34ea2be864c4a7d29e5d6e10" - integrity sha1-8KSTJ+pRXs406ivoZMSn0p5dbhA= - -preact@^8.4.2: - version "8.4.2" - resolved "https://registry.yarnpkg.com/preact/-/preact-8.4.2.tgz#1263b974a17d1ea80b66590e41ef786ced5d6a23" - integrity sha512-TsINETWiisfB6RTk0wh3/mvxbGRvx+ljeBccZ4Z6MPFKgu/KFGyf2Bmw3Z/jlXhL5JlNKY6QAbA9PVyzIy9//A== +preact@^10.0.5: + version "10.4.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.4.1.tgz#9b3ba020547673a231c6cf16f0fbaef0e8863431" + integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q== prelude-ls@~1.1.2: version "1.1.2" @@ -11814,11 +11786,6 @@ pretty-error@^2.0.2: renderkid "^2.0.1" utila "~0.4" -pretty-format@^3.5.1: - version "3.8.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385" - integrity sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U= - pretty-hrtime@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -11866,23 +11833,6 @@ promise@^8.0.1: dependencies: asap "~2.0.6" -prop-types-extra@^1.0.1, prop-types-extra@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.0.tgz#32609910ea2dcf190366bacd3490d5a6412a605f" - integrity sha512-QFyuDxvMipmIVKD2TwxLVPzMnO4e5oOf1vr3tJIomL8E7d0lr6phTHd5nkPhFIzTD1idBLLEPeylL9g+rrTzRg== - dependencies: - react-is "^16.3.2" - warning "^3.0.0" - -prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - property-expr@^1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f" @@ -12083,56 +12033,6 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-big-calendar@^0.20.4: - version "0.20.4" - resolved "https://registry.yarnpkg.com/react-big-calendar/-/react-big-calendar-0.20.4.tgz#1ef73d3f162fca07ab987b726e706b6617b2d98b" - integrity sha512-HABwo8jZCvKsbUOH5U8fgO6msSsl6dHgSDH//T5OCtvX+S0onFZg9kDbU82x2AtF7lx5s2vAJxGmEA3uPQr0Xg== - dependencies: - "@babel/runtime" "^7.1.5" - classnames "^2.2.6" - date-arithmetic "^3.0.0" - dom-helpers "^3.4.0" - invariant "^2.2.4" - lodash "^4.17.11" - memoize-one "^4.0.3" - prop-types "^15.6.2" - prop-types-extra "^1.1.0" - react-overlays "^0.8.3" - uncontrollable "^6.0.0" - warning "^4.0.2" - -react-is@^16.3.2, react-is@^16.8.1: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" - integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-overlays@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz#fad65eea5b24301cca192a169f5dddb0b20d3ac5" - integrity sha512-h6GT3jgy90PgctleP39Yu3eK1v9vaJAW73GOA/UbN9dJ7aAN4BTZD6793eI1D5U+ukMk17qiqN/wl3diK1Z5LA== - dependencies: - classnames "^2.2.5" - dom-helpers "^3.2.1" - prop-types "^15.5.10" - prop-types-extra "^1.0.1" - react-transition-group "^2.2.0" - warning "^3.0.0" - -react-transition-group@^2.2.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.7.1.tgz#1fe6d54e811e8f9dfd329aa836b39d9cd16587cb" - integrity sha512-b0VJTzNRnXxRpCuxng6QJbAzmmrhBn1BZJfPPnHbH2PIo8msdkajqwtfdyGm/OypPXZNfAHKEqeN15wjMXrRJQ== - dependencies: - dom-helpers "^3.3.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - react-lifecycles-compat "^3.0.4" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -12326,14 +12226,6 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -12604,10 +12496,10 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, dependencies: path-parse "^1.0.6" -resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1: - version "1.15.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" - integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== +resolve@^1.12.0, resolve@^1.13.1: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== dependencies: path-parse "^1.0.6" @@ -13021,14 +12913,6 @@ shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -side-channel@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" - integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== - dependencies: - es-abstract "^1.17.0-next.1" - object-inspect "^1.7.0" - signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -13383,11 +13267,6 @@ staged-git-files@1.1.2: resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b" integrity sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA== -standalone-react-addons-pure-render-mixin@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/standalone-react-addons-pure-render-mixin/-/standalone-react-addons-pure-render-mixin-0.1.1.tgz#3c7409f4c79c40de9ac72c616cf679a994f37551" - integrity sha1-PHQJ9MecQN6axyxhbPZ5qZTzdVE= - static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -13509,18 +13388,6 @@ string-width@^4.1.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" - string.prototype.trimend@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" @@ -14320,13 +14187,6 @@ unc-path-regex@^0.1.2: resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= -uncontrollable@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-6.1.0.tgz#45dcf54b76bf07e0ddf7c1a669caf935d2e101d5" - integrity sha512-2TzEm0pLKauMBZfAZXsgQvLpZHEp95891frCZdGDrSG7dWYaIQhedwLAzi0X8pR8KHNqlmuYEb2cEgbQzr050A== - dependencies: - invariant "^2.2.4" - underscore@^1.8.3: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" @@ -14804,20 +14664,6 @@ vscode-uri@^1.0.6: resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-1.0.8.tgz#9769aaececae4026fb6e22359cb38946580ded59" integrity sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ== -warning@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" - integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= - dependencies: - loose-envify "^1.0.0" - -warning@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" @@ -15422,13 +15268,6 @@ xmlhttprequest-ssl@~1.5.4: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= -xregexp@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" - integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== - dependencies: - "@babel/runtime-corejs3" "^7.8.3" - xss@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.6.tgz#eaf11e9fc476e3ae289944a1009efddd8a124b51"