Calendar Panel: FullCalendar (#5742)

* WIP

* remove big calendar

* remove file

* Convert to lit

* More

* Ready for the public to see? prob not

* Fix types and imports

* Remove dependencies

* ignore the typing that hasnt been finished in Beta

* Convert paper to MWC

* Styling

* View list as name of view | MWC components version

* Updates action directive for ripple. MWC 14.1.0

* Update

* Updates

* Update height styling

* Toggle Button Group

* Adds Toggle group transition

* style updates

* Few fixes

* Fix Yarn lock from merge | height of celndar as parent

* Update package Json and yarn | remove unneeded pkg

* Remove mwc-list

* Search hass.states for calendars instead of api

* Move function to file in data | event fetch logic

* compute state name

* add ha button menu | refresh

* Remove Event ffetch logic

* copy pasta

* Types

* Fix for toggling

* Translations

* Update ha-button-toggle-group

* Update ha-button-toggle-group.ts

* Update ha-button-toggle-group.ts

* Change mobile view

* Locale in fullcalendar

* Comments

* ha-button-menu trigger slot

* Comments

* icon-x

* Update src/panels/calendar/ha-panel-calendar.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/calendar/ha-panel-calendar.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
This commit is contained in:
Zack Arnett 2020-05-06 17:22:12 -04:00 committed by GitHub
parent 9630a58ea7
commit 71492d0467
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 1330 additions and 924 deletions

View File

@ -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"
}

View File

@ -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",
[

View File

@ -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();
});

View File

@ -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 }) => {

View File

@ -24,14 +24,19 @@
"author": "Paulus Schoutsen <Paulus@PaulusSchoutsen.nl> (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": {

View File

@ -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",
];

View File

@ -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`
<div @click=${this._handleClick}>
<slot name="trigger"></slot>
</div>
<mwc-menu>
<slot></slot>
</mwc-menu>
`;
}
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;
}
}

View File

@ -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`
<div>
${this.buttons.map(
(button) => html` <ha-icon-button
.label=${button.label}
.icon=${button.icon}
.value=${button.value}
?active=${this.active === button.value}
@click=${this._handleClick}
>
</ha-icon-button>`
)}
</div>
`;
}
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;
}
}

View File

@ -50,8 +50,7 @@ export class HaIconButton extends LitElement {
--mdc-theme-on-primary: currentColor;
}
ha-icon {
display: inline-flex;
vertical-align: initial;
--ha-icon-display: inline;
}
`;
}

View File

@ -127,11 +127,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;
}
`;

View File

@ -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;

80
src/data/calendar.ts Normal file
View File

@ -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<CalendarEvent[]> => {
const params = encodeURI(
`?start=${start.toISOString()}&end=${end.toISOString()}`
);
const calEvents: CalendarEvent[] = [];
const promises: Promise<any>[] = [];
calendars.forEach((cal) => {
promises.push(
hass.callApi<CalendarEvent[]>(
"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]}`,
}));
};

View File

@ -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`
<link
rel="stylesheet"
href="/static/panels/calendar/react-big-calendar.css"
/>
<style>
div#root {
height: 100%;
width: 100%;
}
</style>
<div id="root"></div>
`;
}
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);

View File

