chore: Enforce import order via @ianvs/prettier-plugin-sort-imports (#2542)
This commit is contained in:
committed by
dermotduffy
parent
95f35bd326
commit
a96dc2e863
+4
-3
@@ -1,9 +1,10 @@
|
|||||||
import { defineConfig } from 'eslint/config';
|
|
||||||
import tsParser from '@typescript-eslint/parser';
|
|
||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
import { fileURLToPath } from 'node:url';
|
import { fileURLToPath } from 'node:url';
|
||||||
import js from '@eslint/js';
|
|
||||||
import { FlatCompat } from '@eslint/eslintrc';
|
import { FlatCompat } from '@eslint/eslintrc';
|
||||||
|
import js from '@eslint/js';
|
||||||
|
import tsParser from '@typescript-eslint/parser';
|
||||||
|
import { defineConfig } from 'eslint/config';
|
||||||
|
|
||||||
const __filename = fileURLToPath(import.meta.url);
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
const __dirname = path.dirname(__filename);
|
const __dirname = path.dirname(__filename);
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"@babel/core": "^7.24.7",
|
"@babel/core": "^7.24.7",
|
||||||
"@babel/plugin-proposal-decorators": "^7.24.7",
|
"@babel/plugin-proposal-decorators": "^7.24.7",
|
||||||
"@babel/plugin-transform-class-properties": "^7.24.7",
|
"@babel/plugin-transform-class-properties": "^7.24.7",
|
||||||
|
"@ianvs/prettier-plugin-sort-imports": "^4.7.1",
|
||||||
"@rollup/plugin-babel": "^6.0.4",
|
"@rollup/plugin-babel": "^6.0.4",
|
||||||
"@rollup/plugin-commonjs": "^26.0.1",
|
"@rollup/plugin-commonjs": "^26.0.1",
|
||||||
"@rollup/plugin-image": "^3.0.3",
|
"@rollup/plugin-image": "^3.0.3",
|
||||||
|
|||||||
@@ -11,6 +11,22 @@ const config = {
|
|||||||
printWidth: 89,
|
printWidth: 89,
|
||||||
tabWidth: 2,
|
tabWidth: 2,
|
||||||
embeddedLanguageFormatting: 'auto',
|
embeddedLanguageFormatting: 'auto',
|
||||||
|
|
||||||
|
// Sort imports as part of formatting so editor-on-save and CI agree. Three groups
|
||||||
|
// separated by a blank line: node built-ins, then non-relative (third-party), then
|
||||||
|
// relative. Empty strings insert the blank line between groups; sort is
|
||||||
|
// case-insensitive. Side-effect imports are left in place as sort barriers to
|
||||||
|
// preserve their evaluation order. Setting the TypeScript version lets same-module
|
||||||
|
// type and value imports combine into a single statement with an inline `type`.
|
||||||
|
plugins: ['@ianvs/prettier-plugin-sort-imports'],
|
||||||
|
importOrder: ['<BUILTIN_MODULES>', '', '<THIRD_PARTY_MODULES>', '', '^[.]'],
|
||||||
|
importOrderTypeScriptVersion: '5.8.3',
|
||||||
|
|
||||||
|
// The codebase compiles with tsconfig `experimentalDecorators` (Lit's
|
||||||
|
// `@customElement`/`@property`/etc.), so babel must parse the legacy decorator
|
||||||
|
// proposal; without this it throws on decorated classes and silently skips sorting
|
||||||
|
// those files.
|
||||||
|
importOrderParserPlugins: ['typescript', 'decorators-legacy'],
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|||||||
@@ -2,9 +2,10 @@ import { noChange } from 'lit';
|
|||||||
import {
|
import {
|
||||||
AttributePart,
|
AttributePart,
|
||||||
Directive,
|
Directive,
|
||||||
DirectiveParameters,
|
|
||||||
directive,
|
directive,
|
||||||
|
DirectiveParameters,
|
||||||
} from 'lit/directive.js';
|
} from 'lit/directive.js';
|
||||||
|
|
||||||
import { fireHASSEvent } from './ha/fire-hass-event.js';
|
import { fireHASSEvent } from './ha/fire-hass-event.js';
|
||||||
import { ActionHandlerDetail, ActionHandlerOptions } from './ha/types.js';
|
import { ActionHandlerDetail, ActionHandlerOptions } from './ha/types.js';
|
||||||
import { stopEventFromActivatingCardWideActions } from './utils/action.js';
|
import { stopEventFromActivatingCardWideActions } from './utils/action.js';
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
import { CacheInterface } from './types';
|
|
||||||
import { EqualityCache } from './equality-cache';
|
import { EqualityCache } from './equality-cache';
|
||||||
|
import { CacheInterface } from './types';
|
||||||
|
|
||||||
interface ExpiringValue<Value> {
|
interface ExpiringValue<Value> {
|
||||||
value: Value;
|
value: Value;
|
||||||
|
|||||||
Vendored
+1
@@ -1,4 +1,5 @@
|
|||||||
import QuickLRU from 'quick-lru';
|
import QuickLRU from 'quick-lru';
|
||||||
|
|
||||||
import { CacheBase } from './base';
|
import { CacheBase } from './base';
|
||||||
|
|
||||||
export class LRUCache<Key, Value> extends CacheBase<Key, Value> {
|
export class LRUCache<Key, Value> extends CacheBase<Key, Value> {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { orderBy, sortedUniqBy } from 'lodash-es';
|
import { orderBy, sortedUniqBy } from 'lodash-es';
|
||||||
|
|
||||||
import { DateRange, MemoryRangeSet } from './range';
|
import { DateRange, MemoryRangeSet } from './range';
|
||||||
import { RecordingSegment } from './types';
|
import { RecordingSegment } from './types';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { uniq } from 'lodash-es';
|
import { uniq } from 'lodash-es';
|
||||||
|
|
||||||
import { ActionsExecutor } from '../card-controller/actions/types';
|
import { ActionsExecutor } from '../card-controller/actions/types';
|
||||||
import { EventSubscriptionRequest } from '../card-controller/hass/event-watcher';
|
import { EventSubscriptionRequest } from '../card-controller/hass/event-watcher';
|
||||||
import { HASSManagerReadonlyInterface } from '../card-controller/hass/types';
|
import { HASSManagerReadonlyInterface } from '../card-controller/hass/types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { format } from 'date-fns';
|
import { format } from 'date-fns';
|
||||||
|
|
||||||
import { ActionsExecutor } from '../../card-controller/actions/types';
|
import { ActionsExecutor } from '../../card-controller/actions/types';
|
||||||
import { PTZAction, PTZActionPhase } from '../../config/schema/actions/custom/ptz';
|
import { PTZAction, PTZActionPhase } from '../../config/schema/actions/custom/ptz';
|
||||||
import { CameraConfig } from '../../config/schema/cameras';
|
import { CameraConfig } from '../../config/schema/cameras';
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import { add, endOfHour, fromUnixTime, startOfHour } from 'date-fns';
|
import { add, endOfHour, fromUnixTime, startOfHour } from 'date-fns';
|
||||||
import { isEqual, orderBy, throttle, uniqWith } from 'lodash-es';
|
import { isEqual, orderBy, throttle, uniqWith } from 'lodash-es';
|
||||||
|
|
||||||
import { HASSManagerReadonlyInterface } from '../../card-controller/hass/types';
|
import { HASSManagerReadonlyInterface } from '../../card-controller/hass/types';
|
||||||
import { CameraConfig } from '../../config/schema/cameras';
|
import { CameraConfig } from '../../config/schema/cameras';
|
||||||
import { getEntityTitle } from '../../ha/get-entity-title';
|
import { getEntityTitle } from '../../ha/get-entity-title';
|
||||||
import { EntityRegistryManager } from '../../ha/registry/entity/types';
|
import { EntityRegistryManager } from '../../ha/registry/entity/types';
|
||||||
import { HomeAssistant } from '../../ha/types';
|
import { HomeAssistant } from '../../ha/types';
|
||||||
import { QuerySource, hasUnsupportedFilters } from '../../query-source.js';
|
import { hasUnsupportedFilters, QuerySource } from '../../query-source.js';
|
||||||
import { Endpoint } from '../../types';
|
import { Endpoint } from '../../types';
|
||||||
import {
|
import {
|
||||||
allPromises,
|
allPromises,
|
||||||
@@ -60,13 +61,13 @@ import { FrigateCamera, isBirdseye } from './camera';
|
|||||||
import { FrigateViewMediaFactory } from './media';
|
import { FrigateViewMediaFactory } from './media';
|
||||||
import { FrigateViewMediaClassifier } from './media-classifier';
|
import { FrigateViewMediaClassifier } from './media-classifier';
|
||||||
import {
|
import {
|
||||||
NativeFrigateEventQuery,
|
|
||||||
NativeFrigateRecordingSegmentsQuery,
|
|
||||||
getEventSummary,
|
|
||||||
getEvents,
|
getEvents,
|
||||||
|
getEventSummary,
|
||||||
getRecordingSegments,
|
getRecordingSegments,
|
||||||
getRecordingsSummary,
|
getRecordingsSummary,
|
||||||
getReviews,
|
getReviews,
|
||||||
|
NativeFrigateEventQuery,
|
||||||
|
NativeFrigateRecordingSegmentsQuery,
|
||||||
retainEvent,
|
retainEvent,
|
||||||
setReviewsReviewed,
|
setReviewsReviewed,
|
||||||
} from './requests';
|
} from './requests';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { fromUnixTime } from 'date-fns';
|
import { fromUnixTime } from 'date-fns';
|
||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
|
|
||||||
import { CameraConfig } from '../../config/schema/cameras';
|
import { CameraConfig } from '../../config/schema/cameras';
|
||||||
import { Severity } from '../../severity';
|
import { Severity } from '../../severity';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import { dayToDate } from '../../utils/basic';
|
import { dayToDate } from '../../utils/basic';
|
||||||
import {
|
import {
|
||||||
Engine,
|
Engine,
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import { HASSConnectionSubscriptionManager } from '../../ha/connection/subscription-manager';
|
import { HASSConnectionSubscriptionManager } from '../../ha/connection/subscription-manager';
|
||||||
import { HASSSource } from '../../ha/source';
|
import { HASSSource } from '../../ha/source';
|
||||||
import {
|
import {
|
||||||
FrigateEventChange,
|
FrigateEventChange,
|
||||||
FrigateReviewChange,
|
|
||||||
frigateEventChangeSchema,
|
frigateEventChangeSchema,
|
||||||
|
FrigateReviewChange,
|
||||||
frigateReviewChangeSchema,
|
frigateReviewChangeSchema,
|
||||||
} from './types';
|
} from './types';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { add } from 'date-fns';
|
import { add } from 'date-fns';
|
||||||
import { cloneDeep, omit, sum } from 'lodash-es';
|
import { cloneDeep, omit, sum } from 'lodash-es';
|
||||||
import PQueue from 'p-queue';
|
import PQueue from 'p-queue';
|
||||||
|
|
||||||
import { EqualityMap } from '../cache/equality-map.js';
|
import { EqualityMap } from '../cache/equality-map.js';
|
||||||
import { CardCameraAPI } from '../card-controller/types.js';
|
import { CardCameraAPI } from '../card-controller/types.js';
|
||||||
import { sortItems } from '../card-controller/view/sort.js';
|
import { sortItems } from '../card-controller/view/sort.js';
|
||||||
|
|||||||
@@ -1,5 +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/schema/cameras';
|
import { CameraConfig } from '../../config/schema/cameras';
|
||||||
import { getViewMediaFromBrowseMediaArray } from '../../ha/browse-media/browse-media-to-view-media';
|
import { getViewMediaFromBrowseMediaArray } from '../../ha/browse-media/browse-media-to-view-media';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,5 +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 { HASSManagerReadonlyInterface } from '../../card-controller/hass/types';
|
import { HASSManagerReadonlyInterface } from '../../card-controller/hass/types';
|
||||||
import { CameraConfig } from '../../config/schema/cameras';
|
import { CameraConfig } from '../../config/schema/cameras';
|
||||||
import { getViewMediaFromBrowseMediaArray } from '../../ha/browse-media/browse-media-to-view-media';
|
import { getViewMediaFromBrowseMediaArray } from '../../ha/browse-media/browse-media-to-view-media';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { endOfDay, endOfHour, endOfMinute, startOfDay, startOfHour } from 'date-fns';
|
import { endOfDay, endOfHour, endOfMinute, startOfDay, startOfHour } from 'date-fns';
|
||||||
|
|
||||||
import { DateRange } from '../range';
|
import { DateRange } from '../range';
|
||||||
import { capEndDate } from './cap-end-date';
|
import { capEndDate } from './cap-end-date';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { ActionContext } from 'action';
|
import { ActionContext } from 'action';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import { TriggerData } from '../../condition-trigger/triggers/types.js';
|
import { TriggerData } from '../../condition-trigger/triggers/types.js';
|
||||||
import {
|
import {
|
||||||
ActionConfig,
|
ActionConfig,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ActionContext } from 'action';
|
import { ActionContext } from 'action';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ActionConfig,
|
ActionConfig,
|
||||||
AuxillaryActionConfig,
|
AuxillaryActionConfig,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ActionContext } from 'action';
|
import { ActionContext } from 'action';
|
||||||
|
|
||||||
import { createConditionEvaluator } from '../../../condition-trigger/conditions/factory';
|
import { createConditionEvaluator } from '../../../condition-trigger/conditions/factory';
|
||||||
import { TriggerData } from '../../../condition-trigger/triggers/types';
|
import { TriggerData } from '../../../condition-trigger/triggers/types';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { clamp } from 'lodash-es';
|
import { clamp } from 'lodash-es';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
PartialZoomSettings,
|
PartialZoomSettings,
|
||||||
ZOOM_DEFAULT_PAN_X,
|
ZOOM_DEFAULT_PAN_X,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { PTZMultiActionConfig } from '../../../config/schema/actions/custom/ptz-multi';
|
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 { getPTZTarget, hasCameraTruePTZ, PTZType } from '../../../utils/ptz';
|
||||||
import { CardActionsAPI } from '../../types';
|
import { CardActionsAPI } from '../../types';
|
||||||
import { AdvancedCameraCardAction } from './base';
|
import { AdvancedCameraCardAction } from './base';
|
||||||
import { PTZAction } from './ptz';
|
import { PTZAction } from './ptz';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ActionContext } from 'action';
|
import { ActionContext } from 'action';
|
||||||
|
|
||||||
import { ActionConfig } from '../../../config/schema/actions/types';
|
import { ActionConfig } from '../../../config/schema/actions/types';
|
||||||
import { arrayify } from '../../../utils/basic';
|
import { arrayify } from '../../../utils/basic';
|
||||||
import { CardActionsAPI } from '../../types';
|
import { CardActionsAPI } from '../../types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ActionContext } from 'action';
|
import { ActionContext } from 'action';
|
||||||
|
|
||||||
import { TriggerData } from '../../condition-trigger/triggers/types';
|
import { TriggerData } from '../../condition-trigger/triggers/types';
|
||||||
import { INTERNAL_CALLBACK_ACTION } from '../../config/schema/actions/custom/internal';
|
import { INTERNAL_CALLBACK_ACTION } from '../../config/schema/actions/custom/internal';
|
||||||
import { ActionConfig, AuxillaryActionConfig } from '../../config/schema/actions/types';
|
import { ActionConfig, AuxillaryActionConfig } from '../../config/schema/actions/types';
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { merge } from 'lodash-es';
|
|
||||||
import { Action, TargetedActionContext } from '../types';
|
|
||||||
import { ActionContext } from 'action';
|
import { ActionContext } from 'action';
|
||||||
|
import { merge } from 'lodash-es';
|
||||||
|
|
||||||
|
import { Action, TargetedActionContext } from '../types';
|
||||||
|
|
||||||
export const stopInProgressForThisTarget = async (
|
export const stopInProgressForThisTarget = async (
|
||||||
targetID: string,
|
targetID: string,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { maxBy, throttle } from 'lodash-es';
|
import { maxBy, throttle } from 'lodash-es';
|
||||||
|
|
||||||
import { CameraEvent } from '../camera-manager/types';
|
import { CameraEvent } from '../camera-manager/types';
|
||||||
import { isTriggeredState } from '../ha/is-triggered-state';
|
import { isTriggeredState } from '../ha/is-triggered-state';
|
||||||
import { Timer } from '../utils/timer';
|
import { Timer } from '../utils/timer';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { LitElement, ReactiveControllerHost } from 'lit';
|
import { LitElement, ReactiveControllerHost } from 'lit';
|
||||||
|
|
||||||
import { ActionEventTarget } from '../action-handler-directive';
|
import { ActionEventTarget } from '../action-handler-directive';
|
||||||
import { isCardInPanel } from '../ha/panel';
|
import { isCardInPanel } from '../ha/panel';
|
||||||
import { LovelaceCard } from '../ha/types';
|
import { LovelaceCard } from '../ha/types';
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
import { ConfigParseError } from './error.js';
|
|
||||||
import { copyConfig, isConfigUpgradeable } from '../../config/management.js';
|
import { copyConfig, isConfigUpgradeable } from '../../config/management.js';
|
||||||
import { setProfiles } from '../../config/profiles/set-profiles.js';
|
import { setProfiles } from '../../config/profiles/set-profiles.js';
|
||||||
import {
|
import {
|
||||||
AdvancedCameraCardConfig,
|
AdvancedCameraCardConfig,
|
||||||
CardWideConfig,
|
|
||||||
advancedCameraCardConfigSchema,
|
advancedCameraCardConfigSchema,
|
||||||
|
CardWideConfig,
|
||||||
} from '../../config/schema/types.js';
|
} from '../../config/schema/types.js';
|
||||||
import { RawAdvancedCameraCardConfig } from '../../config/types.js';
|
import { RawAdvancedCameraCardConfig } from '../../config/types.js';
|
||||||
import { localize } from '../../localize/localize.js';
|
import { localize } from '../../localize/localize.js';
|
||||||
import { getParseError } from '../../utils/zod/parse-errors.js';
|
import { getParseError } from '../../utils/zod/parse-errors.js';
|
||||||
import { InitializationAspect } from '../initialization-manager.js';
|
import { InitializationAspect } from '../initialization-manager.js';
|
||||||
import { CardConfigAPI } from '../types.js';
|
import { CardConfigAPI } from '../types.js';
|
||||||
|
import { ConfigParseError } from './error.js';
|
||||||
import { setAutomationsFromConfig } from './load-automations.js';
|
import { setAutomationsFromConfig } from './load-automations.js';
|
||||||
import { setRemoteControlEntityFromConfig } from './load-control-entities.js';
|
import { setRemoteControlEntityFromConfig } from './load-control-entities.js';
|
||||||
import { setFoldersFromConfig } from './load-folders.js';
|
import { setFoldersFromConfig } from './load-folders.js';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
|
|
||||||
import { RemoteControlEntityPriority } from '../../config/schema/remote-control';
|
import { RemoteControlEntityPriority } from '../../config/schema/remote-control';
|
||||||
import { createCameraAction, createInternalCallbackAction } from '../../utils/action';
|
import { createCameraAction, createInternalCallbackAction } from '../../utils/action';
|
||||||
import { CardActionsAPI, CardConfigLoaderAPI, TaggedAutomation } from '../types';
|
import { CardActionsAPI, CardConfigLoaderAPI, TaggedAutomation } from '../types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { get, merge } from 'lodash-es';
|
import { get, merge } from 'lodash-es';
|
||||||
|
|
||||||
import { ConditionsManager } from '../../condition-trigger/conditions/conditions-manager';
|
import { ConditionsManager } from '../../condition-trigger/conditions/conditions-manager';
|
||||||
import { ConditionStateManagerReadonlyInterface } from '../../condition-trigger/conditions/types';
|
import { ConditionStateManagerReadonlyInterface } from '../../condition-trigger/conditions/types';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ReactiveController } from 'lit';
|
import { ReactiveController } from 'lit';
|
||||||
|
|
||||||
import { CameraManager } from '../camera-manager/manager';
|
import { CameraManager } from '../camera-manager/manager';
|
||||||
import { ConditionStateManager } from '../condition-trigger/conditions/state-manager';
|
import { ConditionStateManager } from '../condition-trigger/conditions/state-manager';
|
||||||
import { AdvancedCameraCardConfig } from '../config/schema/types';
|
import { AdvancedCameraCardConfig } from '../config/schema/types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
|
|
||||||
import { AdvancedCameraCardConfig } from '../config/schema/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';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { sub } from 'date-fns';
|
import { sub } from 'date-fns';
|
||||||
import { NonEmptyTuple } from 'type-fest';
|
import { NonEmptyTuple } from 'type-fest';
|
||||||
|
|
||||||
import { ConditionState } from '../../../condition-trigger/conditions/types';
|
import { ConditionState } from '../../../condition-trigger/conditions/types';
|
||||||
import {
|
import {
|
||||||
FolderConfig,
|
FolderConfig,
|
||||||
@@ -25,7 +26,6 @@ import { getMediaDownloadPath } from '../../../ha/download';
|
|||||||
import { HomeAssistant } from '../../../ha/types';
|
import { HomeAssistant } from '../../../ha/types';
|
||||||
import { QuerySource } from '../../../query-source.js';
|
import { QuerySource } from '../../../query-source.js';
|
||||||
import { Endpoint } from '../../../types';
|
import { Endpoint } from '../../../types';
|
||||||
|
|
||||||
import { ViewFolder, ViewItem } from '../../../view/item';
|
import { ViewFolder, ViewItem } from '../../../view/item';
|
||||||
import { ViewItemClassifier } from '../../../view/item-classifier';
|
import { ViewItemClassifier } from '../../../view/item-classifier';
|
||||||
import { ViewItemCapabilities } from '../../../view/types';
|
import { ViewItemCapabilities } from '../../../view/types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { sub } from 'date-fns';
|
import { sub } from 'date-fns';
|
||||||
|
|
||||||
import { ConditionState } from '../../../condition-trigger/conditions/types';
|
import { ConditionState } from '../../../condition-trigger/conditions/types';
|
||||||
import {
|
import {
|
||||||
DateMatcher,
|
DateMatcher,
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
|
import type parser from 'any-date-parser';
|
||||||
import { parse } from 'date-fns';
|
import { parse } from 'date-fns';
|
||||||
|
|
||||||
import { Parser } from '../../../config/schema/folders';
|
import { Parser } from '../../../config/schema/folders';
|
||||||
import {
|
import {
|
||||||
BrowseMedia,
|
BrowseMedia,
|
||||||
BrowseMediaMetadata,
|
BrowseMediaMetadata,
|
||||||
RichBrowseMedia,
|
RichBrowseMedia,
|
||||||
} from '../../../ha/browse-media/types';
|
} from '../../../ha/browse-media/types';
|
||||||
|
|
||||||
import type parser from 'any-date-parser';
|
|
||||||
import { isValidDate } from '../../../utils/basic';
|
import { isValidDate } from '../../../utils/basic';
|
||||||
import { regexpExtract } from '../../../utils/regexp-extract';
|
import { regexpExtract } from '../../../utils/regexp-extract';
|
||||||
import { REGEXP_GROUP_VALUE_KEY } from './types';
|
import { REGEXP_GROUP_VALUE_KEY } from './types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { cloneDeep } from 'lodash-es';
|
import { cloneDeep } from 'lodash-es';
|
||||||
|
|
||||||
import { ConditionState } from '../../condition-trigger/conditions/types';
|
import { ConditionState } from '../../condition-trigger/conditions/types';
|
||||||
import { FolderConfig, FolderConfigWithoutID } from '../../config/schema/folders';
|
import { FolderConfig, FolderConfigWithoutID } from '../../config/schema/folders';
|
||||||
import { localize } from '../../localize/localize';
|
import { localize } from '../../localize/localize';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { NonEmptyTuple } from 'type-fest';
|
import { NonEmptyTuple } from 'type-fest';
|
||||||
|
|
||||||
import { ConditionState } from '../../condition-trigger/conditions/types';
|
import { ConditionState } from '../../condition-trigger/conditions/types';
|
||||||
import { FolderConfig, HAFolderPathComponent } from '../../config/schema/folders';
|
import { FolderConfig, HAFolderPathComponent } from '../../config/schema/folders';
|
||||||
import { ResolvedMediaCache } from '../../ha/resolved-media';
|
import { ResolvedMediaCache } from '../../ha/resolved-media';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import screenfull from 'screenfull';
|
import screenfull from 'screenfull';
|
||||||
|
|
||||||
import { WebkitHTMLVideoElement } from '../../types';
|
import { WebkitHTMLVideoElement } from '../../types';
|
||||||
import { CardFullscreenAPI } from '../types';
|
import { CardFullscreenAPI } from '../types';
|
||||||
import { ScreenfullFullScreenProvider } from './screenfull';
|
import { ScreenfullFullScreenProvider } from './screenfull';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import screenfull from 'screenfull';
|
import screenfull from 'screenfull';
|
||||||
|
|
||||||
import { FullscreenProviderBase } from '../provider';
|
import { FullscreenProviderBase } from '../provider';
|
||||||
import { FullscreenProvider } from '../types';
|
import { FullscreenProvider } from '../types';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { HassEvent } from 'home-assistant-js-websocket';
|
import { HassEvent } from 'home-assistant-js-websocket';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
SubscriptionHealthInterface,
|
SubscriptionHealthInterface,
|
||||||
SubscriptionHealthMonitor,
|
SubscriptionHealthMonitor,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { STATE_RUNNING } from 'home-assistant-js-websocket';
|
import { STATE_RUNNING } from 'home-assistant-js-websocket';
|
||||||
import PQueue from 'p-queue';
|
import PQueue from 'p-queue';
|
||||||
|
|
||||||
import { isHassReady } from '../ha/is-hass-ready';
|
import { isHassReady } from '../ha/is-hass-ready';
|
||||||
import { sideLoadHomeAssistantElements } from '../ha/side-load-ha-elements';
|
import { sideLoadHomeAssistantElements } from '../ha/side-load-ha-elements';
|
||||||
import { loadLanguages } from '../localize/localize';
|
import { loadLanguages } from '../localize/localize';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { throttle } from 'lodash-es';
|
import { throttle } from 'lodash-es';
|
||||||
|
|
||||||
import { Timer } from '../utils/timer';
|
import { Timer } from '../utils/timer';
|
||||||
import { CardInteractionAPI } from './types';
|
import { CardInteractionAPI } from './types';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import type { IssueTriggerContext } from 'issue';
|
import type { IssueTriggerContext } from 'issue';
|
||||||
|
|
||||||
import { ConditionStateChange } from '../../condition-trigger/conditions/types';
|
import { ConditionStateChange } from '../../condition-trigger/conditions/types';
|
||||||
import { isActionAllowedBasedOnInteractionState } from '../../utils/interaction-mode';
|
import { isActionAllowedBasedOnInteractionState } from '../../utils/interaction-mode';
|
||||||
import { RetryTimer } from '../../utils/retry-timer';
|
import { RetryTimer } from '../../utils/retry-timer';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { STATE_RUNNING } from 'home-assistant-js-websocket';
|
import { STATE_RUNNING } from 'home-assistant-js-websocket';
|
||||||
|
|
||||||
import { ConditionState } from '../../../condition-trigger/conditions/types.js';
|
import { ConditionState } from '../../../condition-trigger/conditions/types.js';
|
||||||
import { localize } from '../../../localize/localize.js';
|
import { localize } from '../../../localize/localize.js';
|
||||||
import { Issue, IssueDescription } from '../types.js';
|
import { Issue, IssueDescription } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import { TROUBLESHOOTING_LEGACY_RESOURCE_URL } from '../../../const.js';
|
import { TROUBLESHOOTING_LEGACY_RESOURCE_URL } from '../../../const.js';
|
||||||
import { HomeAssistant } from '../../../ha/types';
|
import { HomeAssistant } from '../../../ha/types';
|
||||||
import { localize } from '../../../localize/localize';
|
import { localize } from '../../../localize/localize';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import type { IssueTriggerContext } from 'issue';
|
import type { IssueTriggerContext } from 'issue';
|
||||||
|
|
||||||
import { ConditionState } from '../../../condition-trigger/conditions/types.js';
|
import { ConditionState } from '../../../condition-trigger/conditions/types.js';
|
||||||
import { Notification } from '../../../config/schema/actions/types.js';
|
import { Notification } from '../../../config/schema/actions/types.js';
|
||||||
import { TROUBLESHOOTING_MEDIA_URL } from '../../../const.js';
|
import { TROUBLESHOOTING_MEDIA_URL } from '../../../const.js';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import type { IssueTriggerContext } from 'issue';
|
import type { IssueTriggerContext } from 'issue';
|
||||||
|
|
||||||
import { summarizeNotification } from '../../components-lib/notification/summarize';
|
import { summarizeNotification } from '../../components-lib/notification/summarize';
|
||||||
import { ConditionState } from '../../condition-trigger/conditions/types';
|
import { ConditionState } from '../../condition-trigger/conditions/types';
|
||||||
import { Notification } from '../../config/schema/actions/types';
|
import { Notification } from '../../config/schema/actions/types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import type { IssueTriggerContext } from 'issue';
|
import type { IssueTriggerContext } from 'issue';
|
||||||
|
|
||||||
import { ConditionState } from '../../condition-trigger/conditions/types';
|
import { ConditionState } from '../../condition-trigger/conditions/types';
|
||||||
import { Notification } from '../../config/schema/actions/types';
|
import { Notification } from '../../config/schema/actions/types';
|
||||||
import { HomeAssistant } from '../../ha/types';
|
import { HomeAssistant } from '../../ha/types';
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { CardKeyboardStateAPI, KeysState } from './types';
|
|
||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
|
|
||||||
|
import { CardKeyboardStateAPI, KeysState } from './types';
|
||||||
|
|
||||||
export class KeyboardStateManager {
|
export class KeyboardStateManager {
|
||||||
private _api: CardKeyboardStateAPI;
|
private _api: CardKeyboardStateAPI;
|
||||||
private _state: KeysState = {};
|
private _state: KeysState = {};
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
|
|
||||||
import { CameraManager } from '../camera-manager/manager';
|
import { CameraManager } from '../camera-manager/manager';
|
||||||
import { StatusBarItem } from '../config/schema/actions/types';
|
import { StatusBarItem } from '../config/schema/actions/types';
|
||||||
import { StatusBarConfig } from '../config/schema/status-bar';
|
import { StatusBarConfig } from '../config/schema/status-bar';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { StyleInfo } from 'lit/directives/style-map';
|
import { StyleInfo } from 'lit/directives/style-map';
|
||||||
|
|
||||||
import { AdvancedCameraCardConfig, configDefaults } from '../config/schema/types';
|
import { AdvancedCameraCardConfig, configDefaults } from '../config/schema/types';
|
||||||
import { ThemeConfig, ThemeName } from '../config/schema/view';
|
import { ThemeConfig, ThemeName } from '../config/schema/view';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { HASS, renderTemplate } from 'ha-nunjucks/dist';
|
import { HASS, renderTemplate } from 'ha-nunjucks/dist';
|
||||||
|
|
||||||
import { ConditionState } from '../../condition-trigger/conditions/types';
|
import { ConditionState } from '../../condition-trigger/conditions/types';
|
||||||
import { TriggerData } from '../../condition-trigger/triggers/types';
|
import { TriggerData } from '../../condition-trigger/triggers/types';
|
||||||
import { HomeAssistant } from '../../ha/types';
|
import { HomeAssistant } from '../../ha/types';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { format } from 'date-fns';
|
import { format } from 'date-fns';
|
||||||
|
|
||||||
import { createNotificationFromError } from '../../components-lib/notification/factory';
|
import { createNotificationFromError } from '../../components-lib/notification/factory';
|
||||||
import { homeAssistantGetSignedURLIfNecessary } from '../../ha/sign-path';
|
import { homeAssistantGetSignedURLIfNecessary } from '../../ha/sign-path';
|
||||||
import { localize } from '../../localize/localize';
|
import { localize } from '../../localize/localize';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ViewContext } from 'view';
|
import { ViewContext } from 'view';
|
||||||
|
|
||||||
import { View } from '../../../view/view';
|
import { View } from '../../../view/view';
|
||||||
import { ViewModifier } from '../types';
|
import { ViewModifier } from '../types';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ViewContext } from 'view';
|
import { ViewContext } from 'view';
|
||||||
|
|
||||||
import { View } from '../../../view/view';
|
import { View } from '../../../view/view';
|
||||||
import { ViewModifier } from '../types';
|
import { ViewModifier } from '../types';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ViewContext } from 'view';
|
import { ViewContext } from 'view';
|
||||||
|
|
||||||
import { View } from '../../../view/view';
|
import { View } from '../../../view/view';
|
||||||
import { ViewModifier } from '../types';
|
import { ViewModifier } from '../types';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { orderBy, uniqBy } from 'lodash-es';
|
import { orderBy, uniqBy } from 'lodash-es';
|
||||||
|
|
||||||
import { ViewItem } from '../../view/item';
|
import { ViewItem } from '../../view/item';
|
||||||
import { ViewItemClassifier } from '../../view/item-classifier';
|
import { ViewItemClassifier } from '../../view/item-classifier';
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { ViewContext } from 'view';
|
import { ViewContext } from 'view';
|
||||||
|
|
||||||
|
import { AdvancedCameraCardUserSpecifiedView } from '../../config/schema/common/const.js';
|
||||||
import { AdvancedCameraCardError } from '../../types.js';
|
import { AdvancedCameraCardError } from '../../types.js';
|
||||||
import { ViewItem } from '../../view/item.js';
|
import { ViewItem } from '../../view/item.js';
|
||||||
import { QueryResults } from '../../view/query-results.js';
|
import { QueryResults } from '../../view/query-results.js';
|
||||||
|
|
||||||
import { AdvancedCameraCardUserSpecifiedView } from '../../config/schema/common/const.js';
|
|
||||||
import { View, ViewParameters } from '../../view/view.js';
|
import { View, ViewParameters } from '../../view/view.js';
|
||||||
|
|
||||||
export interface ViewModifier {
|
export interface ViewModifier {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ViewContext } from 'view';
|
import { ViewContext } from 'view';
|
||||||
|
|
||||||
import { log } from '../../utils/debug';
|
import { log } from '../../utils/debug';
|
||||||
import { getStreamCameraID } from '../../view/substream';
|
import { getStreamCameraID } from '../../view/substream';
|
||||||
import { getViewTargetID } from '../../view/target-id';
|
import { getViewTargetID } from '../../view/target-id';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { sub } from 'date-fns';
|
import { sub } from 'date-fns';
|
||||||
|
|
||||||
import { MEDIA_CHUNK_SIZE_DEFAULT } from '../../const';
|
import { MEDIA_CHUNK_SIZE_DEFAULT } from '../../const';
|
||||||
import { findBestMediaTimeIndex } from '../../utils/find-best-media-time-index';
|
import { findBestMediaTimeIndex } from '../../utils/find-best-media-time-index';
|
||||||
import { QueryResults } from '../../view/query-results';
|
import { QueryResults } from '../../view/query-results';
|
||||||
|
|||||||
+14
-2
@@ -1,29 +1,41 @@
|
|||||||
import { CSSResultGroup, LitElement, TemplateResult, html, unsafeCSS } from 'lit';
|
import { CSSResultGroup, html, LitElement, TemplateResult, unsafeCSS } from 'lit';
|
||||||
import { customElement } from 'lit/decorators.js';
|
import { customElement } from 'lit/decorators.js';
|
||||||
import { classMap } from 'lit/directives/class-map.js';
|
import { classMap } from 'lit/directives/class-map.js';
|
||||||
import { ifDefined } from 'lit/directives/if-defined.js';
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
||||||
import { Ref, createRef, ref } from 'lit/directives/ref.js';
|
import { createRef, Ref, ref } from 'lit/directives/ref.js';
|
||||||
import { styleMap } from 'lit/directives/style-map.js';
|
import { styleMap } from 'lit/directives/style-map.js';
|
||||||
|
|
||||||
import 'web-dialog';
|
import 'web-dialog';
|
||||||
|
|
||||||
import { actionHandler } from './action-handler-directive.js';
|
import { actionHandler } from './action-handler-directive.js';
|
||||||
import { CardController } from './card-controller/controller';
|
import { CardController } from './card-controller/controller';
|
||||||
import type { IssueKey, IssueTriggerEventData } from './card-controller/issues/types.js';
|
import type { IssueKey, IssueTriggerEventData } from './card-controller/issues/types.js';
|
||||||
import { resolveAutoHideState, type AutoHideState } from './components-lib/auto-hide.js';
|
import { resolveAutoHideState, type AutoHideState } from './components-lib/auto-hide.js';
|
||||||
import { MenuButtonController } from './components-lib/menu-button-controller';
|
import { MenuButtonController } from './components-lib/menu-button-controller';
|
||||||
|
|
||||||
import './components/effects/effects';
|
import './components/effects/effects';
|
||||||
import './components/elements.js';
|
import './components/elements.js';
|
||||||
|
|
||||||
import { AdvancedCameraCardElements } from './components/elements.js';
|
import { AdvancedCameraCardElements } from './components/elements.js';
|
||||||
|
|
||||||
import './components/loading.js';
|
import './components/loading.js';
|
||||||
import './components/menu.js';
|
import './components/menu.js';
|
||||||
|
|
||||||
import { AdvancedCameraCardMenu } from './components/menu.js';
|
import { AdvancedCameraCardMenu } from './components/menu.js';
|
||||||
|
|
||||||
import './components/notification/block.js';
|
import './components/notification/block.js';
|
||||||
|
|
||||||
import { renderNotificationBlock } from './components/notification/block.js';
|
import { renderNotificationBlock } from './components/notification/block.js';
|
||||||
|
|
||||||
import './components/notification/popup.js';
|
import './components/notification/popup.js';
|
||||||
import './components/overlay.js';
|
import './components/overlay.js';
|
||||||
|
|
||||||
import { AdvancedCameraCardOverlay } from './components/overlay.js';
|
import { AdvancedCameraCardOverlay } from './components/overlay.js';
|
||||||
|
|
||||||
import './components/status-bar';
|
import './components/status-bar';
|
||||||
import './components/thumbnail-carousel.js';
|
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 './condition-trigger/conditions/state-manager-via-event.js';
|
import { ConditionStateManagerGetEvent } from './condition-trigger/conditions/state-manager-via-event.js';
|
||||||
import { StatusBarItem } from './config/schema/actions/types.js';
|
import { StatusBarItem } from './config/schema/actions/types.js';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
||||||
|
|
||||||
import { Timer } from '../utils/timer';
|
import { Timer } from '../utils/timer';
|
||||||
|
|
||||||
export class CachedValueController<T> implements ReactiveController {
|
export class CachedValueController<T> implements ReactiveController {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { LitElement, ReactiveController } from 'lit';
|
import { LitElement, ReactiveController } from 'lit';
|
||||||
import { throttle } from 'lodash-es';
|
import { throttle } from 'lodash-es';
|
||||||
|
|
||||||
import { GalleryExtendEvent } from '../../components/gallery/types';
|
import { GalleryExtendEvent } from '../../components/gallery/types';
|
||||||
import { fireAdvancedCameraCardEvent } from '../../utils/fire-advanced-camera-card-event';
|
import { fireAdvancedCameraCardEvent } from '../../utils/fire-advanced-camera-card-event';
|
||||||
import { scrollIntoView } from '../../utils/scroll';
|
import { scrollIntoView } from '../../utils/scroll';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { HassEntity } from 'home-assistant-js-websocket';
|
import { HassEntity } from 'home-assistant-js-websocket';
|
||||||
|
|
||||||
import frigateSVG from '../camera-manager/frigate/assets/frigate.svg';
|
import frigateSVG from '../camera-manager/frigate/assets/frigate.svg';
|
||||||
import motioneyeSVG from '../camera-manager/motioneye/assets/motioneye.svg';
|
import motioneyeSVG from '../camera-manager/motioneye/assets/motioneye.svg';
|
||||||
import reolinkSVG from '../camera-manager/reolink/assets/reolink.svg';
|
import reolinkSVG from '../camera-manager/reolink/assets/reolink.svg';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { LitElement, ReactiveController } from 'lit';
|
import { LitElement, ReactiveController } from 'lit';
|
||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
|
|
||||||
import { KeyboardShortcut } from '../config/schema/view';
|
import { KeyboardShortcut } from '../config/schema/view';
|
||||||
|
|
||||||
export class KeyAssignerController implements ReactiveController {
|
export class KeyAssignerController implements ReactiveController {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
||||||
|
|
||||||
import { LazyUnloadCondition } from '../config/schema/common/media-actions';
|
import { LazyUnloadCondition } from '../config/schema/common/media-actions';
|
||||||
|
|
||||||
type LazyLoadListener = (loaded: boolean) => void;
|
type LazyLoadListener = (loaded: boolean) => void;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
||||||
import { debounce } from 'lodash-es';
|
import { debounce } from 'lodash-es';
|
||||||
|
|
||||||
import { CameraDimensionsConfig } from '../config/schema/cameras';
|
import { CameraDimensionsConfig } from '../config/schema/cameras';
|
||||||
import { MediaLoadedInfoEventDetail } from '../types';
|
import { MediaLoadedInfoEventDetail } from '../types';
|
||||||
import { aspectRatioToString, setOrRemoveStyleProperty } from '../utils/basic';
|
import { aspectRatioToString, setOrRemoveStyleProperty } from '../utils/basic';
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import {
|
|||||||
} from 'date-fns';
|
} from 'date-fns';
|
||||||
import { LitElement } from 'lit';
|
import { LitElement } from 'lit';
|
||||||
import { isEqual, orderBy } from 'lodash-es';
|
import { isEqual, orderBy } from 'lodash-es';
|
||||||
|
|
||||||
import { CameraManager, CameraQueryClassifier } from '../camera-manager/manager';
|
import { CameraManager, CameraQueryClassifier } from '../camera-manager/manager';
|
||||||
import { DateRange, PartialDateRange } from '../camera-manager/range';
|
import { DateRange, PartialDateRange } from '../camera-manager/range';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { isEqual, throttle } from 'lodash-es';
|
import { isEqual, throttle } from 'lodash-es';
|
||||||
import Masonry from 'masonry-layout';
|
import Masonry from 'masonry-layout';
|
||||||
|
|
||||||
import { ViewDisplayConfig } from '../config/schema/common/display';
|
import { ViewDisplayConfig } from '../config/schema/common/display';
|
||||||
import {
|
import {
|
||||||
forceReflow,
|
forceReflow,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
||||||
|
|
||||||
import { MediaLoadedInfo, MediaLoadedInfoEventDetail } from '../types';
|
import { MediaLoadedInfo, MediaLoadedInfoEventDetail } from '../types';
|
||||||
import { onAbort } from '../utils/abort-signal';
|
import { onAbort } from '../utils/abort-signal';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
||||||
import { isEqual, omit } from 'lodash-es';
|
import { isEqual, omit } from 'lodash-es';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
MediaLoadedInfo,
|
MediaLoadedInfo,
|
||||||
MediaLoadedInfoEventDetail,
|
MediaLoadedInfoEventDetail,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { LitElement } from 'lit';
|
import { LitElement } from 'lit';
|
||||||
|
|
||||||
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
||||||
import { screenshotImage } from '../../utils/screenshot';
|
import { screenshotImage } from '../../utils/screenshot';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import JSMpeg from '@cycjimmy/jsmpeg-player';
|
import JSMpeg from '@cycjimmy/jsmpeg-player';
|
||||||
import { LitElement } from 'lit';
|
import { LitElement } from 'lit';
|
||||||
|
|
||||||
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
||||||
|
|
||||||
export class JSMPEGMediaPlayerController implements MediaPlayerController {
|
export class JSMPEGMediaPlayerController implements MediaPlayerController {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { LitElement } from 'lit';
|
import { LitElement } from 'lit';
|
||||||
|
|
||||||
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
||||||
import { CachedValueController } from '../cached-value-controller';
|
import { CachedValueController } from '../cached-value-controller';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { LitElement } from 'lit';
|
import { LitElement } from 'lit';
|
||||||
|
|
||||||
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
import { FullscreenElement, MediaPlayerController, PIPElement } from '../../types';
|
||||||
import { hideMediaControlsTemporarily, setControlsOnVideo } from '../../utils/controls';
|
import { hideMediaControlsTemporarily, setControlsOnVideo } from '../../utils/controls';
|
||||||
import { screenshotVideo } from '../../utils/screenshot';
|
import { screenshotVideo } from '../../utils/screenshot';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { format } from 'date-fns';
|
import { format } from 'date-fns';
|
||||||
|
|
||||||
import { CameraManager } from '../../camera-manager/manager';
|
import { CameraManager } from '../../camera-manager/manager';
|
||||||
import { CameraManagerCameraMetadata } from '../../camera-manager/types';
|
import { CameraManagerCameraMetadata } from '../../camera-manager/types';
|
||||||
import { ViewItemManager } from '../../card-controller/view/item-manager';
|
import { ViewItemManager } from '../../card-controller/view/item-manager';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { StyleInfo } from 'lit/directives/style-map';
|
import { StyleInfo } from 'lit/directives/style-map';
|
||||||
|
|
||||||
import { CameraManager } from '../camera-manager/manager';
|
import { CameraManager } from '../camera-manager/manager';
|
||||||
import { CallManager } from '../card-controller/call/manager';
|
import { CallManager } from '../card-controller/call/manager';
|
||||||
import { FoldersManager } from '../card-controller/folders/manager';
|
import { FoldersManager } from '../card-controller/folders/manager';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { LitElement } from 'lit';
|
import { LitElement } from 'lit';
|
||||||
import { isEqual, orderBy } from 'lodash-es';
|
import { isEqual, 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 type { LockManagerEpoch } from '../card-controller/lock/types';
|
import type { LockManagerEpoch } from '../card-controller/lock/types';
|
||||||
import type { SubmenuInteraction } from '../components/submenu/types.js';
|
import type { SubmenuInteraction } from '../components/submenu/types.js';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { NonEmptyTuple } from 'type-fest';
|
import { NonEmptyTuple } from 'type-fest';
|
||||||
|
|
||||||
import { FolderPathComponent, FolderQuery } from '../card-controller/folders/types';
|
import { FolderPathComponent, FolderQuery } from '../card-controller/folders/types';
|
||||||
import { ViewManagerEpoch, ViewModifier } from '../card-controller/view/types';
|
import { ViewManagerEpoch, ViewModifier } from '../card-controller/view/types';
|
||||||
import { localize } from '../localize/localize';
|
import { localize } from '../localize/localize';
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import type { Handler } from '@use-gesture/vanilla';
|
|
||||||
import {
|
import {
|
||||||
createGesture,
|
createGesture,
|
||||||
dragAction,
|
dragAction,
|
||||||
pinchAction,
|
pinchAction,
|
||||||
wheelAction,
|
wheelAction,
|
||||||
|
type Handler,
|
||||||
} from '@use-gesture/vanilla';
|
} from '@use-gesture/vanilla';
|
||||||
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
||||||
|
|
||||||
import { dispatchActionExecutionRequest } from '../../card-controller/actions/utils/execution-request.js';
|
import { dispatchActionExecutionRequest } from '../../card-controller/actions/utils/execution-request.js';
|
||||||
import {
|
import {
|
||||||
PTZAction,
|
PTZAction,
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
||||||
import { isEqual } from 'lodash-es';
|
import { isEqual } from 'lodash-es';
|
||||||
|
|
||||||
import { EnabledProxyConfig } from '../config/schema/common/proxy.js';
|
import { EnabledProxyConfig } from '../config/schema/common/proxy.js';
|
||||||
import { homeAssistantGetSignedURLIfNecessary } from '../ha/sign-path.js';
|
import { homeAssistantGetSignedURLIfNecessary } from '../ha/sign-path.js';
|
||||||
import { HomeAssistant } from '../ha/types.js';
|
import { HomeAssistant } from '../ha/types.js';
|
||||||
import {
|
import {
|
||||||
CreateProxiedEndpointOptions,
|
|
||||||
createProxiedEndpointIfNecessary,
|
createProxiedEndpointIfNecessary,
|
||||||
|
CreateProxiedEndpointOptions,
|
||||||
} from '../ha/web-proxy.js';
|
} from '../ha/web-proxy.js';
|
||||||
import { Endpoint } from '../types.js';
|
import { Endpoint } from '../types.js';
|
||||||
import { errorToConsole } from '../utils/basic.js';
|
import { errorToConsole } from '../utils/basic.js';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { LitElement } from 'lit';
|
import { LitElement } from 'lit';
|
||||||
import { isEqual, orderBy } from 'lodash-es';
|
import { isEqual, orderBy } from 'lodash-es';
|
||||||
|
|
||||||
import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request';
|
import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request';
|
||||||
import { ActionsConfig, StatusBarItem } from '../config/schema/actions/types';
|
import { ActionsConfig, StatusBarItem } from '../config/schema/actions/types';
|
||||||
import { STATUS_BAR_PRIORITY_DEFAULT } from '../config/schema/common/const';
|
import { STATUS_BAR_PRIORITY_DEFAULT } from '../config/schema/common/const';
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { format } from 'date-fns';
|
import { format } from 'date-fns';
|
||||||
|
|
||||||
import { CameraManager } from '../../../camera-manager/manager';
|
import { CameraManager } from '../../../camera-manager/manager';
|
||||||
import { CameraManagerCameraMetadata } from '../../../camera-manager/types';
|
import { CameraManagerCameraMetadata } from '../../../camera-manager/types';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import {
|
|||||||
TimelineOptionsCluster,
|
TimelineOptionsCluster,
|
||||||
TimelineWindow,
|
TimelineWindow,
|
||||||
} from 'vis-timeline';
|
} from 'vis-timeline';
|
||||||
|
|
||||||
import { CameraManager } from '../../camera-manager/manager';
|
import { CameraManager } from '../../camera-manager/manager';
|
||||||
import { rangesOverlap } from '../../camera-manager/range';
|
import { rangesOverlap } from '../../camera-manager/range';
|
||||||
import { convertRangeToCacheFriendlyTimes } from '../../camera-manager/utils/range-to-cache-friendly';
|
import { convertRangeToCacheFriendlyTimes } from '../../camera-manager/utils/range-to-cache-friendly';
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { add, sub } from 'date-fns';
|
import { add, sub } from 'date-fns';
|
||||||
import { DataSet } from 'vis-data';
|
import { DataSet } from 'vis-data';
|
||||||
import { IdType, TimelineItem, TimelineWindow } from 'vis-timeline/esnext';
|
import { IdType, TimelineItem, TimelineWindow } from 'vis-timeline/esnext';
|
||||||
|
|
||||||
import { CameraManager } from '../../camera-manager/manager';
|
import { CameraManager } from '../../camera-manager/manager';
|
||||||
import {
|
import {
|
||||||
compressRanges,
|
compressRanges,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { DateType, IdType, Timeline, TimelineWindow } from 'vis-timeline';
|
import { DateType, IdType, Timeline, TimelineWindow } from 'vis-timeline';
|
||||||
|
|
||||||
import { CameraManager } from '../../camera-manager/manager';
|
import { CameraManager } from '../../camera-manager/manager';
|
||||||
import { ViewItemManager } from '../../card-controller/view/item-manager';
|
import { ViewItemManager } from '../../card-controller/view/item-manager';
|
||||||
import { ViewManagerEpoch } from '../../card-controller/view/types';
|
import { ViewManagerEpoch } from '../../card-controller/view/types';
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
import Panzoom, { PanzoomEventDetail, PanzoomObject } from '@dermotduffy/panzoom';
|
import Panzoom, { PanzoomEventDetail, PanzoomObject } from '@dermotduffy/panzoom';
|
||||||
import { round, throttle } from 'lodash-es';
|
import { round, throttle } from 'lodash-es';
|
||||||
|
|
||||||
import { arefloatsApproximatelyEqual, isHoverableDevice } from '../../utils/basic';
|
import { arefloatsApproximatelyEqual, isHoverableDevice } from '../../utils/basic';
|
||||||
import { fireAdvancedCameraCardEvent } from '../../utils/fire-advanced-camera-card-event';
|
import { fireAdvancedCameraCardEvent } from '../../utils/fire-advanced-camera-card-event';
|
||||||
import {
|
import {
|
||||||
|
isZoomEmpty,
|
||||||
PartialZoomSettings,
|
PartialZoomSettings,
|
||||||
ZOOM_DEFAULT_PAN_X,
|
ZOOM_DEFAULT_PAN_X,
|
||||||
ZOOM_DEFAULT_PAN_Y,
|
ZOOM_DEFAULT_PAN_Y,
|
||||||
ZOOM_DEFAULT_SCALE,
|
ZOOM_DEFAULT_SCALE,
|
||||||
ZOOM_PRECISION,
|
ZOOM_PRECISION,
|
||||||
ZoomSettingsObserved,
|
ZoomSettingsObserved,
|
||||||
isZoomEmpty,
|
|
||||||
} from './types';
|
} from './types';
|
||||||
|
|
||||||
export class ZoomController {
|
export class ZoomController {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { ViewContext } from 'view';
|
import { ViewContext } from 'view';
|
||||||
|
|
||||||
import { MergeContextViewModifier } from '../../card-controller/view/modifiers/merge-context.js';
|
import { MergeContextViewModifier } from '../../card-controller/view/modifiers/merge-context.js';
|
||||||
import { ViewManagerInterface } from '../../card-controller/view/types.js';
|
import { ViewManagerInterface } from '../../card-controller/view/types.js';
|
||||||
import { PartialZoomSettings, ZoomSettingsObserved } from './types.js';
|
import { PartialZoomSettings, ZoomSettingsObserved } from './types.js';
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import {
|
|||||||
} from 'lit';
|
} from 'lit';
|
||||||
import { customElement, property, state } from 'lit/decorators.js';
|
import { customElement, property, state } from 'lit/decorators.js';
|
||||||
import { classMap } from 'lit/directives/class-map.js';
|
import { classMap } from 'lit/directives/class-map.js';
|
||||||
|
|
||||||
import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request.js';
|
import { dispatchActionExecutionRequest } from '../card-controller/actions/utils/execution-request.js';
|
||||||
import { MicrophoneState } from '../card-controller/types.js';
|
import { MicrophoneState } from '../card-controller/types.js';
|
||||||
import { ActionConfig } from '../config/schema/actions/types.js';
|
import { ActionConfig } from '../config/schema/actions/types.js';
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
import { CreatePluginType, LoosePluginType } from 'embla-carousel/components/Plugins';
|
import { CreatePluginType, LoosePluginType } from 'embla-carousel/components/Plugins';
|
||||||
import {
|
import {
|
||||||
CSSResultGroup,
|
CSSResultGroup,
|
||||||
|
html,
|
||||||
LitElement,
|
LitElement,
|
||||||
PropertyValues,
|
PropertyValues,
|
||||||
TemplateResult,
|
TemplateResult,
|
||||||
html,
|
|
||||||
unsafeCSS,
|
unsafeCSS,
|
||||||
} 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 { createRef, Ref, ref } from 'lit/directives/ref.js';
|
||||||
|
|
||||||
import { TransitionEffect } from '../config/schema/common/transition-effect';
|
import { TransitionEffect } from '../config/schema/common/transition-effect';
|
||||||
import carouselStyle from '../scss/carousel.scss';
|
import carouselStyle from '../scss/carousel.scss';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
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 { localize } from '../localize/localize';
|
import { localize } from '../localize/localize';
|
||||||
import datePickerStyle from '../scss/date-picker.scss';
|
import datePickerStyle from '../scss/date-picker.scss';
|
||||||
import { stopEventFromActivatingCardWideActions } from '../utils/action';
|
import { stopEventFromActivatingCardWideActions } from '../utils/action';
|
||||||
import { fireAdvancedCameraCardEvent } from '../utils/fire-advanced-camera-card-event';
|
import { fireAdvancedCameraCardEvent } from '../utils/fire-advanced-camera-card-event';
|
||||||
|
|
||||||
import './icon';
|
import './icon';
|
||||||
|
|
||||||
export interface DatePickerEvent {
|
export interface DatePickerEvent {
|
||||||
|
|||||||
@@ -1,6 +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 { until } from 'lit/directives/until.js';
|
import { until } from 'lit/directives/until.js';
|
||||||
|
|
||||||
import { IssuePresence } from '../card-controller/issues/types';
|
import { IssuePresence } from '../card-controller/issues/types';
|
||||||
import { RawAdvancedCameraCardConfig } from '../config/types';
|
import { RawAdvancedCameraCardConfig } from '../config/types';
|
||||||
import { DeviceRegistryManager } from '../ha/registry/device';
|
import { DeviceRegistryManager } from '../ha/registry/device';
|
||||||
@@ -9,6 +10,7 @@ import { localize } from '../localize/localize';
|
|||||||
import basicBlockStyle from '../scss/basic-block.scss';
|
import basicBlockStyle from '../scss/basic-block.scss';
|
||||||
import { getDiagnostics } from '../utils/diagnostics';
|
import { getDiagnostics } from '../utils/diagnostics';
|
||||||
import { renderNotificationBlockFromText } from './notification/block';
|
import { renderNotificationBlockFromText } from './notification/block';
|
||||||
|
|
||||||
@customElement('advanced-camera-card-diagnostics')
|
@customElement('advanced-camera-card-diagnostics')
|
||||||
export class AdvancedCameraCardDiagnostics extends LitElement {
|
export class AdvancedCameraCardDiagnostics extends LitElement {
|
||||||
// Not a reactive property to avoid multiple diagnostics fetches.
|
// Not a reactive property to avoid multiple diagnostics fetches.
|
||||||
|
|||||||
@@ -8,8 +8,11 @@ import {
|
|||||||
} from 'lit';
|
} 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 'side-drawer';
|
import 'side-drawer';
|
||||||
|
|
||||||
import { SideDrawer } from 'side-drawer';
|
import { SideDrawer } from 'side-drawer';
|
||||||
|
|
||||||
import drawerInjectStyle from '../scss/drawer-inject.scss';
|
import drawerInjectStyle from '../scss/drawer-inject.scss';
|
||||||
import drawerStyle from '../scss/drawer.scss';
|
import drawerStyle from '../scss/drawer.scss';
|
||||||
import { stopEventFromActivatingCardWideActions } from '../utils/action.js';
|
import { stopEventFromActivatingCardWideActions } from '../utils/action.js';
|
||||||
@@ -18,6 +21,7 @@ import {
|
|||||||
getChildrenFromElement,
|
getChildrenFromElement,
|
||||||
isHoverableDevice,
|
isHoverableDevice,
|
||||||
} from '../utils/basic.js';
|
} from '../utils/basic.js';
|
||||||
|
|
||||||
import './icon.js';
|
import './icon.js';
|
||||||
|
|
||||||
export interface DrawerIcons {
|
export interface DrawerIcons {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { CSSResultGroup, LitElement, PropertyValues, unsafeCSS } from 'lit';
|
import { CSSResultGroup, LitElement, PropertyValues, unsafeCSS } from 'lit';
|
||||||
import { property } from 'lit/decorators.js';
|
import { property } from 'lit/decorators.js';
|
||||||
|
|
||||||
import effectBaseStyle from '../../scss/effect-base.scss';
|
import effectBaseStyle from '../../scss/effect-base.scss';
|
||||||
import { forceReflow } from '../../utils/basic';
|
import { forceReflow } from '../../utils/basic';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { CSSResultGroup, html, TemplateResult, unsafeCSS } from 'lit';
|
import { CSSResultGroup, html, TemplateResult, unsafeCSS } from 'lit';
|
||||||
import { customElement } from 'lit/decorators.js';
|
import { customElement } from 'lit/decorators.js';
|
||||||
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
||||||
|
|
||||||
import checkCircleSVG from '../../images/check-circle.svg';
|
import checkCircleSVG from '../../images/check-circle.svg';
|
||||||
import checkStyle from '../../scss/check.scss';
|
import checkStyle from '../../scss/check.scss';
|
||||||
import { BaseEffectComponent } from './base';
|
import { BaseEffectComponent } from './base';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { LitElement, PropertyValues, unsafeCSS } from 'lit';
|
import { LitElement, PropertyValues, unsafeCSS } from 'lit';
|
||||||
import { customElement, property } from 'lit/decorators.js';
|
import { customElement, property } from 'lit/decorators.js';
|
||||||
|
|
||||||
import { EffectsManager } from '../../card-controller/effects/effects-manager';
|
import { EffectsManager } from '../../card-controller/effects/effects-manager';
|
||||||
import effectsStyle from '../../scss/effects.scss';
|
import effectsStyle from '../../scss/effects.scss';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
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 { repeat } from 'lit/directives/repeat.js';
|
import { repeat } from 'lit/directives/repeat.js';
|
||||||
|
|
||||||
import fireworkBurstStyle from '../../scss/firework-burst.scss';
|
import fireworkBurstStyle from '../../scss/firework-burst.scss';
|
||||||
|
|
||||||
import './firework-particle';
|
import './firework-particle';
|
||||||
|
|
||||||
const BASE_PARTICLE_COUNT = 36;
|
const BASE_PARTICLE_COUNT = 36;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
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 fireworkParticleStyle from '../../scss/firework-particle.scss';
|
import fireworkParticleStyle from '../../scss/firework-particle.scss';
|
||||||
|
|
||||||
@customElement('advanced-camera-card-firework-particle')
|
@customElement('advanced-camera-card-firework-particle')
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
import { html, TemplateResult } from 'lit';
|
import { html, TemplateResult } from 'lit';
|
||||||
import { customElement, state } from 'lit/decorators.js';
|
import { customElement, state } from 'lit/decorators.js';
|
||||||
import { repeat } from 'lit/directives/repeat.js';
|
import { repeat } from 'lit/directives/repeat.js';
|
||||||
|
|
||||||
import { Timer } from '../../utils/timer';
|
import { Timer } from '../../utils/timer';
|
||||||
import { BaseEffectComponent } from './base';
|
import { BaseEffectComponent } from './base';
|
||||||
|
|
||||||
import './firework-burst';
|
import './firework-burst';
|
||||||
|
|
||||||
const INITIAL_BURST_COUNT = 3;
|
const INITIAL_BURST_COUNT = 3;
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { CSSResultGroup, html, TemplateResult, unsafeCSS } from 'lit';
|
import { CSSResultGroup, html, TemplateResult, unsafeCSS } from 'lit';
|
||||||
import { customElement } from 'lit/decorators.js';
|
import { customElement } from 'lit/decorators.js';
|
||||||
import { BaseEffectComponent } from './base';
|
|
||||||
import ghostStyle from '../../scss/ghost.scss';
|
import ghostStyle from '../../scss/ghost.scss';
|
||||||
|
import { BaseEffectComponent } from './base';
|
||||||
|
|
||||||
@customElement('advanced-camera-card-effect-ghost')
|
@customElement('advanced-camera-card-effect-ghost')
|
||||||
export class AdvancedCameraCardEffectGhost extends BaseEffectComponent {
|
export class AdvancedCameraCardEffectGhost extends BaseEffectComponent {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user