diff --git a/.devcontainer/initialize.sh b/.devcontainer/initialize.sh index 850b264e..0cddc959 100755 --- a/.devcontainer/initialize.sh +++ b/.devcontainer/initialize.sh @@ -10,7 +10,7 @@ echo "Writing ${wanted_line} to ${file}" >&2 if [[ -f "${file}" ]] && grep --quiet "^${wanted_line_key}=" "${file}"; then sed --in-place "s,^${wanted_line_key}=.*,${wanted_line}," "${file}" else - echo "${wanted_line}" >"${file}" + echo "${wanted_line}" >>"${file}" fi set -x diff --git a/package.json b/package.json index 193d7f3a..c2de51ff 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,6 @@ "@cycjimmy/jsmpeg-player": "^6.0.2", "@egjs/hammerjs": "^2.0.17", "@lit-labs/task": "^1.1.1", - "@material/mwc-menu": "^0.26.1", - "@material/rtl": "^14.0.0", "@types/bluebird": "^3.5.36", "component-emitter": "^1.3.0", "crypto": "^1.0.1", @@ -69,7 +67,7 @@ "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.32.1", "sass": "^1.52.2", - "typescript": "^4.7.3" + "typescript": "^4.7.4" }, "scripts": { "start": "rollup -c --watch", diff --git a/src/action-handler-directive.ts b/src/action-handler-directive.ts index b381996d..e7309ddf 100644 --- a/src/action-handler-directive.ts +++ b/src/action-handler-directive.ts @@ -1,14 +1,14 @@ import { fireEvent } from 'custom-card-helpers'; import type { ActionHandlerDetail, - ActionHandlerOptions + ActionHandlerOptions, } from 'custom-card-helpers/dist/types.d.js'; import { noChange } from 'lit'; import { AttributePart, directive, Directive, - DirectiveParameters + DirectiveParameters, } from 'lit/directive.js'; import { stopEventFromActivatingCardWideActions } from './utils/action.js'; @@ -20,12 +20,6 @@ interface ActionHandlerElement extends HTMLElement { actionHandlerOptions?: FrigateCardActionHandlerOptions; } -declare global { - interface HASSDomEvents { - action: ActionHandlerDetail; - } -} - interface FrigateCardActionHandlerOptions extends ActionHandlerOptions { allowPropagation?: boolean; } @@ -196,3 +190,12 @@ export const actionHandler = directive( render(_options?: FrigateCardActionHandlerOptions) {} }, ); + +declare global { + interface HTMLElementTagNameMap { + 'action-handler-frigate-card': ActionHandler; + } + interface HASSDomEvents { + action: ActionHandlerDetail; + } +} diff --git a/src/card.ts b/src/card.ts index 046cef96..7984ebe0 100644 --- a/src/card.ts +++ b/src/card.ts @@ -7,7 +7,7 @@ import { TemplateResult, unsafeCSS, } from 'lit'; -import { customElement, property, state } from 'lit/decorators.js'; +import { customElement, state } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { createRef, ref, Ref } from 'lit/directives/ref.js'; import { StyleInfo, styleMap } from 'lit/directives/style-map.js'; @@ -148,7 +148,7 @@ console.info( */ @customElement('frigate-card') export class FrigateCard extends LitElement { - @property({ attribute: false }) + @state() protected _hass?: ExtendedHomeAssistant; // The main base configuration object. For most usecases use getConfig() to @@ -162,7 +162,7 @@ export class FrigateCard extends LitElement { @state() protected _overriddenConfig?: FrigateCardConfig; - @property({ attribute: false }) + @state() protected _view?: View; protected _conditionState?: ConditionState; @@ -1858,3 +1858,9 @@ export class FrigateCard extends LitElement { return 6; } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card": FrigateCard + } +} diff --git a/src/components/drawer.ts b/src/components/drawer.ts index 1f687b03..8af8fd69 100644 --- a/src/components/drawer.ts +++ b/src/components/drawer.ts @@ -9,6 +9,7 @@ import { import { customElement, property } from 'lit/decorators.js'; import { createRef, ref, Ref } from 'lit/directives/ref.js'; import 'side-drawer'; +import { SideDrawer } from 'side-drawer'; import drawerInjectStyle from '../scss/drawer-inject.scss'; import drawerStyle from '../scss/drawer.scss'; @@ -125,3 +126,10 @@ export class FrigateCardDrawer extends LitElement { return unsafeCSS(drawerStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-drawer": FrigateCardDrawer + "side-drawer": SideDrawer, + } +} diff --git a/src/components/elements.ts b/src/components/elements.ts index 0606d546..e09c48ef 100644 --- a/src/components/elements.ts +++ b/src/components/elements.ts @@ -7,7 +7,7 @@ import { TemplateResult, unsafeCSS } from 'lit'; -import { customElement, property } from 'lit/decorators.js'; +import { customElement, property, state } from 'lit/decorators.js'; import { ConditionState, fetchStateAndEvaluateCondition } from '../card-condition.js'; import { localize } from '../localize/localize.js'; import elementsStyle from '../scss/elements.scss'; @@ -67,19 +67,19 @@ interface HuiConditionalElement extends HTMLElement { @customElement('frigate-card-elements-core') export class FrigateCardElementsCore extends LitElement { @property({ attribute: false }) - protected elements: PictureElements; + public elements: PictureElements; /** * Need to ensure card re-renders when conditionState changes, hence having it * as a property even though it is not currently directly used by this class. */ @property({ attribute: false }) - protected conditionState?: ConditionState; + public conditionState?: ConditionState; protected _root: HuiConditionalElement | null = null; @property({ attribute: false }) - protected hass?: HomeAssistant; + public hass?: HomeAssistant; /** * Create a transparent render root. @@ -159,7 +159,7 @@ export class FrigateCardElements extends LitElement { public conditionState?: ConditionState; @property({ attribute: false }) - protected elements: PictureElements; + public elements: PictureElements; protected _boundMenuRemoveHandler = this._menuRemoveHandler.bind(this); @@ -253,7 +253,7 @@ export class FrigateCardElementsConditional extends LitElement { // elements), the hass object is used as the (only) trigger for condition // re-fetch even if hass itself has not changed. @property({ attribute: false, hasChanged: () => true }) - protected hass?: HomeAssistant; + public hass?: HomeAssistant; /** * Set the card configuration. @@ -299,7 +299,7 @@ export class FrigateCardElementsConditional extends LitElement { // A base class for rendering menu icons / menu state icons. export class FrigateCardElementsBaseMenuIcon extends LitElement { - @property({ attribute: false }) + @state() protected _config: T | null = null; /** @@ -342,3 +342,15 @@ export class FrigateCardElementsMenuSubmenu extends FrigateCardElementsBaseMenuI @customElement('frigate-card-menu-submenu-select') export class FrigateCardElementsMenuSubmenuSelect extends FrigateCardElementsBaseMenuIcon {} + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-conditional": FrigateCardElementsConditional + "frigate-card-elements": FrigateCardElements + "frigate-card-menu-submenu-select": FrigateCardElementsMenuSubmenuSelect + "frigate-card-menu-submenu": FrigateCardElementsMenuSubmenu + "frigate-card-menu-state-icon": FrigateCardElementsMenuStateIcon + "frigate-card-menu-icon": FrigateCardElementsMenuIcon + "frigate-card-elements-core": FrigateCardElementsCore + } +} diff --git a/src/components/gallery.ts b/src/components/gallery.ts index 92cb52d8..0204338a 100644 --- a/src/components/gallery.ts +++ b/src/components/gallery.ts @@ -31,16 +31,16 @@ import { THUMBNAIL_DETAILS_WIDTH_MIN } from './thumbnail.js'; @customElement('frigate-card-gallery') export class FrigateCardGallery extends LitElement { @property({ attribute: false }) - protected hass?: HomeAssistant; + public hass?: HomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected galleryConfig?: GalleryConfig; + public galleryConfig?: GalleryConfig; @property({ attribute: false }) - protected cameras?: Map; + public cameras?: Map; /** * Master render method. @@ -108,13 +108,13 @@ export class FrigateCardGallery extends LitElement { @customElement('frigate-card-gallery-core') export class FrigateCardGalleryCore extends LitElement { @property({ attribute: false }) - protected hass?: HomeAssistant; + public hass?: HomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected galleryConfig?: GalleryConfig; + public galleryConfig?: GalleryConfig; protected _resizeObserver: ResizeObserver; @@ -281,3 +281,10 @@ export class FrigateCardGalleryCore extends LitElement { return unsafeCSS(galleryStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-gallery-core": FrigateCardGalleryCore + "frigate-card-gallery": FrigateCardGallery + } +} diff --git a/src/components/image.ts b/src/components/image.ts index 4387c4cc..d11f4260 100644 --- a/src/components/image.ts +++ b/src/components/image.ts @@ -29,13 +29,13 @@ export class FrigateCardImage extends LitElement { public hass?: HomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected cameraConfig?: CameraConfig; + public cameraConfig?: CameraConfig; @property({ attribute: false }) - protected imageConfig?: ImageViewConfig; + public imageConfig?: ImageViewConfig; protected _refImage: Ref = createRef(); @@ -249,3 +249,9 @@ export class FrigateCardImage extends LitElement { return unsafeCSS(imageStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-image": FrigateCardImage + } +} diff --git a/src/components/live.ts b/src/components/live.ts index ca64952e..9dc91315 100644 --- a/src/components/live.ts +++ b/src/components/live.ts @@ -52,6 +52,8 @@ import { dispatchErrorMessageEvent } from './message.js'; import './next-prev-control.js'; import { FrigateCardNextPreviousControl } from './next-prev-control.js'; import './title-control.js'; +import "./surround-thumbnails"; +import "../patches/ha-camera-stream"; // Number of seconds a signed URL is valid for. const URL_SIGN_EXPIRY_SECONDS = 24 * 60 * 60; @@ -65,19 +67,19 @@ export class FrigateCardLive extends LitElement { public conditionState?: ConditionState; @property({ attribute: false }) - protected hass?: ExtendedHomeAssistant; + public hass?: ExtendedHomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected cameras?: Map; + public cameras?: Map; @property({ attribute: false }) - protected liveConfig?: LiveConfig; + public liveConfig?: LiveConfig; @property({ attribute: false, hasChanged: contentsChanged }) - protected liveOverrides?: LiveOverrides; + public liveOverrides?: LiveOverrides; set preloaded(preloaded: boolean) { this._preloaded = preloaded; @@ -143,7 +145,7 @@ export class FrigateCardLive extends LitElement { .hass=${this.hass} .view=${this.view} .config=${config.controls.thumbnails} - .browseMediaParams=${browseMediaParams} + .browseMediaParams=${browseMediaParams ?? undefined} ?fetch=${!this._preloaded} > ; + public view?: Readonly; @property({ attribute: false }) - protected cameras?: Map; + public cameras?: Map; @property({ attribute: false }) - protected liveConfig?: LiveConfig; + public liveConfig?: LiveConfig; @property({ attribute: false, hasChanged: contentsChanged }) - protected liveOverrides?: LiveOverrides; + public liveOverrides?: LiveOverrides; @property({ attribute: false }) - protected preloaded?: boolean; + public preloaded?: boolean; @property({ attribute: false }) - protected conditionState?: ConditionState; + public conditionState?: ConditionState; // Index between camera name and slide number. protected _cameraToSlide: Record = {}; @@ -576,13 +578,13 @@ export class FrigateCardLiveCarousel extends FrigateCardMediaCarousel { @customElement('frigate-card-live-provider') export class FrigateCardLiveProvider extends LitElement { @property({ attribute: false }) - protected hass?: ExtendedHomeAssistant; + public hass?: ExtendedHomeAssistant; @property({ attribute: false }) - protected cameraConfig?: CameraConfig; + public cameraConfig?: CameraConfig; @property({ attribute: false }) - protected liveConfig?: LiveConfig; + public liveConfig?: LiveConfig; // Whether or not to disable this entity. If `true`, no contents are rendered // until this attribute is set to `false` (this is useful for lazy loading). @@ -694,10 +696,10 @@ export class FrigateCardLiveProvider extends LitElement { @customElement('frigate-card-live-ha') export class FrigateCardLiveFrigate extends LitElement { @property({ attribute: false }) - protected hass?: HomeAssistant; + public hass?: HomeAssistant; @property({ attribute: false }) - protected cameraConfig?: CameraConfig; + public cameraConfig?: CameraConfig; protected _playerRef: Ref = createRef(); @@ -785,10 +787,10 @@ export class FrigateCardLiveFrigate extends LitElement { @customElement('frigate-card-live-webrtc-card') export class FrigateCardLiveWebRTCCard extends LitElement { @property({ attribute: false, hasChanged: contentsChanged }) - protected webRTCConfig?: WebRTCCardConfig; + public webRTCConfig?: WebRTCCardConfig; @property({ attribute: false }) - protected cameraConfig?: CameraConfig; + public cameraConfig?: CameraConfig; protected hass?: HomeAssistant; @@ -959,10 +961,10 @@ export class FrigateCardLiveWebRTCCard extends LitElement { @customElement('frigate-card-live-jsmpeg') export class FrigateCardLiveJSMPEG extends LitElement { @property({ attribute: false }) - protected cameraConfig?: CameraConfig; + public cameraConfig?: CameraConfig; @property({ attribute: false, hasChanged: contentsChanged }) - protected jsmpegConfig?: JSMPEGConfig; + public jsmpegConfig?: JSMPEGConfig; protected hass?: ExtendedHomeAssistant; @@ -1178,3 +1180,14 @@ export class FrigateCardLiveJSMPEG extends LitElement { return unsafeCSS(liveJSMPEGStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-live-jsmpeg": FrigateCardLiveJSMPEG + "frigate-card-live-webrtc-card": FrigateCardLiveWebRTCCard + "frigate-card-live-ha": FrigateCardLiveFrigate + "frigate-card-live-provider": FrigateCardLiveProvider + "frigate-card-live-carousel": FrigateCardLiveCarousel + "frigate-card-live": FrigateCardLive + } +} diff --git a/src/components/media-carousel.ts b/src/components/media-carousel.ts index aba35b83..c585b553 100644 --- a/src/components/media-carousel.ts +++ b/src/components/media-carousel.ts @@ -289,3 +289,9 @@ export class FrigateCardMediaCarousel extends FrigateCardCarousel { return [super.styles, unsafeCSS(mediaCarouselStyle)]; } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-media-carousel": FrigateCardMediaCarousel + } +} diff --git a/src/components/menu.ts b/src/components/menu.ts index cb1204ef..6201f4a7 100644 --- a/src/components/menu.ts +++ b/src/components/menu.ts @@ -41,6 +41,9 @@ export class FrigateCardMenu extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; + @property({ attribute: true, type: Boolean, reflect: true }) + public expanded = false; + set menuConfig(menuConfig: MenuConfig) { this._menuConfig = menuConfig; if (menuConfig) { @@ -58,9 +61,6 @@ export class FrigateCardMenu extends LitElement { @state() protected _menuConfig?: MenuConfig; - @property({ attribute: true, type: Boolean, reflect: true }) - protected expanded = false; - @property({ attribute: false }) public buttons: MenuButton[] = []; @@ -340,3 +340,9 @@ export class FrigateCardMenu extends LitElement { return unsafeCSS(menuStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-menu": FrigateCardMenu + } +} diff --git a/src/components/message.ts b/src/components/message.ts index aa7edc21..e7a1574d 100644 --- a/src/components/message.ts +++ b/src/components/message.ts @@ -1,4 +1,10 @@ -import { CSSResultGroup, html, LitElement, TemplateResult, unsafeCSS } from 'lit'; +import { + CSSResultGroup, + html, + LitElement, + TemplateResult, + unsafeCSS, +} from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { TROUBLESHOOTING_URL } from '../const.js'; import { localize } from '../localize/localize.js'; @@ -9,13 +15,13 @@ import { dispatchFrigateCardEvent } from '../utils/basic.js'; @customElement('frigate-card-message') export class FrigateCardMessage extends LitElement { @property({ attribute: false }) - protected message = ''; + public message: string | TemplateResult<1> = ''; @property({ attribute: false }) - protected context?: unknown; + public context?: unknown; @property({ attribute: false }) - protected icon?: string; + public icon?: string; // Render the menu. protected render(): TemplateResult { @@ -43,7 +49,7 @@ export class FrigateCardMessage extends LitElement { @customElement('frigate-card-error-message') export class FrigateCardErrorMessage extends LitElement { @property({ attribute: false }) - protected message?: Message; + public message?: Message; protected render(): TemplateResult | void { if (!this.message) { @@ -66,7 +72,7 @@ export class FrigateCardErrorMessage extends LitElement { @customElement('frigate-card-progress-indicator') export class FrigateCardProgressIndicator extends LitElement { @property({ attribute: false }) - protected message = ''; + public message: string | TemplateResult = ''; protected render(): TemplateResult { return html`
@@ -148,11 +154,19 @@ export function dispatchErrorMessageEvent( */ export function dispatchFrigateCardErrorEvent( element: EventTarget, - error: FrigateCardError + error: FrigateCardError, ): void { dispatchFrigateCardEvent(element, 'message', { message: error.message, type: 'error', - context: error.context || '' + context: error.context || '', }); } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-progress-indicator": FrigateCardProgressIndicator + 'frigate-card-error-message': FrigateCardErrorMessage; + 'frigate-card-message': FrigateCardMessage; + } +} diff --git a/src/components/next-prev-control.ts b/src/components/next-prev-control.ts index ec9882ac..fa5a31d2 100644 --- a/src/components/next-prev-control.ts +++ b/src/components/next-prev-control.ts @@ -78,3 +78,9 @@ export class FrigateCardNextPreviousControl extends LitElement { return unsafeCSS(controlStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-next-previous-control": FrigateCardNextPreviousControl + } +} diff --git a/src/components/submenu.ts b/src/components/submenu.ts index ae068309..a1bd6247 100644 --- a/src/components/submenu.ts +++ b/src/components/submenu.ts @@ -1,4 +1,3 @@ -import type { Corner } from '@material/mwc-menu'; import { HomeAssistant } from 'custom-card-helpers'; import { CSSResultGroup, @@ -6,17 +5,22 @@ import { LitElement, PropertyValues, TemplateResult, - unsafeCSS + unsafeCSS, } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { ifDefined } from 'lit/directives/if-defined.js'; import { styleMap } from 'lit/directives/style-map.js'; import { actionHandler } from '../action-handler-directive.js'; import submenuStyle from '../scss/submenu.scss'; -import { MenuSubmenu, MenuSubmenuItem, MenuSubmenuSelect } from '../types.js'; +import { + MenuSubmenu, + MenuSubmenuItem, + MenuSubmenuSelect, + StateParameters, +} from '../types.js'; import { frigateCardHasAction, - stopEventFromActivatingCardWideActions + stopEventFromActivatingCardWideActions, } from '../utils/action.js'; import { isHassDifferent, refreshDynamicStateParameters } from '../utils/ha'; import { domainIcon } from '../utils/icons/domain-icon.js'; @@ -29,14 +33,24 @@ export class FrigateCardSubmenu extends LitElement { @property({ attribute: false }) public submenu?: MenuSubmenu; - @property({ attribute: false }) - public corner?: Corner; - protected _renderItem(item: MenuSubmenuItem): TemplateResult | void { if (!this.hass) { return; } const stateParameters = refreshDynamicStateParameters(this.hass, { ...item }); + const getIcon = (stateParameters: StateParameters): TemplateResult => { + if (stateParameters.icon) { + return html` + `; + } + return html``; + }; return html` ${stateParameters.title || ''} ${item.subtitle ? html`${item.subtitle}` : ''} - ${stateParameters.icon - ? html` - ` - : ``} + ${getIcon(stateParameters)} `; } @@ -78,7 +83,7 @@ export class FrigateCardSubmenu extends LitElement { } return html` `; } } + +declare global { + interface HTMLElementTagNameMap { + 'frigate-card-submenu': FrigateCardSubmenu; + 'frigate-card-submenu-select': FrigateCardSubmenuSelect; + } +} diff --git a/src/components/surround-thumbnails.ts b/src/components/surround-thumbnails.ts index 22705353..396698b6 100644 --- a/src/components/surround-thumbnails.ts +++ b/src/components/surround-thumbnails.ts @@ -5,7 +5,7 @@ import { LitElement, PropertyValues, TemplateResult, - unsafeCSS + unsafeCSS, } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import surroundThumbnailsStyle from '../scss/surround.scss'; @@ -14,12 +14,12 @@ import { FrigateBrowseMediaSource, FrigateCardError, FrigateCardView, - ThumbnailsControlConfig + ThumbnailsControlConfig, } from '../types.js'; import { contentsChanged, dispatchFrigateCardEvent } from '../utils/basic.js'; import { getFirstTrueMediaChildIndex, - multipleBrowseMediaQueryMerged + multipleBrowseMediaQueryMerged, } from '../utils/ha/browse-media'; import { View } from '../view.js'; import { dispatchFrigateCardErrorEvent } from './message.js'; @@ -29,24 +29,22 @@ import { ThumbnailCarouselTap } from './thumbnail-carousel.js'; @customElement('frigate-card-surround-thumbnails') export class FrigateCardSurround extends LitElement { @property({ attribute: false }) - protected hass?: HomeAssistant; + public hass?: HomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected config?: ThumbnailsControlConfig; + public config?: ThumbnailsControlConfig; @property({ attribute: false }) - protected targetView?: FrigateCardView; + public targetView?: FrigateCardView; @property({ attribute: true, type: Boolean }) - protected fetch?: boolean; + public fetch?: boolean; @property({ attribute: false, hasChanged: contentsChanged }) - protected browseMediaParams?: - | BrowseMediaQueryParameters - | BrowseMediaQueryParameters[]; + public browseMediaParams?: BrowseMediaQueryParameters | BrowseMediaQueryParameters[]; /** * Fetch thumbnail media when a target is not specified in the view (e.g. for @@ -170,3 +168,9 @@ export class FrigateCardSurround extends LitElement { return unsafeCSS(surroundThumbnailsStyle); } } + +declare global { + interface HTMLElementTagNameMap { + 'frigate-card-surround-thumbnails': FrigateCardSurround; + } +} diff --git a/src/components/surround.ts b/src/components/surround.ts index 586f5191..414058ab 100644 --- a/src/components/surround.ts +++ b/src/components/surround.ts @@ -69,3 +69,9 @@ export class FrigateCardSurround extends LitElement { return unsafeCSS(surroundStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-surround": FrigateCardSurround + } +} diff --git a/src/components/thumbnail-carousel.ts b/src/components/thumbnail-carousel.ts index 36d6940f..82920299 100644 --- a/src/components/thumbnail-carousel.ts +++ b/src/components/thumbnail-carousel.ts @@ -21,7 +21,7 @@ export interface ThumbnailCarouselTap { @customElement('frigate-card-thumbnail-carousel') export class FrigateCardThumbnailCarousel extends FrigateCardCarousel { @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; // Use contentsChanged here to avoid the carousel rebuilding and resetting in // front of the user, unless the contents have actually changed. @@ -240,3 +240,9 @@ export class FrigateCardThumbnailCarousel extends FrigateCardCarousel { return [super.styles, unsafeCSS(thumbnailCarouselStyle)]; } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-thumbnail-carousel": FrigateCardThumbnailCarousel + } +} diff --git a/src/components/thumbnail.ts b/src/components/thumbnail.ts index e052440f..dde56377 100644 --- a/src/components/thumbnail.ts +++ b/src/components/thumbnail.ts @@ -132,7 +132,7 @@ export class FrigateCardThumbnail extends LitElement { // Data-binding based interface // ============================ @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) public target?: FrigateBrowseMediaSource | null; @@ -253,3 +253,13 @@ export class FrigateCardThumbnail extends LitElement { return unsafeCSS(thumbnailStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-thumbnail": FrigateCardThumbnail + "frigate-card-thumbnail-details-recording": FrigateCardThumbnailDetailsRecording + "frigate-card-thumbnail-details-event": FrigateCardThumbnailDetailsEvent + "frigate-card-thumbnail-feature-recording": FrigateCardThumbnailFeatureRecording + "frigate-card-thumbnail-feature-event": FrigateCardThumbnailFeatureEvent + } +} diff --git a/src/components/timeline.ts b/src/components/timeline.ts index 51d46e48..d4a9ead4 100644 --- a/src/components/timeline.ts +++ b/src/components/timeline.ts @@ -424,16 +424,16 @@ class TimelineDataManager { @customElement('frigate-card-timeline') export class FrigateCardTimeline extends LitElement { @property({ attribute: false }) - protected hass?: ExtendedHomeAssistant; + public hass?: ExtendedHomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected cameras?: Map; + public cameras?: Map; @property({ attribute: false }) - protected timelineConfig?: TimelineConfig; + public timelineConfig?: TimelineConfig; /** * Master render method. @@ -470,16 +470,16 @@ export class FrigateCardTimeline extends LitElement { @customElement('frigate-card-timeline-core') export class FrigateCardTimelineCore extends LitElement { @property({ attribute: false }) - protected hass?: ExtendedHomeAssistant; + public hass?: ExtendedHomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected cameras?: Map; + public cameras?: Map; @property({ attribute: false }) - protected timelineConfig?: TimelineConfig; + public timelineConfig?: TimelineConfig; protected _data = new TimelineDataManager({ tooltipCallback: this._getTooltip.bind(this), @@ -1237,3 +1237,10 @@ export class FrigateCardTimelineCore extends LitElement { return unsafeCSS(timelineCoreStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-timeline-core": FrigateCardTimelineCore + "frigate-card-timeline": FrigateCardTimeline + } +} diff --git a/src/components/title-control.ts b/src/components/title-control.ts index 254a2b98..bdd524e1 100644 --- a/src/components/title-control.ts +++ b/src/components/title-control.ts @@ -83,3 +83,9 @@ export class FrigateCardTitleControl extends LitElement { return unsafeCSS(titleStyle); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-title-control": FrigateCardTitleControl + } +} diff --git a/src/components/viewer.ts b/src/components/viewer.ts index f29b5dd3..ebfa8bfe 100644 --- a/src/components/viewer.ts +++ b/src/components/viewer.ts @@ -47,23 +47,25 @@ import { FrigateCardMediaCarousel, IMG_EMPTY } from './media-carousel.js'; import './next-prev-control.js'; import { FrigateCardNextPreviousControl } from './next-prev-control.js'; import './title-control.js'; +import "../patches/ha-hls-player"; +import "./surround-thumbnails"; @customElement('frigate-card-viewer') export class FrigateCardViewer extends LitElement { @property({ attribute: false }) - protected hass?: ExtendedHomeAssistant; + public hass?: ExtendedHomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; @property({ attribute: false }) - protected viewerConfig?: ViewerConfig; + public viewerConfig?: ViewerConfig; @property({ attribute: false }) - protected cameras?: Map; + public cameras?: Map; @property({ attribute: false }) - protected resolvedMediaCache?: ResolvedMediaCache; + public resolvedMediaCache?: ResolvedMediaCache; /** * Master render method. @@ -132,10 +134,10 @@ const FRIGATE_CARD_HLS_SELECTOR = 'frigate-card-ha-hls-player'; @customElement('frigate-card-viewer-carousel') export class FrigateCardViewerCarousel extends FrigateCardMediaCarousel { @property({ attribute: false }) - protected hass?: ExtendedHomeAssistant; + public hass?: ExtendedHomeAssistant; @property({ attribute: false }) - protected view?: Readonly; + public view?: Readonly; // Resetting the viewer configuration causes a full reset so ensure the config // has actually changed with a full comparison (dynamic configuration @@ -143,13 +145,13 @@ export class FrigateCardViewerCarousel extends FrigateCardMediaCarousel { // could lead to the address of the viewerConfig changing without it being // semantically different). @property({ attribute: false, hasChanged: contentsChanged }) - protected viewerConfig?: ViewerConfig; + public viewerConfig?: ViewerConfig; @property({ attribute: false }) - protected browseMediaQueryParameters?: BrowseMediaQueryParameters[] | null; + public browseMediaQueryParameters?: BrowseMediaQueryParameters[] | null; @property({ attribute: false }) - protected resolvedMediaCache?: ResolvedMediaCache; + public resolvedMediaCache?: ResolvedMediaCache; // Mapping of slide # to FrigateBrowseMediaSource child #. // (Folders are not media items that can be rendered). @@ -787,3 +789,10 @@ export class FrigateCardViewerCarousel extends FrigateCardMediaCarousel { `; } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-viewer-carousel": FrigateCardViewerCarousel + "frigate-card-viewer": FrigateCardViewer + } +} diff --git a/src/editor.ts b/src/editor.ts index 6fd591ca..1fc618cd 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -205,7 +205,7 @@ export class FrigateCardEditor extends LitElement implements LovelaceCardEditor protected _initialized = false; protected _configUpgradeable = false; - @property({ attribute: false }) + @state() protected _expandedMenus: Record = {}; protected _viewModes: EditorSelectOption[] = [ @@ -1489,3 +1489,9 @@ export class FrigateCardEditor extends LitElement implements LovelaceCardEditor return unsafeCSS(frigate_card_editor_style); } } + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-editor": FrigateCardEditor + } +} diff --git a/src/patches/ha-camera-stream.ts b/src/patches/ha-camera-stream.ts index e0afa4fc..8be48613 100644 --- a/src/patches/ha-camera-stream.ts +++ b/src/patches/ha-camera-stream.ts @@ -14,6 +14,8 @@ import { customElement } from 'lit/decorators.js'; import { query } from 'lit/decorators/query.js'; import { FrigateCardMediaPlayer } from '../types.js'; import { dispatchMediaShowEvent } from '../utils/media-info.js'; +import "./ha-hls-player"; +import "./ha-web-rtc-player"; customElements.whenDefined('ha-camera-stream').then(() => { // ======================================================================================== @@ -151,3 +153,9 @@ customElements.whenDefined('ha-camera-stream').then(() => { } } }); + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-ha-camera-stream": FrigateCardHaCameraStream + } +} diff --git a/src/patches/ha-hls-player.ts b/src/patches/ha-hls-player.ts index 92b24c1e..b5456155 100644 --- a/src/patches/ha-hls-player.ts +++ b/src/patches/ha-hls-player.ts @@ -109,3 +109,9 @@ customElements.whenDefined('ha-hls-player').then(() => { } } }); + +declare global { + interface HTMLElementTagNameMap { + "frigate-card-ha-hls-player": FrigateCardHaHlsPlayer + } +} diff --git a/src/patches/ha-web-rtc-player.ts b/src/patches/ha-web-rtc-player.ts index 74283264..6a18242b 100644 --- a/src/patches/ha-web-rtc-player.ts +++ b/src/patches/ha-web-rtc-player.ts @@ -93,3 +93,9 @@ customElements.whenDefined('ha-web-rtc-player').then(() => { } } }); + +declare global { + interface HTMLElementTagNameMap { + 'frigate-card-ha-web-rtc-player': FrigateCardHaWebRtcPlayer; + } +} diff --git a/src/types.ts b/src/types.ts index 2914c582..31f2e02d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -3,9 +3,7 @@ import { ConfirmationRestrictionConfig, CustomActionConfig, HomeAssistant, - LovelaceCard, LovelaceCardConfig, - LovelaceCardEditor, MoreInfoActionConfig, NavigateActionConfig, NoActionConfig, @@ -24,13 +22,6 @@ export const BUTTON_SIZE_MIN = 20; export const THUMBNAIL_WIDTH_MAX = 175; export const THUMBNAIL_WIDTH_MIN = 75; -declare global { - interface HTMLElementTagNameMap { - 'frigate-card-editor': LovelaceCardEditor; - 'hui-error-card': LovelaceCard; - } -} - /** * Internal types. */ diff --git a/tsconfig.json b/tsconfig.json index 4bd5772a..0b7df973 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,11 +3,7 @@ "target": "es2017", "module": "es2020", "moduleResolution": "node", - "lib": [ - "es2017", - "dom", - "dom.iterable" - ], + "lib": ["es2017", "dom", "dom.iterable"], "noEmit": true, "noUnusedParameters": true, "noImplicitReturns": true, @@ -18,6 +14,35 @@ "resolveJsonModule": true, "experimentalDecorators": true, "esModuleInterop": true, - "sourceMap": true + "sourceMap": true, + "plugins": [ + { + "name": "ts-lit-plugin", + "strict": false, + // These tags are provided by the HA frontend and [almost all] cannot be + // imported by a custom card directly. + "globalTags": [ + "ha-card", + "ha-icon", + "ha-icon-button", + "ha-button-menu", + "ha-circular-progress", + "ha-selector", + "ha-svg-icon", + "mwc-button", + "mwc-list-item", + "paper-toast" + ], + "rules": { + "no-unknown-tag-name": "error", + "no-missing-import": "error", + "no-unclosed-tag": "error", + "no-incompatible-type-binding": "warning", + "no-invalid-css": "warning", + "no-missing-element-type-definition": "warning", + "no-property-visibility-mismatch": "error" + } + } + ] } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index d0e933c4..d4a29f62 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,14 +18,14 @@ "@babel/highlight" "^7.16.7" "@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" + integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg== "@babel/core@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" - integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" + integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" @@ -33,10 +33,10 @@ "@babel/helper-compilation-targets" "^7.18.2" "@babel/helper-module-transforms" "^7.18.0" "@babel/helpers" "^7.18.2" - "@babel/parser" "^7.18.0" + "@babel/parser" "^7.18.5" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" + "@babel/traverse" "^7.18.5" + "@babel/types" "^7.18.4" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -195,10 +195,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.16.7", "@babel/parser@^7.18.0": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" - integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== +"@babel/parser@^7.16.7", "@babel/parser@^7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" + integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== "@babel/plugin-proposal-class-properties@^7.17.12": version "7.17.12" @@ -236,10 +236,10 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" - integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== +"@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" + integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.18.2" @@ -247,12 +247,12 @@ "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.0" - "@babel/types" "^7.18.2" + "@babel/parser" "^7.18.5" + "@babel/types" "^7.18.4" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2": +"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== @@ -407,277 +407,6 @@ resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.3.2.tgz#43e470537b6ec2c23510c07812616d5aa27a17cd" integrity sha512-A2e18XzPMrIh35nhIdE4uoqRzoIpEU5vZYuQN4S3Ee1zkGdYC27DP12pewbw/RLgPHzaE4kx/YqxMzebOpm0dA== -"@material/animation@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/animation/-/animation-14.0.0-canary.53b3cad2f.0.tgz#5610fca9ddfa240692ae1fc7098b5f29975dec93" - integrity sha512-GBuR4VmcTQW1D0lPXEosf5Giho72LLbyGIydWGtaEUtLJoive/D9kFkwTN4Fsyt9Kkl7hbhs35vrNe6QkAH4/Q== - dependencies: - tslib "^2.1.0" - -"@material/base@14.0.0-canary.53b3cad2f.0", "@material/base@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/base/-/base-14.0.0-canary.53b3cad2f.0.tgz#ada9928175c9a2f6db116e95854c3d72ab6846c3" - integrity sha512-UJKbXwZtkrA3sfQDmj8Zbw1Q3Tqtl6KdfVFws95Yf7TCUgTFzbZI/FSx1w7dVugQPOEnIBuZnzqZam/MtHkx4w== - dependencies: - tslib "^2.1.0" - -"@material/density@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/density/-/density-14.0.0-canary.53b3cad2f.0.tgz#a67e49fdbfc5347b8757ea14654197540762c20a" - integrity sha512-Eh/vZ3vVyqtpylg5Ci33qlgtToS4H1/ppd450Ib3tcdISIoodgijYY0w4XsRvrnZgbI/h/1STFdLxdzS0UNuFw== - dependencies: - tslib "^2.1.0" - -"@material/dom@14.0.0-canary.53b3cad2f.0", "@material/dom@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/dom/-/dom-14.0.0-canary.53b3cad2f.0.tgz#55613a2bf3d0ea64989ad77291f053b607256012" - integrity sha512-aR+rfncF6oi2ivdOlKSJI4UXwNzWV5rXM88MLDoSJF1D7lXxhAKhge+tMUBodWGV/q0+FnXLuVAa0WYTrKjo+A== - dependencies: - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/elevation@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-14.0.0-canary.53b3cad2f.0.tgz#f4eedead82ebe456643d482905c1c445e9f5b338" - integrity sha512-3h+EkR588RMZ5TSNQ4UeXD1FOBnL3ABQix0DQIGwtNJCqSMoPndT/oJEFvwQbTkZNDbFIKN9p1Q7/KuFPVY8Pw== - dependencies: - "@material/animation" "14.0.0-canary.53b3cad2f.0" - "@material/base" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/feature-targeting@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-14.0.0-canary.53b3cad2f.0.tgz#03f0048861ff737b46a77549dccb449650a14d9c" - integrity sha512-fn7Af3PRyARtNeYqtjxXmE3Y/dCpnpQVWWys57MqiGR/nvc6qpgOfJ6rOdcu/MrOysOE/oebTUDmDnTmwpe9Hw== - dependencies: - tslib "^2.1.0" - -"@material/feature-targeting@^14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-14.0.0.tgz#a6a878ae2be1f88d31b0bb95f05dbf5d486c4b3e" - integrity sha512-a5WGgHEq5lJeeNL5yevtgoZjBjXWy6+klfVWQEh8oyix/rMJygGgO7gEc52uv8fB8uAIoYEB3iBMOv8jRq8FeA== - dependencies: - tslib "^2.1.0" - -"@material/focus-ring@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-14.0.0-canary.53b3cad2f.0.tgz#3a0afc426cd898aa6fa045c5eef9bffb4a320e91" - integrity sha512-exPX5VrjQimipBwgcFDGRiEE783sOBgpkFui59A6i6iGvS2UrLHlYY2E65fyyyQnD1f/rv4Po1OOnCesE1kulg== - dependencies: - "@material/dom" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - -"@material/list@14.0.0-canary.53b3cad2f.0", "@material/list@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/list/-/list-14.0.0-canary.53b3cad2f.0.tgz#0c0d0bdf3f9454a820e990fddb0abb1c42767f1c" - integrity sha512-mkMpltSKAYLBtFnTTCk/mQIDzwxF/VLh1gh59ehOtmRXt7FvTz83RoAa4tqe53hpVrbX4HoLDBu+vILhq/wkjw== - dependencies: - "@material/base" "14.0.0-canary.53b3cad2f.0" - "@material/density" "14.0.0-canary.53b3cad2f.0" - "@material/dom" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/ripple" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - "@material/shape" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - "@material/typography" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/menu-surface@14.0.0-canary.53b3cad2f.0", "@material/menu-surface@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-14.0.0-canary.53b3cad2f.0.tgz#3a7f10135f11938d7cffda553289e4803cfc030d" - integrity sha512-IQWb/n15FpLnn+kHp0EqzLE+UoWSPumq3eze2QifiowvGb37bNFR9oSe7CaOzPMrHdkrZ5SBWnDU41wPZN5kOg== - dependencies: - "@material/animation" "14.0.0-canary.53b3cad2f.0" - "@material/base" "14.0.0-canary.53b3cad2f.0" - "@material/elevation" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - "@material/shape" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/menu@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/menu/-/menu-14.0.0-canary.53b3cad2f.0.tgz#40d45a417537d1a9ba8489dc9ff093ac97d7fddb" - integrity sha512-MmYKVrMIqOtP3TN4vdrrnQrS8P81+tMaA6bKiT9V79R1U6+mKsBYTzaLtLbzyem5vF8O0q7bSwyPwhWPtJr75Q== - dependencies: - "@material/base" "14.0.0-canary.53b3cad2f.0" - "@material/dom" "14.0.0-canary.53b3cad2f.0" - "@material/elevation" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/list" "14.0.0-canary.53b3cad2f.0" - "@material/menu-surface" "14.0.0-canary.53b3cad2f.0" - "@material/ripple" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/mwc-base@^0.26.1": - version "0.26.1" - resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.26.1.tgz#82244634912bbe93129e956f2d907468ebe69fd8" - integrity sha512-YcVvWwSoDwQAxjvYevhZgtyXIIPuMeTnw9MtEj+Hv7NJizT88hoTsPmKpwM+X58cIY2SPo0y/tHfgmblWntibQ== - dependencies: - "@material/base" "=14.0.0-canary.53b3cad2f.0" - "@material/dom" "=14.0.0-canary.53b3cad2f.0" - lit "^2.0.0" - tslib "^2.0.1" - -"@material/mwc-checkbox@^0.26.1": - version "0.26.1" - resolved "https://registry.yarnpkg.com/@material/mwc-checkbox/-/mwc-checkbox-0.26.1.tgz#f8cc5c15c6b0ea5136d053a77d3295717ae0f57a" - integrity sha512-2euxVZ0zksAQ/JVkOznUOGJKfbxq+m3ijRTh44b8fQyERBobm5QtWXbhXxV9YCesqFQSbj5M3qDw6Nm5MRKluw== - dependencies: - "@material/mwc-base" "^0.26.1" - "@material/mwc-ripple" "^0.26.1" - lit "^2.0.0" - tslib "^2.0.1" - -"@material/mwc-list@^0.26.1": - version "0.26.1" - resolved "https://registry.yarnpkg.com/@material/mwc-list/-/mwc-list-0.26.1.tgz#51aaf759244a7dd0f5bc4ec58a4f95aad224fede" - integrity sha512-1jYG0/VCJhUjjJQSDvjvMiTryOtKk5TEzpkTO/kguhdN9j6vk0XU/p/LhnyxV0+fQei754AO3Tos5Dv0FvEUOQ== - dependencies: - "@material/base" "=14.0.0-canary.53b3cad2f.0" - "@material/dom" "=14.0.0-canary.53b3cad2f.0" - "@material/list" "=14.0.0-canary.53b3cad2f.0" - "@material/mwc-base" "^0.26.1" - "@material/mwc-checkbox" "^0.26.1" - "@material/mwc-radio" "^0.26.1" - "@material/mwc-ripple" "^0.26.1" - lit "^2.0.0" - tslib "^2.0.1" - -"@material/mwc-menu@^0.26.1": - version "0.26.1" - resolved "https://registry.yarnpkg.com/@material/mwc-menu/-/mwc-menu-0.26.1.tgz#16662e9826255913dbcb32ccf136f0239f3dda01" - integrity sha512-zdLalm1vabFU2+ml53B7N88OoJo+yygXGra94GluCPLCRBV6Oswdou7b8cqEyVEJ6McbeiegKwO0j8k3mEd4zw== - dependencies: - "@material/menu" "=14.0.0-canary.53b3cad2f.0" - "@material/menu-surface" "=14.0.0-canary.53b3cad2f.0" - "@material/mwc-base" "^0.26.1" - "@material/mwc-list" "^0.26.1" - "@material/shape" "=14.0.0-canary.53b3cad2f.0" - "@material/theme" "=14.0.0-canary.53b3cad2f.0" - lit "^2.0.0" - tslib "^2.0.1" - -"@material/mwc-radio@^0.26.1": - version "0.26.1" - resolved "https://registry.yarnpkg.com/@material/mwc-radio/-/mwc-radio-0.26.1.tgz#3d77a85b6ce643415163997e016e5d801a35a76c" - integrity sha512-KWEcwVKbZS0wIfxOk8AqFNZocnP2f3JjnO/m2y6RWBUUrSgIlxavfz3J5MiwDC0JjYI1jUmheivcKrlZRNxnSA== - dependencies: - "@material/mwc-base" "^0.26.1" - "@material/mwc-ripple" "^0.26.1" - "@material/radio" "=14.0.0-canary.53b3cad2f.0" - lit "^2.0.0" - tslib "^2.0.1" - -"@material/mwc-ripple@^0.26.1": - version "0.26.1" - resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.26.1.tgz#0825137329c78df02cee4f8da2e28d6daeceb305" - integrity sha512-hBeC2S7TSYLmHetXbtu52/EZFzvAqrQk5skIV0aUZeZvywTJWRVoc5OavDjsJYuKxDnSECMnkIt8+l8WC48chg== - dependencies: - "@material/dom" "=14.0.0-canary.53b3cad2f.0" - "@material/mwc-base" "^0.26.1" - "@material/ripple" "=14.0.0-canary.53b3cad2f.0" - lit "^2.0.0" - tslib "^2.0.1" - -"@material/radio@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/radio/-/radio-14.0.0-canary.53b3cad2f.0.tgz#51ee17e301509d729aef85cc1b22762f504a21b9" - integrity sha512-V/AgWEOuHFoh9d4Gq1rqBZnKSGtMLQNh23Bwrv0c1FhPqFvUpwt9jR3SVwhJk5gvQQWGy9p3iiGc9QCJ+0+P8Q== - dependencies: - "@material/animation" "14.0.0-canary.53b3cad2f.0" - "@material/base" "14.0.0-canary.53b3cad2f.0" - "@material/density" "14.0.0-canary.53b3cad2f.0" - "@material/dom" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/focus-ring" "14.0.0-canary.53b3cad2f.0" - "@material/ripple" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - "@material/touch-target" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/ripple@14.0.0-canary.53b3cad2f.0", "@material/ripple@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-14.0.0-canary.53b3cad2f.0.tgz#143454681b56ba42e979116903a3a1e4680249bf" - integrity sha512-6g2G62vd8DsMuIUSXlRrzb98qkZ4o8ZREknNwNP2zaLQEOkJ//4j9HaqDt98/3LIjUTY9UIVFTQENiMmlwKHYQ== - dependencies: - "@material/animation" "14.0.0-canary.53b3cad2f.0" - "@material/base" "14.0.0-canary.53b3cad2f.0" - "@material/dom" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/rtl@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-14.0.0-canary.53b3cad2f.0.tgz#63216c4957992e39d1864eb0d07fa9194740f92a" - integrity sha512-f08LT0HSa0WYU+4Jz/tbm1TQ9Fcf2k+H6dPPYv0J1sZmX6hMgCEmNiUdUFLQFvszoXx2XrRi1/hIFjbz2e69Yg== - dependencies: - "@material/theme" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/rtl@^14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-14.0.0.tgz#6be5adf56dcbab0d4a7dabd9ab724fbcc5c63d6b" - integrity sha512-xl6OZYyRjuiW2hmbjV2omMV8sQtfmKAjeWnD1RMiAPLCTyOW9Lh/PYYnXjxUrNa0cRwIIbOn5J7OYXokja8puA== - dependencies: - "@material/theme" "^14.0.0" - tslib "^2.1.0" - -"@material/shape@14.0.0-canary.53b3cad2f.0", "@material/shape@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/shape/-/shape-14.0.0-canary.53b3cad2f.0.tgz#60d2ba5ae2c428997cab78c65a29bcd6029f268a" - integrity sha512-RyjInLCNe+nI/ulKea0ZLHphXQDiDqYazS25SRn18g8Hoa5qGNaY5oOBncDXUYn3jm5oI5kFc9oif//kulkbjg== - dependencies: - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/theme@14.0.0-canary.53b3cad2f.0", "@material/theme@=14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/theme/-/theme-14.0.0-canary.53b3cad2f.0.tgz#27863ec21c7c913b80b98a22f056dd3e75b85a0a" - integrity sha512-S06XAevDCDWMe+GgsEpITMS07imUidzadNaTbJsqssFajBLr53QWVZsG84BpjXKXoYvyEJvb0hX5U0lq6ip9UQ== - dependencies: - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/theme@^14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@material/theme/-/theme-14.0.0.tgz#cbcd7b2116220c44ef8a89c43b068b29d23456ea" - integrity sha512-6/SENWNIFuXzeHMPHrYwbsXKgkvCtWuzzQ3cUu4UEt3KcQ5YpViazIM6h8ByYKZP8A9d8QpkJ0WGX5btGDcVoA== - dependencies: - "@material/feature-targeting" "^14.0.0" - tslib "^2.1.0" - -"@material/touch-target@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-14.0.0-canary.53b3cad2f.0.tgz#c933f68f66bdcfb4c688cd4ee54b517dce4db389" - integrity sha512-d83e5vbqoLyL542yOTTp4TLVltddWiqbI/j1w/D9ipE30YKfe2EDN+CNJc32Zufh5IUfK41DsZdrN8fI9cL99A== - dependencies: - "@material/base" "14.0.0-canary.53b3cad2f.0" - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/rtl" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - -"@material/typography@14.0.0-canary.53b3cad2f.0": - version "14.0.0-canary.53b3cad2f.0" - resolved "https://registry.yarnpkg.com/@material/typography/-/typography-14.0.0-canary.53b3cad2f.0.tgz#735414b1ce38864a2023a81c3e2cb98e1232ca3f" - integrity sha512-9J0k2fq7uyHsRzRqJDJLGmg3YzRpfRPtFDVeUH/xBcYoqpZE7wYw5Mb7s/l8eP626EtR7HhXhSPjvRTLA6NIJg== - dependencies: - "@material/feature-targeting" "14.0.0-canary.53b3cad2f.0" - "@material/theme" "14.0.0-canary.53b3cad2f.0" - tslib "^2.1.0" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -827,9 +556,9 @@ integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== "@types/node@*": - version "17.0.41" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.41.tgz#1607b2fd3da014ae5d4d1b31bc792a39348dfb9b" - integrity sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw== + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" + integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== "@types/parse-json@^4.0.0": version "4.0.0" @@ -849,13 +578,13 @@ integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== "@typescript-eslint/eslint-plugin@^5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.1.tgz#fdf59c905354139046b41b3ed95d1609913d0758" - integrity sha512-6dM5NKT57ZduNnJfpY81Phe9nc9wolnMCnknb1im6brWi1RYv84nbMS3olJa27B6+irUVV1X/Wb+Am0FjJdGFw== + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.28.0.tgz#6204ac33bdd05ab27c7f77960f1023951115d403" + integrity sha512-DXVU6Cg29H2M6EybqSg2A+x8DgO9TCUBRp4QEXQHJceLS7ogVDP0g3Lkg/SZCqcvkAP/RruuQqK0gdlkgmhSUA== dependencies: - "@typescript-eslint/scope-manager" "5.27.1" - "@typescript-eslint/type-utils" "5.27.1" - "@typescript-eslint/utils" "5.27.1" + "@typescript-eslint/scope-manager" "5.28.0" + "@typescript-eslint/type-utils" "5.28.0" + "@typescript-eslint/utils" "5.28.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -864,68 +593,68 @@ tsutils "^3.21.0" "@typescript-eslint/parser@^5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.27.1.tgz#3a4dcaa67e45e0427b6ca7bb7165122c8b569639" - integrity sha512-7Va2ZOkHi5NP+AZwb5ReLgNF6nWLGTeUJfxdkVUAPPSaAdbWNnFZzLZ4EGGmmiCTg+AwlbE1KyUYTBglosSLHQ== + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.28.0.tgz#639b101cad2bfb7ae16e69710ac95c42bd4eae33" + integrity sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA== dependencies: - "@typescript-eslint/scope-manager" "5.27.1" - "@typescript-eslint/types" "5.27.1" - "@typescript-eslint/typescript-estree" "5.27.1" + "@typescript-eslint/scope-manager" "5.28.0" + "@typescript-eslint/types" "5.28.0" + "@typescript-eslint/typescript-estree" "5.28.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz#4d1504392d01fe5f76f4a5825991ec78b7b7894d" - integrity sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg== +"@typescript-eslint/scope-manager@5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.28.0.tgz#ef9a5c68fecde72fd2ff8a84b9c120324826c1b9" + integrity sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w== dependencies: - "@typescript-eslint/types" "5.27.1" - "@typescript-eslint/visitor-keys" "5.27.1" + "@typescript-eslint/types" "5.28.0" + "@typescript-eslint/visitor-keys" "5.28.0" -"@typescript-eslint/type-utils@5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.27.1.tgz#369f695199f74c1876e395ebea202582eb1d4166" - integrity sha512-+UC1vVUWaDHRnC2cQrCJ4QtVjpjjCgjNFpg8b03nERmkHv9JV9X5M19D7UFMd+/G7T/sgFwX2pGmWK38rqyvXw== +"@typescript-eslint/type-utils@5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.28.0.tgz#53ccc78fdcf0205ef544d843b84104c0e9c7ca8e" + integrity sha512-SyKjKh4CXPglueyC6ceAFytjYWMoPHMswPQae236zqe1YbhvCVQyIawesYywGiu98L9DwrxsBN69vGIVxJ4mQQ== dependencies: - "@typescript-eslint/utils" "5.27.1" + "@typescript-eslint/utils" "5.28.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.27.1.tgz#34e3e629501349d38be6ae97841298c03a6ffbf1" - integrity sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg== +"@typescript-eslint/types@5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.28.0.tgz#cffd9bcdce28db6daaa146e48a0be4387a6f4e9d" + integrity sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA== -"@typescript-eslint/typescript-estree@5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz#7621ee78607331821c16fffc21fc7a452d7bc808" - integrity sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw== +"@typescript-eslint/typescript-estree@5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.28.0.tgz#3487d158d091ca2772b285e67412ff6d9797d863" + integrity sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA== dependencies: - "@typescript-eslint/types" "5.27.1" - "@typescript-eslint/visitor-keys" "5.27.1" + "@typescript-eslint/types" "5.28.0" + "@typescript-eslint/visitor-keys" "5.28.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.27.1.tgz#b4678b68a94bc3b85bf08f243812a6868ac5128f" - integrity sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w== +"@typescript-eslint/utils@5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.28.0.tgz#b27a136eac300a48160b36d2aad0da44a1341b99" + integrity sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.27.1" - "@typescript-eslint/types" "5.27.1" - "@typescript-eslint/typescript-estree" "5.27.1" + "@typescript-eslint/scope-manager" "5.28.0" + "@typescript-eslint/types" "5.28.0" + "@typescript-eslint/typescript-estree" "5.28.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.27.1": - version "5.27.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz#05a62666f2a89769dac2e6baa48f74e8472983af" - integrity sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ== +"@typescript-eslint/visitor-keys@5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.28.0.tgz#982bb226b763c48fc1859a60de33fbf939d40a0f" + integrity sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA== dependencies: - "@typescript-eslint/types" "5.27.1" + "@typescript-eslint/types" "5.28.0" eslint-visitor-keys "^3.3.0" acorn-jsx@^5.3.2: @@ -1081,9 +810,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001349: - version "1.0.30001349" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001349.tgz#90740086a2eb2e825084944169d313c9793aeba4" - integrity sha512-VFaWW3jeo6DLU5rwdiasosxhYSduJgSGil4cSyX3/85fbctlE58pXAkWyuRmVA0r2RxsOSVYUTZcySJ8WpbTxw== + version "1.0.30001356" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001356.tgz#cbf5fe7b33f90962bfbca532212ea478d4ec9de8" + integrity sha512-/30854bktMLhxtjieIxsrJBfs2gTM1pel6MXKF3K+RdIVJZcsn2A2QdhsuR4/p9+R204fZw0zCBBhktX8xWuyQ== chalk@^2.0.0: version "2.4.2" @@ -1213,10 +942,10 @@ crypto@^1.0.1: resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037" integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig== -css-declaration-sorter@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz#bfd2f6f50002d6a3ae779a87d3a0c5d5b10e0f02" - integrity sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg== +css-declaration-sorter@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz#72ebd995c8f4532ff0036631f7365cce9759df14" + integrity sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og== css-select@^4.1.3: version "4.3.0" @@ -1252,12 +981,12 @@ cssfilter@0.0.10: resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== -cssnano-preset-default@^5.2.11: - version "5.2.11" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.11.tgz#28350471bc1af9df14052472b61340347f453a53" - integrity sha512-4PadR1NtuaIK8MvLNuY7MznK4WJteldGlzCiMaaTiOUP+apeiIvUDIXykzUOoqgOOUAHrU64ncdD90NfZR3LSQ== +cssnano-preset-default@^5.2.12: + version "5.2.12" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz#ebe6596ec7030e62c3eb2b3c09f533c0644a9a97" + integrity sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew== dependencies: - css-declaration-sorter "^6.2.2" + css-declaration-sorter "^6.3.0" cssnano-utils "^3.1.0" postcss-calc "^8.2.3" postcss-colormin "^5.3.0" @@ -1266,7 +995,7 @@ cssnano-preset-default@^5.2.11: postcss-discard-duplicates "^5.1.0" postcss-discard-empty "^5.1.1" postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.5" + postcss-merge-longhand "^5.1.6" postcss-merge-rules "^5.1.2" postcss-minify-font-values "^5.1.0" postcss-minify-gradients "^5.1.1" @@ -1274,14 +1003,14 @@ cssnano-preset-default@^5.2.11: postcss-minify-selectors "^5.2.1" postcss-normalize-charset "^5.1.0" postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.0" - postcss-normalize-repeat-style "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" postcss-normalize-string "^5.1.0" postcss-normalize-timing-functions "^5.1.0" postcss-normalize-unicode "^5.1.0" postcss-normalize-url "^5.1.0" postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.2" + postcss-ordered-values "^5.1.3" postcss-reduce-initial "^5.1.0" postcss-reduce-transforms "^5.1.0" postcss-svgo "^5.1.0" @@ -1293,11 +1022,11 @@ cssnano-utils@^3.1.0: integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@*, cssnano@^5.0.15: - version "5.1.11" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.11.tgz#3bb003380718c7948ce3813493370e8946caf04b" - integrity sha512-2nx+O6LvewPo5EBtYrKc8762mMkZRk9cMGIOP4UlkmxHm7ObxH+zvsJJ+qLwPkUc4/yumL/qJkavYi9NlodWIQ== + version "5.1.12" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.12.tgz#bcd0b64d6be8692de79332c501daa7ece969816c" + integrity sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ== dependencies: - cssnano-preset-default "^5.2.11" + cssnano-preset-default "^5.2.12" lilconfig "^2.0.3" yaml "^1.10.2" @@ -1422,9 +1151,9 @@ domutils@^2.8.0: domhandler "^4.2.0" electron-to-chromium@^1.4.147: - version "1.4.148" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.148.tgz#437430e03c58ccd1d05701f66980afe54d2253ec" - integrity sha512-8MJk1bcQUAYkuvCyWZxaldiwoDG0E0AMzBGA6cv3WfuvJySiPgfidEPBFCRRH3cZm6SVZwo/oRlK1ehi1QNEIQ== + version "1.4.161" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.161.tgz#49cb5b35385bfee6cc439d0a04fbba7a7a7f08a1" + integrity sha512-sTjBRhqh6wFodzZtc5Iu8/R95OkwaPNn7tj/TaDU5nu/5EFiQDtADGAXdR4tJcTEHlYfJpHqigzJqHvPgehP8A== embla-carousel-wheel-gestures@^2.1.1: version "2.2.0" @@ -1606,9 +1335,9 @@ eslint-visitor-keys@^3.3.0: integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@^8.17.0: - version "8.17.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.17.0.tgz#1cfc4b6b6912f77d24b874ca1506b0fe09328c21" - integrity sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw== + version "8.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.18.0.tgz#78d565d16c993d0b73968c523c0446b13da784fd" + integrity sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA== dependencies: "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.9.2" @@ -1843,13 +1572,13 @@ gensync@^1.0.0-beta.2: integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-symbol-description@^1.0.0: version "1.0.0" @@ -2064,7 +1793,7 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.8.1: +is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== @@ -2254,16 +1983,16 @@ lit-element@^3.2.0: lit-html "^2.2.0" lit-html@^2.2.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.2.5.tgz#e2b4fbdb3b57e38a3bce23c8473d72ba0e652ed8" - integrity sha512-e56Y9V+RNA+SGYsWP2DGb/wad5Ccd3xUZYjmcmbeZcnc0wP4zFQRXeXn7W3bbfBekmHDK2dOnuYNYkg0bQjh/w== + version "2.2.6" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.2.6.tgz#e70679605420a34c4f3cbd0c483b2fb1fff781df" + integrity sha512-xOKsPmq/RAKJ6dUeOxhmOYFjcjf0Q7aSdfBJgdJkOfCUnkmmJPxNrlZpRBeVe1Gg50oYWMlgm6ccAE/SpJgSdw== dependencies: "@types/trusted-types" "^2.0.2" -lit@^2.0.0, lit@^2.1.1, lit@^2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.2.5.tgz#60e8dd5b751fe31f849c64f74f1784a88235d664" - integrity sha512-Ln463c0xJZfzVxBcHddNvFQQ8Z22NK7KgNmrzwFF1iESHUud412RRExzepj18wpTbusgwoTnOYuoTpo9uyNBaQ== +lit@^2.1.1, lit@^2.2.5: + version "2.2.6" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.2.6.tgz#4ef223e88517c000b0c01baf2e3535e61a75a5b5" + integrity sha512-K2vkeGABfSJSfkhqHy86ujchJs3NR9nW1bEEiV+bXDkbiQ60Tv5GUausYN2mXigZn8lC1qXuc46ArQRKYmumZw== dependencies: "@lit/reactive-element" "^1.3.0" lit-element "^3.2.0" @@ -2664,10 +2393,10 @@ postcss-discard-overridden@^5.1.0: resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== -postcss-merge-longhand@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.5.tgz#b0e03bee3b964336f5f33c4fc8eacae608e91c05" - integrity sha512-NOG1grw9wIO+60arKa2YYsrbgvP6tp+jqc7+ZD5/MalIw234ooH2C6KlR6FEn4yle7GqZoBxSK1mLBE9KPur6w== +postcss-merge-longhand@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz#f378a8a7e55766b7b644f48e5d8c789ed7ed51ce" + integrity sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw== dependencies: postcss-value-parser "^4.2.0" stylehacks "^5.1.0" @@ -2754,17 +2483,17 @@ postcss-normalize-display-values@^5.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-positions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458" - integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ== +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-repeat-style@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398" - integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw== +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: postcss-value-parser "^4.2.0" @@ -2805,10 +2534,10 @@ postcss-normalize-whitespace@^5.1.1: dependencies: postcss-value-parser "^4.2.0" -postcss-ordered-values@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.2.tgz#daffacd4abf327d52d5ac570b59dfbcf4b836614" - integrity sha512-wr2avRbW4HS2XE2ZCqpfp4N/tDC6GZKZ+SVP8UBTOVS8QWrc4TD8MYrebJrvVVlGPKszmiSCzue43NDiVtgDmg== +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" @@ -2878,9 +2607,9 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== propagating-hammerjs@^2.0.1: version "2.0.1" @@ -2946,11 +2675,11 @@ resolve-from@^4.0.0: integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.21.0, resolve@^1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.8.1" + is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -3044,9 +2773,9 @@ safe-buffer@~5.1.1: integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== sass@^1.52.2: - version "1.52.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.2.tgz#cd1f03e0e7be5bb2cebcf1c34d735f087d790936" - integrity sha512-mfHB2VSeFS7sZlPv9YohB9GB7yWIgQNTGniQwfQ04EoQN0wsQEv7SwpCwy/x48Af+Z3vDeFXz+iuXM3HK/phZQ== + version "1.52.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.3.tgz#b7cc7ffea2341ccc9a0c4fd372bf1b3f9be1b6cb" + integrity sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -3143,7 +2872,7 @@ stable@^0.1.8: strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== string.prototype.trimend@^1.0.5: version "1.0.5" @@ -3173,7 +2902,7 @@ strip-ansi@^6.0.1: strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" @@ -3226,9 +2955,9 @@ svgo@^2.7.0: stable "^0.1.8" terser@^5.0.0: - version "5.14.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" - integrity sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g== + version "5.14.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" + integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -3238,12 +2967,12 @@ terser@^5.0.0: text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" @@ -3272,7 +3001,7 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: +tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== @@ -3296,10 +3025,10 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typescript@^4.5.4, typescript@^4.7.3: - version "4.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" - integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== +typescript@^4.5.4, typescript@^4.7.4: + version "4.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== unbox-primitive@^1.0.2: version "1.0.2" @@ -3326,7 +3055,7 @@ uri-js@^4.2.2: util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== uuid@^8.3.2: version "8.3.2" @@ -3384,7 +3113,7 @@ word-wrap@^1.2.3: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== xss@^1.0.13: version "1.0.13"