@ -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`
<div class="header">
${!this.narrow
? html`
<div class="navigation">
<mwc-button
outlined
class="today"
@click=${this._handleToday}
>${this.hass.localize(
"ui.panel.calendar.today"
)}</mwc-button
>
<ha-icon-button
label=${this.hass.localize("ui.common.previous")}
icon="hass:chevron-left"
class="prev"
@click=${this._handlePrev}
>
</ha-icon-button>
<ha-icon-button
label=${this.hass.localize("ui.common.next")}
icon="hass:chevron-right"
class="next"
@click=${this._handleNext}
>
</ha-icon-button>
</div>
<h1>
${this.calendar.view.title}
</h1>
<ha-button-toggle-group
.buttons=${viewButtons}
.active=${this._activeView}
@value-changed=${this._handleView}
></ha-button-toggle-group>
`
: html`
<div class="controls">
<mwc-button
outlined
class="today"
@click=${this._handleToday}
>${this.hass.localize(
"ui.panel.calendar.today"
)}</mwc-button
>
<ha-button-toggle-group
.buttons=${viewButtons}
.active=${this._activeView}
@value-changed=${this._handleView}
></ha-button-toggle-group>
</div>
<div class="controls">
<h1>
${this.calendar.view.title}
</h1>
<div>
<ha-icon-button
label=${this.hass.localize("ui.common.previous")}
icon="hass:chevron-left"
class="prev"
@click=${this._handlePrev}
>
</ha-icon-button>
<ha-icon-button
label=${this.hass.localize("ui.common.next")}
icon="hass:chevron-right"
class="next"
@click=${this._handleNext}
>
</ha-icon-button>
</div>
</div>
`}
</div>
`
: ""}
<div id="calendar"></div>
`;
}
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);

View File

@ -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`
<style include="iron-flex ha-style">
.content {
padding: 16px;
@apply --layout-horizontal;
}
ha-big-calendar {
min-height: 500px;
min-width: 100%;
}
#calendars {
padding-right: 16px;
width: 15%;
min-width: 170px;
}
paper-item {
cursor: pointer;
}
div.all_calendars {
height: 20px;
text-align: center;
}
.iron-selected {
background-color: #e5e5e5;
font-weight: normal;
}
:host([narrow]) .content {
flex-direction: column;
}
:host([narrow]) #calendars {
margin-bottom: 24px;
width: 100%;
}
</style>
<app-header-layout has-scrolling-region>
<app-header slot="header" fixed>
<app-toolbar>
<ha-menu-button
hass="[[hass]]"
narrow="[[narrow]]"
></ha-menu-button>
<div main-title>[[localize('panel.calendar')]]</div>
</app-toolbar>
</app-header>
<div class="flex content">
<div id="calendars" class="layout vertical wrap">
<ha-card header="Calendars">
<paper-listbox
id="calendar_list"
multi
on-selected-items-changed="_fetchData"
selected-values="{{selectedCalendars}}"
attr-for-selected="item-name"
>
<template is="dom-repeat" items="[[calendars]]">
<paper-item item-name="[[item.entity_id]]">
<span
class="calendar_color"
style$="background-color: [[item.color]]"
></span>
<span class="calendar_color_spacer"></span> [[item.name]]
</paper-item>
</template>
</paper-listbox>
</ha-card>
</div>
<div class="flex layout horizontal wrap">
<ha-big-calendar
default-date="[[currentDate]]"
default-view="[[currentView]]"
on-navigate="_handleNavigate"
on-view="_handleViewChanged"
events="[[events]]"
>
</ha-big-calendar>
</div>
</div>
</app-header-layout>
`;
}
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);

View File

@ -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`
<app-header-layout has-scrolling-region>
<app-header fixed slot="header">
<app-toolbar>
<ha-menu-button
.hass=${this.hass}
.narrow=${this.narrow}
></ha-menu-button>
<div main-title>${this.hass.localize("panel.calendar")}</div>
<ha-icon-button
icon="hass:refresh"
@click=${this._handleRefresh}
></ha-icon-button>
</app-toolbar>
</app-header>
<div class="content">
<div class="calendar-list">
<div class="calendar-list-header">
${this.hass.localize("ui.panel.calendar.my_calendars")}
</div>
${this._calendars.map(
(selCal) =>
html`<div>
<mwc-formfield .label=${selCal.calendar.name}>
<mwc-checkbox
style=${styleMap({
"--mdc-theme-secondary":
selCal.calendar.backgroundColor,
})}
.value=${selCal.calendar.entity_id}
.checked=${selCal.selected}
@change=${this._handleToggle}
></mwc-checkbox>
</mwc-formfield>
</div>`
)}
</div>
<ha-full-calendar
.events=${this._events}
.narrow=${this.narrow}
.hass=${this.hass}
@view-changed=${this._handleViewChanged}
></ha-full-calendar>
</div>
</app-header-layout>
`;
}
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<CalendarEvent[]> {
if (!calendars.length) {
return [];
}
return fetchCalendarEvents(this.hass, start, end, calendars);
}
private async _handleToggle(ev): Promise<void> {
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<CalendarViewChanged>
): Promise<void> {
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<void> {
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;
}
}

View File

@ -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";
}

View File

@ -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)",

View File

@ -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.",

View File

@ -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;

979
yarn.lock
View File

@ -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==
"@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==
"@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/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/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==
"@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" "^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/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/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==
"@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/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/feature-targeting" "^6.0.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/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/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==
"@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/animation" "^5.0.0"
"@material/base" "^5.0.0"
"@material/feature-targeting" "^5.0.0"
"@material/theme" "^5.0.0"
"@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/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/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/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" "=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/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/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.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" "=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==
"@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" "=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/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" "=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/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-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-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/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"
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==
dependencies:
"@material/mwc-base" "^0.13.0"
lit-element "^2.2.1"
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==
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/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-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-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/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/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/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==
"@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/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/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-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.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.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" "=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.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.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/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/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==
"@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/feature-targeting" "^5.0.0"
"@material/rtl" "^5.0.0"
"@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/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/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==
dependencies:
"@material/feature-targeting" "^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/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/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/base" "^5.0.0"
"@material/feature-targeting" "^5.0.0"
"@material/feature-targeting" "^6.0.0"
"@material/rtl" "^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/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/feature-targeting" "^5.0.0"
"@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@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" "^6.0.0"
"@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" "^6.0.0"
"@material/feature-targeting" "^6.0.0"
"@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" "^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"