refactor: Break apart monolithic configuration schema (#1977)

[skip ci]
This commit is contained in:
Dermot Duffy
2025-03-22 15:06:11 -07:00
committed by GitHub
parent 92fc8dd844
commit d6225fefda
266 changed files with 2789 additions and 2562 deletions
@@ -1,5 +1,5 @@
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher'; import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { HomeAssistant } from '../../ha/types'; import { HomeAssistant } from '../../ha/types';
import { canonicalizeHAURL } from '../../utils/ha'; import { canonicalizeHAURL } from '../../utils/ha';
import { BrowseMediaManager } from '../../utils/ha/browse-media/browse-media-manager'; import { BrowseMediaManager } from '../../utils/ha/browse-media/browse-media-manager';
+1 -1
View File
@@ -1,5 +1,5 @@
import { StateWatcherSubscriptionInterface } from '../card-controller/hass/state-watcher'; import { StateWatcherSubscriptionInterface } from '../card-controller/hass/state-watcher';
import { CameraConfig } from '../config/types'; import { CameraConfig } from '../config/schema/cameras';
import { localize } from '../localize/localize'; import { localize } from '../localize/localize';
import { HassStateDifference, isTriggeredState } from '../utils/ha'; import { HassStateDifference, isTriggeredState } from '../utils/ha';
import { Capabilities } from './capabilities'; import { Capabilities } from './capabilities';
+1 -1
View File
@@ -1,5 +1,5 @@
import { StateWatcherSubscriptionInterface } from '../card-controller/hass/state-watcher'; import { StateWatcherSubscriptionInterface } from '../card-controller/hass/state-watcher';
import { CameraConfig } from '../config/types'; import { CameraConfig } from '../config/schema/cameras';
import { HomeAssistant } from '../ha/types'; import { HomeAssistant } from '../ha/types';
import { localize } from '../localize/localize'; import { localize } from '../localize/localize';
import { BrowseMediaManager } from '../utils/ha/browse-media/browse-media-manager'; import { BrowseMediaManager } from '../utils/ha/browse-media/browse-media-manager';
+3 -3
View File
@@ -1,5 +1,5 @@
import { PTZAction } from '../config/ptz'; import { PTZAction, PTZActionPhase } from '../config/schema/actions/custom/ptz';
import { ActionPhase, CameraConfig } from '../config/types'; import { CameraConfig } from '../config/schema/cameras';
import { HomeAssistant } from '../ha/types'; import { HomeAssistant } from '../ha/types';
import { ViewMedia } from '../view/media'; import { ViewMedia } from '../view/media';
import { Camera } from './camera'; import { Camera } from './camera';
@@ -134,7 +134,7 @@ export interface CameraManagerEngine {
cameraConfig: CameraConfig, cameraConfig: CameraConfig,
action: PTZAction, action: PTZAction,
options?: { options?: {
phase?: ActionPhase; phase?: PTZActionPhase;
preset?: string; preset?: string;
}, },
): Promise<void>; ): Promise<void>;
+1 -1
View File
@@ -1,6 +1,6 @@
import uniq from 'lodash-es/uniq'; import uniq from 'lodash-es/uniq';
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher'; import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { HomeAssistant } from '../../ha/types'; import { HomeAssistant } from '../../ha/types';
import { localize } from '../../localize/localize'; import { localize } from '../../localize/localize';
import { PTZCapabilities, PTZMovementType } from '../../types'; import { PTZCapabilities, PTZMovementType } from '../../types';
+3 -3
View File
@@ -4,8 +4,8 @@ import orderBy from 'lodash-es/orderBy';
import throttle from 'lodash-es/throttle'; import throttle from 'lodash-es/throttle';
import uniqWith from 'lodash-es/uniqWith'; import uniqWith from 'lodash-es/uniqWith';
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher'; import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
import { PTZAction } from '../../config/ptz'; import { PTZAction, PTZActionPhase } from '../../config/schema/actions/custom/ptz';
import { ActionPhase, CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { HomeAssistant } from '../../ha/types'; import { HomeAssistant } from '../../ha/types';
import { import {
allPromises, allPromises,
@@ -1011,7 +1011,7 @@ export class FrigateCameraManagerEngine
cameraConfig: CameraConfig, cameraConfig: CameraConfig,
action: PTZAction, action: PTZAction,
options?: { options?: {
phase?: ActionPhase; phase?: PTZActionPhase;
preset?: string; preset?: string;
}, },
): Promise<void> { ): Promise<void> {
+1 -1
View File
@@ -1,6 +1,6 @@
import { fromUnixTime } from 'date-fns'; import { fromUnixTime } from 'date-fns';
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { import {
EventViewMedia, EventViewMedia,
RecordingViewMedia, RecordingViewMedia,
+1 -1
View File
@@ -1,5 +1,5 @@
import { toZonedTime } from 'date-fns-tz'; import { toZonedTime } from 'date-fns-tz';
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { ClipsOrSnapshots } from '../../types'; import { ClipsOrSnapshots } from '../../types';
import { formatDateAndTime, prettifyTitle } from '../../utils/basic'; import { formatDateAndTime, prettifyTitle } from '../../utils/basic';
import { FrigateEvent, FrigateRecording } from './types'; import { FrigateEvent, FrigateRecording } from './types';
+3 -3
View File
@@ -1,8 +1,8 @@
/* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-unused-vars */
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher'; import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
import { PTZAction } from '../../config/ptz'; import { PTZAction, PTZActionPhase } from '../../config/schema/actions/custom/ptz';
import { ActionPhase, CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { HomeAssistant } from '../../ha/types'; import { HomeAssistant } from '../../ha/types';
import { getEntityTitle } from '../../utils/ha'; import { getEntityTitle } from '../../utils/ha';
import { ViewMedia } from '../../view/media'; import { ViewMedia } from '../../view/media';
@@ -241,7 +241,7 @@ export class GenericCameraManagerEngine implements CameraManagerEngine {
_cameraConfig: CameraConfig, _cameraConfig: CameraConfig,
_action: PTZAction, _action: PTZAction,
_options?: { _options?: {
phase?: ActionPhase; phase?: PTZActionPhase;
preset?: string; preset?: string;
}, },
): Promise<void> { ): Promise<void> {
+4 -4
View File
@@ -3,8 +3,8 @@ import cloneDeep from 'lodash-es/cloneDeep';
import sum from 'lodash-es/sum'; import sum from 'lodash-es/sum';
import PQueue from 'p-queue'; import PQueue from 'p-queue';
import { CardCameraAPI } from '../card-controller/types.js'; import { CardCameraAPI } from '../card-controller/types.js';
import { PTZAction } from '../config/ptz.js'; import { PTZAction, PTZActionPhase } from '../config/schema/actions/custom/ptz.js';
import { ActionPhase, CameraConfig, CamerasConfig } from '../config/types.js'; import { CameraConfig, CamerasConfig } from '../config/schema/cameras.js';
import { MEDIA_CHUNK_SIZE_DEFAULT } from '../const.js'; import { MEDIA_CHUNK_SIZE_DEFAULT } from '../const.js';
import { localize } from '../localize/localize.js'; import { localize } from '../localize/localize.js';
import { import {
@@ -16,7 +16,6 @@ import {
} from '../utils/basic.js'; } from '../utils/basic.js';
import { getCameraID } from '../utils/camera.js'; import { getCameraID } from '../utils/camera.js';
import { log } from '../utils/debug.js'; import { log } from '../utils/debug.js';
import { getConfiguredPTZAction } from './utils/ptz.js';
import { ViewMedia } from '../view/media.js'; import { ViewMedia } from '../view/media.js';
import { Capabilities } from './capabilities.js'; import { Capabilities } from './capabilities.js';
import { CameraManagerEngineFactory } from './engine-factory.js'; import { CameraManagerEngineFactory } from './engine-factory.js';
@@ -56,6 +55,7 @@ import {
RecordingSegmentsQueryResultsMap, RecordingSegmentsQueryResultsMap,
ResultsMap, ResultsMap,
} from './types.js'; } from './types.js';
import { getConfiguredPTZAction } from './utils/ptz.js';
import { sortMedia } from './utils/sort-media.js'; import { sortMedia } from './utils/sort-media.js';
export class QueryClassifier { export class QueryClassifier {
@@ -785,7 +785,7 @@ export class CameraManager {
cameraID: string, cameraID: string,
action: PTZAction, action: PTZAction,
options?: { options?: {
phase?: ActionPhase; phase?: PTZActionPhase;
preset?: string; preset?: string;
}, },
): Promise<void> { ): Promise<void> {
@@ -1,6 +1,6 @@
import { add, endOfDay, parse, startOfDay } from 'date-fns'; import { add, endOfDay, parse, startOfDay } from 'date-fns';
import orderBy from 'lodash-es/orderBy'; import orderBy from 'lodash-es/orderBy';
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { HomeAssistant } from '../../ha/types'; import { HomeAssistant } from '../../ha/types';
import { allPromises, formatDate, isValidDate } from '../../utils/basic'; import { allPromises, formatDate, isValidDate } from '../../utils/basic';
import { import {
+1 -1
View File
@@ -1,6 +1,6 @@
import { add, endOfDay, parse, startOfDay } from 'date-fns'; import { add, endOfDay, parse, startOfDay } from 'date-fns';
import { orderBy } from 'lodash-es'; import { orderBy } from 'lodash-es';
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { HomeAssistant } from '../../ha/types'; import { HomeAssistant } from '../../ha/types';
import { allPromises, formatDate, isValidDate } from '../../utils/basic'; import { allPromises, formatDate, isValidDate } from '../../utils/basic';
import { sortMediaByStartDate } from '../../utils/ha/browse-media/browse-media-manager'; import { sortMediaByStartDate } from '../../utils/ha/browse-media/browse-media-manager';
+1 -1
View File
@@ -1,4 +1,4 @@
import { CameraConfig } from '../config/types'; import { CameraConfig } from '../config/schema/cameras';
import { CapabilityKey } from '../types'; import { CapabilityKey } from '../types';
import { allPromises } from '../utils/basic'; import { allPromises } from '../utils/basic';
import { ViewMedia } from '../view/media'; import { ViewMedia } from '../view/media';
+2 -1
View File
@@ -1,4 +1,5 @@
import { AdvancedCameraCardView, SSLCiphers } from '../config/types'; import { SSLCiphers } from '../config/schema/cameras';
import { AdvancedCameraCardView } from '../config/schema/common/const';
import { CapabilityKey, Icon } from '../types'; import { CapabilityKey, Icon } from '../types';
import { ViewMedia } from '../view/media'; import { ViewMedia } from '../view/media';
@@ -1,4 +1,4 @@
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
export const getCameraEntityFromConfig = ( export const getCameraEntityFromConfig = (
cameraConfig?: CameraConfig, cameraConfig?: CameraConfig,
+1 -1
View File
@@ -1,4 +1,4 @@
import { CameraConfig } from '../../config/types'; import { CameraConfig } from '../../config/schema/cameras';
import { CameraEndpoint } from '../types'; import { CameraEndpoint } from '../types';
export const getDefaultGo2RTCEndpoint = ( export const getDefaultGo2RTCEndpoint = (
+9 -4
View File
@@ -1,12 +1,17 @@
import { PTZAction, PTZBaseAction } from '../../config/ptz'; import {
import { ActionConfig, ActionPhase, CameraConfig } from '../../config/types'; PTZAction,
PTZActionPhase,
PTZBaseAction,
} from '../../config/schema/actions/custom/ptz';
import { ActionConfig } from '../../config/schema/actions/types';
import { CameraConfig } from '../../config/schema/cameras';
import { PTZCapabilities, PTZMovementType } from '../../types'; import { PTZCapabilities, PTZMovementType } from '../../types';
export const getConfiguredPTZAction = ( export const getConfiguredPTZAction = (
cameraConfig: CameraConfig, cameraConfig: CameraConfig,
action: PTZAction, action: PTZAction,
options?: { options?: {
phase?: ActionPhase; phase?: PTZActionPhase;
preset?: string; preset?: string;
}, },
): ActionConfig | ActionConfig[] | null => { ): ActionConfig | ActionConfig[] | null => {
@@ -25,7 +30,7 @@ const hasConfiguredPTZAction = (
cameraConfig: CameraConfig, cameraConfig: CameraConfig,
action: PTZBaseAction, action: PTZBaseAction,
options?: { options?: {
phase?: ActionPhase; phase?: PTZActionPhase;
preset?: string; preset?: string;
}, },
): boolean => { ): boolean => {
@@ -6,7 +6,7 @@ import {
Actions, Actions,
ActionsConfig, ActionsConfig,
AuxillaryActionConfig, AuxillaryActionConfig,
} from '../../config/types.js'; } from '../../config/schema/actions/types.js';
import { forwardHaptic } from '../../ha/haptic.js'; import { forwardHaptic } from '../../ha/haptic.js';
import { getActionConfigGivenAction } from '../../utils/action.js'; import { getActionConfigGivenAction } from '../../utils/action.js';
import { allPromises } from '../../utils/basic.js'; import { allPromises } from '../../utils/basic.js';
+4 -1
View File
@@ -1,5 +1,8 @@
import { ActionContext } from 'action'; import { ActionContext } from 'action';
import { ActionConfig, AuxillaryActionConfig } from '../../../config/types'; import {
ActionConfig,
AuxillaryActionConfig,
} from '../../../config/schema/actions/types.js';
import { localize } from '../../../localize/localize.js'; import { localize } from '../../../localize/localize.js';
import { isAdvancedCameraCardCustomAction } from '../../../utils/action'; import { isAdvancedCameraCardCustomAction } from '../../../utils/action';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
@@ -1,4 +1,4 @@
import { CallServiceActionConfig } from '../../../config/types'; import { CallServiceActionConfig } from '../../../config/schema/actions/stock/call-service';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { CameraSelectActionConfig } from '../../../config/types'; import { CameraSelectActionConfig } from '../../../config/schema/actions/custom/camera-select';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { CustomActionConfig } from '../../../config/types'; import { CustomActionConfig } from '../../../config/schema/actions/stock/custom';
import { fireHASSEvent } from '../../../ha/fire-hass-event'; import { fireHASSEvent } from '../../../ha/fire-hass-event';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { DisplayModeActionConfig } from '../../../config/types'; import { DisplayModeActionConfig } from '../../../config/schema/actions/custom/display-mode';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { InternalCallbackActionConfig } from '../../../config/types'; import { InternalCallbackActionConfig } from '../../../config/schema/actions/custom/internal';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+1 -1
View File
@@ -1,4 +1,4 @@
import { LogActionConfig } from '../../../config/types'; import { LogActionConfig } from '../../../config/schema/actions/custom/log';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { MediaPlayerActionConfig } from '../../../config/types'; import { MediaPlayerActionConfig } from '../../../config/schema/actions/custom/media-player';
import { getStreamCameraID } from '../../../utils/substream'; import { getStreamCameraID } from '../../../utils/substream';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { MoreInfoActionConfig } from '../../../config/types'; import { MoreInfoActionConfig } from '../../../config/schema/actions/stock/more-info';
import { fireHASSEvent } from '../../../ha/fire-hass-event'; import { fireHASSEvent } from '../../../ha/fire-hass-event';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+1 -1
View File
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { NavigateActionConfig } from '../../../config/types'; import { NavigateActionConfig } from '../../../config/schema/actions/stock/navigate';
import { fireHASSEvent } from '../../../ha/fire-hass-event'; import { fireHASSEvent } from '../../../ha/fire-hass-event';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+1 -1
View File
@@ -1,4 +1,4 @@
import { NoneActionConfig } from '../../../config/types'; import { NoneActionConfig } from '../../../config/schema/actions/stock/none';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+1 -1
View File
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { PerformActionActionConfig } from '../../../config/types'; import { PerformActionActionConfig } from '../../../config/schema/actions/stock/perform-action';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+1 -1
View File
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { PTZControlsActionConfig } from '../../../config/types'; import { PTZControlsActionConfig } from '../../../config/schema/actions/custom/ptz-controls';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -6,7 +6,8 @@ import {
ZOOM_DEFAULT_SCALE, ZOOM_DEFAULT_SCALE,
} from '../../../components-lib/zoom/types'; } from '../../../components-lib/zoom/types';
import { generateViewContextForZoom } from '../../../components-lib/zoom/zoom-view-context'; import { generateViewContextForZoom } from '../../../components-lib/zoom/zoom-view-context';
import { PTZDigitialActionConfig, ZOOM_MAX, ZOOM_MIN } from '../../../config/types'; import { PTZDigitialActionConfig } from '../../../config/schema/actions/custom/ptz-digital';
import { ZOOM_MAX, ZOOM_MIN } from '../../../config/schema/common/zoom';
import { getPTZTarget } from '../../../utils/ptz'; import { getPTZTarget } from '../../../utils/ptz';
import { Timer } from '../../../utils/timer'; import { Timer } from '../../../utils/timer';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
@@ -1,4 +1,4 @@
import { PTZMultiActionConfig } from '../../../config/types'; import { PTZMultiActionConfig } from '../../../config/schema/actions/custom/ptz-multi';
import { createPTZAction, createPTZDigitalAction } from '../../../utils/action'; import { createPTZAction, createPTZDigitalAction } from '../../../utils/action';
import { PTZType, getPTZTarget, hasCameraTruePTZ } from '../../../utils/ptz'; import { PTZType, getPTZTarget, hasCameraTruePTZ } from '../../../utils/ptz';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
+1 -1
View File
@@ -1,4 +1,4 @@
import { PTZActionConfig } from '../../../config/types'; import { PTZActionConfig } from '../../../config/schema/actions/custom/ptz';
import { getPTZTarget, ptzActionToCapabilityKey } from '../../../utils/ptz'; import { getPTZTarget, ptzActionToCapabilityKey } from '../../../utils/ptz';
import { Timer } from '../../../utils/timer'; import { Timer } from '../../../utils/timer';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+4 -1
View File
@@ -1,5 +1,8 @@
import { ActionContext } from 'action'; import { ActionContext } from 'action';
import { ActionConfig, AuxillaryActionConfig } from '../../../config/types'; import {
ActionConfig,
AuxillaryActionConfig,
} from '../../../config/schema/actions/types';
import { arrayify } from '../../../utils/basic'; import { arrayify } from '../../../utils/basic';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { ActionFactory } from '../factory'; import { ActionFactory } from '../factory';
+1 -1
View File
@@ -1,4 +1,4 @@
import { SleepActionConfig } from '../../../config/types'; import { SleepActionConfig } from '../../../config/schema/actions/custom/sleep';
import { sleep } from '../../../utils/basic'; import { sleep } from '../../../utils/basic';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { timeDeltaToSeconds } from '../utils/time-delta'; import { timeDeltaToSeconds } from '../utils/time-delta';
@@ -1,4 +1,4 @@
import { StatusBarActionConfig } from '../../../config/types'; import { StatusBarActionConfig } from '../../../config/schema/actions/types';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { SubstreamOffViewModifier } from '../../view/modifiers/substream-off'; import { SubstreamOffViewModifier } from '../../view/modifiers/substream-off';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { SubstreamOnViewModifier } from '../../view/modifiers/substream-on'; import { SubstreamOnViewModifier } from '../../view/modifiers/substream-on';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { SubstreamSelectActionConfig } from '../../../config/types'; import { SubstreamSelectActionConfig } from '../../../config/schema/actions/custom/substream-select';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { SubstreamSelectViewModifier } from '../../view/modifiers/substream-select'; import { SubstreamSelectViewModifier } from '../../view/modifiers/substream-select';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
@@ -1,4 +1,4 @@
import { ToggleActionConfig } from '../../../config/types'; import { ToggleActionConfig } from '../../../config/schema/actions/stock/toggle';
import { computeDomain } from '../../../ha/compute-domain'; import { computeDomain } from '../../../ha/compute-domain';
import { STATES_OFF } from '../../../ha/const'; import { STATES_OFF } from '../../../ha/const';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
@@ -1,4 +1,4 @@
import { GeneralActionConfig } from '../../../config/types'; import { GeneralActionConfig } from '../../../config/schema/actions/custom/general';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+1 -1
View File
@@ -1,4 +1,4 @@
import { URLActionConfig } from '../../../config/types'; import { URLActionConfig } from '../../../config/schema/actions/stock/url';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+1 -1
View File
@@ -1,4 +1,4 @@
import { ViewActionConfig } from '../../../config/types'; import { ViewActionConfig } from '../../../config/schema/actions/custom/view';
import { CardActionsAPI } from '../../types'; import { CardActionsAPI } from '../../types';
import { AdvancedCameraCardAction } from './base'; import { AdvancedCameraCardAction } from './base';
+2 -5
View File
@@ -1,9 +1,6 @@
import { ActionContext } from 'action'; import { ActionContext } from 'action';
import { import { INTERNAL_CALLBACK_ACTION } from '../../config/schema/actions/custom/internal';
ActionConfig, import { ActionConfig, AuxillaryActionConfig } from '../../config/schema/actions/types';
AuxillaryActionConfig,
INTERNAL_CALLBACK_ACTION,
} from '../../config/types';
import { isAdvancedCameraCardCustomAction } from '../../utils/action'; import { isAdvancedCameraCardCustomAction } from '../../utils/action';
import { CallServiceAction } from './actions/call-service'; import { CallServiceAction } from './actions/call-service';
import { CameraSelectAction } from './actions/camera-select'; import { CameraSelectAction } from './actions/camera-select';
+4 -1
View File
@@ -1,5 +1,8 @@
import {
ActionConfig,
AuxillaryActionConfig,
} from '../../config/schema/actions/types.js';
import { AdvancedCameraCardError } from '../../types.js'; import { AdvancedCameraCardError } from '../../types.js';
import { ActionConfig, AuxillaryActionConfig } from '../../config/types';
import { CardActionsAPI } from '../types'; import { CardActionsAPI } from '../types';
export interface Action { export interface Action {
@@ -1,4 +1,4 @@
import { TimeDelta } from '../../../config/types'; import { TimeDelta } from '../../../config/schema/actions/custom/sleep';
export const timeDeltaToSeconds = (timeDelta: TimeDelta): number => { export const timeDeltaToSeconds = (timeDelta: TimeDelta): number => {
return ( return (
+1 -1
View File
@@ -1,6 +1,6 @@
import { ConditionsManager } from '../conditions/conditions-manager.js'; import { ConditionsManager } from '../conditions/conditions-manager.js';
import { ConditionsEvaluationResult } from '../conditions/types.js'; import { ConditionsEvaluationResult } from '../conditions/types.js';
import { Automation, AutomationActions } from '../config/types.js'; import { Automation, AutomationActions } from '../config/schema/automations.js';
import { localize } from '../localize/localize.js'; import { localize } from '../localize/localize.js';
import { CardAutomationsAPI, TaggedAutomation } from './types.js'; import { CardAutomationsAPI, TaggedAutomation } from './types.js';
+4 -4
View File
@@ -1,13 +1,13 @@
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import { ConditionsManager } from '../../conditions/conditions-manager.js'; import { ConditionsManager } from '../../conditions/conditions-manager.js';
import { isConfigUpgradeable } from '../../config/management.js'; import { isConfigUpgradeable } from '../../config/management.js';
import { setProfiles } from '../../config/profiles/index.js'; import { setProfiles } from '../../config/profiles/set-profiles.js';
import { import {
AdvancedCameraCardConfig, AdvancedCameraCardConfig,
advancedCameraCardConfigSchema,
CardWideConfig, CardWideConfig,
RawAdvancedCameraCardConfig, advancedCameraCardConfigSchema,
} from '../../config/types.js'; } from '../../config/schema/types.js';
import { RawAdvancedCameraCardConfig } from '../../config/types.js';
import { localize } from '../../localize/localize.js'; import { localize } from '../../localize/localize.js';
import { getParseErrorPaths } from '../../utils/zod.js'; import { getParseErrorPaths } from '../../utils/zod.js';
import { InitializationAspect } from '../initialization-manager.js'; import { InitializationAspect } from '../initialization-manager.js';
@@ -7,7 +7,8 @@ import {
getConfigValue, getConfigValue,
setConfigValue, setConfigValue,
} from '../../config/management'; } from '../../config/management';
import { Overrides, RawAdvancedCameraCardConfig } from '../../config/types'; import { Overrides } from '../../config/schema/overrides';
import { RawAdvancedCameraCardConfig } from '../../config/types';
import { localize } from '../../localize/localize'; import { localize } from '../../localize/localize';
import { AdvancedCameraCardError } from '../../types'; import { AdvancedCameraCardError } from '../../types';
import { desparsifyArrays } from '../../utils/basic'; import { desparsifyArrays } from '../../utils/basic';
@@ -1,8 +1,5 @@
import { import { PTZAction } from '../../config/schema/actions/custom/ptz';
KeyboardShortcuts, import { KeyboardShortcuts, PTZKeyboardShortcutName } from '../../config/schema/view';
PTZKeyboardShortcutName,
} from '../../config/keyboard-shortcuts';
import { PTZAction } from '../../config/ptz';
import { createPTZMultiAction } from '../../utils/action'; import { createPTZMultiAction } from '../../utils/action';
import { CardConfigLoaderAPI, TaggedAutomation } from '../types'; import { CardConfigLoaderAPI, TaggedAutomation } from '../types';
+1 -1
View File
@@ -1,7 +1,7 @@
import { ReactiveController } from 'lit'; import { ReactiveController } from 'lit';
import { CameraManager } from '../camera-manager/manager'; import { CameraManager } from '../camera-manager/manager';
import { ConditionStateManager } from '../conditions/state-manager'; import { ConditionStateManager } from '../conditions/state-manager';
import { AdvancedCameraCardConfig } from '../config/types'; import { AdvancedCameraCardConfig } from '../config/schema/types';
import { LovelaceCardEditor } from '../ha/types'; import { LovelaceCardEditor } from '../ha/types';
import { import {
createDeviceRegistryCache, createDeviceRegistryCache,
+1 -1
View File
@@ -1,5 +1,5 @@
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import { AdvancedCameraCardConfig } from '../config/types'; import { AdvancedCameraCardConfig } from '../config/schema/types';
import { createGeneralAction } from '../utils/action'; import { createGeneralAction } from '../utils/action';
import { isActionAllowedBasedOnInteractionState } from '../utils/interaction-mode'; import { isActionAllowedBasedOnInteractionState } from '../utils/interaction-mode';
import { Timer } from '../utils/timer'; import { Timer } from '../utils/timer';
+2 -1
View File
@@ -1,4 +1,5 @@
import { AdvancedCameraCardConfig, CameraConfig } from '../config/types'; import { CameraConfig } from '../config/schema/cameras';
import { AdvancedCameraCardConfig } from '../config/schema/types';
import { import {
MEDIA_PLAYER_SUPPORT_BROWSE_MEDIA, MEDIA_PLAYER_SUPPORT_BROWSE_MEDIA,
MEDIA_PLAYER_SUPPORT_STOP, MEDIA_PLAYER_SUPPORT_STOP,
+2 -1
View File
@@ -1,4 +1,5 @@
import { AdvancedCameraCardCustomActionConfig, ViewActionConfig } from '../config/types'; import { ViewActionConfig } from '../config/schema/actions/custom/view';
import { AdvancedCameraCardCustomActionConfig } from '../config/schema/actions/types';
import { import {
createCameraAction, createCameraAction,
createGeneralAction, createGeneralAction,
@@ -1,6 +1,7 @@
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import { CameraManager } from '../camera-manager/manager'; import { CameraManager } from '../camera-manager/manager';
import { StatusBarConfig, StatusBarItem } from '../config/types'; import { StatusBarItem } from '../config/schema/actions/types';
import { StatusBarConfig } from '../config/schema/status-bar';
import { MediaLoadedInfo } from '../types'; import { MediaLoadedInfo } from '../types';
import { View } from '../view/view'; import { View } from '../view/view';
import { CardStatusBarAPI } from './types'; import { CardStatusBarAPI } from './types';
+2 -6
View File
@@ -1,10 +1,6 @@
import { StyleInfo } from 'lit/directives/style-map'; import { StyleInfo } from 'lit/directives/style-map';
import { import { AdvancedCameraCardConfig, configDefaults } from '../config/schema/types';
AdvancedCameraCardConfig, import { ThemeConfig, ThemeName } from '../config/schema/view';
configDefaults,
ThemeConfig,
ThemeName,
} from '../config/types';
import { aspectRatioToStyle, setOrRemoveAttribute } from '../utils/basic'; import { aspectRatioToStyle, setOrRemoveAttribute } from '../utils/basic';
import { View } from '../view/view'; import { View } from '../view/view';
import { CardStyleAPI } from './types'; import { CardStyleAPI } from './types';
+1 -1
View File
@@ -1,6 +1,6 @@
import type { CameraManager } from '../camera-manager/manager'; import type { CameraManager } from '../camera-manager/manager';
import type { ConditionStateManager } from '../conditions/state-manager'; import type { ConditionStateManager } from '../conditions/state-manager';
import type { Automation } from '../config/types'; import type { Automation } from '../config/schema/automations';
import type { EntityRegistryManager } from '../utils/ha/registry/entity'; import type { EntityRegistryManager } from '../utils/ha/registry/entity';
import type { ResolvedMediaCache } from '../utils/ha/resolved-media'; import type { ResolvedMediaCache } from '../utils/ha/resolved-media';
import type { ActionsManager } from './actions/actions-manager'; import type { ActionsManager } from './actions/actions-manager';
+3 -6
View File
@@ -1,9 +1,6 @@
import { import { AdvancedCameraCardView, VIEW_DEFAULT } from '../../config/schema/common/const';
VIEW_DEFAULT, import { ViewDisplayMode } from '../../config/schema/common/display';
AdvancedCameraCardConfig, import { AdvancedCameraCardConfig } from '../../config/schema/types';
AdvancedCameraCardView,
ViewDisplayMode,
} from '../../config/types';
import { localize } from '../../localize/localize'; import { localize } from '../../localize/localize';
import { View, ViewParameters } from '../../view/view'; import { View, ViewParameters } from '../../view/view';
import { getCameraIDsForViewName } from '../../view/view-to-cameras'; import { getCameraIDsForViewName } from '../../view/view-to-cameras';
+1 -1
View File
@@ -1,5 +1,5 @@
import { ViewContext } from 'view'; import { ViewContext } from 'view';
import { AdvancedCameraCardView } from '../../config/types.js'; import { AdvancedCameraCardView } from '../../config/schema/common/const.js';
import { AdvancedCameraCardError } from '../../types.js'; import { AdvancedCameraCardError } from '../../types.js';
import { MediaQueriesResults } from '../../view/media-queries-results.js'; import { MediaQueriesResults } from '../../view/media-queries-results.js';
import { MediaQueries } from '../../view/media-queries.js'; import { MediaQueries } from '../../view/media-queries.js';
+2 -2
View File
@@ -1,5 +1,5 @@
import { ViewContext } from 'view'; import { ViewContext } from 'view';
import { AdvancedCameraCardView } from '../../config/types'; import { AdvancedCameraCardView } from '../../config/schema/common/const';
import { log } from '../../utils/debug'; import { log } from '../../utils/debug';
import { getStreamCameraID } from '../../utils/substream'; import { getStreamCameraID } from '../../utils/substream';
import { MediaQueriesClassifier } from '../../view/media-queries-classifier'; import { MediaQueriesClassifier } from '../../view/media-queries-classifier';
@@ -7,6 +7,7 @@ import { View } from '../../view/view';
import { getCameraIDsForViewName } from '../../view/view-to-cameras'; import { getCameraIDsForViewName } from '../../view/view-to-cameras';
import { CardViewAPI } from '../types'; import { CardViewAPI } from '../types';
import { ViewFactory } from './factory'; import { ViewFactory } from './factory';
import { applyViewModifiers } from './modifiers';
import { import {
QueryExecutorOptions, QueryExecutorOptions,
ViewFactoryOptions, ViewFactoryOptions,
@@ -15,7 +16,6 @@ import {
ViewModifier, ViewModifier,
} from './types'; } from './types';
import { ViewQueryExecutor } from './view-query-executor'; import { ViewQueryExecutor } from './view-query-executor';
import { applyViewModifiers } from './modifiers';
export class ViewManager implements ViewManagerInterface { export class ViewManager implements ViewManagerInterface {
protected _view: View | null = null; protected _view: View | null = null;
+4 -6
View File
@@ -22,12 +22,10 @@ import './components/thumbnail-carousel.js';
import './components/views.js'; import './components/views.js';
import { AdvancedCameraCardViews } from './components/views.js'; import { AdvancedCameraCardViews } from './components/views.js';
import { ConditionStateManagerGetEvent } from './conditions/state-manager-via-event.js'; import { ConditionStateManagerGetEvent } from './conditions/state-manager-via-event.js';
import { import { StatusBarItem } from './config/schema/actions/types.js';
AdvancedCameraCardConfig, import { MenuItem } from './config/schema/elements/custom/menu/types.js';
MenuItem, import { AdvancedCameraCardConfig } from './config/schema/types.js';
RawAdvancedCameraCardConfig, import { RawAdvancedCameraCardConfig } from './config/types.js';
StatusBarItem,
} from './config/types';
import { REPO_URL } from './const.js'; import { REPO_URL } from './const.js';
import { HomeAssistant, LovelaceCardEditor } from './ha/types.js'; import { HomeAssistant, LovelaceCardEditor } from './ha/types.js';
import { localize } from './localize/localize.js'; import { localize } from './localize/localize.js';
@@ -1,6 +1,6 @@
import { LitElement, ReactiveController } from 'lit'; import { LitElement, ReactiveController } from 'lit';
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import { KeyboardShortcut } from '../config/keyboard-shortcuts'; import { KeyboardShortcut } from '../config/schema/view';
import { setOrRemoveAttribute } from '../utils/basic'; import { setOrRemoveAttribute } from '../utils/basic';
export class KeyAssignerController implements ReactiveController { export class KeyAssignerController implements ReactiveController {
@@ -4,7 +4,7 @@ import {
AutoPauseCondition, AutoPauseCondition,
AutoPlayCondition, AutoPlayCondition,
AutoUnmuteCondition, AutoUnmuteCondition,
} from '../config/types.js'; } from '../config/schema/common/media-actions.js';
import { MediaPlayerElement } from '../types.js'; import { MediaPlayerElement } from '../types.js';
import { AdvancedCameraCardMediaLoadedEventTarget } from '../utils/media-info.js'; import { AdvancedCameraCardMediaLoadedEventTarget } from '../utils/media-info.js';
import { Timer } from '../utils/timer.js'; import { Timer } from '../utils/timer.js';
@@ -1,12 +1,12 @@
import { import {
endOfDay, endOfDay,
endOfMonth, endOfMonth,
endOfYesterday,
endOfToday, endOfToday,
startOfToday, endOfYesterday,
format, format,
parse, parse,
startOfDay, startOfDay,
startOfToday,
startOfYesterday, startOfYesterday,
sub, sub,
} from 'date-fns'; } from 'date-fns';
@@ -17,13 +17,13 @@ import uniqWith from 'lodash-es/uniqWith';
import { CameraManager } from '../camera-manager/manager'; import { CameraManager } from '../camera-manager/manager';
import { DateRange, PartialDateRange } from '../camera-manager/range'; import { DateRange, PartialDateRange } from '../camera-manager/range';
import { DataQuery, MediaMetadata, QueryType } from '../camera-manager/types'; import { DataQuery, MediaMetadata, QueryType } from '../camera-manager/types';
import { ViewManagerInterface } from '../card-controller/view/types';
import { SelectOption, SelectValues } from '../components/select'; import { SelectOption, SelectValues } from '../components/select';
import { CardWideConfig } from '../config/types'; import { CardWideConfig } from '../config/schema/types';
import { localize } from '../localize/localize'; import { localize } from '../localize/localize';
import { errorToConsole, formatDate, prettifyTitle } from '../utils/basic'; import { errorToConsole, formatDate, prettifyTitle } from '../utils/basic';
import { EventMediaQueries, RecordingMediaQueries } from '../view/media-queries'; import { EventMediaQueries, RecordingMediaQueries } from '../view/media-queries';
import { MediaQueriesClassifier } from '../view/media-queries-classifier'; import { MediaQueriesClassifier } from '../view/media-queries-classifier';
import { ViewManagerInterface } from '../card-controller/view/types';
interface MediaFilterControls { interface MediaFilterControls {
events: boolean; events: boolean;
+1 -1
View File
@@ -1,7 +1,7 @@
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import throttle from 'lodash-es/throttle'; import throttle from 'lodash-es/throttle';
import Masonry from 'masonry-layout'; import Masonry from 'masonry-layout';
import { ViewDisplayConfig } from '../config/types'; import { ViewDisplayConfig } from '../config/schema/common/display';
import { MediaLoadedInfo } from '../types'; import { MediaLoadedInfo } from '../types';
import { getChildrenFromElement, setOrRemoveAttribute } from '../utils/basic'; import { getChildrenFromElement, setOrRemoveAttribute } from '../utils/basic';
import { fireAdvancedCameraCardEvent } from '../utils/fire-advanced-camera-card-event'; import { fireAdvancedCameraCardEvent } from '../utils/fire-advanced-camera-card-event';
+3 -5
View File
@@ -4,11 +4,9 @@ import { FullscreenManager } from '../card-controller/fullscreen/fullscreen-mana
import { MediaPlayerManager } from '../card-controller/media-player-manager'; import { MediaPlayerManager } from '../card-controller/media-player-manager';
import { MicrophoneManager } from '../card-controller/microphone-manager'; import { MicrophoneManager } from '../card-controller/microphone-manager';
import { ViewManager } from '../card-controller/view/view-manager'; import { ViewManager } from '../card-controller/view/view-manager';
import { import { VIEWS_USER_SPECIFIED } from '../config/schema/common/const';
AdvancedCameraCardConfig, import { MenuItem } from '../config/schema/elements/custom/menu/types';
MenuItem, import { AdvancedCameraCardConfig } from '../config/schema/types';
VIEWS_USER_SPECIFIED,
} from '../config/types';
import { HomeAssistant } from '../ha/types'; import { HomeAssistant } from '../ha/types';
import { localize } from '../localize/localize.js'; import { localize } from '../localize/localize.js';
import { MediaLoadedInfo } from '../types'; import { MediaLoadedInfo } from '../types';
+4 -7
View File
@@ -2,13 +2,10 @@ import { LitElement } from 'lit';
import { orderBy } from 'lodash-es'; import { orderBy } from 'lodash-es';
import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request.js'; import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request.js';
import { SubmenuInteraction } from '../components/submenu/types.js'; import { SubmenuInteraction } from '../components/submenu/types.js';
import { import { ActionConfig, ActionsConfig } from '../config/schema/actions/types.js';
ActionConfig, import { MENU_PRIORITY_MAX } from '../config/schema/common/const.js';
MENU_PRIORITY_MAX, import { MenuItem } from '../config/schema/elements/custom/menu/types.js';
type ActionsConfig, import { MenuConfig } from '../config/schema/menu.js';
type MenuConfig,
type MenuItem,
} from '../config/types.js';
import { Interaction } from '../types.js'; import { Interaction } from '../types.js';
import { getActionConfigGivenAction } from '../utils/action'; import { getActionConfigGivenAction } from '../utils/action';
import { arrayify, isTruthy, setOrRemoveAttribute } from '../utils/basic.js'; import { arrayify, isTruthy, setOrRemoveAttribute } from '../utils/basic.js';
+3 -2
View File
@@ -1,8 +1,9 @@
import { CameraManager } from '../../camera-manager/manager.js'; import { CameraManager } from '../../camera-manager/manager.js';
import { dispatchActionExecutionRequest } from '../../card-controller/actions/utils/execution-request.js'; import { dispatchActionExecutionRequest } from '../../card-controller/actions/utils/execution-request.js';
import { SubmenuInteraction } from '../../components/submenu/types.js'; import { SubmenuInteraction } from '../../components/submenu/types.js';
import { PTZAction } from '../../config/ptz.js'; import { PTZAction } from '../../config/schema/actions/custom/ptz.js';
import { Actions, ActionsConfig, PTZControlsConfig } from '../../config/types.js'; import { Actions, ActionsConfig } from '../../config/schema/actions/types.js';
import { PTZControlsConfig } from '../../config/schema/common/controls/ptz.js';
import { HomeAssistant } from '../../ha/types.js'; import { HomeAssistant } from '../../ha/types.js';
import { Interaction } from '../../types.js'; import { Interaction } from '../../types.js';
import { createPTZMultiAction, getActionConfigGivenAction } from '../../utils/action.js'; import { createPTZMultiAction, getActionConfigGivenAction } from '../../utils/action.js';
+2 -2
View File
@@ -1,5 +1,5 @@
import { PTZControlAction } from '../../config/ptz'; import { PTZControlAction } from '../../config/schema/actions/custom/ptz';
import { Actions } from '../../config/types'; import { Actions } from '../../config/schema/actions/types';
interface PTZControlsViewContext { interface PTZControlsViewContext {
enabled?: boolean; enabled?: boolean;
+3 -6
View File
@@ -2,12 +2,9 @@ import { LitElement } from 'lit';
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import orderBy from 'lodash-es/orderBy'; import orderBy from 'lodash-es/orderBy';
import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request'; import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request';
import { import { ActionsConfig, StatusBarItem } from '../config/schema/actions/types';
ActionsConfig, import { STATUS_BAR_PRIORITY_DEFAULT } from '../config/schema/common/const';
STATUS_BAR_PRIORITY_DEFAULT, import { StatusBarConfig } from '../config/schema/status-bar';
StatusBarConfig,
StatusBarItem,
} from '../config/types';
import { getActionConfigGivenAction } from '../utils/action'; import { getActionConfigGivenAction } from '../utils/action';
import { arrayify, setOrRemoveAttribute } from '../utils/basic'; import { arrayify, setOrRemoveAttribute } from '../utils/basic';
import { Timer } from '../utils/timer'; import { Timer } from '../utils/timer';
+1 -1
View File
@@ -9,7 +9,7 @@ import {
} from 'lit'; } from 'lit';
import { customElement, property } from 'lit/decorators.js'; import { customElement, property } from 'lit/decorators.js';
import { Ref, createRef, ref } from 'lit/directives/ref.js'; import { Ref, createRef, ref } from 'lit/directives/ref.js';
import { TransitionEffect } from '../config/types'; import { TransitionEffect } from '../config/schema/common/transition-effect';
import carouselStyle from '../scss/carousel.scss'; import carouselStyle from '../scss/carousel.scss';
import { import {
CarouselController, CarouselController,
+10 -8
View File
@@ -11,18 +11,20 @@ import { dispatchAdvancedCameraCardErrorEvent } from '../components-lib/message/
import { ConditionsManager } from '../conditions/conditions-manager.js'; import { ConditionsManager } from '../conditions/conditions-manager.js';
import { getConditionStateManagerViaEvent } from '../conditions/state-manager-via-event.js'; import { getConditionStateManagerViaEvent } from '../conditions/state-manager-via-event.js';
import { import {
AdvancedCameraCardConditional,
MenuIcon,
MenuItem,
MenuStateIcon,
MenuSubmenu,
MenuSubmenuSelect,
PictureElements,
StatusBarIcon, StatusBarIcon,
StatusBarImage, StatusBarImage,
StatusBarItem, StatusBarItem,
StatusBarString, StatusBarString,
} from '../config/types.js'; } from '../config/schema/actions/types.js';
import { MenuIcon } from '../config/schema/elements/custom/menu/icon.js';
import { MenuStateIcon } from '../config/schema/elements/custom/menu/state-icon.js';
import { MenuSubmenuSelect } from '../config/schema/elements/custom/menu/submenu-select.js';
import { MenuSubmenu } from '../config/schema/elements/custom/menu/submenu.js';
import { MenuItem } from '../config/schema/elements/custom/menu/types.js';
import {
AdvancedCameraCardConditional,
PictureElements,
} from '../config/schema/elements/types.js';
import { HomeAssistant } from '../ha/types.js'; import { HomeAssistant } from '../ha/types.js';
import { localize } from '../localize/localize.js'; import { localize } from '../localize/localize.js';
import elementsStyle from '../scss/elements.scss'; import elementsStyle from '../scss/elements.scss';
+2 -1
View File
@@ -13,7 +13,8 @@ import throttle from 'lodash-es/throttle';
import { CameraManager, ExtendedMediaQueryResult } from '../camera-manager/manager.js'; import { CameraManager, ExtendedMediaQueryResult } from '../camera-manager/manager.js';
import { EventQuery, MediaQuery, RecordingQuery } from '../camera-manager/types'; import { EventQuery, MediaQuery, RecordingQuery } from '../camera-manager/types';
import { ViewManagerEpoch } from '../card-controller/view/types.js'; import { ViewManagerEpoch } from '../card-controller/view/types.js';
import { CardWideConfig, configDefaults, GalleryConfig } from '../config/types'; import { GalleryConfig } from '../config/schema/gallery.js';
import { CardWideConfig, configDefaults } from '../config/schema/types.js';
import { HomeAssistant } from '../ha/types.js'; import { HomeAssistant } from '../ha/types.js';
import { localize } from '../localize/localize'; import { localize } from '../localize/localize';
import galleryCoreStyle from '../scss/gallery-core.scss'; import galleryCoreStyle from '../scss/gallery-core.scss';
+3 -1
View File
@@ -15,7 +15,9 @@ import { CameraManager } from '../camera-manager/manager.js';
import { getCameraEntityFromConfig } from '../camera-manager/utils/camera-entity-from-config.js'; import { getCameraEntityFromConfig } from '../camera-manager/utils/camera-entity-from-config.js';
import { CachedValueController } from '../components-lib/cached-value-controller.js'; import { CachedValueController } from '../components-lib/cached-value-controller.js';
import { UpdatingImageMediaPlayerController } from '../components-lib/media-player/updating-image.js'; import { UpdatingImageMediaPlayerController } from '../components-lib/media-player/updating-image.js';
import { CameraConfig, ImageMode, ImageViewConfig } from '../config/types.js'; import { CameraConfig } from '../config/schema/cameras.js';
import { ImageMode } from '../config/schema/common/image.js';
import { ImageViewConfig } from '../config/schema/image.js';
import { HomeAssistant } from '../ha/types.js'; import { HomeAssistant } from '../ha/types.js';
import defaultImage from '../images/iris-screensaver.jpg'; import defaultImage from '../images/iris-screensaver.jpg';
import { localize } from '../localize/localize.js'; import { localize } from '../localize/localize.js';
+3 -2
View File
@@ -13,8 +13,10 @@ import { CameraManager } from '../camera-manager/manager';
import { ViewManagerEpoch } from '../card-controller/view/types'; import { ViewManagerEpoch } from '../card-controller/view/types';
import { ZoomSettingsObserved } from '../components-lib/zoom/types'; import { ZoomSettingsObserved } from '../components-lib/zoom/types';
import { handleZoomSettingsObservedEvent } from '../components-lib/zoom/zoom-view-context'; import { handleZoomSettingsObservedEvent } from '../components-lib/zoom/zoom-view-context';
import { CameraConfig, ImageViewConfig } from '../config/types'; import { CameraConfig } from '../config/schema/cameras';
import { ImageViewConfig } from '../config/schema/image';
import { IMAGE_VIEW_ZOOM_TARGET_SENTINEL } from '../const'; import { IMAGE_VIEW_ZOOM_TARGET_SENTINEL } from '../const';
import { HomeAssistant } from '../ha/types';
import imageStyle from '../scss/image.scss'; import imageStyle from '../scss/image.scss';
import { MediaPlayer, MediaPlayerController, MediaPlayerElement } from '../types.js'; import { MediaPlayer, MediaPlayerController, MediaPlayerElement } from '../types.js';
import { aspectRatioToString } from '../utils/basic'; import { aspectRatioToString } from '../utils/basic';
@@ -22,7 +24,6 @@ import { updateElementStyleFromMediaLayoutConfig } from '../utils/media-layout.j
import './image-updating-player'; import './image-updating-player';
import { resolveImageMode } from './image-updating-player'; import { resolveImageMode } from './image-updating-player';
import './zoomer.js'; import './zoomer.js';
import { HomeAssistant } from '../ha/types';
@customElement('advanced-camera-card-image') @customElement('advanced-camera-card-image')
export class AdvancedCameraCardImage extends LitElement implements MediaPlayer { export class AdvancedCameraCardImage extends LitElement implements MediaPlayer {
+2 -2
View File
@@ -9,9 +9,9 @@ import {
import { customElement, property } from 'lit/decorators.js'; import { customElement, property } from 'lit/decorators.js';
import { classMap } from 'lit/directives/class-map.js'; import { classMap } from 'lit/directives/class-map.js';
import { KeyAssignerController } from '../components-lib/key-assigner-controller'; import { KeyAssignerController } from '../components-lib/key-assigner-controller';
import { KeyboardShortcut } from '../config/keyboard-shortcuts'; import { KeyboardShortcut } from '../config/schema/view';
import keyAssignerStyle from '../scss/key-assigner.scss';
import { localize } from '../localize/localize'; import { localize } from '../localize/localize';
import keyAssignerStyle from '../scss/key-assigner.scss';
import './icon'; import './icon';
@customElement('advanced-camera-card-key-assigner') @customElement('advanced-camera-card-key-assigner')
+4 -7
View File
@@ -16,13 +16,10 @@ import { ViewManagerEpoch } from '../../card-controller/view/types.js';
import { MediaActionsController } from '../../components-lib/media-actions-controller.js'; import { MediaActionsController } from '../../components-lib/media-actions-controller.js';
import { ZoomSettingsObserved } from '../../components-lib/zoom/types.js'; import { ZoomSettingsObserved } from '../../components-lib/zoom/types.js';
import { handleZoomSettingsObservedEvent } from '../../components-lib/zoom/zoom-view-context.js'; import { handleZoomSettingsObservedEvent } from '../../components-lib/zoom/zoom-view-context.js';
import { import { CameraConfig } from '../../config/schema/cameras.js';
CameraConfig, import { TransitionEffect } from '../../config/schema/common/transition-effect.js';
CardWideConfig, import { LiveConfig } from '../../config/schema/live.js';
configDefaults, import { CardWideConfig, configDefaults } from '../../config/schema/types.js';
LiveConfig,
TransitionEffect,
} from '../../config/types.js';
import { HomeAssistant } from '../../ha/types.js'; import { HomeAssistant } from '../../ha/types.js';
import liveCarouselStyle from '../../scss/live-carousel.scss'; import liveCarouselStyle from '../../scss/live-carousel.scss';
import { stopEventFromActivatingCardWideActions } from '../../utils/action.js'; import { stopEventFromActivatingCardWideActions } from '../../utils/action.js';
+2 -1
View File
@@ -12,7 +12,8 @@ import { CameraManager } from '../../camera-manager/manager.js';
import { MicrophoneState } from '../../card-controller/types.js'; import { MicrophoneState } from '../../card-controller/types.js';
import { ViewManagerEpoch } from '../../card-controller/view/types.js'; import { ViewManagerEpoch } from '../../card-controller/view/types.js';
import { MediaGridSelected } from '../../components-lib/media-grid-controller.js'; import { MediaGridSelected } from '../../components-lib/media-grid-controller.js';
import { CardWideConfig, LiveConfig } from '../../config/types.js'; import { LiveConfig } from '../../config/schema/live.js';
import { CardWideConfig } from '../../config/schema/types.js';
import { HomeAssistant } from '../../ha/types.js'; import { HomeAssistant } from '../../ha/types.js';
import liveGridStyle from '../../scss/live-grid.scss'; import liveGridStyle from '../../scss/live-grid.scss';
import './carousel.js'; import './carousel.js';
+2 -1
View File
@@ -4,7 +4,8 @@ import { CameraManager } from '../../camera-manager/manager.js';
import { MicrophoneState } from '../../card-controller/types.js'; import { MicrophoneState } from '../../card-controller/types.js';
import { ViewManagerEpoch } from '../../card-controller/view/types.js'; import { ViewManagerEpoch } from '../../card-controller/view/types.js';
import { LiveController } from '../../components-lib/live/live-controller.js'; import { LiveController } from '../../components-lib/live/live-controller.js';
import { CardWideConfig, LiveConfig } from '../../config/types.js'; import { LiveConfig } from '../../config/schema/live.js';
import { CardWideConfig } from '../../config/schema/types.js';
import { HomeAssistant } from '../../ha/types.js'; import { HomeAssistant } from '../../ha/types.js';
import basicBlockStyle from '../../scss/basic-block.scss'; import basicBlockStyle from '../../scss/basic-block.scss';
import './grid.js'; import './grid.js';
+3 -7
View File
@@ -14,13 +14,9 @@ import { CameraEndpoints } from '../../camera-manager/types.js';
import { MicrophoneState } from '../../card-controller/types.js'; import { MicrophoneState } from '../../card-controller/types.js';
import { dispatchLiveErrorEvent } from '../../components-lib/live/utils/dispatch-live-error.js'; import { dispatchLiveErrorEvent } from '../../components-lib/live/utils/dispatch-live-error.js';
import { PartialZoomSettings } from '../../components-lib/zoom/types.js'; import { PartialZoomSettings } from '../../components-lib/zoom/types.js';
import { import { CameraConfig, LiveProvider } from '../../config/schema/cameras.js';
CameraConfig, import { LiveConfig } from '../../config/schema/live.js';
CardWideConfig, import { CardWideConfig, configDefaults } from '../../config/schema/types.js';
configDefaults,
LiveConfig,
LiveProvider,
} from '../../config/types.js';
import { STREAM_TROUBLESHOOTING_URL } from '../../const.js'; import { STREAM_TROUBLESHOOTING_URL } from '../../const.js';
import { HomeAssistant } from '../../ha/types.js'; import { HomeAssistant } from '../../ha/types.js';
import { localize } from '../../localize/localize.js'; import { localize } from '../../localize/localize.js';
@@ -11,7 +11,8 @@ import { CameraEndpoints } from '../../../../camera-manager/types.js';
import { MicrophoneState } from '../../../../card-controller/types.js'; import { MicrophoneState } from '../../../../card-controller/types.js';
import { dispatchLiveErrorEvent } from '../../../../components-lib/live/utils/dispatch-live-error.js'; import { dispatchLiveErrorEvent } from '../../../../components-lib/live/utils/dispatch-live-error.js';
import { VideoMediaPlayerController } from '../../../../components-lib/media-player/video.js'; import { VideoMediaPlayerController } from '../../../../components-lib/media-player/video.js';
import { CameraConfig, MicrophoneConfig } from '../../../../config/types.js'; import { CameraConfig } from '../../../../config/schema/cameras.js';
import { MicrophoneConfig } from '../../../../config/schema/live.js';
import { HomeAssistant } from '../../../../ha/types.js'; import { HomeAssistant } from '../../../../ha/types.js';
import { localize } from '../../../../localize/localize.js'; import { localize } from '../../../../localize/localize.js';
import liveGo2RTCStyle from '../../../../scss/live-go2rtc.scss'; import liveGo2RTCStyle from '../../../../scss/live-go2rtc.scss';
+1 -1
View File
@@ -1,7 +1,7 @@
import { CSSResultGroup, html, LitElement, TemplateResult, unsafeCSS } from 'lit'; import { CSSResultGroup, html, LitElement, TemplateResult, unsafeCSS } from 'lit';
import { customElement, property } from 'lit/decorators.js'; import { customElement, property } from 'lit/decorators.js';
import { createRef, Ref, ref } from 'lit/directives/ref.js'; import { createRef, Ref, ref } from 'lit/directives/ref.js';
import { CameraConfig } from '../../../config/types'; import { CameraConfig } from '../../../config/schema/cameras';
import { HomeAssistant } from '../../../ha/types'; import { HomeAssistant } from '../../../ha/types';
import '../../../patches/ha-camera-stream'; import '../../../patches/ha-camera-stream';
import '../../../patches/ha-hls-player.js'; import '../../../patches/ha-hls-player.js';
+1 -1
View File
@@ -1,7 +1,7 @@
import { CSSResultGroup, html, LitElement, TemplateResult, unsafeCSS } from 'lit'; import { CSSResultGroup, html, LitElement, TemplateResult, unsafeCSS } from 'lit';
import { customElement, property } from 'lit/decorators.js'; import { customElement, property } from 'lit/decorators.js';
import { createRef, ref, Ref } from 'lit/directives/ref.js'; import { createRef, ref, Ref } from 'lit/directives/ref.js';
import { CameraConfig } from '../../../config/types'; import { CameraConfig } from '../../../config/schema/cameras';
import { HomeAssistant } from '../../../ha/types'; import { HomeAssistant } from '../../../ha/types';
import basicBlockStyle from '../../../scss/basic-block.scss'; import basicBlockStyle from '../../../scss/basic-block.scss';
import { import {
+2 -1
View File
@@ -12,7 +12,8 @@ import { until } from 'lit/directives/until.js';
import { CameraEndpoints } from '../../../camera-manager/types.js'; import { CameraEndpoints } from '../../../camera-manager/types.js';
import { dispatchLiveErrorEvent } from '../../../components-lib/live/utils/dispatch-live-error.js'; import { dispatchLiveErrorEvent } from '../../../components-lib/live/utils/dispatch-live-error.js';
import { JSMPEGMediaPlayerController } from '../../../components-lib/media-player/jsmpeg.js'; import { JSMPEGMediaPlayerController } from '../../../components-lib/media-player/jsmpeg.js';
import { CameraConfig, CardWideConfig } from '../../../config/types.js'; import { CameraConfig } from '../../../config/schema/cameras.js';
import { CardWideConfig } from '../../../config/schema/types.js';
import { HomeAssistant } from '../../../ha/types.js'; import { HomeAssistant } from '../../../ha/types.js';
import { localize } from '../../../localize/localize.js'; import { localize } from '../../../localize/localize.js';
import liveJSMPEGStyle from '../../../scss/live-jsmpeg.scss'; import liveJSMPEGStyle from '../../../scss/live-jsmpeg.scss';
+2 -1
View File
@@ -12,7 +12,8 @@ import { CameraEndpoints } from '../../../camera-manager/types.js';
import { dispatchLiveErrorEvent } from '../../../components-lib/live/utils/dispatch-live-error.js'; import { dispatchLiveErrorEvent } from '../../../components-lib/live/utils/dispatch-live-error.js';
import { getTechnologyForVideoRTC } from '../../../components-lib/live/utils/get-technology-for-video-rtc.js'; import { getTechnologyForVideoRTC } from '../../../components-lib/live/utils/get-technology-for-video-rtc.js';
import { VideoMediaPlayerController } from '../../../components-lib/media-player/video.js'; import { VideoMediaPlayerController } from '../../../components-lib/media-player/video.js';
import { CameraConfig, CardWideConfig } from '../../../config/types.js'; import { CameraConfig } from '../../../config/schema/cameras.js';
import { CardWideConfig } from '../../../config/schema/types.js';
import { HomeAssistant } from '../../../ha/types.js'; import { HomeAssistant } from '../../../ha/types.js';
import { localize } from '../../../localize/localize.js'; import { localize } from '../../../localize/localize.js';
import liveWebRTCCardStyle from '../../../scss/live-webrtc-card.scss'; import liveWebRTCCardStyle from '../../../scss/live-webrtc-card.scss';

Some files were not shown because too many files have changed in this diff Show More