/* eslint-disable @typescript-eslint/no-explicit-any */ import { CSSResultGroup, LitElement, PropertyValues, TemplateResult, html, unsafeCSS, } from 'lit'; import { customElement, property, query, state } from 'lit/decorators'; import { classMap } from 'lit/directives/class-map.js'; import { styleMap } from 'lit/directives/style-map.js'; import { HomeAssistant, LovelaceCardEditor, fireEvent, getLovelace, stateIcon, } from 'custom-card-helpers'; import screenfull from 'screenfull'; import { MenuButton, frigateCardConfigSchema } from './types'; import type { BrowseMediaQueryParameters, ExtendedHomeAssistant, FrigateCardConfig, MediaLoadInfo, } from './types'; import { CARD_VERSION } from './const'; import { FrigateCardMenu } from './components/menu'; import { View } from './view'; import { getParseErrorKeys } from './common'; import { localize } from './localize/localize'; import './editor'; import './components/gallery'; import './components/live'; import './components/menu'; import './components/message'; import './components/viewer'; import './patches/ha-camera-stream'; import './patches/ha-hls-player'; import cardStyle from './scss/card.scss'; const MEDIA_HEIGHT_CUTOFF = 50; const MEDIA_WIDTH_CUTOFF = MEDIA_HEIGHT_CUTOFF; /** A note on media callbacks: * * We need media elements (e.g.