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