diff --git a/cast/src/launcher/layout/hc-cast.ts b/cast/src/launcher/layout/hc-cast.ts index 130926748a..1160d8dc07 100644 --- a/cast/src/launcher/layout/hc-cast.ts +++ b/cast/src/launcher/layout/hc-cast.ts @@ -1,12 +1,21 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-list/mwc-list"; +import type { CastManager } from "../../../../src/cast/cast_manager"; +import type { LovelaceViewConfig } from "../../../../src/data/lovelace/config/view"; import type { ActionDetail } from "@material/mwc-list/mwc-list"; -import { mdiCast, mdiCastConnected, mdiViewDashboard } from "@mdi/js"; import type { Auth, Connection } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-icon"; +import "../../../../src/components/ha-list-item"; +import "../../../../src/components/ha-svg-icon"; +import "../../../../src/layouts/hass-loading-screen"; +import "./hc-layout"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list"; + +import { mdiCast, mdiCastConnected, mdiViewDashboard } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { CastManager } from "../../../../src/cast/cast_manager"; + import { castSendShowLovelaceView, ensureConnectedCastSession, @@ -18,18 +27,12 @@ import { } from "../../../../src/common/auth/token_storage"; import { atLeastVersion } from "../../../../src/common/config/version"; import { toggleAttribute } from "../../../../src/common/dom/toggle_attribute"; -import "../../../../src/components/ha-icon"; -import "../../../../src/components/ha-svg-icon"; import { getLegacyLovelaceCollection, getLovelaceCollection, } from "../../../../src/data/lovelace"; import { isStrategyDashboard } from "../../../../src/data/lovelace/config/types"; -import type { LovelaceViewConfig } from "../../../../src/data/lovelace/config/view"; -import "../../../../src/layouts/hass-loading-screen"; import { generateDefaultViewConfig } from "../../../../src/panels/lovelace/common/generate-lovelace-config"; -import "./hc-layout"; -import "../../../../src/components/ha-list-item"; @customElement("hc-cast") class HcCast extends LitElement { diff --git a/cast/src/launcher/layout/hc-connect.ts b/cast/src/launcher/layout/hc-connect.ts index 17dee754c7..536d56bf2b 100644 --- a/cast/src/launcher/layout/hc-connect.ts +++ b/cast/src/launcher/layout/hc-connect.ts @@ -1,10 +1,18 @@ -import "@material/mwc-button"; -import { mdiCastConnected, mdiCast } from "@mdi/js"; +import type { CastManager } from "../../../../src/cast/cast_manager"; import type { Auth, Connection, getAuthOptions, } from "home-assistant-js-websocket"; +import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-svg-icon"; +import "../../../../src/components/ha-textfield"; +import "../../../../src/layouts/hass-loading-screen"; +import "./hc-layout"; +import "@material/mwc-button"; + +import { mdiCastConnected, mdiCast } from "@mdi/js"; import { createConnection, ERR_CANNOT_CONNECT, @@ -13,21 +21,16 @@ import { ERR_INVALID_HTTPS_TO_HTTP, getAuth, } from "home-assistant-js-websocket"; -import type { TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; -import type { CastManager } from "../../../../src/cast/cast_manager"; + import { getCastManager } from "../../../../src/cast/cast_manager"; import { castSendShowDemo } from "../../../../src/cast/receiver_messages"; import { loadTokens, saveTokens, } from "../../../../src/common/auth/token_storage"; -import "../../../../src/components/ha-svg-icon"; -import "../../../../src/layouts/hass-loading-screen"; import { registerServiceWorker } from "../../../../src/util/register-service-worker"; -import "./hc-layout"; -import "../../../../src/components/ha-textfield"; const seeFAQ = (qid) => html` See the FAQ for more diff --git a/cast/src/launcher/layout/hc-layout.ts b/cast/src/launcher/layout/hc-layout.ts index 87cb2cced1..a488d0fd96 100644 --- a/cast/src/launcher/layout/hc-layout.ts +++ b/cast/src/launcher/layout/hc-layout.ts @@ -1,9 +1,11 @@ import type { Auth, Connection, HassUser } from "home-assistant-js-websocket"; -import { getUser } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; + +import { getUser } from "home-assistant-js-websocket"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../../src/components/ha-card"; @customElement("hc-layout") class HcLayout extends LitElement { diff --git a/cast/src/receiver/demo/cast-demo-entities.ts b/cast/src/receiver/demo/cast-demo-entities.ts index 58010af0a8..a6eb6a13b4 100644 --- a/cast/src/receiver/demo/cast-demo-entities.ts +++ b/cast/src/receiver/demo/cast-demo-entities.ts @@ -1,4 +1,5 @@ import type { Entity } from "../../../../src/fake_data/entity"; + import { convertEntities } from "../../../../src/fake_data/entity"; export const castDemoEntities: () => Entity[] = () => diff --git a/cast/src/receiver/demo/cast-demo-lovelace.ts b/cast/src/receiver/demo/cast-demo-lovelace.ts index 5594e6d1ae..39a5816a90 100644 --- a/cast/src/receiver/demo/cast-demo-lovelace.ts +++ b/cast/src/receiver/demo/cast-demo-lovelace.ts @@ -1,5 +1,6 @@ import type { LovelaceCardConfig } from "../../../../src/data/lovelace/config/card"; import type { LovelaceConfig } from "../../../../src/data/lovelace/config/types"; + import { castContext } from "../cast_context"; export const castDemoLovelace: () => LovelaceConfig = () => { diff --git a/cast/src/receiver/entrypoint.ts b/cast/src/receiver/entrypoint.ts index afdb19a36a..c222c16691 100644 --- a/cast/src/receiver/entrypoint.ts +++ b/cast/src/receiver/entrypoint.ts @@ -1,11 +1,13 @@ -import { framework } from "./cast_framework"; -import { CAST_NS } from "../../../src/cast/const"; import type { HassMessage } from "../../../src/cast/receiver_messages"; -import "../../../src/resources/custom-card-support"; -import { castContext } from "./cast_context"; -import { HcMain } from "./layout/hc-main"; import type { ReceivedMessage } from "./types"; +import "../../../src/resources/custom-card-support"; + +import { CAST_NS } from "../../../src/cast/const"; +import { castContext } from "./cast_context"; +import { framework } from "./cast_framework"; +import { HcMain } from "./layout/hc-main"; + const lovelaceController = new HcMain(); document.body.append(lovelaceController); lovelaceController.addEventListener("cast-view-changed", (ev) => { diff --git a/cast/src/receiver/layout/hc-demo.ts b/cast/src/receiver/layout/hc-demo.ts index 6ab8c05ce3..03a6dc275b 100644 --- a/cast/src/receiver/layout/hc-demo.ts +++ b/cast/src/receiver/layout/hc-demo.ts @@ -1,14 +1,17 @@ -import { html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { mockHistory } from "../../../../demo/src/stubs/history"; import type { LovelaceConfig } from "../../../../src/data/lovelace/config/types"; import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; +import type { HomeAssistant } from "../../../../src/types"; + +import "./hc-lovelace"; + +import { html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { mockHistory } from "../../../../demo/src/stubs/history"; import { provideHass } from "../../../../src/fake_data/provide_hass"; import { HassElement } from "../../../../src/state/hass-element"; -import type { HomeAssistant } from "../../../../src/types"; import { castDemoEntities } from "../demo/cast-demo-entities"; import { castDemoLovelace } from "../demo/cast-demo-lovelace"; -import "./hc-lovelace"; @customElement("hc-demo") class HcDemo extends HassElement { diff --git a/cast/src/receiver/layout/hc-launch-screen.ts b/cast/src/receiver/layout/hc-launch-screen.ts index cab6840ba4..7f31446dcf 100644 --- a/cast/src/receiver/layout/hc-launch-screen.ts +++ b/cast/src/receiver/layout/hc-launch-screen.ts @@ -1,7 +1,8 @@ +import type { HomeAssistant } from "../../../../src/types"; import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HomeAssistant } from "../../../../src/types"; @customElement("hc-launch-screen") class HcLaunchScreen extends LitElement { diff --git a/cast/src/receiver/layout/hc-lovelace.ts b/cast/src/receiver/layout/hc-lovelace.ts index 624a22f5ee..a1f72936b1 100644 --- a/cast/src/receiver/layout/hc-lovelace.ts +++ b/cast/src/receiver/layout/hc-lovelace.ts @@ -1,14 +1,17 @@ +import type { LovelaceConfig } from "../../../../src/data/lovelace/config/types"; +import type { Lovelace } from "../../../../src/panels/lovelace/types"; +import type { HomeAssistant } from "../../../../src/types"; + +import "../../../../src/panels/lovelace/views/hui-view"; +import "../../../../src/panels/lovelace/views/hui-view-background"; +import "../../../../src/panels/lovelace/views/hui-view-container"; +import "./hc-launch-screen"; + import { css, html, LitElement, type TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../src/common/dom/fire_event"; -import type { LovelaceConfig } from "../../../../src/data/lovelace/config/types"; import { getPanelTitleFromUrlPath } from "../../../../src/data/panel"; -import type { Lovelace } from "../../../../src/panels/lovelace/types"; -import "../../../../src/panels/lovelace/views/hui-view"; -import "../../../../src/panels/lovelace/views/hui-view-container"; -import type { HomeAssistant } from "../../../../src/types"; -import "./hc-launch-screen"; -import "../../../../src/panels/lovelace/views/hui-view-background"; (window as any).loadCardHelpers = () => import("../../../../src/panels/lovelace/custom-card-helpers"); diff --git a/cast/src/receiver/layout/hc-main.ts b/cast/src/receiver/layout/hc-main.ts index 46267f715a..0bcaed36ce 100644 --- a/cast/src/receiver/layout/hc-main.ts +++ b/cast/src/receiver/layout/hc-main.ts @@ -1,9 +1,3 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import { createConnection, getAuth } from "home-assistant-js-websocket"; -import type { TemplateResult } from "lit"; -import { html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { CAST_NS } from "../../../../src/cast/const"; import type { ConnectMessage, GetStatusMessage, @@ -15,6 +9,21 @@ import type { ReceiverErrorMessage, ReceiverStatusMessage, } from "../../../../src/cast/sender_messages"; +import type { + LegacyLovelaceConfig, + LovelaceConfig, + LovelaceDashboardStrategyConfig, +} from "../../../../src/data/lovelace/config/types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { TemplateResult } from "lit"; + +import "./hc-launch-screen"; + +import { createConnection, getAuth } from "home-assistant-js-websocket"; +import { html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { CAST_NS } from "../../../../src/cast/const"; import { ReceiverErrorCode } from "../../../../src/cast/sender_messages"; import { atLeastVersion } from "../../../../src/common/config/version"; import { isNavigationClick } from "../../../../src/common/dom/is-navigation-click"; @@ -22,19 +31,13 @@ import { getLegacyLovelaceCollection, getLovelaceCollection, } from "../../../../src/data/lovelace"; -import type { - LegacyLovelaceConfig, - LovelaceConfig, - LovelaceDashboardStrategyConfig, -} from "../../../../src/data/lovelace/config/types"; import { isStrategyDashboard } from "../../../../src/data/lovelace/config/types"; import { fetchResources } from "../../../../src/data/lovelace/resource"; +import { getPanelTitleFromUrlPath } from "../../../../src/data/panel"; +import { checkLovelaceConfig } from "../../../../src/panels/lovelace/common/check-lovelace-config"; import { loadLovelaceResources } from "../../../../src/panels/lovelace/common/load-resources"; import { HassElement } from "../../../../src/state/hass-element"; import { castContext } from "../cast_context"; -import "./hc-launch-screen"; -import { getPanelTitleFromUrlPath } from "../../../../src/data/panel"; -import { checkLovelaceConfig } from "../../../../src/panels/lovelace/common/check-lovelace-config"; const DEFAULT_CONFIG: LovelaceDashboardStrategyConfig = { strategy: { diff --git a/demo/src/configs/arsaboo/entities.ts b/demo/src/configs/arsaboo/entities.ts index 594cfa1f8b..7c9d128d7c 100644 --- a/demo/src/configs/arsaboo/entities.ts +++ b/demo/src/configs/arsaboo/entities.ts @@ -1,6 +1,7 @@ -import { convertEntities } from "../../../../src/fake_data/entity"; import type { DemoConfig } from "../types"; +import { convertEntities } from "../../../../src/fake_data/entity"; + export const demoEntitiesArsaboo: DemoConfig["entities"] = (localize) => convertEntities({ "todo.shopping_list": { diff --git a/demo/src/configs/arsaboo/index.ts b/demo/src/configs/arsaboo/index.ts index 7ff6f7b52d..1deef29c7d 100644 --- a/demo/src/configs/arsaboo/index.ts +++ b/demo/src/configs/arsaboo/index.ts @@ -1,4 +1,5 @@ import type { DemoConfig } from "../types"; + import { demoEntitiesArsaboo } from "./entities"; import { demoLovelaceArsaboo } from "./lovelace"; import { demoThemeArsaboo } from "./theme"; diff --git a/demo/src/configs/demo-configs.ts b/demo/src/configs/demo-configs.ts index 8bc0f02cf6..486e092be5 100644 --- a/demo/src/configs/demo-configs.ts +++ b/demo/src/configs/demo-configs.ts @@ -1,8 +1,9 @@ import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; import type { Lovelace } from "../../../src/panels/lovelace/types"; -import { energyEntities } from "../stubs/entities"; import type { DemoConfig } from "./types"; +import { energyEntities } from "../stubs/entities"; + export const demoConfigs: (() => Promise)[] = [ () => import("./sections").then((mod) => mod.demoSections), () => import("./arsaboo").then((mod) => mod.demoArsaboo), diff --git a/demo/src/configs/jimpower/entities.ts b/demo/src/configs/jimpower/entities.ts index 68404befa3..3745e0e4cf 100644 --- a/demo/src/configs/jimpower/entities.ts +++ b/demo/src/configs/jimpower/entities.ts @@ -1,6 +1,7 @@ -import { convertEntities } from "../../../../src/fake_data/entity"; import type { DemoConfig } from "../types"; +import { convertEntities } from "../../../../src/fake_data/entity"; + export const demoEntitiesJimpower: DemoConfig["entities"] = () => convertEntities({ "todo.shopping_list": { diff --git a/demo/src/configs/jimpower/index.ts b/demo/src/configs/jimpower/index.ts index 78bf0f2444..636a3c113e 100644 --- a/demo/src/configs/jimpower/index.ts +++ b/demo/src/configs/jimpower/index.ts @@ -1,4 +1,5 @@ import type { DemoConfig } from "../types"; + import { demoEntitiesJimpower } from "./entities"; import { demoLovelaceJimpower } from "./lovelace"; import { demoThemeJimpower } from "./theme"; diff --git a/demo/src/configs/jimpower/lovelace.ts b/demo/src/configs/jimpower/lovelace.ts index 37aa6b49d3..fc968ba036 100644 --- a/demo/src/configs/jimpower/lovelace.ts +++ b/demo/src/configs/jimpower/lovelace.ts @@ -1,6 +1,7 @@ -import "../../custom-cards/card-modder"; import type { DemoConfig } from "../types"; +import "../../custom-cards/card-modder"; + export const demoLovelaceJimpower: DemoConfig["lovelace"] = () => ({ name: "Kingia Castle", resources: [], diff --git a/demo/src/configs/kernehed/entities.ts b/demo/src/configs/kernehed/entities.ts index a7f07d51c6..3a1291b820 100644 --- a/demo/src/configs/kernehed/entities.ts +++ b/demo/src/configs/kernehed/entities.ts @@ -1,6 +1,7 @@ -import { convertEntities } from "../../../../src/fake_data/entity"; import type { DemoConfig } from "../types"; +import { convertEntities } from "../../../../src/fake_data/entity"; + export const demoEntitiesKernehed: DemoConfig["entities"] = () => convertEntities({ "todo.shopping_list": { diff --git a/demo/src/configs/kernehed/index.ts b/demo/src/configs/kernehed/index.ts index 72f4a39d60..24909d32d7 100644 --- a/demo/src/configs/kernehed/index.ts +++ b/demo/src/configs/kernehed/index.ts @@ -1,4 +1,5 @@ import type { DemoConfig } from "../types"; + import { demoEntitiesKernehed } from "./entities"; import { demoLovelaceKernehed } from "./lovelace"; import { demoThemeKernehed } from "./theme"; diff --git a/demo/src/configs/sections/entities.ts b/demo/src/configs/sections/entities.ts index 87163776e7..75be6f1774 100644 --- a/demo/src/configs/sections/entities.ts +++ b/demo/src/configs/sections/entities.ts @@ -1,6 +1,7 @@ -import { convertEntities } from "../../../../src/fake_data/entity"; import type { DemoConfig } from "../types"; +import { convertEntities } from "../../../../src/fake_data/entity"; + export const demoEntitiesSections: DemoConfig["entities"] = (localize) => convertEntities({ "cover.living_room_garden_shutter": { diff --git a/demo/src/configs/sections/index.ts b/demo/src/configs/sections/index.ts index c25df44ebc..dc880df96e 100644 --- a/demo/src/configs/sections/index.ts +++ b/demo/src/configs/sections/index.ts @@ -1,4 +1,5 @@ import type { DemoConfig } from "../types"; + import { demoEntitiesSections } from "./entities"; import { demoLovelaceSections } from "./lovelace"; diff --git a/demo/src/configs/sections/lovelace.ts b/demo/src/configs/sections/lovelace.ts index c06af2ee5e..759ab80cdb 100644 --- a/demo/src/configs/sections/lovelace.ts +++ b/demo/src/configs/sections/lovelace.ts @@ -1,6 +1,7 @@ -import { isFrontpageEmbed } from "../../util/is_frontpage"; import type { DemoConfig } from "../types"; +import { isFrontpageEmbed } from "../../util/is_frontpage"; + export const demoLovelaceSections: DemoConfig["lovelace"] = (localize) => ({ title: "Home Assistant Demo", views: [ diff --git a/demo/src/configs/teachingbirds/entities.ts b/demo/src/configs/teachingbirds/entities.ts index 2349ccb8cb..8513edec77 100644 --- a/demo/src/configs/teachingbirds/entities.ts +++ b/demo/src/configs/teachingbirds/entities.ts @@ -1,6 +1,7 @@ -import { convertEntities } from "../../../../src/fake_data/entity"; import type { DemoConfig } from "../types"; +import { convertEntities } from "../../../../src/fake_data/entity"; + export const demoEntitiesTeachingbirds: DemoConfig["entities"] = () => convertEntities({ "todo.shopping_list": { diff --git a/demo/src/configs/teachingbirds/index.ts b/demo/src/configs/teachingbirds/index.ts index e7d4865e83..af52b8b197 100644 --- a/demo/src/configs/teachingbirds/index.ts +++ b/demo/src/configs/teachingbirds/index.ts @@ -1,4 +1,5 @@ import type { DemoConfig } from "../types"; + import { demoEntitiesTeachingbirds } from "./entities"; import { demoLovelaceTeachingbirds } from "./lovelace"; import { demoThemeTeachingbirds } from "./theme"; diff --git a/demo/src/configs/types.ts b/demo/src/configs/types.ts index cb4e405d77..b2c62e15e3 100644 --- a/demo/src/configs/types.ts +++ b/demo/src/configs/types.ts @@ -1,7 +1,7 @@ -import type { TemplateResult } from "lit"; import type { LocalizeFunc } from "../../../src/common/translations/localize"; import type { LovelaceConfig } from "../../../src/data/lovelace/config/types"; import type { Entity } from "../../../src/fake_data/entity"; +import type { TemplateResult } from "lit"; export interface DemoConfig { index?: number; diff --git a/demo/src/custom-cards/cast-demo-row.ts b/demo/src/custom-cards/cast-demo-row.ts index 86bf51035b..0e59390ac9 100644 --- a/demo/src/custom-cards/cast-demo-row.ts +++ b/demo/src/custom-cards/cast-demo-row.ts @@ -1,15 +1,18 @@ -import { mdiTelevision } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, state } from "lit/decorators"; import type { CastManager } from "../../../src/cast/cast_manager"; -import { castSendShowDemo } from "../../../src/cast/receiver_messages"; -import "../../../src/components/ha-icon"; import type { CastConfig, LovelaceRow, } from "../../../src/panels/lovelace/entity-rows/types"; import type { HomeAssistant } from "../../../src/types"; +import "../../../src/components/ha-icon"; + +import { mdiTelevision } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { castSendShowDemo } from "../../../src/cast/receiver_messages"; + @customElement("cast-demo-row") class CastDemoRow extends LitElement implements LovelaceRow { public hass!: HomeAssistant; diff --git a/demo/src/custom-cards/ha-demo-card.ts b/demo/src/custom-cards/ha-demo-card.ts index b9e1a32e68..2e935339e1 100644 --- a/demo/src/custom-cards/ha-demo-card.ts +++ b/demo/src/custom-cards/ha-demo-card.ts @@ -1,17 +1,20 @@ -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { until } from "lit/directives/until"; -import { fireEvent } from "../../../src/common/dom/fire_event"; -import "../../../src/components/ha-card"; -import "../../../src/components/ha-button"; -import "../../../src/components/ha-spinner"; import type { LovelaceCardConfig } from "../../../src/data/lovelace/config/card"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; import type { Lovelace, LovelaceCard, } from "../../../src/panels/lovelace/types"; +import type { CSSResultGroup } from "lit"; + +import "../../../src/components/ha-button"; +import "../../../src/components/ha-card"; +import "../../../src/components/ha-spinner"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { until } from "lit/directives/until"; + +import { fireEvent } from "../../../src/common/dom/fire_event"; import { demoConfigs, selectedDemoConfig, diff --git a/demo/src/entrypoint.ts b/demo/src/entrypoint.ts index e153eabb12..fa2cc78f69 100644 --- a/demo/src/entrypoint.ts +++ b/demo/src/entrypoint.ts @@ -1,4 +1,4 @@ -import "./util/is_frontpage"; import "./ha-demo"; +import "./util/is_frontpage"; import("../../src/resources/ha-style"); diff --git a/demo/src/ha-demo.ts b/demo/src/ha-demo.ts index 3406e0270d..02e9a64d7b 100644 --- a/demo/src/ha-demo.ts +++ b/demo/src/ha-demo.ts @@ -1,10 +1,12 @@ +import type { MockHomeAssistant } from "../../src/fake_data/provide_hass"; +import type { HomeAssistant } from "../../src/types"; + import { customElement } from "lit/decorators"; + import { isNavigationClick } from "../../src/common/dom/is-navigation-click"; import { navigate } from "../../src/common/navigate"; -import type { MockHomeAssistant } from "../../src/fake_data/provide_hass"; import { provideHass } from "../../src/fake_data/provide_hass"; import { HomeAssistantAppEl } from "../../src/layouts/home-assistant"; -import type { HomeAssistant } from "../../src/types"; import { selectedDemoConfig } from "./configs/demo-configs"; import { mockAreaRegistry } from "./stubs/area_registry"; import { mockAuth } from "./stubs/auth"; @@ -14,8 +16,8 @@ import { energyEntities } from "./stubs/entities"; import { mockEntityRegistry } from "./stubs/entity_registry"; import { mockEvents } from "./stubs/events"; import { mockFrontend } from "./stubs/frontend"; -import { mockIcons } from "./stubs/icons"; import { mockHistory } from "./stubs/history"; +import { mockIcons } from "./stubs/icons"; import { mockLovelace } from "./stubs/lovelace"; import { mockMediaPlayer } from "./stubs/media_player"; import { mockPersistentNotification } from "./stubs/persistent_notification"; diff --git a/demo/src/stubs/energy.ts b/demo/src/stubs/energy.ts index 6df7bde7fb..4b987e2f1f 100644 --- a/demo/src/stubs/energy.ts +++ b/demo/src/stubs/energy.ts @@ -1,4 +1,3 @@ -import { format, startOfToday, startOfTomorrow } from "date-fns"; import type { EnergyInfo, EnergyPreferences, @@ -7,6 +6,8 @@ import type { } from "../../../src/data/energy"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; +import { format, startOfToday, startOfTomorrow } from "date-fns"; + export const mockEnergy = (hass: MockHomeAssistant) => { hass.mockWS( "energy/get_prefs", diff --git a/demo/src/stubs/history.ts b/demo/src/stubs/history.ts index 4dd809b648..9d33dc8b30 100644 --- a/demo/src/stubs/history.ts +++ b/demo/src/stubs/history.ts @@ -1,6 +1,6 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { HistoryStates } from "../../../src/data/history"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; +import type { HassEntity } from "home-assistant-js-websocket"; const generateStateHistory = ( state: HassEntity, diff --git a/demo/src/stubs/icons.ts b/demo/src/stubs/icons.ts index fa806cef73..130b19c531 100644 --- a/demo/src/stubs/icons.ts +++ b/demo/src/stubs/icons.ts @@ -1,7 +1,8 @@ import type { IconCategory } from "../../../src/data/icons"; -import { ENTITY_COMPONENT_ICONS } from "../../../src/fake_data/entity_component_icons"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; +import { ENTITY_COMPONENT_ICONS } from "../../../src/fake_data/entity_component_icons"; + export const mockIcons = (hass: MockHomeAssistant) => { hass.mockWS( "frontend/get_icons", diff --git a/demo/src/stubs/lovelace.ts b/demo/src/stubs/lovelace.ts index e4544a10ef..f3b45bf08a 100644 --- a/demo/src/stubs/lovelace.ts +++ b/demo/src/stubs/lovelace.ts @@ -1,12 +1,14 @@ import type { LocalizeFunc } from "../../../src/common/translations/localize"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; + +import "../custom-cards/cast-demo-row"; +import "../custom-cards/ha-demo-card"; + import { selectedDemoConfig, selectedDemoConfigIndex, setDemoConfig, } from "../configs/demo-configs"; -import "../custom-cards/cast-demo-row"; -import "../custom-cards/ha-demo-card"; import { mapEntities } from "./entities"; export const mockLovelace = ( diff --git a/demo/src/stubs/recorder.ts b/demo/src/stubs/recorder.ts index 3acce8b6d7..aa84f3bb51 100644 --- a/demo/src/stubs/recorder.ts +++ b/demo/src/stubs/recorder.ts @@ -1,3 +1,10 @@ +import type { + Statistics, + StatisticsMetaData, + StatisticValue, +} from "../../../src/data/recorder"; +import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; + import { addDays, addHours, @@ -5,12 +12,6 @@ import { differenceInHours, endOfDay, } from "date-fns"; -import type { - Statistics, - StatisticsMetaData, - StatisticValue, -} from "../../../src/data/recorder"; -import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; const generateMeanStatistics = ( start: Date, diff --git a/demo/src/stubs/todo.ts b/demo/src/stubs/todo.ts index 2d30294c18..0d663ff12c 100644 --- a/demo/src/stubs/todo.ts +++ b/demo/src/stubs/todo.ts @@ -1,7 +1,8 @@ import type { TodoItem } from "../../../src/data/todo"; -import { TodoItemStatus } from "../../../src/data/todo"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; +import { TodoItemStatus } from "../../../src/data/todo"; + export const mockTodo = (hass: MockHomeAssistant) => { hass.mockWS("todo/item/list", () => ({ items: [ diff --git a/eslint.config.mjs b/eslint.config.mjs index 6907fdecbe..572af11ea6 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,16 +1,18 @@ // @ts-check - /* eslint-disable import/no-extraneous-dependencies */ -import unusedImports from "eslint-plugin-unused-imports"; -import globals from "globals"; + import path from "node:path"; import { fileURLToPath } from "node:url"; -import js from "@eslint/js"; + import { FlatCompat } from "@eslint/eslintrc"; -import tseslint from "typescript-eslint"; +import js from "@eslint/js"; import eslintConfigPrettier from "eslint-config-prettier"; import { configs as litConfigs } from "eslint-plugin-lit"; +import perfectionist from "eslint-plugin-perfectionist"; +import unusedImports from "eslint-plugin-unused-imports"; import { configs as wcConfigs } from "eslint-plugin-wc"; +import globals from "globals"; +import tseslint from "typescript-eslint"; const _filename = fileURLToPath(import.meta.url); const _dirname = path.dirname(_filename); @@ -31,6 +33,7 @@ export default tseslint.config( { plugins: { "unused-imports": unusedImports, + perfectionist, }, languageOptions: { @@ -185,6 +188,29 @@ export default tseslint.config( }, ], "no-use-before-define": "off", + + "import/order": "off", + "perfectionist/sort-imports": [ + "error", + { + type: "alphabetical", + fallbackSort: { type: "natural" }, + order: "asc", + sortSideEffects: true, + groups: [ + "type", + "style", + "side-effect-style", + "side-effect", + "builtin", + "external", + "internal", + ["parent", "sibling", "index"], + "object", + "unknown", + ], + }, + ], }, } ); diff --git a/gallery/src/components/demo-black-white-row.ts b/gallery/src/components/demo-black-white-row.ts index fd4fef13f6..68db026e4d 100644 --- a/gallery/src/components/demo-black-white-row.ts +++ b/gallery/src/components/demo-black-white-row.ts @@ -1,11 +1,14 @@ -import "@material/mwc-button/mwc-button"; import type { Button } from "@material/mwc-button"; import type { TemplateResult } from "lit"; + +import "../../../src/components/ha-card"; +import "@material/mwc-button/mwc-button"; + import { html, LitElement, css, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { applyThemesOnElement } from "../../../src/common/dom/apply_themes_on_element"; import { fireEvent } from "../../../src/common/dom/fire_event"; -import "../../../src/components/ha-card"; @customElement("demo-black-white-row") class DemoBlackWhiteRow extends LitElement { diff --git a/gallery/src/components/demo-card.ts b/gallery/src/components/demo-card.ts index 584b32e32f..cff7cf6052 100644 --- a/gallery/src/components/demo-card.ts +++ b/gallery/src/components/demo-card.ts @@ -1,11 +1,13 @@ -import { load } from "js-yaml"; +import type { HuiCard } from "../../../src/panels/lovelace/cards/hui-card"; +import type { HomeAssistant } from "../../../src/types"; import type { PropertyValueMap } from "lit"; + +import "../../../src/panels/lovelace/cards/hui-card"; + +import { load } from "js-yaml"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; -import "../../../src/panels/lovelace/cards/hui-card"; -import type { HuiCard } from "../../../src/panels/lovelace/cards/hui-card"; -import type { HomeAssistant } from "../../../src/types"; export interface DemoCardConfig { heading: string; diff --git a/gallery/src/components/demo-cards.ts b/gallery/src/components/demo-cards.ts index 655b38a68a..a4d6723f48 100644 --- a/gallery/src/components/demo-cards.ts +++ b/gallery/src/components/demo-cards.ts @@ -1,12 +1,15 @@ -import { html, css, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { applyThemesOnElement } from "../../../src/common/dom/apply_themes_on_element"; +import type { HomeAssistant } from "../../../src/types"; +import type { DemoCardConfig } from "./demo-card"; + import "../../../src/components/ha-formfield"; import "../../../src/components/ha-switch"; -import type { HomeAssistant } from "../../../src/types"; -import "./demo-card"; -import type { DemoCardConfig } from "./demo-card"; import "../ha-demo-options"; +import "./demo-card"; + +import { html, css, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { applyThemesOnElement } from "../../../src/common/dom/apply_themes_on_element"; @customElement("demo-cards") class DemoCards extends LitElement { diff --git a/gallery/src/components/demo-more-info.ts b/gallery/src/components/demo-more-info.ts index 0b6223531e..a0b286bb0d 100644 --- a/gallery/src/components/demo-more-info.ts +++ b/gallery/src/components/demo-more-info.ts @@ -1,10 +1,12 @@ -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; +import type { HomeAssistant } from "../../../src/types"; + import "../../../src/components/ha-card"; import "../../../src/dialogs/more-info/more-info-content"; import "../../../src/state-summary/state-card-content"; import "../ha-demo-options"; -import type { HomeAssistant } from "../../../src/types"; + +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("demo-more-info") class DemoMoreInfo extends LitElement { diff --git a/gallery/src/components/demo-more-infos.ts b/gallery/src/components/demo-more-infos.ts index a6191040a6..8d530c7918 100644 --- a/gallery/src/components/demo-more-infos.ts +++ b/gallery/src/components/demo-more-infos.ts @@ -1,12 +1,15 @@ -import { LitElement, css, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { applyThemesOnElement } from "../../../src/common/dom/apply_themes_on_element"; +import type { HomeAssistant } from "../../../src/types"; + import "../../../src/components/ha-formfield"; import "../../../src/components/ha-switch"; -import type { HomeAssistant } from "../../../src/types"; import "../ha-demo-options"; import "./demo-more-info"; +import { LitElement, css, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { applyThemesOnElement } from "../../../src/common/dom/apply_themes_on_element"; + @customElement("demo-more-infos") class DemoMoreInfos extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/gallery/src/components/page-description.ts b/gallery/src/components/page-description.ts index 9c98d9b37e..31541b9ec2 100644 --- a/gallery/src/components/page-description.ts +++ b/gallery/src/components/page-description.ts @@ -1,6 +1,7 @@ import { css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; + import { HaMarkdown } from "../../../src/components/ha-markdown"; import { PAGES } from "../../build/import-pages"; diff --git a/gallery/src/data/traces/types.ts b/gallery/src/data/traces/types.ts index c06cea33e5..42486f23c6 100644 --- a/gallery/src/data/traces/types.ts +++ b/gallery/src/data/traces/types.ts @@ -1,5 +1,5 @@ -import type { AutomationTraceExtended } from "../../../../src/data/trace"; import type { LogbookEntry } from "../../../../src/data/logbook"; +import type { AutomationTraceExtended } from "../../../../src/data/trace"; export interface DemoTrace { trace: AutomationTraceExtended; diff --git a/gallery/src/ha-demo-options.ts b/gallery/src/ha-demo-options.ts index f3565e7891..246ce7156a 100644 --- a/gallery/src/ha-demo-options.ts +++ b/gallery/src/ha-demo-options.ts @@ -1,11 +1,13 @@ -import "@material/mwc-drawer"; -import "@material/mwc-top-app-bar-fixed"; -import { html, css, LitElement } from "lit"; -import { customElement } from "lit/decorators"; import "../../src/components/ha-icon-button"; import "../../src/managers/notification-manager"; -import { haStyle } from "../../src/resources/styles"; import "./components/page-description"; +import "@material/mwc-drawer"; +import "@material/mwc-top-app-bar-fixed"; + +import { html, css, LitElement } from "lit"; +import { customElement } from "lit/decorators"; + +import { haStyle } from "../../src/resources/styles"; @customElement("ha-demo-options") class HaDemoOptions extends LitElement { diff --git a/gallery/src/ha-gallery.ts b/gallery/src/ha-gallery.ts index d1043815a2..55adfaf64f 100644 --- a/gallery/src/ha-gallery.ts +++ b/gallery/src/ha-gallery.ts @@ -1,16 +1,19 @@ -import "@material/mwc-drawer"; -import "@material/mwc-top-app-bar-fixed"; -import { mdiMenu } from "@mdi/js"; import type { PropertyValues } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, query, state } from "lit/decorators"; -import { dynamicElement } from "../../src/common/dom/dynamic-element-directive"; -import { HaExpansionPanel } from "../../src/components/ha-expansion-panel"; + import "../../src/components/ha-icon-button"; import "../../src/managers/notification-manager"; +import "./components/page-description"; +import "@material/mwc-drawer"; +import "@material/mwc-top-app-bar-fixed"; + +import { mdiMenu } from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { customElement, query, state } from "lit/decorators"; + +import { dynamicElement } from "../../src/common/dom/dynamic-element-directive"; +import { HaExpansionPanel } from "../../src/components/ha-expansion-panel"; import { haStyle } from "../../src/resources/styles"; import { PAGES, SIDEBAR } from "../build/import-pages"; -import "./components/page-description"; const GITHUB_DEMO_URL = "https://github.com/home-assistant/frontend/blob/dev/gallery/src/pages/"; diff --git a/gallery/src/pages/automation/describe-action.ts b/gallery/src/pages/automation/describe-action.ts index e16cf3df79..d4ae3de1ab 100644 --- a/gallery/src/pages/automation/describe-action.ts +++ b/gallery/src/pages/automation/describe-action.ts @@ -1,13 +1,16 @@ +import type { Action } from "../../../../src/data/script"; +import type { HomeAssistant } from "../../../../src/types"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-yaml-editor"; + import { dump } from "js-yaml"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-yaml-editor"; -import type { Action } from "../../../../src/data/script"; + import { describeAction } from "../../../../src/data/script_i18n"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; const ENTITIES = [ getEntity("scene", "kitchen_morning", "scening", { diff --git a/gallery/src/pages/automation/describe-condition.ts b/gallery/src/pages/automation/describe-condition.ts index bf37309fdf..107ddc89ac 100644 --- a/gallery/src/pages/automation/describe-condition.ts +++ b/gallery/src/pages/automation/describe-condition.ts @@ -1,13 +1,16 @@ +import type { Condition } from "../../../../src/data/automation"; +import type { HomeAssistant } from "../../../../src/types"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-yaml-editor"; + import { dump } from "js-yaml"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-yaml-editor"; -import type { Condition } from "../../../../src/data/automation"; + import { describeCondition } from "../../../../src/data/automation_i18n"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; const ENTITIES = [ getEntity("light", "kitchen", "on", { diff --git a/gallery/src/pages/automation/describe-trigger.ts b/gallery/src/pages/automation/describe-trigger.ts index d02d1a265b..6b31cf964e 100644 --- a/gallery/src/pages/automation/describe-trigger.ts +++ b/gallery/src/pages/automation/describe-trigger.ts @@ -1,13 +1,16 @@ +import type { Trigger } from "../../../../src/data/automation"; +import type { HomeAssistant } from "../../../../src/types"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-yaml-editor"; + import { dump } from "js-yaml"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-yaml-editor"; -import type { Trigger } from "../../../../src/data/automation"; + import { describeTrigger } from "../../../../src/data/automation_i18n"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; const ENTITIES = [ getEntity("light", "kitchen", "on", { diff --git a/gallery/src/pages/automation/editor-action.ts b/gallery/src/pages/automation/editor-action.ts index cf40c4ce7c..b93067b7a1 100644 --- a/gallery/src/pages/automation/editor-action.ts +++ b/gallery/src/pages/automation/editor-action.ts @@ -1,29 +1,32 @@ +import type { Action } from "../../../../src/data/script"; +import type { HomeAssistant } from "../../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../../src/panels/config/automation/action/ha-automation-action"; +import "../../components/demo-black-white-row"; + import { LitElement, html, css } from "lit"; import { customElement, state } from "lit/decorators"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; -import "../../components/demo-black-white-row"; -import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; -import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; + import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry"; +import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; +import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor"; -import "../../../../src/panels/config/automation/action/ha-automation-action"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; import { HaChooseAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-choose"; +import { HaConditionAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-condition"; import { HaDelayAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-delay"; import { HaDeviceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-device_id"; import { HaEventAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-event"; +import { HaIfAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-if"; +import { HaParallelAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-parallel"; +import { HaPlayMediaAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-play_media"; import { HaRepeatAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-repeat"; +import { HaSequenceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-sequence"; import { HaServiceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-service"; +import { HaStopAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-stop"; import { HaWaitForTriggerAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-wait_for_trigger"; import { HaWaitAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-wait_template"; -import type { Action } from "../../../../src/data/script"; -import { HaConditionAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-condition"; -import { HaSequenceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-sequence"; -import { HaParallelAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-parallel"; -import { HaIfAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-if"; -import { HaStopAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-stop"; -import { HaPlayMediaAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-play_media"; const SCHEMAS: { name: string; actions: Action[] }[] = [ { name: "Event", actions: [HaEventAction.defaultConfig] }, diff --git a/gallery/src/pages/automation/editor-condition.ts b/gallery/src/pages/automation/editor-condition.ts index 883ff642ce..d8d0358eea 100644 --- a/gallery/src/pages/automation/editor-condition.ts +++ b/gallery/src/pages/automation/editor-condition.ts @@ -1,26 +1,29 @@ +import type { ConditionWithShorthand } from "../../../../src/data/automation"; +import type { HomeAssistant } from "../../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../../src/panels/config/automation/condition/ha-automation-condition"; +import "../../components/demo-black-white-row"; + import { LitElement, html, css } from "lit"; import { customElement, state } from "lit/decorators"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; -import "../../components/demo-black-white-row"; -import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; -import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; + import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry"; +import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; +import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor"; -import type { ConditionWithShorthand } from "../../../../src/data/automation"; -import "../../../../src/panels/config/automation/condition/ha-automation-condition"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; +import { HaAndCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-and"; import { HaDeviceCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-device"; +import { HaNotCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-not"; import HaNumericStateCondition from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-numeric_state"; +import { HaOrCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-or"; import { HaStateCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-state"; import { HaSunCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-sun"; import { HaTemplateCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-template"; import { HaTimeCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-time"; import { HaTriggerCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-trigger"; import { HaZoneCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-zone"; -import { HaAndCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-and"; -import { HaOrCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-or"; -import { HaNotCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-not"; const SCHEMAS: { name: string; conditions: ConditionWithShorthand[] }[] = [ { diff --git a/gallery/src/pages/automation/editor-trigger.ts b/gallery/src/pages/automation/editor-trigger.ts index 2feb661a30..083ba0737c 100644 --- a/gallery/src/pages/automation/editor-trigger.ts +++ b/gallery/src/pages/automation/editor-trigger.ts @@ -1,35 +1,38 @@ +import type { Trigger } from "../../../../src/data/automation"; +import type { HomeAssistant } from "../../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../../src/panels/config/automation/trigger/ha-automation-trigger"; +import "../../components/demo-black-white-row"; + import { LitElement, html, css } from "lit"; import { customElement, state } from "lit/decorators"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; -import "../../components/demo-black-white-row"; -import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; -import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; + import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry"; -import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor"; -import { mockConfig } from "../../../../demo/src/stubs/config"; -import { mockTags } from "../../../../demo/src/stubs/tags"; import { mockAuth } from "../../../../demo/src/stubs/auth"; -import type { Trigger } from "../../../../src/data/automation"; -import { HaGeolocationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location"; +import { mockConfig } from "../../../../demo/src/stubs/config"; +import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; +import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; +import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor"; +import { mockTags } from "../../../../demo/src/stubs/tags"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; +import { HaConversationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-conversation"; +import { HaDeviceTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-device"; import { HaEventTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-event"; +import { HaGeolocationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location"; import { HaHassTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-homeassistant"; +import { HaTriggerList } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-list"; +import { HaMQTTTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt"; import { HaNumericStateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-numeric_state"; +import { HaPersistentNotificationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification"; +import { HaStateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-state"; import { HaSunTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-sun"; import { HaTagTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-tag"; import { HaTemplateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-template"; import { HaTimeTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-time"; import { HaTimePatternTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-time_pattern"; import { HaWebhookTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-webhook"; -import { HaPersistentNotificationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification"; import { HaZoneTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-zone"; -import { HaDeviceTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-device"; -import { HaStateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-state"; -import { HaMQTTTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt"; -import "../../../../src/panels/config/automation/trigger/ha-automation-trigger"; -import { HaConversationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-conversation"; -import { HaTriggerList } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-list"; const SCHEMAS: { name: string; triggers: Trigger[] }[] = [ { diff --git a/gallery/src/pages/automation/trace-timeline.ts b/gallery/src/pages/automation/trace-timeline.ts index 87cf087da8..9c9f1cfaed 100644 --- a/gallery/src/pages/automation/trace-timeline.ts +++ b/gallery/src/pages/automation/trace-timeline.ts @@ -1,13 +1,16 @@ /* eslint-disable lit/no-template-arrow */ +import type { HomeAssistant } from "../../../../src/types"; +import type { DemoTrace } from "../../data/traces/types"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/trace/hat-trace-timeline"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/trace/hat-trace-timeline"; + import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; import { mockDemoTrace } from "../../data/traces/mock-demo-trace"; -import type { DemoTrace } from "../../data/traces/types"; const traces: DemoTrace[] = [ mockDemoTrace({ state: "running" }), diff --git a/gallery/src/pages/automation/trace.ts b/gallery/src/pages/automation/trace.ts index 4952a72455..12b3deba03 100644 --- a/gallery/src/pages/automation/trace.ts +++ b/gallery/src/pages/automation/trace.ts @@ -1,15 +1,18 @@ /* eslint-disable lit/no-template-arrow */ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; +import type { HomeAssistant } from "../../../../src/types"; +import type { DemoTrace } from "../../data/traces/types"; + import "../../../../src/components/ha-card"; import "../../../../src/components/trace/hat-script-graph"; import "../../../../src/components/trace/hat-trace-timeline"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; import { basicTrace } from "../../data/traces/basic_trace"; import { motionLightTrace } from "../../data/traces/motion-light-trace"; -import type { DemoTrace } from "../../data/traces/types"; const traces: DemoTrace[] = [basicTrace, motionLightTrace]; diff --git a/gallery/src/pages/components/ha-alert.ts b/gallery/src/pages/components/ha-alert.ts index ee7cce600d..729a7e32b8 100644 --- a/gallery/src/pages/components/ha-alert.ts +++ b/gallery/src/pages/components/ha-alert.ts @@ -1,11 +1,14 @@ -import "@material/mwc-button/mwc-button"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement } from "lit/decorators"; -import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element"; + import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-card"; import "../../../../src/components/ha-logo-svg"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement } from "lit/decorators"; + +import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element"; const alerts: { title?: string; diff --git a/gallery/src/pages/components/ha-bar.ts b/gallery/src/pages/components/ha-bar.ts index 510f322b13..5f121c60d7 100644 --- a/gallery/src/pages/components/ha-bar.ts +++ b/gallery/src/pages/components/ha-bar.ts @@ -1,9 +1,11 @@ import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-bar"; +import "../../../../src/components/ha-card"; + import { html, css, LitElement } from "lit"; import { customElement } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import "../../../../src/components/ha-bar"; -import "../../../../src/components/ha-card"; const bars: { min?: number; diff --git a/gallery/src/pages/components/ha-chips.ts b/gallery/src/pages/components/ha-chips.ts index e00913fc86..17a4cea225 100644 --- a/gallery/src/pages/components/ha-chips.ts +++ b/gallery/src/pages/components/ha-chips.ts @@ -1,12 +1,15 @@ import type { TemplateResult } from "lit"; + +import "../../../../src/components/chips/ha-assist-chip"; +import "../../../../src/components/chips/ha-chip-set"; +import "../../../../src/components/chips/ha-filter-chip"; +import "../../../../src/components/chips/ha-input-chip"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-svg-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement } from "lit/decorators"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/chips/ha-chip-set"; -import "../../../../src/components/chips/ha-assist-chip"; -import "../../../../src/components/chips/ha-input-chip"; -import "../../../../src/components/chips/ha-filter-chip"; -import "../../../../src/components/ha-svg-icon"; + import { mdiHomeAssistant } from "../../../../src/resources/home-assistant-logo-svg"; const chips: { diff --git a/gallery/src/pages/components/ha-control-button.ts b/gallery/src/pages/components/ha-control-button.ts index 96f10d9625..ad2ee9e1cf 100644 --- a/gallery/src/pages/components/ha-control-button.ts +++ b/gallery/src/pages/components/ha-control-button.ts @@ -1,18 +1,20 @@ +import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-control-button"; +import "../../../../src/components/ha-control-button-group"; +import "../../../../src/components/ha-svg-icon"; + import { mdiFanSpeed1, mdiFanSpeed2, mdiFanSpeed3, mdiLightbulb, } from "@mdi/js"; -import type { TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { repeat } from "lit/directives/repeat"; -import "../../../../src/components/ha-control-button"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-svg-icon"; -import "../../../../src/components/ha-control-button-group"; interface Button { label: string; diff --git a/gallery/src/pages/components/ha-control-circular-slider.ts b/gallery/src/pages/components/ha-control-circular-slider.ts index bb61e48bc9..4ee42bdfda 100644 --- a/gallery/src/pages/components/ha-control-circular-slider.ts +++ b/gallery/src/pages/components/ha-control-circular-slider.ts @@ -1,10 +1,12 @@ import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, state } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-circular-slider"; import "../../../../src/components/ha-slider"; +import { css, html, LitElement } from "lit"; +import { customElement, state } from "lit/decorators"; + @customElement("demo-components-ha-control-circular-slider") export class DemoHaCircularSlider extends LitElement { @state() diff --git a/gallery/src/pages/components/ha-control-number-buttons.ts b/gallery/src/pages/components/ha-control-number-buttons.ts index 29496fc689..219177f999 100644 --- a/gallery/src/pages/components/ha-control-number-buttons.ts +++ b/gallery/src/pages/components/ha-control-number-buttons.ts @@ -1,10 +1,12 @@ import type { TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-number-buttons"; -import { repeat } from "lit/directives/repeat"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; +import { repeat } from "lit/directives/repeat"; const buttons: { id: string; diff --git a/gallery/src/pages/components/ha-control-select-menu.ts b/gallery/src/pages/components/ha-control-select-menu.ts index 638f682b0c..404ee31fde 100644 --- a/gallery/src/pages/components/ha-control-select-menu.ts +++ b/gallery/src/pages/components/ha-control-select-menu.ts @@ -1,13 +1,15 @@ -import { mdiFan, mdiFanSpeed1, mdiFanSpeed2, mdiFanSpeed3 } from "@mdi/js"; import type { TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select-menu"; import "../../../../src/components/ha-list-item"; import "../../../../src/components/ha-svg-icon"; +import { mdiFan, mdiFanSpeed1, mdiFanSpeed2, mdiFanSpeed3 } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + interface SelectMenuOptions { label: string; value: string; diff --git a/gallery/src/pages/components/ha-control-select.ts b/gallery/src/pages/components/ha-control-select.ts index f3887d0144..029e60a662 100644 --- a/gallery/src/pages/components/ha-control-select.ts +++ b/gallery/src/pages/components/ha-control-select.ts @@ -1,12 +1,14 @@ -import { mdiFanOff, mdiFanSpeed1, mdiFanSpeed2, mdiFanSpeed3 } from "@mdi/js"; +import type { ControlSelectOption } from "../../../../src/components/ha-control-select"; import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-control-select"; + +import { mdiFanOff, mdiFanSpeed1, mdiFanSpeed2, mdiFanSpeed3 } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { repeat } from "lit/directives/repeat"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-control-select"; -import type { ControlSelectOption } from "../../../../src/components/ha-control-select"; const fullOptions: ControlSelectOption[] = [ { diff --git a/gallery/src/pages/components/ha-control-slider.ts b/gallery/src/pages/components/ha-control-slider.ts index b4af37cb67..e930fc7280 100644 --- a/gallery/src/pages/components/ha-control-slider.ts +++ b/gallery/src/pages/components/ha-control-slider.ts @@ -1,10 +1,12 @@ import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-control-slider"; + import { css, html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { repeat } from "lit/directives/repeat"; -import "../../../../src/components/ha-control-slider"; -import "../../../../src/components/ha-card"; const sliders: { id: string; diff --git a/gallery/src/pages/components/ha-control-switch.ts b/gallery/src/pages/components/ha-control-switch.ts index 99ec957e9b..c9d068af6f 100644 --- a/gallery/src/pages/components/ha-control-switch.ts +++ b/gallery/src/pages/components/ha-control-switch.ts @@ -1,16 +1,18 @@ +import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-control-switch"; + import { mdiGarage, mdiGarageOpen, mdiLightbulb, mdiLightbulbOff, } from "@mdi/js"; -import type { TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { repeat } from "lit/directives/repeat"; -import "../../../../src/components/ha-control-switch"; -import "../../../../src/components/ha-card"; const switches: { id: string; diff --git a/gallery/src/pages/components/ha-expansion-panel.ts b/gallery/src/pages/components/ha-expansion-panel.ts index 56eb284aa2..52a64c03d9 100644 --- a/gallery/src/pages/components/ha-expansion-panel.ts +++ b/gallery/src/pages/components/ha-expansion-panel.ts @@ -1,12 +1,15 @@ -import { mdiLightbulbOn, mdiPacMan } from "@mdi/js"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-expansion-panel"; import "../../../../src/components/ha-icon-button"; import "../../../../src/components/ha-markdown"; import "../../components/demo-black-white-row"; + +import { mdiLightbulbOn, mdiPacMan } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement } from "lit/decorators"; + import { LONG_TEXT } from "../../data/text"; const SHORT_TEXT = LONG_TEXT.substring(0, 113); diff --git a/gallery/src/pages/components/ha-faded.ts b/gallery/src/pages/components/ha-faded.ts index 0664437e30..debb42433d 100644 --- a/gallery/src/pages/components/ha-faded.ts +++ b/gallery/src/pages/components/ha-faded.ts @@ -1,9 +1,12 @@ import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-faded"; import "../../../../src/components/ha-markdown"; + +import { css, html, LitElement } from "lit"; +import { customElement } from "lit/decorators"; + import { LONG_TEXT } from "../../data/text"; const SMALL_TEXT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."; diff --git a/gallery/src/pages/components/ha-form.ts b/gallery/src/pages/components/ha-form.ts index b890f571cf..e0303eef03 100644 --- a/gallery/src/pages/components/ha-form.ts +++ b/gallery/src/pages/components/ha-form.ts @@ -1,22 +1,25 @@ /* eslint-disable lit/no-template-arrow */ -import "@material/mwc-button"; +import type { HaFormSchema } from "../../../../src/components/ha-form/types"; +import type { AreaRegistryEntry } from "../../../../src/data/area_registry"; +import type { DeviceRegistryEntry } from "../../../../src/data/device_registry"; +import type { HomeAssistant } from "../../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-form/ha-form"; +import "../../components/demo-black-white-row"; +import "@material/mwc-button"; + import { html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; + import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry"; import { mockConfigEntries } from "../../../../demo/src/stubs/config_entries"; import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor"; import { computeInitialHaFormData } from "../../../../src/components/ha-form/compute-initial-ha-form-data"; -import "../../../../src/components/ha-form/ha-form"; -import type { HaFormSchema } from "../../../../src/components/ha-form/types"; -import type { AreaRegistryEntry } from "../../../../src/data/area_registry"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { HomeAssistant } from "../../../../src/types"; -import "../../components/demo-black-white-row"; -import type { DeviceRegistryEntry } from "../../../../src/data/device_registry"; const ENTITIES = [ getEntity("alarm_control_panel", "alarm", "disarmed", { diff --git a/gallery/src/pages/components/ha-hs-color-picker.ts b/gallery/src/pages/components/ha-hs-color-picker.ts index c97ec7c8df..5abfba00f6 100644 --- a/gallery/src/pages/components/ha-hs-color-picker.ts +++ b/gallery/src/pages/components/ha-hs-color-picker.ts @@ -1,11 +1,12 @@ -import "../../../../src/components/ha-hs-color-picker"; - import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-hs-color-picker"; +import "../../../../src/components/ha-slider"; + import { css, html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-slider"; import { hsv2rgb } from "../../../../src/common/color/convert-color"; @customElement("demo-components-ha-hs-color-picker") diff --git a/gallery/src/pages/components/ha-label-badge.ts b/gallery/src/pages/components/ha-label-badge.ts index 30fdf9e6a6..72f80da82f 100644 --- a/gallery/src/pages/components/ha-label-badge.ts +++ b/gallery/src/pages/components/ha-label-badge.ts @@ -1,8 +1,10 @@ import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-label-badge"; + import { html, css, LitElement } from "lit"; import { customElement } from "lit/decorators"; -import "../../../../src/components/ha-label-badge"; -import "../../../../src/components/ha-card"; const colors = ["#03a9f4", "#ffa600", "#43a047"]; diff --git a/gallery/src/pages/components/ha-select-box.ts b/gallery/src/pages/components/ha-select-box.ts index ed2d182227..a473830320 100644 --- a/gallery/src/pages/components/ha-select-box.ts +++ b/gallery/src/pages/components/ha-select-box.ts @@ -1,10 +1,12 @@ +import type { SelectBoxOption } from "../../../../src/components/ha-select-box"; import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-select-box"; + import { css, html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-select-box"; -import type { SelectBoxOption } from "../../../../src/components/ha-select-box"; const basicOptions: SelectBoxOption[] = [ { diff --git a/gallery/src/pages/components/ha-selector.ts b/gallery/src/pages/components/ha-selector.ts index 5e0e6d8fe0..ac98dbf6f1 100644 --- a/gallery/src/pages/components/ha-selector.ts +++ b/gallery/src/pages/components/ha-selector.ts @@ -1,27 +1,30 @@ -import "@material/mwc-button"; +import type { AreaRegistryEntry } from "../../../../src/data/area_registry"; +import type { BlueprintInput } from "../../../../src/data/blueprint"; +import type { DeviceRegistryEntry } from "../../../../src/data/device_registry"; +import type { FloorRegistryEntry } from "../../../../src/data/floor_registry"; +import type { LabelRegistryEntry } from "../../../../src/data/label_registry"; +import type { ProvideHassElement } from "../../../../src/mixins/provide-hass-lit-mixin"; +import type { HomeAssistant } from "../../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-selector/ha-selector"; +import "../../../../src/components/ha-settings-row"; +import "../../components/demo-black-white-row"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, state } from "lit/decorators"; + import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry"; import { mockConfigEntries } from "../../../../demo/src/stubs/config_entries"; import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry"; import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry"; +import { mockFloorRegistry } from "../../../../demo/src/stubs/floor_registry"; import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor"; -import "../../../../src/components/ha-selector/ha-selector"; -import "../../../../src/components/ha-settings-row"; -import type { AreaRegistryEntry } from "../../../../src/data/area_registry"; -import type { BlueprintInput } from "../../../../src/data/blueprint"; +import { mockLabelRegistry } from "../../../../demo/src/stubs/label_registry"; import { showDialog } from "../../../../src/dialogs/make-dialog-manager"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import type { ProvideHassElement } from "../../../../src/mixins/provide-hass-lit-mixin"; -import type { HomeAssistant } from "../../../../src/types"; -import "../../components/demo-black-white-row"; -import type { FloorRegistryEntry } from "../../../../src/data/floor_registry"; -import type { LabelRegistryEntry } from "../../../../src/data/label_registry"; -import { mockFloorRegistry } from "../../../../demo/src/stubs/floor_registry"; -import { mockLabelRegistry } from "../../../../demo/src/stubs/label_registry"; -import type { DeviceRegistryEntry } from "../../../../src/data/device_registry"; const ENTITIES = [ getEntity("alarm_control_panel", "alarm", "disarmed", { diff --git a/gallery/src/pages/components/ha-spinner.ts b/gallery/src/pages/components/ha-spinner.ts index d84b13f399..055fe9e442 100644 --- a/gallery/src/pages/components/ha-spinner.ts +++ b/gallery/src/pages/components/ha-spinner.ts @@ -1,10 +1,12 @@ +import type { HomeAssistant } from "../../../../src/types"; import type { TemplateResult } from "lit"; -import { html, css, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../../src/components/ha-bar"; import "../../../../src/components/ha-card"; import "../../../../src/components/ha-spinner"; -import type { HomeAssistant } from "../../../../src/types"; + +import { html, css, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("demo-components-ha-spinner") export class DemoHaSpinner extends LitElement { diff --git a/gallery/src/pages/components/ha-tip.ts b/gallery/src/pages/components/ha-tip.ts index 7e3a008a0c..53c1370ce5 100644 --- a/gallery/src/pages/components/ha-tip.ts +++ b/gallery/src/pages/components/ha-tip.ts @@ -1,8 +1,11 @@ import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-tip"; + import { html, css, LitElement } from "lit"; import { customElement } from "lit/decorators"; -import "../../../../src/components/ha-tip"; -import "../../../../src/components/ha-card"; + import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element"; import { provideHass } from "../../../../src/fake_data/provide_hass"; diff --git a/gallery/src/pages/components/ha-tooltip.ts b/gallery/src/pages/components/ha-tooltip.ts index 7984df36b8..1de1e1b6dc 100644 --- a/gallery/src/pages/components/ha-tooltip.ts +++ b/gallery/src/pages/components/ha-tooltip.ts @@ -1,2 +1,2 @@ -import "../../../../src/components/ha-tooltip"; import "../../../../src/components/ha-button"; +import "../../../../src/components/ha-tooltip"; diff --git a/gallery/src/pages/date-time/date-time-numeric.ts b/gallery/src/pages/date-time/date-time-numeric.ts index a1ead031b8..38fd154ea0 100644 --- a/gallery/src/pages/date-time/date-time-numeric.ts +++ b/gallery/src/pages/date-time/date-time-numeric.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatDateTimeNumeric } from "../../../../src/common/datetime/format_date_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatDateTimeNumeric } from "../../../../src/common/datetime/format_date_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/date-time-seconds.ts b/gallery/src/pages/date-time/date-time-seconds.ts index 0ebb94d07c..ec55c41012 100644 --- a/gallery/src/pages/date-time/date-time-seconds.ts +++ b/gallery/src/pages/date-time/date-time-seconds.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatDateTimeWithSeconds } from "../../../../src/common/datetime/format_date_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatDateTimeWithSeconds } from "../../../../src/common/datetime/format_date_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/date-time-short-year.ts b/gallery/src/pages/date-time/date-time-short-year.ts index 3c0e5b651b..bf9f1bce51 100644 --- a/gallery/src/pages/date-time/date-time-short-year.ts +++ b/gallery/src/pages/date-time/date-time-short-year.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatShortDateTimeWithYear } from "../../../../src/common/datetime/format_date_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatShortDateTimeWithYear } from "../../../../src/common/datetime/format_date_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/date-time-short.ts b/gallery/src/pages/date-time/date-time-short.ts index 9d22f9b3de..eb49143dca 100644 --- a/gallery/src/pages/date-time/date-time-short.ts +++ b/gallery/src/pages/date-time/date-time-short.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatShortDateTime } from "../../../../src/common/datetime/format_date_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatShortDateTime } from "../../../../src/common/datetime/format_date_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/date-time.ts b/gallery/src/pages/date-time/date-time.ts index d75c5d2459..ba121f2c34 100644 --- a/gallery/src/pages/date-time/date-time.ts +++ b/gallery/src/pages/date-time/date-time.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatDateTime } from "../../../../src/common/datetime/format_date_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatDateTime } from "../../../../src/common/datetime/format_date_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/date.ts b/gallery/src/pages/date-time/date.ts index dd115bf25d..29f80ef83d 100644 --- a/gallery/src/pages/date-time/date.ts +++ b/gallery/src/pages/date-time/date.ts @@ -1,9 +1,12 @@ +import type { FrontendLocaleData } from "../../../../src/data/translation"; + +import "../../../../src/components/ha-card"; import "@material/mwc-list/mwc-list"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; + import { formatDateNumeric } from "../../../../src/common/datetime/format_date"; -import "../../../../src/components/ha-card"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/time-seconds.ts b/gallery/src/pages/date-time/time-seconds.ts index a00c72a939..ad88c2b93f 100644 --- a/gallery/src/pages/date-time/time-seconds.ts +++ b/gallery/src/pages/date-time/time-seconds.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatTimeWithSeconds } from "../../../../src/common/datetime/format_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatTimeWithSeconds } from "../../../../src/common/datetime/format_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/time-weekday.ts b/gallery/src/pages/date-time/time-weekday.ts index 1299324d72..83783a1950 100644 --- a/gallery/src/pages/date-time/time-weekday.ts +++ b/gallery/src/pages/date-time/time-weekday.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatTimeWeekday } from "../../../../src/common/datetime/format_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatTimeWeekday } from "../../../../src/common/datetime/format_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/date-time/time.ts b/gallery/src/pages/date-time/time.ts index 0654d838b0..d2caea14c2 100644 --- a/gallery/src/pages/date-time/time.ts +++ b/gallery/src/pages/date-time/time.ts @@ -1,10 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators"; -import { formatTime } from "../../../../src/common/datetime/format_time"; +import type { FrontendLocaleData } from "../../../../src/data/translation"; + import "../../../../src/components/ha-card"; import "../../../../src/components/ha-control-select"; -import type { FrontendLocaleData } from "../../../../src/data/translation"; +import "@material/mwc-list/mwc-list"; + +import { LitElement, css, html } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatTime } from "../../../../src/common/datetime/format_time"; import { DateFormat, FirstWeekday, diff --git a/gallery/src/pages/lovelace/alarm-panel-card.ts b/gallery/src/pages/lovelace/alarm-panel-card.ts index d2a596f2e1..288b4263c4 100644 --- a/gallery/src/pages/lovelace/alarm-panel-card.ts +++ b/gallery/src/pages/lovelace/alarm-panel-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("alarm_control_panel", "alarm", "disarmed", { diff --git a/gallery/src/pages/lovelace/area-card.ts b/gallery/src/pages/lovelace/area-card.ts index 75f77ac7a6..e9867c49ac 100644 --- a/gallery/src/pages/lovelace/area-card.ts +++ b/gallery/src/pages/lovelace/area-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "bed_light", "on", { diff --git a/gallery/src/pages/lovelace/conditional-card.ts b/gallery/src/pages/lovelace/conditional-card.ts index 1943e52510..f8f869929a 100644 --- a/gallery/src/pages/lovelace/conditional-card.ts +++ b/gallery/src/pages/lovelace/conditional-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "controller_1", "on", { diff --git a/gallery/src/pages/lovelace/entities-card.ts b/gallery/src/pages/lovelace/entities-card.ts index 39e756623b..0003840c33 100644 --- a/gallery/src/pages/lovelace/entities-card.ts +++ b/gallery/src/pages/lovelace/entities-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "bed_light", "on", { diff --git a/gallery/src/pages/lovelace/entity-button-card.ts b/gallery/src/pages/lovelace/entity-button-card.ts index 3a7a270999..d45369bc4b 100644 --- a/gallery/src/pages/lovelace/entity-button-card.ts +++ b/gallery/src/pages/lovelace/entity-button-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "bed_light", "on", { diff --git a/gallery/src/pages/lovelace/entity-filter-card.ts b/gallery/src/pages/lovelace/entity-filter-card.ts index 6d28383acc..af79b24bcf 100644 --- a/gallery/src/pages/lovelace/entity-filter-card.ts +++ b/gallery/src/pages/lovelace/entity-filter-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("device_tracker", "demo_paulus", "work", { diff --git a/gallery/src/pages/lovelace/gauge-card.ts b/gallery/src/pages/lovelace/gauge-card.ts index 4c74ee5566..36f169b56b 100644 --- a/gallery/src/pages/lovelace/gauge-card.ts +++ b/gallery/src/pages/lovelace/gauge-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("sensor", "brightness", "12", {}), diff --git a/gallery/src/pages/lovelace/glance-card.ts b/gallery/src/pages/lovelace/glance-card.ts index f10b758aa9..b08cfce0f2 100644 --- a/gallery/src/pages/lovelace/glance-card.ts +++ b/gallery/src/pages/lovelace/glance-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("device_tracker", "demo_paulus", "home", { diff --git a/gallery/src/pages/lovelace/grid-and-stack-card.ts b/gallery/src/pages/lovelace/grid-and-stack-card.ts index 79048043bf..8abc170b50 100644 --- a/gallery/src/pages/lovelace/grid-and-stack-card.ts +++ b/gallery/src/pages/lovelace/grid-and-stack-card.ts @@ -1,11 +1,14 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + import { mockHistory } from "../../../../demo/src/stubs/history"; +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "kitchen_lights", "on", { diff --git a/gallery/src/pages/lovelace/iframe-card.ts b/gallery/src/pages/lovelace/iframe-card.ts index 6fc35f0493..4cf7d9be38 100644 --- a/gallery/src/pages/lovelace/iframe-card.ts +++ b/gallery/src/pages/lovelace/iframe-card.ts @@ -1,8 +1,11 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; const CONFIGS = [ { diff --git a/gallery/src/pages/lovelace/light-card.ts b/gallery/src/pages/lovelace/light-card.ts index cc67832910..f34d68aca2 100644 --- a/gallery/src/pages/lovelace/light-card.ts +++ b/gallery/src/pages/lovelace/light-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "bed_light", "on", { diff --git a/gallery/src/pages/lovelace/map-card.ts b/gallery/src/pages/lovelace/map-card.ts index 8debc6d991..ca830d2a10 100644 --- a/gallery/src/pages/lovelace/map-card.ts +++ b/gallery/src/pages/lovelace/map-card.ts @@ -1,9 +1,12 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; const ENTITIES = [ getEntity("device_tracker", "demo_paulus", "not_home", { diff --git a/gallery/src/pages/lovelace/markdown-card.ts b/gallery/src/pages/lovelace/markdown-card.ts index b8e7f95c73..f6477d8230 100644 --- a/gallery/src/pages/lovelace/markdown-card.ts +++ b/gallery/src/pages/lovelace/markdown-card.ts @@ -1,9 +1,12 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + import { mockTemplate } from "../../../../demo/src/stubs/template"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; const CONFIGS = [ { diff --git a/gallery/src/pages/lovelace/media-control-card.ts b/gallery/src/pages/lovelace/media-control-card.ts index ecbe7c2ed6..19b5d59fb2 100644 --- a/gallery/src/pages/lovelace/media-control-card.ts +++ b/gallery/src/pages/lovelace/media-control-card.ts @@ -1,8 +1,11 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; import { createMediaPlayerEntities } from "../../data/media_players"; const CONFIGS = [ diff --git a/gallery/src/pages/lovelace/media-player-row.ts b/gallery/src/pages/lovelace/media-player-row.ts index 5562f7d8e0..2c9c1dc9c0 100644 --- a/gallery/src/pages/lovelace/media-player-row.ts +++ b/gallery/src/pages/lovelace/media-player-row.ts @@ -1,8 +1,11 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; import { createMediaPlayerEntities } from "../../data/media_players"; const CONFIGS = [ diff --git a/gallery/src/pages/lovelace/picture-card.ts b/gallery/src/pages/lovelace/picture-card.ts index 3d4c5ed0b1..fc704aa000 100644 --- a/gallery/src/pages/lovelace/picture-card.ts +++ b/gallery/src/pages/lovelace/picture-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("person", "paulus", "home", { diff --git a/gallery/src/pages/lovelace/picture-elements-card.ts b/gallery/src/pages/lovelace/picture-elements-card.ts index 8312def27d..9183f65df0 100644 --- a/gallery/src/pages/lovelace/picture-elements-card.ts +++ b/gallery/src/pages/lovelace/picture-elements-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "bed_light", "on", { diff --git a/gallery/src/pages/lovelace/picture-entity-card.ts b/gallery/src/pages/lovelace/picture-entity-card.ts index e0d9836c44..a9f75d3b1e 100644 --- a/gallery/src/pages/lovelace/picture-entity-card.ts +++ b/gallery/src/pages/lovelace/picture-entity-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("light", "kitchen_lights", "on", { diff --git a/gallery/src/pages/lovelace/picture-glance-card.ts b/gallery/src/pages/lovelace/picture-glance-card.ts index 0cb0c9d529..630383eeed 100644 --- a/gallery/src/pages/lovelace/picture-glance-card.ts +++ b/gallery/src/pages/lovelace/picture-glance-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("switch", "decorative_lights", "on", { diff --git a/gallery/src/pages/lovelace/plant-card.ts b/gallery/src/pages/lovelace/plant-card.ts index d2bdb26509..680c337bb2 100644 --- a/gallery/src/pages/lovelace/plant-card.ts +++ b/gallery/src/pages/lovelace/plant-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { createPlantEntities } from "../../data/plants"; + import { mockIcons } from "../../../../demo/src/stubs/icons"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; +import { createPlantEntities } from "../../data/plants"; const CONFIGS = [ { diff --git a/gallery/src/pages/lovelace/thermostat-card.ts b/gallery/src/pages/lovelace/thermostat-card.ts index dc0a572e59..f2f4d5af21 100644 --- a/gallery/src/pages/lovelace/thermostat-card.ts +++ b/gallery/src/pages/lovelace/thermostat-card.ts @@ -1,10 +1,13 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; const ENTITIES = [ getEntity("climate", "ecobee", "auto", { diff --git a/gallery/src/pages/lovelace/tile-card.ts b/gallery/src/pages/lovelace/tile-card.ts index ecfa9ca0b3..73b0a878c1 100644 --- a/gallery/src/pages/lovelace/tile-card.ts +++ b/gallery/src/pages/lovelace/tile-card.ts @@ -1,6 +1,12 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; +import { ClimateEntityFeature } from "../../../../src/data/climate"; import { CoverEntityFeature } from "../../../../src/data/cover"; import { LightColorMode } from "../../../../src/data/light"; import { LockEntityFeature } from "../../../../src/data/lock"; @@ -8,9 +14,6 @@ import { MediaPlayerEntityFeature } from "../../../../src/data/media-player"; import { VacuumEntityFeature } from "../../../../src/data/vacuum"; import { getEntity } from "../../../../src/fake_data/entity"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; -import { ClimateEntityFeature } from "../../../../src/data/climate"; const ENTITIES = [ getEntity("switch", "tv_outlet", "on", { diff --git a/gallery/src/pages/lovelace/todo-list-card.ts b/gallery/src/pages/lovelace/todo-list-card.ts index 2ed2d68ddd..67e22dc8ed 100644 --- a/gallery/src/pages/lovelace/todo-list-card.ts +++ b/gallery/src/pages/lovelace/todo-list-card.ts @@ -1,11 +1,14 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/demo-cards"; + import { html, LitElement } from "lit"; import { customElement, query } from "lit/decorators"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-cards"; -import { getEntity } from "../../../../src/fake_data/entity"; -import { mockTodo } from "../../../../demo/src/stubs/todo"; + import { mockIcons } from "../../../../demo/src/stubs/icons"; +import { mockTodo } from "../../../../demo/src/stubs/todo"; +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; const ENTITIES = [ getEntity("todo", "shopping_list", "2", { diff --git a/gallery/src/pages/misc/entity-state.ts b/gallery/src/pages/misc/entity-state.ts index d23fb48083..c64e57ea4f 100644 --- a/gallery/src/pages/misc/entity-state.ts +++ b/gallery/src/pages/misc/entity-state.ts @@ -1,18 +1,21 @@ +import type { DataTableColumnContainer } from "../../../../src/components/data-table/ha-data-table"; +import type { HomeAssistant } from "../../../../src/types"; import type { HassEntity, HassEntityAttributeBase, } from "home-assistant-js-websocket"; + +import "../../../../src/components/data-table/ha-data-table"; +import "../../../../src/components/entity/state-badge"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + +import { mockIcons } from "../../../../demo/src/stubs/icons"; import { computeDomain } from "../../../../src/common/entity/compute_domain"; import { computeStateDisplay } from "../../../../src/common/entity/compute_state_display"; -import "../../../../src/components/data-table/ha-data-table"; -import type { DataTableColumnContainer } from "../../../../src/components/data-table/ha-data-table"; -import "../../../../src/components/entity/state-badge"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import { mockIcons } from "../../../../demo/src/stubs/icons"; -import type { HomeAssistant } from "../../../../src/types"; const SENSOR_DEVICE_CLASSES = [ "apparent_power", diff --git a/gallery/src/pages/misc/ha-markdown.ts b/gallery/src/pages/misc/ha-markdown.ts index 3542b847e0..1fc392d9ae 100644 --- a/gallery/src/pages/misc/ha-markdown.ts +++ b/gallery/src/pages/misc/ha-markdown.ts @@ -1,7 +1,7 @@ -import { css, html, LitElement } from "lit"; import "../../../../src/components/ha-card"; import "../../../../src/components/ha-markdown"; +import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; interface MarkdownContent { diff --git a/gallery/src/pages/misc/integration-card.ts b/gallery/src/pages/misc/integration-card.ts index 11d513331b..2132bc0ea6 100644 --- a/gallery/src/pages/misc/integration-card.ts +++ b/gallery/src/pages/misc/integration-card.ts @@ -1,22 +1,23 @@ -import { css, html, LitElement, nothing } from "lit"; -import "../../../../src/components/ha-formfield"; -import "../../../../src/components/ha-switch"; - -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import type { IntegrationManifest } from "../../../../src/data/integration"; - import type { DeviceRegistryEntry } from "../../../../src/data/device_registry"; import type { EntityRegistryEntry } from "../../../../src/data/entity_registry"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../../../src/panels/config/integrations/ha-config-flow-card"; +import type { IntegrationManifest } from "../../../../src/data/integration"; import type { ConfigEntryExtended, DataEntryFlowProgressExtended, } from "../../../../src/panels/config/integrations/ha-config-integrations"; +import type { HomeAssistant } from "../../../../src/types"; + +import "../../../../src/components/ha-formfield"; +import "../../../../src/components/ha-switch"; +import "../../../../src/panels/config/integrations/ha-config-flow-card"; import "../../../../src/panels/config/integrations/ha-ignored-config-entry-card"; import "../../../../src/panels/config/integrations/ha-integration-card"; -import type { HomeAssistant } from "../../../../src/types"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { provideHass } from "../../../../src/fake_data/provide_hass"; const createConfigEntry = ( title: string, diff --git a/gallery/src/pages/misc/util-long-press.ts b/gallery/src/pages/misc/util-long-press.ts index e111919bb5..928c02a08d 100644 --- a/gallery/src/pages/misc/util-long-press.ts +++ b/gallery/src/pages/misc/util-long-press.ts @@ -1,9 +1,12 @@ -import "@material/mwc-button"; +import type { ActionHandlerEvent } from "../../../../src/data/lovelace/action_handler"; import type { TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; -import "../../../../src/components/ha-card"; -import type { ActionHandlerEvent } from "../../../../src/data/lovelace/action_handler"; + import { actionHandler } from "../../../../src/panels/lovelace/common/directives/action-handler-directive"; @customElement("demo-misc-util-long-press") diff --git a/gallery/src/pages/more-info/climate.ts b/gallery/src/pages/more-info/climate.ts index c6c44ea59d..bf3279cbe7 100644 --- a/gallery/src/pages/more-info/climate.ts +++ b/gallery/src/pages/more-info/climate.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; + +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + import { ClimateEntityFeature } from "../../../../src/data/climate"; +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; const ENTITIES = [ getEntity("climate", "radiator", "heat", { diff --git a/gallery/src/pages/more-info/cover.ts b/gallery/src/pages/more-info/cover.ts index 06f7563adb..7c0471b499 100644 --- a/gallery/src/pages/more-info/cover.ts +++ b/gallery/src/pages/more-info/cover.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/dialogs/more-info/more-info-content"; +import "../../components/demo-more-infos"; + import { html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; -import "../../../../src/components/ha-card"; + import { CoverEntityFeature } from "../../../../src/data/cover"; -import "../../../../src/dialogs/more-info/more-info-content"; import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-more-infos"; const ENTITIES = [ getEntity("cover", "position_buttons", "on", { diff --git a/gallery/src/pages/more-info/humidifier.ts b/gallery/src/pages/more-info/humidifier.ts index d256203998..2758f32bef 100644 --- a/gallery/src/pages/more-info/humidifier.ts +++ b/gallery/src/pages/more-info/humidifier.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; + const ENTITIES = [ getEntity("humidifier", "humidifier", "on", { friendly_name: "Humidifier", diff --git a/gallery/src/pages/more-info/input-number.ts b/gallery/src/pages/more-info/input-number.ts index cca595138e..d8d76a2b80 100644 --- a/gallery/src/pages/more-info/input-number.ts +++ b/gallery/src/pages/more-info/input-number.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; + const ENTITIES = [ getEntity("input_number", "box1", 0, { friendly_name: "Box1", diff --git a/gallery/src/pages/more-info/input-text.ts b/gallery/src/pages/more-info/input-text.ts index f3bfb4c852..ba3d5b8060 100644 --- a/gallery/src/pages/more-info/input-text.ts +++ b/gallery/src/pages/more-info/input-text.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; + const ENTITIES = [ getEntity("input_text", "text", "Inspiration", { friendly_name: "Text", diff --git a/gallery/src/pages/more-info/light.ts b/gallery/src/pages/more-info/light.ts index 91d8fd1429..32ff9fe28f 100644 --- a/gallery/src/pages/more-info/light.ts +++ b/gallery/src/pages/more-info/light.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/dialogs/more-info/more-info-content"; +import "../../components/demo-more-infos"; + import { html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; -import "../../../../src/components/ha-card"; + import { LightColorMode, LightEntityFeature } from "../../../../src/data/light"; -import "../../../../src/dialogs/more-info/more-info-content"; import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-more-infos"; const ENTITIES = [ getEntity("light", "bed_light", "on", { diff --git a/gallery/src/pages/more-info/lock.ts b/gallery/src/pages/more-info/lock.ts index cca5e729e1..39db79d107 100644 --- a/gallery/src/pages/more-info/lock.ts +++ b/gallery/src/pages/more-info/lock.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; + const ENTITIES = [ getEntity("lock", "lock", "locked", { friendly_name: "Lock", diff --git a/gallery/src/pages/more-info/media-player.ts b/gallery/src/pages/more-info/media-player.ts index 9af2d92a32..779027ed37 100644 --- a/gallery/src/pages/more-info/media-player.ts +++ b/gallery/src/pages/more-info/media-player.ts @@ -1,11 +1,14 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; + +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { provideHass } from "../../../../src/fake_data/provide_hass"; import { createMediaPlayerEntities } from "../../data/media_players"; const ENTITIES = createMediaPlayerEntities(); diff --git a/gallery/src/pages/more-info/number.ts b/gallery/src/pages/more-info/number.ts index 4cf8cdc663..2a49b12bfb 100644 --- a/gallery/src/pages/more-info/number.ts +++ b/gallery/src/pages/more-info/number.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; + const ENTITIES = [ getEntity("number", "box1", 0, { friendly_name: "Box1", diff --git a/gallery/src/pages/more-info/scene.ts b/gallery/src/pages/more-info/scene.ts index b3a5c13580..322e1d3271 100644 --- a/gallery/src/pages/more-info/scene.ts +++ b/gallery/src/pages/more-info/scene.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; + const ENTITIES = [ getEntity("scene", "romantic_lights", "scening", { entity_id: ["light.bed_light", "light.ceiling_lights"], diff --git a/gallery/src/pages/more-info/timer.ts b/gallery/src/pages/more-info/timer.ts index 19506eacfe..f0cd394352 100644 --- a/gallery/src/pages/more-info/timer.ts +++ b/gallery/src/pages/more-info/timer.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; + const ENTITIES = [ getEntity("timer", "timer", "idle", { friendly_name: "Timer", diff --git a/gallery/src/pages/more-info/update.ts b/gallery/src/pages/more-info/update.ts index 7507f3fcd5..700c4c2c75 100644 --- a/gallery/src/pages/more-info/update.ts +++ b/gallery/src/pages/more-info/update.ts @@ -1,14 +1,17 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; -import { LONG_TEXT } from "../../data/text"; + +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + import { UpdateEntityFeature } from "../../../../src/data/update"; +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; +import { LONG_TEXT } from "../../data/text"; const base_attributes = { title: "Awesome", diff --git a/gallery/src/pages/more-info/vacuum.ts b/gallery/src/pages/more-info/vacuum.ts index 036cc07818..407b323770 100644 --- a/gallery/src/pages/more-info/vacuum.ts +++ b/gallery/src/pages/more-info/vacuum.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "../../../../src/components/ha-card"; import "../../../../src/dialogs/more-info/more-info-content"; -import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; -import { provideHass } from "../../../../src/fake_data/provide_hass"; import "../../components/demo-more-infos"; + +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + import { VacuumEntityFeature } from "../../../../src/data/vacuum"; +import { getEntity } from "../../../../src/fake_data/entity"; +import { provideHass } from "../../../../src/fake_data/provide_hass"; const ENTITIES = [ getEntity("vacuum", "first_floor_vacuum", "docked", { diff --git a/gallery/src/pages/more-info/water-heater.ts b/gallery/src/pages/more-info/water-heater.ts index 31615b2c1a..aa7dafa51b 100644 --- a/gallery/src/pages/more-info/water-heater.ts +++ b/gallery/src/pages/more-info/water-heater.ts @@ -1,13 +1,16 @@ +import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../../src/components/ha-card"; +import "../../../../src/dialogs/more-info/more-info-content"; +import "../../components/demo-more-infos"; + import { html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; -import "../../../../src/components/ha-card"; + import { WaterHeaterEntityFeature } from "../../../../src/data/water_heater"; -import "../../../../src/dialogs/more-info/more-info-content"; import { getEntity } from "../../../../src/fake_data/entity"; -import type { MockHomeAssistant } from "../../../../src/fake_data/provide_hass"; import { provideHass } from "../../../../src/fake_data/provide_hass"; -import "../../components/demo-more-infos"; const ENTITIES = [ getEntity("water_heater", "basic", "eco", { diff --git a/hassio/src/addon-store/hassio-addon-repository.ts b/hassio/src/addon-store/hassio-addon-repository.ts index 59ceab9990..9b731a7240 100644 --- a/hassio/src/addon-store/hassio-addon-repository.ts +++ b/hassio/src/addon-store/hassio-addon-repository.ts @@ -1,17 +1,20 @@ -import { mdiArrowUpBoldCircle, mdiPuzzle } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { atLeastVersion } from "../../../src/common/config/version"; -import { navigate } from "../../../src/common/navigate"; -import { caseInsensitiveStringCompare } from "../../../src/common/string/compare"; -import "../../../src/components/ha-card"; import type { HassioAddonRepository } from "../../../src/data/hassio/addon"; import type { StoreAddon } from "../../../src/data/supervisor/store"; import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import type { HomeAssistant } from "../../../src/types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../src/components/ha-card"; import "../components/hassio-card-content"; + +import { mdiArrowUpBoldCircle, mdiPuzzle } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { atLeastVersion } from "../../../src/common/config/version"; +import { navigate } from "../../../src/common/navigate"; +import { caseInsensitiveStringCompare } from "../../../src/common/string/compare"; import { filterAndSort } from "../components/hassio-filter-addons"; import { hassioStyle } from "../resources/hassio-style"; diff --git a/hassio/src/addon-store/hassio-addon-store.ts b/hassio/src/addon-store/hassio-addon-store.ts index e33ec23208..6ea5b7fc0b 100644 --- a/hassio/src/addon-store/hassio-addon-store.ts +++ b/hassio/src/addon-store/hassio-addon-store.ts @@ -1,29 +1,32 @@ +import type { HassioAddonRepository } from "../../../src/data/hassio/addon"; +import type { StoreAddon } from "../../../src/data/supervisor/store"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant, Route } from "../../../src/types"; import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; -import "@material/mwc-list/mwc-list-item"; -import { mdiDotsVertical } from "@mdi/js"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../src/components/ha-button-menu"; +import "../../../src/components/ha-icon-button"; +import "../../../src/components/search-input"; +import "../../../src/layouts/hass-loading-screen"; +import "../../../src/layouts/hass-subpage"; +import "./hassio-addon-repository"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiDotsVertical } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { atLeastVersion } from "../../../src/common/config/version"; import { fireEvent } from "../../../src/common/dom/fire_event"; import { navigate } from "../../../src/common/navigate"; import { extractSearchParam } from "../../../src/common/url/search-params"; -import "../../../src/components/ha-button-menu"; -import "../../../src/components/ha-icon-button"; -import "../../../src/components/search-input"; -import type { HassioAddonRepository } from "../../../src/data/hassio/addon"; import { reloadHassioAddons } from "../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; -import type { StoreAddon } from "../../../src/data/supervisor/store"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; -import "../../../src/layouts/hass-loading-screen"; -import "../../../src/layouts/hass-subpage"; -import type { HomeAssistant, Route } from "../../../src/types"; import { showRegistriesDialog } from "../dialogs/registries/show-dialog-registries"; import { showRepositoriesDialog } from "../dialogs/repositories/show-dialog-repositories"; -import "./hassio-addon-repository"; const sortRepos = (a: HassioAddonRepository, b: HassioAddonRepository) => { if (a.slug === "local") { diff --git a/hassio/src/addon-view/config/hassio-addon-audio.ts b/hassio/src/addon-view/config/hassio-addon-audio.ts index 9146f5924a..d5c191bc9f 100644 --- a/hassio/src/addon-view/config/hassio-addon-audio.ts +++ b/hassio/src/addon-view/config/hassio-addon-audio.ts @@ -1,23 +1,26 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list-item"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { stopPropagation } from "../../../../src/common/dom/stop_propagation"; -import "../../../../src/components/buttons/ha-progress-button"; -import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-select"; import type { HassioAddonDetails, HassioAddonSetOptionParams, } from "../../../../src/data/hassio/addon"; -import { setHassioAddonOption } from "../../../../src/data/hassio/addon"; import type { HassioHardwareAudioDevice } from "../../../../src/data/hassio/hardware"; -import { fetchHassioHardwareAudio } from "../../../../src/data/hassio/hardware"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; -import { haStyle } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/ha-alert"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-select"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../../src/common/dom/stop_propagation"; +import { setHassioAddonOption } from "../../../../src/data/hassio/addon"; +import { fetchHassioHardwareAudio } from "../../../../src/data/hassio/hardware"; +import { haStyle } from "../../../../src/resources/styles"; import { suggestAddonRestart } from "../../dialogs/suggestAddonRestart"; import { hassioStyle } from "../../resources/hassio-style"; diff --git a/hassio/src/addon-view/config/hassio-addon-config-tab.ts b/hassio/src/addon-view/config/hassio-addon-config-tab.ts index 6aa4cdd446..1fc6d408bc 100644 --- a/hassio/src/addon-view/config/hassio-addon-config-tab.ts +++ b/hassio/src/addon-view/config/hassio-addon-config-tab.ts @@ -1,16 +1,19 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../../src/components/ha-spinner"; import type { HassioAddonDetails } from "../../../../src/data/hassio/addon"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; -import { haStyle } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; -import { hassioStyle } from "../../resources/hassio-style"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../src/components/ha-spinner"; import "./hassio-addon-audio"; import "./hassio-addon-config"; import "./hassio-addon-network"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { haStyle } from "../../../../src/resources/styles"; +import { hassioStyle } from "../../resources/hassio-style"; + @customElement("hassio-addon-config-tab") class HassioAddonConfigDashboard extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/hassio/src/addon-view/config/hassio-addon-config.ts b/hassio/src/addon-view/config/hassio-addon-config.ts index bd0b3ab5a2..1ab9daf0d6 100644 --- a/hassio/src/addon-view/config/hassio-addon-config.ts +++ b/hassio/src/addon-view/config/hassio-addon-config.ts @@ -1,37 +1,40 @@ -import "@material/mwc-button"; -import type { ActionDetail } from "@material/mwc-list"; -import "@material/mwc-list/mwc-list-item"; -import { mdiDotsVertical } from "@mdi/js"; -import { DEFAULT_SCHEMA, Type } from "js-yaml"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; -import "../../../../src/components/buttons/ha-progress-button"; -import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-button-menu"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-form/ha-form"; import type { HaFormSchema } from "../../../../src/components/ha-form/types"; -import "../../../../src/components/ha-formfield"; -import "../../../../src/components/ha-icon-button"; -import "../../../../src/components/ha-switch"; -import "../../../../src/components/ha-yaml-editor"; import type { HaYamlEditor } from "../../../../src/components/ha-yaml-editor"; import type { HassioAddonDetails, HassioAddonSetOptionParams, } from "../../../../src/data/hassio/addon"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../../src/types"; +import type { ActionDetail } from "@material/mwc-list"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/ha-alert"; +import "../../../../src/components/ha-button-menu"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-form/ha-form"; +import "../../../../src/components/ha-formfield"; +import "../../../../src/components/ha-icon-button"; +import "../../../../src/components/ha-switch"; +import "../../../../src/components/ha-yaml-editor"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiDotsVertical } from "@mdi/js"; +import { DEFAULT_SCHEMA, Type } from "js-yaml"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../src/common/dom/fire_event"; import { setHassioAddonOption, validateHassioAddonOption, } from "../../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { showConfirmationDialog } from "../../../../src/dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; import { suggestAddonRestart } from "../../dialogs/suggestAddonRestart"; import { hassioStyle } from "../../resources/hassio-style"; diff --git a/hassio/src/addon-view/config/hassio-addon-network.ts b/hassio/src/addon-view/config/hassio-addon-network.ts index 96d5d2f307..0cd5c53b35 100644 --- a/hassio/src/addon-view/config/hassio-addon-network.ts +++ b/hassio/src/addon-view/config/hassio-addon-network.ts @@ -1,22 +1,25 @@ -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; -import "../../../../src/components/buttons/ha-progress-button"; -import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/ha-form/ha-form"; import type { HaFormSchema } from "../../../../src/components/ha-form/types"; import type { HassioAddonDetails, HassioAddonSetOptionParams, } from "../../../../src/data/hassio/addon"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../../src/types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/ha-alert"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-form/ha-form"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../src/common/dom/fire_event"; import { setHassioAddonOption } from "../../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { haStyle } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; import { suggestAddonRestart } from "../../dialogs/suggestAddonRestart"; import { hassioStyle } from "../../resources/hassio-style"; diff --git a/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts b/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts index 4b5784f544..5f4c9dc447 100644 --- a/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts +++ b/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts @@ -1,18 +1,21 @@ -import "../../../../src/components/ha-card"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-spinner"; -import "../../../../src/components/ha-markdown"; -import { customElement, property, state } from "lit/decorators"; import type { HassioAddonDetails } from "../../../../src/data/hassio/addon"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../../src/types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../src/components/ha-alert"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-markdown"; +import "../../../../src/components/ha-spinner"; +import "../../../../src/layouts/hass-loading-screen"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { fetchHassioAddonDocumentation } from "../../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; -import "../../../../src/layouts/hass-loading-screen"; import { haStyle } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; import { hassioStyle } from "../../resources/hassio-style"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; @customElement("hassio-addon-documentation-tab") class HassioAddonDocumentationDashboard extends LitElement { diff --git a/hassio/src/addon-view/hassio-addon-dashboard.ts b/hassio/src/addon-view/hassio-addon-dashboard.ts index dc5cdb5d66..89fcdb2b39 100644 --- a/hassio/src/addon-view/hassio-addon-dashboard.ts +++ b/hassio/src/addon-view/hassio-addon-dashboard.ts @@ -1,42 +1,45 @@ +import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; +import type { StoreAddonDetails } from "../../../src/data/supervisor/store"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { PageNavigation } from "../../../src/layouts/hass-tabs-subpage"; +import type { HomeAssistant, Route } from "../../../src/types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../src/layouts/hass-error-screen"; +import "../../../src/layouts/hass-loading-screen"; +import "../../../src/layouts/hass-tabs-subpage"; +import "./config/hassio-addon-audio"; +import "./config/hassio-addon-config"; +import "./config/hassio-addon-network"; +import "./hassio-addon-router"; +import "./info/hassio-addon-info"; + import { mdiCogs, mdiFileDocument, mdiInformationVariant, mdiMathLog, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../src/common/dom/fire_event"; import { navigate } from "../../../src/common/navigate"; import { extractSearchParam } from "../../../src/common/url/search-params"; -import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; import { fetchAddonInfo, fetchHassioAddonInfo, fetchHassioAddonsInfo, } from "../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; -import type { StoreAddonDetails } from "../../../src/data/supervisor/store"; import { addStoreRepository, fetchSupervisorStore, } from "../../../src/data/supervisor/store"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showConfirmationDialog } from "../../../src/dialogs/generic/show-dialog-box"; -import "../../../src/layouts/hass-error-screen"; -import "../../../src/layouts/hass-loading-screen"; -import "../../../src/layouts/hass-tabs-subpage"; -import type { PageNavigation } from "../../../src/layouts/hass-tabs-subpage"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant, Route } from "../../../src/types"; import { hassioStyle } from "../resources/hassio-style"; -import "./config/hassio-addon-audio"; -import "./config/hassio-addon-config"; -import "./config/hassio-addon-network"; -import "./hassio-addon-router"; -import "./info/hassio-addon-info"; @customElement("hassio-addon-dashboard") class HassioAddonDashboard extends LitElement { diff --git a/hassio/src/addon-view/hassio-addon-router.ts b/hassio/src/addon-view/hassio-addon-router.ts index de2c5aa1fd..0a4b8f65fc 100644 --- a/hassio/src/addon-view/hassio-addon-router.ts +++ b/hassio/src/addon-view/hassio-addon-router.ts @@ -1,16 +1,19 @@ -import { customElement, property } from "lit/decorators"; import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; import type { StoreAddonDetails } from "../../../src/data/supervisor/store"; import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import type { RouterOptions } from "../../../src/layouts/hass-router-page"; -import { HassRouterPage } from "../../../src/layouts/hass-router-page"; import type { HomeAssistant } from "../../../src/types"; + import "./config/hassio-addon-config-tab"; import "./documentation/hassio-addon-documentation-tab"; // Don't codesplit the others, because it breaks the UI when pushed to a Pi import "./info/hassio-addon-info-tab"; import "./log/hassio-addon-log-tab"; +import { customElement, property } from "lit/decorators"; + +import { HassRouterPage } from "../../../src/layouts/hass-router-page"; + @customElement("hassio-addon-router") class HassioAddonRouter extends HassRouterPage { @property({ type: Boolean }) public narrow = false; diff --git a/hassio/src/addon-view/info/hassio-addon-info-tab.ts b/hassio/src/addon-view/info/hassio-addon-info-tab.ts index e7d5120665..610889530f 100644 --- a/hassio/src/addon-view/info/hassio-addon-info-tab.ts +++ b/hassio/src/addon-view/info/hassio-addon-info-tab.ts @@ -1,14 +1,17 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../../src/components/ha-spinner"; import type { HassioAddonDetails } from "../../../../src/data/hassio/addon"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; -import { haStyle } from "../../../../src/resources/styles"; import type { HomeAssistant, Route } from "../../../../src/types"; -import { hassioStyle } from "../../resources/hassio-style"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../src/components/ha-spinner"; import "./hassio-addon-info"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { haStyle } from "../../../../src/resources/styles"; +import { hassioStyle } from "../../resources/hassio-style"; + @customElement("hassio-addon-info-tab") class HassioAddonInfoDashboard extends LitElement { @property({ type: Boolean }) public narrow = false; diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index 02e1f627df..083b3eb372 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -1,4 +1,34 @@ +import type { HaSwitch } from "../../../../src/components/ha-switch"; +import type { + AddonCapability, + HassioAddonDetails, + HassioAddonSetOptionParams, + HassioAddonSetSecurityParams, +} from "../../../../src/data/hassio/addon"; +import type { HassioStats } from "../../../../src/data/hassio/common"; +import type { + StoreAddon, + StoreAddonDetails, +} from "../../../../src/data/supervisor/store"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HomeAssistant, Route } from "../../../../src/types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/chips/ha-assist-chip"; +import "../../../../src/components/chips/ha-chip-set"; +import "../../../../src/components/ha-alert"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-formfield"; +import "../../../../src/components/ha-markdown"; +import "../../../../src/components/ha-settings-row"; +import "../../../../src/components/ha-svg-icon"; +import "../../../../src/components/ha-switch"; +import "../../components/hassio-card-content"; +import "../../components/supervisor-metric"; +import "../../update-available/update-available-card"; import "@material/mwc-button"; + import { mdiCheckCircle, mdiChip, @@ -22,31 +52,15 @@ import { mdiPound, mdiShield, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; + import { atLeastVersion } from "../../../../src/common/config/version"; import { fireEvent } from "../../../../src/common/dom/fire_event"; import { navigate } from "../../../../src/common/navigate"; -import "../../../../src/components/buttons/ha-progress-button"; -import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-card"; -import "../../../../src/components/chips/ha-chip-set"; -import "../../../../src/components/chips/ha-assist-chip"; -import "../../../../src/components/ha-markdown"; -import "../../../../src/components/ha-settings-row"; -import "../../../../src/components/ha-svg-icon"; -import "../../../../src/components/ha-switch"; -import "../../../../src/components/ha-formfield"; -import type { HaSwitch } from "../../../../src/components/ha-switch"; -import type { - AddonCapability, - HassioAddonDetails, - HassioAddonSetOptionParams, - HassioAddonSetSecurityParams, -} from "../../../../src/data/hassio/addon"; +import { capitalizeFirstLetter } from "../../../../src/common/string/capitalize-first-letter"; import { fetchHassioAddonChangelog, fetchHassioAddonInfo, @@ -60,31 +74,20 @@ import { uninstallHassioAddon, validateHassioAddonOption, } from "../../../../src/data/hassio/addon"; -import type { HassioStats } from "../../../../src/data/hassio/common"; import { extractApiErrorMessage, fetchHassioStats, } from "../../../../src/data/hassio/common"; -import type { - StoreAddon, - StoreAddonDetails, -} from "../../../../src/data/supervisor/store"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, } from "../../../../src/dialogs/generic/show-dialog-box"; import { mdiHomeAssistant } from "../../../../src/resources/home-assistant-logo-svg"; import { haStyle } from "../../../../src/resources/styles"; -import type { HomeAssistant, Route } from "../../../../src/types"; import { bytesToString } from "../../../../src/util/bytes-to-string"; -import "../../components/hassio-card-content"; -import "../../components/supervisor-metric"; import { showHassioMarkdownDialog } from "../../dialogs/markdown/show-dialog-hassio-markdown"; import { hassioStyle } from "../../resources/hassio-style"; -import "../../update-available/update-available-card"; import { addonArchIsSupported, extractChangelog } from "../../util/addon"; -import { capitalizeFirstLetter } from "../../../../src/common/string/capitalize-first-letter"; const STAGE_ICON = { stable: mdiCheckCircle, diff --git a/hassio/src/addon-view/log/hassio-addon-log-tab.ts b/hassio/src/addon-view/log/hassio-addon-log-tab.ts index 2a2e05da05..73528d2a4c 100644 --- a/hassio/src/addon-view/log/hassio-addon-log-tab.ts +++ b/hassio/src/addon-view/log/hassio-addon-log-tab.ts @@ -1,3 +1,11 @@ +import type { HassioAddonDetails } from "../../../../src/data/hassio/addon"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../../src/types"; + +import "../../../../src/components/ha-spinner"; +import "../../../../src/components/search-input"; +import "../../../../src/panels/config/logs/error-log-card"; + import { css, type CSSResultGroup, @@ -6,15 +14,10 @@ import { type TemplateResult, } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../../src/components/ha-spinner"; -import type { HassioAddonDetails } from "../../../../src/data/hassio/addon"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; -import { haStyle } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import { hassioStyle } from "../../resources/hassio-style"; -import "../../../../src/panels/config/logs/error-log-card"; -import "../../../../src/components/search-input"; + import { extractSearchParam } from "../../../../src/common/url/search-params"; +import { haStyle } from "../../../../src/resources/styles"; +import { hassioStyle } from "../../resources/hassio-style"; @customElement("hassio-addon-log-tab") class HassioAddonLogDashboard extends LitElement { diff --git a/hassio/src/backups/hassio-backups.ts b/hassio/src/backups/hassio-backups.ts index 57c5fba4bf..ff011e6097 100644 --- a/hassio/src/backups/hassio-backups.ts +++ b/hassio/src/backups/hassio-backups.ts @@ -1,25 +1,33 @@ -import "@material/mwc-button"; -import type { ActionDetail } from "@material/mwc-list"; -import "@material/mwc-list/mwc-list-item"; -import { mdiBackupRestore, mdiDelete, mdiDotsVertical, mdiPlus } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import { atLeastVersion } from "../../../src/common/config/version"; -import { relativeTime } from "../../../src/common/datetime/relative_time"; import type { HASSDomEvent } from "../../../src/common/dom/fire_event"; import type { DataTableColumnContainer, RowClickedEvent, SelectionChangedEvent, } from "../../../src/components/data-table/ha-data-table"; +import type { HassioBackup } from "../../../src/data/hassio/backup"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HaTabsSubpageDataTable } from "../../../src/layouts/hass-tabs-subpage-data-table"; +import type { HomeAssistant, Route } from "../../../src/types"; +import type { ActionDetail } from "@material/mwc-list"; +import type { CSSResultGroup, PropertyValues } from "lit"; + import "../../../src/components/ha-button-menu"; import "../../../src/components/ha-fab"; import "../../../src/components/ha-icon-button"; import "../../../src/components/ha-svg-icon"; -import type { HassioBackup } from "../../../src/data/hassio/backup"; +import "../../../src/layouts/hass-loading-screen"; +import "../../../src/layouts/hass-tabs-subpage-data-table"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiBackupRestore, mdiDelete, mdiDotsVertical, mdiPlus } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { atLeastVersion } from "../../../src/common/config/version"; +import { relativeTime } from "../../../src/common/datetime/relative_time"; import { fetchHassioBackups, friendlyFolderName, @@ -27,22 +35,17 @@ import { removeBackup, } from "../../../src/data/hassio/backup"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, } from "../../../src/dialogs/generic/show-dialog-box"; -import "../../../src/layouts/hass-tabs-subpage-data-table"; -import type { HaTabsSubpageDataTable } from "../../../src/layouts/hass-tabs-subpage-data-table"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant, Route } from "../../../src/types"; import { showBackupUploadDialog } from "../dialogs/backup/show-dialog-backup-upload"; import { showHassioBackupLocationDialog } from "../dialogs/backup/show-dialog-hassio-backu-location"; import { showHassioBackupDialog } from "../dialogs/backup/show-dialog-hassio-backup"; import { showHassioCreateBackupDialog } from "../dialogs/backup/show-dialog-hassio-create-backup"; import { supervisorTabs } from "../hassio-tabs"; import { hassioStyle } from "../resources/hassio-style"; -import "../../../src/layouts/hass-loading-screen"; type BackupItem = HassioBackup & { secondary: string; diff --git a/hassio/src/components/hassio-card-content.ts b/hassio/src/components/hassio-card-content.ts index dc40207d98..af7359522a 100644 --- a/hassio/src/components/hassio-card-content.ts +++ b/hassio/src/components/hassio-card-content.ts @@ -1,9 +1,11 @@ -import { mdiHelpCircle } from "@mdi/js"; +import type { HomeAssistant } from "../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../src/components/ha-svg-icon"; + +import { mdiHelpCircle } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../src/components/ha-svg-icon"; -import type { HomeAssistant } from "../../../src/types"; @customElement("hassio-card-content") class HassioCardContent extends LitElement { diff --git a/hassio/src/components/hassio-filter-addons.ts b/hassio/src/components/hassio-filter-addons.ts index 21e5d0e29f..bd7516280a 100644 --- a/hassio/src/components/hassio-filter-addons.ts +++ b/hassio/src/components/hassio-filter-addons.ts @@ -1,6 +1,7 @@ -import type { IFuseOptions } from "fuse.js"; -import Fuse from "fuse.js"; import type { StoreAddon } from "../../../src/data/supervisor/store"; +import type { IFuseOptions } from "fuse.js"; + +import Fuse from "fuse.js"; export function filterAndSort(addons: StoreAddon[], filter: string) { const options: IFuseOptions = { diff --git a/hassio/src/components/hassio-upload-backup.ts b/hassio/src/components/hassio-upload-backup.ts index fee23e10a9..d84656498e 100644 --- a/hassio/src/components/hassio-upload-backup.ts +++ b/hassio/src/components/hassio-upload-backup.ts @@ -1,15 +1,18 @@ -import { mdiFolderUpload } from "@mdi/js"; +import type { LocalizeFunc } from "../../../src/common/translations/localize"; +import type { HassioBackup } from "../../../src/data/hassio/backup"; +import type { HomeAssistant } from "../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../src/components/ha-file-upload"; + +import { mdiFolderUpload } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../src/common/dom/fire_event"; -import "../../../src/components/ha-file-upload"; -import type { HassioBackup } from "../../../src/data/hassio/backup"; import { uploadBackup } from "../../../src/data/hassio/backup"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../src/types"; -import type { LocalizeFunc } from "../../../src/common/translations/localize"; declare global { interface HASSDomEvents { diff --git a/hassio/src/components/supervisor-backup-content.ts b/hassio/src/components/supervisor-backup-content.ts index 422d8452eb..52a7bdf784 100644 --- a/hassio/src/components/supervisor-backup-content.ts +++ b/hassio/src/components/supervisor-backup-content.ts @@ -1,26 +1,29 @@ -import { mdiFolder, mdiPuzzle } from "@mdi/js"; -import type { TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { atLeastVersion } from "../../../src/common/config/version"; -import { formatDate } from "../../../src/common/datetime/format_date"; -import { formatDateTime } from "../../../src/common/datetime/format_date_time"; -import "../../../src/components/ha-checkbox"; -import "../../../src/components/ha-formfield"; -import "../../../src/components/ha-textfield"; -import "../../../src/components/ha-password-field"; -import "../../../src/components/ha-radio"; import type { HaRadio } from "../../../src/components/ha-radio"; +import type { HaTextField } from "../../../src/components/ha-textfield"; import type { HassioBackupDetail, HassioFullBackupCreateParams, HassioPartialBackupCreateParams, } from "../../../src/data/hassio/backup"; import type { Supervisor } from "../../../src/data/supervisor/supervisor"; -import { mdiHomeAssistant } from "../../../src/resources/home-assistant-logo-svg"; import type { HomeAssistant } from "../../../src/types"; +import type { TemplateResult } from "lit"; + +import "../../../src/components/ha-checkbox"; +import "../../../src/components/ha-formfield"; +import "../../../src/components/ha-password-field"; +import "../../../src/components/ha-radio"; +import "../../../src/components/ha-textfield"; import "./supervisor-formfield-label"; -import type { HaTextField } from "../../../src/components/ha-textfield"; + +import { mdiFolder, mdiPuzzle } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { atLeastVersion } from "../../../src/common/config/version"; +import { formatDate } from "../../../src/common/datetime/format_date"; +import { formatDateTime } from "../../../src/common/datetime/format_date_time"; +import { mdiHomeAssistant } from "../../../src/resources/home-assistant-logo-svg"; interface CheckboxItem { slug: string; diff --git a/hassio/src/components/supervisor-formfield-label.ts b/hassio/src/components/supervisor-formfield-label.ts index ce04c6d8d6..dd5c171fc0 100644 --- a/hassio/src/components/supervisor-formfield-label.ts +++ b/hassio/src/components/supervisor-formfield-label.ts @@ -1,7 +1,9 @@ import type { TemplateResult } from "lit"; + +import "../../../src/components/ha-svg-icon"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../src/components/ha-svg-icon"; @customElement("supervisor-formfield-label") class SupervisorFormfieldLabel extends LitElement { diff --git a/hassio/src/components/supervisor-metric.ts b/hassio/src/components/supervisor-metric.ts index 19c33cfbc8..f00d2a89b2 100644 --- a/hassio/src/components/supervisor-metric.ts +++ b/hassio/src/components/supervisor-metric.ts @@ -1,9 +1,12 @@ import type { TemplateResult } from "lit"; + +import "../../../src/components/ha-bar"; +import "../../../src/components/ha-settings-row"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import "../../../src/components/ha-bar"; -import "../../../src/components/ha-settings-row"; + import { roundWithOneDecimal } from "../../../src/util/calculate"; @customElement("supervisor-metric") diff --git a/hassio/src/dashboard/hassio-addons.ts b/hassio/src/dashboard/hassio-addons.ts index d83c8a0f0b..a8670e1a65 100644 --- a/hassio/src/dashboard/hassio-addons.ts +++ b/hassio/src/dashboard/hassio-addons.ts @@ -1,18 +1,21 @@ -import { mdiArrowUpBoldCircle, mdiPuzzle } from "@mdi/js"; +import type { HassioAddonInfo } from "../../../src/data/hassio/addon"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../src/types"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../src/components/ha-card"; +import "../../../src/components/search-input"; +import "../components/hassio-card-content"; + +import { mdiArrowUpBoldCircle, mdiPuzzle } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { atLeastVersion } from "../../../src/common/config/version"; import { navigate } from "../../../src/common/navigate"; import { caseInsensitiveStringCompare } from "../../../src/common/string/compare"; -import "../../../src/components/ha-card"; -import "../../../src/components/search-input"; -import type { HassioAddonInfo } from "../../../src/data/hassio/addon"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant } from "../../../src/types"; -import "../components/hassio-card-content"; import { hassioStyle } from "../resources/hassio-style"; @customElement("hassio-addons") diff --git a/hassio/src/dashboard/hassio-dashboard.ts b/hassio/src/dashboard/hassio-dashboard.ts index 531f171541..2646f003c2 100644 --- a/hassio/src/dashboard/hassio-dashboard.ts +++ b/hassio/src/dashboard/hassio-dashboard.ts @@ -1,21 +1,24 @@ -import { mdiRefresh, mdiStorePlus } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; -import { atLeastVersion } from "../../../src/common/config/version"; -import { fireEvent } from "../../../src/common/dom/fire_event"; -import "../../../src/components/ha-fab"; -import { reloadHassioAddons } from "../../../src/data/hassio/addon"; -import { extractApiErrorMessage } from "../../../src/data/hassio/common"; import type { Supervisor } from "../../../src/data/supervisor/supervisor"; -import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; +import type { HomeAssistant, Route } from "../../../src/types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../src/components/ha-fab"; import "../../../src/layouts/hass-subpage"; import "../../../src/layouts/hass-tabs-subpage"; -import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant, Route } from "../../../src/types"; -import { supervisorTabs } from "../hassio-tabs"; import "./hassio-addons"; +import { mdiRefresh, mdiStorePlus } from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { atLeastVersion } from "../../../src/common/config/version"; +import { fireEvent } from "../../../src/common/dom/fire_event"; +import { reloadHassioAddons } from "../../../src/data/hassio/addon"; +import { extractApiErrorMessage } from "../../../src/data/hassio/common"; +import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../src/resources/styles"; +import { supervisorTabs } from "../hassio-tabs"; + @customElement("hassio-dashboard") class HassioDashboard extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index 4c0a436662..3320950b1d 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -1,21 +1,24 @@ -import "@material/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import "../../../src/components/buttons/ha-progress-button"; -import "../../../src/components/ha-card"; -import "../../../src/components/ha-settings-row"; -import "../../../src/components/ha-svg-icon"; import type { HassioHassOSInfo } from "../../../src/data/hassio/host"; import type { HassioHomeAssistantInfo, HassioSupervisorInfo, } from "../../../src/data/hassio/supervisor"; import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../src/types"; +import type { CSSResultGroup } from "lit"; + +import "../../../src/components/buttons/ha-progress-button"; +import "../../../src/components/ha-card"; +import "../../../src/components/ha-settings-row"; +import "../../../src/components/ha-svg-icon"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + import { mdiHomeAssistant } from "../../../src/resources/home-assistant-logo-svg"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant } from "../../../src/types"; import { hassioStyle } from "../resources/hassio-style"; const computeVersion = (key: string, version: string): string => diff --git a/hassio/src/dialogs/backup/dialog-hassio-backup-location.ts b/hassio/src/dialogs/backup/dialog-hassio-backup-location.ts index aaa176019c..0254144dc6 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-backup-location.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-backup-location.ts @@ -1,17 +1,20 @@ -import "@material/mwc-button/mwc-button"; +import type { SchemaUnion } from "../../../../src/components/ha-form/types"; +import type { HomeAssistant } from "../../../../src/types"; +import type { HassioBackupLocationDialogParams } from "./show-dialog-hassio-backu-location"; import type { CSSResultGroup } from "lit"; + +import "../../../../src/components/ha-dialog"; +import "../../../../src/components/ha-form/ha-form"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../src/common/dom/fire_event"; -import "../../../../src/components/ha-dialog"; -import "../../../../src/components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../src/components/ha-form/types"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { changeMountOptions } from "../../../../src/data/supervisor/mounts"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import type { HassioBackupLocationDialogParams } from "./show-dialog-hassio-backu-location"; const SCHEMA = memoizeOne( () => diff --git a/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts b/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts index f96ac681f7..c2da08d6b9 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts @@ -1,16 +1,19 @@ -import { mdiClose } from "@mdi/js"; +import type { HassDialog } from "../../../../src/dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../src/types"; +import type { HassioBackupUploadDialogParams } from "./show-dialog-backup-upload"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; + +import "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-header-bar"; import "../../../../src/components/ha-icon-button"; -import "../../../../src/components/ha-dialog"; -import type { HassDialog } from "../../../../src/dialogs/make-dialog-manager"; -import { haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; import "../../components/hassio-upload-backup"; -import type { HassioBackupUploadDialogParams } from "./show-dialog-backup-upload"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../src/common/dom/fire_event"; +import { haStyleDialog } from "../../../../src/resources/styles"; @customElement("dialog-hassio-backup-upload") export class DialogHassioBackupUpload diff --git a/hassio/src/dialogs/backup/dialog-hassio-backup.ts b/hassio/src/dialogs/backup/dialog-hassio-backup.ts index 7be8b0d1be..7f137fc9d0 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-backup.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-backup.ts @@ -1,24 +1,33 @@ +import type { HaMdDialog } from "../../../../src/components/ha-md-dialog"; +import type { HassioBackupDetail } from "../../../../src/data/hassio/backup"; +import type { HassDialog } from "../../../../src/dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../src/types"; +import type { SupervisorBackupContent } from "../../components/supervisor-backup-content"; +import type { HassioBackupDialogParams } from "./show-dialog-hassio-backup"; import type { ActionDetail } from "@material/mwc-list"; -import "@material/mwc-list/mwc-list-item"; -import { mdiClose, mdiDotsVertical } from "@mdi/js"; import type { CSSResultGroup } from "lit"; + +import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/ha-alert"; +import "../../../../src/components/ha-button"; +import "../../../../src/components/ha-button-menu"; +import "../../../../src/components/ha-dialog-header"; +import "../../../../src/components/ha-header-bar"; +import "../../../../src/components/ha-icon-button"; +import "../../../../src/components/ha-md-dialog"; +import "../../../../src/components/ha-spinner"; +import "../../components/supervisor-backup-content"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiClose, mdiDotsVertical } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { atLeastVersion } from "../../../../src/common/config/version"; import { fireEvent } from "../../../../src/common/dom/fire_event"; import { stopPropagation } from "../../../../src/common/dom/stop_propagation"; import { slugify } from "../../../../src/common/string/slugify"; -import "../../../../src/components/ha-md-dialog"; -import "../../../../src/components/ha-dialog-header"; -import "../../../../src/components/buttons/ha-progress-button"; -import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-spinner"; -import "../../../../src/components/ha-button"; -import "../../../../src/components/ha-button-menu"; -import "../../../../src/components/ha-header-bar"; -import "../../../../src/components/ha-icon-button"; import { getSignedPath } from "../../../../src/data/auth"; -import type { HassioBackupDetail } from "../../../../src/data/hassio/backup"; import { fetchHassioBackupInfo, removeBackup, @@ -29,14 +38,8 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../../src/dialogs/generic/show-dialog-box"; -import type { HassDialog } from "../../../../src/dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; import { fileDownload } from "../../../../src/util/file_download"; -import "../../components/supervisor-backup-content"; -import type { SupervisorBackupContent } from "../../components/supervisor-backup-content"; -import type { HassioBackupDialogParams } from "./show-dialog-hassio-backup"; -import type { HaMdDialog } from "../../../../src/components/ha-md-dialog"; @customElement("dialog-hassio-backup") class HassioBackupDialog diff --git a/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts b/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts index 5728084742..c193dd44ed 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts @@ -1,11 +1,18 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../../src/types"; +import type { SupervisorBackupContent } from "../../components/supervisor-backup-content"; +import type { HassioCreateBackupDialogParams } from "./show-dialog-hassio-create-backup"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; + import "../../../../src/components/buttons/ha-progress-button"; import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-spinner"; +import "../../components/supervisor-backup-content"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../src/common/dom/fire_event"; import { createCloseHeading } from "../../../../src/components/ha-dialog"; import { createHassioFullBackup, @@ -14,10 +21,6 @@ import { import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { showAlertDialog } from "../../../../src/dialogs/generic/show-dialog-box"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import "../../components/supervisor-backup-content"; -import type { SupervisorBackupContent } from "../../components/supervisor-backup-content"; -import type { HassioCreateBackupDialogParams } from "./show-dialog-hassio-create-backup"; @customElement("dialog-hassio-create-backup") class HassioCreateBackupDialog extends LitElement { diff --git a/hassio/src/dialogs/backup/show-dialog-backup-upload.ts b/hassio/src/dialogs/backup/show-dialog-backup-upload.ts index 861f192595..d61f37cf8d 100644 --- a/hassio/src/dialogs/backup/show-dialog-backup-upload.ts +++ b/hassio/src/dialogs/backup/show-dialog-backup-upload.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import "./dialog-hassio-backup-upload"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioBackupUploadDialogParams { showBackup: (slug: string) => void; reloadBackup?: () => Promise; diff --git a/hassio/src/dialogs/backup/show-dialog-hassio-backu-location.ts b/hassio/src/dialogs/backup/show-dialog-hassio-backu-location.ts index 12ac69bc82..4f44b1c70a 100644 --- a/hassio/src/dialogs/backup/show-dialog-hassio-backu-location.ts +++ b/hassio/src/dialogs/backup/show-dialog-hassio-backu-location.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioBackupLocationDialogParams { supervisor: Supervisor; } diff --git a/hassio/src/dialogs/backup/show-dialog-hassio-backup.ts b/hassio/src/dialogs/backup/show-dialog-hassio-backup.ts index 57b354f087..efcd9ac473 100644 --- a/hassio/src/dialogs/backup/show-dialog-hassio-backup.ts +++ b/hassio/src/dialogs/backup/show-dialog-hassio-backup.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioBackupDialogParams { slug: string; onDelete?: () => void; diff --git a/hassio/src/dialogs/backup/show-dialog-hassio-create-backup.ts b/hassio/src/dialogs/backup/show-dialog-hassio-create-backup.ts index aada29d196..bf729979b8 100644 --- a/hassio/src/dialogs/backup/show-dialog-hassio-create-backup.ts +++ b/hassio/src/dialogs/backup/show-dialog-hassio-create-backup.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioCreateBackupDialogParams { supervisor: Supervisor; onCreate: () => void; diff --git a/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts b/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts index 7555d9194e..726d881039 100644 --- a/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts +++ b/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts @@ -1,23 +1,26 @@ -import "@material/mwc-list/mwc-list-item"; +import type { DatadiskList } from "../../../../src/data/hassio/host"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../../src/types"; +import type { HassioDatatiskDialogParams } from "./show-dialog-hassio-datadisk"; import type { CSSResultGroup } from "lit"; + +import "../../../../src/components/ha-dialog"; +import "../../../../src/components/ha-select"; +import "../../../../src/components/ha-spinner"; +import "@material/mwc-list/mwc-list-item"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../src/common/dom/fire_event"; -import "../../../../src/components/ha-spinner"; -import "../../../../src/components/ha-select"; -import "../../../../src/components/ha-dialog"; import { extractApiErrorMessage, ignoreSupervisorError, } from "../../../../src/data/hassio/common"; -import type { DatadiskList } from "../../../../src/data/hassio/host"; import { listDatadisks, moveDatadisk } from "../../../../src/data/hassio/host"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { showAlertDialog } from "../../../../src/dialogs/generic/show-dialog-box"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import type { HassioDatatiskDialogParams } from "./show-dialog-hassio-datadisk"; const calculateMoveTime = memoizeOne((supervisor: Supervisor): number => { const speed = supervisor.host.disk_life_time !== "" ? 30 : 10; diff --git a/hassio/src/dialogs/datadisk/show-dialog-hassio-datadisk.ts b/hassio/src/dialogs/datadisk/show-dialog-hassio-datadisk.ts index bef5dd64c8..97b13fba84 100644 --- a/hassio/src/dialogs/datadisk/show-dialog-hassio-datadisk.ts +++ b/hassio/src/dialogs/datadisk/show-dialog-hassio-datadisk.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioDatatiskDialogParams { supervisor: Supervisor; } diff --git a/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts b/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts index 1056760be8..0f1ad15888 100644 --- a/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts +++ b/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts @@ -1,19 +1,22 @@ -import { mdiClose } from "@mdi/js"; -import { dump } from "js-yaml"; +import type { HassioHardwareInfo } from "../../../../src/data/hassio/hardware"; +import type { HomeAssistant } from "../../../../src/types"; +import type { HassioHardwareDialogParams } from "./show-dialog-hassio-hardware"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; -import { stringCompare } from "../../../../src/common/string/compare"; + import "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-expansion-panel"; import "../../../../src/components/ha-icon-button"; import "../../../../src/components/search-input"; -import type { HassioHardwareInfo } from "../../../../src/data/hassio/hardware"; + +import { mdiClose } from "@mdi/js"; +import { dump } from "js-yaml"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../src/common/dom/fire_event"; +import { stringCompare } from "../../../../src/common/string/compare"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import type { HassioHardwareDialogParams } from "./show-dialog-hassio-hardware"; const _filterDevices = memoizeOne( ( diff --git a/hassio/src/dialogs/hardware/show-dialog-hassio-hardware.ts b/hassio/src/dialogs/hardware/show-dialog-hassio-hardware.ts index b43410bb65..4cc880696e 100644 --- a/hassio/src/dialogs/hardware/show-dialog-hassio-hardware.ts +++ b/hassio/src/dialogs/hardware/show-dialog-hassio-hardware.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { HassioHardwareInfo } from "../../../../src/data/hassio/hardware"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioHardwareDialogParams { supervisor: Supervisor; hardware: HassioHardwareInfo; diff --git a/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts b/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts index d7fcc8f889..57389be10b 100644 --- a/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts +++ b/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../../../../src/types"; +import type { HassioMarkdownDialogParams } from "./show-dialog-hassio-markdown"; import type { CSSResultGroup } from "lit"; + +import "../../../../src/components/ha-markdown"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { createCloseHeading } from "../../../../src/components/ha-dialog"; -import "../../../../src/components/ha-markdown"; import { haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; import { hassioStyle } from "../../resources/hassio-style"; -import type { HassioMarkdownDialogParams } from "./show-dialog-hassio-markdown"; @customElement("dialog-hassio-markdown") class HassioMarkdownDialog extends LitElement { diff --git a/hassio/src/dialogs/network/dialog-hassio-network.ts b/hassio/src/dialogs/network/dialog-hassio-network.ts index 5678b57ee7..62a4db07a3 100644 --- a/hassio/src/dialogs/network/dialog-hassio-network.ts +++ b/hassio/src/dialogs/network/dialog-hassio-network.ts @@ -1,16 +1,16 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-list/mwc-list"; -import "@material/mwc-list/mwc-list-item"; -import "@material/mwc-tab"; -import "@material/mwc-tab-bar"; -import { mdiClose } from "@mdi/js"; +import type { HaTextField } from "../../../../src/components/ha-textfield"; +import type { + AccessPoints, + NetworkInterface, + WifiConfiguration, +} from "../../../../src/data/hassio/network"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HassDialog } from "../../../../src/dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../src/types"; +import type { HassioNetworkDialogParams } from "./show-dialog-network"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { cache } from "lit/directives/cache"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; + import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-spinner"; import "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-expansion-panel"; import "../../../../src/components/ha-formfield"; @@ -18,27 +18,30 @@ import "../../../../src/components/ha-header-bar"; import "../../../../src/components/ha-icon-button"; import "../../../../src/components/ha-password-field"; import "../../../../src/components/ha-radio"; +import "../../../../src/components/ha-spinner"; import "../../../../src/components/ha-textfield"; -import type { HaTextField } from "../../../../src/components/ha-textfield"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-list/mwc-list-item"; +import "@material/mwc-tab"; +import "@material/mwc-tab-bar"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { cache } from "lit/directives/cache"; + +import { fireEvent } from "../../../../src/common/dom/fire_event"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; -import type { - AccessPoints, - NetworkInterface, - WifiConfiguration, -} from "../../../../src/data/hassio/network"; import { accesspointScan, updateNetworkInterface, } from "../../../../src/data/hassio/network"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, } from "../../../../src/dialogs/generic/show-dialog-box"; -import type { HassDialog } from "../../../../src/dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import type { HassioNetworkDialogParams } from "./show-dialog-network"; const IP_VERSIONS = ["ipv4", "ipv6"]; diff --git a/hassio/src/dialogs/network/show-dialog-network.ts b/hassio/src/dialogs/network/show-dialog-network.ts index 507b4938d3..b586150d07 100644 --- a/hassio/src/dialogs/network/show-dialog-network.ts +++ b/hassio/src/dialogs/network/show-dialog-network.ts @@ -1,7 +1,9 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; + import "./dialog-hassio-network"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioNetworkDialogParams { supervisor: Supervisor; loadData: () => Promise; diff --git a/hassio/src/dialogs/registries/dialog-hassio-registries.ts b/hassio/src/dialogs/registries/dialog-hassio-registries.ts index 4c4129a1e4..081d3f92ff 100644 --- a/hassio/src/dialogs/registries/dialog-hassio-registries.ts +++ b/hassio/src/dialogs/registries/dialog-hassio-registries.ts @@ -1,24 +1,27 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDelete } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { createCloseHeading } from "../../../../src/components/ha-dialog"; -import "../../../../src/components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../src/components/ha-form/types"; +import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../../src/types"; +import type { RegistriesDialogParams } from "./show-dialog-registries"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../src/components/ha-form/ha-form"; import "../../../../src/components/ha-icon-button"; import "../../../../src/components/ha-settings-row"; +import "@material/mwc-button/mwc-button"; + +import { mdiDelete } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { createCloseHeading } from "../../../../src/components/ha-dialog"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { addHassioDockerRegistry, fetchHassioDockerRegistries, removeHassioDockerRegistry, } from "../../../../src/data/hassio/docker"; -import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { showAlertDialog } from "../../../../src/dialogs/generic/show-dialog-box"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import type { RegistriesDialogParams } from "./show-dialog-registries"; const SCHEMA = [ { diff --git a/hassio/src/dialogs/registries/show-dialog-registries.ts b/hassio/src/dialogs/registries/show-dialog-registries.ts index 0ca9bf67dc..f8b9c3251e 100644 --- a/hassio/src/dialogs/registries/show-dialog-registries.ts +++ b/hassio/src/dialogs/registries/show-dialog-registries.ts @@ -1,7 +1,9 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; + import "./dialog-hassio-registries"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface RegistriesDialogParams { supervisor: Supervisor; } diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index b2b73424eb..ba6ad665c0 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -1,20 +1,29 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDelete, mdiDeleteOff } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../src/common/dom/fire_event"; -import { caseInsensitiveStringCompare } from "../../../../src/common/string/compare"; -import "../../../../src/components/ha-alert"; -import "../../../../src/components/ha-tooltip"; -import "../../../../src/components/ha-spinner"; -import { createCloseHeading } from "../../../../src/components/ha-dialog"; -import "../../../../src/components/ha-icon-button"; +import type { HaTextField } from "../../../../src/components/ha-textfield"; import type { HassioAddonInfo, HassioAddonRepository, } from "../../../../src/data/hassio/addon"; +import type { HomeAssistant } from "../../../../src/types"; +import type { HassioRepositoryDialogParams } from "./show-dialog-repositories"; +import type { CSSResultGroup } from "lit"; + +import "../../../../src/components/ha-alert"; +import "../../../../src/components/ha-icon-button"; +import "../../../../src/components/ha-md-list"; +import "../../../../src/components/ha-md-list-item"; +import "../../../../src/components/ha-spinner"; +import "../../../../src/components/ha-textfield"; +import "../../../../src/components/ha-tooltip"; +import "@material/mwc-button/mwc-button"; + +import { mdiDelete, mdiDeleteOff } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../src/common/dom/fire_event"; +import { caseInsensitiveStringCompare } from "../../../../src/common/string/compare"; +import { createCloseHeading } from "../../../../src/components/ha-dialog"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { addStoreRepository, @@ -22,12 +31,6 @@ import { removeStoreRepository, } from "../../../../src/data/supervisor/store"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; -import type { HomeAssistant } from "../../../../src/types"; -import type { HassioRepositoryDialogParams } from "./show-dialog-repositories"; -import type { HaTextField } from "../../../../src/components/ha-textfield"; -import "../../../../src/components/ha-textfield"; -import "../../../../src/components/ha-md-list"; -import "../../../../src/components/ha-md-list-item"; @customElement("dialog-hassio-repositories") class HassioRepositoriesDialog extends LitElement { diff --git a/hassio/src/dialogs/repositories/show-dialog-repositories.ts b/hassio/src/dialogs/repositories/show-dialog-repositories.ts index 1b540c883c..700e131e0e 100644 --- a/hassio/src/dialogs/repositories/show-dialog-repositories.ts +++ b/hassio/src/dialogs/repositories/show-dialog-repositories.ts @@ -1,7 +1,9 @@ -import { fireEvent } from "../../../../src/common/dom/fire_event"; import type { Supervisor } from "../../../../src/data/supervisor/supervisor"; + import "./dialog-hassio-repositories"; +import { fireEvent } from "../../../../src/common/dom/fire_event"; + export interface HassioRepositoryDialogParams { supervisor: Supervisor; url?: string; diff --git a/hassio/src/dialogs/suggestAddonRestart.ts b/hassio/src/dialogs/suggestAddonRestart.ts index 74165ced94..50c10c524e 100644 --- a/hassio/src/dialogs/suggestAddonRestart.ts +++ b/hassio/src/dialogs/suggestAddonRestart.ts @@ -1,13 +1,14 @@ -import type { LitElement } from "lit"; import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../src/types"; +import type { LitElement } from "lit"; + import { restartHassioAddon } from "../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, } from "../../../src/dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../src/types"; export const suggestAddonRestart = async ( element: LitElement, diff --git a/hassio/src/hassio-main.ts b/hassio/src/hassio-main.ts index 7afbf5d333..772ad5361c 100644 --- a/hassio/src/hassio-main.ts +++ b/hassio/src/hassio-main.ts @@ -1,17 +1,20 @@ +import type { HassioPanelInfo } from "../../src/data/hassio/supervisor"; +import type { Supervisor } from "../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../src/types"; import type { PropertyValues } from "lit"; + +import "./hassio-router"; + import { html } from "lit"; import { customElement, property } from "lit/decorators"; + import { atLeastVersion } from "../../src/common/config/version"; import { applyThemesOnElement } from "../../src/common/dom/apply_themes_on_element"; import { fireEvent } from "../../src/common/dom/fire_event"; import { mainWindow } from "../../src/common/dom/get_main_window"; import { isNavigationClick } from "../../src/common/dom/is-navigation-click"; import { navigate } from "../../src/common/navigate"; -import type { HassioPanelInfo } from "../../src/data/hassio/supervisor"; -import type { Supervisor } from "../../src/data/supervisor/supervisor"; import { makeDialogManager } from "../../src/dialogs/make-dialog-manager"; -import type { HomeAssistant } from "../../src/types"; -import "./hassio-router"; import { SupervisorBaseElement } from "./supervisor-base-element"; @customElement("hassio-main") diff --git a/hassio/src/hassio-my-redirect.ts b/hassio/src/hassio-my-redirect.ts index 12f311038e..027206da5f 100644 --- a/hassio/src/hassio-my-redirect.ts +++ b/hassio/src/hassio-my-redirect.ts @@ -1,20 +1,23 @@ -import { sanitizeUrl } from "@braintree/sanitize-url"; -import type { TemplateResult } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { navigate } from "../../src/common/navigate"; -import { - createSearchParam, - extractSearchParamsObject, -} from "../../src/common/url/search-params"; import type { Supervisor } from "../../src/data/supervisor/supervisor"; -import "../../src/layouts/hass-error-screen"; import type { ParamType, Redirect, Redirects, } from "../../src/panels/my/ha-panel-my"; import type { HomeAssistant, Route } from "../../src/types"; +import type { TemplateResult } from "lit"; + +import "../../src/layouts/hass-error-screen"; + +import { sanitizeUrl } from "@braintree/sanitize-url"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { navigate } from "../../src/common/navigate"; +import { + createSearchParam, + extractSearchParamsObject, +} from "../../src/common/url/search-params"; export const REDIRECTS: Redirects = { supervisor: { diff --git a/hassio/src/hassio-panel-router.ts b/hassio/src/hassio-panel-router.ts index 42eff379f5..af8ca3ef28 100644 --- a/hassio/src/hassio-panel-router.ts +++ b/hassio/src/hassio-panel-router.ts @@ -1,11 +1,14 @@ -import { customElement, property } from "lit/decorators"; import type { Supervisor } from "../../src/data/supervisor/supervisor"; import type { RouterOptions } from "../../src/layouts/hass-router-page"; -import { HassRouterPage } from "../../src/layouts/hass-router-page"; import type { HomeAssistant, Route } from "../../src/types"; + // Don't codesplit it, that way the dashboard always loads fast. import "./dashboard/hassio-dashboard"; +import { customElement, property } from "lit/decorators"; + +import { HassRouterPage } from "../../src/layouts/hass-router-page"; + @customElement("hassio-panel-router") class HassioPanelRouter extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/hassio/src/hassio-panel.ts b/hassio/src/hassio-panel.ts index c0922f463d..0150f1c51f 100644 --- a/hassio/src/hassio-panel.ts +++ b/hassio/src/hassio-panel.ts @@ -1,11 +1,14 @@ +import type { Supervisor } from "../../src/data/supervisor/supervisor"; +import type { HomeAssistant, Route } from "../../src/types"; import type { TemplateResult } from "lit"; + +import "../../src/layouts/hass-loading-screen"; +import "./hassio-panel-router"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { Supervisor } from "../../src/data/supervisor/supervisor"; + import { supervisorCollection } from "../../src/data/supervisor/supervisor"; -import "../../src/layouts/hass-loading-screen"; -import type { HomeAssistant, Route } from "../../src/types"; -import "./hassio-panel-router"; @customElement("hassio-panel") class HassioPanel extends LitElement { diff --git a/hassio/src/hassio-router.ts b/hassio/src/hassio-router.ts index a886fe2ae4..95db7fe0fd 100644 --- a/hassio/src/hassio-router.ts +++ b/hassio/src/hassio-router.ts @@ -1,13 +1,16 @@ -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { HassioPanelInfo } from "../../src/data/hassio/supervisor"; import type { Supervisor } from "../../src/data/supervisor/supervisor"; import type { RouterOptions } from "../../src/layouts/hass-router-page"; -import { HassRouterPage } from "../../src/layouts/hass-router-page"; import type { HomeAssistant } from "../../src/types"; + // Don't codesplit it, that way the dashboard always loads fast. import "./hassio-panel"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { HassRouterPage } from "../../src/layouts/hass-router-page"; + @customElement("hassio-router") class HassioRouter extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/hassio/src/hassio-tabs.ts b/hassio/src/hassio-tabs.ts index a66646ee17..211743ec3c 100644 --- a/hassio/src/hassio-tabs.ts +++ b/hassio/src/hassio-tabs.ts @@ -1,12 +1,14 @@ +import type { PageNavigation } from "../../src/layouts/hass-tabs-subpage"; +import type { HomeAssistant } from "../../src/types"; + import { mdiBackupRestore, mdiCogs, mdiPuzzle, mdiViewDashboard, } from "@mdi/js"; + import { atLeastVersion } from "../../src/common/config/version"; -import type { PageNavigation } from "../../src/layouts/hass-tabs-subpage"; -import type { HomeAssistant } from "../../src/types"; export const supervisorTabs = (hass: HomeAssistant): PageNavigation[] => atLeastVersion(hass.config.version, 2022, 5) diff --git a/hassio/src/ingress-view/hassio-ingress-view.ts b/hassio/src/ingress-view/hassio-ingress-view.ts index 1120936fa6..248884f170 100644 --- a/hassio/src/ingress-view/hassio-ingress-view.ts +++ b/hassio/src/ingress-view/hassio-ingress-view.ts @@ -1,13 +1,20 @@ -import { mdiMenu } from "@mdi/js"; +import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant, Route } from "../../../src/types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../src/components/ha-icon-button"; +import "../../../src/layouts/hass-loading-screen"; +import "../../../src/layouts/hass-subpage"; + +import { mdiMenu } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../src/common/dom/fire_event"; import { navigate } from "../../../src/common/navigate"; import { extractSearchParam } from "../../../src/common/url/search-params"; import { nextRender } from "../../../src/common/util/render-status"; -import "../../../src/components/ha-icon-button"; -import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; import { fetchHassioAddonInfo, startHassioAddon, @@ -17,14 +24,10 @@ import { createHassioSession, validateHassioSession, } from "../../../src/data/hassio/ingress"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, } from "../../../src/dialogs/generic/show-dialog-box"; -import "../../../src/layouts/hass-loading-screen"; -import "../../../src/layouts/hass-subpage"; -import type { HomeAssistant, Route } from "../../../src/types"; @customElement("hassio-ingress-view") class HassioIngressView extends LitElement { diff --git a/hassio/src/supervisor-base-element.ts b/hassio/src/supervisor-base-element.ts index c1b826762c..410450355b 100644 --- a/hassio/src/supervisor-base-element.ts +++ b/hassio/src/supervisor-base-element.ts @@ -1,11 +1,23 @@ +import type { HassioResponse } from "../../src/data/hassio/common"; +import type { + Supervisor, + SupervisorObject, + SupervisorKeys, +} from "../../src/data/supervisor/supervisor"; +import type { HomeAssistant, Route } from "../../src/types"; import type { Collection, UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + import { LitElement } from "lit"; import { property, state } from "lit/decorators"; + import { atLeastVersion } from "../../src/common/config/version"; import { computeLocalize } from "../../src/common/translations/localize"; +import { + computeRTLDirection, + setDirectionStyles, +} from "../../src/common/util/compute_rtl"; import { fetchHassioAddonsInfo } from "../../src/data/hassio/addon"; -import type { HassioResponse } from "../../src/data/hassio/common"; import { fetchHassioHassOsInfo, fetchHassioHostInfo, @@ -18,11 +30,6 @@ import { fetchHassioSupervisorInfo, } from "../../src/data/hassio/supervisor"; import { fetchSupervisorStore } from "../../src/data/supervisor/store"; -import type { - Supervisor, - SupervisorObject, - SupervisorKeys, -} from "../../src/data/supervisor/supervisor"; import { getSupervisorEventCollection, supervisorCollection, @@ -30,12 +37,7 @@ import { } from "../../src/data/supervisor/supervisor"; import { ProvideHassLitMixin } from "../../src/mixins/provide-hass-lit-mixin"; import { urlSyncMixin } from "../../src/state/url-sync-mixin"; -import type { HomeAssistant, Route } from "../../src/types"; import { getTranslation } from "../../src/util/common-translation"; -import { - computeRTLDirection, - setDirectionStyles, -} from "../../src/common/util/compute_rtl"; declare global { interface HASSDomEvents { diff --git a/hassio/src/system/hassio-core-info.ts b/hassio/src/system/hassio-core-info.ts index a49fd63a0a..03ed162dce 100644 --- a/hassio/src/system/hassio-core-info.ts +++ b/hassio/src/system/hassio-core-info.ts @@ -1,28 +1,31 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list-item"; +import type { HassioStats } from "../../../src/data/hassio/common"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../src/types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { atLeastVersion } from "../../../src/common/config/version"; + import "../../../src/components/buttons/ha-progress-button"; import "../../../src/components/ha-button-menu"; import "../../../src/components/ha-card"; import "../../../src/components/ha-settings-row"; -import type { HassioStats } from "../../../src/data/hassio/common"; +import "../components/supervisor-metric"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { atLeastVersion } from "../../../src/common/config/version"; import { extractApiErrorMessage, fetchHassioStats, } from "../../../src/data/hassio/common"; import { restartCore } from "../../../src/data/supervisor/core"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, } from "../../../src/dialogs/generic/show-dialog-box"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant } from "../../../src/types"; import { bytesToString } from "../../../src/util/bytes-to-string"; -import "../components/supervisor-metric"; import { hassioStyle } from "../resources/hassio-style"; @customElement("hassio-core-info") diff --git a/hassio/src/system/hassio-host-info.ts b/hassio/src/system/hassio-host-info.ts index d393f44299..b3d9f96b8d 100644 --- a/hassio/src/system/hassio-host-info.ts +++ b/hassio/src/system/hassio-host-info.ts @@ -1,17 +1,24 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list-item"; -import { mdiDotsVertical } from "@mdi/js"; +import type { NetworkInfo } from "../../../src/data/hassio/network"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../src/types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { atLeastVersion } from "../../../src/common/config/version"; -import { fireEvent } from "../../../src/common/dom/fire_event"; + import "../../../src/components/buttons/ha-progress-button"; import "../../../src/components/ha-button-menu"; import "../../../src/components/ha-card"; import "../../../src/components/ha-icon-button"; import "../../../src/components/ha-settings-row"; +import "../components/supervisor-metric"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiDotsVertical } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { atLeastVersion } from "../../../src/common/config/version"; +import { fireEvent } from "../../../src/common/dom/fire_event"; import { extractApiErrorMessage, ignoreSupervisorError, @@ -23,21 +30,17 @@ import { rebootHost, shutdownHost, } from "../../../src/data/hassio/host"; -import type { NetworkInfo } from "../../../src/data/hassio/network"; import { fetchNetworkInfo } from "../../../src/data/hassio/network"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, showPromptDialog, } from "../../../src/dialogs/generic/show-dialog-box"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant } from "../../../src/types"; import { getValueInPercentage, roundWithOneDecimal, } from "../../../src/util/calculate"; -import "../components/supervisor-metric"; import { showHassioDatadiskDialog } from "../dialogs/datadisk/show-dialog-hassio-datadisk"; import { showHassioHardwareDialog } from "../dialogs/hardware/show-dialog-hassio-hardware"; import { showNetworkDialog } from "../dialogs/network/show-dialog-network"; diff --git a/hassio/src/system/hassio-supervisor-info.ts b/hassio/src/system/hassio-supervisor-info.ts index 2cf23b8909..8adbf381a0 100644 --- a/hassio/src/system/hassio-supervisor-info.ts +++ b/hassio/src/system/hassio-supervisor-info.ts @@ -1,25 +1,30 @@ +import type { HassioStats } from "../../../src/data/hassio/common"; +import type { SupervisorOptions } from "../../../src/data/hassio/supervisor"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../src/types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { atLeastVersion } from "../../../src/common/config/version"; -import { fireEvent } from "../../../src/common/dom/fire_event"; + import "../../../src/components/buttons/ha-progress-button"; import "../../../src/components/ha-alert"; import "../../../src/components/ha-card"; import "../../../src/components/ha-settings-row"; import "../../../src/components/ha-switch"; -import type { HassioStats } from "../../../src/data/hassio/common"; +import "../components/supervisor-metric"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { atLeastVersion } from "../../../src/common/config/version"; +import { fireEvent } from "../../../src/common/dom/fire_event"; import { extractApiErrorMessage, fetchHassioStats, } from "../../../src/data/hassio/common"; -import type { SupervisorOptions } from "../../../src/data/hassio/supervisor"; import { reloadSupervisor, restartSupervisor, setSupervisorOption, } from "../../../src/data/hassio/supervisor"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog, showConfirmationDialog, @@ -30,10 +35,8 @@ import { UNSUPPORTED_REASON_URL, } from "../../../src/panels/config/repairs/dialog-system-information"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant } from "../../../src/types"; import { bytesToString } from "../../../src/util/bytes-to-string"; import { documentationUrl } from "../../../src/util/documentation-url"; -import "../components/supervisor-metric"; import { hassioStyle } from "../resources/hassio-style"; @customElement("hassio-supervisor-info") diff --git a/hassio/src/system/hassio-supervisor-log.ts b/hassio/src/system/hassio-supervisor-log.ts index ce8702dd51..aae0c725d1 100644 --- a/hassio/src/system/hassio-supervisor-log.ts +++ b/hassio/src/system/hassio-supervisor-log.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list-item"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant } from "../../../src/types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../../../src/components/buttons/ha-progress-button"; import "../../../src/components/ha-alert"; import "../../../src/components/ha-ansi-to-html"; import "../../../src/components/ha-card"; import "../../../src/components/ha-select"; +import "../../../src/layouts/hass-loading-screen"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { extractApiErrorMessage } from "../../../src/data/hassio/common"; import { fetchHassioLogs } from "../../../src/data/hassio/supervisor"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; -import "../../../src/layouts/hass-loading-screen"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant } from "../../../src/types"; import { hassioStyle } from "../resources/hassio-style"; interface LogProvider { diff --git a/hassio/src/system/hassio-system.ts b/hassio/src/system/hassio-system.ts index 643b9f3530..9513b98a89 100644 --- a/hassio/src/system/hassio-system.ts +++ b/hassio/src/system/hassio-system.ts @@ -1,18 +1,21 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { atLeastVersion } from "../../../src/common/config/version"; import type { Supervisor } from "../../../src/data/supervisor/supervisor"; -import "../../../src/layouts/hass-tabs-subpage"; -import { haStyle } from "../../../src/resources/styles"; import type { HomeAssistant, Route } from "../../../src/types"; -import { supervisorTabs } from "../hassio-tabs"; -import { hassioStyle } from "../resources/hassio-style"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../src/layouts/hass-tabs-subpage"; import "./hassio-core-info"; import "./hassio-host-info"; import "./hassio-supervisor-info"; import "./hassio-supervisor-log"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { atLeastVersion } from "../../../src/common/config/version"; +import { haStyle } from "../../../src/resources/styles"; +import { supervisorTabs } from "../hassio-tabs"; +import { hassioStyle } from "../resources/hassio-style"; + @customElement("hassio-system") class HassioSystem extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/hassio/src/update-available/update-available-card.ts b/hassio/src/update-available/update-available-card.ts index ed15034845..8201ead042 100644 --- a/hassio/src/update-available/update-available-card.ts +++ b/hassio/src/update-available/update-available-card.ts @@ -1,4 +1,24 @@ +import type { HaSwitch } from "../../../src/components/ha-switch"; +import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; +import type { StoreAddon } from "../../../src/data/supervisor/store"; +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant, Route } from "../../../src/types"; + +import "../../../src/components/buttons/ha-progress-button"; +import "../../../src/components/ha-alert"; +import "../../../src/components/ha-button-menu"; +import "../../../src/components/ha-card"; +import "../../../src/components/ha-checkbox"; +import "../../../src/components/ha-faded"; +import "../../../src/components/ha-icon-button"; +import "../../../src/components/ha-markdown"; +import "../../../src/components/ha-md-list"; +import "../../../src/components/ha-md-list-item"; +import "../../../src/components/ha-spinner"; +import "../../../src/components/ha-svg-icon"; +import "../../../src/components/ha-switch"; import "@material/mwc-list/mwc-list-item"; + import { css, type CSSResultGroup, @@ -9,23 +29,9 @@ import { } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { atLeastVersion } from "../../../src/common/config/version"; import { fireEvent } from "../../../src/common/dom/fire_event"; -import "../../../src/components/buttons/ha-progress-button"; -import "../../../src/components/ha-alert"; -import "../../../src/components/ha-button-menu"; -import "../../../src/components/ha-card"; -import "../../../src/components/ha-spinner"; -import "../../../src/components/ha-checkbox"; -import "../../../src/components/ha-faded"; -import "../../../src/components/ha-icon-button"; -import "../../../src/components/ha-markdown"; -import "../../../src/components/ha-md-list"; -import "../../../src/components/ha-md-list-item"; -import "../../../src/components/ha-svg-icon"; -import "../../../src/components/ha-switch"; -import type { HaSwitch } from "../../../src/components/ha-switch"; -import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; import { fetchHassioAddonChangelog, fetchHassioAddonInfo, @@ -42,11 +48,8 @@ import { updateSupervisor, } from "../../../src/data/hassio/supervisor"; import { updateCore } from "../../../src/data/supervisor/core"; -import type { StoreAddon } from "../../../src/data/supervisor/store"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; import { haStyle } from "../../../src/resources/styles"; -import type { HomeAssistant, Route } from "../../../src/types"; import { addonArchIsSupported, extractChangelog } from "../util/addon"; declare global { diff --git a/hassio/src/update-available/update-available-dashboard.ts b/hassio/src/update-available/update-available-dashboard.ts index 137fd1fb2c..adf529e814 100644 --- a/hassio/src/update-available/update-available-dashboard.ts +++ b/hassio/src/update-available/update-available-dashboard.ts @@ -1,10 +1,12 @@ +import type { Supervisor } from "../../../src/data/supervisor/supervisor"; +import type { HomeAssistant, Route } from "../../../src/types"; import type { TemplateResult } from "lit"; + +import "../../../src/layouts/hass-subpage"; +import "./update-available-card"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { Supervisor } from "../../../src/data/supervisor/supervisor"; -import "../../../src/layouts/hass-subpage"; -import type { HomeAssistant, Route } from "../../../src/types"; -import "./update-available-card"; @customElement("update-available-dashboard") class UpdateAvailableDashboard extends LitElement { diff --git a/hassio/src/util/addon.ts b/hassio/src/util/addon.ts index fe9f5f9a9c..c0983dc753 100644 --- a/hassio/src/util/addon.ts +++ b/hassio/src/util/addon.ts @@ -1,7 +1,8 @@ -import memoizeOne from "memoize-one"; import type { HassioAddonDetails } from "../../../src/data/hassio/addon"; import type { SupervisorArch } from "../../../src/data/supervisor/supervisor"; +import memoizeOne from "memoize-one"; + export const addonArchIsSupported = memoizeOne( (supported_archs: SupervisorArch[], addon_archs: SupervisorArch[]) => addon_archs.some((arch) => supported_archs.includes(arch)) diff --git a/landing-page/src/components/landing-page-logs.ts b/landing-page/src/components/landing-page-logs.ts index 0b0c3e7c81..df7d519562 100644 --- a/landing-page/src/components/landing-page-logs.ts +++ b/landing-page/src/components/landing-page-logs.ts @@ -1,28 +1,31 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; -import { mdiArrowCollapseDown, mdiDownload } from "@mdi/js"; -// eslint-disable-next-line import/extensions -import { IntersectionController } from "@lit-labs/observers/intersection-controller.js"; -import { LitElement, type PropertyValues, css, html, nothing } from "lit"; -import { classMap } from "lit/directives/class-map"; -import { customElement, property, query, state } from "lit/decorators"; import type { LandingPageKeys, LocalizeFunc, } from "../../../src/common/translations/localize"; +import type { HaAnsiToHtml } from "../../../src/components/ha-ansi-to-html"; + +import "../../../src/components/ha-alert"; +import "../../../src/components/ha-ansi-to-html"; import "../../../src/components/ha-button"; import "../../../src/components/ha-icon-button"; import "../../../src/components/ha-svg-icon"; -import "../../../src/components/ha-ansi-to-html"; -import "../../../src/components/ha-alert"; -import type { HaAnsiToHtml } from "../../../src/components/ha-ansi-to-html"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +// eslint-disable-next-line import/extensions +import { IntersectionController } from "@lit-labs/observers/intersection-controller.js"; +import { mdiArrowCollapseDown, mdiDownload } from "@mdi/js"; +import { LitElement, type PropertyValues, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { fireEvent } from "../../../src/common/dom/fire_event"; +import { waitForSeconds } from "../../../src/common/util/wait"; +import { fileDownload } from "../../../src/util/file_download"; import { getObserverLogs, downloadUrl as observerLogsDownloadUrl, } from "../data/observer"; -import { fireEvent } from "../../../src/common/dom/fire_event"; -import { fileDownload } from "../../../src/util/file_download"; import { getSupervisorLogs, getSupervisorLogsFollow } from "../data/supervisor"; -import { waitForSeconds } from "../../../src/common/util/wait"; import { ASSUME_CORE_START_SECONDS } from "../ha-landing-page"; const ERROR_CHECK = /^[\d\s-:]+(ERROR|CRITICAL)(.*)/gm; diff --git a/landing-page/src/components/landing-page-network.ts b/landing-page/src/components/landing-page-network.ts index bea2336e48..835121fcd8 100644 --- a/landing-page/src/components/landing-page-network.ts +++ b/landing-page/src/components/landing-page-network.ts @@ -1,21 +1,24 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; -import memoizeOne from "memoize-one"; -import { type CSSResultGroup, LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; import type { LandingPageKeys, LocalizeFunc, } from "../../../src/common/translations/localize"; -import "../../../src/components/ha-button"; +import type { NetworkInterface } from "../../../src/data/hassio/network"; + import "../../../src/components/ha-alert"; +import "../../../src/components/ha-button"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +import { type CSSResultGroup, LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../src/common/dom/fire_event"; +import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; import { ALTERNATIVE_DNS_SERVERS, setSupervisorNetworkDns, type NetworkInfo, } from "../data/supervisor"; -import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; -import type { NetworkInterface } from "../../../src/data/hassio/network"; -import { fireEvent } from "../../../src/common/dom/fire_event"; @customElement("landing-page-network") class LandingPageNetwork extends LitElement { diff --git a/landing-page/src/data/supervisor.ts b/landing-page/src/data/supervisor.ts index 1f0fcff24d..6dc7f97481 100644 --- a/landing-page/src/data/supervisor.ts +++ b/landing-page/src/data/supervisor.ts @@ -4,6 +4,7 @@ import type { DockerNetwork, NetworkInterface, } from "../../../src/data/hassio/network"; + import { handleFetchPromise } from "../../../src/util/hass-call-api"; export interface NetworkInfo { diff --git a/landing-page/src/ha-landing-page.ts b/landing-page/src/ha-landing-page.ts index 06d1c43716..875b126f93 100644 --- a/landing-page/src/ha-landing-page.ts +++ b/landing-page/src/ha-landing-page.ts @@ -1,20 +1,22 @@ +import "../../src/components/ha-alert"; +import "../../src/onboarding/onboarding-welcome-links"; +import "./components/landing-page-logs"; +import "./components/landing-page-network"; import "@material/mwc-linear-progress"; + import { type PropertyValues, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../src/components/ha-alert"; -import { haStyle } from "../../src/resources/styles"; -import "../../src/onboarding/onboarding-welcome-links"; -import "./components/landing-page-network"; -import "./components/landing-page-logs"; + import { extractSearchParam } from "../../src/common/url/search-params"; -import { onBoardingStyles } from "../../src/onboarding/styles"; import { makeDialogManager } from "../../src/dialogs/make-dialog-manager"; -import { LandingPageBaseElement } from "./landing-page-base-element"; +import { onBoardingStyles } from "../../src/onboarding/styles"; +import { haStyle } from "../../src/resources/styles"; import { getSupervisorNetworkInfo, pingSupervisor, type NetworkInfo, } from "./data/supervisor"; +import { LandingPageBaseElement } from "./landing-page-base-element"; export const ASSUME_CORE_START_SECONDS = 60; const SCHEDULE_CORE_CHECK_SECONDS = 1; diff --git a/landing-page/src/landing-page-base-element.ts b/landing-page/src/landing-page-base-element.ts index 9c7a544ddf..cd21177c76 100644 --- a/landing-page/src/landing-page-base-element.ts +++ b/landing-page/src/landing-page-base-element.ts @@ -1,21 +1,23 @@ +import type { HassBaseEl } from "../../src/state/hass-base-mixin"; +import type { Constructor, Resources } from "../../src/types"; import type { PropertyValues } from "lit"; + import { LitElement } from "lit"; import { property, state } from "lit/decorators"; + import { computeLocalize, type LandingPageKeys, type LocalizeFunc, } from "../../src/common/translations/localize"; +import { computeDirectionStyles } from "../../src/common/util/compute_rtl"; import { ProvideHassLitMixin } from "../../src/mixins/provide-hass-lit-mixin"; -import type { Constructor, Resources } from "../../src/types"; +import { translationMetadata } from "../../src/resources/translations-metadata"; +import themesMixin from "../../src/state/themes-mixin"; import { getLocalLanguage, getTranslation, } from "../../src/util/common-translation"; -import { computeDirectionStyles } from "../../src/common/util/compute_rtl"; -import themesMixin from "../../src/state/themes-mixin"; -import { translationMetadata } from "../../src/resources/translations-metadata"; -import type { HassBaseEl } from "../../src/state/hass-base-mixin"; export class LandingPageBaseElement extends themesMixin( ProvideHassLitMixin(LitElement) as unknown as Constructor diff --git a/package.json b/package.json index d9ddb9f1a1..6dd4b2b15e 100644 --- a/package.json +++ b/package.json @@ -198,6 +198,7 @@ "eslint-plugin-import": "2.31.0", "eslint-plugin-lit": "2.0.0", "eslint-plugin-lit-a11y": "4.1.4", + "eslint-plugin-perfectionist": "4.11.0", "eslint-plugin-unused-imports": "4.1.4", "eslint-plugin-wc": "3.0.0", "fancy-log": "2.0.0", diff --git a/src/auth/ha-auth-flow.ts b/src/auth/ha-auth-flow.ts index 2adce4d347..d5182084cd 100644 --- a/src/auth/ha-auth-flow.ts +++ b/src/auth/ha-auth-flow.ts @@ -1,16 +1,24 @@ /* eslint-disable lit/prefer-static-styles */ -import "@material/mwc-button"; -import { genClientId } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { keyed } from "lit/directives/keyed"; -import { customElement, property, state } from "lit/decorators"; import type { LocalizeFunc } from "../common/translations/localize"; +import type { AuthProvider } from "../data/auth"; +import type { + DataEntryFlowStep, + DataEntryFlowStepForm, +} from "../data/data_entry_flow"; +import type { PropertyValues } from "lit"; + import "../components/ha-alert"; import "../components/ha-checkbox"; -import { computeInitialHaFormData } from "../components/ha-form/compute-initial-ha-form-data"; import "../components/ha-formfield"; -import type { AuthProvider } from "../data/auth"; +import "./ha-auth-form"; +import "@material/mwc-button"; + +import { genClientId } from "home-assistant-js-websocket"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { keyed } from "lit/directives/keyed"; + +import { computeInitialHaFormData } from "../components/ha-form/compute-initial-ha-form-data"; import { autocompleteLoginFields, createLoginFlow, @@ -18,11 +26,6 @@ import { redirectWithAuthCode, submitLoginFlow, } from "../data/auth"; -import type { - DataEntryFlowStep, - DataEntryFlowStepForm, -} from "../data/data_entry_flow"; -import "./ha-auth-form"; type State = "loading" | "error" | "step"; diff --git a/src/auth/ha-auth-form-string.ts b/src/auth/ha-auth-form-string.ts index 4502513f7d..1e0f9da1a4 100644 --- a/src/auth/ha-auth-form-string.ts +++ b/src/auth/ha-auth-form-string.ts @@ -1,11 +1,14 @@ /* eslint-disable lit/prefer-static-styles */ import type { TemplateResult } from "lit"; -import { html } from "lit"; -import { customElement } from "lit/decorators"; -import { HaFormString } from "../components/ha-form/ha-form-string"; + import "../components/ha-icon-button"; import "./ha-auth-textfield"; +import { html } from "lit"; +import { customElement } from "lit/decorators"; + +import { HaFormString } from "../components/ha-form/ha-form-string"; + @customElement("ha-auth-form-string") export class HaAuthFormString extends HaFormString { protected createRenderRoot() { diff --git a/src/auth/ha-auth-form.ts b/src/auth/ha-auth-form.ts index bffa1e79a1..6af31130bd 100644 --- a/src/auth/ha-auth-form.ts +++ b/src/auth/ha-auth-form.ts @@ -1,9 +1,12 @@ /* eslint-disable lit/prefer-static-styles */ +import type { LocalizeFunc } from "../common/translations/localize"; + +import "./ha-auth-form-string"; + import { html } from "lit"; import { customElement, property } from "lit/decorators"; + import { HaForm } from "../components/ha-form/ha-form"; -import "./ha-auth-form-string"; -import type { LocalizeFunc } from "../common/translations/localize"; const localizeBaseKey = "ui.panel.page-authorize.form"; diff --git a/src/auth/ha-auth-textfield.ts b/src/auth/ha-auth-textfield.ts index b13e661c56..d20e91705a 100644 --- a/src/auth/ha-auth-textfield.ts +++ b/src/auth/ha-auth-textfield.ts @@ -1,11 +1,13 @@ /* eslint-disable lit/value-after-constraints */ /* eslint-disable lit/prefer-static-styles */ -import { floatingLabel } from "@material/mwc-floating-label/mwc-floating-label-directive"; import type { TemplateResult } from "lit"; + +import { floatingLabel } from "@material/mwc-floating-label/mwc-floating-label-directive"; import { html } from "lit"; import { customElement } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { live } from "lit/directives/live"; + import { HaTextField } from "../components/ha-textfield"; @customElement("ha-auth-textfield") diff --git a/src/auth/ha-authorize.ts b/src/auth/ha-authorize.ts index a4108bc9d1..f7f6e45104 100644 --- a/src/auth/ha-authorize.ts +++ b/src/auth/ha-authorize.ts @@ -1,16 +1,20 @@ /* eslint-disable lit/prefer-static-styles */ +import type { AuthProvider, AuthUrlSearchParams } from "../data/auth"; import type { PropertyValues } from "lit"; + +import "../components/ha-alert"; +import "./ha-auth-flow"; + +import punycode from "punycode"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import punycode from "punycode"; + import { applyThemesOnElement } from "../common/dom/apply_themes_on_element"; import { extractSearchParamsObject } from "../common/url/search-params"; -import "../components/ha-alert"; -import type { AuthProvider, AuthUrlSearchParams } from "../data/auth"; import { fetchAuthProviders } from "../data/auth"; import { litLocalizeLiteMixin } from "../mixins/lit-localize-lite-mixin"; import { registerServiceWorker } from "../util/register-service-worker"; -import "./ha-auth-flow"; import("./ha-pick-auth-provider"); diff --git a/src/auth/ha-pick-auth-provider.ts b/src/auth/ha-pick-auth-provider.ts index 2ee93fb2e4..d8299592db 100644 --- a/src/auth/ha-pick-auth-provider.ts +++ b/src/auth/ha-pick-auth-provider.ts @@ -1,11 +1,14 @@ -import "@material/mwc-list"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import type { LocalizeFunc } from "../common/translations/localize"; +import type { AuthProvider } from "../data/auth"; + import "../components/ha-icon-next"; import "../components/ha-list-item"; -import type { AuthProvider } from "../data/auth"; +import "@material/mwc-list"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; declare global { interface HTMLElementTagNameMap { diff --git a/src/cast/cast_manager.ts b/src/cast/cast_manager.ts index 58a2fd0f60..3452755591 100644 --- a/src/cast/cast_manager.ts +++ b/src/cast/cast_manager.ts @@ -1,12 +1,13 @@ /* eslint-disable no-console */ +import type { HassMessage as ReceiverMessage } from "./receiver_messages"; +import type { ReceiverStatusMessage, SenderMessage } from "./sender_messages"; import type { Auth } from "home-assistant-js-websocket"; + import { castApiAvailable } from "./cast_framework"; import { CAST_APP_ID, CAST_DEV, CAST_NS } from "./const"; import { CAST_DEV_HASS_URL } from "./dev_const"; -import type { HassMessage as ReceiverMessage } from "./receiver_messages"; import { castSendAuth } from "./receiver_messages"; -import type { ReceiverStatusMessage, SenderMessage } from "./sender_messages"; let managerProm: Promise | undefined; diff --git a/src/cast/receiver_messages.ts b/src/cast/receiver_messages.ts index 58de177773..edb6cb2ca5 100644 --- a/src/cast/receiver_messages.ts +++ b/src/cast/receiver_messages.ts @@ -1,10 +1,11 @@ // Nessages to be processed inside the Cast Receiver app -import type { Auth } from "home-assistant-js-websocket"; import type { CastManager } from "./cast_manager"; +import type { BaseCastMessage } from "./types"; +import type { Auth } from "home-assistant-js-websocket"; + import { CAST_DEV } from "./const"; import { CAST_DEV_HASS_URL } from "./dev_const"; -import type { BaseCastMessage } from "./types"; export interface GetStatusMessage extends BaseCastMessage { type: "get_status"; diff --git a/src/common/auth/token_storage.ts b/src/common/auth/token_storage.ts index 3610f6b089..0abd9b7cdc 100644 --- a/src/common/auth/token_storage.ts +++ b/src/common/auth/token_storage.ts @@ -1,4 +1,5 @@ import type { AuthData } from "home-assistant-js-websocket"; + import { extractSearchParam } from "../url/search-params"; declare global { diff --git a/src/common/color/colors.ts b/src/common/color/colors.ts index aace900bbd..baa5881b26 100644 --- a/src/common/color/colors.ts +++ b/src/common/color/colors.ts @@ -1,4 +1,5 @@ import memoizeOne from "memoize-one"; + import { theme2hex } from "./convert-color"; export const COLORS = [ diff --git a/src/common/color/convert-color.ts b/src/common/color/convert-color.ts index f325aef1fd..c8a87496b2 100644 --- a/src/common/color/convert-color.ts +++ b/src/common/color/convert-color.ts @@ -1,4 +1,5 @@ import colors from "color-name"; + import { expandHex } from "./hex"; const rgb_hex = (component: number): string => { diff --git a/src/common/config/can_show_page.ts b/src/common/config/can_show_page.ts index a7bec75622..75b471a2fc 100644 --- a/src/common/config/can_show_page.ts +++ b/src/common/config/can_show_page.ts @@ -1,5 +1,6 @@ import type { PageNavigation } from "../../layouts/hass-tabs-subpage"; import type { HomeAssistant } from "../../types"; + import { ensureArray } from "../array/ensure-array"; import { isComponentLoaded } from "./is_component_loaded"; diff --git a/src/common/datetime/absolute_time.ts b/src/common/datetime/absolute_time.ts index 3016aa0ea8..ef652075d9 100644 --- a/src/common/datetime/absolute_time.ts +++ b/src/common/datetime/absolute_time.ts @@ -1,6 +1,8 @@ -import { isSameDay, isSameYear } from "date-fns"; -import type { HassConfig } from "home-assistant-js-websocket"; import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + +import { isSameDay, isSameYear } from "date-fns"; + import { formatShortDateTime, formatShortDateTimeWithYear, diff --git a/src/common/datetime/calc_date.ts b/src/common/datetime/calc_date.ts index bb94dc2bbc..b753030f9e 100644 --- a/src/common/datetime/calc_date.ts +++ b/src/common/datetime/calc_date.ts @@ -1,3 +1,6 @@ +import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + import { addMilliseconds, addMonths, @@ -12,8 +15,7 @@ import { addDays, } from "date-fns"; import { toZonedTime, fromZonedTime } from "date-fns-tz"; -import type { HassConfig } from "home-assistant-js-websocket"; -import type { FrontendLocaleData } from "../../data/translation"; + import { TimeZone } from "../../data/translation"; const calcZonedDate = ( diff --git a/src/common/datetime/calc_date_range.ts b/src/common/datetime/calc_date_range.ts index 4371512dae..8a7cf25b68 100644 --- a/src/common/datetime/calc_date_range.ts +++ b/src/common/datetime/calc_date_range.ts @@ -1,3 +1,5 @@ +import type { HomeAssistant } from "../../types"; + import { addDays, subHours, @@ -14,7 +16,7 @@ import { subDays, subMonths, } from "date-fns"; -import type { HomeAssistant } from "../../types"; + import { calcDate } from "./calc_date"; import { firstWeekdayIndex } from "./first_weekday"; diff --git a/src/common/datetime/first_weekday.ts b/src/common/datetime/first_weekday.ts index c5099702c1..1b072b8cfb 100644 --- a/src/common/datetime/first_weekday.ts +++ b/src/common/datetime/first_weekday.ts @@ -1,5 +1,7 @@ -import { getWeekStartByLocale } from "weekstart"; import type { FrontendLocaleData } from "../../data/translation"; + +import { getWeekStartByLocale } from "weekstart"; + import { FirstWeekday } from "../../data/translation"; export const weekdays = [ diff --git a/src/common/datetime/format_date.ts b/src/common/datetime/format_date.ts index 53b30f1deb..501bc0505e 100644 --- a/src/common/datetime/format_date.ts +++ b/src/common/datetime/format_date.ts @@ -1,6 +1,8 @@ -import type { HassConfig } from "home-assistant-js-websocket"; -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + +import memoizeOne from "memoize-one"; + import { DateFormat } from "../../data/translation"; import { resolveTimeZone } from "./resolve-time-zone"; diff --git a/src/common/datetime/format_date_time.ts b/src/common/datetime/format_date_time.ts index b0d6a5c68e..05ae642bd6 100644 --- a/src/common/datetime/format_date_time.ts +++ b/src/common/datetime/format_date_time.ts @@ -1,6 +1,8 @@ -import type { HassConfig } from "home-assistant-js-websocket"; -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + +import memoizeOne from "memoize-one"; + import { formatDateNumeric } from "./format_date"; import { formatTime } from "./format_time"; import { resolveTimeZone } from "./resolve-time-zone"; diff --git a/src/common/datetime/format_duration.ts b/src/common/datetime/format_duration.ts index c2c0c11d55..15635741ab 100644 --- a/src/common/datetime/format_duration.ts +++ b/src/common/datetime/format_duration.ts @@ -1,7 +1,9 @@ -import type { DurationInput } from "@formatjs/intl-durationformat/src/types"; -import memoizeOne from "memoize-one"; import type { HaDurationData } from "../../components/ha-duration-input"; import type { FrontendLocaleData } from "../../data/translation"; +import type { DurationInput } from "@formatjs/intl-durationformat/src/types"; + +import memoizeOne from "memoize-one"; + import { round } from "../number/round"; const leftPad = (num: number) => (num < 10 ? `0${num}` : num); diff --git a/src/common/datetime/format_time.ts b/src/common/datetime/format_time.ts index 5a124c1540..fefe43fbe5 100644 --- a/src/common/datetime/format_time.ts +++ b/src/common/datetime/format_time.ts @@ -1,6 +1,8 @@ -import type { HassConfig } from "home-assistant-js-websocket"; -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + +import memoizeOne from "memoize-one"; + import { resolveTimeZone } from "./resolve-time-zone"; import { useAmPm } from "./use_am_pm"; diff --git a/src/common/datetime/relative_time.ts b/src/common/datetime/relative_time.ts index bf3722a977..c68f917186 100644 --- a/src/common/datetime/relative_time.ts +++ b/src/common/datetime/relative_time.ts @@ -1,5 +1,7 @@ -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; + +import memoizeOne from "memoize-one"; + import { selectUnit } from "../util/select-unit"; const formatRelTimeMem = memoizeOne( diff --git a/src/common/datetime/use_am_pm.ts b/src/common/datetime/use_am_pm.ts index 9046547898..b1124b36b2 100644 --- a/src/common/datetime/use_am_pm.ts +++ b/src/common/datetime/use_am_pm.ts @@ -1,5 +1,7 @@ -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; + +import memoizeOne from "memoize-one"; + import { TimeFormat } from "../../data/translation"; export const useAmPm = memoizeOne((locale: FrontendLocaleData): boolean => { diff --git a/src/common/decorators/restore-scroll.ts b/src/common/decorators/restore-scroll.ts index b7ba120cf5..9dfb7554f9 100644 --- a/src/common/decorators/restore-scroll.ts +++ b/src/common/decorators/restore-scroll.ts @@ -1,5 +1,6 @@ -import type { LitElement } from "lit"; import type { ClassElement } from "../../types"; +import type { LitElement } from "lit"; + import { throttle } from "../util/throttle"; const throttleReplaceState = throttle((value) => { diff --git a/src/common/decorators/storage.ts b/src/common/decorators/storage.ts index b1e62d9bb3..e8ce4f033a 100644 --- a/src/common/decorators/storage.ts +++ b/src/common/decorators/storage.ts @@ -1,7 +1,7 @@ +import type { ClassElement } from "../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { ReactiveElement } from "lit"; import type { InternalPropertyDeclaration } from "lit/decorators"; -import type { ClassElement } from "../../types"; type Callback = (oldValue: any, newValue: any) => void; diff --git a/src/common/decorators/transform.ts b/src/common/decorators/transform.ts index 62f2effc8b..9f07564430 100644 --- a/src/common/decorators/transform.ts +++ b/src/common/decorators/transform.ts @@ -1,5 +1,6 @@ -import type { PropertyDeclaration, PropertyValues, ReactiveElement } from "lit"; import type { ClassElement } from "../../types"; +import type { PropertyDeclaration, PropertyValues, ReactiveElement } from "lit"; + import { shallowEqual } from "../util/shallow-equal"; /** diff --git a/src/common/dom/apply_themes_on_element.ts b/src/common/dom/apply_themes_on_element.ts index 0fc7061833..df1f4ed85a 100644 --- a/src/common/dom/apply_themes_on_element.ts +++ b/src/common/dom/apply_themes_on_element.ts @@ -1,6 +1,7 @@ import type { ThemeVars } from "../../data/ws-themes"; -import { darkStyles, derivedStyles } from "../../resources/styles-data"; import type { HomeAssistant } from "../../types"; + +import { darkStyles, derivedStyles } from "../../resources/styles-data"; import { hex2rgb, lab2hex, diff --git a/src/common/dom/dynamic-element-directive.ts b/src/common/dom/dynamic-element-directive.ts index 58d9bdc36e..d3bd711fa2 100644 --- a/src/common/dom/dynamic-element-directive.ts +++ b/src/common/dom/dynamic-element-directive.ts @@ -1,5 +1,6 @@ -import { noChange } from "lit"; import type { ChildPart, DirectiveParameters, PartInfo } from "lit/directive"; + +import { noChange } from "lit"; import { Directive, directive, PartType } from "lit/directive"; export const dynamicElement = directive( diff --git a/src/common/entity/can_toggle_state.ts b/src/common/entity/can_toggle_state.ts index afc8dd9f9c..aa08872b4d 100644 --- a/src/common/entity/can_toggle_state.ts +++ b/src/common/entity/can_toggle_state.ts @@ -1,5 +1,6 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + import { canToggleDomain } from "./can_toggle_domain"; import { computeStateDomain } from "./compute_state_domain"; import { supportsFeature } from "./supports-feature"; diff --git a/src/common/entity/compute_attribute_display.ts b/src/common/entity/compute_attribute_display.ts index bee5735f01..6df3a739d6 100644 --- a/src/common/entity/compute_attribute_display.ts +++ b/src/common/entity/compute_attribute_display.ts @@ -1,14 +1,16 @@ +import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; +import type { FrontendLocaleData } from "../../data/translation"; +import type { WeatherEntity } from "../../data/weather"; +import type { HomeAssistant } from "../../types"; +import type { LocalizeFunc } from "../translations/localize"; import type { HassConfig, HassEntity } from "home-assistant-js-websocket"; + import { DOMAIN_ATTRIBUTES_FORMATERS, DOMAIN_ATTRIBUTES_UNITS, TEMPERATURE_ATTRIBUTES, } from "../../data/entity_attributes"; -import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; -import type { FrontendLocaleData } from "../../data/translation"; -import type { WeatherEntity } from "../../data/weather"; import { getWeatherUnit } from "../../data/weather"; -import type { HomeAssistant } from "../../types"; import checkValidDate from "../datetime/check_valid_date"; import { formatDate } from "../datetime/format_date"; import { formatDateTimeWithSeconds } from "../datetime/format_date_time"; @@ -17,7 +19,6 @@ import { capitalizeFirstLetter } from "../string/capitalize-first-letter"; import { isDate } from "../string/is_date"; import { isTimestamp } from "../string/is_timestamp"; import { blankBeforeUnit } from "../translations/blank_before_unit"; -import type { LocalizeFunc } from "../translations/localize"; import { computeDomain } from "./compute_domain"; import { computeStateDomain } from "./compute_state_domain"; diff --git a/src/common/entity/compute_device_name.ts b/src/common/entity/compute_device_name.ts index b0f1cc7d14..9ba31cca51 100644 --- a/src/common/entity/compute_device_name.ts +++ b/src/common/entity/compute_device_name.ts @@ -4,6 +4,7 @@ import type { EntityRegistryEntry, } from "../../data/entity_registry"; import type { HomeAssistant } from "../../types"; + import { computeStateName } from "./compute_state_name"; export const computeDeviceName = ( diff --git a/src/common/entity/compute_entity_name.ts b/src/common/entity/compute_entity_name.ts index 86dd0a096b..f0ae95bf00 100644 --- a/src/common/entity/compute_entity_name.ts +++ b/src/common/entity/compute_entity_name.ts @@ -1,9 +1,10 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { EntityRegistryDisplayEntry, EntityRegistryEntry, } from "../../data/entity_registry"; import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + import { computeDeviceName } from "./compute_device_name"; import { computeStateName } from "./compute_state_name"; import { stripPrefixFromEntityName } from "./strip_prefix_from_entity_name"; diff --git a/src/common/entity/compute_state_display.ts b/src/common/entity/compute_state_display.ts index bd61083c82..b18eb53602 100644 --- a/src/common/entity/compute_state_display.ts +++ b/src/common/entity/compute_state_display.ts @@ -1,12 +1,14 @@ -import type { HassConfig, HassEntity } from "home-assistant-js-websocket"; -import { UNAVAILABLE, UNKNOWN } from "../../data/entity"; import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; import type { FrontendLocaleData } from "../../data/translation"; -import { TimeZone } from "../../data/translation"; import type { HomeAssistant } from "../../types"; -import { DURATION_UNITS, formatDuration } from "../datetime/format_duration"; +import type { LocalizeFunc } from "../translations/localize"; +import type { HassConfig, HassEntity } from "home-assistant-js-websocket"; + +import { UNAVAILABLE, UNKNOWN } from "../../data/entity"; +import { TimeZone } from "../../data/translation"; import { formatDate } from "../datetime/format_date"; import { formatDateTime } from "../datetime/format_date_time"; +import { DURATION_UNITS, formatDuration } from "../datetime/format_duration"; import { formatTime } from "../datetime/format_time"; import { formatNumber, @@ -14,7 +16,6 @@ import { isNumericFromAttributes, } from "../number/format_number"; import { blankBeforeUnit } from "../translations/blank_before_unit"; -import type { LocalizeFunc } from "../translations/localize"; import { computeDomain } from "./compute_domain"; export const computeStateDisplay = ( diff --git a/src/common/entity/compute_state_domain.ts b/src/common/entity/compute_state_domain.ts index 1b972ea22f..53a831b15b 100644 --- a/src/common/entity/compute_state_domain.ts +++ b/src/common/entity/compute_state_domain.ts @@ -1,4 +1,5 @@ import type { HassEntity } from "home-assistant-js-websocket"; + import { computeDomain } from "./compute_domain"; export const computeStateDomain = (stateObj: HassEntity) => diff --git a/src/common/entity/compute_state_name.ts b/src/common/entity/compute_state_name.ts index 4acb52a0c1..b611c4085d 100644 --- a/src/common/entity/compute_state_name.ts +++ b/src/common/entity/compute_state_name.ts @@ -1,4 +1,5 @@ import type { HassEntity } from "home-assistant-js-websocket"; + import { computeObjectId } from "./compute_object_id"; export const computeStateNameFromEntityAttributes = ( diff --git a/src/common/entity/cover_icon.ts b/src/common/entity/cover_icon.ts index facc7688ed..acc1dc3eff 100644 --- a/src/common/entity/cover_icon.ts +++ b/src/common/entity/cover_icon.ts @@ -1,3 +1,5 @@ +import type { HassEntity } from "home-assistant-js-websocket"; + /** Return an icon representing a cover state. */ import { mdiArrowCollapseHorizontal, @@ -5,7 +7,6 @@ import { mdiArrowExpandHorizontal, mdiArrowUp, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; export const computeOpenIcon = (stateObj: HassEntity): string => { switch (stateObj.attributes.device_class) { diff --git a/src/common/entity/delete_entity.ts b/src/common/entity/delete_entity.ts index 4f10471669..0031015846 100644 --- a/src/common/entity/delete_entity.ts +++ b/src/common/entity/delete_entity.ts @@ -1,14 +1,15 @@ -import type { HomeAssistant } from "../../types"; +import type { ConfigEntry } from "../../data/config_entries"; +import type { EntityRegistryEntry } from "../../data/entity_registry"; import type { IntegrationManifest } from "../../data/integration"; -import { computeDomain } from "./compute_domain"; -import { HELPERS_CRUD } from "../../data/helpers_crud"; import type { Helper } from "../../panels/config/helpers/const"; +import type { HomeAssistant } from "../../types"; + +import { deleteConfigEntry } from "../../data/config_entries"; +import { removeEntityRegistryEntry } from "../../data/entity_registry"; +import { HELPERS_CRUD } from "../../data/helpers_crud"; import { isHelperDomain } from "../../panels/config/helpers/const"; import { isComponentLoaded } from "../config/is_component_loaded"; -import type { EntityRegistryEntry } from "../../data/entity_registry"; -import { removeEntityRegistryEntry } from "../../data/entity_registry"; -import type { ConfigEntry } from "../../data/config_entries"; -import { deleteConfigEntry } from "../../data/config_entries"; +import { computeDomain } from "./compute_domain"; export const isDeletableEntity = ( hass: HomeAssistant, diff --git a/src/common/entity/entity_filter.ts b/src/common/entity/entity_filter.ts index ae30422cc7..3dcf00d6b3 100644 --- a/src/common/entity/entity_filter.ts +++ b/src/common/entity/entity_filter.ts @@ -1,5 +1,6 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + import { ensureArray } from "../array/ensure-array"; import { computeDomain } from "./compute_domain"; import { getEntityContext } from "./context/get_entity_context"; diff --git a/src/common/entity/extract_views.ts b/src/common/entity/extract_views.ts index 9c23130f33..a12a7e6e2a 100644 --- a/src/common/entity/extract_views.ts +++ b/src/common/entity/extract_views.ts @@ -1,5 +1,6 @@ -import type { HassEntities } from "home-assistant-js-websocket"; import type { GroupEntity } from "../../data/group"; +import type { HassEntities } from "home-assistant-js-websocket"; + import { DEFAULT_VIEW_ENTITY_ID } from "../const"; // Return an ordered array of available views diff --git a/src/common/entity/feature_class_names.ts b/src/common/entity/feature_class_names.ts index 4398a467fc..d45cbab9d8 100644 --- a/src/common/entity/feature_class_names.ts +++ b/src/common/entity/feature_class_names.ts @@ -1,4 +1,5 @@ import type { HassEntity } from "home-assistant-js-websocket"; + import { supportsFeature } from "./supports-feature"; export type FeatureClassNames = Partial< diff --git a/src/common/entity/get_entity_context.ts b/src/common/entity/get_entity_context.ts index a3d7b8a05b..37eaf8df4b 100644 --- a/src/common/entity/get_entity_context.ts +++ b/src/common/entity/get_entity_context.ts @@ -1,4 +1,3 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { AreaRegistryEntry } from "../../data/area_registry"; import type { DeviceRegistryEntry } from "../../data/device_registry"; import type { @@ -8,6 +7,7 @@ import type { } from "../../data/entity_registry"; import type { FloorRegistryEntry } from "../../data/floor_registry"; import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; interface EntityContext { device: DeviceRegistryEntry | null; diff --git a/src/common/entity/get_group_entities.ts b/src/common/entity/get_group_entities.ts index 4996f4aafa..ea8751b07c 100644 --- a/src/common/entity/get_group_entities.ts +++ b/src/common/entity/get_group_entities.ts @@ -1,5 +1,5 @@ -import type { HassEntities } from "home-assistant-js-websocket"; import type { GroupEntity } from "../../data/group"; +import type { HassEntities } from "home-assistant-js-websocket"; export const getGroupEntities = ( entities: HassEntities, diff --git a/src/common/entity/get_states.ts b/src/common/entity/get_states.ts index c91dfc9990..600bdeb7e1 100644 --- a/src/common/entity/get_states.ts +++ b/src/common/entity/get_states.ts @@ -1,9 +1,10 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { computeStateDomain } from "./compute_state_domain"; -import { UNAVAILABLE_STATES } from "../../data/entity"; import type { HomeAssistant } from "../../types"; -import { computeDomain } from "./compute_domain"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import { UNAVAILABLE_STATES } from "../../data/entity"; import { stringCompare } from "../string/compare"; +import { computeDomain } from "./compute_domain"; +import { computeStateDomain } from "./compute_state_domain"; export const FIXED_DOMAIN_STATES = { alarm_control_panel: [ diff --git a/src/common/entity/get_view_entities.ts b/src/common/entity/get_view_entities.ts index 91c556b7a8..375d2c1d2f 100644 --- a/src/common/entity/get_view_entities.ts +++ b/src/common/entity/get_view_entities.ts @@ -1,5 +1,6 @@ -import type { HassEntities } from "home-assistant-js-websocket"; import type { GroupEntity } from "../../data/group"; +import type { HassEntities } from "home-assistant-js-websocket"; + import { computeDomain } from "./compute_domain"; import { getGroupEntities } from "./get_group_entities"; diff --git a/src/common/entity/split_by_groups.ts b/src/common/entity/split_by_groups.ts index d884916bf5..00656cb638 100644 --- a/src/common/entity/split_by_groups.ts +++ b/src/common/entity/split_by_groups.ts @@ -1,5 +1,6 @@ -import type { HassEntities } from "home-assistant-js-websocket"; import type { GroupEntity } from "../../data/group"; +import type { HassEntities } from "home-assistant-js-websocket"; + import { computeDomain } from "./compute_domain"; // Split a collection into a list of groups and a 'rest' list of ungrouped diff --git a/src/common/entity/state_active.ts b/src/common/entity/state_active.ts index 4f4c928fac..3fac21db5e 100644 --- a/src/common/entity/state_active.ts +++ b/src/common/entity/state_active.ts @@ -1,4 +1,5 @@ import type { HassEntity } from "home-assistant-js-websocket"; + import { isUnavailableState, OFF, UNAVAILABLE } from "../../data/entity"; import { computeDomain } from "./compute_domain"; diff --git a/src/common/entity/state_card_type.ts b/src/common/entity/state_card_type.ts index df6a17b1d9..a3915b4f6e 100644 --- a/src/common/entity/state_card_type.ts +++ b/src/common/entity/state_card_type.ts @@ -1,6 +1,7 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { UNAVAILABLE } from "../../data/entity"; import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import { UNAVAILABLE } from "../../data/entity"; import { DOMAINS_WITH_CARD } from "../const"; import { canToggleState } from "./can_toggle_state"; import { computeStateDomain } from "./compute_state_domain"; diff --git a/src/common/entity/state_color.ts b/src/common/entity/state_color.ts index 474fee0e59..75b3acad08 100644 --- a/src/common/entity/state_color.ts +++ b/src/common/entity/state_color.ts @@ -1,7 +1,8 @@ +import type { GroupEntity } from "../../data/group"; /** Return a color representing a state. */ import type { HassEntity } from "home-assistant-js-websocket"; + import { UNAVAILABLE } from "../../data/entity"; -import type { GroupEntity } from "../../data/group"; import { computeGroupDomain } from "../../data/group"; import { computeCssVariable } from "../../resources/css-variables"; import { slugify } from "../string/slugify"; diff --git a/src/common/entity/state_icon.ts b/src/common/entity/state_icon.ts index 58a63e881e..ac2185529a 100644 --- a/src/common/entity/state_icon.ts +++ b/src/common/entity/state_icon.ts @@ -1,8 +1,9 @@ import type { HassEntity } from "home-assistant-js-websocket"; -import { computeStateDomain } from "./compute_state_domain"; -import { updateIcon } from "./update_icon"; -import { deviceTrackerIcon } from "./device_tracker_icon"; + import { batteryIcon } from "./battery_icon"; +import { computeStateDomain } from "./compute_state_domain"; +import { deviceTrackerIcon } from "./device_tracker_icon"; +import { updateIcon } from "./update_icon"; export const stateIcon = ( stateObj: HassEntity, diff --git a/src/common/entity/states_sort_by_name.ts b/src/common/entity/states_sort_by_name.ts index 06701a8c0c..dd7c2e8f41 100644 --- a/src/common/entity/states_sort_by_name.ts +++ b/src/common/entity/states_sort_by_name.ts @@ -6,6 +6,7 @@ * states.sort(statessortStatesByName); */ import type { HassEntity } from "home-assistant-js-websocket"; + import { computeStateName } from "./compute_state_name"; export const sortStatesByName = (entityA: HassEntity, entityB: HassEntity) => { diff --git a/src/common/entity/update_icon.ts b/src/common/entity/update_icon.ts index 4c80101667..609c2b2629 100644 --- a/src/common/entity/update_icon.ts +++ b/src/common/entity/update_icon.ts @@ -1,5 +1,6 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { UpdateEntity } from "../../data/update"; +import type { HassEntity } from "home-assistant-js-websocket"; + import { updateIsInstalling } from "../../data/update"; export const updateIcon = (stateObj: HassEntity, state?: string) => { diff --git a/src/common/image/extract_color.ts b/src/common/image/extract_color.ts index dece055851..7265286ad3 100644 --- a/src/common/image/extract_color.ts +++ b/src/common/image/extract_color.ts @@ -1,7 +1,9 @@ // We import the minified bundle because the unminified bundle // has some quirks that break wds. See #7784 for unminified version. import type { Swatch, Vec3 } from "@vibrant/color"; + import { Vibrant } from "node-vibrant/browser"; + import { getRGBContrastRatio } from "../color/rgb"; const CONTRAST_RATIO = 4.5; diff --git a/src/common/integrations/protocolIntegrationPicked.ts b/src/common/integrations/protocolIntegrationPicked.ts index 1f7ea0b3b8..d3ca354920 100644 --- a/src/common/integrations/protocolIntegrationPicked.ts +++ b/src/common/integrations/protocolIntegrationPicked.ts @@ -1,4 +1,7 @@ +import type { HomeAssistant } from "../../types"; + import { html } from "lit"; + import { getConfigEntries } from "../../data/config_entries"; import { domainToName } from "../../data/integration"; import { getIntegrationDescriptions } from "../../data/integrations"; @@ -6,7 +9,6 @@ import { showConfigFlowDialog } from "../../dialogs/config-flow/show-dialog-conf import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; import { showMatterAddDeviceDialog } from "../../panels/config/integrations/integration-panels/matter/show-dialog-add-matter-device"; import { showZWaveJSAddNodeDialog } from "../../panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-add-node"; -import type { HomeAssistant } from "../../types"; import { documentationUrl } from "../../util/documentation-url"; import { isComponentLoaded } from "../config/is_component_loaded"; import { navigate } from "../navigate"; diff --git a/src/common/language/format_language.ts b/src/common/language/format_language.ts index e91e5990b7..9ce0874ac1 100644 --- a/src/common/language/format_language.ts +++ b/src/common/language/format_language.ts @@ -1,6 +1,7 @@ -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; +import memoizeOne from "memoize-one"; + export const formatLanguageCode = ( languageCode: string, locale: FrontendLocaleData diff --git a/src/common/map/decorated_marker.ts b/src/common/map/decorated_marker.ts index 69d4cb4cce..6ffe1ef62e 100644 --- a/src/common/map/decorated_marker.ts +++ b/src/common/map/decorated_marker.ts @@ -1,4 +1,5 @@ import type { LatLngExpression, Layer, Map, MarkerOptions } from "leaflet"; + import { Marker } from "leaflet"; export class DecoratedMarker extends Marker { diff --git a/src/common/number/format_number.ts b/src/common/number/format_number.ts index 706d89eec5..a5882b7854 100644 --- a/src/common/number/format_number.ts +++ b/src/common/number/format_number.ts @@ -1,9 +1,10 @@ +import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; +import type { FrontendLocaleData } from "../../data/translation"; import type { HassEntity, HassEntityAttributeBase, } from "home-assistant-js-websocket"; -import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; -import type { FrontendLocaleData } from "../../data/translation"; + import { NumberFormat } from "../../data/translation"; import { round } from "./round"; diff --git a/src/common/string/format-list.ts b/src/common/string/format-list.ts index 7b420a26fa..02e41eaa3d 100644 --- a/src/common/string/format-list.ts +++ b/src/common/string/format-list.ts @@ -1,6 +1,7 @@ -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; +import memoizeOne from "memoize-one"; + export const formatListWithAnds = ( locale: FrontendLocaleData, list: string[] diff --git a/src/common/structs/handle-errors.ts b/src/common/structs/handle-errors.ts index ad5cb080d9..59e06f3d18 100644 --- a/src/common/structs/handle-errors.ts +++ b/src/common/structs/handle-errors.ts @@ -1,6 +1,7 @@ -import { StructError } from "superstruct"; import type { HomeAssistant } from "../../types"; +import { StructError } from "superstruct"; + export const handleStructError = ( hass: HomeAssistant, err: Error diff --git a/src/common/structs/is-custom-type.ts b/src/common/structs/is-custom-type.ts index e5a0082794..0420e737bc 100644 --- a/src/common/structs/is-custom-type.ts +++ b/src/common/structs/is-custom-type.ts @@ -1,4 +1,5 @@ import { refine, string } from "superstruct"; + import { isCustomType } from "../../data/lovelace_custom_cards"; export const customType = () => diff --git a/src/common/translations/blank_before_unit.ts b/src/common/translations/blank_before_unit.ts index 94fc381a6d..b8715eed61 100644 --- a/src/common/translations/blank_before_unit.ts +++ b/src/common/translations/blank_before_unit.ts @@ -1,4 +1,5 @@ import type { FrontendLocaleData } from "../../data/translation"; + import { blankBeforePercent } from "./blank_before_percent"; export const blankBeforeUnit = ( diff --git a/src/common/translations/day_names.ts b/src/common/translations/day_names.ts index 2dae22823a..36cf89cb94 100644 --- a/src/common/translations/day_names.ts +++ b/src/common/translations/day_names.ts @@ -1,7 +1,9 @@ -import { addDays, startOfWeek } from "date-fns"; -import type { HassConfig } from "home-assistant-js-websocket"; -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + +import { addDays, startOfWeek } from "date-fns"; +import memoizeOne from "memoize-one"; + import { formatDateWeekday } from "../datetime/format_date"; export const dayNames = memoizeOne( diff --git a/src/common/translations/entity-state.ts b/src/common/translations/entity-state.ts index 69c4df603d..1cd05787eb 100644 --- a/src/common/translations/entity-state.ts +++ b/src/common/translations/entity-state.ts @@ -1,7 +1,7 @@ -import type { HassConfig, HassEntity } from "home-assistant-js-websocket"; import type { FrontendLocaleData } from "../../data/translation"; import type { HomeAssistant } from "../../types"; import type { LocalizeFunc } from "./localize"; +import type { HassConfig, HassEntity } from "home-assistant-js-websocket"; export type FormatEntityStateFunc = ( stateObj: HassEntity, diff --git a/src/common/translations/localize.ts b/src/common/translations/localize.ts index 0afa6c2a93..40e82c933d 100644 --- a/src/common/translations/localize.ts +++ b/src/common/translations/localize.ts @@ -1,7 +1,8 @@ +import type { Resources, TranslationDict } from "../../types"; import type { IntlMessageFormat } from "intl-messageformat"; import type { HTMLTemplateResult } from "lit"; + import { polyfillLocaleData } from "../../resources/polyfills/locale-data-polyfill"; -import type { Resources, TranslationDict } from "../../types"; import { fireEvent } from "../dom/fire_event"; // Exclude some patterns from key type checking for now diff --git a/src/common/translations/month_names.ts b/src/common/translations/month_names.ts index 0121a6d9a6..2c2d76578a 100644 --- a/src/common/translations/month_names.ts +++ b/src/common/translations/month_names.ts @@ -1,7 +1,9 @@ -import { addMonths, startOfYear } from "date-fns"; -import type { HassConfig } from "home-assistant-js-websocket"; -import memoizeOne from "memoize-one"; import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + +import { addMonths, startOfYear } from "date-fns"; +import memoizeOne from "memoize-one"; + import { formatDateMonth } from "../datetime/format_date"; export const monthNames = memoizeOne( diff --git a/src/common/util/compute_rtl.ts b/src/common/util/compute_rtl.ts index b5bebfbc7d..6be6ab5301 100644 --- a/src/common/util/compute_rtl.ts +++ b/src/common/util/compute_rtl.ts @@ -1,5 +1,5 @@ -import type { LitElement } from "lit"; import type { HomeAssistant } from "../../types"; +import type { LitElement } from "lit"; export function computeRTL(hass: HomeAssistant) { const lang = hass.language || "en"; diff --git a/src/common/util/select-unit.ts b/src/common/util/select-unit.ts index edf2cf364c..cc505032b9 100644 --- a/src/common/util/select-unit.ts +++ b/src/common/util/select-unit.ts @@ -1,5 +1,7 @@ -import { differenceInDays, differenceInWeeks, startOfWeek } from "date-fns"; import type { FrontendLocaleData } from "../../data/translation"; + +import { differenceInDays, differenceInWeeks, startOfWeek } from "date-fns"; + import { firstWeekdayIndex } from "../datetime/first_weekday"; export type Unit = diff --git a/src/components/buttons/ha-call-service-button.ts b/src/components/buttons/ha-call-service-button.ts index 1476ebcffc..484b6e519e 100644 --- a/src/components/buttons/ha-call-service-button.ts +++ b/src/components/buttons/ha-call-service-button.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../types"; +import type { HassServiceTarget } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "./ha-progress-button"; + import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HassServiceTarget } from "home-assistant-js-websocket"; -import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; -import "./ha-progress-button"; -import type { HomeAssistant } from "../../types"; + import { fireEvent } from "../../common/dom/fire_event"; +import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; @customElement("ha-call-service-button") class HaCallServiceButton extends LitElement { diff --git a/src/components/buttons/ha-progress-button.ts b/src/components/buttons/ha-progress-button.ts index a0c535316b..cba4c6c623 100644 --- a/src/components/buttons/ha-progress-button.ts +++ b/src/components/buttons/ha-progress-button.ts @@ -1,11 +1,13 @@ -import { mdiAlertOctagram, mdiCheckBold } from "@mdi/js"; import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../ha-button"; import "../ha-spinner"; import "../ha-svg-icon"; +import { mdiAlertOctagram, mdiCheckBold } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + @customElement("ha-progress-button") export class HaProgressButton extends LitElement { @property() public label?: string; diff --git a/src/components/chart/axis-label.ts b/src/components/chart/axis-label.ts index 1f8f9a8154..6cff820d9f 100644 --- a/src/components/chart/axis-label.ts +++ b/src/components/chart/axis-label.ts @@ -1,5 +1,6 @@ -import type { HassConfig } from "home-assistant-js-websocket"; import type { FrontendLocaleData } from "../../data/translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + import { formatDateMonth, formatDateMonthYear, diff --git a/src/components/chart/ha-chart-base.ts b/src/components/chart/ha-chart-base.ts index f98856cf96..3f7d3437ec 100644 --- a/src/components/chart/ha-chart-base.ts +++ b/src/components/chart/ha-chart-base.ts @@ -1,7 +1,6 @@ -import { consume } from "@lit-labs/context"; -import { ResizeController } from "@lit-labs/observers/resize-controller"; -import { mdiChevronDown, mdiChevronUp, mdiRestart } from "@mdi/js"; -import { differenceInMinutes } from "date-fns"; +import type { Themes } from "../../data/ws-themes"; +import type { ECOption } from "../../resources/echarts"; +import type { HomeAssistant } from "../../types"; import type { DataZoomComponentOption } from "echarts/components"; import type { EChartsType } from "echarts/core"; import type { @@ -11,22 +10,26 @@ import type { YAXisOption, } from "echarts/types/dist/shared"; import type { PropertyValues } from "lit"; + +import "../chips/ha-assist-chip"; +import "../ha-icon-button"; + +import { consume } from "@lit-labs/context"; +import { ResizeController } from "@lit-labs/observers/resize-controller"; +import { mdiChevronDown, mdiChevronUp, mdiRestart } from "@mdi/js"; +import { differenceInMinutes } from "date-fns"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + +import { ensureArray } from "../../common/array/ensure-array"; import { getAllGraphColors } from "../../common/color/colors"; import { fireEvent } from "../../common/dom/fire_event"; import { listenMediaQuery } from "../../common/dom/media_query"; import { themesContext } from "../../data/context"; -import type { Themes } from "../../data/ws-themes"; -import type { ECOption } from "../../resources/echarts"; -import type { HomeAssistant } from "../../types"; import { isMac } from "../../util/is_mac"; -import "../ha-icon-button"; import { formatTimeLabel } from "./axis-label"; -import { ensureArray } from "../../common/array/ensure-array"; -import "../chips/ha-assist-chip"; export const MIN_TIME_BETWEEN_UPDATES = 60 * 5 * 1000; const LEGEND_OVERFLOW_LIMIT = 10; diff --git a/src/components/chart/ha-sankey-chart.ts b/src/components/chart/ha-sankey-chart.ts index 00d0a96d6c..c89cf12d58 100644 --- a/src/components/chart/ha-sankey-chart.ts +++ b/src/components/chart/ha-sankey-chart.ts @@ -1,17 +1,20 @@ -import { customElement, property, state } from "lit/decorators"; -import { LitElement, html, css } from "lit"; -import type { EChartsType } from "echarts/core"; -import type { CallbackDataParams } from "echarts/types/dist/shared"; -import type { SankeySeriesOption } from "echarts/types/dist/echarts"; -import { SankeyChart } from "echarts/charts"; -import memoizeOne from "memoize-one"; -import { ResizeController } from "@lit-labs/observers/resize-controller"; -import type { HomeAssistant } from "../../types"; import type { ECOption } from "../../resources/echarts"; -import { measureTextWidth } from "../../util/text"; -import "./ha-chart-base"; -import { NODE_SIZE } from "../trace/hat-graph-const"; +import type { HomeAssistant } from "../../types"; +import type { EChartsType } from "echarts/core"; +import type { SankeySeriesOption } from "echarts/types/dist/echarts"; +import type { CallbackDataParams } from "echarts/types/dist/shared"; + import "../ha-alert"; +import "./ha-chart-base"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; +import { SankeyChart } from "echarts/charts"; +import { LitElement, html, css } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { measureTextWidth } from "../../util/text"; +import { NODE_SIZE } from "../trace/hat-graph-const"; export interface Node { id: string; diff --git a/src/components/chart/state-history-chart-line.ts b/src/components/chart/state-history-chart-line.ts index 2eb31f2cd1..dd4f231e79 100644 --- a/src/components/chart/state-history-chart-line.ts +++ b/src/components/chart/state-history-chart-line.ts @@ -1,26 +1,27 @@ +import type { LineChartEntity, LineChartState } from "../../data/history"; +import type { ECOption } from "../../resources/echarts"; +import type { HomeAssistant } from "../../types"; +import type { LineSeriesOption } from "echarts/charts"; +import type { VisualMapComponentOption } from "echarts/components"; +import type { YAXisOption } from "echarts/types/dist/shared"; import type { PropertyValues } from "lit"; + import { html, LitElement } from "lit"; import { property, state } from "lit/decorators"; -import type { VisualMapComponentOption } from "echarts/components"; -import type { LineSeriesOption } from "echarts/charts"; -import type { YAXisOption } from "echarts/types/dist/shared"; import { styleMap } from "lit/directives/style-map"; -import { getGraphColorByIndex } from "../../common/color/colors"; -import { computeRTL } from "../../common/util/compute_rtl"; -import type { LineChartEntity, LineChartState } from "../../data/history"; -import type { HomeAssistant } from "../../types"; -import { MIN_TIME_BETWEEN_UPDATES } from "./ha-chart-base"; -import type { ECOption } from "../../resources/echarts"; +import { getGraphColorByIndex } from "../../common/color/colors"; import { formatDateTimeWithSeconds } from "../../common/datetime/format_date_time"; +import { fireEvent } from "../../common/dom/fire_event"; import { getNumberFormatOptions, formatNumber, } from "../../common/number/format_number"; -import { measureTextWidth } from "../../util/text"; -import { fireEvent } from "../../common/dom/fire_event"; -import { CLIMATE_HVAC_ACTION_TO_MODE } from "../../data/climate"; import { blankBeforeUnit } from "../../common/translations/blank_before_unit"; +import { computeRTL } from "../../common/util/compute_rtl"; +import { CLIMATE_HVAC_ACTION_TO_MODE } from "../../data/climate"; +import { measureTextWidth } from "../../util/text"; +import { MIN_TIME_BETWEEN_UPDATES } from "./ha-chart-base"; const safeParseFloat = (value) => { const parsed = parseFloat(value); diff --git a/src/components/chart/state-history-chart-timeline.ts b/src/components/chart/state-history-chart-timeline.ts index 89a59a7513..0a994d815a 100644 --- a/src/components/chart/state-history-chart-timeline.ts +++ b/src/components/chart/state-history-chart-timeline.ts @@ -1,6 +1,6 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; +import type { TimelineEntity } from "../../data/history"; +import type { ECOption } from "../../resources/echarts"; +import type { HomeAssistant } from "../../types"; import type { CustomSeriesOption, CustomSeriesRenderItem, @@ -8,19 +8,21 @@ import type { TooltipFormatterCallback, TooltipPositionCallbackParams, } from "echarts/types/dist/shared"; +import type { PropertyValues } from "lit"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { hex2rgb } from "../../common/color/convert-color"; +import { luminosity } from "../../common/color/rgb"; import { formatDateTimeWithSeconds } from "../../common/datetime/format_date_time"; import millisecondsToDuration from "../../common/datetime/milliseconds_to_duration"; +import { fireEvent } from "../../common/dom/fire_event"; import { computeRTL } from "../../common/util/compute_rtl"; -import type { TimelineEntity } from "../../data/history"; -import type { HomeAssistant } from "../../types"; +import echarts from "../../resources/echarts"; +import { measureTextWidth } from "../../util/text"; import { MIN_TIME_BETWEEN_UPDATES } from "./ha-chart-base"; import { computeTimelineColor } from "./timeline-color"; -import type { ECOption } from "../../resources/echarts"; -import echarts from "../../resources/echarts"; -import { luminosity } from "../../common/color/rgb"; -import { hex2rgb } from "../../common/color/convert-color"; -import { measureTextWidth } from "../../util/text"; -import { fireEvent } from "../../common/dom/fire_event"; @customElement("state-history-chart-timeline") export class StateHistoryChartTimeline extends LitElement { diff --git a/src/components/chart/state-history-charts.ts b/src/components/chart/state-history-charts.ts index 7e89aad514..ad1814b0e6 100644 --- a/src/components/chart/state-history-charts.ts +++ b/src/components/chart/state-history-charts.ts @@ -1,19 +1,22 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, eventOptions, property, state } from "lit/decorators"; -import type { RenderItemFunction } from "@lit-labs/virtualizer/virtualize"; -import { isComponentLoaded } from "../../common/config/is_component_loaded"; -import { restoreScroll } from "../../common/decorators/restore-scroll"; import type { HistoryResult, LineChartUnit, TimelineEntity, } from "../../data/history"; -import { loadVirtualizer } from "../../resources/virtualizer"; import type { HomeAssistant } from "../../types"; +import type { RenderItemFunction } from "@lit-labs/virtualizer/virtualize"; +import type { PropertyValues } from "lit"; + import "./state-history-chart-line"; import "./state-history-chart-timeline"; +import { css, html, LitElement } from "lit"; +import { customElement, eventOptions, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../common/config/is_component_loaded"; +import { restoreScroll } from "../../common/decorators/restore-scroll"; +import { loadVirtualizer } from "../../resources/virtualizer"; + const CANVAS_TIMELINE_ROWS_CHUNK = 10; // Split up the canvases to avoid hitting the render limit const chunkData = (inputArray: any[], chunks: number) => diff --git a/src/components/chart/statistics-chart.ts b/src/components/chart/statistics-chart.ts index 0bec8532ec..139b53f47d 100644 --- a/src/components/chart/statistics-chart.ts +++ b/src/components/chart/statistics-chart.ts @@ -1,16 +1,26 @@ +import type { + Statistics, + StatisticsMetaData, + StatisticType, +} from "../../data/recorder"; +import type { ECOption } from "../../resources/echarts"; +import type { HomeAssistant } from "../../types"; import type { BarSeriesOption, LineSeriesOption, ZRColor, } from "echarts/types/dist/shared"; import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-chart-base"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { getGraphColorByIndex } from "../../common/color/colors"; import { isComponentLoaded } from "../../common/config/is_component_loaded"; - import { formatDateTimeWithSeconds } from "../../common/datetime/format_date_time"; import { formatNumber, @@ -18,20 +28,12 @@ import { } from "../../common/number/format_number"; import { blankBeforeUnit } from "../../common/translations/blank_before_unit"; import { computeRTL } from "../../common/util/compute_rtl"; -import type { - Statistics, - StatisticsMetaData, - StatisticType, -} from "../../data/recorder"; import { getDisplayUnit, getStatisticLabel, getStatisticMetadata, statisticsHaveType, } from "../../data/recorder"; -import type { ECOption } from "../../resources/echarts"; -import type { HomeAssistant } from "../../types"; -import "./ha-chart-base"; export const supportedStatTypeMap: Record = { mean: "mean", diff --git a/src/components/chart/timeline-color.ts b/src/components/chart/timeline-color.ts index e6b666ad68..9cbbb2dcfc 100644 --- a/src/components/chart/timeline-color.ts +++ b/src/components/chart/timeline-color.ts @@ -1,4 +1,5 @@ import type { HassEntity } from "home-assistant-js-websocket"; + import { getGraphColorByIndex } from "../../common/color/colors"; import { hex2rgb, lab2hex, rgb2lab } from "../../common/color/convert-color"; import { labBrighten } from "../../common/color/lab"; diff --git a/src/components/data-table/dialog-data-table-settings.ts b/src/components/data-table/dialog-data-table-settings.ts index 1b23e4927c..ecd0ae6294 100644 --- a/src/components/data-table/dialog-data-table-settings.ts +++ b/src/components/data-table/dialog-data-table-settings.ts @@ -1,23 +1,26 @@ -import "@material/mwc-list"; -import { mdiDrag, mdiEye, mdiEyeOff } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { repeat } from "lit/directives/repeat"; -import memoizeOne from "memoize-one"; -import { haStyleDialog } from "../../resources/styles"; import type { HomeAssistant } from "../../types"; -import { createCloseHeading } from "../ha-dialog"; -import "../ha-list-item"; -import "../ha-sortable"; -import "../ha-button"; import type { DataTableColumnContainer, DataTableColumnData, } from "./ha-data-table"; import type { DataTableSettingsDialogParams } from "./show-dialog-data-table-settings"; +import type { CSSResultGroup } from "lit"; + +import "../ha-button"; +import "../ha-list-item"; +import "../ha-sortable"; +import "@material/mwc-list"; + +import { mdiDrag, mdiEye, mdiEyeOff } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { repeat } from "lit/directives/repeat"; +import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; +import { haStyleDialog } from "../../resources/styles"; +import { createCloseHeading } from "../ha-dialog"; @customElement("dialog-data-table-settings") export class DialogDataTableSettings extends LitElement { diff --git a/src/components/data-table/ha-data-table-icon.ts b/src/components/data-table/ha-data-table-icon.ts index a4b797d82f..1a416b4832 100644 --- a/src/components/data-table/ha-data-table-icon.ts +++ b/src/components/data-table/ha-data-table-icon.ts @@ -1,9 +1,11 @@ import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../ha-svg-icon"; import "../ha-tooltip"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-data-table-icon") class HaDataTableIcon extends LitElement { @property() public tooltip!: string; diff --git a/src/components/data-table/ha-data-table-labels.ts b/src/components/data-table/ha-data-table-labels.ts index ce999fb760..9a1c01e658 100644 --- a/src/components/data-table/ha-data-table-labels.ts +++ b/src/components/data-table/ha-data-table-labels.ts @@ -1,17 +1,20 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; import type { LabelRegistryEntry } from "../../data/label_registry"; -import { computeCssColor } from "../../common/color/compute-color"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../ha-label"; -import { stringCompare } from "../../common/string/compare"; +import type { TemplateResult } from "lit"; + import "../chips/ha-chip-set"; import "../ha-button-menu"; import "../ha-icon"; +import "../ha-label"; import "../ha-list-item"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { computeCssColor } from "../../common/color/compute-color"; +import { fireEvent } from "../../common/dom/fire_event"; +import { stringCompare } from "../../common/string/compare"; + @customElement("ha-data-table-labels") class HaDataTableLabels extends LitElement { @property({ attribute: false }) public labels!: LabelRegistryEntry[]; diff --git a/src/components/data-table/ha-data-table.ts b/src/components/data-table/ha-data-table.ts index 39447ca320..bdc850fb54 100644 --- a/src/components/data-table/ha-data-table.ts +++ b/src/components/data-table/ha-data-table.ts @@ -1,6 +1,14 @@ +import type { LocalizeFunc } from "../../common/translations/localize"; +import type { HomeAssistant } from "../../types"; +import type { HaCheckbox } from "../ha-checkbox"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../ha-checkbox"; +import "../ha-svg-icon"; +import "../search-input"; + import { mdiArrowDown, mdiArrowUp, mdiChevronUp } from "@mdi/js"; import deepClone from "deep-clone-simple"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, @@ -13,21 +21,16 @@ import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { restoreScroll } from "../../common/decorators/restore-scroll"; import { fireEvent } from "../../common/dom/fire_event"; import { stringCompare } from "../../common/string/compare"; import { debounce } from "../../common/util/debounce"; import { groupBy } from "../../common/util/group-by"; +import { nextRender } from "../../common/util/render-status"; import { haStyleScrollbar } from "../../resources/styles"; import { loadVirtualizer } from "../../resources/virtualizer"; -import type { HomeAssistant } from "../../types"; -import "../ha-checkbox"; -import type { HaCheckbox } from "../ha-checkbox"; -import "../ha-svg-icon"; -import "../search-input"; import { filterData, sortData } from "./sort-filter"; -import type { LocalizeFunc } from "../../common/translations/localize"; -import { nextRender } from "../../common/util/render-status"; export interface RowClickedEvent { id: string; diff --git a/src/components/data-table/show-dialog-data-table-settings.ts b/src/components/data-table/show-dialog-data-table-settings.ts index d4fc995a08..8402e6fc6a 100644 --- a/src/components/data-table/show-dialog-data-table-settings.ts +++ b/src/components/data-table/show-dialog-data-table-settings.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { LocalizeFunc } from "../../common/translations/localize"; import type { DataTableColumnContainer } from "./ha-data-table"; +import { fireEvent } from "../../common/dom/fire_event"; + export interface DataTableSettingsDialogParams { columns: DataTableColumnContainer; onUpdate: ( diff --git a/src/components/data-table/sort-filter-worker.ts b/src/components/data-table/sort-filter-worker.ts index b34ec899ff..4066bb90d1 100644 --- a/src/components/data-table/sort-filter-worker.ts +++ b/src/components/data-table/sort-filter-worker.ts @@ -1,6 +1,3 @@ -import { expose } from "comlink"; -import { stringCompare } from "../../common/string/compare"; -import { stripDiacritics } from "../../common/string/strip-diacritics"; import type { ClonedDataTableColumnData, DataTableRowData, @@ -8,6 +5,11 @@ import type { SortingDirection, } from "./ha-data-table"; +import { expose } from "comlink"; + +import { stringCompare } from "../../common/string/compare"; +import { stripDiacritics } from "../../common/string/strip-diacritics"; + const filterData = ( data: DataTableRowData[], columns: SortableColumnContainer, diff --git a/src/components/data-table/sort-filter.ts b/src/components/data-table/sort-filter.ts index 0fbcba56fa..0b15f1d002 100644 --- a/src/components/data-table/sort-filter.ts +++ b/src/components/data-table/sort-filter.ts @@ -1,6 +1,7 @@ -import type { Remote } from "comlink"; -import { wrap } from "comlink"; import type { Api } from "./sort-filter-worker"; +import type { Remote } from "comlink"; + +import { wrap } from "comlink"; type FilterDataType = Api["filterData"]; type FilterDataParamTypes = Parameters; diff --git a/src/components/date-range-picker.ts b/src/components/date-range-picker.ts index 22734ca3b5..07b6798597 100644 --- a/src/components/date-range-picker.ts +++ b/src/components/date-range-picker.ts @@ -1,14 +1,16 @@ +// @ts-ignore +import dateRangePickerStyles from "vue2-daterange-picker/dist/vue2-daterange-picker.css"; + import wrap from "@vue/web-component-wrapper"; import { customElement } from "lit/decorators"; import Vue from "vue"; import DateRangePicker from "vue2-daterange-picker"; -// @ts-ignore -import dateRangePickerStyles from "vue2-daterange-picker/dist/vue2-daterange-picker.css"; -import { fireEvent } from "../common/dom/fire_event"; + import { localizeWeekdays, localizeMonths, } from "../common/datetime/localize_date"; +import { fireEvent } from "../common/dom/fire_event"; import { mainWindow } from "../common/dom/get_main_window"; // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/src/components/device/ha-device-action-picker.ts b/src/components/device/ha-device-action-picker.ts index 7e6dea1acb..91ac3a8ba6 100644 --- a/src/components/device/ha-device-action-picker.ts +++ b/src/components/device/ha-device-action-picker.ts @@ -1,5 +1,7 @@ -import { customElement } from "lit/decorators"; import type { DeviceAction } from "../../data/device_automation"; + +import { customElement } from "lit/decorators"; + import { fetchDeviceActions, localizeDeviceAutomationAction, diff --git a/src/components/device/ha-device-automation-picker.ts b/src/components/device/ha-device-automation-picker.ts index b79ac97e41..da0d430144 100644 --- a/src/components/device/ha-device-automation-picker.ts +++ b/src/components/device/ha-device-automation-picker.ts @@ -1,17 +1,20 @@ -import { consume } from "@lit-labs/context"; +import type { DeviceAutomation } from "../../data/device_automation"; +import type { EntityRegistryEntry } from "../../data/entity_registry"; +import type { HomeAssistant } from "../../types"; + +import "../ha-select"; import "@material/mwc-list/mwc-list-item"; + +import { consume } from "@lit-labs/context"; import { css, html, LitElement, nothing } from "lit"; import { property, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; import { fullEntitiesContext } from "../../data/context"; -import type { DeviceAutomation } from "../../data/device_automation"; import { deviceAutomationsEqual, sortDeviceAutomations, } from "../../data/device_automation"; -import type { EntityRegistryEntry } from "../../data/entity_registry"; -import type { HomeAssistant } from "../../types"; -import "../ha-select"; const NO_AUTOMATION_KEY = "NO_AUTOMATION"; const UNKNOWN_AUTOMATION_KEY = "UNKNOWN_AUTOMATION"; diff --git a/src/components/device/ha-device-condition-picker.ts b/src/components/device/ha-device-condition-picker.ts index af59d0a4c6..c69b705560 100644 --- a/src/components/device/ha-device-condition-picker.ts +++ b/src/components/device/ha-device-condition-picker.ts @@ -1,5 +1,7 @@ -import { customElement } from "lit/decorators"; import type { DeviceCondition } from "../../data/device_automation"; + +import { customElement } from "lit/decorators"; + import { fetchDeviceConditions, localizeDeviceAutomationCondition, diff --git a/src/components/device/ha-device-picker.ts b/src/components/device/ha-device-picker.ts index 8d8cb13f35..00ca2e72ee 100644 --- a/src/components/device/ha-device-picker.ts +++ b/src/components/device/ha-device-picker.ts @@ -1,26 +1,29 @@ -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../common/entity/compute_device_name"; -import { computeDomain } from "../../common/entity/compute_domain"; -import { stringCompare } from "../../common/string/compare"; import type { ScorableTextItem } from "../../common/string/filter/sequence-matching"; -import { fuzzyFilterSort } from "../../common/string/filter/sequence-matching"; import type { DeviceEntityDisplayLookup, DeviceRegistryEntry, } from "../../data/device_registry"; -import { getDeviceEntityDisplayLookup } from "../../data/device_registry"; import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; import type { HomeAssistant, ValueChangedEvent } from "../../types"; -import "../ha-combo-box"; import type { HaComboBox } from "../ha-combo-box"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-combo-box"; import "../ha-list-item"; +import { LitElement, html } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../../common/entity/compute_device_name"; +import { computeDomain } from "../../common/entity/compute_domain"; +import { stringCompare } from "../../common/string/compare"; +import { fuzzyFilterSort } from "../../common/string/filter/sequence-matching"; +import { getDeviceEntityDisplayLookup } from "../../data/device_registry"; + interface Device { name: string; area: string; diff --git a/src/components/device/ha-device-trigger-picker.ts b/src/components/device/ha-device-trigger-picker.ts index a57ab1c8fc..b0a645d338 100644 --- a/src/components/device/ha-device-trigger-picker.ts +++ b/src/components/device/ha-device-trigger-picker.ts @@ -1,5 +1,7 @@ -import { customElement } from "lit/decorators"; import type { DeviceTrigger } from "../../data/device_automation"; + +import { customElement } from "lit/decorators"; + import { fetchDeviceTriggers, localizeDeviceAutomationTrigger, diff --git a/src/components/device/ha-devices-picker.ts b/src/components/device/ha-devices-picker.ts index 8c6a2fb570..55fb5f3053 100644 --- a/src/components/device/ha-devices-picker.ts +++ b/src/components/device/ha-devices-picker.ts @@ -1,13 +1,16 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { ValueChangedEvent, HomeAssistant } from "../../types"; -import "./ha-device-picker"; import type { HaDevicePickerDeviceFilterFunc, HaDevicePickerEntityFilterFunc, } from "./ha-device-picker"; +import "./ha-device-picker"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-devices-picker") class HaDevicesPicker extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/components/entity/ha-battery-icon.ts b/src/components/entity/ha-battery-icon.ts index e0f40d9068..e82ab76544 100644 --- a/src/components/entity/ha-battery-icon.ts +++ b/src/components/entity/ha-battery-icon.ts @@ -1,8 +1,11 @@ import type { HassEntity } from "home-assistant-js-websocket"; + +import "../ha-icon"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { batteryLevelIcon } from "../../common/entity/battery_icon"; -import "../ha-icon"; @customElement("ha-battery-icon") export class HaBatteryIcon extends LitElement { diff --git a/src/components/entity/ha-entities-picker.ts b/src/components/entity/ha-entities-picker.ts index c847538cb2..32ffa4b81a 100644 --- a/src/components/entity/ha-entities-picker.ts +++ b/src/components/entity/ha-entities-picker.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant, ValueChangedEvent } from "../../types"; +import type { HaEntityPickerEntityFilterFunc } from "./ha-entity-picker"; + +import "./ha-entity-picker"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; import { isValidEntityId } from "../../common/entity/valid_entity_id"; -import type { HomeAssistant, ValueChangedEvent } from "../../types"; -import "./ha-entity-picker"; -import type { HaEntityPickerEntityFilterFunc } from "./ha-entity-picker"; @customElement("ha-entities-picker") class HaEntitiesPickerLight extends LitElement { diff --git a/src/components/entity/ha-entity-attribute-picker.ts b/src/components/entity/ha-entity-attribute-picker.ts index 2468f6fe71..f1c3c9c203 100644 --- a/src/components/entity/ha-entity-attribute-picker.ts +++ b/src/components/entity/ha-entity-attribute-picker.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant, ValueChangedEvent } from "../../types"; +import type { HaComboBox } from "../ha-combo-box"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../ha-combo-box"; + import { LitElement, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { computeAttributeNameDisplay } from "../../common/entity/compute_attribute_display"; -import type { HomeAssistant, ValueChangedEvent } from "../../types"; -import "../ha-combo-box"; -import type { HaComboBox } from "../ha-combo-box"; export type HaEntityPickerEntityFilterFunc = (entityId: HassEntity) => boolean; diff --git a/src/components/entity/ha-entity-picker.ts b/src/components/entity/ha-entity-picker.ts index 900b72bddb..5351a93432 100644 --- a/src/components/entity/ha-entity-picker.ts +++ b/src/components/entity/ha-entity-picker.ts @@ -1,26 +1,29 @@ -import "../ha-list-item"; +import type { ScorableTextItem } from "../../common/string/filter/sequence-matching"; +import type { HelperDomain } from "../../panels/config/helpers/const"; +import type { ValueChangedEvent, HomeAssistant } from "../../types"; +import type { HaComboBox } from "../ha-combo-box"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-combo-box"; +import "../ha-icon-button"; +import "../ha-list-item"; +import "../ha-svg-icon"; +import "./state-badge"; + import { html, LitElement } from "lit"; -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; import { computeStateName } from "../../common/entity/compute_state_name"; -import type { ScorableTextItem } from "../../common/string/filter/sequence-matching"; -import { fuzzyFilterSort } from "../../common/string/filter/sequence-matching"; -import type { ValueChangedEvent, HomeAssistant } from "../../types"; -import "../ha-combo-box"; -import type { HaComboBox } from "../ha-combo-box"; -import "../ha-icon-button"; -import "../ha-svg-icon"; -import "./state-badge"; import { caseInsensitiveStringCompare } from "../../common/string/compare"; -import { showHelperDetailDialog } from "../../panels/config/helpers/show-dialog-helper-detail"; +import { fuzzyFilterSort } from "../../common/string/filter/sequence-matching"; import { domainToName } from "../../data/integration"; -import type { HelperDomain } from "../../panels/config/helpers/const"; import { isHelperDomain } from "../../panels/config/helpers/const"; +import { showHelperDetailDialog } from "../../panels/config/helpers/show-dialog-helper-detail"; interface HassEntityWithCachedName extends HassEntity, ScorableTextItem { friendly_name: string; diff --git a/src/components/entity/ha-entity-state-content-picker.ts b/src/components/entity/ha-entity-state-content-picker.ts index 2e1e25c988..fc61fbcec2 100644 --- a/src/components/entity/ha-entity-state-content-picker.ts +++ b/src/components/entity/ha-entity-state-content-picker.ts @@ -1,10 +1,19 @@ -import { mdiDrag } from "@mdi/js"; +import type { HomeAssistant, ValueChangedEvent } from "../../types"; +import type { HaComboBox } from "../ha-combo-box"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../chips/ha-chip-set"; +import "../chips/ha-input-chip"; +import "../ha-combo-box"; +import "../ha-sortable"; + +import { mdiDrag } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../common/array/ensure-array"; import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; @@ -12,12 +21,6 @@ import { STATE_DISPLAY_SPECIAL_CONTENT, STATE_DISPLAY_SPECIAL_CONTENT_DOMAINS, } from "../../state-display/state-display"; -import type { HomeAssistant, ValueChangedEvent } from "../../types"; -import "../ha-combo-box"; -import "../ha-sortable"; -import "../chips/ha-input-chip"; -import "../chips/ha-chip-set"; -import type { HaComboBox } from "../ha-combo-box"; const HIDDEN_ATTRIBUTES = [ "access_token", diff --git a/src/components/entity/ha-entity-state-picker.ts b/src/components/entity/ha-entity-state-picker.ts index f54a8e5cd8..34062cb3a3 100644 --- a/src/components/entity/ha-entity-state-picker.ts +++ b/src/components/entity/ha-entity-state-picker.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant, ValueChangedEvent } from "../../types"; +import type { HaComboBox } from "../ha-combo-box"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../ha-combo-box"; + import { LitElement, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; import { getStates } from "../../common/entity/get_states"; -import type { HomeAssistant, ValueChangedEvent } from "../../types"; -import "../ha-combo-box"; -import type { HaComboBox } from "../ha-combo-box"; export type HaEntityPickerEntityFilterFunc = (entityId: HassEntity) => boolean; diff --git a/src/components/entity/ha-entity-toggle.ts b/src/components/entity/ha-entity-toggle.ts index 10db5b67e0..20f872618f 100644 --- a/src/components/entity/ha-entity-toggle.ts +++ b/src/components/entity/ha-entity-toggle.ts @@ -1,17 +1,20 @@ -import { mdiFlash, mdiFlashOff } from "@mdi/js"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-formfield"; +import "../ha-icon-button"; +import "../ha-switch"; + +import { mdiFlash, mdiFlashOff } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { STATES_OFF } from "../../common/const"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { computeStateName } from "../../common/entity/compute_state_name"; import { UNAVAILABLE, UNKNOWN, isUnavailableState } from "../../data/entity"; import { forwardHaptic } from "../../data/haptics"; -import type { HomeAssistant } from "../../types"; -import "../ha-formfield"; -import "../ha-icon-button"; -import "../ha-switch"; const isOn = (stateObj?: HassEntity) => stateObj !== undefined && diff --git a/src/components/entity/ha-state-label-badge.ts b/src/components/entity/ha-state-label-badge.ts index 2f136991ba..528029ed2d 100644 --- a/src/components/entity/ha-state-label-badge.ts +++ b/src/components/entity/ha-state-label-badge.ts @@ -1,9 +1,16 @@ -import { mdiAlert } from "@mdi/js"; +import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-label-badge"; +import "../ha-state-icon"; + +import { mdiAlert } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { arrayLiteralIncludes } from "../../common/array/literal-includes"; import secondsToDuration from "../../common/datetime/seconds_to_duration"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; @@ -15,11 +22,7 @@ import { isNumericState, } from "../../common/number/format_number"; import { isUnavailableState, UNAVAILABLE, UNKNOWN } from "../../data/entity"; -import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; import { timerTimeRemaining } from "../../data/timer"; -import type { HomeAssistant } from "../../types"; -import "../ha-label-badge"; -import "../ha-state-icon"; // Define the domains whose states have special truncated strings const TRUNCATED_DOMAINS = [ diff --git a/src/components/entity/ha-statistic-picker.ts b/src/components/entity/ha-statistic-picker.ts index 78ffb8d247..6a1fc7f583 100644 --- a/src/components/entity/ha-statistic-picker.ts +++ b/src/components/entity/ha-statistic-picker.ts @@ -1,23 +1,26 @@ -import "@material/mwc-list/mwc-list-item"; +import type { ScorableTextItem } from "../../common/string/filter/sequence-matching"; +import type { StatisticsMetaData } from "../../data/recorder"; +import type { ValueChangedEvent, HomeAssistant } from "../../types"; +import type { HaComboBox } from "../ha-combo-box"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-combo-box"; +import "../ha-svg-icon"; +import "./state-badge"; +import "@material/mwc-list/mwc-list-item"; + import { html, LitElement, nothing } from "lit"; -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../common/array/ensure-array"; import { fireEvent } from "../../common/dom/fire_event"; import { stringCompare } from "../../common/string/compare"; -import type { StatisticsMetaData } from "../../data/recorder"; -import { getStatisticIds, getStatisticLabel } from "../../data/recorder"; -import type { ValueChangedEvent, HomeAssistant } from "../../types"; -import { documentationUrl } from "../../util/documentation-url"; -import "../ha-combo-box"; -import type { HaComboBox } from "../ha-combo-box"; -import "../ha-svg-icon"; -import "./state-badge"; -import type { ScorableTextItem } from "../../common/string/filter/sequence-matching"; import { fuzzyFilterSort } from "../../common/string/filter/sequence-matching"; +import { getStatisticIds, getStatisticLabel } from "../../data/recorder"; +import { documentationUrl } from "../../util/documentation-url"; interface StatisticItem extends ScorableTextItem { id: string; diff --git a/src/components/entity/ha-statistics-picker.ts b/src/components/entity/ha-statistics-picker.ts index d731b2ec20..730061f713 100644 --- a/src/components/entity/ha-statistics-picker.ts +++ b/src/components/entity/ha-statistics-picker.ts @@ -1,9 +1,12 @@ +import type { ValueChangedEvent, HomeAssistant } from "../../types"; + +import "./ha-statistic-picker"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { ValueChangedEvent, HomeAssistant } from "../../types"; -import "./ha-statistic-picker"; @customElement("ha-statistics-picker") class HaStatisticsPicker extends LitElement { diff --git a/src/components/entity/state-badge.ts b/src/components/entity/state-badge.ts index 1ca73b9882..1d92c714aa 100644 --- a/src/components/entity/state-badge.ts +++ b/src/components/entity/state-badge.ts @@ -1,10 +1,15 @@ -import { mdiAlert } from "@mdi/js"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../ha-state-icon"; + +import { mdiAlert } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; + import { computeDomain } from "../../common/entity/compute_domain"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { @@ -14,8 +19,6 @@ import { import { iconColorCSS } from "../../common/style/icon_color_css"; import { cameraUrlWithWidthHeight } from "../../data/camera"; import { CLIMATE_HVAC_ACTION_TO_MODE } from "../../data/climate"; -import type { HomeAssistant } from "../../types"; -import "../ha-state-icon"; export class StateBadge extends LitElement { public hass?: HomeAssistant; diff --git a/src/components/entity/state-info.ts b/src/components/entity/state-info.ts index 15d274bb21..63bbc5b524 100644 --- a/src/components/entity/state-info.ts +++ b/src/components/entity/state-info.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../ha-relative-time"; +import "../ha-tooltip"; +import "./state-badge"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { computeStateName } from "../../common/entity/compute_state_name"; -import type { HomeAssistant } from "../../types"; -import "../ha-relative-time"; -import "./state-badge"; -import "../ha-tooltip"; @customElement("state-info") class StateInfo extends LitElement { diff --git a/src/components/ha-absolute-time.ts b/src/components/ha-absolute-time.ts index 935c4e8ff0..56496c0552 100644 --- a/src/components/ha-absolute-time.ts +++ b/src/components/ha-absolute-time.ts @@ -1,9 +1,11 @@ -import { addDays, differenceInMilliseconds, startOfDay } from "date-fns"; +import type { HomeAssistant } from "../types"; import type { PropertyValues } from "lit"; + +import { addDays, differenceInMilliseconds, startOfDay } from "date-fns"; import { ReactiveElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { absoluteTime } from "../common/datetime/absolute_time"; -import type { HomeAssistant } from "../types"; const SAFE_MARGIN = 5 * 1000; diff --git a/src/components/ha-addon-picker.ts b/src/components/ha-addon-picker.ts index 80889bbe13..990381c6ce 100644 --- a/src/components/ha-addon-picker.ts +++ b/src/components/ha-addon-picker.ts @@ -1,16 +1,19 @@ +import type { HassioAddonInfo } from "../data/hassio/addon"; +import type { HomeAssistant, ValueChangedEvent } from "../types"; +import type { HaComboBox } from "./ha-combo-box"; import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; + +import "./ha-alert"; +import "./ha-combo-box"; +import "./ha-list-item"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { isComponentLoaded } from "../common/config/is_component_loaded"; import { fireEvent } from "../common/dom/fire_event"; import { stringCompare } from "../common/string/compare"; -import type { HassioAddonInfo } from "../data/hassio/addon"; import { fetchHassioAddonsInfo } from "../data/hassio/addon"; -import type { HomeAssistant, ValueChangedEvent } from "../types"; -import "./ha-alert"; -import "./ha-combo-box"; -import type { HaComboBox } from "./ha-combo-box"; -import "./ha-list-item"; const rowRenderer: ComboBoxLitRenderer = (item) => html` diff --git a/src/components/ha-alert.ts b/src/components/ha-alert.ts index 889894f35a..6974ee4725 100644 --- a/src/components/ha-alert.ts +++ b/src/components/ha-alert.ts @@ -1,3 +1,6 @@ +import "./ha-icon-button"; +import "./ha-svg-icon"; + import { mdiAlertCircleOutline, mdiAlertOutline, @@ -8,9 +11,8 @@ import { import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../common/dom/fire_event"; -import "./ha-icon-button"; -import "./ha-svg-icon"; const ALERT_ICONS = { info: mdiInformationOutline, diff --git a/src/components/ha-aliases-editor.ts b/src/components/ha-aliases-editor.ts index 6672293598..58ddb9063a 100644 --- a/src/components/ha-aliases-editor.ts +++ b/src/components/ha-aliases-editor.ts @@ -1,8 +1,11 @@ +import type { HomeAssistant } from "../types"; + +import "./ha-multi-textfield"; + import { LitElement, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; -import type { HomeAssistant } from "../types"; -import "./ha-multi-textfield"; @customElement("ha-aliases-editor") class AliasesEditor extends LitElement { diff --git a/src/components/ha-analytics.ts b/src/components/ha-analytics.ts index 74cb5e6e64..101594e815 100644 --- a/src/components/ha-analytics.ts +++ b/src/components/ha-analytics.ts @@ -1,14 +1,17 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import type { LocalizeFunc } from "../common/translations/localize"; import type { Analytics, AnalyticsPreferences } from "../data/analytics"; -import { haStyle } from "../resources/styles"; +import type { HaSwitch } from "./ha-switch"; +import type { CSSResultGroup, TemplateResult } from "lit"; + import "./ha-settings-row"; import "./ha-switch"; import "./ha-tooltip"; -import type { HaSwitch } from "./ha-switch"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { haStyle } from "../resources/styles"; const ADDITIONAL_PREFERENCES = ["usage", "statistics"] as const; diff --git a/src/components/ha-area-floor-picker.ts b/src/components/ha-area-floor-picker.ts index c5e4a7a3dc..79c2382774 100644 --- a/src/components/ha-area-floor-picker.ts +++ b/src/components/ha-area-floor-picker.ts @@ -1,36 +1,39 @@ -import { mdiTextureBox } from "@mdi/js"; -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../common/dom/fire_event"; -import { computeDomain } from "../common/entity/compute_domain"; -import { stringCompare } from "../common/string/compare"; import type { ScorableTextItem } from "../common/string/filter/sequence-matching"; -import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; -import { computeRTL } from "../common/util/compute_rtl"; import type { AreaRegistryEntry } from "../data/area_registry"; import type { DeviceEntityDisplayLookup, DeviceRegistryEntry, } from "../data/device_registry"; -import { getDeviceEntityDisplayLookup } from "../data/device_registry"; import type { EntityRegistryDisplayEntry } from "../data/entity_registry"; import type { FloorRegistryEntry } from "../data/floor_registry"; -import { getFloorAreaLookup } from "../data/floor_registry"; import type { HomeAssistant, ValueChangedEvent } from "../types"; import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; -import "./ha-combo-box"; import type { HaComboBox } from "./ha-combo-box"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-combo-box"; import "./ha-floor-icon"; import "./ha-icon-button"; import "./ha-list-item"; import "./ha-svg-icon"; import "./ha-tree-indicator"; +import { mdiTextureBox } from "@mdi/js"; +import { LitElement, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../common/dom/fire_event"; +import { computeDomain } from "../common/entity/compute_domain"; +import { stringCompare } from "../common/string/compare"; +import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; +import { computeRTL } from "../common/util/compute_rtl"; +import { getDeviceEntityDisplayLookup } from "../data/device_registry"; +import { getFloorAreaLookup } from "../data/floor_registry"; + type ScorableAreaFloorEntry = ScorableTextItem & FloorAreaEntry; interface FloorAreaEntry { diff --git a/src/components/ha-area-picker.ts b/src/components/ha-area-picker.ts index cbad36bc03..718b2d838c 100644 --- a/src/components/ha-area-picker.ts +++ b/src/components/ha-area-picker.ts @@ -1,33 +1,36 @@ -import { mdiTextureBox } from "@mdi/js"; -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../common/dom/fire_event"; -import { computeDomain } from "../common/entity/compute_domain"; import type { ScorableTextItem } from "../common/string/filter/sequence-matching"; -import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; import type { AreaRegistryEntry } from "../data/area_registry"; -import { createAreaRegistryEntry } from "../data/area_registry"; import type { DeviceEntityDisplayLookup, DeviceRegistryEntry, } from "../data/device_registry"; -import { getDeviceEntityDisplayLookup } from "../data/device_registry"; import type { EntityRegistryDisplayEntry } from "../data/entity_registry"; -import { showAlertDialog } from "../dialogs/generic/show-dialog-box"; -import { showAreaRegistryDetailDialog } from "../panels/config/areas/show-dialog-area-registry-detail"; import type { HomeAssistant, ValueChangedEvent } from "../types"; import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; -import "./ha-combo-box"; import type { HaComboBox } from "./ha-combo-box"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-combo-box"; import "./ha-icon-button"; import "./ha-list-item"; import "./ha-svg-icon"; +import { mdiTextureBox } from "@mdi/js"; +import { LitElement, html } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../common/dom/fire_event"; +import { computeDomain } from "../common/entity/compute_domain"; +import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; +import { createAreaRegistryEntry } from "../data/area_registry"; +import { getDeviceEntityDisplayLookup } from "../data/device_registry"; +import { showAlertDialog } from "../dialogs/generic/show-dialog-box"; +import { showAreaRegistryDetailDialog } from "../panels/config/areas/show-dialog-area-registry-detail"; + type ScorableAreaRegistryEntry = ScorableTextItem & AreaRegistryEntry; const rowRenderer: ComboBoxLitRenderer = (item) => diff --git a/src/components/ha-areas-display-editor.ts b/src/components/ha-areas-display-editor.ts index 4215b08c0c..c93cc5f5aa 100644 --- a/src/components/ha-areas-display-editor.ts +++ b/src/components/ha-areas-display-editor.ts @@ -1,16 +1,19 @@ -import { mdiTextureBox } from "@mdi/js"; +import type { HomeAssistant } from "../types"; +import type { DisplayItem, DisplayValue } from "./ha-items-display-editor"; import type { TemplateResult } from "lit"; + +import "./ha-expansion-panel"; +import "./ha-items-display-editor"; +import "./ha-svg-icon"; +import "./ha-textfield"; + +import { mdiTextureBox } from "@mdi/js"; import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { getAreaContext } from "../common/entity/context/get_area_context"; import { areaCompare } from "../data/area_registry"; -import type { HomeAssistant } from "../types"; -import "./ha-expansion-panel"; -import "./ha-items-display-editor"; -import type { DisplayItem, DisplayValue } from "./ha-items-display-editor"; -import "./ha-svg-icon"; -import "./ha-textfield"; export interface AreasDisplayValue { hidden?: string[]; diff --git a/src/components/ha-areas-picker.ts b/src/components/ha-areas-picker.ts index 088a9dcde3..ce4df331eb 100644 --- a/src/components/ha-areas-picker.ts +++ b/src/components/ha-areas-picker.ts @@ -1,12 +1,15 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; -import { SubscribeMixin } from "../mixins/subscribe-mixin"; import type { HomeAssistant } from "../types"; import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; +import type { HassEntity } from "home-assistant-js-websocket"; + import "./ha-area-picker"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { SubscribeMixin } from "../mixins/subscribe-mixin"; + @customElement("ha-areas-picker") export class HaAreasPicker extends SubscribeMixin(LitElement) { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-assist-chat.ts b/src/components/ha-assist-chat.ts index 36d5ece3a4..cd9de7d33f 100644 --- a/src/components/ha-assist-chat.ts +++ b/src/components/ha-assist-chat.ts @@ -1,21 +1,25 @@ +import type { HomeAssistant } from "../types"; +import type { HaTextField } from "./ha-textfield"; import type { PropertyValues, TemplateResult } from "lit"; -import { css, LitElement, html, nothing } from "lit"; + +import "./ha-alert"; +import "./ha-textfield"; + import { mdiAlertCircle, mdiMicrophone, mdiSend } from "@mdi/js"; +import { css, LitElement, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import type { HomeAssistant } from "../types"; + +import { supportsFeature } from "../common/entity/supports-feature"; import { runAssistPipeline, type AssistPipeline, } from "../data/assist_pipeline"; -import { supportsFeature } from "../common/entity/supports-feature"; import { ConversationEntityFeature } from "../data/conversation"; -import { AudioRecorder } from "../util/audio-recorder"; -import "./ha-alert"; -import "./ha-textfield"; -import type { HaTextField } from "./ha-textfield"; -import { documentationUrl } from "../util/documentation-url"; import { showAlertDialog } from "../dialogs/generic/show-dialog-box"; +import { AudioRecorder } from "../util/audio-recorder"; +import { documentationUrl } from "../util/documentation-url"; + interface AssistMessage { who: string; diff --git a/src/components/ha-assist-pipeline-picker.ts b/src/components/ha-assist-pipeline-picker.ts index 97013bc507..90c8bc198e 100644 --- a/src/components/ha-assist-pipeline-picker.ts +++ b/src/components/ha-assist-pipeline-picker.ts @@ -1,15 +1,18 @@ +import type { AssistPipeline } from "../data/assist_pipeline"; +import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; import type { PropertyValueMap } from "lit"; + +import "./ha-list-item"; +import "./ha-select"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { formatLanguageCode } from "../common/language/format_language"; -import type { AssistPipeline } from "../data/assist_pipeline"; import { listAssistPipelines } from "../data/assist_pipeline"; -import type { HomeAssistant } from "../types"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; const PREFERRED = "preferred"; const LAST_USED = "last_used"; diff --git a/src/components/ha-attribute-icon.ts b/src/components/ha-attribute-icon.ts index 028386a926..6423e380d9 100644 --- a/src/components/ha-attribute-icon.ts +++ b/src/components/ha-attribute-icon.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "./ha-icon"; +import "./ha-svg-icon"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; + import { attributeIcon } from "../data/icons"; -import type { HomeAssistant } from "../types"; -import "./ha-icon"; -import "./ha-svg-icon"; @customElement("ha-attribute-icon") export class HaAttributeIcon extends LitElement { diff --git a/src/components/ha-attribute-value.ts b/src/components/ha-attribute-value.ts index a419c6b99e..1eed7f307e 100644 --- a/src/components/ha-attribute-value.ts +++ b/src/components/ha-attribute-value.ts @@ -1,9 +1,11 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; + import { formatNumber } from "../common/number/format_number"; -import type { HomeAssistant } from "../types"; @customElement("ha-attribute-value") class HaAttributeValue extends LitElement { diff --git a/src/components/ha-attributes.ts b/src/components/ha-attributes.ts index 9a9b467b58..a8a81c2199 100644 --- a/src/components/ha-attributes.ts +++ b/src/components/ha-attributes.ts @@ -1,13 +1,16 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "./ha-attribute-value"; +import "./ha-expansion-panel"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeAttributeNameDisplay } from "../common/entity/compute_attribute_display"; import { STATE_ATTRIBUTES } from "../data/entity_attributes"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import "./ha-attribute-value"; -import "./ha-expansion-panel"; @customElement("ha-attributes") class HaAttributes extends LitElement { diff --git a/src/components/ha-badge.ts b/src/components/ha-badge.ts index ad6fe7cd79..3bf8e82bac 100644 --- a/src/components/ha-badge.ts +++ b/src/components/ha-badge.ts @@ -1,8 +1,9 @@ +import "./ha-ripple"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; -import "./ha-ripple"; type BadgeType = "badge" | "button"; diff --git a/src/components/ha-bar.ts b/src/components/ha-bar.ts index 95864e7be7..f856e70f14 100644 --- a/src/components/ha-bar.ts +++ b/src/components/ha-bar.ts @@ -1,6 +1,8 @@ import type { TemplateResult } from "lit"; + import { css, LitElement, svg } from "lit"; import { customElement, property } from "lit/decorators"; + import { getValueInPercentage, normalize, diff --git a/src/components/ha-base-time-input.ts b/src/components/ha-base-time-input.ts index 7b2a5b3525..77f1d8ff56 100644 --- a/src/components/ha-base-time-input.ts +++ b/src/components/ha-base-time-input.ts @@ -1,16 +1,19 @@ -import "@material/mwc-list/mwc-list-item"; +import type { HaTextField } from "./ha-textfield"; import type { TemplateResult } from "lit"; + +import "./ha-icon-button"; +import "./ha-input-helper-text"; +import "./ha-select"; +import "./ha-textfield"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiClose } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import { mdiClose } from "@mdi/js"; import { ifDefined } from "lit/directives/if-defined"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; -import "./ha-select"; -import "./ha-icon-button"; -import "./ha-textfield"; -import type { HaTextField } from "./ha-textfield"; -import "./ha-input-helper-text"; export interface TimeChangedEvent { days?: number; diff --git a/src/components/ha-big-number.ts b/src/components/ha-big-number.ts index e4474dc880..bafeeb40a7 100644 --- a/src/components/ha-big-number.ts +++ b/src/components/ha-big-number.ts @@ -1,10 +1,12 @@ +import type { HomeAssistant } from "../types"; import type { CSSResultGroup } from "lit"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { formatNumber } from "../common/number/format_number"; import { blankBeforeUnit } from "../common/translations/blank_before_unit"; -import type { HomeAssistant } from "../types"; @customElement("ha-big-number") export class HaBigNumber extends LitElement { diff --git a/src/components/ha-blueprint-picker.ts b/src/components/ha-blueprint-picker.ts index 3300ea4937..f013355aad 100644 --- a/src/components/ha-blueprint-picker.ts +++ b/src/components/ha-blueprint-picker.ts @@ -1,14 +1,17 @@ +import type { Blueprint, BlueprintDomain, Blueprints } from "../data/blueprint"; +import type { HomeAssistant } from "../types"; + +import "./ha-select"; import "@material/mwc-list/mwc-list-item"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { stringCompare } from "../common/string/compare"; -import type { Blueprint, BlueprintDomain, Blueprints } from "../data/blueprint"; import { fetchBlueprints } from "../data/blueprint"; -import type { HomeAssistant } from "../types"; -import "./ha-select"; @customElement("ha-blueprint-picker") class HaBluePrintPicker extends LitElement { diff --git a/src/components/ha-button-menu.ts b/src/components/ha-button-menu.ts index 081e3cea24..2cbe872c0b 100644 --- a/src/components/ha-button-menu.ts +++ b/src/components/ha-button-menu.ts @@ -1,12 +1,15 @@ +import type { HaIconButton } from "./ha-icon-button"; import type { Button } from "@material/mwc-button"; -import "@material/mwc-menu"; import type { Corner, Menu, MenuCorner } from "@material/mwc-menu"; import type { TemplateResult } from "lit"; + +import "@material/mwc-menu"; + import { css, html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; import { FOCUS_TARGET } from "../dialogs/make-dialog-manager"; -import type { HaIconButton } from "./ha-icon-button"; @customElement("ha-button-menu") export class HaButtonMenu extends LitElement { diff --git a/src/components/ha-button-toggle-group.ts b/src/components/ha-button-toggle-group.ts index f4d371c2e1..85c1fb4f16 100644 --- a/src/components/ha-button-toggle-group.ts +++ b/src/components/ha-button-toggle-group.ts @@ -1,12 +1,15 @@ -import "@material/mwc-button/mwc-button"; +import type { ToggleButton } from "../types"; import type { Button } from "@material/mwc-button/mwc-button"; import type { TemplateResult } from "lit"; + +import "./ha-icon-button"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, property, queryAll } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { fireEvent } from "../common/dom/fire_event"; -import type { ToggleButton } from "../types"; -import "./ha-icon-button"; @customElement("ha-button-toggle-group") export class HaButtonToggleGroup extends LitElement { diff --git a/src/components/ha-button.ts b/src/components/ha-button.ts index 5ccbcadd14..7947410f6a 100644 --- a/src/components/ha-button.ts +++ b/src/components/ha-button.ts @@ -1,7 +1,8 @@ +import { styles } from "@material/mwc-button/styles.css"; + import { Button } from "@material/mwc-button"; import { css } from "lit"; import { customElement } from "lit/decorators"; -import { styles } from "@material/mwc-button/styles.css"; @customElement("ha-button") export class HaButton extends Button { diff --git a/src/components/ha-camera-stream.ts b/src/components/ha-camera-stream.ts index 229ec729f7..9bfbf29f99 100644 --- a/src/components/ha-camera-stream.ts +++ b/src/components/ha-camera-stream.ts @@ -1,7 +1,13 @@ +import type { HomeAssistant } from "../types"; + +import "./ha-hls-player"; +import "./ha-web-rtc-player"; + import { css, html, LitElement, nothing, type PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; + import { computeStateName } from "../common/entity/compute_state_name"; import { supportsFeature } from "../common/entity/supports-feature"; import { @@ -15,9 +21,6 @@ import { STREAM_TYPE_WEB_RTC, type StreamType, } from "../data/camera"; -import type { HomeAssistant } from "../types"; -import "./ha-hls-player"; -import "./ha-web-rtc-player"; const MJPEG_STREAM = "mjpeg"; diff --git a/src/components/ha-check-list-item.ts b/src/components/ha-check-list-item.ts index 0152f19fcc..8017c11701 100644 --- a/src/components/ha-check-list-item.ts +++ b/src/components/ha-check-list-item.ts @@ -1,8 +1,10 @@ -import { css } from "lit"; -import { CheckListItemBase } from "@material/mwc-list/mwc-check-list-item-base"; import { styles as controlStyles } from "@material/mwc-list/mwc-control-list-item.css"; import { styles } from "@material/mwc-list/mwc-list-item.css"; + +import { CheckListItemBase } from "@material/mwc-list/mwc-check-list-item-base"; +import { css } from "lit"; import { customElement } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; @customElement("ha-check-list-item") diff --git a/src/components/ha-checkbox.ts b/src/components/ha-checkbox.ts index 0e33ee2a18..0427cb7c5f 100644 --- a/src/components/ha-checkbox.ts +++ b/src/components/ha-checkbox.ts @@ -1,5 +1,6 @@ -import { CheckboxBase } from "@material/mwc-checkbox/mwc-checkbox-base"; import { styles } from "@material/mwc-checkbox/mwc-checkbox.css"; + +import { CheckboxBase } from "@material/mwc-checkbox/mwc-checkbox-base"; import { css } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-clickable-list-item.ts b/src/components/ha-clickable-list-item.ts index d68c7d4b0c..8662c3ccf9 100644 --- a/src/components/ha-clickable-list-item.ts +++ b/src/components/ha-clickable-list-item.ts @@ -1,6 +1,8 @@ import type { CSSResultGroup } from "lit"; + import { css, html } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { HaListItem } from "./ha-list-item"; @customElement("ha-clickable-list-item") diff --git a/src/components/ha-climate-state.ts b/src/components/ha-climate-state.ts index e99b8f64e1..f350d0132b 100644 --- a/src/components/ha-climate-state.ts +++ b/src/components/ha-climate-state.ts @@ -1,10 +1,12 @@ +import type { ClimateEntity } from "../data/climate"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import type { ClimateEntity } from "../data/climate"; + import { CLIMATE_PRESET_NONE } from "../data/climate"; import { isUnavailableState, OFF } from "../data/entity"; -import type { HomeAssistant } from "../types"; @customElement("ha-climate-state") class HaClimateState extends LitElement { diff --git a/src/components/ha-code-editor.ts b/src/components/ha-code-editor.ts index 17003c8e0b..c8e9e3469b 100644 --- a/src/components/ha-code-editor.ts +++ b/src/components/ha-code-editor.ts @@ -1,3 +1,4 @@ +import type { HomeAssistant } from "../types"; import type { Completion, CompletionContext, @@ -8,13 +9,15 @@ import type { Extension, TransactionSpec } from "@codemirror/state"; import type { EditorView, KeyBinding, ViewUpdate } from "@codemirror/view"; import type { HassEntities } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "./ha-icon"; + import { css, ReactiveElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; -import type { HomeAssistant } from "../types"; -import "./ha-icon"; declare global { interface HASSDomEvents { diff --git a/src/components/ha-color-picker.ts b/src/components/ha-color-picker.ts index b071ebe3c8..82af02ac65 100644 --- a/src/components/ha-color-picker.ts +++ b/src/components/ha-color-picker.ts @@ -1,16 +1,19 @@ +import type { LocalizeKeys } from "../common/translations/localize"; +import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; + +import "./ha-list-item"; +import "./ha-md-divider"; +import "./ha-select"; + import { mdiInvertColorsOff, mdiPalette } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { computeCssColor, THEME_COLORS } from "../common/color/compute-color"; import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; -import type { LocalizeKeys } from "../common/translations/localize"; -import type { HomeAssistant } from "../types"; -import "./ha-list-item"; -import "./ha-md-divider"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; @customElement("ha-color-picker") export class HaColorPicker extends LitElement { diff --git a/src/components/ha-combo-box.ts b/src/components/ha-combo-box.ts index 35b38f5dcc..c8b635822f 100644 --- a/src/components/ha-combo-box.ts +++ b/src/components/ha-combo-box.ts @@ -1,7 +1,6 @@ -import { mdiClose, mdiMenuDown, mdiMenuUp } from "@mdi/js"; +import type { HomeAssistant } from "../types"; +import type { HaTextField } from "./ha-textfield"; import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import { comboBoxRenderer } from "@vaadin/combo-box/lit"; -import "@vaadin/combo-box/theme/material/vaadin-combo-box-light"; import type { ComboBoxDataProvider, ComboBoxLight, @@ -9,17 +8,21 @@ import type { ComboBoxLightOpenedChangedEvent, ComboBoxLightValueChangedEvent, } from "@vaadin/combo-box/vaadin-combo-box-light"; -import { registerStyles } from "@vaadin/vaadin-themable-mixin/register-styles"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { fireEvent } from "../common/dom/fire_event"; -import type { HomeAssistant } from "../types"; + import "./ha-icon-button"; import "./ha-list-item"; import "./ha-textfield"; -import type { HaTextField } from "./ha-textfield"; +import "@vaadin/combo-box/theme/material/vaadin-combo-box-light"; + +import { mdiClose, mdiMenuDown, mdiMenuUp } from "@mdi/js"; +import { comboBoxRenderer } from "@vaadin/combo-box/lit"; +import { registerStyles } from "@vaadin/vaadin-themable-mixin/register-styles"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; + +import { fireEvent } from "../common/dom/fire_event"; registerStyles( "vaadin-combo-box-item", diff --git a/src/components/ha-config-entry-picker.ts b/src/components/ha-config-entry-picker.ts index ce39a4b210..c0c5e8f164 100644 --- a/src/components/ha-config-entry-picker.ts +++ b/src/components/ha-config-entry-picker.ts @@ -1,16 +1,19 @@ -import "@material/mwc-list/mwc-list-item"; +import type { ConfigEntry } from "../data/config_entries"; +import type { ValueChangedEvent, HomeAssistant } from "../types"; +import type { HaComboBox } from "./ha-combo-box"; import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; + +import "./ha-combo-box"; +import "@material/mwc-list/mwc-list-item"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { caseInsensitiveStringCompare } from "../common/string/compare"; -import type { ConfigEntry } from "../data/config_entries"; import { getConfigEntries } from "../data/config_entries"; import { domainToName } from "../data/integration"; -import type { ValueChangedEvent, HomeAssistant } from "../types"; import { brandsUrl } from "../util/brands-url"; -import "./ha-combo-box"; -import type { HaComboBox } from "./ha-combo-box"; export interface ConfigEntryExtended extends ConfigEntry { localized_domain_name?: string; diff --git a/src/components/ha-control-button-group.ts b/src/components/ha-control-button-group.ts index 5c59d0801f..fb670e707a 100644 --- a/src/components/ha-control-button-group.ts +++ b/src/components/ha-control-button-group.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/ha-control-button.ts b/src/components/ha-control-button.ts index f680c23a5b..c75371edc1 100644 --- a/src/components/ha-control-button.ts +++ b/src/components/ha-control-button.ts @@ -1,8 +1,10 @@ import type { TemplateResult } from "lit"; + +import "./ha-ripple"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import "./ha-ripple"; @customElement("ha-control-button") export class HaControlButton extends LitElement { diff --git a/src/components/ha-control-circular-slider.ts b/src/components/ha-control-circular-slider.ts index cde293ae9f..33e80b0fae 100644 --- a/src/components/ha-control-circular-slider.ts +++ b/src/components/ha-control-circular-slider.ts @@ -1,3 +1,5 @@ +import type { PropertyValues, TemplateResult } from "lit"; + import { DIRECTION_ALL, Manager, @@ -6,7 +8,6 @@ import { Tap, TouchMouseInput, } from "@egjs/hammerjs"; -import type { PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing, svg } from "lit"; import { customElement, @@ -17,6 +18,7 @@ import { } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; + import { fireEvent } from "../common/dom/fire_event"; import { clamp } from "../common/number/clamp"; import { svgArc } from "../resources/svg-arc"; diff --git a/src/components/ha-control-number-buttons.ts b/src/components/ha-control-number-buttons.ts index 7977fb2190..14064acc18 100644 --- a/src/components/ha-control-number-buttons.ts +++ b/src/components/ha-control-number-buttons.ts @@ -1,15 +1,18 @@ +import type { FrontendLocaleData } from "../data/translation"; +import type { TemplateResult } from "lit"; + +import "./ha-svg-icon"; + import { ResizeController } from "@lit-labs/observers/resize-controller"; import { mdiMinus, mdiPlus } from "@mdi/js"; -import type { TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; + import { fireEvent } from "../common/dom/fire_event"; import { conditionalClamp } from "../common/number/clamp"; import { formatNumber } from "../common/number/format_number"; import { blankBeforeUnit } from "../common/translations/blank_before_unit"; -import type { FrontendLocaleData } from "../data/translation"; -import "./ha-svg-icon"; const A11Y_KEY_CODES = new Set([ "ArrowRight", diff --git a/src/components/ha-control-select-menu.ts b/src/components/ha-control-select-menu.ts index 2bf22046e7..b70ced974f 100644 --- a/src/components/ha-control-select-menu.ts +++ b/src/components/ha-control-select-menu.ts @@ -1,17 +1,20 @@ +import type { HaIcon } from "./ha-icon"; +import type { HaSvgIcon } from "./ha-svg-icon"; +import type { PropertyValues } from "lit"; + +import "./ha-icon"; +import "./ha-ripple"; +import "./ha-svg-icon"; + import { SelectBase } from "@material/mwc-select/mwc-select-base"; import { mdiMenuDown } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { css, html, nothing } from "lit"; import { customElement, property, query } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; + import { debounce } from "../common/util/debounce"; import { nextRender } from "../common/util/render-status"; -import "./ha-icon"; -import type { HaIcon } from "./ha-icon"; -import "./ha-ripple"; -import "./ha-svg-icon"; -import type { HaSvgIcon } from "./ha-svg-icon"; @customElement("ha-control-select-menu") export class HaControlSelectMenu extends SelectBase { diff --git a/src/components/ha-control-select.ts b/src/components/ha-control-select.ts index c3d245b829..d8d6a78c25 100644 --- a/src/components/ha-control-select.ts +++ b/src/components/ha-control-select.ts @@ -1,12 +1,15 @@ import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-icon"; +import "./ha-svg-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; import { repeat } from "lit/directives/repeat"; + import { fireEvent } from "../common/dom/fire_event"; -import "./ha-icon"; -import "./ha-svg-icon"; export interface ControlSelectOption { value: string; diff --git a/src/components/ha-control-slider.ts b/src/components/ha-control-slider.ts index 6b1d41addf..8e894fe434 100644 --- a/src/components/ha-control-slider.ts +++ b/src/components/ha-control-slider.ts @@ -1,11 +1,13 @@ -import { DIRECTION_ALL, Manager, Pan, Press, Tap } from "@egjs/hammerjs"; +import type { FrontendLocaleData } from "../data/translation"; import type { PropertyValues, TemplateResult } from "lit"; + +import { DIRECTION_ALL, Manager, Pan, Press, Tap } from "@egjs/hammerjs"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { fireEvent } from "../common/dom/fire_event"; -import type { FrontendLocaleData } from "../data/translation"; import { formatNumber } from "../common/number/format_number"; import { blankBeforeUnit } from "../common/translations/blank_before_unit"; diff --git a/src/components/ha-control-switch.ts b/src/components/ha-control-switch.ts index d9984402d1..c5ab69c3f8 100644 --- a/src/components/ha-control-switch.ts +++ b/src/components/ha-control-switch.ts @@ -1,3 +1,7 @@ +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-svg-icon"; + import { DIRECTION_HORIZONTAL, DIRECTION_VERTICAL, @@ -6,11 +10,10 @@ import { Swipe, Tap, } from "@egjs/hammerjs"; -import type { PropertyValues, TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; -import "./ha-svg-icon"; @customElement("ha-control-switch") export class HaControlSwitch extends LitElement { diff --git a/src/components/ha-conversation-agent-picker.ts b/src/components/ha-conversation-agent-picker.ts index cc11aed7ed..ce6960ce93 100644 --- a/src/components/ha-conversation-agent-picker.ts +++ b/src/components/ha-conversation-agent-picker.ts @@ -1,21 +1,24 @@ -import { mdiCog } from "@mdi/js"; +import type { ConfigEntry } from "../data/config_entries"; +import type { Agent } from "../data/conversation"; +import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; import type { PropertyValues } from "lit"; + +import "./ha-list-item"; +import "./ha-select"; + +import { mdiCog } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { debounce } from "../common/util/debounce"; -import type { ConfigEntry } from "../data/config_entries"; import { getConfigEntry } from "../data/config_entries"; -import type { Agent } from "../data/conversation"; import { listAgents } from "../data/conversation"; +import { getExtendedEntityRegistryEntry } from "../data/entity_registry"; import { fetchIntegrationManifest } from "../data/integration"; import { showOptionsFlowDialog } from "../dialogs/config-flow/show-dialog-options-flow"; -import type { HomeAssistant } from "../types"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; -import { getExtendedEntityRegistryEntry } from "../data/entity_registry"; const NONE = "__NONE_OPTION__"; diff --git a/src/components/ha-copy-textfield.ts b/src/components/ha-copy-textfield.ts index 4980524130..9867f8bfff 100644 --- a/src/components/ha-copy-textfield.ts +++ b/src/components/ha-copy-textfield.ts @@ -1,15 +1,17 @@ -import { customElement, property, state } from "lit/decorators"; -import { css, html, LitElement, nothing } from "lit"; -import { mdiContentCopy, mdiEye, mdiEyeOff } from "@mdi/js"; +import type { HomeAssistant } from "../types"; +import type { HaTextField } from "./ha-textfield"; import "./ha-button"; import "./ha-icon-button"; import "./ha-svg-icon"; import "./ha-textfield"; -import type { HomeAssistant } from "../types"; + +import { mdiContentCopy, mdiEye, mdiEyeOff } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { copyToClipboard } from "../common/util/copy-clipboard"; import { showToast } from "../util/toast"; -import type { HaTextField } from "./ha-textfield"; @customElement("ha-copy-textfield") export class HaCopyTextfield extends LitElement { diff --git a/src/components/ha-country-picker.ts b/src/components/ha-country-picker.ts index b2f4b8a6e3..8b470a6399 100644 --- a/src/components/ha-country-picker.ts +++ b/src/components/ha-country-picker.ts @@ -1,12 +1,15 @@ +import type { HaSelect } from "./ha-select"; + +import "./ha-list-item"; +import "./ha-select"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { caseInsensitiveStringCompare } from "../common/string/compare"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; export const COUNTRIES = [ "AD", diff --git a/src/components/ha-cover-controls.ts b/src/components/ha-cover-controls.ts index 5645bf50a2..96344c6e30 100644 --- a/src/components/ha-cover-controls.ts +++ b/src/components/ha-cover-controls.ts @@ -1,13 +1,16 @@ +import type { CoverEntity } from "../data/cover"; +import type { HomeAssistant } from "../types"; + +import "./ha-icon-button"; + import { mdiStop } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { computeCloseIcon, computeOpenIcon } from "../common/entity/cover_icon"; import { supportsFeature } from "../common/entity/supports-feature"; -import type { CoverEntity } from "../data/cover"; import { canClose, canOpen, canStop, CoverEntityFeature } from "../data/cover"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-cover-controls") class HaCoverControls extends LitElement { diff --git a/src/components/ha-cover-tilt-controls.ts b/src/components/ha-cover-tilt-controls.ts index e71a5707ea..413163d7bb 100644 --- a/src/components/ha-cover-tilt-controls.ts +++ b/src/components/ha-cover-tilt-controls.ts @@ -1,17 +1,20 @@ +import type { CoverEntity } from "../data/cover"; +import type { HomeAssistant } from "../types"; + +import "./ha-icon-button"; + import { mdiArrowBottomLeft, mdiArrowTopRight, mdiStop } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { supportsFeature } from "../common/entity/supports-feature"; -import type { CoverEntity } from "../data/cover"; import { canCloseTilt, canOpenTilt, canStopTilt, CoverEntityFeature, } from "../data/cover"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-cover-tilt-controls") class HaCoverTiltControls extends LitElement { diff --git a/src/components/ha-currency-picker.ts b/src/components/ha-currency-picker.ts index f208969286..0166f806a1 100644 --- a/src/components/ha-currency-picker.ts +++ b/src/components/ha-currency-picker.ts @@ -1,12 +1,15 @@ +import type { HaSelect } from "./ha-select"; + +import "./ha-list-item"; +import "./ha-select"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { caseInsensitiveStringCompare } from "../common/string/compare"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; const CURRENCIES = [ "AED", diff --git a/src/components/ha-date-input.ts b/src/components/ha-date-input.ts index 2d579b942e..b510476f94 100644 --- a/src/components/ha-date-input.ts +++ b/src/components/ha-date-input.ts @@ -1,14 +1,17 @@ -import { mdiCalendar } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { HassConfig } from "home-assistant-js-websocket"; + +import "./ha-svg-icon"; +import "./ha-textfield"; + +import { mdiCalendar } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { firstWeekdayIndex } from "../common/datetime/first_weekday"; import { formatDateNumeric } from "../common/datetime/format_date"; import { fireEvent } from "../common/dom/fire_event"; import { TimeZone } from "../data/translation"; -import type { HomeAssistant } from "../types"; -import "./ha-svg-icon"; -import "./ha-textfield"; const loadDatePickerDialog = () => import("./ha-dialog-date-picker"); diff --git a/src/components/ha-date-range-picker.ts b/src/components/ha-date-range-picker.ts index d85f8d809b..72e2f1c3f5 100644 --- a/src/components/ha-date-range-picker.ts +++ b/src/components/ha-date-range-picker.ts @@ -1,15 +1,26 @@ +import type { DateRange } from "../common/datetime/calc_date_range"; +import type { HomeAssistant } from "../types"; +import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./date-range-picker"; +import "./ha-icon-button"; +import "./ha-icon-button-next"; +import "./ha-icon-button-prev"; +import "./ha-textarea"; import "@material/mwc-button/mwc-button"; import "@material/mwc-list/mwc-list"; -import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; import "@material/mwc-list/mwc-list-item"; + import { mdiCalendar } from "@mdi/js"; import { isThisYear } from "date-fns"; import { fromZonedTime, toZonedTime } from "date-fns-tz"; -import type { PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; + import { shiftDateRange } from "../common/datetime/calc_date"; +import { calcDateRange } from "../common/datetime/calc_date_range"; import { firstWeekdayIndex } from "../common/datetime/first_weekday"; import { formatShortDateTime, @@ -18,14 +29,6 @@ import { import { useAmPm } from "../common/datetime/use_am_pm"; import { fireEvent } from "../common/dom/fire_event"; import { TimeZone } from "../data/translation"; -import type { HomeAssistant } from "../types"; -import "./date-range-picker"; -import "./ha-icon-button"; -import "./ha-icon-button-next"; -import "./ha-icon-button-prev"; -import "./ha-textarea"; -import { calcDateRange } from "../common/datetime/calc_date_range"; -import type { DateRange } from "../common/datetime/calc_date_range"; export type DateRangePickerRanges = Record; diff --git a/src/components/ha-dialog-date-picker.ts b/src/components/ha-dialog-date-picker.ts index c86a5f89eb..e83f9ca5ed 100644 --- a/src/components/ha-dialog-date-picker.ts +++ b/src/components/ha-dialog-date-picker.ts @@ -1,14 +1,17 @@ +import type { HomeAssistant } from "../types"; +import type { DatePickerDialogParams } from "./ha-date-input"; + +import "./ha-dialog"; import "@material/mwc-button/mwc-button"; import "app-datepicker"; + import { format } from "date-fns"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { nextRender } from "../common/util/render-status"; import { haStyleDialog } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import type { DatePickerDialogParams } from "./ha-date-input"; -import "./ha-dialog"; @customElement("ha-dialog-date-picker") export class HaDialogDatePicker extends LitElement { diff --git a/src/components/ha-dialog.ts b/src/components/ha-dialog.ts index e326e6b19b..b649721e82 100644 --- a/src/components/ha-dialog.ts +++ b/src/components/ha-dialog.ts @@ -1,12 +1,16 @@ -import { DialogBase } from "@material/mwc-dialog/mwc-dialog-base"; -import { styles } from "@material/mwc-dialog/mwc-dialog.css"; -import { mdiClose } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import { styles } from "@material/mwc-dialog/mwc-dialog.css"; + +import "./ha-icon-button"; + +import { DialogBase } from "@material/mwc-dialog/mwc-dialog-base"; +import { mdiClose } from "@mdi/js"; import { css, html } from "lit"; import { customElement } from "lit/decorators"; + import { FOCUS_TARGET } from "../dialogs/make-dialog-manager"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; const SUPPRESS_DEFAULT_PRESS_SELECTOR = ["button", "ha-list-item"]; diff --git a/src/components/ha-divider.ts b/src/components/ha-divider.ts index 87fa45f70f..1c8741f919 100644 --- a/src/components/ha-divider.ts +++ b/src/components/ha-divider.ts @@ -1,6 +1,6 @@ import { css, html, LitElement, nothing } from "lit"; -import { ifDefined } from "lit/directives/if-defined"; import { customElement, property } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; @customElement("ha-divider") export class HaMdDivider extends LitElement { diff --git a/src/components/ha-domain-icon.ts b/src/components/ha-domain-icon.ts index 6994c32c99..416db687ca 100644 --- a/src/components/ha-domain-icon.ts +++ b/src/components/ha-domain-icon.ts @@ -1,14 +1,17 @@ +import type { HomeAssistant } from "../types"; + +import "./ha-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; + import { DEFAULT_DOMAIN_ICON, domainIcon, FALLBACK_DOMAIN_ICONS, } from "../data/icons"; -import type { HomeAssistant } from "../types"; import { brandsUrl } from "../util/brands-url"; -import "./ha-icon"; @customElement("ha-domain-icon") export class HaDomainIcon extends LitElement { diff --git a/src/components/ha-drawer.ts b/src/components/ha-drawer.ts index 3e563cd60b..70029d23d9 100644 --- a/src/components/ha-drawer.ts +++ b/src/components/ha-drawer.ts @@ -1,8 +1,11 @@ -import { DrawerBase } from "@material/mwc-drawer/mwc-drawer-base"; -import { styles } from "@material/mwc-drawer/mwc-drawer.css"; import type { PropertyValues } from "lit"; + +import { styles } from "@material/mwc-drawer/mwc-drawer.css"; + +import { DrawerBase } from "@material/mwc-drawer/mwc-drawer-base"; import { css } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; const blockingElements = (document as any).$blockingElements; diff --git a/src/components/ha-duration-input.ts b/src/components/ha-duration-input.ts index 6ecc9dddc6..fa18939080 100644 --- a/src/components/ha-duration-input.ts +++ b/src/components/ha-duration-input.ts @@ -1,9 +1,12 @@ +import type { TimeChangedEvent } from "./ha-base-time-input"; import type { TemplateResult } from "lit"; + +import "./ha-base-time-input"; + import { html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; -import "./ha-base-time-input"; -import type { TimeChangedEvent } from "./ha-base-time-input"; export interface HaDurationData { days?: number; diff --git a/src/components/ha-entities-display-editor.ts b/src/components/ha-entities-display-editor.ts index 8f80dea2be..c2603dba64 100644 --- a/src/components/ha-entities-display-editor.ts +++ b/src/components/ha-entities-display-editor.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../types"; +import type { DisplayItem, DisplayValue } from "./ha-items-display-editor"; import type { TemplateResult } from "lit"; + +import "./ha-items-display-editor"; + import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { computeStateName } from "../common/entity/compute_state_name"; import { entityIcon } from "../data/icons"; -import type { HomeAssistant } from "../types"; -import "./ha-items-display-editor"; -import type { DisplayItem, DisplayValue } from "./ha-items-display-editor"; export interface EntitiesDisplayValue { hidden?: string[]; diff --git a/src/components/ha-expansion-panel.ts b/src/components/ha-expansion-panel.ts index 6604123d48..680ed54e2f 100644 --- a/src/components/ha-expansion-panel.ts +++ b/src/components/ha-expansion-panel.ts @@ -1,11 +1,14 @@ -import { mdiChevronDown } from "@mdi/js"; import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-svg-icon"; + +import { mdiChevronDown } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../common/dom/fire_event"; import { nextRender } from "../common/util/render-status"; -import "./ha-svg-icon"; @customElement("ha-expansion-panel") export class HaExpansionPanel extends LitElement { diff --git a/src/components/ha-fab.ts b/src/components/ha-fab.ts index fed289b2da..35350b40d0 100644 --- a/src/components/ha-fab.ts +++ b/src/components/ha-fab.ts @@ -1,7 +1,9 @@ -import { FabBase } from "@material/mwc-fab/mwc-fab-base"; import { styles } from "@material/mwc-fab/mwc-fab.css"; -import { customElement } from "lit/decorators"; + +import { FabBase } from "@material/mwc-fab/mwc-fab-base"; import { css } from "lit"; +import { customElement } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; @customElement("ha-fab") diff --git a/src/components/ha-faded.ts b/src/components/ha-faded.ts index c9101b7ffb..e06f570393 100644 --- a/src/components/ha-faded.ts +++ b/src/components/ha-faded.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; diff --git a/src/components/ha-file-upload.ts b/src/components/ha-file-upload.ts index d665910525..5e042b323e 100644 --- a/src/components/ha-file-upload.ts +++ b/src/components/ha-file-upload.ts @@ -1,17 +1,20 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; -import { mdiDelete, mdiFileUpload } from "@mdi/js"; +import type { LocalizeFunc } from "../common/translations/localize"; +import type { HomeAssistant } from "../types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-button"; +import "./ha-icon-button"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +import { mdiDelete, mdiFileUpload } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import { fireEvent } from "../common/dom/fire_event"; -import type { HomeAssistant } from "../types"; -import "./ha-button"; -import "./ha-icon-button"; -import { blankBeforePercent } from "../common/translations/blank_before_percent"; + import { ensureArray } from "../common/array/ensure-array"; +import { fireEvent } from "../common/dom/fire_event"; +import { blankBeforePercent } from "../common/translations/blank_before_percent"; import { bytesToString } from "../util/bytes-to-string"; -import type { LocalizeFunc } from "../common/translations/localize"; declare global { interface HASSDomEvents { diff --git a/src/components/ha-filter-blueprints.ts b/src/components/ha-filter-blueprints.ts index 18839b7cb6..cd3c76df9a 100644 --- a/src/components/ha-filter-blueprints.ts +++ b/src/components/ha-filter-blueprints.ts @@ -1,20 +1,23 @@ -import "@material/mwc-list/mwc-list"; -import type { SelectedDetail } from "@material/mwc-list"; -import "@material/mwc-menu/mwc-menu-surface"; -import { mdiFilterVariantRemove } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import type { Blueprints } from "../data/blueprint"; -import { fetchBlueprints } from "../data/blueprint"; import type { RelatedResult } from "../data/search"; -import { findRelated } from "../data/search"; -import { haStyleScrollbar } from "../resources/styles"; import type { HomeAssistant } from "../types"; +import type { SelectedDetail } from "@material/mwc-list"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "./ha-check-list-item"; import "./ha-expansion-panel"; import "./ha-icon-button"; -import "./ha-check-list-item"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-menu/mwc-menu-surface"; + +import { mdiFilterVariantRemove } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { fetchBlueprints } from "../data/blueprint"; +import { findRelated } from "../data/search"; +import { haStyleScrollbar } from "../resources/styles"; @customElement("ha-filter-blueprints") export class HaFilterBlueprints extends LitElement { diff --git a/src/components/ha-filter-categories.ts b/src/components/ha-filter-categories.ts index 678e784499..6c93231bf0 100644 --- a/src/components/ha-filter-categories.ts +++ b/src/components/ha-filter-categories.ts @@ -1,6 +1,16 @@ +import type { CategoryRegistryEntry } from "../data/category_registry"; +import type { HomeAssistant } from "../types"; +import type { ActionDetail, SelectedDetail } from "@material/mwc-list"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "./ha-button-menu"; +import "./ha-expansion-panel"; +import "./ha-icon"; +import "./ha-list-item"; import "@material/mwc-list/mwc-list"; import "@material/mwc-list/mwc-list-item"; -import type { ActionDetail, SelectedDetail } from "@material/mwc-list"; + import { mdiDelete, mdiDotsVertical, @@ -9,12 +19,11 @@ import { mdiPlus, mdiTag, } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; -import type { CategoryRegistryEntry } from "../data/category_registry"; +import { stopPropagation } from "../common/dom/stop_propagation"; import { createCategoryRegistryEntry, deleteCategoryRegistryEntry, @@ -25,12 +34,6 @@ import { showConfirmationDialog } from "../dialogs/generic/show-dialog-box"; import { SubscribeMixin } from "../mixins/subscribe-mixin"; import { showCategoryRegistryDetailDialog } from "../panels/config/category/show-dialog-category-registry-detail"; import { haStyleScrollbar } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import "./ha-expansion-panel"; -import "./ha-icon"; -import "./ha-button-menu"; -import "./ha-list-item"; -import { stopPropagation } from "../common/dom/stop_propagation"; @customElement("ha-filter-categories") export class HaFilterCategories extends SubscribeMixin(LitElement) { diff --git a/src/components/ha-filter-devices.ts b/src/components/ha-filter-devices.ts index 69b53b4d29..9afd56eab6 100644 --- a/src/components/ha-filter-devices.ts +++ b/src/components/ha-filter-devices.ts @@ -1,20 +1,23 @@ -import "@material/mwc-list/mwc-list"; -import { mdiFilterVariantRemove } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../common/entity/compute_device_name"; -import { stringCompare } from "../common/string/compare"; import type { RelatedResult } from "../data/search"; -import { findRelated } from "../data/search"; -import { haStyleScrollbar } from "../resources/styles"; -import { loadVirtualizer } from "../resources/virtualizer"; import type { HomeAssistant } from "../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + import "./ha-check-list-item"; import "./ha-expansion-panel"; import "./search-input-outlined"; +import "@material/mwc-list/mwc-list"; + +import { mdiFilterVariantRemove } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../common/entity/compute_device_name"; +import { stringCompare } from "../common/string/compare"; +import { findRelated } from "../data/search"; +import { haStyleScrollbar } from "../resources/styles"; +import { loadVirtualizer } from "../resources/virtualizer"; @customElement("ha-filter-devices") export class HaFilterDevices extends LitElement { diff --git a/src/components/ha-filter-domains.ts b/src/components/ha-filter-domains.ts index 70b992c8a1..94951ffe5a 100644 --- a/src/components/ha-filter-domains.ts +++ b/src/components/ha-filter-domains.ts @@ -1,20 +1,23 @@ -import "@material/mwc-list/mwc-list"; -import { mdiFilterVariantRemove } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup } from "lit"; + +import "./ha-check-list-item"; +import "./ha-domain-icon"; +import "./ha-expansion-panel"; +import "./search-input-outlined"; +import "@material/mwc-list/mwc-list"; + +import { mdiFilterVariantRemove } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; +import { computeDomain } from "../common/entity/compute_domain"; import { stringCompare } from "../common/string/compare"; import { domainToName } from "../data/integration"; import { haStyleScrollbar } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import "./ha-domain-icon"; -import "./ha-expansion-panel"; -import "./ha-check-list-item"; -import "./search-input-outlined"; -import { computeDomain } from "../common/entity/compute_domain"; @customElement("ha-filter-domains") export class HaFilterDomains extends LitElement { diff --git a/src/components/ha-filter-entities.ts b/src/components/ha-filter-entities.ts index d451f36c9d..496c4a23d9 100644 --- a/src/components/ha-filter-entities.ts +++ b/src/components/ha-filter-entities.ts @@ -1,22 +1,25 @@ -import "@material/mwc-list/mwc-list"; -import { mdiFilterVariantRemove } from "@mdi/js"; +import type { RelatedResult } from "../data/search"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "./ha-check-list-item"; +import "./ha-expansion-panel"; +import "./ha-state-icon"; +import "./search-input-outlined"; +import "@material/mwc-list/mwc-list"; + +import { mdiFilterVariantRemove } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { computeStateDomain } from "../common/entity/compute_state_domain"; import { computeStateName } from "../common/entity/compute_state_name"; import { stringCompare } from "../common/string/compare"; -import type { RelatedResult } from "../data/search"; import { findRelated } from "../data/search"; import { haStyleScrollbar } from "../resources/styles"; import { loadVirtualizer } from "../resources/virtualizer"; -import type { HomeAssistant } from "../types"; -import "./ha-check-list-item"; -import "./ha-state-icon"; -import "./ha-expansion-panel"; -import "./search-input-outlined"; @customElement("ha-filter-entities") export class HaFilterEntities extends LitElement { diff --git a/src/components/ha-filter-floor-areas.ts b/src/components/ha-filter-floor-areas.ts index 5f0e3ee313..53a4d31822 100644 --- a/src/components/ha-filter-floor-areas.ts +++ b/src/components/ha-filter-floor-areas.ts @@ -1,26 +1,29 @@ +import type { RelatedResult } from "../data/search"; +import type { HomeAssistant } from "../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "./ha-check-list-item"; +import "./ha-expansion-panel"; +import "./ha-floor-icon"; +import "./ha-icon"; +import "./ha-icon-button"; +import "./ha-svg-icon"; +import "./ha-tree-indicator"; import "@material/mwc-list/mwc-list"; import "@material/mwc-menu/mwc-menu-surface"; + import { mdiFilterVariantRemove, mdiTextureBox } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { computeRTL } from "../common/util/compute_rtl"; import { getFloorAreaLookup } from "../data/floor_registry"; -import type { RelatedResult } from "../data/search"; import { findRelated } from "../data/search"; import { haStyleScrollbar } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import "./ha-check-list-item"; -import "./ha-floor-icon"; -import "./ha-icon"; -import "./ha-svg-icon"; -import "./ha-tree-indicator"; -import "./ha-icon-button"; -import "./ha-expansion-panel"; @customElement("ha-filter-floor-areas") export class HaFilterFloorAreas extends LitElement { diff --git a/src/components/ha-filter-integrations.ts b/src/components/ha-filter-integrations.ts index 46064d68a3..2ac0e273e8 100644 --- a/src/components/ha-filter-integrations.ts +++ b/src/components/ha-filter-integrations.ts @@ -1,20 +1,23 @@ -import "@material/mwc-list/mwc-list"; -import { mdiFilterVariantRemove } from "@mdi/js"; +import type { IntegrationManifest } from "../data/integration"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup } from "lit"; + +import "./ha-check-list-item"; +import "./ha-domain-icon"; +import "./ha-expansion-panel"; +import "./search-input-outlined"; +import "@material/mwc-list/mwc-list"; + +import { mdiFilterVariantRemove } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { stringCompare } from "../common/string/compare"; -import type { IntegrationManifest } from "../data/integration"; import { fetchIntegrationManifests } from "../data/integration"; import { haStyleScrollbar } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import "./ha-domain-icon"; -import "./search-input-outlined"; -import "./ha-expansion-panel"; -import "./ha-check-list-item"; @customElement("ha-filter-integrations") export class HaFilterIntegrations extends LitElement { diff --git a/src/components/ha-filter-labels.ts b/src/components/ha-filter-labels.ts index ee9fbd8906..e0ff469e29 100644 --- a/src/components/ha-filter-labels.ts +++ b/src/components/ha-filter-labels.ts @@ -1,29 +1,32 @@ -import "@material/mwc-list/mwc-list"; +import type { LabelRegistryEntry } from "../data/label_registry"; +import type { HomeAssistant } from "../types"; import type { SelectedDetail } from "@material/mwc-list"; -import "@material/mwc-menu/mwc-menu-surface"; -import memoizeOne from "memoize-one"; -import { mdiCog, mdiFilterVariantRemove } from "@mdi/js"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { computeCssColor } from "../common/color/compute-color"; -import { fireEvent } from "../common/dom/fire_event"; -import { navigate } from "../common/navigate"; -import type { LabelRegistryEntry } from "../data/label_registry"; -import { subscribeLabelRegistry } from "../data/label_registry"; -import { SubscribeMixin } from "../mixins/subscribe-mixin"; -import { haStyleScrollbar } from "../resources/styles"; -import type { HomeAssistant } from "../types"; + import "./ha-check-list-item"; import "./ha-expansion-panel"; import "./ha-icon"; -import "./ha-label"; import "./ha-icon-button"; +import "./ha-label"; import "./ha-list-item"; import "./search-input-outlined"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-menu/mwc-menu-surface"; + +import { mdiCog, mdiFilterVariantRemove } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; +import memoizeOne from "memoize-one"; + +import { computeCssColor } from "../common/color/compute-color"; +import { fireEvent } from "../common/dom/fire_event"; +import { navigate } from "../common/navigate"; import { stringCompare } from "../common/string/compare"; +import { subscribeLabelRegistry } from "../data/label_registry"; +import { SubscribeMixin } from "../mixins/subscribe-mixin"; +import { haStyleScrollbar } from "../resources/styles"; @customElement("ha-filter-labels") export class HaFilterLabels extends SubscribeMixin(LitElement) { diff --git a/src/components/ha-filter-states.ts b/src/components/ha-filter-states.ts index b39acfb970..bb198a421a 100644 --- a/src/components/ha-filter-states.ts +++ b/src/components/ha-filter-states.ts @@ -1,16 +1,19 @@ -import "@material/mwc-list/mwc-list"; -import type { List, SelectedDetail } from "@material/mwc-list"; -import { mdiFilterVariantRemove } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; -import { haStyleScrollbar } from "../resources/styles"; import type { HomeAssistant } from "../types"; +import type { List, SelectedDetail } from "@material/mwc-list"; +import type { CSSResultGroup } from "lit"; + import "./ha-check-list-item"; import "./ha-expansion-panel"; import "./ha-icon"; import "./ha-icon-button"; +import "@material/mwc-list/mwc-list"; + +import { mdiFilterVariantRemove } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { haStyleScrollbar } from "../resources/styles"; @customElement("ha-filter-states") export class HaFilterStates extends LitElement { diff --git a/src/components/ha-floor-icon.ts b/src/components/ha-floor-icon.ts index 595f8add1a..02f9a70a58 100644 --- a/src/components/ha-floor-icon.ts +++ b/src/components/ha-floor-icon.ts @@ -1,3 +1,8 @@ +import type { FloorRegistryEntry } from "../data/floor_registry"; + +import "./ha-icon"; +import "./ha-svg-icon"; + import { mdiHome, mdiHomeFloor0, @@ -8,9 +13,6 @@ import { } from "@mdi/js"; import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; -import type { FloorRegistryEntry } from "../data/floor_registry"; -import "./ha-icon"; -import "./ha-svg-icon"; export const floorDefaultIconPath = ( floor: Pick diff --git a/src/components/ha-floor-picker.ts b/src/components/ha-floor-picker.ts index cfa5678591..b7c1db73b5 100644 --- a/src/components/ha-floor-picker.ts +++ b/src/components/ha-floor-picker.ts @@ -1,36 +1,39 @@ -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../common/dom/fire_event"; -import { computeDomain } from "../common/entity/compute_domain"; import type { ScorableTextItem } from "../common/string/filter/sequence-matching"; -import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; import type { AreaRegistryEntry } from "../data/area_registry"; -import { updateAreaRegistryEntry } from "../data/area_registry"; import type { DeviceEntityDisplayLookup, DeviceRegistryEntry, } from "../data/device_registry"; -import { getDeviceEntityDisplayLookup } from "../data/device_registry"; import type { EntityRegistryDisplayEntry } from "../data/entity_registry"; import type { FloorRegistryEntry } from "../data/floor_registry"; +import type { HomeAssistant, ValueChangedEvent } from "../types"; +import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; +import type { HaComboBox } from "./ha-combo-box"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-combo-box"; +import "./ha-floor-icon"; +import "./ha-icon-button"; +import "./ha-list-item"; + +import { LitElement, html } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../common/dom/fire_event"; +import { computeDomain } from "../common/entity/compute_domain"; +import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; +import { updateAreaRegistryEntry } from "../data/area_registry"; +import { getDeviceEntityDisplayLookup } from "../data/device_registry"; import { createFloorRegistryEntry, getFloorAreaLookup, } from "../data/floor_registry"; import { showAlertDialog } from "../dialogs/generic/show-dialog-box"; import { showFloorRegistryDetailDialog } from "../panels/config/areas/show-dialog-floor-registry-detail"; -import type { HomeAssistant, ValueChangedEvent } from "../types"; -import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; -import "./ha-combo-box"; -import type { HaComboBox } from "./ha-combo-box"; -import "./ha-floor-icon"; -import "./ha-icon-button"; -import "./ha-list-item"; type ScorableFloorRegistryEntry = ScorableTextItem & FloorRegistryEntry; diff --git a/src/components/ha-floors-picker.ts b/src/components/ha-floors-picker.ts index 86086e6959..cc4143d56a 100644 --- a/src/components/ha-floors-picker.ts +++ b/src/components/ha-floors-picker.ts @@ -1,12 +1,15 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; -import { SubscribeMixin } from "../mixins/subscribe-mixin"; import type { HomeAssistant } from "../types"; import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; +import type { HassEntity } from "home-assistant-js-websocket"; + import "./ha-floor-picker"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { SubscribeMixin } from "../mixins/subscribe-mixin"; + @customElement("ha-floors-picker") export class HaFloorsPicker extends SubscribeMixin(LitElement) { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-form/ha-form-boolean.ts b/src/components/ha-form/ha-form-boolean.ts index 494b9389c7..dc1e982c29 100644 --- a/src/components/ha-form/ha-form-boolean.ts +++ b/src/components/ha-form/ha-form-boolean.ts @@ -1,16 +1,19 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { HaCheckbox } from "../ha-checkbox"; import type { HaFormBooleanData, HaFormBooleanSchema, HaFormElement, } from "./types"; -import type { HaCheckbox } from "../ha-checkbox"; +import type { TemplateResult } from "lit"; + import "../ha-checkbox"; import "../ha-formfield"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-form-boolean") export class HaFormBoolean extends LitElement implements HaFormElement { @property({ attribute: false }) public schema!: HaFormBooleanSchema; diff --git a/src/components/ha-form/ha-form-constant.ts b/src/components/ha-form/ha-form-constant.ts index 43dc9bf754..e1d0423cdb 100644 --- a/src/components/ha-form/ha-form-constant.ts +++ b/src/components/ha-form/ha-form-constant.ts @@ -1,7 +1,8 @@ +import type { HaFormConstantSchema, HaFormElement } from "./types"; import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HaFormConstantSchema, HaFormElement } from "./types"; @customElement("ha-form-constant") export class HaFormConstant extends LitElement implements HaFormElement { diff --git a/src/components/ha-form/ha-form-expandable.ts b/src/components/ha-form/ha-form-expandable.ts index e44d136012..2d8d074fb6 100644 --- a/src/components/ha-form/ha-form-expandable.ts +++ b/src/components/ha-form/ha-form-expandable.ts @@ -1,7 +1,4 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; import type { HomeAssistant } from "../../types"; -import "./ha-form"; import type { HaFormDataContainer, HaFormElement, @@ -9,6 +6,11 @@ import type { HaFormSchema, } from "./types"; +import "./ha-form"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-form-expandable") export class HaFormExpendable extends LitElement implements HaFormElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-form/ha-form-float.ts b/src/components/ha-form/ha-form-float.ts index 5518c48158..b9133a5046 100644 --- a/src/components/ha-form/ha-form-float.ts +++ b/src/components/ha-form/ha-form-float.ts @@ -1,15 +1,18 @@ -import type { TemplateResult, PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../common/translations/localize"; import type { HaTextField } from "../ha-textfield"; -import "../ha-textfield"; import type { HaFormElement, HaFormFloatData, HaFormFloatSchema, } from "./types"; -import type { LocalizeFunc } from "../../common/translations/localize"; +import type { TemplateResult, PropertyValues } from "lit"; + +import "../ha-textfield"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; @customElement("ha-form-float") export class HaFormFloat extends LitElement implements HaFormElement { diff --git a/src/components/ha-form/ha-form-grid.ts b/src/components/ha-form/ha-form-grid.ts index a9bffc7f76..f8cd27b7da 100644 --- a/src/components/ha-form/ha-form-grid.ts +++ b/src/components/ha-form/ha-form-grid.ts @@ -1,14 +1,16 @@ -import "./ha-form"; -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; +import type { HomeAssistant } from "../../types"; import type { HaFormGridSchema, HaFormDataContainer, HaFormElement, HaFormSchema, } from "./types"; -import type { HomeAssistant } from "../../types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-form"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("ha-form-grid") export class HaFormGrid extends LitElement implements HaFormElement { diff --git a/src/components/ha-form/ha-form-integer.ts b/src/components/ha-form/ha-form-integer.ts index 777056c184..16718ca670 100644 --- a/src/components/ha-form/ha-form-integer.ts +++ b/src/components/ha-form/ha-form-integer.ts @@ -1,19 +1,22 @@ -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../common/translations/localize"; import type { HaCheckbox } from "../ha-checkbox"; -import "../ha-slider"; -import "../ha-checkbox"; -import "../ha-input-helper-text"; -import "../ha-textfield"; import type { HaTextField } from "../ha-textfield"; import type { HaFormElement, HaFormIntegerData, HaFormIntegerSchema, } from "./types"; -import type { LocalizeFunc } from "../../common/translations/localize"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-checkbox"; +import "../ha-input-helper-text"; +import "../ha-slider"; +import "../ha-textfield"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; @customElement("ha-form-integer") export class HaFormInteger extends LitElement implements HaFormElement { diff --git a/src/components/ha-form/ha-form-multi_select.ts b/src/components/ha-form/ha-form-multi_select.ts index e0f050af20..6e7fa839cd 100644 --- a/src/components/ha-form/ha-form-multi_select.ts +++ b/src/components/ha-form/ha-form-multi_select.ts @@ -1,23 +1,25 @@ -import { mdiMenuDown, mdiMenuUp } from "@mdi/js"; -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../ha-button-menu"; -import "../ha-check-list-item"; -import "../ha-checkbox"; import type { HaCheckbox } from "../ha-checkbox"; -import "../ha-formfield"; -import "../ha-icon-button"; -import "../ha-textfield"; -import "../ha-md-button-menu"; -import "../ha-md-menu-item"; - import type { HaFormElement, HaFormMultiSelectData, HaFormMultiSelectSchema, } from "./types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-button-menu"; +import "../ha-check-list-item"; +import "../ha-checkbox"; +import "../ha-formfield"; +import "../ha-icon-button"; +import "../ha-md-button-menu"; +import "../ha-md-menu-item"; +import "../ha-textfield"; + +import { mdiMenuDown, mdiMenuUp } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; function optionValue(item: string | string[]): string { return Array.isArray(item) ? item[0] : item; diff --git a/src/components/ha-form/ha-form-optional_actions.ts b/src/components/ha-form/ha-form-optional_actions.ts index 30f2fcec7f..62eb8fdd43 100644 --- a/src/components/ha-form/ha-form-optional_actions.ts +++ b/src/components/ha-form/ha-form-optional_actions.ts @@ -1,17 +1,20 @@ -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { stopPropagation } from "../../common/dom/stop_propagation"; import type { LocalizeFunc } from "../../common/translations/localize"; import type { HomeAssistant } from "../../types"; -import "./ha-form"; import type { HaFormOptionalActionsSchema, HaFormDataContainer, HaFormElement, HaFormSchema, } from "./types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-form"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { stopPropagation } from "../../common/dom/stop_propagation"; const NO_ACTIONS = []; diff --git a/src/components/ha-form/ha-form-positive_time_period_dict.ts b/src/components/ha-form/ha-form-positive_time_period_dict.ts index 8e62205813..bec9ef6301 100644 --- a/src/components/ha-form/ha-form-positive_time_period_dict.ts +++ b/src/components/ha-form/ha-form-positive_time_period_dict.ts @@ -1,8 +1,10 @@ +import type { HaFormElement, HaFormTimeData, HaFormTimeSchema } from "./types"; import type { TemplateResult } from "lit"; + +import "../ha-duration-input"; + import { html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; -import "../ha-duration-input"; -import type { HaFormElement, HaFormTimeData, HaFormTimeSchema } from "./types"; @customElement("ha-form-positive_time_period_dict") export class HaFormTimePeriod extends LitElement implements HaFormElement { diff --git a/src/components/ha-form/ha-form-select.ts b/src/components/ha-form/ha-form-select.ts index 8451b21a6c..2a4daff609 100644 --- a/src/components/ha-form/ha-form-select.ts +++ b/src/components/ha-form/ha-form-select.ts @@ -1,17 +1,20 @@ -import memoizeOne from "memoize-one"; -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { SelectSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; import type { HaFormElement, HaFormSelectData, HaFormSelectSchema, } from "./types"; -import type { SelectSelector } from "../../data/selector"; +import type { TemplateResult } from "lit"; + import "../ha-selector/ha-selector-select"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-form-select") export class HaFormSelect extends LitElement implements HaFormElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-form/ha-form-string.ts b/src/components/ha-form/ha-form-string.ts index 74c8333a0f..4933502291 100644 --- a/src/components/ha-form/ha-form-string.ts +++ b/src/components/ha-form/ha-form-string.ts @@ -1,20 +1,23 @@ -import { mdiEye, mdiEyeOff } from "@mdi/js"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../ha-icon-button"; -import "../ha-textfield"; +import type { + LocalizeFunc, + LocalizeKeys, +} from "../../common/translations/localize"; import type { HaTextField } from "../ha-textfield"; import type { HaFormElement, HaFormStringData, HaFormStringSchema, } from "./types"; -import type { - LocalizeFunc, - LocalizeKeys, -} from "../../common/translations/localize"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-icon-button"; +import "../ha-textfield"; + +import { mdiEye, mdiEyeOff } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; const MASKED_FIELDS = ["password", "secret", "token"]; diff --git a/src/components/ha-form/ha-form.ts b/src/components/ha-form/ha-form.ts index 57c796312d..07a78bcaf9 100644 --- a/src/components/ha-form/ha-form.ts +++ b/src/components/ha-form/ha-form.ts @@ -1,12 +1,15 @@ -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, ReactiveElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { dynamicElement } from "../../common/dom/dynamic-element-directive"; -import { fireEvent } from "../../common/dom/fire_event"; import type { HomeAssistant } from "../../types"; +import type { HaFormDataContainer, HaFormElement, HaFormSchema } from "./types"; +import type { PropertyValues, TemplateResult } from "lit"; + import "../ha-alert"; import "../ha-selector/ha-selector"; -import type { HaFormDataContainer, HaFormElement, HaFormSchema } from "./types"; + +import { css, html, LitElement, ReactiveElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { dynamicElement } from "../../common/dom/dynamic-element-directive"; +import { fireEvent } from "../../common/dom/fire_event"; const LOAD_ELEMENTS = { boolean: () => import("./ha-form-boolean"), diff --git a/src/components/ha-form/types.ts b/src/components/ha-form/types.ts index 550a533db9..03a4430ba4 100644 --- a/src/components/ha-form/types.ts +++ b/src/components/ha-form/types.ts @@ -1,6 +1,6 @@ -import type { LitElement } from "lit"; import type { Selector } from "../../data/selector"; import type { HaDurationData } from "../ha-duration-input"; +import type { LitElement } from "lit"; export type HaFormSchema = | HaFormConstantSchema diff --git a/src/components/ha-formfield.ts b/src/components/ha-formfield.ts index 0f49c75514..51eaff2e11 100644 --- a/src/components/ha-formfield.ts +++ b/src/components/ha-formfield.ts @@ -1,8 +1,10 @@ -import { FormfieldBase } from "@material/mwc-formfield/mwc-formfield-base"; import { styles } from "@material/mwc-formfield/mwc-formfield.css"; + +import { FormfieldBase } from "@material/mwc-formfield/mwc-formfield-base"; import { css, html } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../common/dom/fire_event"; @customElement("ha-formfield") diff --git a/src/components/ha-gauge.ts b/src/components/ha-gauge.ts index 4c6e3c50fa..7d9336cc14 100644 --- a/src/components/ha-gauge.ts +++ b/src/components/ha-gauge.ts @@ -1,11 +1,13 @@ +import type { FrontendLocaleData } from "../data/translation"; import type { PropertyValues, TemplateResult } from "lit"; + import { css, LitElement, svg } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { formatNumber } from "../common/number/format_number"; import { blankBeforePercent } from "../common/translations/blank_before_percent"; import { afterNextRender } from "../common/util/render-status"; -import type { FrontendLocaleData } from "../data/translation"; import { getValueInPercentage, normalize } from "../util/calculate"; const getAngle = (value: number, min: number, max: number) => { diff --git a/src/components/ha-grid-size-picker.ts b/src/components/ha-grid-size-picker.ts index a050d81d69..ae82b366f2 100644 --- a/src/components/ha-grid-size-picker.ts +++ b/src/components/ha-grid-size-picker.ts @@ -1,14 +1,17 @@ -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; +import type { CardGridSize } from "../panels/lovelace/common/compute-card-grid-size"; +import type { HomeAssistant } from "../types"; + import "../panels/lovelace/editor/card-editor/ha-grid-layout-slider"; import "./ha-icon-button"; + import { mdiRestore } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { fireEvent } from "../common/dom/fire_event"; import { conditionalClamp } from "../common/number/clamp"; -import type { CardGridSize } from "../panels/lovelace/common/compute-card-grid-size"; import { DEFAULT_GRID_SIZE } from "../panels/lovelace/common/compute-card-grid-size"; -import type { HomeAssistant } from "../types"; @customElement("ha-grid-size-picker") export class HaGridSizeEditor extends LitElement { diff --git a/src/components/ha-header-bar.ts b/src/components/ha-header-bar.ts index 966da7ab80..210c17cf1d 100644 --- a/src/components/ha-header-bar.ts +++ b/src/components/ha-header-bar.ts @@ -1,5 +1,6 @@ // @ts-ignore import topAppBarStyles from "@material/top-app-bar/dist/mdc.top-app-bar.min.css"; + import { css, html, LitElement, unsafeCSS } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-help-tooltip.ts b/src/components/ha-help-tooltip.ts index 1d88cd748d..d67fd28178 100644 --- a/src/components/ha-help-tooltip.ts +++ b/src/components/ha-help-tooltip.ts @@ -1,10 +1,12 @@ -import { mdiHelpCircle } from "@mdi/js"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "./ha-svg-icon"; import "./ha-tooltip"; +import { mdiHelpCircle } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-help-tooltip") export class HaHelpTooltip extends LitElement { @property() public label!: string; diff --git a/src/components/ha-hls-player.ts b/src/components/ha-hls-player.ts index 64ba51706e..28c147c4ce 100644 --- a/src/components/ha-hls-player.ts +++ b/src/components/ha-hls-player.ts @@ -1,13 +1,16 @@ +import type { HomeAssistant } from "../types"; import type HlsType from "hls.js"; import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-alert"; + import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + +import { isComponentLoaded } from "../common/config/is_component_loaded"; import { fireEvent } from "../common/dom/fire_event"; import { nextRender } from "../common/util/render-status"; -import type { HomeAssistant } from "../types"; -import "./ha-alert"; import { fetchStreamUrl } from "../data/camera"; -import { isComponentLoaded } from "../common/config/is_component_loaded"; type HlsLite = Omit< HlsType, diff --git a/src/components/ha-hs-color-picker.ts b/src/components/ha-hs-color-picker.ts index b8ccfd3f3d..7e2b51147e 100644 --- a/src/components/ha-hs-color-picker.ts +++ b/src/components/ha-hs-color-picker.ts @@ -1,9 +1,11 @@ -import { DIRECTION_ALL, Manager, Pan, Tap } from "@egjs/hammerjs"; import type { PropertyValues } from "lit"; + +import { DIRECTION_ALL, Manager, Pan, Tap } from "@egjs/hammerjs"; import { css, html, LitElement, svg } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { hsv2rgb, rgb2hex } from "../common/color/convert-color"; import { rgbw2rgb, rgbww2rgb } from "../common/color/convert-light-color"; import { fireEvent } from "../common/dom/fire_event"; diff --git a/src/components/ha-humidifier-state.ts b/src/components/ha-humidifier-state.ts index 63dec9fc33..7ae0219801 100644 --- a/src/components/ha-humidifier-state.ts +++ b/src/components/ha-humidifier-state.ts @@ -1,9 +1,11 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { isUnavailableState, OFF } from "../data/entity"; import type { HumidifierEntity } from "../data/humidifier"; import type { HomeAssistant } from "../types"; +import type { TemplateResult } from "lit"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { isUnavailableState, OFF } from "../data/entity"; @customElement("ha-humidifier-state") class HaHumidifierState extends LitElement { diff --git a/src/components/ha-icon-button-arrow-next.ts b/src/components/ha-icon-button-arrow-next.ts index 9eafcf6f07..2f07bb25db 100644 --- a/src/components/ha-icon-button-arrow-next.ts +++ b/src/components/ha-icon-button-arrow-next.ts @@ -1,10 +1,13 @@ -import { mdiArrowLeft, mdiArrowRight } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "./ha-icon-button"; + +import { mdiArrowLeft, mdiArrowRight } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-icon-button-arrow-next") export class HaIconButtonArrowNext extends LitElement { diff --git a/src/components/ha-icon-button-arrow-prev.ts b/src/components/ha-icon-button-arrow-prev.ts index b0137fc925..0ebf84bbbb 100644 --- a/src/components/ha-icon-button-arrow-prev.ts +++ b/src/components/ha-icon-button-arrow-prev.ts @@ -1,10 +1,13 @@ -import { mdiArrowLeft, mdiArrowRight } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "./ha-icon-button"; + +import { mdiArrowLeft, mdiArrowRight } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-icon-button-arrow-prev") export class HaIconButtonArrowPrev extends LitElement { diff --git a/src/components/ha-icon-button-group.ts b/src/components/ha-icon-button-group.ts index ddb8f08acc..b6b04d6009 100644 --- a/src/components/ha-icon-button-group.ts +++ b/src/components/ha-icon-button-group.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-icon-button-next.ts b/src/components/ha-icon-button-next.ts index ba40a921a7..4375c34ab7 100644 --- a/src/components/ha-icon-button-next.ts +++ b/src/components/ha-icon-button-next.ts @@ -1,10 +1,13 @@ -import { mdiChevronLeft, mdiChevronRight } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "./ha-icon-button"; + +import { mdiChevronLeft, mdiChevronRight } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-icon-button-next") export class HaIconButtonNext extends LitElement { diff --git a/src/components/ha-icon-button-prev.ts b/src/components/ha-icon-button-prev.ts index 5f6510bc64..10b997dc54 100644 --- a/src/components/ha-icon-button-prev.ts +++ b/src/components/ha-icon-button-prev.ts @@ -1,10 +1,13 @@ -import { mdiChevronLeft, mdiChevronRight } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "./ha-icon-button"; + +import { mdiChevronLeft, mdiChevronRight } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-icon-button-prev") export class HaIconButtonPrev extends LitElement { diff --git a/src/components/ha-icon-button-toggle.ts b/src/components/ha-icon-button-toggle.ts index eeee6e1042..bb590aa479 100644 --- a/src/components/ha-icon-button-toggle.ts +++ b/src/components/ha-icon-button-toggle.ts @@ -1,5 +1,6 @@ import { css } from "lit"; import { customElement, property } from "lit/decorators"; + import { HaIconButton } from "./ha-icon-button"; @customElement("ha-icon-button-toggle") diff --git a/src/components/ha-icon-button.ts b/src/components/ha-icon-button.ts index e4c3f60c88..e0fd7c95f1 100644 --- a/src/components/ha-icon-button.ts +++ b/src/components/ha-icon-button.ts @@ -1,10 +1,12 @@ -import "@material/mwc-icon-button"; import type { IconButton } from "@material/mwc-icon-button"; import type { TemplateResult } from "lit"; + +import "./ha-svg-icon"; +import "@material/mwc-icon-button"; + import { css, html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import "./ha-svg-icon"; @customElement("ha-icon-button") export class HaIconButton extends LitElement { diff --git a/src/components/ha-icon-next.ts b/src/components/ha-icon-next.ts index e5330cb22c..e8e3beb88d 100644 --- a/src/components/ha-icon-next.ts +++ b/src/components/ha-icon-next.ts @@ -1,5 +1,6 @@ import { mdiChevronLeft, mdiChevronRight } from "@mdi/js"; import { customElement, property } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; import { HaSvgIcon } from "./ha-svg-icon"; diff --git a/src/components/ha-icon-overflow-menu.ts b/src/components/ha-icon-overflow-menu.ts index b526e48e24..9e02c8216b 100644 --- a/src/components/ha-icon-overflow-menu.ts +++ b/src/components/ha-icon-overflow-menu.ts @@ -1,17 +1,20 @@ -import { mdiDotsVertical } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "./ha-icon-button"; +import "./ha-list-item"; +import "./ha-md-button-menu"; +import "./ha-md-divider"; +import "./ha-md-menu-item"; +import "./ha-svg-icon"; +import "./ha-tooltip"; + +import { mdiDotsVertical } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import "./ha-md-button-menu"; -import "./ha-icon-button"; -import "./ha-list-item"; -import "./ha-svg-icon"; -import "./ha-tooltip"; -import "./ha-md-menu-item"; -import "./ha-md-divider"; export interface IconOverflowMenuItem { [key: string]: any; diff --git a/src/components/ha-icon-picker.ts b/src/components/ha-icon-picker.ts index 3d1bb30552..076960bde5 100644 --- a/src/components/ha-icon-picker.ts +++ b/src/components/ha-icon-picker.ts @@ -1,18 +1,21 @@ +import type { HomeAssistant, ValueChangedEvent } from "../types"; import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; import type { ComboBoxDataProviderCallback, ComboBoxDataProviderParams, } from "@vaadin/combo-box/vaadin-combo-box-light"; import type { TemplateResult } from "lit"; + +import "./ha-combo-box"; +import "./ha-icon"; +import "./ha-list-item"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { customIcons } from "../data/custom_icons"; -import type { HomeAssistant, ValueChangedEvent } from "../types"; -import "./ha-combo-box"; -import "./ha-list-item"; -import "./ha-icon"; interface IconItem { icon: string; diff --git a/src/components/ha-icon-prev.ts b/src/components/ha-icon-prev.ts index 4fa5dd683a..d533675ed3 100644 --- a/src/components/ha-icon-prev.ts +++ b/src/components/ha-icon-prev.ts @@ -1,5 +1,6 @@ import { mdiChevronLeft, mdiChevronRight } from "@mdi/js"; import { customElement, property } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; import { HaSvgIcon } from "./ha-svg-icon"; diff --git a/src/components/ha-icon.ts b/src/components/ha-icon.ts index 5016e38c6a..aa730886b2 100644 --- a/src/components/ha-icon.ts +++ b/src/components/ha-icon.ts @@ -1,18 +1,21 @@ +import type { CustomIcon } from "../data/custom_icons"; +import type { Chunks, Icons } from "../data/iconsets"; import type { PropertyValues } from "lit"; + +import "./ha-svg-icon"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { debounce } from "../common/util/debounce"; -import type { CustomIcon } from "../data/custom_icons"; import { customIcons } from "../data/custom_icons"; -import type { Chunks, Icons } from "../data/iconsets"; import { MDI_PREFIXES, findIconChunk, getIcon, writeCache, } from "../data/iconsets"; -import "./ha-svg-icon"; type DeprecatedIcon = Record< string, diff --git a/src/components/ha-input-helper-text.ts b/src/components/ha-input-helper-text.ts index 4af842ee74..a29fffec7d 100644 --- a/src/components/ha-input-helper-text.ts +++ b/src/components/ha-input-helper-text.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-items-display-editor.ts b/src/components/ha-items-display-editor.ts index af7fb2ba1f..b51be408be 100644 --- a/src/components/ha-items-display-editor.ts +++ b/src/components/ha-items-display-editor.ts @@ -1,16 +1,6 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; -import { mdiDrag, mdiEye, mdiEyeOff } from "@mdi/js"; -import type { TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { ifDefined } from "lit/directives/if-defined"; -import { repeat } from "lit/directives/repeat"; -import { until } from "lit/directives/until"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../common/dom/fire_event"; -import { orderCompare } from "../common/string/compare"; import type { HomeAssistant } from "../types"; +import type { TemplateResult } from "lit"; + import "./ha-icon"; import "./ha-icon-button"; import "./ha-icon-next"; @@ -19,6 +9,19 @@ import "./ha-md-list-item"; import "./ha-sortable"; import "./ha-svg-icon"; +import { ResizeController } from "@lit-labs/observers/resize-controller"; +import { mdiDrag, mdiEye, mdiEyeOff } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { ifDefined } from "lit/directives/if-defined"; +import { repeat } from "lit/directives/repeat"; +import { until } from "lit/directives/until"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../common/dom/fire_event"; +import { orderCompare } from "../common/string/compare"; + export interface DisplayItem { icon?: string | Promise; iconPath?: string; diff --git a/src/components/ha-label-badge.ts b/src/components/ha-label-badge.ts index 225dc4b000..766817d252 100644 --- a/src/components/ha-label-badge.ts +++ b/src/components/ha-label-badge.ts @@ -1,4 +1,5 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; diff --git a/src/components/ha-label-picker.ts b/src/components/ha-label-picker.ts index be81ed9994..bb0026138a 100644 --- a/src/components/ha-label-picker.ts +++ b/src/components/ha-label-picker.ts @@ -1,34 +1,37 @@ -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../common/dom/fire_event"; -import { computeDomain } from "../common/entity/compute_domain"; import type { ScorableTextItem } from "../common/string/filter/sequence-matching"; -import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; import type { DeviceEntityDisplayLookup, DeviceRegistryEntry, } from "../data/device_registry"; -import { getDeviceEntityDisplayLookup } from "../data/device_registry"; import type { EntityRegistryDisplayEntry } from "../data/entity_registry"; import type { LabelRegistryEntry } from "../data/label_registry"; +import type { HomeAssistant, ValueChangedEvent } from "../types"; +import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; +import type { HaComboBox } from "./ha-combo-box"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; +import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-combo-box"; +import "./ha-icon-button"; +import "./ha-list-item"; +import "./ha-svg-icon"; + +import { LitElement, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../common/dom/fire_event"; +import { computeDomain } from "../common/entity/compute_domain"; +import { fuzzyFilterSort } from "../common/string/filter/sequence-matching"; +import { getDeviceEntityDisplayLookup } from "../data/device_registry"; import { createLabelRegistryEntry, subscribeLabelRegistry, } from "../data/label_registry"; import { SubscribeMixin } from "../mixins/subscribe-mixin"; import { showLabelDetailDialog } from "../panels/config/labels/show-dialog-label-detail"; -import type { HomeAssistant, ValueChangedEvent } from "../types"; -import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; -import "./ha-combo-box"; -import type { HaComboBox } from "./ha-combo-box"; -import "./ha-icon-button"; -import "./ha-list-item"; -import "./ha-svg-icon"; type ScorableLabelItem = ScorableTextItem & LabelRegistryEntry; diff --git a/src/components/ha-label.ts b/src/components/ha-label.ts index 1b15d914ed..50d4c6d99c 100644 --- a/src/components/ha-label.ts +++ b/src/components/ha-label.ts @@ -1,4 +1,5 @@ import type { CSSResultGroup, TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/ha-labeled-slider.ts b/src/components/ha-labeled-slider.ts index 8a54a14496..68fb112a35 100644 --- a/src/components/ha-labeled-slider.ts +++ b/src/components/ha-labeled-slider.ts @@ -1,10 +1,12 @@ -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import "./ha-icon"; import "./ha-input-helper-text"; import "./ha-slider"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; + @customElement("ha-labeled-slider") class HaLabeledSlider extends LitElement { @property({ type: Boolean }) public labeled = false; diff --git a/src/components/ha-labels-picker.ts b/src/components/ha-labels-picker.ts index 81590f3247..4e2db2fa8c 100644 --- a/src/components/ha-labels-picker.ts +++ b/src/components/ha-labels-picker.ts @@ -1,25 +1,28 @@ +import type { LabelRegistryEntry } from "../data/label_registry"; +import type { HomeAssistant, ValueChangedEvent } from "../types"; +import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; +import type { HaLabelPicker } from "./ha-label-picker"; import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "./chips/ha-chip-set"; +import "./chips/ha-input-chip"; +import "./ha-label-picker"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../common/color/compute-color"; import { fireEvent } from "../common/dom/fire_event"; import { stringCompare } from "../common/string/compare"; -import type { LabelRegistryEntry } from "../data/label_registry"; import { subscribeLabelRegistry, updateLabelRegistryEntry, } from "../data/label_registry"; import { SubscribeMixin } from "../mixins/subscribe-mixin"; import { showLabelDetailDialog } from "../panels/config/labels/show-dialog-label-detail"; -import type { HomeAssistant, ValueChangedEvent } from "../types"; -import "./chips/ha-chip-set"; -import "./chips/ha-input-chip"; -import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; -import "./ha-label-picker"; -import type { HaLabelPicker } from "./ha-label-picker"; @customElement("ha-labels-picker") export class HaLabelsPicker extends SubscribeMixin(LitElement) { diff --git a/src/components/ha-language-picker.ts b/src/components/ha-language-picker.ts index f771871756..f76e1dae4d 100644 --- a/src/components/ha-language-picker.ts +++ b/src/components/ha-language-picker.ts @@ -1,17 +1,20 @@ +import type { FrontendLocaleData } from "../data/translation"; +import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; import type { PropertyValues } from "lit"; + +import "./ha-list-item"; +import "./ha-select"; + import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { formatLanguageCode } from "../common/language/format_language"; import { caseInsensitiveStringCompare } from "../common/string/compare"; -import type { FrontendLocaleData } from "../data/translation"; import { translationMetadata } from "../resources/translations-metadata"; -import type { HomeAssistant } from "../types"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; export const getLanguageOptions = ( languages: string[], diff --git a/src/components/ha-lawn_mower-action-button.ts b/src/components/ha-lawn_mower-action-button.ts index 95a4314362..e34caccca4 100644 --- a/src/components/ha-lawn_mower-action-button.ts +++ b/src/components/ha-lawn_mower-action-button.ts @@ -1,10 +1,13 @@ +import type { LawnMowerEntity, LawnMowerEntityState } from "../data/lawn_mower"; +import type { HomeAssistant } from "../types"; + import "@material/mwc-button"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { supportsFeature } from "../common/entity/supports-feature"; -import type { LawnMowerEntity, LawnMowerEntityState } from "../data/lawn_mower"; import { LawnMowerEntityFeature } from "../data/lawn_mower"; -import type { HomeAssistant } from "../types"; interface LawnMowerAction { action: string; diff --git a/src/components/ha-list-item.ts b/src/components/ha-list-item.ts index bd405619c2..652a1f3c80 100644 --- a/src/components/ha-list-item.ts +++ b/src/components/ha-list-item.ts @@ -1,6 +1,8 @@ -import { ListItemBase } from "@material/mwc-list/mwc-list-item-base"; -import { styles } from "@material/mwc-list/mwc-list-item.css"; import type { CSSResultGroup } from "lit"; + +import { styles } from "@material/mwc-list/mwc-list-item.css"; + +import { ListItemBase } from "@material/mwc-list/mwc-list-item-base"; import { css } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-logo-svg.ts b/src/components/ha-logo-svg.ts index 63ad3db21a..42a7b1ad8a 100644 --- a/src/components/ha-logo-svg.ts +++ b/src/components/ha-logo-svg.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, LitElement, html } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-markdown-element.ts b/src/components/ha-markdown-element.ts index 1c642df869..13557ecc06 100644 --- a/src/components/ha-markdown-element.ts +++ b/src/components/ha-markdown-element.ts @@ -1,7 +1,9 @@ import type { PropertyValues } from "lit"; + import { ReactiveElement } from "lit"; import { customElement, property } from "lit/decorators"; import hash from "object-hash"; + import { fireEvent } from "../common/dom/fire_event"; import { renderMarkdown } from "../resources/render-markdown"; import { CacheManager } from "../util/cache-manager"; diff --git a/src/components/ha-markdown.ts b/src/components/ha-markdown.ts index 14d26fa2cd..723200ce33 100644 --- a/src/components/ha-markdown.ts +++ b/src/components/ha-markdown.ts @@ -1,6 +1,7 @@ +import "./ha-markdown-element"; + import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; import { customElement, property } from "lit/decorators"; -import "./ha-markdown-element"; @customElement("ha-markdown") export class HaMarkdown extends LitElement { diff --git a/src/components/ha-md-button-menu.ts b/src/components/ha-md-button-menu.ts index ce4e39f173..48e462a9ef 100644 --- a/src/components/ha-md-button-menu.ts +++ b/src/components/ha-md-button-menu.ts @@ -1,12 +1,15 @@ +import type { HaIconButton } from "./ha-icon-button"; +import type { HaMenu } from "./ha-menu"; import type { Button } from "@material/mwc-button"; import type { TemplateResult } from "lit"; + +import "./ha-menu"; + import { css, html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; -import { FOCUS_TARGET } from "../dialogs/make-dialog-manager"; + import { fireEvent } from "../common/dom/fire_event"; -import type { HaIconButton } from "./ha-icon-button"; -import "./ha-menu"; -import type { HaMenu } from "./ha-menu"; +import { FOCUS_TARGET } from "../dialogs/make-dialog-manager"; @customElement("ha-md-button-menu") export class HaMdButtonMenu extends LitElement { diff --git a/src/components/ha-menu-button.ts b/src/components/ha-menu-button.ts index 7e74b3cdf4..ae5ed1113c 100644 --- a/src/components/ha-menu-button.ts +++ b/src/components/ha-menu-button.ts @@ -1,11 +1,14 @@ -import { mdiMenu } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; + +import "./ha-icon-button"; + +import { mdiMenu } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { subscribeNotifications } from "../data/persistent_notification"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-menu-button") class HaMenuButton extends LitElement { diff --git a/src/components/ha-menu.ts b/src/components/ha-menu.ts index 053d012163..60b81bdbcd 100644 --- a/src/components/ha-menu.ts +++ b/src/components/ha-menu.ts @@ -1,12 +1,13 @@ -import { MdMenu } from "@material/web/menu/menu"; +import type { HaMdMenuItem } from "./ha-md-menu-item"; import type { CloseMenuEvent } from "@material/web/menu/menu"; + import { CloseReason, KeydownCloseKey, } from "@material/web/menu/internal/controllers/shared"; +import { MdMenu } from "@material/web/menu/menu"; import { css } from "lit"; import { customElement } from "lit/decorators"; -import type { HaMdMenuItem } from "./ha-md-menu-item"; @customElement("ha-menu") export class HaMenu extends MdMenu { diff --git a/src/components/ha-metric.ts b/src/components/ha-metric.ts index d212162e9c..1c1768f6c5 100644 --- a/src/components/ha-metric.ts +++ b/src/components/ha-metric.ts @@ -1,10 +1,13 @@ import type { TemplateResult } from "lit"; + +import "./ha-bar"; +import "./ha-settings-row"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { roundWithOneDecimal } from "../util/calculate"; -import "./ha-bar"; -import "./ha-settings-row"; @customElement("ha-metric") class HaMetric extends LitElement { diff --git a/src/components/ha-mount-picker.ts b/src/components/ha-mount-picker.ts index 7dfc1495a6..cd1b4adf3c 100644 --- a/src/components/ha-mount-picker.ts +++ b/src/components/ha-mount-picker.ts @@ -1,23 +1,26 @@ -import { mdiBackupRestore, mdiFolder, mdiHarddisk, mdiPlayBox } from "@mdi/js"; +import type { SupervisorMounts } from "../data/supervisor/mounts"; +import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; import type { CSSResultGroup } from "lit"; + +import "./ha-alert"; +import "./ha-list-item"; +import "./ha-select"; + +import { mdiBackupRestore, mdiFolder, mdiHarddisk, mdiPlayBox } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../common/config/is_component_loaded"; import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { caseInsensitiveStringCompare } from "../common/string/compare"; -import type { SupervisorMounts } from "../data/supervisor/mounts"; import { fetchSupervisorMounts, SupervisorMountType, SupervisorMountUsage, } from "../data/supervisor/mounts"; -import type { HomeAssistant } from "../types"; -import "./ha-alert"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; const _BACKUP_DATA_DISK_ = "/backup"; diff --git a/src/components/ha-multi-textfield.ts b/src/components/ha-multi-textfield.ts index dd1d46b8b2..93a4b143ec 100644 --- a/src/components/ha-multi-textfield.ts +++ b/src/components/ha-multi-textfield.ts @@ -1,15 +1,18 @@ -import { mdiDeleteOutline, mdiPlus } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; -import { haStyle } from "../resources/styles"; import type { HomeAssistant } from "../types"; +import type { HaTextField } from "./ha-textfield"; +import type { CSSResultGroup } from "lit"; + import "./ha-button"; import "./ha-icon-button"; -import "./ha-textfield"; import "./ha-input-helper-text"; -import type { HaTextField } from "./ha-textfield"; +import "./ha-textfield"; + +import { mdiDeleteOutline, mdiPlus } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { haStyle } from "../resources/styles"; @customElement("ha-multi-textfield") class HaMultiTextField extends LitElement { diff --git a/src/components/ha-navigation-list.ts b/src/components/ha-navigation-list.ts index fd00db4609..f2bdb03c20 100644 --- a/src/components/ha-navigation-list.ts +++ b/src/components/ha-navigation-list.ts @@ -1,14 +1,16 @@ +import type { PageNavigation } from "../layouts/hass-tabs-subpage"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "./ha-icon-next"; +import "./ha-list-item"; +import "./ha-md-list"; +import "./ha-md-list-item"; +import "./ha-svg-icon"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import type { PageNavigation } from "../layouts/hass-tabs-subpage"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-next"; -import "./ha-list-item"; -import "./ha-svg-icon"; -import "./ha-md-list"; -import "./ha-md-list-item"; @customElement("ha-navigation-list") class HaNavigationList extends LitElement { diff --git a/src/components/ha-navigation-picker.ts b/src/components/ha-navigation-picker.ts index c89c274144..7ad1530964 100644 --- a/src/components/ha-navigation-picker.ts +++ b/src/components/ha-navigation-picker.ts @@ -1,16 +1,19 @@ -import "@material/mwc-list/mwc-list-item"; +import type { LovelaceViewRawConfig } from "../data/lovelace/config/view"; +import type { HomeAssistant, PanelInfo, ValueChangedEvent } from "../types"; +import type { HaComboBox } from "./ha-combo-box"; import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-combo-box"; +import "./ha-icon"; +import "@material/mwc-list/mwc-list-item"; + import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { titleCase } from "../common/string/title-case"; import { fetchConfig } from "../data/lovelace/config/types"; -import type { LovelaceViewRawConfig } from "../data/lovelace/config/view"; -import type { HomeAssistant, PanelInfo, ValueChangedEvent } from "../types"; -import "./ha-combo-box"; -import type { HaComboBox } from "./ha-combo-box"; -import "./ha-icon"; interface NavigationItem { path: string; diff --git a/src/components/ha-network.ts b/src/components/ha-network.ts index 00c8f521c7..e26582d407 100644 --- a/src/components/ha-network.ts +++ b/src/components/ha-network.ts @@ -1,21 +1,24 @@ -import { mdiStar } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import type { Adapter, IPv4ConfiguredAddress, IPv6ConfiguredAddress, NetworkConfig, } from "../data/network"; -import { haStyle } from "../resources/styles"; import type { HomeAssistant } from "../types"; -import "./ha-checkbox"; import type { HaCheckbox } from "./ha-checkbox"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "./ha-checkbox"; import "./ha-settings-row"; import "./ha-svg-icon"; +import { mdiStar } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { haStyle } from "../resources/styles"; + const format_addresses = ( addresses: IPv6ConfiguredAddress[] | IPv4ConfiguredAddress[] ): TemplateResult => diff --git a/src/components/ha-outlined-text-field.ts b/src/components/ha-outlined-text-field.ts index 026bce0b25..de51affce7 100644 --- a/src/components/ha-outlined-text-field.ts +++ b/src/components/ha-outlined-text-field.ts @@ -1,8 +1,9 @@ +import "./ha-outlined-field"; + import { MdOutlinedTextField } from "@material/web/textfield/outlined-text-field"; import { css } from "lit"; import { customElement } from "lit/decorators"; import { literal } from "lit/static-html"; -import "./ha-outlined-field"; @customElement("ha-outlined-text-field") export class HaOutlinedTextField extends MdOutlinedTextField { diff --git a/src/components/ha-password-field.ts b/src/components/ha-password-field.ts index 9b298f4f26..79e72df883 100644 --- a/src/components/ha-password-field.ts +++ b/src/components/ha-password-field.ts @@ -1,4 +1,10 @@ +import type { HomeAssistant } from "../types"; +import type { HaTextField } from "./ha-textfield"; import type { TextAreaCharCounter } from "@material/mwc-textfield/mwc-textfield-base"; + +import "./ha-icon-button"; +import "./ha-textfield"; + import { mdiEye, mdiEyeOff } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { @@ -8,10 +14,6 @@ import { query, state, } from "lit/decorators"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; -import "./ha-textfield"; -import type { HaTextField } from "./ha-textfield"; @customElement("ha-password-field") export class HaPasswordField extends LitElement { diff --git a/src/components/ha-picture-upload.ts b/src/components/ha-picture-upload.ts index a5edd4fbce..5417cdbc64 100644 --- a/src/components/ha-picture-upload.ts +++ b/src/components/ha-picture-upload.ts @@ -1,10 +1,16 @@ -import { mdiImagePlus } from "@mdi/js"; +import type { MediaPickedEvent } from "../data/media-player"; +import type { CropOptions } from "../dialogs/image-cropper-dialog/show-image-cropper-dialog"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "./ha-button"; +import "./ha-file-upload"; + +import { mdiImagePlus } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { MediaPickedEvent } from "../data/media-player"; + import { fireEvent } from "../common/dom/fire_event"; -import { haStyle } from "../resources/styles"; import { MEDIA_PREFIX, getIdFromUrl, @@ -13,11 +19,8 @@ import { getImageData, } from "../data/image_upload"; import { showAlertDialog } from "../dialogs/generic/show-dialog-box"; -import type { CropOptions } from "../dialogs/image-cropper-dialog/show-image-cropper-dialog"; import { showImageCropperDialog } from "../dialogs/image-cropper-dialog/show-image-cropper-dialog"; -import type { HomeAssistant } from "../types"; -import "./ha-button"; -import "./ha-file-upload"; +import { haStyle } from "../resources/styles"; import { showMediaBrowserDialog } from "./media-player/show-media-browser-dialog"; @customElement("ha-picture-upload") diff --git a/src/components/ha-push-notifications-toggle.ts b/src/components/ha-push-notifications-toggle.ts index d839e4739c..53aa73a63e 100644 --- a/src/components/ha-push-notifications-toggle.ts +++ b/src/components/ha-push-notifications-toggle.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../types"; +import type { HaSwitch } from "./ha-switch"; import type { TemplateResult } from "lit"; + +import "./ha-switch"; + import { LitElement, html } from "lit"; import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; import { getAppKey } from "../data/notify_html5"; import { showPromptDialog } from "../dialogs/generic/show-dialog-box"; -import type { HaSwitch } from "./ha-switch"; -import type { HomeAssistant } from "../types"; -import { fireEvent } from "../common/dom/fire_event"; -import "./ha-switch"; export const pushSupported = "serviceWorker" in navigator && diff --git a/src/components/ha-qr-code.ts b/src/components/ha-qr-code.ts index 31499f0a20..0cac4940e6 100644 --- a/src/components/ha-qr-code.ts +++ b/src/components/ha-qr-code.ts @@ -1,8 +1,11 @@ import type { PropertyValues } from "lit"; + +import "./ha-alert"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import QRCode from "qrcode"; -import "./ha-alert"; + import { rgb2hex } from "../common/color/convert-color"; @customElement("ha-qr-code") diff --git a/src/components/ha-qr-scanner.ts b/src/components/ha-qr-scanner.ts index 1aca4f3982..2a93261406 100644 --- a/src/components/ha-qr-scanner.ts +++ b/src/components/ha-qr-scanner.ts @@ -1,25 +1,28 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCamera } from "@mdi/js"; +import type { LocalizeFunc } from "../common/translations/localize"; +import type { HomeAssistant } from "../types"; +import type { HaTextField } from "./ha-textfield"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; // The BarcodeDetector Web API is not yet supported in all browsers, // and "qr-scanner" defaults to a suboptimal implementation if it is not available. // The following import makes a better implementation available that is based on a // WebAssembly port of ZXing: -import { prepareZXingModule } from "barcode-detector"; import type QrScanner from "qr-scanner"; -import { fireEvent } from "../common/dom/fire_event"; -import { stopPropagation } from "../common/dom/stop_propagation"; -import type { LocalizeFunc } from "../common/translations/localize"; -import { addExternalBarCodeListener } from "../external_app/external_app_entrypoint"; -import type { HomeAssistant } from "../types"; + import "./ha-alert"; import "./ha-button-menu"; import "./ha-list-item"; import "./ha-textfield"; -import type { HaTextField } from "./ha-textfield"; +import "@material/mwc-button/mwc-button"; + +import { mdiCamera } from "@mdi/js"; +import { prepareZXingModule } from "barcode-detector"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { stopPropagation } from "../common/dom/stop_propagation"; +import { addExternalBarCodeListener } from "../external_app/external_app_entrypoint"; prepareZXingModule({ overrides: { diff --git a/src/components/ha-radio.ts b/src/components/ha-radio.ts index f551d4fedc..ee1e0ab9a5 100644 --- a/src/components/ha-radio.ts +++ b/src/components/ha-radio.ts @@ -1,5 +1,6 @@ -import { RadioBase } from "@material/mwc-radio/mwc-radio-base"; import { styles } from "@material/mwc-radio/mwc-radio.css"; + +import { RadioBase } from "@material/mwc-radio/mwc-radio-base"; import { css } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-related-items.ts b/src/components/ha-related-items.ts index 7cd3bfd2d0..4d51bc5894 100644 --- a/src/components/ha-related-items.ts +++ b/src/components/ha-related-items.ts @@ -1,30 +1,33 @@ +import type { Blueprints } from "../data/blueprint"; +import type { ConfigEntry } from "../data/config_entries"; +import type { ItemType, RelatedResult } from "../data/search"; +import type { HomeAssistant } from "../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "./ha-icon-next"; +import "./ha-list-item"; +import "./ha-state-icon"; +import "./ha-switch"; import "@material/mwc-list/mwc-list"; + import { mdiAlertCircleOutline, mdiDevices, mdiPaletteSwatch, mdiTextureBox, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; import { caseInsensitiveStringCompare } from "../common/string/compare"; -import type { Blueprints } from "../data/blueprint"; import { fetchBlueprints } from "../data/blueprint"; -import type { ConfigEntry } from "../data/config_entries"; import { getConfigEntries } from "../data/config_entries"; -import type { ItemType, RelatedResult } from "../data/search"; import { findRelated } from "../data/search"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; import { brandsUrl } from "../util/brands-url"; -import "./ha-icon-next"; -import "./ha-list-item"; -import "./ha-state-icon"; -import "./ha-switch"; @customElement("ha-related-items") export class HaRelatedItems extends LitElement { diff --git a/src/components/ha-relative-time.ts b/src/components/ha-relative-time.ts index cb9cd7d7b1..7125f828e7 100644 --- a/src/components/ha-relative-time.ts +++ b/src/components/ha-relative-time.ts @@ -1,10 +1,12 @@ -import { parseISO } from "date-fns"; +import type { HomeAssistant } from "../types"; import type { PropertyValues } from "lit"; + +import { parseISO } from "date-fns"; import { ReactiveElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { relativeTime } from "../common/datetime/relative_time"; import { capitalizeFirstLetter } from "../common/string/capitalize-first-letter"; -import type { HomeAssistant } from "../types"; @customElement("ha-relative-time") class HaRelativeTime extends ReactiveElement { diff --git a/src/components/ha-select-box.ts b/src/components/ha-select-box.ts index a53506df74..8cbde4e59a 100644 --- a/src/components/ha-select-box.ts +++ b/src/components/ha-select-box.ts @@ -1,13 +1,16 @@ -import { customElement, property } from "lit/decorators"; -import { css, html, LitElement, nothing } from "lit"; +import type { HomeAssistant } from "../types"; +import type { HaRadio } from "./ha-radio"; + import "./ha-radio"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; -import type { HaRadio } from "./ha-radio"; + import { fireEvent } from "../common/dom/fire_event"; -import type { HomeAssistant } from "../types"; -import { computeRTL } from "../common/util/compute_rtl"; import { stopPropagation } from "../common/dom/stop_propagation"; +import { computeRTL } from "../common/util/compute_rtl"; interface SelectBoxOptionImage { src: string; diff --git a/src/components/ha-select.ts b/src/components/ha-select.ts index 7f240ee525..d540598078 100644 --- a/src/components/ha-select.ts +++ b/src/components/ha-select.ts @@ -1,11 +1,14 @@ -import { SelectBase } from "@material/mwc-select/mwc-select-base"; import { styles } from "@material/mwc-select/mwc-select.css"; + +import "./ha-icon-button"; + +import { SelectBase } from "@material/mwc-select/mwc-select-base"; import { mdiClose } from "@mdi/js"; import { css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { debounce } from "../common/util/debounce"; import { nextRender } from "../common/util/render-status"; -import "./ha-icon-button"; @customElement("ha-select") export class HaSelect extends SelectBase { diff --git a/src/components/ha-selector/ha-selector-action.ts b/src/components/ha-selector/ha-selector-action.ts index 255340b787..e96494ddcf 100644 --- a/src/components/ha-selector/ha-selector-action.ts +++ b/src/components/ha-selector/ha-selector-action.ts @@ -1,11 +1,14 @@ +import type { Action } from "../../data/script"; +import type { ActionSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; + +import "../../panels/config/automation/action/ha-automation-action"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; -import type { Action } from "../../data/script"; + import { migrateAutomationAction } from "../../data/script"; -import type { ActionSelector } from "../../data/selector"; -import "../../panels/config/automation/action/ha-automation-action"; -import type { HomeAssistant } from "../../types"; @customElement("ha-selector-action") export class HaActionSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-addon.ts b/src/components/ha-selector/ha-selector-addon.ts index 8390c8748f..a9640b5100 100644 --- a/src/components/ha-selector/ha-selector-addon.ts +++ b/src/components/ha-selector/ha-selector-addon.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { AddonSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-addon-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-addon") export class HaAddonSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-area.ts b/src/components/ha-selector/ha-selector-area.ts index 1966214ab3..31a91ad2e3 100644 --- a/src/components/ha-selector/ha-selector-area.ts +++ b/src/components/ha-selector/ha-selector-area.ts @@ -1,24 +1,27 @@ +import type { ConfigEntry } from "../../data/config_entries"; +import type { DeviceRegistryEntry } from "../../data/device_registry"; +import type { EntitySources } from "../../data/entity_sources"; +import type { AreaSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../ha-area-picker"; +import "../ha-areas-picker"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../common/array/ensure-array"; -import type { DeviceRegistryEntry } from "../../data/device_registry"; -import { getDeviceIntegrationLookup } from "../../data/device_registry"; import { fireEvent } from "../../common/dom/fire_event"; -import type { EntitySources } from "../../data/entity_sources"; -import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; -import type { AreaSelector } from "../../data/selector"; -import type { ConfigEntry } from "../../data/config_entries"; import { getConfigEntries } from "../../data/config_entries"; +import { getDeviceIntegrationLookup } from "../../data/device_registry"; +import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; import { filterSelectorDevices, filterSelectorEntities, } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; -import "../ha-area-picker"; -import "../ha-areas-picker"; @customElement("ha-selector-area") export class HaAreaSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-areas-display.ts b/src/components/ha-selector/ha-selector-areas-display.ts index d6b02593a3..1e6289769a 100644 --- a/src/components/ha-selector/ha-selector-areas-display.ts +++ b/src/components/ha-selector/ha-selector-areas-display.ts @@ -1,9 +1,11 @@ -import { LitElement, html } from "lit"; -import { customElement, property } from "lit/decorators"; import type { AreasDisplaySelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-areas-display-editor"; +import { LitElement, html } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-areas_display") export class HaAreasDisplaySelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-assist-pipeline.ts b/src/components/ha-selector/ha-selector-assist-pipeline.ts index 0bcdac4b4d..0208cfb754 100644 --- a/src/components/ha-selector/ha-selector-assist-pipeline.ts +++ b/src/components/ha-selector/ha-selector-assist-pipeline.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { AssistPipelineSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-assist-pipeline-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-assist_pipeline") export class HaAssistPipelineSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-attribute.ts b/src/components/ha-selector/ha-selector-attribute.ts index 5296bc4be4..97a3f8c506 100644 --- a/src/components/ha-selector/ha-selector-attribute.ts +++ b/src/components/ha-selector/ha-selector-attribute.ts @@ -1,11 +1,14 @@ -import type { PropertyValues } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { AttributeSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; + import "../entity/ha-entity-attribute-picker"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-attribute") export class HaSelectorAttribute extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-background.ts b/src/components/ha-selector/ha-selector-background.ts index 1132927f0e..f191c7eebe 100644 --- a/src/components/ha-selector/ha-selector-background.ts +++ b/src/components/ha-selector/ha-selector-background.ts @@ -1,11 +1,14 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { BackgroundSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; -import "../ha-picture-upload"; -import "../ha-alert"; import type { HaPictureUpload } from "../ha-picture-upload"; + +import "../ha-alert"; +import "../ha-picture-upload"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { URL_PREFIX } from "../../data/image_upload"; @customElement("ha-selector-background") diff --git a/src/components/ha-selector/ha-selector-backup-location.ts b/src/components/ha-selector/ha-selector-backup-location.ts index 934a053f58..d9abbf99c8 100644 --- a/src/components/ha-selector/ha-selector-backup-location.ts +++ b/src/components/ha-selector/ha-selector-backup-location.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { BackupLocationSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-mount-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-backup_location") export class HaBackupLocationSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-boolean.ts b/src/components/ha-selector/ha-selector-boolean.ts index bffa9ca18a..24d09afb6b 100644 --- a/src/components/ha-selector/ha-selector-boolean.ts +++ b/src/components/ha-selector/ha-selector-boolean.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../../types"; + +import "../ha-formfield"; +import "../ha-input-helper-text"; +import "../ha-switch"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { HomeAssistant } from "../../types"; -import "../ha-formfield"; -import "../ha-switch"; -import "../ha-input-helper-text"; @customElement("ha-selector-boolean") export class HaBooleanSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-button-toggle.ts b/src/components/ha-selector/ha-selector-button-toggle.ts index 727dfaef82..a65643844b 100644 --- a/src/components/ha-selector/ha-selector-button-toggle.ts +++ b/src/components/ha-selector/ha-selector-button-toggle.ts @@ -1,11 +1,14 @@ -import "@material/mwc-list/mwc-list-item"; -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import { caseInsensitiveStringCompare } from "../../common/string/compare"; import type { ButtonToggleSelector, SelectOption } from "../../data/selector"; import type { HomeAssistant, ToggleButton } from "../../types"; + import "../ha-button-toggle-group"; +import "@material/mwc-list/mwc-list-item"; + +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { caseInsensitiveStringCompare } from "../../common/string/compare"; @customElement("ha-selector-button_toggle") export class HaButtonToggleSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-color-rgb.ts b/src/components/ha-selector/ha-selector-color-rgb.ts index d59406c9e5..f444580bc2 100644 --- a/src/components/ha-selector/ha-selector-color-rgb.ts +++ b/src/components/ha-selector/ha-selector-color-rgb.ts @@ -1,11 +1,14 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { hex2rgb, rgb2hex } from "../../common/color/convert-color"; -import { fireEvent } from "../../common/dom/fire_event"; import type { ColorRGBSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-textfield"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { hex2rgb, rgb2hex } from "../../common/color/convert-color"; +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-color_rgb") export class HaColorRGBSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-color-temp.ts b/src/components/ha-selector/ha-selector-color-temp.ts index ef59e77996..e3787503f3 100644 --- a/src/components/ha-selector/ha-selector-color-temp.ts +++ b/src/components/ha-selector/ha-selector-color-temp.ts @@ -1,17 +1,20 @@ +import type { ColorTempSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; + +import "../ha-labeled-slider"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; -import { fireEvent } from "../../common/dom/fire_event"; -import type { ColorTempSelector } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; -import "../ha-labeled-slider"; -import { generateColorTemperatureGradient } from "../../dialogs/more-info/components/lights/light-color-temp-picker"; + import { DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN, mired2kelvin, } from "../../common/color/convert-light-color"; +import { fireEvent } from "../../common/dom/fire_event"; +import { generateColorTemperatureGradient } from "../../dialogs/more-info/components/lights/light-color-temp-picker"; @customElement("ha-selector-color_temp") export class HaColorTempSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-condition.ts b/src/components/ha-selector/ha-selector-condition.ts index dafca3f206..8458cbfb03 100644 --- a/src/components/ha-selector/ha-selector-condition.ts +++ b/src/components/ha-selector/ha-selector-condition.ts @@ -1,10 +1,12 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; import type { Condition } from "../../data/automation"; import type { ConditionSelector } from "../../data/selector"; -import "../../panels/config/automation/condition/ha-automation-condition"; import type { HomeAssistant } from "../../types"; +import "../../panels/config/automation/condition/ha-automation-condition"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-condition") export class HaConditionSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-config-entry.ts b/src/components/ha-selector/ha-selector-config-entry.ts index daf9c8a905..8e2919c181 100644 --- a/src/components/ha-selector/ha-selector-config-entry.ts +++ b/src/components/ha-selector/ha-selector-config-entry.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { ConfigEntrySelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-config-entry-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-config_entry") export class HaConfigEntrySelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-constant.ts b/src/components/ha-selector/ha-selector-constant.ts index ed5acb6f3f..1ab061a54b 100644 --- a/src/components/ha-selector/ha-selector-constant.ts +++ b/src/components/ha-selector/ha-selector-constant.ts @@ -1,6 +1,7 @@ +import type { ConstantSelector } from "../../data/selector"; + import { LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import type { ConstantSelector } from "../../data/selector"; @customElement("ha-selector-constant") export class HaSelectorConstant extends LitElement { diff --git a/src/components/ha-selector/ha-selector-conversation-agent.ts b/src/components/ha-selector/ha-selector-conversation-agent.ts index 0c035cdbb3..108387fe59 100644 --- a/src/components/ha-selector/ha-selector-conversation-agent.ts +++ b/src/components/ha-selector/ha-selector-conversation-agent.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { ConversationAgentSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-conversation-agent-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-conversation_agent") export class HaConversationAgentSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-country.ts b/src/components/ha-selector/ha-selector-country.ts index 277d16458b..416160e7e9 100644 --- a/src/components/ha-selector/ha-selector-country.ts +++ b/src/components/ha-selector/ha-selector-country.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { CountrySelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-country-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-country") export class HaCountrySelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-date.ts b/src/components/ha-selector/ha-selector-date.ts index f1fa8b6bf1..db2a0c3853 100644 --- a/src/components/ha-selector/ha-selector-date.ts +++ b/src/components/ha-selector/ha-selector-date.ts @@ -1,9 +1,11 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { DateSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-date-input"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-date") export class HaDateSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-datetime.ts b/src/components/ha-selector/ha-selector-datetime.ts index 1c5e2bf8db..9903d00851 100644 --- a/src/components/ha-selector/ha-selector-datetime.ts +++ b/src/components/ha-selector/ha-selector-datetime.ts @@ -1,14 +1,17 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { DateTimeSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; -import "../ha-date-input"; import type { HaDateInput } from "../ha-date-input"; -import "../ha-time-input"; -import "../ha-input-helper-text"; import type { HaTimeInput } from "../ha-time-input"; +import "../ha-date-input"; +import "../ha-input-helper-text"; +import "../ha-time-input"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-datetime") export class HaDateTimeSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-device.ts b/src/components/ha-selector/ha-selector-device.ts index 0ae3ca0fc6..60214c2907 100644 --- a/src/components/ha-selector/ha-selector-device.ts +++ b/src/components/ha-selector/ha-selector-device.ts @@ -1,24 +1,27 @@ +import type { ConfigEntry } from "../../data/config_entries"; +import type { DeviceRegistryEntry } from "../../data/device_registry"; +import type { EntitySources } from "../../data/entity_sources"; +import type { DeviceSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../device/ha-device-picker"; +import "../device/ha-devices-picker"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../common/array/ensure-array"; import { fireEvent } from "../../common/dom/fire_event"; -import type { DeviceRegistryEntry } from "../../data/device_registry"; -import { getDeviceIntegrationLookup } from "../../data/device_registry"; -import type { EntitySources } from "../../data/entity_sources"; -import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; -import type { DeviceSelector } from "../../data/selector"; -import type { ConfigEntry } from "../../data/config_entries"; import { getConfigEntries } from "../../data/config_entries"; +import { getDeviceIntegrationLookup } from "../../data/device_registry"; +import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; import { filterSelectorDevices, filterSelectorEntities, } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; -import "../device/ha-device-picker"; -import "../device/ha-devices-picker"; @customElement("ha-selector-device") export class HaDeviceSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-duration.ts b/src/components/ha-selector/ha-selector-duration.ts index 7fa96adf3e..ccb40b7bd8 100644 --- a/src/components/ha-selector/ha-selector-duration.ts +++ b/src/components/ha-selector/ha-selector-duration.ts @@ -1,10 +1,12 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { DurationSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; import type { HaDurationData } from "../ha-duration-input"; + import "../ha-duration-input"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-duration") export class HaTimeDuration extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-entity.ts b/src/components/ha-selector/ha-selector-entity.ts index 1aae4adf78..1125c0c73b 100644 --- a/src/components/ha-selector/ha-selector-entity.ts +++ b/src/components/ha-selector/ha-selector-entity.ts @@ -1,19 +1,22 @@ +import type { EntitySources } from "../../data/entity_sources"; +import type { EntitySelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../entity/ha-entities-picker"; +import "../entity/ha-entity-picker"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { ensureArray } from "../../common/array/ensure-array"; import { fireEvent } from "../../common/dom/fire_event"; -import type { EntitySources } from "../../data/entity_sources"; import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; -import type { EntitySelector } from "../../data/selector"; import { filterSelectorEntities, computeCreateDomains, } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; -import "../entity/ha-entities-picker"; -import "../entity/ha-entity-picker"; @customElement("ha-selector-entity") export class HaEntitySelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-file.ts b/src/components/ha-selector/ha-selector-file.ts index 8bac633fc5..fc5251a832 100644 --- a/src/components/ha-selector/ha-selector-file.ts +++ b/src/components/ha-selector/ha-selector-file.ts @@ -1,13 +1,16 @@ -import { mdiFile } from "@mdi/js"; +import type { FileSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; + +import "../ha-file-upload"; + +import { mdiFile } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; import { removeFile, uploadFile } from "../../data/file_upload"; -import type { FileSelector } from "../../data/selector"; import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../types"; -import "../ha-file-upload"; @customElement("ha-selector-file") export class HaFileSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-floor.ts b/src/components/ha-selector/ha-selector-floor.ts index f756a77426..e6ec5b0b1c 100644 --- a/src/components/ha-selector/ha-selector-floor.ts +++ b/src/components/ha-selector/ha-selector-floor.ts @@ -1,24 +1,27 @@ +import type { ConfigEntry } from "../../data/config_entries"; +import type { DeviceRegistryEntry } from "../../data/device_registry"; +import type { EntitySources } from "../../data/entity_sources"; +import type { FloorSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../ha-floor-picker"; +import "../ha-floors-picker"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../common/array/ensure-array"; -import type { DeviceRegistryEntry } from "../../data/device_registry"; -import { getDeviceIntegrationLookup } from "../../data/device_registry"; import { fireEvent } from "../../common/dom/fire_event"; -import type { EntitySources } from "../../data/entity_sources"; -import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; -import type { FloorSelector } from "../../data/selector"; -import type { ConfigEntry } from "../../data/config_entries"; import { getConfigEntries } from "../../data/config_entries"; +import { getDeviceIntegrationLookup } from "../../data/device_registry"; +import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; import { filterSelectorDevices, filterSelectorEntities, } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; -import "../ha-floor-picker"; -import "../ha-floors-picker"; @customElement("ha-selector-floor") export class HaFloorSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-icon.ts b/src/components/ha-selector/ha-selector-icon.ts index c325055911..15b09947a8 100644 --- a/src/components/ha-selector/ha-selector-icon.ts +++ b/src/components/ha-selector/ha-selector-icon.ts @@ -1,12 +1,15 @@ +import type { IconSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; + +import "../ha-icon-picker"; +import "../ha-state-icon"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; + import { fireEvent } from "../../common/dom/fire_event"; import { entityIcon } from "../../data/icons"; -import type { IconSelector } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; -import "../ha-icon-picker"; -import "../ha-state-icon"; @customElement("ha-selector-icon") export class HaIconSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-image.ts b/src/components/ha-selector/ha-selector-image.ts index 9619125aba..d021138175 100644 --- a/src/components/ha-selector/ha-selector-image.ts +++ b/src/components/ha-selector/ha-selector-image.ts @@ -1,15 +1,18 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { ImageSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; +import type { HaPictureUpload } from "../ha-picture-upload"; + +import "../ha-formfield"; import "../ha-icon-button"; -import "../ha-textarea"; -import "../ha-textfield"; import "../ha-picture-upload"; import "../ha-radio"; -import "../ha-formfield"; -import type { HaPictureUpload } from "../ha-picture-upload"; +import "../ha-textarea"; +import "../ha-textfield"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { URL_PREFIX } from "../../data/image_upload"; @customElement("ha-selector-image") diff --git a/src/components/ha-selector/ha-selector-label.ts b/src/components/ha-selector/ha-selector-label.ts index 9ca9dc245a..b7adf88921 100644 --- a/src/components/ha-selector/ha-selector-label.ts +++ b/src/components/ha-selector/ha-selector-label.ts @@ -1,11 +1,14 @@ -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; -import { ensureArray } from "../../common/array/ensure-array"; -import { fireEvent } from "../../common/dom/fire_event"; import type { LabelSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-labels-picker"; +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { ensureArray } from "../../common/array/ensure-array"; +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-label") export class HaLabelSelector extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-language.ts b/src/components/ha-selector/ha-selector-language.ts index 361358a903..f0a02eb312 100644 --- a/src/components/ha-selector/ha-selector-language.ts +++ b/src/components/ha-selector/ha-selector-language.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { LanguageSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-language-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-language") export class HaLanguageSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-location.ts b/src/components/ha-selector/ha-selector-location.ts index c169d74e62..368e9f163e 100644 --- a/src/components/ha-selector/ha-selector-location.ts +++ b/src/components/ha-selector/ha-selector-location.ts @@ -1,7 +1,3 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../common/dom/fire_event"; import type { LocationSelector, LocationSelectorValue, @@ -9,8 +5,15 @@ import type { import type { HomeAssistant } from "../../types"; import type { SchemaUnion } from "../ha-form/types"; import type { MarkerLocation } from "../map/ha-locations-editor"; -import "../map/ha-locations-editor"; + import "../ha-form/ha-form"; +import "../map/ha-locations-editor"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../common/dom/fire_event"; @customElement("ha-selector-location") export class HaLocationSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-media.ts b/src/components/ha-selector/ha-selector-media.ts index 6ea72b09f5..c519cfcf62 100644 --- a/src/components/ha-selector/ha-selector-media.ts +++ b/src/components/ha-selector/ha-selector-media.ts @@ -1,22 +1,25 @@ -import { mdiPlayBox, mdiPlus } from "@mdi/js"; +import type { MediaPickedEvent } from "../../data/media-player"; +import type { MediaSelector, MediaSelectorValue } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; +import type { SchemaUnion } from "../ha-form/types"; import type { PropertyValues } from "lit"; + +import "../ha-alert"; +import "../ha-form/ha-form"; + +import { mdiPlayBox, mdiPlus } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../../common/dom/fire_event"; import { supportsFeature } from "../../common/entity/supports-feature"; import { getSignedPath } from "../../data/auth"; -import type { MediaPickedEvent } from "../../data/media-player"; import { MediaClassBrowserSettings, MediaPlayerEntityFeature, } from "../../data/media-player"; -import type { MediaSelector, MediaSelectorValue } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; import { brandsUrl, extractDomainFromBrandUrl } from "../../util/brands-url"; -import "../ha-alert"; -import "../ha-form/ha-form"; -import type { SchemaUnion } from "../ha-form/types"; import { showMediaBrowserDialog } from "../media-player/show-media-browser-dialog"; const MANUAL_SCHEMA = [ diff --git a/src/components/ha-selector/ha-selector-navigation.ts b/src/components/ha-selector/ha-selector-navigation.ts index 437c6019a6..95ee777ac4 100644 --- a/src/components/ha-selector/ha-selector-navigation.ts +++ b/src/components/ha-selector/ha-selector-navigation.ts @@ -1,10 +1,13 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { NavigationSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-navigation-picker"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-navigation") export class HaNavigationSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-number.ts b/src/components/ha-selector/ha-selector-number.ts index 3249f96aad..ba1ac4b695 100644 --- a/src/components/ha-selector/ha-selector-number.ts +++ b/src/components/ha-selector/ha-selector-number.ts @@ -1,14 +1,17 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { fireEvent } from "../../common/dom/fire_event"; import type { NumberSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; + import "../ha-input-helper-text"; import "../ha-slider"; import "../ha-textfield"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-number") export class HaNumberSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-object.ts b/src/components/ha-selector/ha-selector-object.ts index e328112f35..f30ffdefdb 100644 --- a/src/components/ha-selector/ha-selector-object.ts +++ b/src/components/ha-selector/ha-selector-object.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../types"; +import type { HaYamlEditor } from "../ha-yaml-editor"; import type { PropertyValues } from "lit"; + +import "../ha-input-helper-text"; +import "../ha-yaml-editor"; + import { html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { HomeAssistant } from "../../types"; -import "../ha-yaml-editor"; -import "../ha-input-helper-text"; -import type { HaYamlEditor } from "../ha-yaml-editor"; @customElement("ha-selector-object") export class HaObjectSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-qr-code.ts b/src/components/ha-selector/ha-selector-qr-code.ts index daa8e1ad14..86d0f04867 100644 --- a/src/components/ha-selector/ha-selector-qr-code.ts +++ b/src/components/ha-selector/ha-selector-qr-code.ts @@ -1,7 +1,9 @@ +import type { QRCodeSelector } from "../../data/selector"; + +import "../ha-qr-code"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; -import type { QRCodeSelector } from "../../data/selector"; -import "../ha-qr-code"; @customElement("ha-selector-qr_code") export class HaSelectorQRCode extends LitElement { diff --git a/src/components/ha-selector/ha-selector-select.ts b/src/components/ha-selector/ha-selector-select.ts index 6e7d72ece2..37774c91bc 100644 --- a/src/components/ha-selector/ha-selector-select.ts +++ b/src/components/ha-selector/ha-selector-select.ts @@ -1,25 +1,28 @@ -import "@material/mwc-list/mwc-list-item"; -import { mdiDrag } from "@mdi/js"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { ensureArray } from "../../common/array/ensure-array"; -import { fireEvent } from "../../common/dom/fire_event"; -import { stopPropagation } from "../../common/dom/stop_propagation"; -import { caseInsensitiveStringCompare } from "../../common/string/compare"; import type { SelectOption, SelectSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; +import type { HaComboBox } from "../ha-combo-box"; + import "../chips/ha-chip-set"; import "../chips/ha-input-chip"; import "../ha-checkbox"; import "../ha-combo-box"; -import type { HaComboBox } from "../ha-combo-box"; import "../ha-formfield"; import "../ha-input-helper-text"; import "../ha-radio"; import "../ha-select"; -import "../ha-sortable"; import "../ha-select-box"; +import "../ha-sortable"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiDrag } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { ensureArray } from "../../common/array/ensure-array"; +import { fireEvent } from "../../common/dom/fire_event"; +import { stopPropagation } from "../../common/dom/stop_propagation"; +import { caseInsensitiveStringCompare } from "../../common/string/compare"; @customElement("ha-selector-select") export class HaSelectSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-selector.ts b/src/components/ha-selector/ha-selector-selector.ts index 75f7f888f2..ddaa2aae45 100644 --- a/src/components/ha-selector/ha-selector-selector.ts +++ b/src/components/ha-selector/ha-selector-selector.ts @@ -1,16 +1,19 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../common/dom/fire_event"; import type { LocalizeFunc, LocalizeKeys, } from "../../common/translations/localize"; import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; + import "../ha-alert"; import "../ha-form/ha-form"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../common/dom/fire_event"; + const SELECTOR_DEFAULTS = { number: { min: 1, diff --git a/src/components/ha-selector/ha-selector-state.ts b/src/components/ha-selector/ha-selector-state.ts index 8350694a33..dfdfc5012c 100644 --- a/src/components/ha-selector/ha-selector-state.ts +++ b/src/components/ha-selector/ha-selector-state.ts @@ -1,9 +1,12 @@ +import type { StateSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; + +import "../entity/ha-entity-state-picker"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { StateSelector } from "../../data/selector"; + import { SubscribeMixin } from "../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../types"; -import "../entity/ha-entity-state-picker"; @customElement("ha-selector-state") export class HaSelectorState extends SubscribeMixin(LitElement) { diff --git a/src/components/ha-selector/ha-selector-statistic.ts b/src/components/ha-selector/ha-selector-statistic.ts index affc75107b..bc0a147a59 100644 --- a/src/components/ha-selector/ha-selector-statistic.ts +++ b/src/components/ha-selector/ha-selector-statistic.ts @@ -1,9 +1,11 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { StatisticSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../entity/ha-statistics-picker"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-statistic") export class HaStatisticSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-stt.ts b/src/components/ha-selector/ha-selector-stt.ts index a21c9ef9f5..7dab575983 100644 --- a/src/components/ha-selector/ha-selector-stt.ts +++ b/src/components/ha-selector/ha-selector-stt.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { STTSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-stt-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-stt") export class HaSTTSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-target.ts b/src/components/ha-selector/ha-selector-target.ts index 00282b2ddb..f1c59a334c 100644 --- a/src/components/ha-selector/ha-selector-target.ts +++ b/src/components/ha-selector/ha-selector-target.ts @@ -1,24 +1,27 @@ +import type { DeviceRegistryEntry } from "../../data/device_registry"; +import type { EntitySources } from "../../data/entity_sources"; +import type { TargetSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; import type { HassEntity, HassServiceTarget, } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../ha-target-picker"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../common/array/ensure-array"; -import type { DeviceRegistryEntry } from "../../data/device_registry"; import { getDeviceIntegrationLookup } from "../../data/device_registry"; -import type { EntitySources } from "../../data/entity_sources"; import { fetchEntitySourcesWithCache } from "../../data/entity_sources"; -import type { TargetSelector } from "../../data/selector"; import { filterSelectorDevices, filterSelectorEntities, computeCreateDomains, } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; -import "../ha-target-picker"; @customElement("ha-selector-target") export class HaTargetSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-template.ts b/src/components/ha-selector/ha-selector-template.ts index 50f6e039ed..d3e731e089 100644 --- a/src/components/ha-selector/ha-selector-template.ts +++ b/src/components/ha-selector/ha-selector-template.ts @@ -1,11 +1,14 @@ -import { css, html, nothing, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { HomeAssistant } from "../../types"; -import { documentationUrl } from "../../util/documentation-url"; + +import "../ha-alert"; import "../ha-code-editor"; import "../ha-input-helper-text"; -import "../ha-alert"; + +import { css, html, nothing, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { documentationUrl } from "../../util/documentation-url"; const WARNING_STRINGS = ["template:", "sensor:", "state:", "trigger: template"]; diff --git a/src/components/ha-selector/ha-selector-text.ts b/src/components/ha-selector/ha-selector-text.ts index 2a186fe2d7..2645765550 100644 --- a/src/components/ha-selector/ha-selector-text.ts +++ b/src/components/ha-selector/ha-selector-text.ts @@ -1,15 +1,18 @@ -import { mdiEye, mdiEyeOff } from "@mdi/js"; -import { LitElement, css, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { ensureArray } from "../../common/array/ensure-array"; -import { fireEvent } from "../../common/dom/fire_event"; import type { StringSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-icon-button"; import "../ha-multi-textfield"; import "../ha-textarea"; import "../ha-textfield"; +import { mdiEye, mdiEyeOff } from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { ensureArray } from "../../common/array/ensure-array"; +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-text") export class HaTextSelector extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-theme.ts b/src/components/ha-selector/ha-selector-theme.ts index b00d523413..f2736ee52d 100644 --- a/src/components/ha-selector/ha-selector-theme.ts +++ b/src/components/ha-selector/ha-selector-theme.ts @@ -1,9 +1,11 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { ThemeSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-theme-picker"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-theme") export class HaThemeSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-time.ts b/src/components/ha-selector/ha-selector-time.ts index 587540e28d..7d6e62811d 100644 --- a/src/components/ha-selector/ha-selector-time.ts +++ b/src/components/ha-selector/ha-selector-time.ts @@ -1,9 +1,11 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { TimeSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-time-input"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-time") export class HaTimeSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-trigger.ts b/src/components/ha-selector/ha-selector-trigger.ts index ffbc98852b..0dcdf05140 100644 --- a/src/components/ha-selector/ha-selector-trigger.ts +++ b/src/components/ha-selector/ha-selector-trigger.ts @@ -1,11 +1,14 @@ +import type { Trigger } from "../../data/automation"; +import type { TriggerSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; + +import "../../panels/config/automation/trigger/ha-automation-trigger"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; -import type { Trigger } from "../../data/automation"; + import { migrateAutomationTrigger } from "../../data/automation"; -import type { TriggerSelector } from "../../data/selector"; -import "../../panels/config/automation/trigger/ha-automation-trigger"; -import type { HomeAssistant } from "../../types"; @customElement("ha-selector-trigger") export class HaTriggerSelector extends LitElement { diff --git a/src/components/ha-selector/ha-selector-tts-voice.ts b/src/components/ha-selector/ha-selector-tts-voice.ts index b4aee1123a..b26ddd743c 100644 --- a/src/components/ha-selector/ha-selector-tts-voice.ts +++ b/src/components/ha-selector/ha-selector-tts-voice.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { TTSVoiceSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-tts-voice-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-tts_voice") export class HaTTSVoiceSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-tts.ts b/src/components/ha-selector/ha-selector-tts.ts index e23109b484..451b2703e1 100644 --- a/src/components/ha-selector/ha-selector-tts.ts +++ b/src/components/ha-selector/ha-selector-tts.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { TTSSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; + import "../ha-tts-picker"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-selector-tts") export class HaTTSSelector extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-ui-action.ts b/src/components/ha-selector/ha-selector-ui-action.ts index a0935eb747..fc7397c972 100644 --- a/src/components/ha-selector/ha-selector-ui-action.ts +++ b/src/components/ha-selector/ha-selector-ui-action.ts @@ -1,11 +1,14 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; import type { ActionConfig } from "../../data/lovelace/config/action"; import type { UiActionSelector } from "../../data/selector"; -import "../../panels/lovelace/components/hui-action-editor"; import type { HomeAssistant } from "../../types"; +import "../../panels/lovelace/components/hui-action-editor"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; + @customElement("ha-selector-ui_action") export class HaSelectorUiAction extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-selector/ha-selector-ui-color.ts b/src/components/ha-selector/ha-selector-ui-color.ts index c58e466cf5..58ce1fd262 100644 --- a/src/components/ha-selector/ha-selector-ui-color.ts +++ b/src/components/ha-selector/ha-selector-ui-color.ts @@ -1,9 +1,12 @@ +import type { UiColorSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; + +import "../ha-color-picker"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { UiColorSelector } from "../../data/selector"; -import "../ha-color-picker"; -import type { HomeAssistant } from "../../types"; @customElement("ha-selector-ui_color") export class HaSelectorUiColor extends LitElement { diff --git a/src/components/ha-selector/ha-selector-ui-state-content.ts b/src/components/ha-selector/ha-selector-ui-state-content.ts index e17ef7369d..b3d7cb9f6b 100644 --- a/src/components/ha-selector/ha-selector-ui-state-content.ts +++ b/src/components/ha-selector/ha-selector-ui-state-content.ts @@ -1,9 +1,12 @@ +import type { UiStateContentSelector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; + +import "../entity/ha-entity-state-content-picker"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { UiStateContentSelector } from "../../data/selector"; + import { SubscribeMixin } from "../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../types"; -import "../entity/ha-entity-state-content-picker"; @customElement("ha-selector-ui_state_content") export class HaSelectorUiStateContent extends SubscribeMixin(LitElement) { diff --git a/src/components/ha-selector/ha-selector.ts b/src/components/ha-selector/ha-selector.ts index 69a5b59a25..cdb3498ac5 100644 --- a/src/components/ha-selector/ha-selector.ts +++ b/src/components/ha-selector/ha-selector.ts @@ -1,14 +1,16 @@ +import type { Selector } from "../../data/selector"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { dynamicElement } from "../../common/dom/dynamic-element-directive"; -import type { Selector } from "../../data/selector"; import { handleLegacyDeviceSelector, handleLegacyEntitySelector, } from "../../data/selector"; -import type { HomeAssistant } from "../../types"; const LOAD_ELEMENTS = { action: () => import("./ha-selector-action"), diff --git a/src/components/ha-service-control.ts b/src/components/ha-service-control.ts index a6f9d0126d..714537f972 100644 --- a/src/components/ha-service-control.ts +++ b/src/components/ha-service-control.ts @@ -1,13 +1,25 @@ -import { mdiHelpCircle } from "@mdi/js"; +import type { HomeAssistant, ValueChangedEvent } from "../types"; +import type { HaYamlEditor } from "./ha-yaml-editor"; import type { HassService, HassServices, HassServiceTarget, } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "./ha-checkbox"; +import "./ha-icon-button"; +import "./ha-selector/ha-selector"; +import "./ha-service-picker"; +import "./ha-service-section-icon"; +import "./ha-settings-row"; +import "./ha-yaml-editor"; + +import { mdiHelpCircle } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../common/array/ensure-array"; import { fireEvent } from "../common/dom/fire_event"; import { computeDomain } from "../common/entity/compute_domain"; @@ -28,16 +40,7 @@ import { type Selector, type TargetSelector, } from "../data/selector"; -import type { HomeAssistant, ValueChangedEvent } from "../types"; import { documentationUrl } from "../util/documentation-url"; -import "./ha-checkbox"; -import "./ha-icon-button"; -import "./ha-selector/ha-selector"; -import "./ha-service-picker"; -import "./ha-settings-row"; -import "./ha-yaml-editor"; -import type { HaYamlEditor } from "./ha-yaml-editor"; -import "./ha-service-section-icon"; const attributeFilter = (values: any[], attribute: any) => { if (typeof attribute === "object") { diff --git a/src/components/ha-service-icon.ts b/src/components/ha-service-icon.ts index dabf27f4b9..dd8b0688b5 100644 --- a/src/components/ha-service-icon.ts +++ b/src/components/ha-service-icon.ts @@ -1,15 +1,18 @@ +import type { HomeAssistant } from "../types"; + +import "./ha-icon"; +import "./ha-svg-icon"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; + import { computeDomain } from "../common/entity/compute_domain"; import { DEFAULT_SERVICE_ICON, FALLBACK_DOMAIN_ICONS, serviceIcon, } from "../data/icons"; -import type { HomeAssistant } from "../types"; -import "./ha-icon"; -import "./ha-svg-icon"; @customElement("ha-service-icon") export class HaServiceIcon extends LitElement { diff --git a/src/components/ha-service-picker.ts b/src/components/ha-service-picker.ts index 848dde391c..2c792a537a 100644 --- a/src/components/ha-service-picker.ts +++ b/src/components/ha-service-picker.ts @@ -1,15 +1,18 @@ -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../common/dom/fire_event"; import type { LocalizeFunc } from "../common/translations/localize"; -import { domainToName } from "../data/integration"; import type { HomeAssistant } from "../types"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; + import "./ha-combo-box"; import "./ha-list-item"; import "./ha-service-icon"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../common/dom/fire_event"; import { getServiceIcons } from "../data/icons"; +import { domainToName } from "../data/integration"; @customElement("ha-service-picker") class HaServicePicker extends LitElement { diff --git a/src/components/ha-service-section-icon.ts b/src/components/ha-service-section-icon.ts index 905d9ab5cb..349ad437b9 100644 --- a/src/components/ha-service-section-icon.ts +++ b/src/components/ha-service-section-icon.ts @@ -1,9 +1,12 @@ +import type { HomeAssistant } from "../types"; + +import "./ha-icon"; +import "./ha-svg-icon"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; -import type { HomeAssistant } from "../types"; -import "./ha-icon"; -import "./ha-svg-icon"; + import { serviceSectionIcon } from "../data/icons"; @customElement("ha-service-section-icon") diff --git a/src/components/ha-settings-row.ts b/src/components/ha-settings-row.ts index 3a2fbefa73..d608e3fca8 100644 --- a/src/components/ha-settings-row.ts +++ b/src/components/ha-settings-row.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/ha-sidebar.ts b/src/components/ha-sidebar.ts index 680bd37d7f..4fe0885344 100644 --- a/src/components/ha-sidebar.ts +++ b/src/components/ha-sidebar.ts @@ -1,4 +1,22 @@ +import type { ActionHandlerDetail } from "../data/lovelace/action_handler"; +import type { PersistentNotification } from "../data/persistent_notification"; +import type { UpdateEntity } from "../data/update"; +import type { HomeAssistant, PanelInfo, Route } from "../types"; +import type { PaperIconItemElement } from "@polymer/paper-item/paper-icon-item"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResult, CSSResultGroup, PropertyValues } from "lit"; + +import "./ha-icon"; +import "./ha-icon-button"; +import "./ha-menu-button"; +import "./ha-sortable"; +import "./ha-svg-icon"; +import "./user/ha-user-badge"; import "@material/mwc-button/mwc-button"; +import "@polymer/paper-item/paper-icon-item"; +import "@polymer/paper-item/paper-item"; +import "@polymer/paper-listbox/paper-listbox"; + import { mdiBell, mdiCalendar, @@ -17,38 +35,23 @@ import { mdiTooltipAccount, mdiViewDashboard, } from "@mdi/js"; -import "@polymer/paper-item/paper-icon-item"; -import type { PaperIconItemElement } from "@polymer/paper-item/paper-icon-item"; -import "@polymer/paper-item/paper-item"; -import "@polymer/paper-listbox/paper-listbox"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResult, CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, eventOptions, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; + import { storage } from "../common/decorators/storage"; import { fireEvent } from "../common/dom/fire_event"; +import { preventDefault } from "../common/dom/prevent_default"; import { toggleAttribute } from "../common/dom/toggle_attribute"; import { stringCompare } from "../common/string/compare"; import { throttle } from "../common/util/throttle"; -import type { ActionHandlerDetail } from "../data/lovelace/action_handler"; -import type { PersistentNotification } from "../data/persistent_notification"; import { subscribeNotifications } from "../data/persistent_notification"; import { subscribeRepairsIssueRegistry } from "../data/repairs"; -import type { UpdateEntity } from "../data/update"; import { updateCanInstall } from "../data/update"; import { SubscribeMixin } from "../mixins/subscribe-mixin"; import { actionHandler } from "../panels/lovelace/common/directives/action-handler-directive"; import { haStyleScrollbar } from "../resources/styles"; -import type { HomeAssistant, PanelInfo, Route } from "../types"; -import "./ha-icon"; -import "./ha-icon-button"; -import "./ha-menu-button"; -import "./ha-sortable"; -import "./ha-svg-icon"; -import "./user/ha-user-badge"; -import { preventDefault } from "../common/dom/prevent_default"; const SHOW_AFTER_SPACER = ["config", "developer-tools"]; diff --git a/src/components/ha-slider.ts b/src/components/ha-slider.ts index df91f81970..38f73b286d 100644 --- a/src/components/ha-slider.ts +++ b/src/components/ha-slider.ts @@ -1,6 +1,7 @@ import { MdSlider } from "@material/web/slider/slider"; import { css } from "lit"; import { customElement } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; @customElement("ha-slider") diff --git a/src/components/ha-sortable.ts b/src/components/ha-sortable.ts index d5bf21638d..d529404911 100644 --- a/src/components/ha-sortable.ts +++ b/src/components/ha-sortable.ts @@ -1,10 +1,12 @@ /* eslint-disable lit/prefer-static-styles */ +import type { SortableInstance } from "../resources/sortable"; import type { PropertyValues } from "lit"; +import type { SortableEvent } from "sortablejs"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import type { SortableEvent } from "sortablejs"; + import { fireEvent } from "../common/dom/fire_event"; -import type { SortableInstance } from "../resources/sortable"; declare global { interface HASSDomEvents { diff --git a/src/components/ha-spinner.ts b/src/components/ha-spinner.ts index 2f6842925e..962c2fe7b0 100644 --- a/src/components/ha-spinner.ts +++ b/src/components/ha-spinner.ts @@ -1,6 +1,7 @@ +import type { PropertyValues } from "lit"; + import Spinner from "@shoelace-style/shoelace/dist/components/spinner/spinner.component"; import spinnerStyles from "@shoelace-style/shoelace/dist/components/spinner/spinner.styles"; -import type { PropertyValues } from "lit"; import { css } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/ha-state-icon.ts b/src/components/ha-state-icon.ts index 66fc35cd45..286aa14db6 100644 --- a/src/components/ha-state-icon.ts +++ b/src/components/ha-state-icon.ts @@ -1,16 +1,19 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "./ha-icon"; +import "./ha-svg-icon"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { until } from "lit/directives/until"; + import { computeStateDomain } from "../common/entity/compute_state_domain"; import { DEFAULT_DOMAIN_ICON, entityIcon, FALLBACK_DOMAIN_ICONS, } from "../data/icons"; -import type { HomeAssistant } from "../types"; -import "./ha-icon"; -import "./ha-svg-icon"; @customElement("ha-state-icon") export class HaStateIcon extends LitElement { diff --git a/src/components/ha-stt-picker.ts b/src/components/ha-stt-picker.ts index 246ba7c650..0e2312ff2b 100644 --- a/src/components/ha-stt-picker.ts +++ b/src/components/ha-stt-picker.ts @@ -1,17 +1,20 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; -import { stopPropagation } from "../common/dom/stop_propagation"; -import { computeStateName } from "../common/entity/compute_state_name"; -import { debounce } from "../common/util/debounce"; import type { STTEngine } from "../data/stt"; -import { listSTTEngines } from "../data/stt"; import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; +import type { PropertyValues } from "lit"; + import "./ha-list-item"; import "./ha-select"; -import type { HaSelect } from "./ha-select"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { stopPropagation } from "../common/dom/stop_propagation"; import { computeDomain } from "../common/entity/compute_domain"; +import { computeStateName } from "../common/entity/compute_state_name"; +import { debounce } from "../common/util/debounce"; +import { listSTTEngines } from "../data/stt"; const NONE = "__NONE_OPTION__"; diff --git a/src/components/ha-svg-icon.ts b/src/components/ha-svg-icon.ts index 308ba05af3..5c4dde6b7f 100644 --- a/src/components/ha-svg-icon.ts +++ b/src/components/ha-svg-icon.ts @@ -1,4 +1,5 @@ import type { SVGTemplateResult } from "lit"; + import { css, LitElement, nothing, svg } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/ha-switch.ts b/src/components/ha-switch.ts index 262359c9ac..ca2afd928f 100644 --- a/src/components/ha-switch.ts +++ b/src/components/ha-switch.ts @@ -1,7 +1,9 @@ -import { SwitchBase } from "@material/mwc-switch/deprecated/mwc-switch-base"; import { styles } from "@material/mwc-switch/deprecated/mwc-switch.css"; + +import { SwitchBase } from "@material/mwc-switch/deprecated/mwc-switch-base"; import { css } from "lit"; import { customElement, property } from "lit/decorators"; + import { forwardHaptic } from "../data/haptics"; @customElement("ha-switch") diff --git a/src/components/ha-tab.ts b/src/components/ha-tab.ts index 4d34de3005..f9f4429228 100644 --- a/src/components/ha-tab.ts +++ b/src/components/ha-tab.ts @@ -1,8 +1,10 @@ import type { TemplateResult } from "lit"; + +import "./ha-ripple"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import "./ha-ripple"; @customElement("ha-tab") export class HaTab extends LitElement { diff --git a/src/components/ha-tabs.ts b/src/components/ha-tabs.ts index cf0d62b7dd..3699036e7f 100644 --- a/src/components/ha-tabs.ts +++ b/src/components/ha-tabs.ts @@ -1,9 +1,11 @@ +import type { Constructor } from "../types"; import type { PaperIconButtonElement } from "@polymer/paper-icon-button/paper-icon-button"; import type { PaperTabElement } from "@polymer/paper-tabs/paper-tab"; -import "@polymer/paper-tabs/paper-tabs"; import type { PaperTabsElement } from "@polymer/paper-tabs/paper-tabs"; + +import "@polymer/paper-tabs/paper-tabs"; + import { customElement } from "lit/decorators"; -import type { Constructor } from "../types"; // eslint-disable-next-line @typescript-eslint/naming-convention const PaperTabs = customElements.get( diff --git a/src/components/ha-target-picker.ts b/src/components/ha-target-picker.ts index a3296fbe65..a5e4bde8d2 100644 --- a/src/components/ha-target-picker.ts +++ b/src/components/ha-target-picker.ts @@ -1,7 +1,31 @@ +import type { AreaRegistryEntry } from "../data/area_registry"; +import type { DeviceRegistryEntry } from "../data/device_registry"; +import type { EntityRegistryDisplayEntry } from "../data/entity_registry"; +import type { LabelRegistryEntry } from "../data/label_registry"; +import type { HomeAssistant } from "../types"; +import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; +import type { HaEntityPickerEntityFilterFunc } from "./entity/ha-entity-picker"; +import type { ComboBoxLightOpenedChangedEvent } from "@vaadin/combo-box/vaadin-combo-box-light"; +import type { + HassEntity, + HassServiceTarget, + UnsubscribeFunc, +} from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + // @ts-ignore import chipStyles from "@material/chips/dist/mdc.chips.min.css"; + +import "./device/ha-device-picker"; +import "./entity/ha-entity-picker"; +import "./ha-area-floor-picker"; +import "./ha-icon-button"; +import "./ha-input-helper-text"; +import "./ha-svg-icon"; +import "./ha-tooltip"; import "@material/mwc-button/mwc-button"; import "@material/mwc-menu/mwc-menu-surface"; + import { mdiClose, mdiDevices, @@ -11,16 +35,10 @@ import { mdiTextureBox, mdiUnfoldMoreVertical, } from "@mdi/js"; -import type { ComboBoxLightOpenedChangedEvent } from "@vaadin/combo-box/vaadin-combo-box-light"; -import type { - HassEntity, - HassServiceTarget, - UnsubscribeFunc, -} from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing, unsafeCSS } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { ensureArray } from "../common/array/ensure-array"; import { computeCssColor } from "../common/color/compute-color"; import { hex2rgb } from "../common/color/convert-color"; @@ -30,23 +48,9 @@ import { computeDeviceNameDisplay } from "../common/entity/compute_device_name"; import { computeDomain } from "../common/entity/compute_domain"; import { computeStateName } from "../common/entity/compute_state_name"; import { isValidEntityId } from "../common/entity/valid_entity_id"; -import type { AreaRegistryEntry } from "../data/area_registry"; -import type { DeviceRegistryEntry } from "../data/device_registry"; -import type { EntityRegistryDisplayEntry } from "../data/entity_registry"; -import type { LabelRegistryEntry } from "../data/label_registry"; import { subscribeLabelRegistry } from "../data/label_registry"; import { SubscribeMixin } from "../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../types"; -import "./device/ha-device-picker"; -import type { HaDevicePickerDeviceFilterFunc } from "./device/ha-device-picker"; -import "./entity/ha-entity-picker"; -import type { HaEntityPickerEntityFilterFunc } from "./entity/ha-entity-picker"; -import "./ha-area-floor-picker"; import { floorDefaultIconPath } from "./ha-floor-icon"; -import "./ha-icon-button"; -import "./ha-input-helper-text"; -import "./ha-svg-icon"; -import "./ha-tooltip"; @customElement("ha-target-picker") export class HaTargetPicker extends SubscribeMixin(LitElement) { diff --git a/src/components/ha-textarea.ts b/src/components/ha-textarea.ts index d531c4746f..5b3ef527b9 100644 --- a/src/components/ha-textarea.ts +++ b/src/components/ha-textarea.ts @@ -1,7 +1,9 @@ -import { TextAreaBase } from "@material/mwc-textarea/mwc-textarea-base"; -import { styles as textfieldStyles } from "@material/mwc-textfield/mwc-textfield.css"; -import { styles as textareaStyles } from "@material/mwc-textarea/mwc-textarea.css"; import type { PropertyValues } from "lit"; + +import { styles as textareaStyles } from "@material/mwc-textarea/mwc-textarea.css"; +import { styles as textfieldStyles } from "@material/mwc-textfield/mwc-textfield.css"; + +import { TextAreaBase } from "@material/mwc-textarea/mwc-textarea-base"; import { css } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/ha-textfield.ts b/src/components/ha-textfield.ts index 8ca3561ac8..2685c7cee4 100644 --- a/src/components/ha-textfield.ts +++ b/src/components/ha-textfield.ts @@ -1,8 +1,11 @@ -import { TextFieldBase } from "@material/mwc-textfield/mwc-textfield-base"; -import { styles } from "@material/mwc-textfield/mwc-textfield.css"; import type { TemplateResult, PropertyValues } from "lit"; + +import { styles } from "@material/mwc-textfield/mwc-textfield.css"; + +import { TextFieldBase } from "@material/mwc-textfield/mwc-textfield-base"; import { html, css } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { mainWindow } from "../common/dom/get_main_window"; @customElement("ha-textfield") diff --git a/src/components/ha-theme-picker.ts b/src/components/ha-theme-picker.ts index fac1a3198a..c9a99c70d6 100644 --- a/src/components/ha-theme-picker.ts +++ b/src/components/ha-theme-picker.ts @@ -1,11 +1,14 @@ -import "@material/mwc-list/mwc-list-item"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "./ha-select"; +import "@material/mwc-list/mwc-list-item"; + import { css, html, nothing, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; -import type { HomeAssistant } from "../types"; -import "./ha-select"; const DEFAULT_THEME = "default"; diff --git a/src/components/ha-time-input.ts b/src/components/ha-time-input.ts index 7d55082960..1c0a943823 100644 --- a/src/components/ha-time-input.ts +++ b/src/components/ha-time-input.ts @@ -1,10 +1,13 @@ +import type { FrontendLocaleData } from "../data/translation"; +import type { TimeChangedEvent } from "./ha-base-time-input"; + +import "./ha-base-time-input"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { useAmPm } from "../common/datetime/use_am_pm"; import { fireEvent } from "../common/dom/fire_event"; -import type { FrontendLocaleData } from "../data/translation"; -import "./ha-base-time-input"; -import type { TimeChangedEvent } from "./ha-base-time-input"; @customElement("ha-time-input") export class HaTimeInput extends LitElement { diff --git a/src/components/ha-timezone-picker.ts b/src/components/ha-timezone-picker.ts index 6f9cb61ddc..cf27906934 100644 --- a/src/components/ha-timezone-picker.ts +++ b/src/components/ha-timezone-picker.ts @@ -1,11 +1,14 @@ +import type { HaSelect } from "./ha-select"; + +import "./ha-list-item"; +import "./ha-select"; + import timezones from "google-timezones-json"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; @customElement("ha-timezone-picker") export class HaTimeZonePicker extends LitElement { diff --git a/src/components/ha-tip.ts b/src/components/ha-tip.ts index 8962543ba5..cf9ef39f2a 100644 --- a/src/components/ha-tip.ts +++ b/src/components/ha-tip.ts @@ -1,10 +1,11 @@ -import { mdiLightbulbOutline } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; import type { HomeAssistant } from "../types"; import "./ha-svg-icon"; +import { mdiLightbulbOutline } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-tip") class HaTip extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/ha-toast.ts b/src/components/ha-toast.ts index f0f94cbea4..540b686dda 100644 --- a/src/components/ha-toast.ts +++ b/src/components/ha-toast.ts @@ -1,5 +1,6 @@ -import { Snackbar } from "@material/mwc-snackbar/mwc-snackbar"; import { styles } from "@material/mwc-snackbar/mwc-snackbar.css"; + +import { Snackbar } from "@material/mwc-snackbar/mwc-snackbar"; import { css } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-tooltip.ts b/src/components/ha-tooltip.ts index 9b4afa5cd4..1c94a233cb 100644 --- a/src/components/ha-tooltip.ts +++ b/src/components/ha-tooltip.ts @@ -1,8 +1,8 @@ import SlTooltip from "@shoelace-style/shoelace/dist/components/tooltip/tooltip.component"; import styles from "@shoelace-style/shoelace/dist/components/tooltip/tooltip.styles"; +import { setDefaultAnimation } from "@shoelace-style/shoelace/dist/utilities/animation-registry"; import { css } from "lit"; import { customElement } from "lit/decorators"; -import { setDefaultAnimation } from "@shoelace-style/shoelace/dist/utilities/animation-registry"; setDefaultAnimation("tooltip.show", { keyframes: [{ opacity: 0 }, { opacity: 1 }], diff --git a/src/components/ha-top-app-bar-fixed.ts b/src/components/ha-top-app-bar-fixed.ts index 4a2b41c485..6539c46901 100644 --- a/src/components/ha-top-app-bar-fixed.ts +++ b/src/components/ha-top-app-bar-fixed.ts @@ -1,5 +1,6 @@ -import { TopAppBarFixedBase } from "@material/mwc-top-app-bar-fixed/mwc-top-app-bar-fixed-base"; import { styles } from "@material/mwc-top-app-bar/mwc-top-app-bar.css"; + +import { TopAppBarFixedBase } from "@material/mwc-top-app-bar-fixed/mwc-top-app-bar-fixed-base"; import { css } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-top-app-bar.ts b/src/components/ha-top-app-bar.ts index 40d27b40a8..19da0c05f1 100644 --- a/src/components/ha-top-app-bar.ts +++ b/src/components/ha-top-app-bar.ts @@ -1,5 +1,6 @@ -import { TopAppBarBase } from "@material/mwc-top-app-bar/mwc-top-app-bar-base"; import { styles } from "@material/mwc-top-app-bar/mwc-top-app-bar.css"; + +import { TopAppBarBase } from "@material/mwc-top-app-bar/mwc-top-app-bar-base"; import { css } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/components/ha-tree-indicator.ts b/src/components/ha-tree-indicator.ts index a0a10ce856..69395ee6c8 100644 --- a/src/components/ha-tree-indicator.ts +++ b/src/components/ha-tree-indicator.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/ha-tts-picker.ts b/src/components/ha-tts-picker.ts index 73bdea15d5..ed3f4882b9 100644 --- a/src/components/ha-tts-picker.ts +++ b/src/components/ha-tts-picker.ts @@ -1,17 +1,20 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; -import { stopPropagation } from "../common/dom/stop_propagation"; -import { computeStateName } from "../common/entity/compute_state_name"; -import { debounce } from "../common/util/debounce"; import type { TTSEngine } from "../data/tts"; -import { listTTSEngines } from "../data/tts"; import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; +import type { PropertyValues } from "lit"; + import "./ha-list-item"; import "./ha-select"; -import type { HaSelect } from "./ha-select"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { stopPropagation } from "../common/dom/stop_propagation"; import { computeDomain } from "../common/entity/compute_domain"; +import { computeStateName } from "../common/entity/compute_state_name"; +import { debounce } from "../common/util/debounce"; +import { listTTSEngines } from "../data/tts"; const NONE = "__NONE_OPTION__"; diff --git a/src/components/ha-tts-voice-picker.ts b/src/components/ha-tts-voice-picker.ts index c5ee4ac21a..a666c867df 100644 --- a/src/components/ha-tts-voice-picker.ts +++ b/src/components/ha-tts-voice-picker.ts @@ -1,15 +1,18 @@ +import type { TTSVoice } from "../data/tts"; +import type { HomeAssistant } from "../types"; +import type { HaSelect } from "./ha-select"; import type { PropertyValues } from "lit"; + +import "./ha-list-item"; +import "./ha-select"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; import { stopPropagation } from "../common/dom/stop_propagation"; import { debounce } from "../common/util/debounce"; -import type { TTSVoice } from "../data/tts"; import { listTTSVoices } from "../data/tts"; -import type { HomeAssistant } from "../types"; -import "./ha-list-item"; -import "./ha-select"; -import type { HaSelect } from "./ha-select"; const NONE = "__NONE_OPTION__"; diff --git a/src/components/ha-two-pane-top-app-bar-fixed.ts b/src/components/ha-two-pane-top-app-bar-fixed.ts index 9b348d0442..1c565307b7 100644 --- a/src/components/ha-two-pane-top-app-bar-fixed.ts +++ b/src/components/ha-two-pane-top-app-bar-fixed.ts @@ -1,15 +1,18 @@ +import type { MDCTopAppBarAdapter } from "@material/top-app-bar/adapter"; + +import { styles } from "@material/mwc-top-app-bar/mwc-top-app-bar.css"; + import { addHasRemoveClass, BaseElement, } from "@material/mwc-base/base-element"; import { supportsPassiveEventListener } from "@material/mwc-base/utils"; -import type { MDCTopAppBarAdapter } from "@material/top-app-bar/adapter"; import { strings } from "@material/top-app-bar/constants"; import MDCFixedTopAppBarFoundation from "@material/top-app-bar/fixed/foundation"; import { html, css, nothing } from "lit"; import { property, query, customElement } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import { styles } from "@material/mwc-top-app-bar/mwc-top-app-bar.css"; + import { haStyleScrollbar } from "../resources/styles"; export const passiveEventOptionsIfSupported = supportsPassiveEventListener diff --git a/src/components/ha-vacuum-state.ts b/src/components/ha-vacuum-state.ts index 677b27d822..b7abfaa253 100644 --- a/src/components/ha-vacuum-state.ts +++ b/src/components/ha-vacuum-state.ts @@ -1,10 +1,13 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../types"; +import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "@material/mwc-button"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HassEntity } from "home-assistant-js-websocket"; + import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; const STATES_INTERCEPTABLE: Record< string, diff --git a/src/components/ha-valve-controls.ts b/src/components/ha-valve-controls.ts index 6f50f505bb..c72a4db812 100644 --- a/src/components/ha-valve-controls.ts +++ b/src/components/ha-valve-controls.ts @@ -1,12 +1,15 @@ +import type { ValveEntity } from "../data/valve"; +import type { HomeAssistant } from "../types"; + +import "./ha-icon-button"; + import { mdiStop, mdiValveClosed, mdiValveOpen } from "@mdi/js"; import { LitElement, html, css, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { supportsFeature } from "../common/entity/supports-feature"; -import type { ValveEntity } from "../data/valve"; import { ValveEntityFeature, canClose, canOpen, canStop } from "../data/valve"; -import type { HomeAssistant } from "../types"; -import "./ha-icon-button"; @customElement("ha-valve-controls") class HaValveControls extends LitElement { diff --git a/src/components/ha-water_heater-state.ts b/src/components/ha-water_heater-state.ts index 27c2877915..2858ecb010 100644 --- a/src/components/ha-water_heater-state.ts +++ b/src/components/ha-water_heater-state.ts @@ -1,10 +1,12 @@ -import { customElement, property } from "lit/decorators"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + import { formatNumber } from "../common/number/format_number"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("ha-water_heater-state") export class HaWaterHeaterState extends LitElement { diff --git a/src/components/ha-web-rtc-player.ts b/src/components/ha-web-rtc-player.ts index 8ed6cc809d..053515cff9 100644 --- a/src/components/ha-web-rtc-player.ts +++ b/src/components/ha-web-rtc-player.ts @@ -1,8 +1,13 @@ -import type { PropertyValues, TemplateResult } from "lit"; +import type { HomeAssistant } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "./ha-alert"; + import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; + import { fireEvent } from "../common/dom/fire_event"; import { addWebRtcCandidate, @@ -12,8 +17,6 @@ import { webRtcOffer, type WebRtcOfferEvent, } from "../data/camera"; -import type { HomeAssistant } from "../types"; -import "./ha-alert"; /** * A WebRTC stream is established by first sending an offer through a signal diff --git a/src/components/ha-yaml-editor.ts b/src/components/ha-yaml-editor.ts index 561feb0f3f..37c09540f6 100644 --- a/src/components/ha-yaml-editor.ts +++ b/src/components/ha-yaml-editor.ts @@ -1,16 +1,19 @@ +import type { HomeAssistant } from "../types"; +import type { HaCodeEditor } from "./ha-code-editor"; import type { Schema } from "js-yaml"; -import { DEFAULT_SCHEMA, dump, load } from "js-yaml"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "./ha-button"; +import "./ha-code-editor"; + +import { DEFAULT_SCHEMA, dump, load } from "js-yaml"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; -import type { HomeAssistant } from "../types"; -import { haStyle } from "../resources/styles"; -import "./ha-code-editor"; -import { showToast } from "../util/toast"; import { copyToClipboard } from "../common/util/copy-clipboard"; -import type { HaCodeEditor } from "./ha-code-editor"; -import "./ha-button"; +import { haStyle } from "../resources/styles"; +import { showToast } from "../util/toast"; const isEmpty = (obj: Record): boolean => { if (typeof obj !== "object" || obj === null) { diff --git a/src/components/map/ha-entity-marker.ts b/src/components/map/ha-entity-marker.ts index 744dc5c13a..3dbbb7c02a 100644 --- a/src/components/map/ha-entity-marker.ts +++ b/src/components/map/ha-entity-marker.ts @@ -1,9 +1,12 @@ +import type { HomeAssistant } from "../../types"; + +import "../ha-state-icon"; + import { LitElement, html, css } from "lit"; import { property } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; -import type { HomeAssistant } from "../../types"; + import { fireEvent } from "../../common/dom/fire_event"; -import "../ha-state-icon"; class HaEntityMarker extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/map/ha-locations-editor.ts b/src/components/map/ha-locations-editor.ts index 4dd47750c9..e9dcee8ef8 100644 --- a/src/components/map/ha-locations-editor.ts +++ b/src/components/map/ha-locations-editor.ts @@ -1,3 +1,8 @@ +import type { LeafletModuleType } from "../../common/dom/setup-leaflet-map"; +import type { HomeAssistant, ThemeMode } from "../../types"; +import type { HaIcon } from "../ha-icon"; +import type { HaSvgIcon } from "../ha-svg-icon"; +import type { HaMap } from "./ha-map"; import type { Circle, DivIcon, @@ -8,17 +13,15 @@ import type { MarkerOptions, } from "leaflet"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../ha-input-helper-text"; +import "./ha-map"; + import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { LeafletModuleType } from "../../common/dom/setup-leaflet-map"; -import type { HomeAssistant, ThemeMode } from "../../types"; -import "../ha-input-helper-text"; -import "./ha-map"; -import type { HaMap } from "./ha-map"; -import type { HaIcon } from "../ha-icon"; -import type { HaSvgIcon } from "../ha-svg-icon"; declare global { // for fire event diff --git a/src/components/map/ha-map.ts b/src/components/map/ha-map.ts index 153a3a8c60..b60d9e0058 100644 --- a/src/components/map/ha-map.ts +++ b/src/components/map/ha-map.ts @@ -1,4 +1,5 @@ -import { isToday } from "date-fns"; +import type { LeafletModuleType } from "../../common/dom/setup-leaflet-map"; +import type { HomeAssistant, ThemeMode } from "../../types"; import type { Circle, CircleMarker, @@ -11,23 +12,25 @@ import type { MarkerClusterGroup, } from "leaflet"; import type { PropertyValues } from "lit"; + +import "../ha-icon-button"; +import "./ha-entity-marker"; + +import { isToday } from "date-fns"; import { css, ReactiveElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; + import { formatDateTime } from "../../common/datetime/format_date_time"; import { formatTimeWeekday, formatTimeWithSeconds, } from "../../common/datetime/format_time"; -import type { LeafletModuleType } from "../../common/dom/setup-leaflet-map"; +import { fireEvent } from "../../common/dom/fire_event"; import { setupLeafletMap } from "../../common/dom/setup-leaflet-map"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { computeStateName } from "../../common/entity/compute_state_name"; -import type { HomeAssistant, ThemeMode } from "../../types"; -import { isTouch } from "../../util/is_touch"; -import "../ha-icon-button"; -import "./ha-entity-marker"; import { DecoratedMarker } from "../../common/map/decorated_marker"; +import { isTouch } from "../../util/is_touch"; declare global { // for fire event diff --git a/src/components/media-player/dialog-media-manage.ts b/src/components/media-player/dialog-media-manage.ts index b214e36c99..68c4eccf3f 100644 --- a/src/components/media-player/dialog-media-manage.ts +++ b/src/components/media-player/dialog-media-manage.ts @@ -1,36 +1,39 @@ -import { animate } from "@lit-labs/motion"; +import type { MediaPlayerItem } from "../../data/media-player"; +import type { HomeAssistant } from "../../types"; +import type { MediaManageDialogParams } from "./show-media-manage-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../ha-button"; +import "../ha-check-list-item"; +import "../ha-dialog"; +import "../ha-dialog-header"; +import "../ha-spinner"; +import "../ha-svg-icon"; +import "../ha-tip"; +import "./ha-media-player-browse"; +import "./ha-media-upload-button"; import "@material/mwc-list/mwc-list"; import "@material/mwc-list/mwc-list-item"; + +import { animate } from "@lit-labs/motion"; import { mdiClose, mdiDelete } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; + +import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; import { computeRTLDirection } from "../../common/util/compute_rtl"; -import type { MediaPlayerItem } from "../../data/media-player"; -import { MediaClassBrowserSettings } from "../../data/media-player"; +import { deleteImage, getIdFromUrl } from "../../data/image_upload"; import { browseLocalMediaPlayer, removeLocalMedia, isLocalMediaSourceContentId, isImageUploadMediaSourceContentId, } from "../../data/media_source"; -import { deleteImage, getIdFromUrl } from "../../data/image_upload"; +import { MediaClassBrowserSettings } from "../../data/media-player"; import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../ha-button"; -import "../ha-check-list-item"; -import "../ha-spinner"; -import "../ha-dialog"; -import "../ha-dialog-header"; -import "../ha-svg-icon"; -import "../ha-tip"; -import "./ha-media-player-browse"; -import "./ha-media-upload-button"; -import type { MediaManageDialogParams } from "./show-media-manage-dialog"; -import { isComponentLoaded } from "../../common/config/is_component_loaded"; @customElement("dialog-media-manage") class DialogMediaManage extends LitElement { diff --git a/src/components/media-player/dialog-media-player-browse.ts b/src/components/media-player/dialog-media-player-browse.ts index d198826279..f0170281cb 100644 --- a/src/components/media-player/dialog-media-player-browse.ts +++ b/src/components/media-player/dialog-media-player-browse.ts @@ -1,4 +1,24 @@ +import type { HASSDomEvent } from "../../common/dom/fire_event"; +import type { + MediaPickedEvent, + MediaPlayerBrowseAction, + MediaPlayerItem, + MediaPlayerLayoutType, +} from "../../data/media-player"; +import type { HomeAssistant } from "../../types"; +import type { + HaMediaPlayerBrowse, + MediaPlayerItemId, +} from "./ha-media-player-browse"; +import type { MediaPlayerBrowseDialogParams } from "./show-media-browser-dialog"; import type { ActionDetail } from "@material/mwc-list"; +import type { CSSResultGroup } from "lit"; + +import "../ha-dialog"; +import "../ha-dialog-header"; +import "./ha-media-manage-button"; +import "./ha-media-player-browse"; + import { mdiAlphaABoxOutline, mdiArrowLeft, @@ -7,29 +27,12 @@ import { mdiGrid, mdiListBoxOutline, } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; -import type { HASSDomEvent } from "../../common/dom/fire_event"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { - MediaPickedEvent, - MediaPlayerBrowseAction, - MediaPlayerItem, - MediaPlayerLayoutType, -} from "../../data/media-player"; -import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../ha-dialog"; -import "../ha-dialog-header"; -import "./ha-media-manage-button"; -import "./ha-media-player-browse"; -import type { - HaMediaPlayerBrowse, - MediaPlayerItemId, -} from "./ha-media-player-browse"; -import type { MediaPlayerBrowseDialogParams } from "./show-media-browser-dialog"; import { stopPropagation } from "../../common/dom/stop_propagation"; +import { haStyleDialog } from "../../resources/styles"; @customElement("dialog-media-player-browse") class DialogMediaPlayerBrowse extends LitElement { diff --git a/src/components/media-player/ha-browse-media-tts.ts b/src/components/media-player/ha-browse-media-tts.ts index 8466b633cb..3bc4cb5f67 100644 --- a/src/components/media-player/ha-browse-media-tts.ts +++ b/src/components/media-player/ha-browse-media-tts.ts @@ -1,23 +1,26 @@ -import "@material/mwc-list/mwc-list-item"; -import "@material/mwc-button/mwc-button"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { storage } from "../../common/decorators/storage"; -import { fireEvent } from "../../common/dom/fire_event"; import type { MediaPlayerBrowseAction, MediaPlayerItem, } from "../../data/media-player"; import type { TTSEngine } from "../../data/tts"; +import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; + +import "../ha-card"; +import "../ha-language-picker"; +import "../ha-textarea"; +import "../ha-tts-voice-picker"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { storage } from "../../common/decorators/storage"; +import { fireEvent } from "../../common/dom/fire_event"; +import { fetchCloudStatus } from "../../data/cloud"; import { getProviderFromTTSMediaSource, getTTSEngine } from "../../data/tts"; import { buttonLinkStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../ha-textarea"; -import "../ha-language-picker"; -import "../ha-tts-voice-picker"; -import "../ha-card"; -import { fetchCloudStatus } from "../../data/cloud"; export interface TtsMediaPickedEvent { item: MediaPlayerItem; diff --git a/src/components/media-player/ha-media-manage-button.ts b/src/components/media-player/ha-media-manage-button.ts index 4eec8d0217..1cad123224 100644 --- a/src/components/media-player/ha-media-manage-button.ts +++ b/src/components/media-player/ha-media-manage-button.ts @@ -1,15 +1,18 @@ +import type { MediaPlayerItem } from "../../data/media-player"; +import type { HomeAssistant } from "../../types"; + +import "../ha-svg-icon"; import "@material/mwc-button"; + import { mdiFolderEdit } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { MediaPlayerItem } from "../../data/media-player"; import { isLocalMediaSourceContentId, isImageUploadMediaSourceContentId, } from "../../data/media_source"; -import type { HomeAssistant } from "../../types"; -import "../ha-svg-icon"; import { showMediaManageDialog } from "./show-media-manage-dialog"; declare global { diff --git a/src/components/media-player/ha-media-player-browse.ts b/src/components/media-player/ha-media-player-browse.ts index 42eaa9cbcc..e88fa10007 100644 --- a/src/components/media-player/ha-media-player-browse.ts +++ b/src/components/media-player/ha-media-player-browse.ts @@ -1,10 +1,30 @@ +import type { + MediaPlayerItem, + MediaPickedEvent, + MediaPlayerBrowseAction, + MediaPlayerLayoutType, +} from "../../data/media-player"; +import type { HomeAssistant } from "../../types"; +import type { TtsMediaPickedEvent } from "./ha-browse-media-tts"; import type { LitVirtualizer } from "@lit-labs/virtualizer"; -import { grid } from "@lit-labs/virtualizer/layouts/grid"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../entity/ha-entity-picker"; +import "../ha-alert"; +import "../ha-button-menu"; +import "../ha-card"; +import "../ha-fab"; +import "../ha-icon-button"; +import "../ha-spinner"; +import "../ha-svg-icon"; +import "../ha-tooltip"; +import "./ha-browse-media-tts"; import "@material/mwc-button/mwc-button"; import "@material/mwc-list/mwc-list"; import "@material/mwc-list/mwc-list-item"; + +import { grid } from "@lit-labs/virtualizer/layouts/grid"; import { mdiArrowUpRight, mdiPlay, mdiPlus } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, @@ -16,43 +36,26 @@ import { import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; import { until } from "lit/directives/until"; + import { fireEvent } from "../../common/dom/fire_event"; import { debounce } from "../../common/util/debounce"; import { isUnavailableState } from "../../data/entity"; -import type { - MediaPlayerItem, - MediaPickedEvent, - MediaPlayerBrowseAction, - MediaPlayerLayoutType, -} from "../../data/media-player"; +import { browseLocalMediaPlayer } from "../../data/media_source"; import { browseMediaPlayer, BROWSER_PLAYER, MediaClassBrowserSettings, } from "../../data/media-player"; -import { browseLocalMediaPlayer } from "../../data/media_source"; import { isTTSMediaSource } from "../../data/tts"; import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; +import { loadVirtualizer } from "../../resources/virtualizer"; import { brandsUrl, extractDomainFromBrandUrl, isBrandUrl, } from "../../util/brands-url"; import { documentationUrl } from "../../util/documentation-url"; -import "../entity/ha-entity-picker"; -import "../ha-alert"; -import "../ha-button-menu"; -import "../ha-card"; -import "../ha-spinner"; -import "../ha-fab"; -import "../ha-icon-button"; -import "../ha-svg-icon"; -import "../ha-tooltip"; -import "./ha-browse-media-tts"; -import type { TtsMediaPickedEvent } from "./ha-browse-media-tts"; -import { loadVirtualizer } from "../../resources/virtualizer"; declare global { interface HASSDomEvents { diff --git a/src/components/media-player/ha-media-upload-button.ts b/src/components/media-player/ha-media-upload-button.ts index 8922cb4476..250d8ffaaa 100644 --- a/src/components/media-player/ha-media-upload-button.ts +++ b/src/components/media-player/ha-media-upload-button.ts @@ -1,17 +1,20 @@ +import type { MediaPlayerItem } from "../../data/media-player"; +import type { HomeAssistant } from "../../types"; + +import "../ha-spinner"; +import "../ha-svg-icon"; import "@material/mwc-button"; + import { mdiUpload } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { MediaPlayerItem } from "../../data/media-player"; import { isLocalMediaSourceContentId, uploadLocalMedia, } from "../../data/media_source"; import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../types"; -import "../ha-spinner"; -import "../ha-svg-icon"; declare global { interface HASSDomEvents { diff --git a/src/components/media-player/show-media-browser-dialog.ts b/src/components/media-player/show-media-browser-dialog.ts index 9136be8db0..7a138eb22b 100644 --- a/src/components/media-player/show-media-browser-dialog.ts +++ b/src/components/media-player/show-media-browser-dialog.ts @@ -1,10 +1,11 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { MediaPickedEvent, MediaPlayerBrowseAction, } from "../../data/media-player"; import type { MediaPlayerItemId } from "./ha-media-player-browse"; +import { fireEvent } from "../../common/dom/fire_event"; + export interface MediaPlayerBrowseDialogParams { action: MediaPlayerBrowseAction; entityId: string; diff --git a/src/components/media-player/show-media-manage-dialog.ts b/src/components/media-player/show-media-manage-dialog.ts index 34a192319f..398dbf0721 100644 --- a/src/components/media-player/show-media-manage-dialog.ts +++ b/src/components/media-player/show-media-manage-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { MediaPlayerItem } from "../../data/media-player"; +import { fireEvent } from "../../common/dom/fire_event"; + export interface MediaManageDialogParams { currentItem: MediaPlayerItem; onClose?: () => void; diff --git a/src/components/search-input-outlined.ts b/src/components/search-input-outlined.ts index bc43b88ecc..f03e7e21a4 100644 --- a/src/components/search-input-outlined.ts +++ b/src/components/search-input-outlined.ts @@ -1,14 +1,17 @@ -import { mdiClose, mdiMagnify } from "@mdi/js"; -import type { TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import type { HomeAssistant } from "../types"; +import type { HaOutlinedTextField } from "./ha-outlined-text-field"; +import type { TemplateResult } from "lit"; + import "./ha-icon-button"; import "./ha-outlined-text-field"; -import type { HaOutlinedTextField } from "./ha-outlined-text-field"; import "./ha-svg-icon"; +import { mdiClose, mdiMagnify } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; + @customElement("search-input-outlined") class SearchInputOutlined extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/components/search-input.ts b/src/components/search-input.ts index d347e3e39c..0a841125a1 100644 --- a/src/components/search-input.ts +++ b/src/components/search-input.ts @@ -1,12 +1,15 @@ -import { mdiClose, mdiMagnify } from "@mdi/js"; +import type { HomeAssistant } from "../types"; +import type { HaTextField } from "./ha-textfield"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; + import "./ha-icon-button"; import "./ha-svg-icon"; import "./ha-textfield"; -import type { HaTextField } from "./ha-textfield"; -import type { HomeAssistant } from "../types"; + +import { mdiClose, mdiMagnify } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + import { fireEvent } from "../common/dom/fire_event"; @customElement("search-input") diff --git a/src/components/tile/ha-tile-badge.ts b/src/components/tile/ha-tile-badge.ts index 7ec189f2b5..dce40e38ae 100644 --- a/src/components/tile/ha-tile-badge.ts +++ b/src/components/tile/ha-tile-badge.ts @@ -1,7 +1,9 @@ import type { TemplateResult } from "lit"; + +import "../ha-icon"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; -import "../ha-icon"; @customElement("ha-tile-badge") export class HaTileBadge extends LitElement { diff --git a/src/components/tile/ha-tile-icon.ts b/src/components/tile/ha-tile-icon.ts index 5c9f29f0f2..1fe85681b4 100644 --- a/src/components/tile/ha-tile-icon.ts +++ b/src/components/tile/ha-tile-icon.ts @@ -1,8 +1,10 @@ import type { TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../ha-icon"; import "../ha-svg-icon"; + +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; export type TileIconImageStyle = "square" | "rounded-square" | "circle"; diff --git a/src/components/tile/ha-tile-info.ts b/src/components/tile/ha-tile-info.ts index b18adc3e20..28007c8fe0 100644 --- a/src/components/tile/ha-tile-info.ts +++ b/src/components/tile/ha-tile-info.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { html, css, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/components/trace/ha-timeline.ts b/src/components/trace/ha-timeline.ts index b7ab5b2757..30ca4a7b69 100644 --- a/src/components/trace/ha-timeline.ts +++ b/src/components/trace/ha-timeline.ts @@ -1,9 +1,12 @@ -import { mdiCircleOutline } from "@mdi/js"; import type { TemplateResult } from "lit"; + +import "../ha-svg-icon"; + +import { mdiCircleOutline } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { buttonLinkStyle } from "../../resources/styles"; -import "../ha-svg-icon"; @customElement("ha-timeline") export class HaTimeline extends LitElement { diff --git a/src/components/trace/ha-trace-blueprint-config.ts b/src/components/trace/ha-trace-blueprint-config.ts index f9818e1c74..c3d181d6a7 100644 --- a/src/components/trace/ha-trace-blueprint-config.ts +++ b/src/components/trace/ha-trace-blueprint-config.ts @@ -1,11 +1,13 @@ -import { dump } from "js-yaml"; -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../ha-code-editor"; -import "../ha-icon-button"; import type { TraceExtended } from "../../data/trace"; import type { HomeAssistant } from "../../types"; +import type { TemplateResult } from "lit"; + +import "../ha-code-editor"; +import "../ha-icon-button"; + +import { dump } from "js-yaml"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("ha-trace-blueprint-config") export class HaTraceBlueprintConfig extends LitElement { diff --git a/src/components/trace/ha-trace-config.ts b/src/components/trace/ha-trace-config.ts index efc7e0f0c9..cc97155880 100644 --- a/src/components/trace/ha-trace-config.ts +++ b/src/components/trace/ha-trace-config.ts @@ -1,11 +1,13 @@ -import { dump } from "js-yaml"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../ha-code-editor"; -import "../ha-icon-button"; import type { TraceExtended } from "../../data/trace"; import type { HomeAssistant } from "../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../ha-code-editor"; +import "../ha-icon-button"; + +import { dump } from "js-yaml"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("ha-trace-config") export class HaTraceConfig extends LitElement { diff --git a/src/components/trace/ha-trace-logbook.ts b/src/components/trace/ha-trace-logbook.ts index 08158cb2bc..20eca960d9 100644 --- a/src/components/trace/ha-trace-logbook.ts +++ b/src/components/trace/ha-trace-logbook.ts @@ -1,11 +1,13 @@ +import type { LogbookEntry } from "../../data/logbook"; +import type { TraceExtended } from "../../data/trace"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../panels/logbook/ha-logbook-renderer"; +import "./hat-logbook-note"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { LogbookEntry } from "../../data/logbook"; -import type { HomeAssistant } from "../../types"; -import "./hat-logbook-note"; -import "../../panels/logbook/ha-logbook-renderer"; -import type { TraceExtended } from "../../data/trace"; @customElement("ha-trace-logbook") export class HaTraceLogbook extends LitElement { diff --git a/src/components/trace/ha-trace-path-details.ts b/src/components/trace/ha-trace-path-details.ts index 19f38a333d..7914a8e732 100644 --- a/src/components/trace/ha-trace-path-details.ts +++ b/src/components/trace/ha-trace-path-details.ts @@ -1,34 +1,37 @@ -import { dump } from "js-yaml"; -import { consume } from "@lit-labs/context"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { formatDateTimeWithSeconds } from "../../common/datetime/format_date_time"; -import "../ha-code-editor"; -import "../ha-icon-button"; -import "./hat-logbook-note"; +import type { EntityRegistryEntry } from "../../data/entity_registry"; +import type { FloorRegistryEntry } from "../../data/floor_registry"; +import type { LabelRegistryEntry } from "../../data/label_registry"; import type { LogbookEntry } from "../../data/logbook"; import type { ActionTraceStep, ChooseActionTraceStep, TraceExtended, } from "../../data/trace"; -import { getDataFromPath } from "../../data/trace"; -import "../../panels/logbook/ha-logbook-renderer"; -import { traceTabStyles } from "./trace-tab-styles"; import type { HomeAssistant } from "../../types"; import type { NodeInfo } from "./hat-script-graph"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../panels/logbook/ha-logbook-renderer"; +import "../ha-code-editor"; +import "../ha-icon-button"; +import "./hat-logbook-note"; + +import { consume } from "@lit-labs/context"; +import { dump } from "js-yaml"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { formatDateTimeWithSeconds } from "../../common/datetime/format_date_time"; import { describeCondition, describeTrigger } from "../../data/automation_i18n"; -import type { EntityRegistryEntry } from "../../data/entity_registry"; -import type { LabelRegistryEntry } from "../../data/label_registry"; -import type { FloorRegistryEntry } from "../../data/floor_registry"; import { floorsContext, fullEntitiesContext, labelsContext, } from "../../data/context"; import { describeAction } from "../../data/script_i18n"; +import { getDataFromPath } from "../../data/trace"; +import { traceTabStyles } from "./trace-tab-styles"; const TRACE_PATH_TABS = [ "step_config", diff --git a/src/components/trace/ha-trace-timeline.ts b/src/components/trace/ha-trace-timeline.ts index 024e257f68..2e87a850f6 100644 --- a/src/components/trace/ha-trace-timeline.ts +++ b/src/components/trace/ha-trace-timeline.ts @@ -1,12 +1,14 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "./hat-logbook-note"; -import "./hat-trace-timeline"; import type { LogbookEntry } from "../../data/logbook"; import type { TraceExtended } from "../../data/trace"; import type { HomeAssistant } from "../../types"; import type { NodeInfo } from "./hat-script-graph"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "./hat-logbook-note"; +import "./hat-trace-timeline"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("ha-trace-timeline") export class HaTraceTimeline extends LitElement { diff --git a/src/components/trace/hat-graph-branch.ts b/src/components/trace/hat-graph-branch.ts index 04a9c936c8..c392ae67fa 100644 --- a/src/components/trace/hat-graph-branch.ts +++ b/src/components/trace/hat-graph-branch.ts @@ -1,6 +1,7 @@ import { css, html, LitElement, nothing, svg } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { BRANCH_HEIGHT, SPACING } from "./hat-graph-const"; interface BranchConfig { diff --git a/src/components/trace/hat-graph-node.ts b/src/components/trace/hat-graph-node.ts index 330338b7cc..2a79cc0bcc 100644 --- a/src/components/trace/hat-graph-node.ts +++ b/src/components/trace/hat-graph-node.ts @@ -1,7 +1,9 @@ -import { mdiExclamationThick } from "@mdi/js"; import type { PropertyValues, TemplateResult } from "lit"; + +import { mdiExclamationThick } from "@mdi/js"; import { LitElement, css, html, nothing, svg } from "lit"; import { customElement, property } from "lit/decorators"; + import { isSafari } from "../../util/is_safari"; import { NODE_SIZE, SPACING } from "./hat-graph-const"; diff --git a/src/components/trace/hat-graph-spacer.ts b/src/components/trace/hat-graph-spacer.ts index 385605e644..7b9a4feaa0 100644 --- a/src/components/trace/hat-graph-spacer.ts +++ b/src/components/trace/hat-graph-spacer.ts @@ -1,5 +1,6 @@ import { css, LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { SPACING, NODE_SIZE } from "./hat-graph-const"; /** diff --git a/src/components/trace/hat-logbook-note.ts b/src/components/trace/hat-logbook-note.ts index bda976fe28..b307e357d7 100644 --- a/src/components/trace/hat-logbook-note.ts +++ b/src/components/trace/hat-logbook-note.ts @@ -1,6 +1,7 @@ +import type { HomeAssistant } from "../../types"; + import { css, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HomeAssistant } from "../../types"; @customElement("hat-logbook-note") class HatLogbookNote extends LitElement { diff --git a/src/components/trace/hat-script-graph.ts b/src/components/trace/hat-script-graph.ts index 41d0ae51e9..77eed5c329 100644 --- a/src/components/trace/hat-script-graph.ts +++ b/src/components/trace/hat-script-graph.ts @@ -1,3 +1,31 @@ +import type { Condition, Trigger } from "../../data/automation"; +import type { + Action, + ChooseAction, + IfAction, + ManualScriptConfig, + ParallelAction, + RepeatAction, + SequenceAction, + ServiceAction, + WaitAction, + WaitForTriggerAction, +} from "../../data/script"; +import type { + ChooseActionTraceStep, + ConditionTraceStep, + IfActionTraceStep, + TraceExtended, +} from "../../data/trace"; +import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; + +import "../ha-icon-button"; +import "../ha-service-icon"; +import "./hat-graph-branch"; +import "./hat-graph-node"; +import "./hat-graph-spacer"; + import { mdiAbTesting, mdiArrowDecision, @@ -18,40 +46,15 @@ import { mdiRoomService, mdiShuffleDisabled, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { ensureArray } from "../../common/array/ensure-array"; import { fireEvent } from "../../common/dom/fire_event"; -import type { Condition, Trigger } from "../../data/automation"; -import { flattenTriggers } from "../../data/automation"; -import type { - Action, - ChooseAction, - IfAction, - ManualScriptConfig, - ParallelAction, - RepeatAction, - SequenceAction, - ServiceAction, - WaitAction, - WaitForTriggerAction, -} from "../../data/script"; -import { getActionType } from "../../data/script"; -import type { - ChooseActionTraceStep, - ConditionTraceStep, - IfActionTraceStep, - TraceExtended, -} from "../../data/trace"; -import type { HomeAssistant } from "../../types"; -import "../ha-icon-button"; -import "../ha-service-icon"; -import "./hat-graph-branch"; -import { BRANCH_HEIGHT, NODE_SIZE, SPACING } from "./hat-graph-const"; -import "./hat-graph-node"; -import "./hat-graph-spacer"; import { ACTION_ICONS } from "../../data/action"; +import { flattenTriggers } from "../../data/automation"; +import { getActionType } from "../../data/script"; +import { BRANCH_HEIGHT, NODE_SIZE, SPACING } from "./hat-graph-const"; type NodeType = "trigger" | "condition" | "action" | "chooseOption" | undefined; diff --git a/src/components/trace/hat-trace-timeline.ts b/src/components/trace/hat-trace-timeline.ts index 7c330ccde1..6af3b9aa49 100644 --- a/src/components/trace/hat-trace-timeline.ts +++ b/src/components/trace/hat-trace-timeline.ts @@ -1,25 +1,3 @@ -import { consume } from "@lit-labs/context"; -import { - mdiAlertCircle, - mdiCircle, - mdiCircleOutline, - mdiProgressClock, - mdiProgressWrench, - mdiRecordCircleOutline, -} from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { formatDateTimeWithSeconds } from "../../common/datetime/format_date_time"; -import { relativeTime } from "../../common/datetime/relative_time"; -import { fireEvent } from "../../common/dom/fire_event"; -import { toggleAttribute } from "../../common/dom/toggle_attribute"; -import { - floorsContext, - fullEntitiesContext, - labelsContext, -} from "../../data/context"; import type { EntityRegistryEntry } from "../../data/entity_registry"; import type { FloorRegistryEntry } from "../../data/floor_registry"; import type { LabelRegistryEntry } from "../../data/label_registry"; @@ -32,8 +10,6 @@ import type { RepeatAction, SequenceAction, } from "../../data/script"; -import { getActionType } from "../../data/script"; -import { describeAction } from "../../data/script_i18n"; import type { ActionTraceStep, AutomationTraceExtended, @@ -41,10 +17,37 @@ import type { IfActionTraceStep, TriggerTraceStep, } from "../../data/trace"; -import { getDataFromPath, isTriggerPath } from "../../data/trace"; import type { HomeAssistant } from "../../types"; -import "./ha-timeline"; import type { HaTimeline } from "./ha-timeline"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "./ha-timeline"; + +import { consume } from "@lit-labs/context"; +import { + mdiAlertCircle, + mdiCircle, + mdiCircleOutline, + mdiProgressClock, + mdiProgressWrench, + mdiRecordCircleOutline, +} from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; + +import { formatDateTimeWithSeconds } from "../../common/datetime/format_date_time"; +import { relativeTime } from "../../common/datetime/relative_time"; +import { fireEvent } from "../../common/dom/fire_event"; +import { toggleAttribute } from "../../common/dom/toggle_attribute"; +import { + floorsContext, + fullEntitiesContext, + labelsContext, +} from "../../data/context"; +import { getActionType } from "../../data/script"; +import { describeAction } from "../../data/script_i18n"; +import { getDataFromPath, isTriggerPath } from "../../data/trace"; const LOGBOOK_ENTRIES_BEFORE_FOLD = 2; diff --git a/src/components/user/ha-person-badge.ts b/src/components/user/ha-person-badge.ts index 8b5078b2c1..724d931b69 100644 --- a/src/components/user/ha-person-badge.ts +++ b/src/components/user/ha-person-badge.ts @@ -1,10 +1,12 @@ +import type { BasePerson } from "../../data/person"; +import type { HomeAssistant } from "../../types"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; -import type { BasePerson } from "../../data/person"; + import { computeUserInitials } from "../../data/user"; -import type { HomeAssistant } from "../../types"; @customElement("ha-person-badge") class PersonBadge extends LitElement { diff --git a/src/components/user/ha-user-badge.ts b/src/components/user/ha-user-badge.ts index df1520d60b..3d9755b0d5 100644 --- a/src/components/user/ha-user-badge.ts +++ b/src/components/user/ha-user-badge.ts @@ -1,12 +1,14 @@ +import type { User } from "../../data/user"; +import type { CurrentUser, HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { computeStateDomain } from "../../common/entity/compute_state_domain"; -import type { User } from "../../data/user"; import { computeUserInitials } from "../../data/user"; -import type { CurrentUser, HomeAssistant } from "../../types"; @customElement("ha-user-badge") class UserBadge extends LitElement { diff --git a/src/components/user/ha-user-picker.ts b/src/components/user/ha-user-picker.ts index 3536d8d542..853ba467f9 100644 --- a/src/components/user/ha-user-picker.ts +++ b/src/components/user/ha-user-picker.ts @@ -1,16 +1,19 @@ -import "@material/mwc-list/mwc-list-item"; +import type { User } from "../../data/user"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; + +import "../ha-list-item"; +import "../ha-select"; +import "./ha-user-badge"; +import "@material/mwc-list/mwc-list-item"; + import { css, html, LitElement } from "lit"; import { property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; import { stringCompare } from "../../common/string/compare"; -import type { User } from "../../data/user"; import { fetchUsers } from "../../data/user"; -import type { HomeAssistant } from "../../types"; -import "../ha-select"; -import "./ha-user-badge"; -import "../ha-list-item"; class HaUserPicker extends LitElement { public hass?: HomeAssistant; diff --git a/src/components/user/ha-users-picker.ts b/src/components/user/ha-users-picker.ts index d3160be467..69f45f5ce5 100644 --- a/src/components/user/ha-users-picker.ts +++ b/src/components/user/ha-users-picker.ts @@ -1,14 +1,17 @@ +import type { User } from "../../data/user"; +import type { ValueChangedEvent, HomeAssistant } from "../../types"; + +import "../ha-icon-button"; +import "./ha-user-picker"; + import { mdiClose } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { guard } from "lit/directives/guard"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { User } from "../../data/user"; import { fetchUsers } from "../../data/user"; -import type { ValueChangedEvent, HomeAssistant } from "../../types"; -import "../ha-icon-button"; -import "./ha-user-picker"; @customElement("ha-users-picker") class HaUsersPickerLight extends LitElement { diff --git a/src/data/action.ts b/src/data/action.ts index 37ce9c8e70..741755e725 100644 --- a/src/data/action.ts +++ b/src/data/action.ts @@ -1,3 +1,5 @@ +import type { AutomationElementGroup } from "./automation"; + import { mdiAbTesting, mdiApplicationVariableOutline, @@ -19,7 +21,6 @@ import { mdiTools, mdiTrafficLight, } from "@mdi/js"; -import type { AutomationElementGroup } from "./automation"; export const ACTION_ICONS = { condition: mdiAbTesting, diff --git a/src/data/alarm_control_panel.ts b/src/data/alarm_control_panel.ts index e5169ff71b..3f54ccc460 100644 --- a/src/data/alarm_control_panel.ts +++ b/src/data/alarm_control_panel.ts @@ -1,3 +1,9 @@ +import type { HomeAssistant } from "../types"; +import type { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; + import { mdiAirplane, mdiHome, @@ -6,13 +12,9 @@ import { mdiShield, mdiShieldOff, } from "@mdi/js"; -import type { - HassEntityAttributeBase, - HassEntityBase, -} from "home-assistant-js-websocket"; + import { supportsFeature } from "../common/entity/supports-feature"; import { showEnterCodeDialog } from "../dialogs/enter-code/show-enter-code-dialog"; -import type { HomeAssistant } from "../types"; import { getExtendedEntityRegistryEntry } from "./entity_registry"; export const FORMAT_TEXT = "text"; diff --git a/src/data/area_registry.ts b/src/data/area_registry.ts index 2fca94fcaa..464334d03c 100644 --- a/src/data/area_registry.ts +++ b/src/data/area_registry.ts @@ -1,9 +1,10 @@ -import { stringCompare } from "../common/string/compare"; import type { HomeAssistant } from "../types"; import type { DeviceRegistryEntry } from "./device_registry"; import type { EntityRegistryEntry } from "./entity_registry"; import type { RegistryEntry } from "./registry"; +import { stringCompare } from "../common/string/compare"; + export { subscribeAreaRegistry } from "./ws-area_registry"; export interface AreaRegistryEntry extends RegistryEntry { diff --git a/src/data/assist_satellite.ts b/src/data/assist_satellite.ts index 7b13c4a47c..d3f4845db2 100644 --- a/src/data/assist_satellite.ts +++ b/src/data/assist_satellite.ts @@ -1,5 +1,6 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + import { supportsFeature } from "../common/entity/supports-feature"; import { UNAVAILABLE } from "./entity"; diff --git a/src/data/automation.ts b/src/data/automation.ts index 7308e51e34..cabea88a63 100644 --- a/src/data/automation.ts +++ b/src/data/automation.ts @@ -1,15 +1,17 @@ -import type { - HassEntityAttributeBase, - HassEntityBase, -} from "home-assistant-js-websocket"; -import { navigate } from "../common/navigate"; -import { ensureArray } from "../common/array/ensure-array"; import type { Context, HomeAssistant } from "../types"; import type { BlueprintInput } from "./blueprint"; import type { DeviceCondition, DeviceTrigger } from "./device_automation"; import type { Action, MODES } from "./script"; -import { migrateAutomationAction } from "./script"; +import type { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; + +import { ensureArray } from "../common/array/ensure-array"; +import { navigate } from "../common/navigate"; import { createSearchParam } from "../common/url/search-params"; +import { migrateAutomationAction } from "./script"; + export const AUTOMATION_DEFAULT_MODE: (typeof MODES)[number] = "single"; export const AUTOMATION_DEFAULT_MAX = 10; diff --git a/src/data/automation_i18n.ts b/src/data/automation_i18n.ts index 9a914dcaa9..1a73553b81 100644 --- a/src/data/automation_i18n.ts +++ b/src/data/automation_i18n.ts @@ -1,4 +1,10 @@ +import type { HomeAssistant } from "../types"; +import type { Condition, ForDict, Trigger } from "./automation"; +import type { DeviceCondition, DeviceTrigger } from "./device_automation"; +import type { EntityRegistryEntry } from "./entity_registry"; +import type { FrontendLocaleData } from "./translation"; import type { HassConfig } from "home-assistant-js-websocket"; + import { ensureArray } from "../common/array/ensure-array"; import { formatDurationLong, @@ -16,15 +22,10 @@ import { formatListWithAnds, formatListWithOrs, } from "../common/string/format-list"; -import type { HomeAssistant } from "../types"; -import type { Condition, ForDict, Trigger } from "./automation"; -import type { DeviceCondition, DeviceTrigger } from "./device_automation"; import { localizeDeviceAutomationCondition, localizeDeviceAutomationTrigger, } from "./device_automation"; -import type { EntityRegistryEntry } from "./entity_registry"; -import type { FrontendLocaleData } from "./translation"; import { isTriggerList } from "./trigger"; const triggerTranslationBaseKey = diff --git a/src/data/backup.ts b/src/data/backup.ts index ecdc679728..a2a4b4742e 100644 --- a/src/data/backup.ts +++ b/src/data/backup.ts @@ -1,20 +1,22 @@ +import type { LocalizeFunc } from "../common/translations/localize"; +import type { HomeAssistant } from "../types"; +import type { BackupManagerState, ManagerStateEvent } from "./backup_manager"; +import type { FrontendLocaleData } from "./translation"; +import type { HassConfig } from "home-assistant-js-websocket"; + import { memoize } from "@fullcalendar/core/internal"; import { setHours, setMinutes } from "date-fns"; -import type { HassConfig } from "home-assistant-js-websocket"; import memoizeOne from "memoize-one"; + +import checkValidDate from "../common/datetime/check_valid_date"; import { formatDateTime, formatDateTimeNumeric, } from "../common/datetime/format_date_time"; import { formatTime } from "../common/datetime/format_time"; -import type { LocalizeFunc } from "../common/translations/localize"; -import type { HomeAssistant } from "../types"; import { fileDownload } from "../util/file_download"; -import { domainToName } from "./integration"; -import type { FrontendLocaleData } from "./translation"; -import type { BackupManagerState, ManagerStateEvent } from "./backup_manager"; -import checkValidDate from "../common/datetime/check_valid_date"; import { handleFetchPromise } from "../util/hass-call-api"; +import { domainToName } from "./integration"; export const enum BackupScheduleRecurrence { NEVER = "never", diff --git a/src/data/backup_onboarding.ts b/src/data/backup_onboarding.ts index 3609c03761..92c9454d6b 100644 --- a/src/data/backup_onboarding.ts +++ b/src/data/backup_onboarding.ts @@ -1,4 +1,3 @@ -import { handleFetchPromise } from "../util/hass-call-api"; import type { BackupContentExtended } from "./backup"; import type { BackupManagerState, @@ -6,6 +5,8 @@ import type { RestoreBackupState, } from "./backup_manager"; +import { handleFetchPromise } from "../util/hass-call-api"; + export interface BackupOnboardingInfo { state: BackupManagerState; last_action_event?: { diff --git a/src/data/bluetooth.ts b/src/data/bluetooth.ts index 901d51672f..34d0aafa8c 100644 --- a/src/data/bluetooth.ts +++ b/src/data/bluetooth.ts @@ -1,10 +1,11 @@ +import type { DataTableRowData } from "../components/data-table/ha-data-table"; +import type { Store } from "home-assistant-js-websocket/dist/store"; + import { createCollection, type Connection, type UnsubscribeFunc, } from "home-assistant-js-websocket"; -import type { Store } from "home-assistant-js-websocket/dist/store"; -import type { DataTableRowData } from "../components/data-table/ha-data-table"; export interface BluetoothDeviceData extends DataTableRowData { address: string; diff --git a/src/data/calendar.ts b/src/data/calendar.ts index 17dcf48587..3381baea8c 100644 --- a/src/data/calendar.ts +++ b/src/data/calendar.ts @@ -1,7 +1,8 @@ +import type { HomeAssistant } from "../types"; + import { getColorByIndex } from "../common/color/colors"; import { computeDomain } from "../common/entity/compute_domain"; import { computeStateName } from "../common/entity/compute_state_name"; -import type { HomeAssistant } from "../types"; import { isUnavailableState } from "./entity"; export interface Calendar { diff --git a/src/data/camera.ts b/src/data/camera.ts index b8bf02d5de..7a0dd83bf5 100644 --- a/src/data/camera.ts +++ b/src/data/camera.ts @@ -1,9 +1,10 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import { timeCacheEntityPromiseFunc } from "../common/util/time-cache-entity-promise-func"; -import type { HomeAssistant } from "../types"; import { getSignedPath } from "./auth"; export const CAMERA_ORIENTATIONS = [1, 2, 3, 4, 6, 8]; diff --git a/src/data/category_registry.ts b/src/data/category_registry.ts index 94fe76904f..ff89f3f232 100644 --- a/src/data/category_registry.ts +++ b/src/data/category_registry.ts @@ -1,8 +1,10 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; -import type { Store } from "home-assistant-js-websocket/dist/store"; -import { stringCompare } from "../common/string/compare"; import type { HomeAssistant } from "../types"; +import type { Connection } from "home-assistant-js-websocket"; +import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; + +import { stringCompare } from "../common/string/compare"; import { debounce } from "../common/util/debounce"; export interface CategoryRegistryEntry { diff --git a/src/data/climate.ts b/src/data/climate.ts index 8e59567a6a..f31f5d5276 100644 --- a/src/data/climate.ts +++ b/src/data/climate.ts @@ -1,3 +1,8 @@ +import type { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; + import { mdiFan, mdiFire, @@ -8,10 +13,6 @@ import { mdiThermostatAuto, mdiWaterPercent, } from "@mdi/js"; -import type { - HassEntityAttributeBase, - HassEntityBase, -} from "home-assistant-js-websocket"; export const HVAC_MODES = [ "auto", diff --git a/src/data/cloud/tts.ts b/src/data/cloud/tts.ts index 103c389075..a3ede69a32 100644 --- a/src/data/cloud/tts.ts +++ b/src/data/cloud/tts.ts @@ -1,6 +1,7 @@ -import { caseInsensitiveStringCompare } from "../../common/string/compare"; import type { HomeAssistant } from "../../types"; +import { caseInsensitiveStringCompare } from "../../common/string/compare"; + export interface CloudTTSInfo { languages: [string, string][]; } diff --git a/src/data/collection.ts b/src/data/collection.ts index 476d416e86..688255e57f 100644 --- a/src/data/collection.ts +++ b/src/data/collection.ts @@ -3,9 +3,10 @@ import type { Connection, UnsubscribeFunc, } from "home-assistant-js-websocket"; -import { getCollection } from "home-assistant-js-websocket"; import type { Store } from "home-assistant-js-websocket/dist/store"; +import { getCollection } from "home-assistant-js-websocket"; + interface OptimisticCollection extends Collection { save(data: T): Promise; } diff --git a/src/data/condition.ts b/src/data/condition.ts index 0951d6bc54..e9b06c6aa0 100644 --- a/src/data/condition.ts +++ b/src/data/condition.ts @@ -1,3 +1,5 @@ +import type { AutomationElementGroup } from "./automation"; + import { mdiAmpersand, mdiClockOutline, @@ -15,7 +17,6 @@ import { mdiStateMachine, mdiWeatherSunny, } from "@mdi/js"; -import type { AutomationElementGroup } from "./automation"; export const CONDITION_ICONS = { device: mdiDevices, diff --git a/src/data/config_entries.ts b/src/data/config_entries.ts index f64f236ca4..22a7f805d2 100644 --- a/src/data/config_entries.ts +++ b/src/data/config_entries.ts @@ -1,6 +1,6 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; import type { IntegrationType } from "./integration"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; export interface ConfigEntry { entry_id: string; diff --git a/src/data/config_flow.ts b/src/data/config_flow.ts index 3144fea531..f0077bd80d 100644 --- a/src/data/config_flow.ts +++ b/src/data/config_flow.ts @@ -1,13 +1,15 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { getCollection } from "home-assistant-js-websocket"; import type { LocalizeFunc } from "../common/translations/localize"; -import { debounce } from "../common/util/debounce"; import type { HomeAssistant } from "../types"; import type { DataEntryFlowProgress, DataEntryFlowStep, } from "./data_entry_flow"; import type { IntegrationType } from "./integration"; +import type { Connection } from "home-assistant-js-websocket"; + +import { getCollection } from "home-assistant-js-websocket"; + +import { debounce } from "../common/util/debounce"; import { domainToName } from "./integration"; export const DISCOVERY_SOURCES = [ diff --git a/src/data/connection-status.ts b/src/data/connection-status.ts index 7068304474..21d4ac3a72 100644 --- a/src/data/connection-status.ts +++ b/src/data/connection-status.ts @@ -3,6 +3,7 @@ */ import type { HASSDomEvent } from "../common/dom/fire_event"; + import { fireEvent } from "../common/dom/fire_event"; export type ConnectionStatus = "connected" | "auth-invalid" | "disconnected"; diff --git a/src/data/context.ts b/src/data/context.ts index 94be214c5a..8c50df78bb 100644 --- a/src/data/context.ts +++ b/src/data/context.ts @@ -1,8 +1,9 @@ -import { createContext } from "@lit-labs/context"; -import type { HassConfig } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; import type { EntityRegistryEntry } from "./entity_registry"; import type { LabelRegistryEntry } from "./label_registry"; +import type { HassConfig } from "home-assistant-js-websocket"; + +import { createContext } from "@lit-labs/context"; export const connectionContext = createContext("connection"); diff --git a/src/data/conversation.ts b/src/data/conversation.ts index 638ec6824c..616d1f9d98 100644 --- a/src/data/conversation.ts +++ b/src/data/conversation.ts @@ -1,6 +1,7 @@ -import { ensureArray } from "../common/array/ensure-array"; import type { HomeAssistant } from "../types"; +import { ensureArray } from "../common/array/ensure-array"; + export const enum ConversationEntityFeature { CONTROL = 1, } diff --git a/src/data/core.ts b/src/data/core.ts index cdda3baf12..51e201b490 100644 --- a/src/data/core.ts +++ b/src/data/core.ts @@ -1,5 +1,5 @@ -import type { HassConfig } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { HassConfig } from "home-assistant-js-websocket"; export interface ConfigUpdateValues { location_name: string; diff --git a/src/data/cover.ts b/src/data/cover.ts index 1c5a4e5afb..c619c84932 100644 --- a/src/data/cover.ts +++ b/src/data/cover.ts @@ -1,10 +1,11 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import { stateActive } from "../common/entity/state_active"; import { supportsFeature } from "../common/entity/supports-feature"; -import type { HomeAssistant } from "../types"; import { UNAVAILABLE } from "./entity"; export const enum CoverEntityFeature { diff --git a/src/data/data_entry_flow.ts b/src/data/data_entry_flow.ts index ded6ecf806..b4a69a9f73 100644 --- a/src/data/data_entry_flow.ts +++ b/src/data/data_entry_flow.ts @@ -1,6 +1,6 @@ -import type { Connection } from "home-assistant-js-websocket"; import type { HaFormSchema } from "../components/ha-form/types"; import type { ConfigEntry } from "./config_entries"; +import type { Connection } from "home-assistant-js-websocket"; export type FlowType = | "config_flow" diff --git a/src/data/date.ts b/src/data/date.ts index ea5a8588c8..904071fbcc 100644 --- a/src/data/date.ts +++ b/src/data/date.ts @@ -1,5 +1,5 @@ -import type { HassEntityBase } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { HassEntityBase } from "home-assistant-js-websocket"; export const stateToIsoDateString = (entityState: HassEntityBase) => `${entityState}T00:00:00`; diff --git a/src/data/device_automation.ts b/src/data/device_automation.ts index e64300a5aa..9c49abf1cd 100644 --- a/src/data/device_automation.ts +++ b/src/data/device_automation.ts @@ -1,9 +1,10 @@ -import { computeStateName } from "../common/entity/compute_state_name"; import type { HaFormSchema } from "../components/ha-form/types"; import type { HomeAssistant } from "../types"; import type { BaseTrigger } from "./automation"; -import { migrateAutomationTrigger } from "./automation"; import type { EntityRegistryEntry } from "./entity_registry"; + +import { computeStateName } from "../common/entity/compute_state_name"; +import { migrateAutomationTrigger } from "./automation"; import { computeEntityRegistryName, entityRegistryByEntityId, diff --git a/src/data/device_registry.ts b/src/data/device_registry.ts index eece4e9537..487cb54340 100644 --- a/src/data/device_registry.ts +++ b/src/data/device_registry.ts @@ -1,5 +1,3 @@ -import { computeStateName } from "../common/entity/compute_state_name"; -import { caseInsensitiveStringCompare } from "../common/string/compare"; import type { HomeAssistant } from "../types"; import type { ConfigEntry } from "./config_entries"; import type { @@ -9,6 +7,9 @@ import type { import type { EntitySources } from "./entity_sources"; import type { RegistryEntry } from "./registry"; +import { computeStateName } from "../common/entity/compute_state_name"; +import { caseInsensitiveStringCompare } from "../common/string/compare"; + export { fetchDeviceRegistry, subscribeDeviceRegistry, diff --git a/src/data/energy.ts b/src/data/energy.ts index 7c6dee5ade..daf203fac0 100644 --- a/src/data/energy.ts +++ b/src/data/energy.ts @@ -1,3 +1,12 @@ +import type { DateRange } from "../common/datetime/calc_date_range"; +import type { HomeAssistant } from "../types"; +import type { + Statistics, + StatisticsMetaData, + StatisticsUnitConfiguration, +} from "./recorder"; +import type { Collection } from "home-assistant-js-websocket"; + import { addDays, addHours, @@ -10,26 +19,19 @@ import { isFirstDayOfMonth, isLastDayOfMonth, } from "date-fns"; -import type { Collection } from "home-assistant-js-websocket"; import { getCollection } from "home-assistant-js-websocket"; import memoizeOne from "memoize-one"; + import { calcDate, calcDateProperty, calcDateDifferenceProperty, } from "../common/datetime/calc_date"; -import { formatTime24h } from "../common/datetime/format_time"; -import { groupBy } from "../common/util/group-by"; -import type { HomeAssistant } from "../types"; -import type { - Statistics, - StatisticsMetaData, - StatisticsUnitConfiguration, -} from "./recorder"; -import { fetchStatistics, getStatisticMetadata } from "./recorder"; import { calcDateRange } from "../common/datetime/calc_date_range"; -import type { DateRange } from "../common/datetime/calc_date_range"; +import { formatTime24h } from "../common/datetime/format_time"; import { formatNumber } from "../common/number/format_number"; +import { groupBy } from "../common/util/group-by"; +import { fetchStatistics, getStatisticMetadata } from "./recorder"; const energyCollectionKeys: (string | undefined)[] = []; diff --git a/src/data/entity_attributes.ts b/src/data/entity_attributes.ts index e72bf4cd58..b5e32c6ac1 100644 --- a/src/data/entity_attributes.ts +++ b/src/data/entity_attributes.ts @@ -1,6 +1,7 @@ -import { formatDurationDigital } from "../common/datetime/format_duration"; import type { FrontendLocaleData } from "./translation"; +import { formatDurationDigital } from "../common/datetime/format_duration"; + export const STATE_ATTRIBUTES = [ "entity_id", "assumed_state", diff --git a/src/data/entity_registry.ts b/src/data/entity_registry.ts index 4376c7bd45..598fcd8cd8 100644 --- a/src/data/entity_registry.ts +++ b/src/data/entity_registry.ts @@ -1,14 +1,16 @@ +import type { HomeAssistant } from "../types"; +import type { LightColor } from "./light"; +import type { RegistryEntry } from "./registry"; import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; import memoizeOne from "memoize-one"; + +import { computeDomain } from "../common/entity/compute_domain"; import { computeStateName } from "../common/entity/compute_state_name"; import { caseInsensitiveStringCompare } from "../common/string/compare"; import { debounce } from "../common/util/debounce"; -import type { HomeAssistant } from "../types"; -import type { LightColor } from "./light"; -import { computeDomain } from "../common/entity/compute_domain"; -import type { RegistryEntry } from "./registry"; type EntityCategory = "config" | "diagnostic"; diff --git a/src/data/entity_sources.ts b/src/data/entity_sources.ts index 220201d5bf..d29f75c39a 100644 --- a/src/data/entity_sources.ts +++ b/src/data/entity_sources.ts @@ -1,6 +1,7 @@ -import { timeCachePromiseFunc } from "../common/util/time-cache-function-promise"; import type { HomeAssistant } from "../types"; +import { timeCachePromiseFunc } from "../common/util/time-cache-function-promise"; + interface EntitySource { domain: string; } diff --git a/src/data/fan.ts b/src/data/fan.ts index 18d6814e8d..08e1a9c86b 100644 --- a/src/data/fan.ts +++ b/src/data/fan.ts @@ -1,3 +1,9 @@ +import type { HomeAssistant } from "../types"; +import type { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; + import { mdiFan, mdiFanOff, @@ -5,12 +11,8 @@ import { mdiFanSpeed2, mdiFanSpeed3, } from "@mdi/js"; -import type { - HassEntityAttributeBase, - HassEntityBase, -} from "home-assistant-js-websocket"; + import { stateActive } from "../common/entity/state_active"; -import type { HomeAssistant } from "../types"; export const enum FanEntityFeature { SET_SPEED = 1, diff --git a/src/data/floor_registry.ts b/src/data/floor_registry.ts index 8f3bd579c3..4fff77130c 100644 --- a/src/data/floor_registry.ts +++ b/src/data/floor_registry.ts @@ -1,8 +1,9 @@ -import { stringCompare } from "../common/string/compare"; import type { HomeAssistant } from "../types"; import type { AreaRegistryEntry } from "./area_registry"; import type { RegistryEntry } from "./registry"; +import { stringCompare } from "../common/string/compare"; + export { subscribeAreaRegistry } from "./ws-area_registry"; export interface FloorRegistryEntry extends RegistryEntry { diff --git a/src/data/frontend.ts b/src/data/frontend.ts index d0217993d5..dee8185251 100644 --- a/src/data/frontend.ts +++ b/src/data/frontend.ts @@ -1,4 +1,5 @@ import type { Connection } from "home-assistant-js-websocket"; + import { getOptimisticCollection } from "./collection"; export interface CoreFrontendUserData { diff --git a/src/data/group.ts b/src/data/group.ts index 6096dd9691..1e66fc1276 100644 --- a/src/data/group.ts +++ b/src/data/group.ts @@ -2,6 +2,7 @@ import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import { computeDomain } from "../common/entity/compute_domain"; interface GroupEntityAttributes extends HassEntityAttributeBase { diff --git a/src/data/haptics.ts b/src/data/haptics.ts index e4868b2a0d..4a9a546891 100644 --- a/src/data/haptics.ts +++ b/src/data/haptics.ts @@ -3,6 +3,7 @@ */ import type { HASSDomEvent } from "../common/dom/fire_event"; + import { fireEvent } from "../common/dom/fire_event"; // Allowed types are from iOS HIG. diff --git a/src/data/hassio/addon.ts b/src/data/hassio/addon.ts index 5154f45006..5c8eb70b28 100644 --- a/src/data/hassio/addon.ts +++ b/src/data/hassio/addon.ts @@ -1,10 +1,11 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HaFormSchema } from "../../components/ha-form/types"; import type { HomeAssistant, TranslationDict } from "../../types"; -import { supervisorApiCall } from "../supervisor/common"; import type { StoreAddonDetails } from "../supervisor/store"; import type { Supervisor, SupervisorArch } from "../supervisor/supervisor"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; +import { supervisorApiCall } from "../supervisor/common"; import { extractApiErrorMessage, hassioApiResultExtractor } from "./common"; export type AddonCapability = Exclude< diff --git a/src/data/hassio/backup.ts b/src/data/hassio/backup.ts index 66684d1698..71add134c6 100644 --- a/src/data/hassio/backup.ts +++ b/src/data/hassio/backup.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "./common"; export const friendlyFolderName = { diff --git a/src/data/hassio/common.ts b/src/data/hassio/common.ts index 1a937b29ca..396ee6dde0 100644 --- a/src/data/hassio/common.ts +++ b/src/data/hassio/common.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; +import { atLeastVersion } from "../../common/config/version"; + export interface HassioResponse { data: T; message?: string; diff --git a/src/data/hassio/docker.ts b/src/data/hassio/docker.ts index c0172ca6eb..7911e9e95f 100644 --- a/src/data/hassio/docker.ts +++ b/src/data/hassio/docker.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "./common"; type HassioDockerRegistries = Record< diff --git a/src/data/hassio/hardware.ts b/src/data/hassio/hardware.ts index eb7f562428..7690b4cb29 100644 --- a/src/data/hassio/hardware.ts +++ b/src/data/hassio/hardware.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "./common"; export interface HassioHardwareAudioDevice { diff --git a/src/data/hassio/host.ts b/src/data/hassio/host.ts index 46452aa212..153ab99943 100644 --- a/src/data/hassio/host.ts +++ b/src/data/hassio/host.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "./common"; export interface HassioHostInfo { diff --git a/src/data/hassio/ingress.ts b/src/data/hassio/ingress.ts index 5ff4b5cfe4..4dd8b3c557 100644 --- a/src/data/hassio/ingress.ts +++ b/src/data/hassio/ingress.ts @@ -1,8 +1,9 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "./common"; import type { CreateSessionResponse } from "./supervisor"; +import { atLeastVersion } from "../../common/config/version"; + function setIngressCookie(session: string): string { document.cookie = `ingress_session=${session};path=/api/hassio_ingress/;SameSite=Strict${ location.protocol === "https:" ? ";Secure" : "" diff --git a/src/data/hassio/network.ts b/src/data/hassio/network.ts index 40500360af..d9fd7bf5b8 100644 --- a/src/data/hassio/network.ts +++ b/src/data/hassio/network.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "./common"; interface IpConfiguration { diff --git a/src/data/hassio/resolution.ts b/src/data/hassio/resolution.ts index 5b228dc386..05179abf75 100644 --- a/src/data/hassio/resolution.ts +++ b/src/data/hassio/resolution.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant, TranslationDict } from "../../types"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "./common"; export interface HassioResolution { diff --git a/src/data/hassio/supervisor.ts b/src/data/hassio/supervisor.ts index 280865210c..a6b38f67a2 100644 --- a/src/data/hassio/supervisor.ts +++ b/src/data/hassio/supervisor.ts @@ -1,7 +1,8 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant, PanelInfo } from "../../types"; import type { SupervisorArch } from "../supervisor/supervisor"; import type { HassioResponse } from "./common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "./common"; export interface HassioHomeAssistantInfo { diff --git a/src/data/history.ts b/src/data/history.ts index fb784b54f4..3406fc4bca 100644 --- a/src/data/history.ts +++ b/src/data/history.ts @@ -1,16 +1,17 @@ +import type { LocalizeFunc } from "../common/translations/localize"; +import type { HomeAssistant } from "../types"; +import type { Statistics } from "./recorder"; +import type { FrontendLocaleData } from "./translation"; import type { HassConfig, HassEntities, HassEntity, HassEntityAttributeBase, } from "home-assistant-js-websocket"; + import { computeDomain } from "../common/entity/compute_domain"; import { computeStateDisplayFromEntityAttributes } from "../common/entity/compute_state_display"; import { computeStateNameFromEntityAttributes } from "../common/entity/compute_state_name"; -import type { LocalizeFunc } from "../common/translations/localize"; -import type { HomeAssistant } from "../types"; -import type { FrontendLocaleData } from "./translation"; -import type { Statistics } from "./recorder"; const DOMAINS_USE_LAST_UPDATED = ["climate", "humidifier", "water_heater"]; const NEED_ATTRIBUTE_DOMAINS = [ diff --git a/src/data/icons.ts b/src/data/icons.ts index c59224b2a9..5007324397 100644 --- a/src/data/icons.ts +++ b/src/data/icons.ts @@ -1,3 +1,10 @@ +import type { HomeAssistant } from "../types"; +import type { + EntityRegistryDisplayEntry, + EntityRegistryEntry, +} from "./entity_registry"; +import type { HassEntity } from "home-assistant-js-websocket"; + import { mdiAccount, mdiAirFilter, @@ -43,21 +50,16 @@ import { mdiWeatherPartlyCloudy, mdiWhiteBalanceSunny, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; + import { isComponentLoaded } from "../common/config/is_component_loaded"; import { atLeastVersion } from "../common/config/version"; import { computeDomain } from "../common/entity/compute_domain"; import { computeObjectId } from "../common/entity/compute_object_id"; import { computeStateDomain } from "../common/entity/compute_state_domain"; import { stateIcon } from "../common/entity/state_icon"; -import type { HomeAssistant } from "../types"; -import type { - EntityRegistryDisplayEntry, - EntityRegistryEntry, -} from "./entity_registry"; - import { mdiHomeAssistant } from "../resources/home-assistant-logo-svg"; + /** Icon to use when no icon specified for service. */ export const DEFAULT_SERVICE_ICON = mdiRoomService; diff --git a/src/data/iconsets.ts b/src/data/iconsets.ts index 8dbc53259e..3d93fc07bd 100644 --- a/src/data/iconsets.ts +++ b/src/data/iconsets.ts @@ -1,8 +1,10 @@ +import type { IconMeta } from "../types"; + import { clear, get, set, createStore, promisifyRequest } from "idb-keyval"; import memoizeOne from "memoize-one"; + import { promiseTimeout } from "../common/util/promise-timeout"; import { iconMetadata } from "../resources/icon-metadata"; -import type { IconMeta } from "../types"; export type Icons = Record; diff --git a/src/data/input_datetime.ts b/src/data/input_datetime.ts index 069f69a172..f03ac047f4 100644 --- a/src/data/input_datetime.ts +++ b/src/data/input_datetime.ts @@ -1,5 +1,5 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { HassEntity } from "home-assistant-js-websocket"; export interface InputDateTime { id: string; diff --git a/src/data/input_select.ts b/src/data/input_select.ts index e8f1d22b70..e61f84f7cf 100644 --- a/src/data/input_select.ts +++ b/src/data/input_select.ts @@ -1,8 +1,8 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; -import type { HomeAssistant } from "../types"; interface InputSelectEntityAttributes extends HassEntityAttributeBase { options: string[]; diff --git a/src/data/integration.ts b/src/data/integration.ts index 21aa60965e..f58eaf5278 100644 --- a/src/data/integration.ts +++ b/src/data/integration.ts @@ -1,7 +1,9 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; import type { LocalizeFunc } from "../common/translations/localize"; import type { HomeAssistant } from "../types"; +import type { Connection } from "home-assistant-js-websocket"; + +import { createCollection } from "home-assistant-js-websocket"; + import { debounce } from "../common/util/debounce"; export const integrationsWithPanel = { diff --git a/src/data/integration_quality_scale.ts b/src/data/integration_quality_scale.ts index e49bbc835d..aeb4ee7e81 100644 --- a/src/data/integration_quality_scale.ts +++ b/src/data/integration_quality_scale.ts @@ -1,7 +1,9 @@ -import { mdiContentSave, mdiMedal, mdiTrophy } from "@mdi/js"; -import { mdiHomeAssistant } from "../resources/home-assistant-logo-svg"; import type { LocalizeKeys } from "../common/translations/localize"; +import { mdiContentSave, mdiMedal, mdiTrophy } from "@mdi/js"; + +import { mdiHomeAssistant } from "../resources/home-assistant-logo-svg"; + /** * Map integration quality scale to icon and translation key. */ diff --git a/src/data/label_registry.ts b/src/data/label_registry.ts index 1ee1a9e9ca..8454d05fd5 100644 --- a/src/data/label_registry.ts +++ b/src/data/label_registry.ts @@ -1,10 +1,12 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; -import type { Store } from "home-assistant-js-websocket/dist/store"; -import { stringCompare } from "../common/string/compare"; -import { debounce } from "../common/util/debounce"; import type { HomeAssistant } from "../types"; import type { RegistryEntry } from "./registry"; +import type { Connection } from "home-assistant-js-websocket"; +import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; + +import { stringCompare } from "../common/string/compare"; +import { debounce } from "../common/util/debounce"; export interface LabelRegistryEntry extends RegistryEntry { label_id: string; diff --git a/src/data/lawn_mower.ts b/src/data/lawn_mower.ts index fbc2c5875f..737988f54f 100644 --- a/src/data/lawn_mower.ts +++ b/src/data/lawn_mower.ts @@ -2,6 +2,7 @@ import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import { UNAVAILABLE } from "./entity"; export type LawnMowerEntityState = diff --git a/src/data/light.ts b/src/data/light.ts index d2b699e5c4..e92f064ad4 100644 --- a/src/data/light.ts +++ b/src/data/light.ts @@ -2,6 +2,7 @@ import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import { temperature2rgb } from "../common/color/convert-light-color"; export const enum LightEntityFeature { diff --git a/src/data/lock.ts b/src/data/lock.ts index ddf4f89122..864fa5fcab 100644 --- a/src/data/lock.ts +++ b/src/data/lock.ts @@ -1,11 +1,12 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; -import { getExtendedEntityRegistryEntry } from "./entity_registry"; + import { showEnterCodeDialog } from "../dialogs/enter-code/show-enter-code-dialog"; -import type { HomeAssistant } from "../types"; import { UNAVAILABLE } from "./entity"; +import { getExtendedEntityRegistryEntry } from "./entity_registry"; export const enum LockEntityFeature { OPEN = 1, diff --git a/src/data/logbook.ts b/src/data/logbook.ts index d57e27fd26..6d8c18066b 100644 --- a/src/data/logbook.ts +++ b/src/data/logbook.ts @@ -1,4 +1,8 @@ +import type { LocalizeFunc } from "../common/translations/localize"; +import type { HaEntityPickerEntityFilterFunc } from "../components/entity/ha-entity-picker"; +import type { HomeAssistant } from "../types"; import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; + import { BINARY_STATE_OFF, BINARY_STATE_ON, @@ -7,9 +11,6 @@ import { import { computeDomain } from "../common/entity/compute_domain"; import { computeStateDomain } from "../common/entity/compute_state_domain"; import { autoCaseNoun } from "../common/translations/auto_case_noun"; -import type { LocalizeFunc } from "../common/translations/localize"; -import type { HaEntityPickerEntityFilterFunc } from "../components/entity/ha-entity-picker"; -import type { HomeAssistant } from "../types"; import { UNAVAILABLE, UNKNOWN } from "./entity"; const LOGBOOK_LOCALIZE_PATH = "ui.components.logbook.messages"; diff --git a/src/data/lovelace.ts b/src/data/lovelace.ts index 98ed39e912..0c547611f4 100644 --- a/src/data/lovelace.ts +++ b/src/data/lovelace.ts @@ -1,5 +1,3 @@ -import type { Connection, HassEventBase } from "home-assistant-js-websocket"; -import { getCollection } from "home-assistant-js-websocket"; import type { HuiBadge } from "../panels/lovelace/badges/hui-badge"; import type { HuiCard } from "../panels/lovelace/cards/hui-card"; import type { HuiSection } from "../panels/lovelace/sections/hui-section"; @@ -7,8 +5,12 @@ import type { Lovelace } from "../panels/lovelace/types"; import type { HomeAssistant } from "../types"; import type { LovelaceSectionConfig } from "./lovelace/config/section"; import type { LegacyLovelaceConfig } from "./lovelace/config/types"; -import { fetchConfig } from "./lovelace/config/types"; import type { LovelaceViewConfig } from "./lovelace/config/view"; +import type { Connection, HassEventBase } from "home-assistant-js-websocket"; + +import { getCollection } from "home-assistant-js-websocket"; + +import { fetchConfig } from "./lovelace/config/types"; export interface LovelacePanelConfig { mode: "yaml" | "storage"; diff --git a/src/data/lovelace/config/types.ts b/src/data/lovelace/config/types.ts index 7de222dab8..a2d4f404bb 100644 --- a/src/data/lovelace/config/types.ts +++ b/src/data/lovelace/config/types.ts @@ -1,8 +1,8 @@ -import type { Connection } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../../../types"; import type { LovelaceResource } from "../resource"; import type { LovelaceStrategyConfig } from "./strategy"; import type { LovelaceViewRawConfig } from "./view"; +import type { Connection } from "home-assistant-js-websocket"; export interface LovelaceDashboardBaseConfig {} diff --git a/src/data/lovelace/resource.ts b/src/data/lovelace/resource.ts index f0b877af89..cf64d7c907 100644 --- a/src/data/lovelace/resource.ts +++ b/src/data/lovelace/resource.ts @@ -1,5 +1,5 @@ -import type { Connection } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../../types"; +import type { Connection } from "home-assistant-js-websocket"; export interface LovelaceResource { id: string; diff --git a/src/data/matter.ts b/src/data/matter.ts index e67b2e5172..ef3a6dd71a 100644 --- a/src/data/matter.ts +++ b/src/data/matter.ts @@ -1,8 +1,9 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import { navigate } from "../common/navigate"; import type { HomeAssistant } from "../types"; -import { subscribeDeviceRegistry } from "./device_registry"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; + import { isComponentLoaded } from "../common/config/is_component_loaded"; +import { navigate } from "../common/navigate"; +import { subscribeDeviceRegistry } from "./device_registry"; import { getThreadDataSetTLV, listThreadDataSets } from "./thread"; export enum NetworkType { diff --git a/src/data/media-player.ts b/src/data/media-player.ts index 3f18d26958..db5d200b7b 100644 --- a/src/data/media-player.ts +++ b/src/data/media-player.ts @@ -1,3 +1,10 @@ +import type { MediaPlayerItemId } from "../components/media-player/ha-media-player-browse"; +import type { HomeAssistant, TranslationDict } from "../types"; +import type { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; + import { mdiAccountMusic, mdiAccountMusicOutline, @@ -28,14 +35,9 @@ import { mdiVideo, mdiWeb, } from "@mdi/js"; -import type { - HassEntityAttributeBase, - HassEntityBase, -} from "home-assistant-js-websocket"; -import { supportsFeature } from "../common/entity/supports-feature"; + import { stateActive } from "../common/entity/state_active"; -import type { MediaPlayerItemId } from "../components/media-player/ha-media-player-browse"; -import type { HomeAssistant, TranslationDict } from "../types"; +import { supportsFeature } from "../common/entity/supports-feature"; import { isUnavailableState } from "./entity"; import { isTTSMediaSource } from "./tts"; diff --git a/src/data/onboarding.ts b/src/data/onboarding.ts index 7a23cd08a8..71e2c1b188 100644 --- a/src/data/onboarding.ts +++ b/src/data/onboarding.ts @@ -1,7 +1,8 @@ import type { HomeAssistant } from "../types"; -import { handleFetchPromise } from "../util/hass-call-api"; import type { CloudStatus } from "./cloud"; +import { handleFetchPromise } from "../util/hass-call-api"; + export interface InstallationType { installation_type: | "Home Assistant Operating System" diff --git a/src/data/panel.ts b/src/data/panel.ts index 14012b1059..b2384d4d67 100644 --- a/src/data/panel.ts +++ b/src/data/panel.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../common/dom/fire_event"; import type { HomeAssistant, PanelInfo } from "../types"; +import { fireEvent } from "../common/dom/fire_event"; + /** Panel to show when no panel is picked. */ export const DEFAULT_PANEL = "lovelace"; diff --git a/src/data/person.ts b/src/data/person.ts index 62145b875d..ada79f174e 100644 --- a/src/data/person.ts +++ b/src/data/person.ts @@ -1,8 +1,8 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; -import type { HomeAssistant } from "../types"; export interface BasePerson { name: string; diff --git a/src/data/preview.ts b/src/data/preview.ts index a26b030b8f..74f6103c6c 100644 --- a/src/data/preview.ts +++ b/src/data/preview.ts @@ -1,5 +1,5 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; const HAS_CUSTOM_PREVIEW = ["generic_camera", "template"]; diff --git a/src/data/recorder.ts b/src/data/recorder.ts index 67fd71b215..970b5c5d19 100644 --- a/src/data/recorder.ts +++ b/src/data/recorder.ts @@ -1,7 +1,8 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { computeStateName } from "../common/entity/compute_state_name"; import type { HaDurationData } from "../components/ha-duration-input"; import type { HomeAssistant } from "../types"; +import type { Connection } from "home-assistant-js-websocket"; + +import { computeStateName } from "../common/entity/compute_state_name"; export interface RecorderInfo { backlog: number | null; diff --git a/src/data/repairs.ts b/src/data/repairs.ts index 32213ca566..399046a562 100644 --- a/src/data/repairs.ts +++ b/src/data/repairs.ts @@ -1,9 +1,11 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; -import type { Store } from "home-assistant-js-websocket/dist/store"; -import { debounce } from "../common/util/debounce"; import type { HomeAssistant } from "../types"; import type { DataEntryFlowStep } from "./data_entry_flow"; +import type { Connection } from "home-assistant-js-websocket"; +import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; + +import { debounce } from "../common/util/debounce"; export interface RepairsIssue { domain: string; diff --git a/src/data/scene.ts b/src/data/scene.ts index 72b5715df0..cc51e92cdc 100644 --- a/src/data/scene.ts +++ b/src/data/scene.ts @@ -1,9 +1,10 @@ +import type { HomeAssistant, ServiceCallResponse } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import { navigate } from "../common/navigate"; -import type { HomeAssistant, ServiceCallResponse } from "../types"; export const SCENE_IGNORED_DOMAINS = [ "binary_sensor", diff --git a/src/data/script.ts b/src/data/script.ts index 413b46c164..4a44242041 100644 --- a/src/data/script.ts +++ b/src/data/script.ts @@ -1,9 +1,19 @@ +import type { HomeAssistant } from "../types"; +import type { + Condition, + ShorthandAndCondition, + ShorthandNotCondition, + ShorthandOrCondition, + Trigger, +} from "./automation"; +import type { BlueprintInput } from "./blueprint"; import type { HassEntityAttributeBase, HassEntityBase, HassServiceTarget, } from "home-assistant-js-websocket"; import type { Describe } from "superstruct"; + import { object, optional, @@ -15,20 +25,12 @@ import { is, boolean, } from "superstruct"; + import { arrayLiteralIncludes } from "../common/array/literal-includes"; -import { navigate } from "../common/navigate"; -import type { HomeAssistant } from "../types"; -import type { - Condition, - ShorthandAndCondition, - ShorthandNotCondition, - ShorthandOrCondition, - Trigger, -} from "./automation"; -import { migrateAutomationTrigger } from "./automation"; -import type { BlueprintInput } from "./blueprint"; import { computeObjectId } from "../common/entity/compute_object_id"; +import { navigate } from "../common/navigate"; import { createSearchParam } from "../common/url/search-params"; +import { migrateAutomationTrigger } from "./automation"; export const MODES = ["single", "restart", "queued", "parallel"] as const; export const MODES_MAX = ["queued", "parallel"] as const; diff --git a/src/data/script_i18n.ts b/src/data/script_i18n.ts index a95927407c..78679fd8d5 100644 --- a/src/data/script_i18n.ts +++ b/src/data/script_i18n.ts @@ -1,21 +1,7 @@ -import { ensureArray } from "../common/array/ensure-array"; -import { formatNumericDuration } from "../common/datetime/format_duration"; -import secondsToDuration from "../common/datetime/seconds_to_duration"; -import { computeDeviceNameDisplay } from "../common/entity/compute_device_name"; -import { computeStateName } from "../common/entity/compute_state_name"; -import { formatListWithAnds } from "../common/string/format-list"; -import { isTemplate } from "../common/string/has-template"; import type { HomeAssistant } from "../types"; import type { Condition } from "./automation"; -import { describeCondition } from "./automation_i18n"; -import { localizeDeviceAutomationAction } from "./device_automation"; import type { EntityRegistryEntry } from "./entity_registry"; -import { - computeEntityRegistryName, - entityRegistryById, -} from "./entity_registry"; import type { FloorRegistryEntry } from "./floor_registry"; -import { domainToName } from "./integration"; import type { LabelRegistryEntry } from "./label_registry"; import type { ActionType, @@ -34,6 +20,21 @@ import type { VariablesAction, WaitForTriggerAction, } from "./script"; + +import { ensureArray } from "../common/array/ensure-array"; +import { formatNumericDuration } from "../common/datetime/format_duration"; +import secondsToDuration from "../common/datetime/seconds_to_duration"; +import { computeDeviceNameDisplay } from "../common/entity/compute_device_name"; +import { computeStateName } from "../common/entity/compute_state_name"; +import { formatListWithAnds } from "../common/string/format-list"; +import { isTemplate } from "../common/string/has-template"; +import { describeCondition } from "./automation_i18n"; +import { localizeDeviceAutomationAction } from "./device_automation"; +import { + computeEntityRegistryName, + entityRegistryById, +} from "./entity_registry"; +import { domainToName } from "./integration"; import { getActionType } from "./script"; const actionTranslationBaseKey = diff --git a/src/data/select.ts b/src/data/select.ts index d2c24fc02d..8b72070fce 100644 --- a/src/data/select.ts +++ b/src/data/select.ts @@ -1,8 +1,8 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; -import type { HomeAssistant } from "../types"; interface SelectEntityAttributes extends HassEntityAttributeBase { options: string[]; diff --git a/src/data/selector.ts b/src/data/selector.ts index 60d2b133fe..64374bcf1e 100644 --- a/src/data/selector.ts +++ b/src/data/selector.ts @@ -1,23 +1,24 @@ -import type { - HassEntity, - HassServiceTarget, -} from "home-assistant-js-websocket"; -import { ensureArray } from "../common/array/ensure-array"; -import { computeStateDomain } from "../common/entity/compute_state_domain"; -import { supportsFeature } from "../common/entity/supports-feature"; import type { CropOptions } from "../dialogs/image-cropper-dialog/show-image-cropper-dialog"; -import { isHelperDomain } from "../panels/config/helpers/const"; import type { UiAction } from "../panels/lovelace/components/hui-action-editor"; import type { HomeAssistant } from "../types"; -import { - type DeviceRegistryEntry, - getDeviceIntegrationLookup, -} from "./device_registry"; import type { EntityRegistryDisplayEntry, EntityRegistryEntry, } from "./entity_registry"; import type { EntitySources } from "./entity_sources"; +import type { + HassEntity, + HassServiceTarget, +} from "home-assistant-js-websocket"; + +import { ensureArray } from "../common/array/ensure-array"; +import { computeStateDomain } from "../common/entity/compute_state_domain"; +import { supportsFeature } from "../common/entity/supports-feature"; +import { isHelperDomain } from "../panels/config/helpers/const"; +import { + type DeviceRegistryEntry, + getDeviceIntegrationLookup, +} from "./device_registry"; export type Selector = | ActionSelector diff --git a/src/data/supervisor/common.ts b/src/data/supervisor/common.ts index fb4e3a700b..8e32c86e05 100644 --- a/src/data/supervisor/common.ts +++ b/src/data/supervisor/common.ts @@ -1,6 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "../hassio/common"; + +import { atLeastVersion } from "../../common/config/version"; import { hassioApiResultExtractor } from "../hassio/common"; export interface SupervisorApiCallOptions { diff --git a/src/data/supervisor/core.ts b/src/data/supervisor/core.ts index 545824a835..4ef8a0e1e9 100644 --- a/src/data/supervisor/core.ts +++ b/src/data/supervisor/core.ts @@ -1,7 +1,8 @@ -import { atLeastVersion } from "../../common/config/version"; import type { HomeAssistant } from "../../types"; import type { HassioResponse } from "../hassio/common"; +import { atLeastVersion } from "../../common/config/version"; + export const restartCore = async (hass: HomeAssistant) => { await hass.callService("homeassistant", "restart"); }; diff --git a/src/data/supervisor/store.ts b/src/data/supervisor/store.ts index 4aff294296..1581079368 100644 --- a/src/data/supervisor/store.ts +++ b/src/data/supervisor/store.ts @@ -1,8 +1,9 @@ import type { HomeAssistant } from "../../types"; import type { AddonRole, AddonStage } from "../hassio/addon"; -import { supervisorApiCall } from "./common"; import type { SupervisorArch } from "./supervisor"; +import { supervisorApiCall } from "./common"; + export interface StoreAddon { advanced: boolean; available: boolean; diff --git a/src/data/supervisor/supervisor.ts b/src/data/supervisor/supervisor.ts index 38a2cc63a4..5dab14039e 100644 --- a/src/data/supervisor/supervisor.ts +++ b/src/data/supervisor/supervisor.ts @@ -1,6 +1,3 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { getCollection } from "home-assistant-js-websocket"; -import type { Store } from "home-assistant-js-websocket/dist/store"; import type { FlattenObjectKeys, LocalizeFunc, @@ -16,6 +13,10 @@ import type { HassioSupervisorInfo, } from "../hassio/supervisor"; import type { SupervisorStore } from "./store"; +import type { Connection } from "home-assistant-js-websocket"; +import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { getCollection } from "home-assistant-js-websocket"; export const supervisorWSbaseCommand = { type: "supervisor/api", diff --git a/src/data/tag.ts b/src/data/tag.ts index ee61a97ad4..aadd9e37a3 100644 --- a/src/data/tag.ts +++ b/src/data/tag.ts @@ -1,5 +1,5 @@ -import type { HassEventBase } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { HassEventBase } from "home-assistant-js-websocket"; export const EVENT_TAG_SCANNED = "tag_scanned"; diff --git a/src/data/text.ts b/src/data/text.ts index 2726cde318..044cbc4d02 100644 --- a/src/data/text.ts +++ b/src/data/text.ts @@ -1,8 +1,8 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; -import type { HomeAssistant } from "../types"; interface TextEntityAttributes extends HassEntityAttributeBase { min?: number; diff --git a/src/data/timer.ts b/src/data/timer.ts index 977a3fb486..1ffb8dc363 100644 --- a/src/data/timer.ts +++ b/src/data/timer.ts @@ -1,11 +1,12 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity, HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import durationToSeconds from "../common/datetime/duration_to_seconds"; import secondsToDuration from "../common/datetime/seconds_to_duration"; -import type { HomeAssistant } from "../types"; export type TimerEntity = HassEntityBase & { attributes: HassEntityAttributeBase & { diff --git a/src/data/todo.ts b/src/data/todo.ts index 0c02d76c1a..4cd7ce4192 100644 --- a/src/data/todo.ts +++ b/src/data/todo.ts @@ -1,8 +1,9 @@ import type { HomeAssistant, ServiceCallResponse } from "../types"; + import { computeDomain } from "../common/entity/compute_domain"; import { computeStateName } from "../common/entity/compute_state_name"; -import { isUnavailableState } from "./entity"; import { stringCompare } from "../common/string/compare"; +import { isUnavailableState } from "./entity"; export interface TodoList { entity_id: string; diff --git a/src/data/trace.ts b/src/data/trace.ts index a8f20cf41f..de1c23c19c 100644 --- a/src/data/trace.ts +++ b/src/data/trace.ts @@ -1,12 +1,13 @@ -import { strStartsWith } from "../common/string/starts-with"; import type { Context, HomeAssistant } from "../types"; import type { BlueprintAutomationConfig, ManualAutomationConfig, } from "./automation"; -import { flattenTriggers } from "./automation"; import type { BlueprintScriptConfig, ScriptConfig } from "./script"; +import { strStartsWith } from "../common/string/starts-with"; +import { flattenTriggers } from "./automation"; + interface BaseTraceStep { path: string; timestamp: string; diff --git a/src/data/translation.ts b/src/data/translation.ts index c3b10f4286..6e2e1deecd 100644 --- a/src/data/translation.ts +++ b/src/data/translation.ts @@ -1,4 +1,5 @@ import type { HomeAssistant } from "../types"; + import { fetchFrontendUserData, saveFrontendUserData } from "./frontend"; export enum NumberFormat { diff --git a/src/data/trigger.ts b/src/data/trigger.ts index c6bb2f688a..290a2bd89e 100644 --- a/src/data/trigger.ts +++ b/src/data/trigger.ts @@ -1,3 +1,9 @@ +import type { + AutomationElementGroup, + Trigger, + TriggerList, +} from "./automation"; + import { mdiAvTimer, mdiCalendar, @@ -22,11 +28,6 @@ import { } from "@mdi/js"; import { mdiHomeAssistant } from "../resources/home-assistant-logo-svg"; -import type { - AutomationElementGroup, - Trigger, - TriggerList, -} from "./automation"; export const TRIGGER_ICONS = { calendar: mdiCalendar, diff --git a/src/data/update.ts b/src/data/update.ts index 29f7ecf054..1820cf0db9 100644 --- a/src/data/update.ts +++ b/src/data/update.ts @@ -1,9 +1,12 @@ +import type { HomeAssistant } from "../types"; +import type { EntitySources } from "./entity_sources"; import type { HassEntities, HassEntityAttributeBase, HassEntityBase, HassEvent, } from "home-assistant-js-websocket"; + import { BINARY_STATE_ON } from "../common/const"; import { computeDomain } from "../common/entity/compute_domain"; import { computeStateDomain } from "../common/entity/compute_state_domain"; @@ -11,9 +14,7 @@ import { supportsFeature } from "../common/entity/supports-feature"; import { formatNumber } from "../common/number/format_number"; import { caseInsensitiveStringCompare } from "../common/string/compare"; import { showAlertDialog } from "../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../types"; import { showToast } from "../util/toast"; -import type { EntitySources } from "./entity_sources"; export enum UpdateEntityFeature { INSTALL = 1, diff --git a/src/data/user.ts b/src/data/user.ts index 6b7f6809fd..bbdfe22d58 100644 --- a/src/data/user.ts +++ b/src/data/user.ts @@ -1,11 +1,12 @@ +import type { HomeAssistant, TranslationDict } from "../types"; +import type { Credential } from "./auth"; + import { mdiCrownCircleOutline, mdiAlphaSCircleOutline, mdiHomeCircleOutline, mdiCancel, } from "@mdi/js"; -import type { HomeAssistant, TranslationDict } from "../types"; -import type { Credential } from "./auth"; export const SYSTEM_GROUP_ID_ADMIN = "system-admin"; export const SYSTEM_GROUP_ID_USER = "system-users"; diff --git a/src/data/vacuum.ts b/src/data/vacuum.ts index 75d447379b..7591cc31e3 100644 --- a/src/data/vacuum.ts +++ b/src/data/vacuum.ts @@ -2,6 +2,7 @@ import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; + import { UNAVAILABLE } from "./entity"; export type VacuumEntityState = diff --git a/src/data/valve.ts b/src/data/valve.ts index b7504f8e3d..052bef8fae 100644 --- a/src/data/valve.ts +++ b/src/data/valve.ts @@ -1,10 +1,11 @@ +import type { HomeAssistant } from "../types"; import type { HassEntityAttributeBase, HassEntityBase, } from "home-assistant-js-websocket"; -import { UNAVAILABLE } from "./entity"; + import { stateActive } from "../common/entity/state_active"; -import type { HomeAssistant } from "../types"; +import { UNAVAILABLE } from "./entity"; export const enum ValveEntityFeature { OPEN = 1, diff --git a/src/data/water_heater.ts b/src/data/water_heater.ts index 84dac0a8f4..076a0c6880 100644 --- a/src/data/water_heater.ts +++ b/src/data/water_heater.ts @@ -1,3 +1,8 @@ +import type { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; + import { mdiFinance, mdiFireCircle, @@ -7,10 +12,6 @@ import { mdiPower, mdiRocketLaunch, } from "@mdi/js"; -import type { - HassEntityAttributeBase, - HassEntityBase, -} from "home-assistant-js-websocket"; export const enum WaterHeaterEntityFeature { TARGET_TEMPERATURE = 1, diff --git a/src/data/weather.ts b/src/data/weather.ts index ef5cefeaff..a6bcfa83c0 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -1,3 +1,13 @@ +import type { HomeAssistant } from "../types"; +import type { + HassConfig, + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; +import type { SVGTemplateResult, TemplateResult } from "lit"; + +import "../components/ha-svg-icon"; + import { mdiAlertCircleOutline, mdiGauge, @@ -20,18 +30,11 @@ import { mdiWeatherWindy, mdiWeatherWindyVariant, } from "@mdi/js"; -import type { - HassConfig, - HassEntityAttributeBase, - HassEntityBase, -} from "home-assistant-js-websocket"; -import type { SVGTemplateResult, TemplateResult } from "lit"; import { css, html, svg } from "lit"; import { styleMap } from "lit/directives/style-map"; + import { supportsFeature } from "../common/entity/supports-feature"; import { round } from "../common/number/round"; -import "../components/ha-svg-icon"; -import type { HomeAssistant } from "../types"; export const enum WeatherEntityFeature { FORECAST_DAILY = 1, diff --git a/src/data/ws-area_registry.ts b/src/data/ws-area_registry.ts index 996de71380..db816bfc21 100644 --- a/src/data/ws-area_registry.ts +++ b/src/data/ws-area_registry.ts @@ -1,9 +1,11 @@ +import type { AreaRegistryEntry } from "./area_registry"; import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; + import { stringCompare } from "../common/string/compare"; import { debounce } from "../common/util/debounce"; -import type { AreaRegistryEntry } from "./area_registry"; const fetchAreaRegistry = (conn: Connection) => conn diff --git a/src/data/ws-device_registry.ts b/src/data/ws-device_registry.ts index eeef3a357b..3da7499287 100644 --- a/src/data/ws-device_registry.ts +++ b/src/data/ws-device_registry.ts @@ -1,7 +1,9 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; -import type { Store } from "home-assistant-js-websocket/dist/store"; import type { DeviceRegistryEntry } from "./device_registry"; +import type { Connection } from "home-assistant-js-websocket"; +import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; + import { debounce } from "../common/util/debounce"; export const fetchDeviceRegistry = (conn: Connection) => diff --git a/src/data/ws-entity_registry_display.ts b/src/data/ws-entity_registry_display.ts index 984451a991..3f8ddafa02 100644 --- a/src/data/ws-entity_registry_display.ts +++ b/src/data/ws-entity_registry_display.ts @@ -1,9 +1,11 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; -import type { Store } from "home-assistant-js-websocket/dist/store"; import type { EntityRegistryDisplayEntryResponse } from "./entity_registry"; -import { fetchEntityRegistryDisplay } from "./entity_registry"; +import type { Connection } from "home-assistant-js-websocket"; +import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; + import { debounce } from "../common/util/debounce"; +import { fetchEntityRegistryDisplay } from "./entity_registry"; const subscribeEntityRegistryDisplayUpdates = ( conn: Connection, diff --git a/src/data/ws-floor_registry.ts b/src/data/ws-floor_registry.ts index a46b818f6f..d92b1b9d60 100644 --- a/src/data/ws-floor_registry.ts +++ b/src/data/ws-floor_registry.ts @@ -1,9 +1,11 @@ +import type { FloorRegistryEntry } from "./floor_registry"; import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; import type { Store } from "home-assistant-js-websocket/dist/store"; + +import { createCollection } from "home-assistant-js-websocket"; + import { stringCompare } from "../common/string/compare"; import { debounce } from "../common/util/debounce"; -import type { FloorRegistryEntry } from "./floor_registry"; const fetchFloorRegistry = (conn: Connection) => conn diff --git a/src/data/ws-panels.ts b/src/data/ws-panels.ts index 3086a69f17..a8540d1c0b 100644 --- a/src/data/ws-panels.ts +++ b/src/data/ws-panels.ts @@ -1,6 +1,7 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { createCollection } from "home-assistant-js-websocket"; import type { Panels } from "../types"; +import type { Connection } from "home-assistant-js-websocket"; + +import { createCollection } from "home-assistant-js-websocket"; const fetchPanels = (conn) => conn.sendMessagePromise({ diff --git a/src/data/ws-templates.ts b/src/data/ws-templates.ts index 754ac1e1c6..c0a35a8541 100644 --- a/src/data/ws-templates.ts +++ b/src/data/ws-templates.ts @@ -1,5 +1,5 @@ -import type { Connection, UnsubscribeFunc } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { Connection, UnsubscribeFunc } from "home-assistant-js-websocket"; export interface RenderTemplateResult { result: string; diff --git a/src/data/ws-themes.ts b/src/data/ws-themes.ts index 0c04a2382c..2e0e0a1b05 100644 --- a/src/data/ws-themes.ts +++ b/src/data/ws-themes.ts @@ -1,4 +1,5 @@ import type { Connection } from "home-assistant-js-websocket"; + import { createCollection } from "home-assistant-js-websocket"; export interface ThemeVars { diff --git a/src/data/ws-user.ts b/src/data/ws-user.ts index 60ec28b67a..b54cc0495f 100644 --- a/src/data/ws-user.ts +++ b/src/data/ws-user.ts @@ -1,6 +1,7 @@ -import type { Connection } from "home-assistant-js-websocket"; -import { getCollection, getUser } from "home-assistant-js-websocket"; import type { CurrentUser } from "../types"; +import type { Connection } from "home-assistant-js-websocket"; + +import { getCollection, getUser } from "home-assistant-js-websocket"; export const userCollection = (conn: Connection) => getCollection( diff --git a/src/data/zha.ts b/src/data/zha.ts index c1204582bd..bbb10d732f 100644 --- a/src/data/zha.ts +++ b/src/data/zha.ts @@ -1,6 +1,6 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { HaFormSchema } from "../components/ha-form/types"; import type { HomeAssistant } from "../types"; +import type { HassEntity } from "home-assistant-js-websocket"; export interface ZHAEntityReference extends HassEntity { name: string; diff --git a/src/data/zone.ts b/src/data/zone.ts index ad64b4a0ce..55f54b59d7 100644 --- a/src/data/zone.ts +++ b/src/data/zone.ts @@ -1,6 +1,7 @@ -import { navigate } from "../common/navigate"; import type { HomeAssistant } from "../types"; +import { navigate } from "../common/navigate"; + export interface Zone { id: string; name: string; diff --git a/src/data/zwave_js.ts b/src/data/zwave_js.ts index 99f0866bb9..fdec00272a 100644 --- a/src/data/zwave_js.ts +++ b/src/data/zwave_js.ts @@ -1,5 +1,5 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { HomeAssistant } from "../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; export enum InclusionState { /** The controller isn't doing anything regarding inclusion. */ diff --git a/src/dialogs/config-entry-system-options/dialog-config-entry-system-options.ts b/src/dialogs/config-entry-system-options/dialog-config-entry-system-options.ts index 85f30279d3..48d8914420 100644 --- a/src/dialogs/config-entry-system-options/dialog-config-entry-system-options.ts +++ b/src/dialogs/config-entry-system-options/dialog-config-entry-system-options.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import { createCloseHeading } from "../../components/ha-dialog"; -import "../../components/ha-formfield"; -import "../../components/ha-switch"; import type { HaSwitch } from "../../components/ha-switch"; import type { ConfigEntryMutableParams } from "../../data/config_entries"; +import type { HomeAssistant } from "../../types"; +import type { ConfigEntrySystemOptionsDialogParams } from "./show-dialog-config-entry-system-options"; +import type { CSSResultGroup } from "lit"; + +import "../../components/ha-formfield"; +import "../../components/ha-switch"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { createCloseHeading } from "../../components/ha-dialog"; import { updateConfigEntry } from "../../data/config_entries"; import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; import { showAlertDialog } from "../generic/show-dialog-box"; -import type { ConfigEntrySystemOptionsDialogParams } from "./show-dialog-config-entry-system-options"; @customElement("dialog-config-entry-system-options") class DialogConfigEntrySystemOptions extends LitElement { diff --git a/src/dialogs/config-entry-system-options/show-dialog-config-entry-system-options.ts b/src/dialogs/config-entry-system-options/show-dialog-config-entry-system-options.ts index 59e3a773a2..cab06e5f28 100644 --- a/src/dialogs/config-entry-system-options/show-dialog-config-entry-system-options.ts +++ b/src/dialogs/config-entry-system-options/show-dialog-config-entry-system-options.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { ConfigEntry } from "../../data/config_entries"; import type { IntegrationManifest } from "../../data/integration"; +import { fireEvent } from "../../common/dom/fire_event"; + export interface ConfigEntrySystemOptionsDialogParams { entry: ConfigEntry; manifest?: IntegrationManifest; diff --git a/src/dialogs/config-flow/dialog-data-entry-flow.ts b/src/dialogs/config-flow/dialog-data-entry-flow.ts index 21b032a9d0..52ab73deb2 100644 --- a/src/dialogs/config-flow/dialog-data-entry-flow.ts +++ b/src/dialogs/config-flow/dialog-data-entry-flow.ts @@ -1,23 +1,15 @@ -import "@material/mwc-button"; -import { mdiClose, mdiHelpCircle } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { HASSDomEvent } from "../../common/dom/fire_event"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-dialog"; -import "../../components/ha-icon-button"; import type { DataEntryFlowStep } from "../../data/data_entry_flow"; -import { subscribeDataEntryFlowProgressed } from "../../data/data_entry_flow"; -import { haStyleDialog } from "../../resources/styles"; import type { HomeAssistant } from "../../types"; -import { documentationUrl } from "../../util/documentation-url"; -import { showAlertDialog } from "../generic/show-dialog-box"; import type { DataEntryFlowDialogParams, LoadingReason, } from "./show-dialog-data-entry-flow"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../components/ha-dialog"; +import "../../components/ha-icon-button"; import "./step-flow-abort"; import "./step-flow-create-entry"; import "./step-flow-external"; @@ -25,6 +17,17 @@ import "./step-flow-form"; import "./step-flow-loading"; import "./step-flow-menu"; import "./step-flow-progress"; +import "@material/mwc-button"; + +import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { subscribeDataEntryFlowProgressed } from "../../data/data_entry_flow"; +import { haStyleDialog } from "../../resources/styles"; +import { documentationUrl } from "../../util/documentation-url"; +import { showAlertDialog } from "../generic/show-dialog-box"; let instance = 0; diff --git a/src/dialogs/config-flow/previews/entity-preview-row.ts b/src/dialogs/config-flow/previews/entity-preview-row.ts index 61eac841b1..cf25dee43a 100644 --- a/src/dialogs/config-flow/previews/entity-preview-row.ts +++ b/src/dialogs/config-flow/previews/entity-preview-row.ts @@ -1,10 +1,10 @@ +import type { ImageEntity } from "../../../data/image"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { format } from "date-fns"; -import { computeStateName } from "../../../common/entity/compute_state_name"; + +import "../../../components/entity/ha-entity-toggle"; +import "../../../components/entity/state-badge"; import "../../../components/ha-climate-state"; import "../../../components/ha-cover-controls"; import "../../../components/ha-cover-tilt-controls"; @@ -13,15 +13,18 @@ import "../../../components/ha-humidifier-state"; import "../../../components/ha-select"; import "../../../components/ha-slider"; import "../../../components/ha-time-input"; -import "../../../components/entity/ha-entity-toggle"; -import "../../../components/entity/state-badge"; +import "../../../panels/lovelace/components/hui-timestamp-display"; + +import { format } from "date-fns"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; + +import { computeStateName } from "../../../common/entity/compute_state_name"; import { isTiltOnly } from "../../../data/cover"; import { isUnavailableState } from "../../../data/entity"; -import type { ImageEntity } from "../../../data/image"; import { computeImageUrl } from "../../../data/image"; import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../../../data/sensor"; -import "../../../panels/lovelace/components/hui-timestamp-display"; -import type { HomeAssistant } from "../../../types"; @customElement("entity-preview-row") class EntityPreviewRow extends LitElement { diff --git a/src/dialogs/config-flow/previews/flow-preview-generic.ts b/src/dialogs/config-flow/previews/flow-preview-generic.ts index b04845ecb5..19a4c9561e 100644 --- a/src/dialogs/config-flow/previews/flow-preview-generic.ts +++ b/src/dialogs/config-flow/previews/flow-preview-generic.ts @@ -1,15 +1,18 @@ -import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; -import { LitElement, html } from "lit"; -import type { nothing, TemplateResult } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { FlowType } from "../../../data/data_entry_flow"; import type { GenericPreview } from "../../../data/preview"; -import { subscribePreviewGeneric } from "../../../data/preview"; import type { HomeAssistant } from "../../../types"; -import "./entity-preview-row"; -import { debounce } from "../../../common/util/debounce"; -import { fireEvent } from "../../../common/dom/fire_event"; +import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { nothing, TemplateResult } from "lit"; + import "../../../components/ha-alert"; +import "./entity-preview-row"; + +import { LitElement, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { debounce } from "../../../common/util/debounce"; +import { subscribePreviewGeneric } from "../../../data/preview"; @customElement("flow-preview-generic") export class FlowPreviewGeneric extends LitElement { diff --git a/src/dialogs/config-flow/previews/flow-preview-generic_camera.ts b/src/dialogs/config-flow/previews/flow-preview-generic_camera.ts index befa451df8..80669bc469 100644 --- a/src/dialogs/config-flow/previews/flow-preview-generic_camera.ts +++ b/src/dialogs/config-flow/previews/flow-preview-generic_camera.ts @@ -1,9 +1,11 @@ -import { html, nothing } from "lit"; -import { customElement } from "lit/decorators"; -import { FlowPreviewGeneric } from "./flow-preview-generic"; import "../../../components/ha-hls-player"; import "../../../components/ha-spinner"; +import { html, nothing } from "lit"; +import { customElement } from "lit/decorators"; + +import { FlowPreviewGeneric } from "./flow-preview-generic"; + @customElement("flow-preview-generic_camera") class FlowPreviewGenericCamera extends FlowPreviewGeneric { protected override render() { diff --git a/src/dialogs/config-flow/previews/flow-preview-template.ts b/src/dialogs/config-flow/previews/flow-preview-template.ts index 5697128a3d..30dac6f7b0 100644 --- a/src/dialogs/config-flow/previews/flow-preview-template.ts +++ b/src/dialogs/config-flow/previews/flow-preview-template.ts @@ -1,17 +1,20 @@ -import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { debounce } from "../../../common/util/debounce"; import type { FlowType } from "../../../data/data_entry_flow"; import type { TemplateListeners, TemplatePreview, } from "../../../data/ws-templates"; -import { subscribePreviewTemplate } from "../../../data/ws-templates"; import type { HomeAssistant } from "../../../types"; -import "./entity-preview-row"; -import { fireEvent } from "../../../common/dom/fire_event"; +import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; + import "../../../components/ha-alert"; +import "./entity-preview-row"; + +import { LitElement, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { debounce } from "../../../common/util/debounce"; +import { subscribePreviewTemplate } from "../../../data/ws-templates"; @customElement("flow-preview-template") class FlowPreviewTemplate extends LitElement { diff --git a/src/dialogs/config-flow/show-dialog-config-flow.ts b/src/dialogs/config-flow/show-dialog-config-flow.ts index f94d1687d3..69998b54a5 100644 --- a/src/dialogs/config-flow/show-dialog-config-flow.ts +++ b/src/dialogs/config-flow/show-dialog-config-flow.ts @@ -1,4 +1,7 @@ +import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; + import { html } from "lit"; + import { createConfigFlow, deleteConfigFlow, @@ -6,7 +9,6 @@ import { handleConfigFlowStep, } from "../../data/config_flow"; import { domainToName } from "../../data/integration"; -import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; import { loadDataEntryFlowDialog, showFlowDialog, diff --git a/src/dialogs/config-flow/show-dialog-data-entry-flow.ts b/src/dialogs/config-flow/show-dialog-data-entry-flow.ts index add3a2573c..a8dea2dd65 100644 --- a/src/dialogs/config-flow/show-dialog-data-entry-flow.ts +++ b/src/dialogs/config-flow/show-dialog-data-entry-flow.ts @@ -1,5 +1,3 @@ -import type { TemplateResult } from "lit"; -import { fireEvent } from "../../common/dom/fire_event"; import type { HaFormSchema } from "../../components/ha-form/types"; import type { DataEntryFlowStep, @@ -13,6 +11,9 @@ import type { } from "../../data/data_entry_flow"; import type { IntegrationManifest } from "../../data/integration"; import type { HomeAssistant } from "../../types"; +import type { TemplateResult } from "lit"; + +import { fireEvent } from "../../common/dom/fire_event"; export interface FlowConfig { flowType: FlowType; diff --git a/src/dialogs/config-flow/show-dialog-options-flow.ts b/src/dialogs/config-flow/show-dialog-options-flow.ts index 12919ff2e3..6140e3ad51 100644 --- a/src/dialogs/config-flow/show-dialog-options-flow.ts +++ b/src/dialogs/config-flow/show-dialog-options-flow.ts @@ -1,5 +1,8 @@ -import { html } from "lit"; import type { ConfigEntry } from "../../data/config_entries"; +import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; + +import { html } from "lit"; + import { domainToName } from "../../data/integration"; import { createOptionsFlow, @@ -7,7 +10,6 @@ import { fetchOptionsFlow, handleOptionsFlowStep, } from "../../data/options_flow"; -import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; import { loadDataEntryFlowDialog, showFlowDialog, diff --git a/src/dialogs/config-flow/show-dialog-sub-config-flow.ts b/src/dialogs/config-flow/show-dialog-sub-config-flow.ts index bc886985b2..f089a91607 100644 --- a/src/dialogs/config-flow/show-dialog-sub-config-flow.ts +++ b/src/dialogs/config-flow/show-dialog-sub-config-flow.ts @@ -1,5 +1,8 @@ -import { html } from "lit"; import type { ConfigEntry } from "../../data/config_entries"; +import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; + +import { html } from "lit"; + import { domainToName } from "../../data/integration"; import { createSubConfigFlow, @@ -7,7 +10,6 @@ import { fetchSubConfigFlow, handleSubConfigFlowStep, } from "../../data/sub_config_flow"; -import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; import { loadDataEntryFlowDialog, showFlowDialog, diff --git a/src/dialogs/config-flow/step-flow-abort.ts b/src/dialogs/config-flow/step-flow-abort.ts index c509dca607..0170b48393 100644 --- a/src/dialogs/config-flow/step-flow-abort.ts +++ b/src/dialogs/config-flow/step-flow-abort.ts @@ -1,13 +1,16 @@ -import "@material/mwc-button"; +import type { DataEntryFlowStepAbort } from "../../data/data_entry_flow"; +import type { HomeAssistant } from "../../types"; +import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "@material/mwc-button"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { DataEntryFlowStepAbort } from "../../data/data_entry_flow"; import { showAddApplicationCredentialDialog } from "../../panels/config/application_credentials/show-dialog-add-application-credential"; -import type { HomeAssistant } from "../../types"; import { showConfigFlowDialog } from "./show-dialog-config-flow"; -import type { DataEntryFlowDialogParams } from "./show-dialog-data-entry-flow"; import { configFlowContentStyles } from "./styles"; @customElement("step-flow-abort") diff --git a/src/dialogs/config-flow/step-flow-create-entry.ts b/src/dialogs/config-flow/step-flow-create-entry.ts index db6b147f57..0f9aa05b55 100644 --- a/src/dialogs/config-flow/step-flow-create-entry.ts +++ b/src/dialogs/config-flow/step-flow-create-entry.ts @@ -1,22 +1,25 @@ -import "@material/mwc-button"; +import type { DataEntryFlowStepCreateEntry } from "../../data/data_entry_flow"; +import type { DeviceRegistryEntry } from "../../data/device_registry"; +import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; +import type { HomeAssistant } from "../../types"; +import type { FlowConfig } from "./show-dialog-data-entry-flow"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-area-picker"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; import { computeDeviceNameDisplay } from "../../common/entity/compute_device_name"; import { computeDomain } from "../../common/entity/compute_domain"; import { navigate } from "../../common/navigate"; -import "../../components/ha-area-picker"; import { assistSatelliteSupportsSetupFlow } from "../../data/assist_satellite"; -import type { DataEntryFlowStepCreateEntry } from "../../data/data_entry_flow"; -import type { DeviceRegistryEntry } from "../../data/device_registry"; import { updateDeviceRegistryEntry } from "../../data/device_registry"; -import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; -import type { HomeAssistant } from "../../types"; import { showAlertDialog } from "../generic/show-dialog-box"; import { showVoiceAssistantSetupDialog } from "../voice-assistant-setup/show-voice-assistant-setup-dialog"; -import type { FlowConfig } from "./show-dialog-data-entry-flow"; import { configFlowContentStyles } from "./styles"; @customElement("step-flow-create-entry") diff --git a/src/dialogs/config-flow/step-flow-external.ts b/src/dialogs/config-flow/step-flow-external.ts index 4e3b10512c..f41ec1cc6c 100644 --- a/src/dialogs/config-flow/step-flow-external.ts +++ b/src/dialogs/config-flow/step-flow-external.ts @@ -1,10 +1,13 @@ -import "@material/mwc-button"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { DataEntryFlowStepExternal } from "../../data/data_entry_flow"; import type { HomeAssistant } from "../../types"; import type { FlowConfig } from "./show-dialog-data-entry-flow"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { configFlowContentStyles } from "./styles"; @customElement("step-flow-external") diff --git a/src/dialogs/config-flow/step-flow-form.ts b/src/dialogs/config-flow/step-flow-form.ts index a36f4a7152..fa16912399 100644 --- a/src/dialogs/config-flow/step-flow-form.ts +++ b/src/dialogs/config-flow/step-flow-form.ts @@ -1,23 +1,26 @@ -import "@material/mwc-button"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { dynamicElement } from "../../common/dom/dynamic-element-directive"; -import { fireEvent } from "../../common/dom/fire_event"; -import { isNavigationClick } from "../../common/dom/is-navigation-click"; -import "../../components/ha-alert"; -import "../../components/ha-spinner"; -import { computeInitialHaFormData } from "../../components/ha-form/compute-initial-ha-form-data"; -import "../../components/ha-form/ha-form"; import type { HaFormSchema } from "../../components/ha-form/types"; -import "../../components/ha-markdown"; -import { autocompleteLoginFields } from "../../data/auth"; import type { DataEntryFlowStepForm } from "../../data/data_entry_flow"; import type { HomeAssistant } from "../../types"; import type { FlowConfig } from "./show-dialog-data-entry-flow"; -import { configFlowContentStyles } from "./styles"; -import { haStyle } from "../../resources/styles"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-alert"; +import "../../components/ha-form/ha-form"; +import "../../components/ha-markdown"; +import "../../components/ha-spinner"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { dynamicElement } from "../../common/dom/dynamic-element-directive"; +import { fireEvent } from "../../common/dom/fire_event"; +import { isNavigationClick } from "../../common/dom/is-navigation-click"; +import { computeInitialHaFormData } from "../../components/ha-form/compute-initial-ha-form-data"; +import { autocompleteLoginFields } from "../../data/auth"; import { previewModule } from "../../data/preview"; +import { haStyle } from "../../resources/styles"; +import { configFlowContentStyles } from "./styles"; @customElement("step-flow-form") class StepFlowForm extends LitElement { diff --git a/src/dialogs/config-flow/step-flow-loading.ts b/src/dialogs/config-flow/step-flow-loading.ts index 99d2b05a47..00ec300c87 100644 --- a/src/dialogs/config-flow/step-flow-loading.ts +++ b/src/dialogs/config-flow/step-flow-loading.ts @@ -1,10 +1,12 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../components/ha-spinner"; import type { DataEntryFlowStep } from "../../data/data_entry_flow"; import type { HomeAssistant } from "../../types"; import type { FlowConfig, LoadingReason } from "./show-dialog-data-entry-flow"; +import type { TemplateResult } from "lit"; + +import "../../components/ha-spinner"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("step-flow-loading") class StepFlowLoading extends LitElement { diff --git a/src/dialogs/config-flow/step-flow-menu.ts b/src/dialogs/config-flow/step-flow-menu.ts index 83ecd2d5d0..23246c9fe4 100644 --- a/src/dialogs/config-flow/step-flow-menu.ts +++ b/src/dialogs/config-flow/step-flow-menu.ts @@ -1,13 +1,16 @@ -import "@material/mwc-list/mwc-list-item"; -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { DataEntryFlowStepMenu } from "../../data/data_entry_flow"; import type { HomeAssistant } from "../../types"; import type { FlowConfig } from "./show-dialog-data-entry-flow"; +import type { TemplateResult } from "lit"; + import "../../components/ha-icon-next"; -import { configFlowContentStyles } from "./styles"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; +import { configFlowContentStyles } from "./styles"; @customElement("step-flow-menu") class StepFlowMenu extends LitElement { diff --git a/src/dialogs/config-flow/step-flow-progress.ts b/src/dialogs/config-flow/step-flow-progress.ts index 0968478bd0..8a10fe9e8d 100644 --- a/src/dialogs/config-flow/step-flow-progress.ts +++ b/src/dialogs/config-flow/step-flow-progress.ts @@ -1,11 +1,14 @@ -import "@material/mwc-button"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../components/ha-spinner"; import type { DataEntryFlowStepProgress } from "../../data/data_entry_flow"; import type { HomeAssistant } from "../../types"; import type { FlowConfig } from "./show-dialog-data-entry-flow"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../components/ha-spinner"; +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { configFlowContentStyles } from "./styles"; @customElement("step-flow-progress") diff --git a/src/dialogs/enter-code/dialog-enter-code.ts b/src/dialogs/enter-code/dialog-enter-code.ts index 933567705e..c5540980cb 100644 --- a/src/dialogs/enter-code/dialog-enter-code.ts +++ b/src/dialogs/enter-code/dialog-enter-code.ts @@ -1,17 +1,20 @@ -import { mdiCheck, mdiClose } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-button"; -import "../../components/ha-control-button"; -import { createCloseHeading } from "../../components/ha-dialog"; -import "../../components/ha-textfield"; import type { HaTextField } from "../../components/ha-textfield"; import type { HomeAssistant } from "../../types"; import type { HassDialog } from "../make-dialog-manager"; import type { EnterCodeDialogParams } from "./show-enter-code-dialog"; +import "../../components/ha-button"; +import "../../components/ha-control-button"; +import "../../components/ha-textfield"; + +import { mdiCheck, mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { createCloseHeading } from "../../components/ha-dialog"; + const BUTTONS = [ "1", "2", diff --git a/src/dialogs/generic/dialog-box.ts b/src/dialogs/generic/dialog-box.ts index 0b8b463664..7596c5ef79 100644 --- a/src/dialogs/generic/dialog-box.ts +++ b/src/dialogs/generic/dialog-box.ts @@ -1,17 +1,20 @@ +import type { HaMdDialog } from "../../components/ha-md-dialog"; +import type { HaTextField } from "../../components/ha-textfield"; +import type { HomeAssistant } from "../../types"; +import type { DialogBoxParams } from "./show-dialog-box"; + +import "../../components/ha-button"; +import "../../components/ha-dialog-header"; +import "../../components/ha-md-dialog"; +import "../../components/ha-svg-icon"; +import "../../components/ha-textfield"; + import { mdiAlertOutline } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; + import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../components/ha-md-dialog"; -import "../../components/ha-dialog-header"; -import "../../components/ha-svg-icon"; -import "../../components/ha-button"; -import "../../components/ha-textfield"; -import type { HaTextField } from "../../components/ha-textfield"; -import type { HomeAssistant } from "../../types"; -import type { DialogBoxParams } from "./show-dialog-box"; @customElement("dialog-box") class DialogBox extends LitElement { diff --git a/src/dialogs/generic/show-dialog-box.ts b/src/dialogs/generic/show-dialog-box.ts index ff161d9ece..06febc69a9 100644 --- a/src/dialogs/generic/show-dialog-box.ts +++ b/src/dialogs/generic/show-dialog-box.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { fireEvent } from "../../common/dom/fire_event"; interface BaseDialogBoxParams { diff --git a/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts b/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts index 57d6717cf0..3f74323624 100644 --- a/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts +++ b/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts @@ -1,15 +1,19 @@ -import "@material/mwc-button/mwc-button"; -import Cropper from "cropperjs"; +import type { HomeAssistant } from "../../types"; +import type { HaImageCropperDialogParams } from "./show-image-cropper-dialog"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + // @ts-ignore import cropperCss from "cropperjs/dist/cropper.css"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-dialog"; +import "@material/mwc-button/mwc-button"; + +import Cropper from "cropperjs"; import { css, html, nothing, LitElement, unsafeCSS } from "lit"; import { customElement, property, state, query } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import "../../components/ha-dialog"; + import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import type { HaImageCropperDialogParams } from "./show-image-cropper-dialog"; @customElement("image-cropper-dialog") export class HaImagecropperDialog extends LitElement { diff --git a/src/dialogs/make-dialog-manager.ts b/src/dialogs/make-dialog-manager.ts index 792fc4caa7..9da06cb5b9 100644 --- a/src/dialogs/make-dialog-manager.ts +++ b/src/dialogs/make-dialog-manager.ts @@ -1,8 +1,9 @@ import type { HASSDomEvent, ValidHassDomEvent } from "../common/dom/fire_event"; -import { mainWindow } from "../common/dom/get_main_window"; import type { ProvideHassElement } from "../mixins/provide-hass-lit-mixin"; + import { ancestorsWithProperty } from "../common/dom/ancestors-with-property"; import { deepActiveElement } from "../common/dom/deep-active-element"; +import { mainWindow } from "../common/dom/get_main_window"; import { nextRender } from "../common/util/render-status"; declare global { diff --git a/src/dialogs/more-info/components/ha-more-info-control-select-container.ts b/src/dialogs/more-info/components/ha-more-info-control-select-container.ts index e25e3404a6..cb044cefa8 100644 --- a/src/dialogs/more-info/components/ha-more-info-control-select-container.ts +++ b/src/dialogs/more-info/components/ha-more-info-control-select-container.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; diff --git a/src/dialogs/more-info/components/ha-more-info-state-header.ts b/src/dialogs/more-info/components/ha-more-info-state-header.ts index e166517bab..70f8c7a435 100644 --- a/src/dialogs/more-info/components/ha-more-info-state-header.ts +++ b/src/dialogs/more-info/components/ha-more-info-state-header.ts @@ -1,13 +1,16 @@ +import type { LightEntity } from "../../../data/light"; +import type { HomeAssistant } from "../../../types"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../../../components/ha-absolute-time"; import "../../../components/ha-relative-time"; -import { isUnavailableState } from "../../../data/entity"; -import type { LightEntity } from "../../../data/light"; -import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../../../data/sensor"; import "../../../panels/lovelace/components/hui-timestamp-display"; -import type { HomeAssistant } from "../../../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isUnavailableState } from "../../../data/entity"; +import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../../../data/sensor"; @customElement("ha-more-info-state-header") export class HaMoreInfoStateHeader extends LitElement { diff --git a/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts b/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts index 77879f12b1..708d189b80 100644 --- a/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts +++ b/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts @@ -1,29 +1,32 @@ -import { mdiClose } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { EntityRegistryEntry } from "../../../../data/entity_registry"; +import type { LightColor, LightEntity } from "../../../../data/light"; +import type { HomeAssistant } from "../../../../types"; +import type { LightColorFavoriteDialogParams } from "./show-dialog-light-color-favorite"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-dialog-header"; +import "../../../../components/ha-icon-button-toggle"; +import "./light-color-rgb-picker"; +import "./light-color-temp-picker"; + +import { mdiClose } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state, query } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-button"; import { getMobileOpenFromBottomAnimation, getMobileCloseToBottomAnimation, } from "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; -import "../../../../components/ha-dialog-header"; -import "../../../../components/ha-icon-button-toggle"; -import type { EntityRegistryEntry } from "../../../../data/entity_registry"; -import type { LightColor, LightEntity } from "../../../../data/light"; import { LightColorMode, lightSupportsColor, lightSupportsColorMode, } from "../../../../data/light"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "./light-color-rgb-picker"; -import "./light-color-temp-picker"; -import type { LightColorFavoriteDialogParams } from "./show-dialog-light-color-favorite"; export type LightPickerMode = "color_temp" | "color"; diff --git a/src/dialogs/more-info/components/lights/ha-favorite-color-button.ts b/src/dialogs/more-info/components/lights/ha-favorite-color-button.ts index d8bf1be0f1..a0b5ae325b 100644 --- a/src/dialogs/more-info/components/lights/ha-favorite-color-button.ts +++ b/src/dialogs/more-info/components/lights/ha-favorite-color-button.ts @@ -1,8 +1,15 @@ +import type { HaOutlinedIconButton } from "../../../../components/ha-outlined-icon-button"; +import type { LightColor, LightEntity } from "../../../../data/light"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-outlined-icon-button"; +import "../../../../components/ha-svg-icon"; + import { css, html, LitElement } from "lit"; import { customElement, property, query } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; + import { hs2rgb, rgb2hex } from "../../../../common/color/convert-color"; import { rgbw2rgb, @@ -10,10 +17,6 @@ import { temperature2rgb, } from "../../../../common/color/convert-light-color"; import { luminosity } from "../../../../common/color/rgb"; -import type { HaOutlinedIconButton } from "../../../../components/ha-outlined-icon-button"; -import "../../../../components/ha-outlined-icon-button"; -import "../../../../components/ha-svg-icon"; -import type { LightColor, LightEntity } from "../../../../data/light"; @customElement("ha-favorite-color-button") class MoreInfoViewLightColorPicker extends LitElement { diff --git a/src/dialogs/more-info/components/lights/ha-more-info-light-favorite-colors.ts b/src/dialogs/more-info/components/lights/ha-more-info-light-favorite-colors.ts index 6c070539d4..c4763927f7 100644 --- a/src/dialogs/more-info/components/lights/ha-more-info-light-favorite-colors.ts +++ b/src/dialogs/more-info/components/lights/ha-more-info-light-favorite-colors.ts @@ -1,20 +1,23 @@ -import { mdiCheck, mdiMinus, mdiPlus } from "@mdi/js"; +import type { ExtEntityRegistryEntry } from "../../../../data/entity_registry"; +import type { LightColor, LightEntity } from "../../../../data/light"; +import type { HomeAssistant } from "../../../../types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../../components/ha-control-slider"; +import "../../../../components/ha-sortable"; +import "./ha-favorite-color-button"; + +import { mdiCheck, mdiMinus, mdiPlus } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-control-slider"; -import "../../../../components/ha-sortable"; import { UNAVAILABLE } from "../../../../data/entity"; -import type { ExtEntityRegistryEntry } from "../../../../data/entity_registry"; import { updateEntityRegistryEntry } from "../../../../data/entity_registry"; -import type { LightColor, LightEntity } from "../../../../data/light"; import { computeDefaultFavoriteColors } from "../../../../data/light"; import { actionHandler } from "../../../../panels/lovelace/common/directives/action-handler-directive"; -import type { HomeAssistant } from "../../../../types"; import { showConfirmationDialog } from "../../../generic/show-dialog-box"; -import "./ha-favorite-color-button"; import { showLightColorFavoriteDialog } from "./show-dialog-light-color-favorite"; declare global { diff --git a/src/dialogs/more-info/components/lights/light-color-rgb-picker.ts b/src/dialogs/more-info/components/lights/light-color-rgb-picker.ts index 1cceea263b..67220deaa0 100644 --- a/src/dialogs/more-info/components/lights/light-color-rgb-picker.ts +++ b/src/dialogs/more-info/components/lights/light-color-rgb-picker.ts @@ -1,8 +1,17 @@ -import "@material/mwc-button"; -import { mdiEyedropper } from "@mdi/js"; +import type { LightColor, LightEntity } from "../../../../data/light"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-hs-color-picker"; +import "../../../../components/ha-icon"; +import "../../../../components/ha-icon-button-prev"; +import "../../../../components/ha-labeled-slider"; +import "@material/mwc-button"; + +import { mdiEyedropper } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { hex2rgb, hs2rgb, @@ -13,17 +22,11 @@ import { } from "../../../../common/color/convert-color"; import { fireEvent } from "../../../../common/dom/fire_event"; import { throttle } from "../../../../common/util/throttle"; -import "../../../../components/ha-hs-color-picker"; -import "../../../../components/ha-icon"; -import "../../../../components/ha-icon-button-prev"; -import "../../../../components/ha-labeled-slider"; -import type { LightColor, LightEntity } from "../../../../data/light"; import { getLightCurrentModeRgbColor, LightColorMode, lightSupportsColorMode, } from "../../../../data/light"; -import type { HomeAssistant } from "../../../../types"; declare global { interface HASSDomEvents { diff --git a/src/dialogs/more-info/components/lights/light-color-temp-picker.ts b/src/dialogs/more-info/components/lights/light-color-temp-picker.ts index 2f3480646d..cbeb6719bd 100644 --- a/src/dialogs/more-info/components/lights/light-color-temp-picker.ts +++ b/src/dialogs/more-info/components/lights/light-color-temp-picker.ts @@ -1,8 +1,14 @@ +import type { LightColor, LightEntity } from "../../../../data/light"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-control-slider"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { rgb2hex } from "../../../../common/color/convert-color"; import { DEFAULT_MAX_KELVIN, @@ -12,12 +18,9 @@ import { import { fireEvent } from "../../../../common/dom/fire_event"; import { stateColorCss } from "../../../../common/entity/state_color"; import { throttle } from "../../../../common/util/throttle"; -import "../../../../components/ha-control-slider"; import { UNAVAILABLE } from "../../../../data/entity"; -import type { LightColor, LightEntity } from "../../../../data/light"; -import { LightColorMode } from "../../../../data/light"; -import type { HomeAssistant } from "../../../../types"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../../../data/entity_attributes"; +import { LightColorMode } from "../../../../data/light"; declare global { interface HASSDomEvents { diff --git a/src/dialogs/more-info/components/lights/show-dialog-light-color-favorite.ts b/src/dialogs/more-info/components/lights/show-dialog-light-color-favorite.ts index 5377b085ea..0c91356695 100644 --- a/src/dialogs/more-info/components/lights/show-dialog-light-color-favorite.ts +++ b/src/dialogs/more-info/components/lights/show-dialog-light-color-favorite.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { ExtEntityRegistryEntry } from "../../../../data/entity_registry"; import type { LightColor } from "../../../../data/light"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface LightColorFavoriteDialogParams { entry: ExtEntityRegistryEntry; title: string; diff --git a/src/dialogs/more-info/components/siren/ha-more-info-siren-advanced-controls.ts b/src/dialogs/more-info/components/siren/ha-more-info-siren-advanced-controls.ts index 4f6b3719b0..37961e154a 100644 --- a/src/dialogs/more-info/components/siren/ha-more-info-siren-advanced-controls.ts +++ b/src/dialogs/more-info/components/siren/ha-more-info-siren-advanced-controls.ts @@ -1,24 +1,27 @@ +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HomeAssistant } from "../../../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-control-button"; +import "../../../../components/ha-dialog-header"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-list-item"; +import "../../../../components/ha-select"; +import "../../../../components/ha-textfield"; + +import { mdiClose, mdiPlay, mdiStop } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; -import type { HassEntity } from "home-assistant-js-websocket"; -import { mdiClose, mdiPlay, mdiStop } from "@mdi/js"; -import type { HomeAssistant } from "../../../../types"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; +import { supportsFeature } from "../../../../common/entity/supports-feature"; import { getMobileCloseToBottomAnimation, getMobileOpenFromBottomAnimation, } from "../../../../components/ha-md-dialog"; -import "../../../../components/ha-dialog-header"; -import "../../../../components/ha-icon-button"; -import "../../../../components/ha-button"; -import "../../../../components/ha-textfield"; -import "../../../../components/ha-control-button"; -import "../../../../components/ha-select"; -import "../../../../components/ha-list-item"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { supportsFeature } from "../../../../common/entity/supports-feature"; import { SirenEntityFeature } from "../../../../data/siren"; import { haStyle } from "../../../../resources/styles"; diff --git a/src/dialogs/more-info/components/siren/show-dialog-siren-advanced-controls.ts b/src/dialogs/more-info/components/siren/show-dialog-siren-advanced-controls.ts index 4913ebd012..8b2b2f1ad8 100644 --- a/src/dialogs/more-info/components/siren/show-dialog-siren-advanced-controls.ts +++ b/src/dialogs/more-info/components/siren/show-dialog-siren-advanced-controls.ts @@ -1,4 +1,5 @@ import type { HassEntity } from "home-assistant-js-websocket"; + import { fireEvent } from "../../../../common/dom/fire_event"; export const loadSirenAdvancedControlsView = () => diff --git a/src/dialogs/more-info/components/voice/ha-more-info-view-voice-assistants.ts b/src/dialogs/more-info/components/voice/ha-more-info-view-voice-assistants.ts index 6e289f6af5..a5e8eb432b 100644 --- a/src/dialogs/more-info/components/voice/ha-more-info-view-voice-assistants.ts +++ b/src/dialogs/more-info/components/voice/ha-more-info-view-voice-assistants.ts @@ -1,12 +1,15 @@ +import type { ExtEntityRegistryEntry } from "../../../../data/entity_registry"; +import type { ExposeEntitySettings } from "../../../../data/expose"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../panels/config/voice-assistants/entity-voice-settings"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; -import type { ExtEntityRegistryEntry } from "../../../../data/entity_registry"; -import type { ExposeEntitySettings } from "../../../../data/expose"; + import { voiceAssistants } from "../../../../data/expose"; -import "../../../../panels/config/voice-assistants/entity-voice-settings"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-more-info-view-voice-assistants") class MoreInfoViewVoiceAssistants extends LitElement { diff --git a/src/dialogs/more-info/const.ts b/src/dialogs/more-info/const.ts index b0795eb538..46d2d89d4c 100644 --- a/src/dialogs/more-info/const.ts +++ b/src/dialogs/more-info/const.ts @@ -1,11 +1,12 @@ +import type { GroupEntity } from "../../data/group"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { computeDomain } from "../../common/entity/compute_domain"; -import type { GroupEntity } from "../../data/group"; import { computeGroupDomain } from "../../data/group"; -import { CONTINUOUS_DOMAINS } from "../../data/logbook"; -import type { HomeAssistant } from "../../types"; import { isNumericEntity } from "../../data/history"; +import { CONTINUOUS_DOMAINS } from "../../data/logbook"; export const DOMAINS_NO_INFO = ["camera", "configurator"]; /** diff --git a/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts b/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts index 6720a5aede..d9e8e0b307 100644 --- a/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts +++ b/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts @@ -1,15 +1,18 @@ +import type { AlarmControlPanelEntity } from "../../../data/alarm_control_panel"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-state-icon"; +import "../../../state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes"; +import "../components/ha-more-info-state-header"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-control-button"; -import "../../../components/ha-state-icon"; -import type { AlarmControlPanelEntity } from "../../../data/alarm_control_panel"; import { setProtectedAlarmControlPanelMode } from "../../../data/alarm_control_panel"; -import "../../../state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-state-header"; import { moreInfoControlStyle } from "../components/more-info-control-style"; @customElement("more-info-alarm_control_panel") diff --git a/src/dialogs/more-info/controls/more-info-automation.ts b/src/dialogs/more-info/controls/more-info-automation.ts index 0f554e2fd9..cb1aa284a0 100644 --- a/src/dialogs/more-info/controls/more-info-automation.ts +++ b/src/dialogs/more-info/controls/more-info-automation.ts @@ -1,11 +1,14 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-relative-time"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-relative-time"; + import { triggerAutomationActions } from "../../../data/automation"; import { isUnavailableState } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-automation") class MoreInfoAutomation extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-camera.ts b/src/dialogs/more-info/controls/more-info-camera.ts index e45fe3a633..7a6e26bd61 100644 --- a/src/dialogs/more-info/controls/more-info-camera.ts +++ b/src/dialogs/more-info/controls/more-info-camera.ts @@ -1,13 +1,16 @@ -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import "../../../components/ha-camera-stream"; import type { CameraEntity } from "../../../data/camera"; import type { HomeAssistant } from "../../../types"; + import "../../../components/buttons/ha-progress-button"; +import "../../../components/ha-camera-stream"; + +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { slugify } from "../../../common/string/slugify"; import { UNAVAILABLE } from "../../../data/entity"; import { fileDownload } from "../../../util/file_download"; import { showToast } from "../../../util/toast"; -import { slugify } from "../../../common/string/slugify"; class MoreInfoCamera extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/dialogs/more-info/controls/more-info-climate.ts b/src/dialogs/more-info/controls/more-info-climate.ts index 28f1c24554..030c7118e8 100644 --- a/src/dialogs/more-info/controls/more-info-climate.ts +++ b/src/dialogs/more-info/controls/more-info-climate.ts @@ -1,16 +1,7 @@ -import "@material/mwc-list/mwc-list-item"; -import { - mdiArrowOscillating, - mdiFan, - mdiThermometer, - mdiTuneVariant, - mdiWaterPercent, -} from "@mdi/js"; +import type { ClimateEntity } from "../../../data/climate"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { supportsFeature } from "../../../common/entity/supports-feature"; + import "../../../components/ha-attribute-icon"; import "../../../components/ha-control-select-menu"; import "../../../components/ha-icon-button-group"; @@ -18,17 +9,29 @@ import "../../../components/ha-icon-button-toggle"; import "../../../components/ha-list-item"; import "../../../components/ha-select"; import "../../../components/ha-switch"; -import type { ClimateEntity } from "../../../data/climate"; +import "../../../state-control/climate/ha-state-control-climate-humidity"; +import "../../../state-control/climate/ha-state-control-climate-temperature"; +import "../components/ha-more-info-control-select-container"; +import "@material/mwc-list/mwc-list-item"; + +import { + mdiArrowOscillating, + mdiFan, + mdiThermometer, + mdiTuneVariant, + mdiWaterPercent, +} from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { supportsFeature } from "../../../common/entity/supports-feature"; import { ClimateEntityFeature, climateHvacModeIcon, compareClimateHvacModes, } from "../../../data/climate"; import { UNAVAILABLE } from "../../../data/entity"; -import "../../../state-control/climate/ha-state-control-climate-humidity"; -import "../../../state-control/climate/ha-state-control-climate-temperature"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-control-select-container"; import { moreInfoControlStyle } from "../components/more-info-control-style"; type MainControl = "temperature" | "humidity"; diff --git a/src/dialogs/more-info/controls/more-info-configurator.ts b/src/dialogs/more-info/controls/more-info-configurator.ts index d32e90f112..80a145ae49 100644 --- a/src/dialogs/more-info/controls/more-info-configurator.ts +++ b/src/dialogs/more-info/controls/more-info-configurator.ts @@ -1,12 +1,14 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-alert"; +import "../../../components/ha-markdown"; +import "../../../components/ha-spinner"; +import "../../../components/ha-textfield"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-alert"; -import "../../../components/ha-spinner"; -import "../../../components/ha-markdown"; -import "../../../components/ha-textfield"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-configurator") export class MoreInfoConfigurator extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-conversation.ts b/src/dialogs/more-info/controls/more-info-conversation.ts index 595909dd97..5b6d35257f 100644 --- a/src/dialogs/more-info/controls/more-info-conversation.ts +++ b/src/dialogs/more-info/controls/more-info-conversation.ts @@ -1,13 +1,16 @@ +import type { AssistPipeline } from "../../../data/assist_pipeline"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-assist-chat"; +import "../../../components/ha-attributes"; +import "../../../components/ha-spinner"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-attributes"; -import type { HomeAssistant } from "../../../types"; -import "../../../components/ha-assist-chat"; -import "../../../components/ha-spinner"; -import "../../../components/ha-alert"; -import type { AssistPipeline } from "../../../data/assist_pipeline"; + import { getAssistPipeline } from "../../../data/assist_pipeline"; @customElement("more-info-conversation") diff --git a/src/dialogs/more-info/controls/more-info-counter.ts b/src/dialogs/more-info/controls/more-info-counter.ts index 2eb4a9763f..83b336aa91 100644 --- a/src/dialogs/more-info/controls/more-info-counter.ts +++ b/src/dialogs/more-info/controls/more-info-counter.ts @@ -1,9 +1,12 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { isUnavailableState } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-counter") class MoreInfoCounter extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-cover.ts b/src/dialogs/more-info/controls/more-info-cover.ts index 166d5367a6..b42b3ef4cb 100644 --- a/src/dialogs/more-info/controls/more-info-cover.ts +++ b/src/dialogs/more-info/controls/more-info-cover.ts @@ -1,22 +1,25 @@ -import { mdiMenu, mdiSwapVertical } from "@mdi/js"; +import type { CoverEntity } from "../../../data/cover"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { supportsFeature } from "../../../common/entity/supports-feature"; + import "../../../components/ha-attributes"; import "../../../components/ha-icon-button-group"; import "../../../components/ha-icon-button-toggle"; -import type { CoverEntity } from "../../../data/cover"; -import { - CoverEntityFeature, - computeCoverPositionStateDisplay, -} from "../../../data/cover"; import "../../../state-control/cover/ha-state-control-cover-buttons"; import "../../../state-control/cover/ha-state-control-cover-position"; import "../../../state-control/cover/ha-state-control-cover-tilt-position"; import "../../../state-control/cover/ha-state-control-cover-toggle"; -import type { HomeAssistant } from "../../../types"; import "../components/ha-more-info-state-header"; + +import { mdiMenu, mdiSwapVertical } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { supportsFeature } from "../../../common/entity/supports-feature"; +import { + CoverEntityFeature, + computeCoverPositionStateDisplay, +} from "../../../data/cover"; import { moreInfoControlStyle } from "../components/more-info-control-style"; type Mode = "position" | "button"; diff --git a/src/dialogs/more-info/controls/more-info-date.ts b/src/dialogs/more-info/controls/more-info-date.ts index 590abce941..0ad011e111 100644 --- a/src/dialogs/more-info/controls/more-info-date.ts +++ b/src/dialogs/more-info/controls/more-info-date.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-date-input"; import "../../../components/ha-time-input"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { setDateValue } from "../../../data/date"; import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-date") class MoreInfoDate extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-datetime.ts b/src/dialogs/more-info/controls/more-info-datetime.ts index 4be1a2f756..8982af8f83 100644 --- a/src/dialogs/more-info/controls/more-info-datetime.ts +++ b/src/dialogs/more-info/controls/more-info-datetime.ts @@ -1,12 +1,15 @@ -import { format } from "date-fns"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-date-input"; import "../../../components/ha-time-input"; + +import { format } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { setDateTimeValue } from "../../../data/datetime"; import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-datetime") class MoreInfoDatetime extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-default.ts b/src/dialogs/more-info/controls/more-info-default.ts index b013e30ba3..2093c24fdf 100644 --- a/src/dialogs/more-info/controls/more-info-default.ts +++ b/src/dialogs/more-info/controls/more-info-default.ts @@ -1,8 +1,10 @@ +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-attributes"; + import { html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-attributes"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-default") class MoreInfoDefault extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-fan.ts b/src/dialogs/more-info/controls/more-info-fan.ts index 47b1d873b4..86019a6710 100644 --- a/src/dialogs/more-info/controls/more-info-fan.ts +++ b/src/dialogs/more-info/controls/more-info-fan.ts @@ -1,3 +1,16 @@ +import type { FanEntity } from "../../../data/fan"; +import type { HomeAssistant } from "../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-control-select-menu"; +import "../../../components/ha-list-item"; +import "../../../components/ha-outlined-icon-button"; +import "../../../state-control/fan/ha-state-control-fan-speed"; +import "../../../state-control/ha-state-control-toggle"; +import "../components/ha-more-info-control-select-container"; +import "../components/ha-more-info-state-header"; + import { mdiArrowOscillating, mdiArrowOscillatingOff, @@ -6,18 +19,13 @@ import { mdiPower, mdiTuneVariant, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { stateActive } from "../../../common/entity/state_active"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-control-select-menu"; -import "../../../components/ha-list-item"; -import "../../../components/ha-outlined-icon-button"; import { UNAVAILABLE } from "../../../data/entity"; -import type { FanEntity } from "../../../data/fan"; import { FAN_SPEED_COUNT_MAX_FOR_BUTTONS, FanEntityFeature, @@ -25,11 +33,6 @@ import { computeFanSpeedStateDisplay, } from "../../../data/fan"; import { forwardHaptic } from "../../../data/haptics"; -import "../../../state-control/fan/ha-state-control-fan-speed"; -import "../../../state-control/ha-state-control-toggle"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-control-select-container"; -import "../components/ha-more-info-state-header"; import { moreInfoControlStyle } from "../components/more-info-control-style"; @customElement("more-info-fan") diff --git a/src/dialogs/more-info/controls/more-info-group.ts b/src/dialogs/more-info/controls/more-info-group.ts index 0a4cf2f3ab..c536f863dc 100644 --- a/src/dialogs/more-info/controls/more-info-group.ts +++ b/src/dialogs/more-info/controls/more-info-group.ts @@ -1,12 +1,15 @@ +import type { GroupEntity } from "../../../data/group"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../state-summary/state-card-content"; + import { LitElement, css, html, nothing } from "lit"; import { property, state } from "lit/decorators"; + import { dynamicElement } from "../../../common/dom/dynamic-element-directive"; -import type { GroupEntity } from "../../../data/group"; import { computeGroupDomain } from "../../../data/group"; -import "../../../state-summary/state-card-content"; -import type { HomeAssistant } from "../../../types"; import { moreInfoControlStyle } from "../components/more-info-control-style"; import { domainMoreInfoType, diff --git a/src/dialogs/more-info/controls/more-info-humidifier.ts b/src/dialogs/more-info/controls/more-info-humidifier.ts index 77f5556413..ef3eb0e2fe 100644 --- a/src/dialogs/more-info/controls/more-info-humidifier.ts +++ b/src/dialogs/more-info/controls/more-info-humidifier.ts @@ -1,18 +1,21 @@ -import { mdiPower, mdiTuneVariant } from "@mdi/js"; +import type { HumidifierEntity } from "../../../data/humidifier"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { supportsFeature } from "../../../common/entity/supports-feature"; + +import "../../../components/ha-attribute-icon"; import "../../../components/ha-control-select-menu"; import "../../../components/ha-list-item"; -import "../../../components/ha-attribute-icon"; -import { UNAVAILABLE } from "../../../data/entity"; -import type { HumidifierEntity } from "../../../data/humidifier"; -import { HumidifierEntityFeature } from "../../../data/humidifier"; import "../../../state-control/humidifier/ha-state-control-humidifier-humidity"; -import type { HomeAssistant } from "../../../types"; import "../components/ha-more-info-control-select-container"; + +import { mdiPower, mdiTuneVariant } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import { UNAVAILABLE } from "../../../data/entity"; +import { HumidifierEntityFeature } from "../../../data/humidifier"; import { moreInfoControlStyle } from "../components/more-info-control-style"; class MoreInfoHumidifier extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-image.ts b/src/dialogs/more-info/controls/more-info-image.ts index a3f3aef1b9..a5e956d7c5 100644 --- a/src/dialogs/more-info/controls/more-info-image.ts +++ b/src/dialogs/more-info/controls/more-info-image.ts @@ -1,9 +1,12 @@ +import type { ImageEntity } from "../../../data/image"; +import type { HomeAssistant } from "../../../types"; + +import "../../../components/ha-camera-stream"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-camera-stream"; -import type { ImageEntity } from "../../../data/image"; + import { computeImageUrl } from "../../../data/image"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-image") class MoreInfoImage extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-input_boolean.ts b/src/dialogs/more-info/controls/more-info-input_boolean.ts index 9decbd55c2..ff36818f7f 100644 --- a/src/dialogs/more-info/controls/more-info-input_boolean.ts +++ b/src/dialogs/more-info/controls/more-info-input_boolean.ts @@ -1,12 +1,15 @@ -import { mdiPower, mdiPowerOff } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-attributes"; import "../../../state-control/ha-state-control-toggle"; -import type { HomeAssistant } from "../../../types"; import "../components/ha-more-info-state-header"; + +import { mdiPower, mdiPowerOff } from "@mdi/js"; +import { LitElement, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { moreInfoControlStyle } from "../components/more-info-control-style"; @customElement("more-info-input_boolean") diff --git a/src/dialogs/more-info/controls/more-info-input_datetime.ts b/src/dialogs/more-info/controls/more-info-input_datetime.ts index 403763c653..d7e097c058 100644 --- a/src/dialogs/more-info/controls/more-info-input_datetime.ts +++ b/src/dialogs/more-info/controls/more-info-input_datetime.ts @@ -1,14 +1,17 @@ +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-date-input"; import "../../../components/ha-time-input"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { isUnavailableState, UNKNOWN } from "../../../data/entity"; import { setInputDateTimeValue, stateToIsoDateString, } from "../../../data/input_datetime"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-input_datetime") class MoreInfoInputDatetime extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-lawn_mower.ts b/src/dialogs/more-info/controls/more-info-lawn_mower.ts index 399e2c348c..d6ad7f6138 100644 --- a/src/dialogs/more-info/controls/more-info-lawn_mower.ts +++ b/src/dialogs/more-info/controls/more-info-lawn_mower.ts @@ -1,21 +1,24 @@ +import type { EntityRegistryDisplayEntry } from "../../../data/entity_registry"; +import type { LawnMowerEntity } from "../../../data/lawn_mower"; +import type { HomeAssistant } from "../../../types"; + +import "../../../components/entity/ha-battery-icon"; +import "../../../components/ha-icon-button"; + import { mdiHomeImportOutline, mdiPause, mdiPlay } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { computeStateDomain } from "../../../common/entity/compute_state_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; import { blankBeforePercent } from "../../../common/translations/blank_before_percent"; -import "../../../components/entity/ha-battery-icon"; -import "../../../components/ha-icon-button"; import { UNAVAILABLE } from "../../../data/entity"; -import type { EntityRegistryDisplayEntry } from "../../../data/entity_registry"; import { findBatteryChargingEntity, findBatteryEntity, } from "../../../data/entity_registry"; -import type { LawnMowerEntity } from "../../../data/lawn_mower"; import { LawnMowerEntityFeature } from "../../../data/lawn_mower"; -import type { HomeAssistant } from "../../../types"; interface LawnMowerCommand { translationKey: string; diff --git a/src/dialogs/more-info/controls/more-info-light.ts b/src/dialogs/more-info/controls/more-info-light.ts index 9d81cfdc01..536e0daa4a 100644 --- a/src/dialogs/more-info/controls/more-info-light.ts +++ b/src/dialogs/more-info/controls/more-info-light.ts @@ -1,4 +1,24 @@ +import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; +import type { LightEntity } from "../../../data/light"; +import type { HomeAssistant } from "../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-attributes"; +import "../../../components/ha-control-select-menu"; +import "../../../components/ha-icon-button-group"; +import "../../../components/ha-icon-button-toggle"; +import "../../../components/ha-list-item"; +import "../../../state-control/ha-state-control-toggle"; +import "../../../state-control/light/ha-state-control-light-brightness"; +import "../components/ha-more-info-control-select-container"; +import "../components/ha-more-info-state-header"; +import "../components/lights/ha-favorite-color-button"; +import "../components/lights/ha-more-info-light-favorite-colors"; +import "../components/lights/light-color-rgb-picker"; +import "../components/lights/light-color-temp-picker"; import "@material/mwc-list/mwc-list-item"; + import { mdiBrightness6, mdiCreation, @@ -7,21 +27,13 @@ import { mdiLightbulbOn, mdiPower, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-attributes"; -import "../../../components/ha-control-select-menu"; -import "../../../components/ha-icon-button-group"; -import "../../../components/ha-icon-button-toggle"; -import "../../../components/ha-list-item"; import { UNAVAILABLE } from "../../../data/entity"; -import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; import { forwardHaptic } from "../../../data/haptics"; -import type { LightEntity } from "../../../data/light"; import { LightColorMode, LightEntityFeature, @@ -30,15 +42,6 @@ import { lightSupportsColorMode, lightSupportsFavoriteColors, } from "../../../data/light"; -import "../../../state-control/ha-state-control-toggle"; -import "../../../state-control/light/ha-state-control-light-brightness"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-control-select-container"; -import "../components/ha-more-info-state-header"; -import "../components/lights/ha-favorite-color-button"; -import "../components/lights/ha-more-info-light-favorite-colors"; -import "../components/lights/light-color-rgb-picker"; -import "../components/lights/light-color-temp-picker"; import { moreInfoControlStyle } from "../components/more-info-control-style"; type MainControl = "brightness" | "color_temp" | "color"; diff --git a/src/dialogs/more-info/controls/more-info-lock.ts b/src/dialogs/more-info/controls/more-info-lock.ts index 287199cc06..f81072fa7e 100644 --- a/src/dialogs/more-info/controls/more-info-lock.ts +++ b/src/dialogs/more-info/controls/more-info-lock.ts @@ -1,25 +1,28 @@ -import { mdiCheck } from "@mdi/js"; +import type { LockEntity } from "../../../data/lock"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { stateColorCss } from "../../../common/entity/state_color"; -import { supportsFeature } from "../../../common/entity/supports-feature"; + import "../../../components/ha-attributes"; import "../../../components/ha-control-button"; import "../../../components/ha-control-button-group"; import "../../../components/ha-outlined-icon-button"; import "../../../components/ha-state-icon"; -import type { LockEntity } from "../../../data/lock"; +import "../../../state-control/lock/ha-state-control-lock-toggle"; +import "../components/ha-more-info-state-header"; + +import { mdiCheck } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { stateColorCss } from "../../../common/entity/state_color"; +import { supportsFeature } from "../../../common/entity/supports-feature"; import { LockEntityFeature, callProtectedLockService, canOpen, isJammed, } from "../../../data/lock"; -import "../../../state-control/lock/ha-state-control-lock-toggle"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-state-header"; import { moreInfoControlStyle } from "../components/more-info-control-style"; const CONFIRM_TIMEOUT_SECOND = 5; diff --git a/src/dialogs/more-info/controls/more-info-media_player.ts b/src/dialogs/more-info/controls/more-info-media_player.ts index eeaa19d25e..1491c17382 100644 --- a/src/dialogs/more-info/controls/more-info-media_player.ts +++ b/src/dialogs/more-info/controls/more-info-media_player.ts @@ -1,5 +1,16 @@ +import type { + MediaPickedEvent, + MediaPlayerEntity, +} from "../../../data/media-player"; +import type { HomeAssistant } from "../../../types"; + +import "../../../components/ha-icon-button"; +import "../../../components/ha-select"; +import "../../../components/ha-slider"; +import "../../../components/ha-svg-icon"; import "@material/mwc-button/mwc-button"; import "@material/mwc-list/mwc-list-item"; + import { mdiLoginVariant, mdiMusicNote, @@ -11,26 +22,18 @@ import { } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { stateActive } from "../../../common/entity/state_active"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-select"; -import "../../../components/ha-slider"; -import "../../../components/ha-svg-icon"; import { showMediaBrowserDialog } from "../../../components/media-player/show-media-browser-dialog"; import { isUnavailableState } from "../../../data/entity"; -import type { - MediaPickedEvent, - MediaPlayerEntity, -} from "../../../data/media-player"; import { MediaPlayerEntityFeature, computeMediaControls, handleMediaControlClick, mediaPlayerPlayMedia, } from "../../../data/media-player"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-media_player") class MoreInfoMediaPlayer extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-person.ts b/src/dialogs/more-info/controls/more-info-person.ts index c364786eb2..f4c6773238 100644 --- a/src/dialogs/more-info/controls/more-info-person.ts +++ b/src/dialogs/more-info/controls/more-info-person.ts @@ -1,13 +1,16 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-attributes"; +import "../../../components/map/ha-map"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-attributes"; -import "../../../components/map/ha-map"; import { showZoneEditor } from "../../../data/zone"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-person") class MoreInfoPerson extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-remote.ts b/src/dialogs/more-info/controls/more-info-remote.ts index b3b5d9592a..8f5918f50b 100644 --- a/src/dialogs/more-info/controls/more-info-remote.ts +++ b/src/dialogs/more-info/controls/more-info-remote.ts @@ -1,13 +1,16 @@ -import "@material/mwc-select/mwc-select"; +import type { RemoteEntity } from "../../../data/remote"; +import type { HomeAssistant } from "../../../types"; + +import "../../../components/ha-attributes"; import "@material/mwc-list/mwc-list-item"; +import "@material/mwc-select/mwc-select"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attributes"; -import type { RemoteEntity } from "../../../data/remote"; import { REMOTE_SUPPORT_ACTIVITY } from "../../../data/remote"; -import type { HomeAssistant } from "../../../types"; const filterExtraAttributes = "activity_list,current_activity"; diff --git a/src/dialogs/more-info/controls/more-info-script.ts b/src/dialogs/more-info/controls/more-info-script.ts index 39d6652c56..4ffcef3565 100644 --- a/src/dialogs/more-info/controls/more-info-script.ts +++ b/src/dialogs/more-info/controls/more-info-script.ts @@ -1,23 +1,26 @@ -import { mdiPlay, mdiStop } from "@mdi/js"; -import "@material/mwc-button"; +import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; +import type { ScriptEntity } from "../../../data/script"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-relative-time"; -import "../../../components/ha-service-control"; + +import "../../../components/entity/state-info"; import "../../../components/ha-control-button"; import "../../../components/ha-control-button-group"; -import "../../../components/entity/state-info"; -import type { HomeAssistant } from "../../../types"; -import type { ScriptEntity } from "../../../data/script"; -import { canRun } from "../../../data/script"; -import { isUnavailableState } from "../../../data/entity"; -import { computeObjectId } from "../../../common/entity/compute_object_id"; -import { listenMediaQuery } from "../../../common/dom/media_query"; -import "../components/ha-more-info-state-header"; -import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; import "../../../components/ha-markdown"; +import "../../../components/ha-relative-time"; +import "../../../components/ha-service-control"; +import "../components/ha-more-info-state-header"; +import "@material/mwc-button"; + +import { mdiPlay, mdiStop } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { listenMediaQuery } from "../../../common/dom/media_query"; +import { computeObjectId } from "../../../common/entity/compute_object_id"; +import { isUnavailableState } from "../../../data/entity"; +import { canRun } from "../../../data/script"; @customElement("more-info-script") class MoreInfoScript extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-siren.ts b/src/dialogs/more-info/controls/more-info-siren.ts index 191427e611..5e8b4c1e9b 100644 --- a/src/dialogs/more-info/controls/more-info-siren.ts +++ b/src/dialogs/more-info/controls/more-info-siren.ts @@ -1,16 +1,19 @@ -import { mdiVolumeHigh, mdiVolumeOff } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-attributes"; +import "../../../components/ha-button"; +import "../../../state-control/ha-state-control-toggle"; +import "../components/ha-more-info-state-header"; + +import { mdiVolumeHigh, mdiVolumeOff } from "@mdi/js"; import { LitElement, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-attributes"; -import "../../../state-control/ha-state-control-toggle"; -import "../../../components/ha-button"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-state-header"; -import { moreInfoControlStyle } from "../components/more-info-control-style"; + import { supportsFeature } from "../../../common/entity/supports-feature"; import { SirenEntityFeature } from "../../../data/siren"; +import { moreInfoControlStyle } from "../components/more-info-control-style"; import { showSirenAdvancedControlsView } from "../components/siren/show-dialog-siren-advanced-controls"; @customElement("more-info-siren") diff --git a/src/dialogs/more-info/controls/more-info-sun.ts b/src/dialogs/more-info/controls/more-info-sun.ts index 784e50dc84..a472c0bcdf 100644 --- a/src/dialogs/more-info/controls/more-info-sun.ts +++ b/src/dialogs/more-info/controls/more-info-sun.ts @@ -1,9 +1,12 @@ +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-relative-time"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { formatTime } from "../../../common/datetime/format_time"; -import "../../../components/ha-relative-time"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-sun") class MoreInfoSun extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-switch.ts b/src/dialogs/more-info/controls/more-info-switch.ts index 9eb677643e..4bf635d30b 100644 --- a/src/dialogs/more-info/controls/more-info-switch.ts +++ b/src/dialogs/more-info/controls/more-info-switch.ts @@ -1,12 +1,15 @@ -import { mdiPower, mdiPowerOff } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-attributes"; import "../../../state-control/ha-state-control-toggle"; -import type { HomeAssistant } from "../../../types"; import "../components/ha-more-info-state-header"; + +import { mdiPower, mdiPowerOff } from "@mdi/js"; +import { LitElement, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { moreInfoControlStyle } from "../components/more-info-control-style"; @customElement("more-info-switch") diff --git a/src/dialogs/more-info/controls/more-info-time.ts b/src/dialogs/more-info/controls/more-info-time.ts index f41ef15197..8ce94ab496 100644 --- a/src/dialogs/more-info/controls/more-info-time.ts +++ b/src/dialogs/more-info/controls/more-info-time.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-date-input"; import "../../../components/ha-time-input"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; import { setTimeValue } from "../../../data/time"; -import type { HomeAssistant } from "../../../types"; @customElement("more-info-time") class MoreInfoTime extends LitElement { diff --git a/src/dialogs/more-info/controls/more-info-timer.ts b/src/dialogs/more-info/controls/more-info-timer.ts index 3f5c729752..188cdc3b6c 100644 --- a/src/dialogs/more-info/controls/more-info-timer.ts +++ b/src/dialogs/more-info/controls/more-info-timer.ts @@ -1,10 +1,12 @@ -import "@material/mwc-button"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../components/ha-attributes"; import type { TimerEntity } from "../../../data/timer"; import type { HomeAssistant } from "../../../types"; +import "../../../components/ha-attributes"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("more-info-timer") class MoreInfoTimer extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/dialogs/more-info/controls/more-info-update.ts b/src/dialogs/more-info/controls/more-info-update.ts index 206789552e..dd1a844f7d 100644 --- a/src/dialogs/more-info/controls/more-info-update.ts +++ b/src/dialogs/more-info/controls/more-info-update.ts @@ -1,33 +1,36 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { BINARY_STATE_OFF } from "../../../common/const"; -import { relativeTime } from "../../../common/datetime/relative_time"; -import { supportsFeature } from "../../../common/entity/supports-feature"; +import type { HaSwitch } from "../../../components/ha-switch"; +import type { BackupConfig } from "../../../data/backup"; +import type { EntitySources } from "../../../data/entity_sources"; +import type { UpdateEntity } from "../../../data/update"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-alert"; import "../../../components/ha-button"; import "../../../components/ha-checkbox"; -import "../../../components/ha-spinner"; import "../../../components/ha-faded"; import "../../../components/ha-formfield"; import "../../../components/ha-markdown"; import "../../../components/ha-md-list"; import "../../../components/ha-md-list-item"; +import "../../../components/ha-spinner"; import "../../../components/ha-switch"; -import type { HaSwitch } from "../../../components/ha-switch"; -import type { BackupConfig } from "../../../data/backup"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { BINARY_STATE_OFF } from "../../../common/const"; +import { relativeTime } from "../../../common/datetime/relative_time"; +import { supportsFeature } from "../../../common/entity/supports-feature"; import { fetchBackupConfig } from "../../../data/backup"; import { isUnavailableState } from "../../../data/entity"; -import type { EntitySources } from "../../../data/entity_sources"; import { fetchEntitySourcesWithCache } from "../../../data/entity_sources"; -import type { UpdateEntity } from "../../../data/update"; import { getUpdateType, UpdateEntityFeature, updateIsInstalling, updateReleaseNotes, } from "../../../data/update"; -import type { HomeAssistant } from "../../../types"; import { showAlertDialog } from "../../generic/show-dialog-box"; @customElement("more-info-update") diff --git a/src/dialogs/more-info/controls/more-info-vacuum.ts b/src/dialogs/more-info/controls/more-info-vacuum.ts index 066e6145bc..3dc88912a0 100644 --- a/src/dialogs/more-info/controls/more-info-vacuum.ts +++ b/src/dialogs/more-info/controls/more-info-vacuum.ts @@ -1,4 +1,14 @@ +import type { EntityRegistryDisplayEntry } from "../../../data/entity_registry"; +import type { VacuumEntity } from "../../../data/vacuum"; +import type { HomeAssistant } from "../../../types"; + +import "../../../components/entity/ha-battery-icon"; +import "../../../components/ha-attributes"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-select"; import "@material/mwc-list/mwc-list-item"; + import { mdiFan, mdiHomeImportOutline, @@ -12,23 +22,16 @@ import { import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeStateDomain } from "../../../common/entity/compute_state_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/entity/ha-battery-icon"; -import "../../../components/ha-attributes"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-select"; import { UNAVAILABLE } from "../../../data/entity"; -import type { EntityRegistryDisplayEntry } from "../../../data/entity_registry"; import { findBatteryChargingEntity, findBatteryEntity, } from "../../../data/entity_registry"; -import type { VacuumEntity } from "../../../data/vacuum"; import { VacuumEntityFeature } from "../../../data/vacuum"; -import type { HomeAssistant } from "../../../types"; interface VacuumCommand { translationKey: string; diff --git a/src/dialogs/more-info/controls/more-info-valve.ts b/src/dialogs/more-info/controls/more-info-valve.ts index 66158025c8..98ad59372e 100644 --- a/src/dialogs/more-info/controls/more-info-valve.ts +++ b/src/dialogs/more-info/controls/more-info-valve.ts @@ -1,21 +1,24 @@ -import { mdiMenu, mdiSwapVertical } from "@mdi/js"; +import type { ValveEntity } from "../../../data/valve"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { supportsFeature } from "../../../common/entity/supports-feature"; + import "../../../components/ha-attributes"; import "../../../components/ha-icon-button-group"; import "../../../components/ha-icon-button-toggle"; -import type { ValveEntity } from "../../../data/valve"; +import "../../../state-control/valve/ha-state-control-valve-buttons"; +import "../../../state-control/valve/ha-state-control-valve-position"; +import "../../../state-control/valve/ha-state-control-valve-toggle"; +import "../components/ha-more-info-state-header"; + +import { mdiMenu, mdiSwapVertical } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { supportsFeature } from "../../../common/entity/supports-feature"; import { ValveEntityFeature, computeValvePositionStateDisplay, } from "../../../data/valve"; -import "../../../state-control/valve/ha-state-control-valve-buttons"; -import "../../../state-control/valve/ha-state-control-valve-position"; -import "../../../state-control/valve/ha-state-control-valve-toggle"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-state-header"; import { moreInfoControlStyle } from "../components/more-info-control-style"; type Mode = "position" | "button"; diff --git a/src/dialogs/more-info/controls/more-info-water_heater.ts b/src/dialogs/more-info/controls/more-info-water_heater.ts index 28f831e093..a85b14f783 100644 --- a/src/dialogs/more-info/controls/more-info-water_heater.ts +++ b/src/dialogs/more-info/controls/more-info-water_heater.ts @@ -1,21 +1,24 @@ -import { mdiAccount, mdiAccountArrowRight, mdiWaterBoiler } from "@mdi/js"; +import type { WaterHeaterEntity } from "../../../data/water_heater"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { supportsFeature } from "../../../common/entity/supports-feature"; + import "../../../components/ha-control-select-menu"; import "../../../components/ha-list-item"; +import "../../../state-control/water_heater/ha-state-control-water_heater-temperature"; +import "../components/ha-more-info-control-select-container"; + +import { mdiAccount, mdiAccountArrowRight, mdiWaterBoiler } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { supportsFeature } from "../../../common/entity/supports-feature"; import { UNAVAILABLE } from "../../../data/entity"; -import type { WaterHeaterEntity } from "../../../data/water_heater"; import { WaterHeaterEntityFeature, compareWaterHeaterOperationMode, computeOperationModeIcon, } from "../../../data/water_heater"; -import "../../../state-control/water_heater/ha-state-control-water_heater-temperature"; -import type { HomeAssistant } from "../../../types"; -import "../components/ha-more-info-control-select-container"; import { moreInfoControlStyle } from "../components/more-info-control-style"; @customElement("more-info-water_heater") diff --git a/src/dialogs/more-info/controls/more-info-weather.ts b/src/dialogs/more-info/controls/more-info-weather.ts index 3b245c601c..485f4f7492 100644 --- a/src/dialogs/more-info/controls/more-info-weather.ts +++ b/src/dialogs/more-info/controls/more-info-weather.ts @@ -1,20 +1,26 @@ -import "@material/mwc-tab"; -import "@material/mwc-tab-bar"; -import { mdiEye, mdiGauge, mdiWaterPercent, mdiWeatherWindy } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { formatDateWeekdayShort } from "../../../common/datetime/format_date"; -import { formatTime } from "../../../common/datetime/format_time"; -import { formatNumber } from "../../../common/number/format_number"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-tooltip"; import type { ForecastEvent, ModernForecastType, WeatherEntity, } from "../../../data/weather"; +import type { HomeAssistant } from "../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-relative-time"; +import "../../../components/ha-state-icon"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; +import "@material/mwc-tab"; +import "@material/mwc-tab-bar"; + +import { mdiEye, mdiGauge, mdiWaterPercent, mdiWeatherWindy } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { formatDateWeekdayShort } from "../../../common/datetime/format_date"; +import { formatTime } from "../../../common/datetime/format_time"; +import { formatNumber } from "../../../common/number/format_number"; import { getDefaultForecastType, getForecast, @@ -26,9 +32,6 @@ import { subscribeForecast, weatherSVGStyles, } from "../../../data/weather"; -import type { HomeAssistant } from "../../../types"; -import "../../../components/ha-relative-time"; -import "../../../components/ha-state-icon"; @customElement("more-info-weather") class MoreInfoWeather extends LitElement { diff --git a/src/dialogs/more-info/ha-more-info-dialog.ts b/src/dialogs/more-info/ha-more-info-dialog.ts index c8a1c34437..b98e4e2f93 100644 --- a/src/dialogs/more-info/ha-more-info-dialog.ts +++ b/src/dialogs/more-info/ha-more-info-dialog.ts @@ -1,3 +1,26 @@ +import type { + EntityRegistryEntry, + ExtEntityRegistryEntry, +} from "../../data/entity_registry"; +import type { ItemType } from "../../data/search"; +import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../components/ha-button-menu"; +import "../../components/ha-dialog"; +import "../../components/ha-dialog-header"; +import "../../components/ha-icon-button"; +import "../../components/ha-icon-button-prev"; +import "../../components/ha-list-item"; +import "../../components/ha-related-items"; +import "../../state-summary/state-card-content"; +import "./controls/more-info-default"; +import "./ha-more-info-history-and-logbook"; +import "./ha-more-info-info"; +import "./ha-more-info-settings"; +import "./more-info-content"; + import { mdiChartBoxOutline, mdiClose, @@ -9,12 +32,11 @@ import { mdiPencilOff, mdiPencilOutline, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { cache } from "lit/directives/cache"; import { join } from "lit/directives/join"; + import { dynamicElement } from "../../common/dom/dynamic-element-directive"; import { fireEvent } from "../../common/dom/fire_event"; import { stopPropagation } from "../../common/dom/stop_propagation"; @@ -25,27 +47,17 @@ import { computeEntityEntryName, computeEntityName, } from "../../common/entity/compute_entity_name"; +import { + getEntityContext, + getEntityEntryContext, +} from "../../common/entity/get_entity_context"; import { shouldHandleRequestSelectedEvent } from "../../common/mwc/handle-request-selected-event"; import { navigate } from "../../common/navigate"; -import "../../components/ha-button-menu"; -import "../../components/ha-dialog"; -import "../../components/ha-dialog-header"; -import "../../components/ha-icon-button"; -import "../../components/ha-icon-button-prev"; -import "../../components/ha-list-item"; -import "../../components/ha-related-items"; -import type { - EntityRegistryEntry, - ExtEntityRegistryEntry, -} from "../../data/entity_registry"; import { getExtendedEntityRegistryEntry } from "../../data/entity_registry"; import { lightSupportsFavoriteColors } from "../../data/light"; -import type { ItemType } from "../../data/search"; import { SearchableDomains } from "../../data/search"; import { getSensorNumericDeviceClasses } from "../../data/sensor"; import { haStyleDialog } from "../../resources/styles"; -import "../../state-summary/state-card-content"; -import type { HomeAssistant } from "../../types"; import { DOMAINS_WITH_MORE_INFO, EDITABLE_DOMAINS_WITH_ID, @@ -53,15 +65,6 @@ import { computeShowHistoryComponent, computeShowLogBookComponent, } from "./const"; -import "./controls/more-info-default"; -import "./ha-more-info-history-and-logbook"; -import "./ha-more-info-info"; -import "./ha-more-info-settings"; -import "./more-info-content"; -import { - getEntityContext, - getEntityEntryContext, -} from "../../common/entity/get_entity_context"; export interface MoreInfoDialogParams { entityId: string | null; diff --git a/src/dialogs/more-info/ha-more-info-history-and-logbook.ts b/src/dialogs/more-info/ha-more-info-history-and-logbook.ts index bb442c44e1..75dc90db8f 100644 --- a/src/dialogs/more-info/ha-more-info-history-and-logbook.ts +++ b/src/dialogs/more-info/ha-more-info-history-and-logbook.ts @@ -1,13 +1,16 @@ +import type { HomeAssistant } from "../../types"; + +import "./ha-more-info-history"; +import "./ha-more-info-logbook"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { HomeAssistant } from "../../types"; + +import { getSensorNumericDeviceClasses } from "../../data/sensor"; import { computeShowHistoryComponent, computeShowLogBookComponent, } from "./const"; -import "./ha-more-info-history"; -import "./ha-more-info-logbook"; -import { getSensorNumericDeviceClasses } from "../../data/sensor"; @customElement("ha-more-info-history-and-logbook") export class MoreInfoHistoryAndLogbook extends LitElement { diff --git a/src/dialogs/more-info/ha-more-info-history.ts b/src/dialogs/more-info/ha-more-info-history.ts index de8c3ce520..516c70ecc3 100644 --- a/src/dialogs/more-info/ha-more-info-history.ts +++ b/src/dialogs/more-info/ha-more-info-history.ts @@ -1,25 +1,28 @@ -import { startOfYesterday, subHours } from "date-fns"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isComponentLoaded } from "../../common/config/is_component_loaded"; -import { computeDomain } from "../../common/entity/compute_domain"; -import { createSearchParam } from "../../common/url/search-params"; -import "../../components/chart/state-history-charts"; -import "../../components/chart/statistics-chart"; import type { HistoryResult } from "../../data/history"; -import { - computeHistory, - subscribeHistoryStatesTimeWindow, -} from "../../data/history"; import type { Statistics, StatisticsMetaData, StatisticsTypes, } from "../../data/recorder"; +import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; + +import "../../components/chart/state-history-charts"; +import "../../components/chart/statistics-chart"; + +import { startOfYesterday, subHours } from "date-fns"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../common/config/is_component_loaded"; +import { computeDomain } from "../../common/entity/compute_domain"; +import { createSearchParam } from "../../common/url/search-params"; +import { + computeHistory, + subscribeHistoryStatesTimeWindow, +} from "../../data/history"; import { fetchStatistics, getStatisticMetadata } from "../../data/recorder"; import { getSensorNumericDeviceClasses } from "../../data/sensor"; -import type { HomeAssistant } from "../../types"; declare global { interface HASSDomEvents { diff --git a/src/dialogs/more-info/ha-more-info-info.ts b/src/dialogs/more-info/ha-more-info-info.ts index a87d3d06f8..08d4e1c0c9 100644 --- a/src/dialogs/more-info/ha-more-info-info.ts +++ b/src/dialogs/more-info/ha-more-info-info.ts @@ -1,9 +1,16 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../common/entity/compute_domain"; import type { ExtEntityRegistryEntry } from "../../data/entity_registry"; import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "./ha-more-info-history"; +import "./ha-more-info-logbook"; +import "./more-info-content"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../common/entity/compute_domain"; +import { getSensorNumericDeviceClasses } from "../../data/sensor"; import { computeShowHistoryComponent, computeShowLogBookComponent, @@ -12,10 +19,6 @@ import { DOMAINS_NO_INFO, DOMAINS_WITH_MORE_INFO, } from "./const"; -import "./ha-more-info-history"; -import "./ha-more-info-logbook"; -import "./more-info-content"; -import { getSensorNumericDeviceClasses } from "../../data/sensor"; @customElement("ha-more-info-info") export class MoreInfoInfo extends LitElement { diff --git a/src/dialogs/more-info/ha-more-info-logbook.ts b/src/dialogs/more-info/ha-more-info-logbook.ts index 34eba630ed..d23908bbe5 100644 --- a/src/dialogs/more-info/ha-more-info-logbook.ts +++ b/src/dialogs/more-info/ha-more-info-logbook.ts @@ -1,12 +1,15 @@ -import { startOfYesterday } from "date-fns"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; + +import "../../panels/logbook/ha-logbook"; + +import { startOfYesterday } from "date-fns"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { createSearchParam } from "../../common/url/search-params"; -import "../../panels/logbook/ha-logbook"; -import type { HomeAssistant } from "../../types"; @customElement("ha-more-info-logbook") export class MoreInfoLogbook extends LitElement { diff --git a/src/dialogs/more-info/ha-more-info-settings.ts b/src/dialogs/more-info/ha-more-info-settings.ts index 0a25398a0a..bb59e38cd5 100644 --- a/src/dialogs/more-info/ha-more-info-settings.ts +++ b/src/dialogs/more-info/ha-more-info-settings.ts @@ -1,15 +1,18 @@ -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { dynamicElement } from "../../common/dom/dynamic-element-directive"; -import "../../components/ha-alert"; import type { EntityRegistryEntry, ExtEntityRegistryEntry, } from "../../data/entity_registry"; -import { PLATFORMS_WITH_SETTINGS_TAB } from "../../panels/config/entities/const"; -import "../../panels/config/entities/entity-registry-settings"; import type { HomeAssistant } from "../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../components/ha-alert"; +import "../../panels/config/entities/entity-registry-settings"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { dynamicElement } from "../../common/dom/dynamic-element-directive"; +import { PLATFORMS_WITH_SETTINGS_TAB } from "../../panels/config/entities/const"; import { documentationUrl } from "../../util/documentation-url"; @customElement("ha-more-info-settings") diff --git a/src/dialogs/more-info/more-info-content.ts b/src/dialogs/more-info/more-info-content.ts index 25d3cfbf84..f9617544bd 100644 --- a/src/dialogs/more-info/more-info-content.ts +++ b/src/dialogs/more-info/more-info-content.ts @@ -1,11 +1,13 @@ +import type { ExtEntityRegistryEntry } from "../../data/entity_registry"; +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; + import { LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import type { ExtEntityRegistryEntry } from "../../data/entity_registry"; -import { importMoreInfoControl } from "../../panels/lovelace/custom-card-helpers"; -import type { HomeAssistant } from "../../types"; -import { stateMoreInfoType } from "./state_more_info_control"; + import { dynamicElement } from "../../common/dom/dynamic-element-directive"; +import { importMoreInfoControl } from "../../panels/lovelace/custom-card-helpers"; +import { stateMoreInfoType } from "./state_more_info_control"; @customElement("more-info-content") class MoreInfoContent extends LitElement { diff --git a/src/dialogs/more-info/show-ha-more-info-dialog.ts b/src/dialogs/more-info/show-ha-more-info-dialog.ts index de6d688fec..71d6b648b5 100644 --- a/src/dialogs/more-info/show-ha-more-info-dialog.ts +++ b/src/dialogs/more-info/show-ha-more-info-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { MoreInfoDialogParams } from "./ha-more-info-dialog"; +import { fireEvent } from "../../common/dom/fire_event"; + export const showMoreInfoDialog = ( element: HTMLElement, params: MoreInfoDialogParams diff --git a/src/dialogs/more-info/state_more_info_control.ts b/src/dialogs/more-info/state_more_info_control.ts index 4b7949b7f0..3169bf4615 100644 --- a/src/dialogs/more-info/state_more_info_control.ts +++ b/src/dialogs/more-info/state_more_info_control.ts @@ -1,4 +1,5 @@ import type { HassEntity } from "home-assistant-js-websocket"; + import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { DOMAINS_HIDE_DEFAULT_MORE_INFO, diff --git a/src/dialogs/notifications/configurator-notification-item.ts b/src/dialogs/notifications/configurator-notification-item.ts index 45e289597f..81a6b9500e 100644 --- a/src/dialogs/notifications/configurator-notification-item.ts +++ b/src/dialogs/notifications/configurator-notification-item.ts @@ -1,11 +1,14 @@ -import "@material/mwc-button"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import { domainToName } from "../../data/integration"; import type { PersitentNotificationEntity } from "../../data/persistent_notification"; import type { HomeAssistant } from "../../types"; + import "./notification-item-template"; +import "@material/mwc-button"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { domainToName } from "../../data/integration"; @customElement("configurator-notification-item") export class HuiConfiguratorNotificationItem extends LitElement { diff --git a/src/dialogs/notifications/notification-drawer.ts b/src/dialogs/notifications/notification-drawer.ts index a3c83bcd69..830b3a0d75 100644 --- a/src/dialogs/notifications/notification-drawer.ts +++ b/src/dialogs/notifications/notification-drawer.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button"; +import type { HaDrawer } from "../../components/ha-drawer"; +import type { PersistentNotification } from "../../data/persistent_notification"; +import type { HomeAssistant } from "../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; + +import "../../components/ha-drawer"; +import "../../components/ha-header-bar"; +import "../../components/ha-icon-button-prev"; +import "./notification-item"; +import "@material/mwc-button"; + import { LitElement, html, css, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; -import "../../components/ha-icon-button-prev"; -import type { PersistentNotification } from "../../data/persistent_notification"; -import { subscribeNotifications } from "../../data/persistent_notification"; -import type { HomeAssistant } from "../../types"; -import "./notification-item"; -import "../../components/ha-header-bar"; -import "../../components/ha-drawer"; -import type { HaDrawer } from "../../components/ha-drawer"; import { computeRTLDirection } from "../../common/util/compute_rtl"; +import { subscribeNotifications } from "../../data/persistent_notification"; @customElement("notification-drawer") export class HuiNotificationDrawer extends LitElement { diff --git a/src/dialogs/notifications/notification-item-template.ts b/src/dialogs/notifications/notification-item-template.ts index 44080be56b..118d2332cb 100644 --- a/src/dialogs/notifications/notification-item-template.ts +++ b/src/dialogs/notifications/notification-item-template.ts @@ -1,7 +1,9 @@ import type { TemplateResult } from "lit"; + +import "../../components/ha-card"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; -import "../../components/ha-card"; @customElement("notification-item-template") export class HuiNotificationItemTemplate extends LitElement { diff --git a/src/dialogs/notifications/notification-item.ts b/src/dialogs/notifications/notification-item.ts index daefcb5f0e..cb34d7c82d 100644 --- a/src/dialogs/notifications/notification-item.ts +++ b/src/dialogs/notifications/notification-item.ts @@ -1,12 +1,14 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; import type { PersistentNotification } from "../../data/persistent_notification"; import type { HomeAssistant } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import "./configurator-notification-item"; import "./persistent-notification-item"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("notification-item") export class HuiNotificationItem extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/dialogs/notifications/persistent-notification-item.ts b/src/dialogs/notifications/persistent-notification-item.ts index 2e4b99b6be..0ea13cf6ed 100644 --- a/src/dialogs/notifications/persistent-notification-item.ts +++ b/src/dialogs/notifications/persistent-notification-item.ts @@ -1,14 +1,17 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { formatDateTime } from "../../common/datetime/format_date_time"; +import type { PersistentNotification } from "../../data/persistent_notification"; +import type { HomeAssistant } from "../../types"; + +import "../../components/ha-button"; import "../../components/ha-markdown"; import "../../components/ha-relative-time"; import "../../components/ha-tooltip"; -import "../../components/ha-button"; -import type { PersistentNotification } from "../../data/persistent_notification"; -import type { HomeAssistant } from "../../types"; import "./notification-item-template"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { formatDateTime } from "../../common/datetime/format_date_time"; + @customElement("persistent-notification-item") export class HuiPersistentNotificationItem extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/dialogs/quick-bar/ha-quick-bar.ts b/src/dialogs/quick-bar/ha-quick-bar.ts index 8520dc0151..64dae65ca0 100644 --- a/src/dialogs/quick-bar/ha-quick-bar.ts +++ b/src/dialogs/quick-bar/ha-quick-bar.ts @@ -1,5 +1,17 @@ -import "@material/mwc-list/mwc-list"; +import type { ScorableTextItem } from "../../common/string/filter/sequence-matching"; +import type { PageNavigation } from "../../layouts/hass-tabs-subpage"; +import type { HomeAssistant } from "../../types"; import type { ListItem } from "@material/mwc-list/mwc-list-item"; +import type { TemplateResult } from "lit"; + +import "../../components/ha-icon-button"; +import "../../components/ha-label"; +import "../../components/ha-list-item"; +import "../../components/ha-spinner"; +import "../../components/ha-textfield"; +import "../../components/ha-tip"; +import "@material/mwc-list/mwc-list"; + import { mdiClose, mdiConsoleLine, @@ -9,12 +21,12 @@ import { mdiReload, mdiServerNetwork, } from "@mdi/js"; -import type { TemplateResult } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { canShowPage } from "../../common/config/can_show_page"; import { componentsWithService } from "../../common/config/components_with_service"; import { isComponentLoaded } from "../../common/config/is_component_loaded"; @@ -23,23 +35,14 @@ import { computeDeviceNameDisplay } from "../../common/entity/compute_device_nam import { computeStateName } from "../../common/entity/compute_state_name"; import { navigate } from "../../common/navigate"; import { caseInsensitiveStringCompare } from "../../common/string/compare"; -import type { ScorableTextItem } from "../../common/string/filter/sequence-matching"; import { fuzzyFilterSort } from "../../common/string/filter/sequence-matching"; import { debounce } from "../../common/util/debounce"; -import "../../components/ha-icon-button"; -import "../../components/ha-label"; -import "../../components/ha-list-item"; -import "../../components/ha-spinner"; -import "../../components/ha-textfield"; -import "../../components/ha-tip"; import { fetchHassioAddonsInfo } from "../../data/hassio/addon"; import { domainToName } from "../../data/integration"; import { getPanelNameTranslationKey } from "../../data/panel"; -import type { PageNavigation } from "../../layouts/hass-tabs-subpage"; import { configSections } from "../../panels/config/ha-panel-config"; import { haStyleDialog, haStyleScrollbar } from "../../resources/styles"; import { loadVirtualizer } from "../../resources/virtualizer"; -import type { HomeAssistant } from "../../types"; import { showConfirmationDialog } from "../generic/show-dialog-box"; import { QuickBarMode, type QuickBarParams } from "./show-dialog-quick-bar"; diff --git a/src/dialogs/restart/dialog-restart.ts b/src/dialogs/restart/dialog-restart.ts index 728783251b..dad26c4929 100644 --- a/src/dialogs/restart/dialog-restart.ts +++ b/src/dialogs/restart/dialog-restart.ts @@ -1,3 +1,16 @@ +import type { HaMdDialog } from "../../components/ha-md-dialog"; +import type { HassioHostInfo } from "../../data/hassio/host"; +import type { HomeAssistant } from "../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../components/ha-expansion-panel"; +import "../../components/ha-icon-button"; +import "../../components/ha-icon-next"; +import "../../components/ha-md-dialog"; +import "../../components/ha-md-list"; +import "../../components/ha-md-list-item"; +import "../../components/ha-spinner"; + import { mdiAutoFix, mdiLifebuoy, @@ -6,31 +19,21 @@ import { mdiRefresh, mdiClose, } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state, query } from "lit/decorators"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-spinner"; -import "../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../components/ha-md-dialog"; -import "../../components/ha-md-list"; -import "../../components/ha-expansion-panel"; -import "../../components/ha-md-list-item"; -import "../../components/ha-icon-button"; -import "../../components/ha-icon-next"; import { extractApiErrorMessage, ignoreSupervisorError, } from "../../data/hassio/common"; -import type { HassioHostInfo } from "../../data/hassio/host"; import { fetchHassioHostInfo, rebootHost, shutdownHost, } from "../../data/hassio/host"; import { haStyle, haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; import { showToast } from "../../util/toast"; import { showAlertDialog, diff --git a/src/dialogs/shortcuts/dialog-shortcuts.ts b/src/dialogs/shortcuts/dialog-shortcuts.ts index c4b992fc52..aefa7d3dfe 100644 --- a/src/dialogs/shortcuts/dialog-shortcuts.ts +++ b/src/dialogs/shortcuts/dialog-shortcuts.ts @@ -1,13 +1,16 @@ +import type { LocalizeKeys } from "../../common/translations/localize"; +import type { HomeAssistant } from "../../types"; + +import "../../components/chips/ha-assist-chip"; +import "../../components/ha-alert"; +import "../../components/ha-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-button"; import { createCloseHeading } from "../../components/ha-dialog"; -import type { HomeAssistant } from "../../types"; import { haStyleDialog } from "../../resources/styles"; -import "../../components/ha-alert"; -import "../../components/chips/ha-assist-chip"; -import type { LocalizeKeys } from "../../common/translations/localize"; interface Text { type: "text"; diff --git a/src/dialogs/tts-try/dialog-tts-try.ts b/src/dialogs/tts-try/dialog-tts-try.ts index 6fc474b616..b93e8423fd 100644 --- a/src/dialogs/tts-try/dialog-tts-try.ts +++ b/src/dialogs/tts-try/dialog-tts-try.ts @@ -1,16 +1,19 @@ +import type { HaTextArea } from "../../components/ha-textarea"; +import type { HomeAssistant } from "../../types"; +import type { TTSTryDialogParams } from "./show-dialog-tts-try"; + +import "../../components/buttons/ha-progress-button"; +import "../../components/ha-textarea"; + import { mdiPlayCircleOutline } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { storage } from "../../common/decorators/storage"; import { fireEvent } from "../../common/dom/fire_event"; import { createCloseHeading } from "../../components/ha-dialog"; -import "../../components/ha-textarea"; -import type { HaTextArea } from "../../components/ha-textarea"; import { convertTextToSpeech } from "../../data/tts"; -import type { HomeAssistant } from "../../types"; import { showAlertDialog } from "../generic/show-dialog-box"; -import type { TTSTryDialogParams } from "./show-dialog-tts-try"; -import "../../components/buttons/ha-progress-button"; @customElement("dialog-tts-try") export class TTSTryDialog extends LitElement { diff --git a/src/dialogs/update_backup/dialog-update-backup.ts b/src/dialogs/update_backup/dialog-update-backup.ts index ef59d4d778..e8437c802a 100644 --- a/src/dialogs/update_backup/dialog-update-backup.ts +++ b/src/dialogs/update_backup/dialog-update-backup.ts @@ -1,11 +1,14 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-button"; -import { createCloseHeading } from "../../components/ha-dialog"; import type { HomeAssistant } from "../../types"; import type { UpdateBackupDialogParams } from "./show-update-backup-dialog"; +import "../../components/ha-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { createCloseHeading } from "../../components/ha-dialog"; + @customElement("dialog-update-backup") class DialogBox extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/dialogs/voice-assistant-setup/cloud/cloud-step-intro.ts b/src/dialogs/voice-assistant-setup/cloud/cloud-step-intro.ts index c2edcf4949..37a23590ac 100644 --- a/src/dialogs/voice-assistant-setup/cloud/cloud-step-intro.ts +++ b/src/dialogs/voice-assistant-setup/cloud/cloud-step-intro.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../../../types"; + +import "../../../components/ha-button"; +import "../../../components/ha-svg-icon"; + import { mdiEarth, mdiMicrophoneMessage, mdiOpenInNew } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-button"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { AssistantSetupStyles } from "../styles"; diff --git a/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts b/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts index fe7adc84a0..7e63a4634a 100644 --- a/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts +++ b/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts @@ -1,17 +1,20 @@ -import { LitElement, css, html } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { navigate } from "../../../common/navigate"; +import type { HaPasswordField } from "../../../components/ha-password-field"; +import type { HaTextField } from "../../../components/ha-textfield"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-alert"; import "../../../components/ha-button"; import "../../../components/ha-password-field"; -import type { HaPasswordField } from "../../../components/ha-password-field"; import "../../../components/ha-svg-icon"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; + +import { LitElement, css, html } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { navigate } from "../../../common/navigate"; import { cloudLogin } from "../../../data/cloud"; import { showCloudAlreadyConnectedDialog } from "../../../panels/config/cloud/dialog-cloud-already-connected/show-dialog-cloud-already-connected"; -import type { HomeAssistant } from "../../../types"; import { showAlertDialog, showPromptDialog, diff --git a/src/dialogs/voice-assistant-setup/cloud/cloud-step-signup.ts b/src/dialogs/voice-assistant-setup/cloud/cloud-step-signup.ts index ce795f8e40..11e746cc3a 100644 --- a/src/dialogs/voice-assistant-setup/cloud/cloud-step-signup.ts +++ b/src/dialogs/voice-assistant-setup/cloud/cloud-step-signup.ts @@ -1,19 +1,22 @@ -import { LitElement, css, html } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; +import type { HaPasswordField } from "../../../components/ha-password-field"; +import type { HaTextField } from "../../../components/ha-textfield"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-alert"; import "../../../components/ha-button"; import "../../../components/ha-password-field"; -import type { HaPasswordField } from "../../../components/ha-password-field"; import "../../../components/ha-svg-icon"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; + +import { LitElement, css, html } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { cloudLogin, cloudRegister, cloudResendVerification, } from "../../../data/cloud"; -import type { HomeAssistant } from "../../../types"; import { AssistantSetupStyles } from "../styles"; @customElement("cloud-step-signup") diff --git a/src/dialogs/voice-assistant-setup/styles.ts b/src/dialogs/voice-assistant-setup/styles.ts index 5399e4cd34..5b4c793270 100644 --- a/src/dialogs/voice-assistant-setup/styles.ts +++ b/src/dialogs/voice-assistant-setup/styles.ts @@ -1,4 +1,5 @@ import { css } from "lit"; + import { haStyle } from "../../resources/styles"; export const AssistantSetupStyles = [ diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-dialog.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-dialog.ts index 7b292fe9ed..05960fe450 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-dialog.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-dialog.ts @@ -1,24 +1,12 @@ -import "@material/mwc-button/mwc-button"; -import { mdiChevronLeft, mdiClose, mdiMenuDown } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../common/dom/fire_event"; -import { computeDomain } from "../../common/entity/compute_domain"; -import { formatLanguageCode } from "../../common/language/format_language"; -import "../../components/chips/ha-assist-chip"; -import "../../components/ha-dialog"; -import { getLanguageOptions } from "../../components/ha-language-picker"; -import "../../components/ha-md-button-menu"; import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; -import { fetchAssistSatelliteConfiguration } from "../../data/assist_satellite"; -import { getLanguageScores } from "../../data/conversation"; -import { UNAVAILABLE } from "../../data/entity"; import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; -import { haStyleDialog } from "../../resources/styles"; import type { HomeAssistant } from "../../types"; import type { VoiceAssistantSetupDialogParams } from "./show-voice-assistant-setup-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../components/chips/ha-assist-chip"; +import "../../components/ha-dialog"; +import "../../components/ha-md-button-menu"; import "./voice-assistant-setup-step-area"; import "./voice-assistant-setup-step-change-wake-word"; import "./voice-assistant-setup-step-check"; @@ -28,6 +16,21 @@ import "./voice-assistant-setup-step-pipeline"; import "./voice-assistant-setup-step-success"; import "./voice-assistant-setup-step-update"; import "./voice-assistant-setup-step-wake-word"; +import "@material/mwc-button/mwc-button"; + +import { mdiChevronLeft, mdiClose, mdiMenuDown } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { computeDomain } from "../../common/entity/compute_domain"; +import { formatLanguageCode } from "../../common/language/format_language"; +import { getLanguageOptions } from "../../components/ha-language-picker"; +import { fetchAssistSatelliteConfiguration } from "../../data/assist_satellite"; +import { getLanguageScores } from "../../data/conversation"; +import { UNAVAILABLE } from "../../data/entity"; +import { haStyleDialog } from "../../resources/styles"; export const enum STEP { INIT, diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-area.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-area.ts index 97f451b44b..85247ab80d 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-area.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-area.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../types"; + +import "../../components/ha-area-picker"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; import { updateDeviceRegistryEntry } from "../../data/device_registry"; -import type { HomeAssistant } from "../../types"; import { showAlertDialog } from "../generic/show-dialog-box"; import { AssistantSetupStyles } from "./styles"; -import "../../components/ha-area-picker"; @customElement("ha-voice-assistant-setup-step-area") export class HaVoiceAssistantSetupStepArea extends LitElement { diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-change-wake-word.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-change-wake-word.ts index 20cc50b0db..1008f65ccb 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-change-wake-word.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-change-wake-word.ts @@ -1,11 +1,14 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; +import type { HomeAssistant } from "../../types"; + import "../../components/ha-md-list"; import "../../components/ha-md-list-item"; -import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { setWakeWords } from "../../data/assist_satellite"; -import type { HomeAssistant } from "../../types"; import { AssistantSetupStyles } from "./styles"; import { STEP } from "./voice-assistant-setup-dialog"; diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-check.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-check.ts index 46ad2f99ab..674ad7c9b1 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-check.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-check.ts @@ -1,12 +1,15 @@ -import { html, LitElement, nothing, type PropertyValues } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { HomeAssistant } from "../../types"; + import "../../components/ha-button"; import "../../components/ha-spinner"; + +import { html, LitElement, nothing, type PropertyValues } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { testAssistSatelliteConnection } from "../../data/assist_satellite"; -import type { HomeAssistant } from "../../types"; -import { AssistantSetupStyles } from "./styles"; import { documentationUrl } from "../../util/documentation-url"; +import { AssistantSetupStyles } from "./styles"; @customElement("ha-voice-assistant-setup-step-check") export class HaVoiceAssistantSetupStepCheck extends LitElement { diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-cloud.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-cloud.ts index 793d2dd3ee..35b96c7900 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-cloud.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-cloud.ts @@ -1,9 +1,12 @@ -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { HomeAssistant } from "../../types"; + import "./cloud/cloud-step-intro"; import "./cloud/cloud-step-signin"; import "./cloud/cloud-step-signup"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; import { STEP } from "./voice-assistant-setup-dialog"; diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-local.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-local.ts index 35c0c4a8bb..453536c834 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-local.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-local.ts @@ -1,21 +1,26 @@ -import { mdiOpenInNew } from "@mdi/js"; +import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; + +import "../../components/ha-spinner"; + +import { mdiOpenInNew } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; -import "../../components/ha-spinner"; import { createAssistPipeline, listAssistPipelines, } from "../../data/assist_pipeline"; -import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; import { createConfigFlow, fetchConfigFlowInProgress, handleConfigFlowStep, } from "../../data/config_flow"; +import { listAgents } from "../../data/conversation"; import { type ExtEntityRegistryEntry, getExtendedEntityRegistryEntries, @@ -28,11 +33,9 @@ import { import { listSTTEngines } from "../../data/stt"; import { listTTSEngines, listTTSVoices } from "../../data/tts"; import { fetchWyomingInfo } from "../../data/wyoming"; -import type { HomeAssistant } from "../../types"; import { documentationUrl } from "../../util/documentation-url"; import { AssistantSetupStyles } from "./styles"; import { STEP } from "./voice-assistant-setup-dialog"; -import { listAgents } from "../../data/conversation"; @customElement("ha-voice-assistant-setup-step-local") export class HaVoiceAssistantSetupStepLocal extends LitElement { diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-pipeline.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-pipeline.ts index 415ab4d073..a4c67e37c0 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-pipeline.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-pipeline.ts @@ -1,28 +1,31 @@ +import type { LocalizeFunc } from "../../common/translations/localize"; +import type { SelectBoxOption } from "../../components/ha-select-box"; +import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; +import type { LanguageScore, LanguageScores } from "../../data/conversation"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; + +import "../../components/ha-select-box"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; import { formatLanguageCode } from "../../common/language/format_language"; -import type { LocalizeFunc } from "../../common/translations/localize"; -import "../../components/ha-select-box"; -import type { SelectBoxOption } from "../../components/ha-select-box"; import { createAssistPipeline, listAssistPipelines, } from "../../data/assist_pipeline"; -import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; import { fetchCloudStatus } from "../../data/cloud"; -import type { LanguageScore, LanguageScores } from "../../data/conversation"; import { getLanguageScores, listAgents } from "../../data/conversation"; import { listSTTEngines } from "../../data/stt"; import { listTTSEngines, listTTSVoices } from "../../data/tts"; -import type { HomeAssistant } from "../../types"; +import { documentationUrl } from "../../util/documentation-url"; import { AssistantSetupStyles } from "./styles"; import { STEP } from "./voice-assistant-setup-dialog"; -import { documentationUrl } from "../../util/documentation-url"; const OPTIONS = ["cloud", "focused_local", "full_local"] as const; diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts index 9e8a40f8c5..db7e2960b9 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts @@ -1,30 +1,33 @@ -import { mdiCog, mdiMicrophone, mdiPlay } from "@mdi/js"; +import type { AssistPipeline } from "../../data/assist_pipeline"; +import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; +import type { InputSelectEntity } from "../../data/input_select"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import { stopPropagation } from "../../common/dom/stop_propagation"; + import "../../components/ha-select"; import "../../components/ha-tts-voice-picker"; -import type { AssistPipeline } from "../../data/assist_pipeline"; +import "../../panels/lovelace/entity-rows/hui-select-entity-row"; + +import { mdiCog, mdiMicrophone, mdiPlay } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { stopPropagation } from "../../common/dom/stop_propagation"; import { listAssistPipelines, updateAssistPipeline, } from "../../data/assist_pipeline"; -import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; import { assistSatelliteAnnounce, setWakeWords, } from "../../data/assist_satellite"; import { fetchCloudStatus } from "../../data/cloud"; -import type { InputSelectEntity } from "../../data/input_select"; import { setSelectOption } from "../../data/select"; import { showVoiceAssistantPipelineDetailDialog } from "../../panels/config/voice-assistants/show-dialog-voice-assistant-pipeline-detail"; -import "../../panels/lovelace/entity-rows/hui-select-entity-row"; -import type { HomeAssistant } from "../../types"; +import { getTranslation } from "../../util/common-translation"; import { AssistantSetupStyles } from "./styles"; import { STEP } from "./voice-assistant-setup-dialog"; -import { getTranslation } from "../../util/common-translation"; @customElement("ha-voice-assistant-setup-step-success") export class HaVoiceAssistantSetupStepSuccess extends LitElement { diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-update.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-update.ts index 999197139b..8bde8219ac 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-update.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-update.ts @@ -1,9 +1,13 @@ +import type { HomeAssistant } from "../../types"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-progress-ring"; import "../../components/ha-spinner"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { ON, UNAVAILABLE } from "../../data/entity"; import { updateCanInstall, @@ -11,7 +15,6 @@ import { updateIsInstalling, updateUsesProgress, } from "../../data/update"; -import type { HomeAssistant } from "../../types"; import { AssistantSetupStyles } from "./styles"; @customElement("ha-voice-assistant-setup-step-update") diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts index 521bd934d0..376d4064f3 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts @@ -1,19 +1,22 @@ +import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; +import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; +import type { HomeAssistant } from "../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../components/ha-button"; +import "../../components/ha-dialog-header"; +import "../../components/ha-spinner"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-button"; -import "../../components/ha-spinner"; -import "../../components/ha-dialog-header"; -import type { AssistSatelliteConfiguration } from "../../data/assist_satellite"; +import { computeDomain } from "../../common/entity/compute_domain"; import { interceptWakeWord } from "../../data/assist_satellite"; -import type { HomeAssistant } from "../../types"; import { AssistantSetupStyles } from "./styles"; import { STEP } from "./voice-assistant-setup-dialog"; -import type { EntityRegistryDisplayEntry } from "../../data/entity_registry"; -import { computeDomain } from "../../common/entity/compute_domain"; @customElement("ha-voice-assistant-setup-step-wake-word") export class HaVoiceAssistantSetupStepWakeWord extends LitElement { diff --git a/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts b/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts index 60aa04fb11..336ca2ddbf 100644 --- a/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts +++ b/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts @@ -1,34 +1,37 @@ -import "@material/mwc-button/mwc-button"; -import { - mdiChevronDown, - mdiClose, - mdiHelpCircleOutline, - mdiStar, -} from "@mdi/js"; +import type { AssistPipeline } from "../../data/assist_pipeline"; +import type { HomeAssistant } from "../../types"; +import type { VoiceCommandDialogParams } from "./show-ha-voice-command-dialog"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { storage } from "../../common/decorators/storage"; -import { fireEvent } from "../../common/dom/fire_event"; -import { stopPropagation } from "../../common/dom/stop_propagation"; + +import "../../components/ha-alert"; +import "../../components/ha-assist-chat"; import "../../components/ha-button"; import "../../components/ha-button-menu"; import "../../components/ha-dialog"; import "../../components/ha-dialog-header"; import "../../components/ha-icon-button"; import "../../components/ha-list-item"; -import "../../components/ha-alert"; -import "../../components/ha-assist-chat"; import "../../components/ha-spinner"; -import type { AssistPipeline } from "../../data/assist_pipeline"; +import "@material/mwc-button/mwc-button"; + +import { + mdiChevronDown, + mdiClose, + mdiHelpCircleOutline, + mdiStar, +} from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { storage } from "../../common/decorators/storage"; +import { fireEvent } from "../../common/dom/fire_event"; +import { stopPropagation } from "../../common/dom/stop_propagation"; import { getAssistPipeline, listAssistPipelines, } from "../../data/assist_pipeline"; import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; import { documentationUrl } from "../../util/documentation-url"; -import type { VoiceCommandDialogParams } from "./show-ha-voice-command-dialog"; @customElement("ha-voice-command-dialog") export class HaVoiceCommandDialog extends LitElement { diff --git a/src/dialogs/voice-command-dialog/show-ha-voice-command-dialog.ts b/src/dialogs/voice-command-dialog/show-ha-voice-command-dialog.ts index 2ac41a5d9a..64953ec149 100644 --- a/src/dialogs/voice-command-dialog/show-ha-voice-command-dialog.ts +++ b/src/dialogs/voice-command-dialog/show-ha-voice-command-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { HomeAssistant } from "../../types"; +import { fireEvent } from "../../common/dom/fire_event"; + const loadVoiceCommandDialog = () => import("./ha-voice-command-dialog"); export interface VoiceCommandDialogParams { diff --git a/src/entrypoints/app.ts b/src/entrypoints/app.ts index 21230d7cb6..2a2432502c 100644 --- a/src/entrypoints/app.ts +++ b/src/entrypoints/app.ts @@ -1,5 +1,5 @@ -import "@webcomponents/scoped-custom-element-registry/scoped-custom-element-registry.min"; import "../layouts/home-assistant"; +import "@webcomponents/scoped-custom-element-registry/scoped-custom-element-registry.min"; import("../resources/ha-style"); import("@polymer/polymer/lib/utils/settings").then( diff --git a/src/entrypoints/core.ts b/src/entrypoints/core.ts index e8549e265d..8ff2ec9d93 100644 --- a/src/entrypoints/core.ts +++ b/src/entrypoints/core.ts @@ -1,4 +1,7 @@ +import type { WindowWithPreloads } from "../data/preloads"; +import type { ExternalAuth } from "../external_app/external_auth"; import type { Auth, Connection } from "home-assistant-js-websocket"; + import { createConnection, ERR_INVALID_AUTH, @@ -7,6 +10,7 @@ import { subscribeEntities, subscribeServices, } from "home-assistant-js-websocket"; + import { loadTokens, saveTokens } from "../common/auth/token_storage"; import { hassUrl } from "../data/auth"; import { isExternal } from "../data/external"; @@ -14,7 +18,6 @@ import { subscribeFrontendUserData } from "../data/frontend"; import { fetchConfig } from "../data/lovelace/config/types"; import { fetchResources } from "../data/lovelace/resource"; import { MAIN_WINDOW_NAME } from "../data/main_window"; -import type { WindowWithPreloads } from "../data/preloads"; import { getRecorderInfo } from "../data/recorder"; import { subscribeRepairsIssueRegistry } from "../data/repairs"; import { subscribeAreaRegistry } from "../data/ws-area_registry"; @@ -24,7 +27,6 @@ import { subscribeFloorRegistry } from "../data/ws-floor_registry"; import { subscribePanels } from "../data/ws-panels"; import { subscribeThemes } from "../data/ws-themes"; import { subscribeUser } from "../data/ws-user"; -import type { ExternalAuth } from "../external_app/external_auth"; window.name = MAIN_WINDOW_NAME; (window as any).frontendVersion = __VERSION__; diff --git a/src/entrypoints/custom-panel.ts b/src/entrypoints/custom-panel.ts index 7e62974eef..18153228dc 100644 --- a/src/entrypoints/custom-panel.ts +++ b/src/entrypoints/custom-panel.ts @@ -1,10 +1,11 @@ +import type { CustomPanelInfo } from "../data/panel_custom"; import type { CSSResult } from "lit"; + import { fireEvent } from "../common/dom/fire_event"; import { isNavigationClick } from "../common/dom/is-navigation-click"; import { loadJS } from "../common/dom/load_resource"; import { webComponentsSupported } from "../common/feature-detect/support-web-components"; import { navigate } from "../common/navigate"; -import type { CustomPanelInfo } from "../data/panel_custom"; import { baseEntrypointStyles } from "../resources/styles"; import { createCustomPanelElement } from "../util/custom-panel/create-custom-panel-element"; import { loadCustomPanel } from "../util/custom-panel/load-custom-panel"; diff --git a/src/entrypoints/service-worker.ts b/src/entrypoints/service-worker.ts index 9df16df372..89e5c42be0 100644 --- a/src/entrypoints/service-worker.ts +++ b/src/entrypoints/service-worker.ts @@ -1,10 +1,11 @@ -/* eslint-disable @typescript-eslint/triple-slash-reference */ + + +import type { RouteHandler } from "workbox-core"; /// /* eslint-env serviceworker */ -import type { RouteHandler } from "workbox-core"; -import { cacheNames } from "workbox-core"; import { CacheableResponsePlugin } from "workbox-cacheable-response"; +import { cacheNames } from "workbox-core"; import { ExpirationPlugin } from "workbox-expiration"; import { cleanupOutdatedCaches, precacheAndRoute } from "workbox-precaching"; import { registerRoute, setCatchHandler } from "workbox-routing"; diff --git a/src/external_app/external_app_entrypoint.ts b/src/external_app/external_app_entrypoint.ts index e5aac787a8..b8fdaf3900 100644 --- a/src/external_app/external_app_entrypoint.ts +++ b/src/external_app/external_app_entrypoint.ts @@ -5,9 +5,6 @@ in core bundle slows things down and causes duplicate registration. This is the entry point for providing external app stuff from app entrypoint. */ -import { fireEvent } from "../common/dom/fire_event"; -import { mainWindow } from "../common/dom/get_main_window"; -import { showAutomationEditor } from "../data/automation"; import type { HomeAssistantMain } from "../layouts/home-assistant-main"; import type { EMIncomingMessageBarCodeScanAborted, @@ -16,6 +13,10 @@ import type { ImprovDiscoveredDevice, } from "./external_messaging"; +import { fireEvent } from "../common/dom/fire_event"; +import { mainWindow } from "../common/dom/get_main_window"; +import { showAutomationEditor } from "../data/automation"; + const barCodeListeners = new Set< ( msg: diff --git a/src/external_app/external_auth.ts b/src/external_app/external_auth.ts index b47e62ed19..afb01c5498 100644 --- a/src/external_app/external_auth.ts +++ b/src/external_app/external_auth.ts @@ -1,8 +1,10 @@ +import type { EMMessage } from "./external_messaging"; + /** * Auth class that connects to a native app for authentication. */ import { Auth } from "home-assistant-js-websocket"; -import type { EMMessage } from "./external_messaging"; + import { ExternalMessaging } from "./external_messaging"; const CALLBACK_SET_TOKEN = "externalAuthSetToken"; diff --git a/src/fake_data/demo_config.ts b/src/fake_data/demo_config.ts index 4dd3f34b15..18b9aad156 100644 --- a/src/fake_data/demo_config.ts +++ b/src/fake_data/demo_config.ts @@ -1,4 +1,5 @@ import type { HassConfig } from "home-assistant-js-websocket"; + import { STATE_RUNNING } from "home-assistant-js-websocket"; export const demoConfig: HassConfig = { diff --git a/src/fake_data/entity.ts b/src/fake_data/entity.ts index 3f4a523a62..fb90082629 100644 --- a/src/fake_data/entity.ts +++ b/src/fake_data/entity.ts @@ -3,6 +3,7 @@ import type { HassEntity, HassEntityAttributeBase, } from "home-assistant-js-websocket"; + import { supportsFeature } from "../common/entity/supports-feature"; import { ClimateEntityFeature } from "../data/climate"; diff --git a/src/fake_data/provide_hass.ts b/src/fake_data/provide_hass.ts index 9317c11f85..d32e3c3444 100644 --- a/src/fake_data/provide_hass.ts +++ b/src/fake_data/provide_hass.ts @@ -1,4 +1,7 @@ +import type { HomeAssistant } from "../types"; +import type { Entity } from "./entity"; import type { HassEntities, HassEntity } from "home-assistant-js-websocket"; + import { applyThemesOnElement, invalidateThemeCache, @@ -15,12 +18,10 @@ import { TimeZone, } from "../data/translation"; import { translationMetadata } from "../resources/translations-metadata"; -import type { HomeAssistant } from "../types"; import { getLocalLanguage, getTranslation } from "../util/common-translation"; import { demoConfig } from "./demo_config"; import { demoPanels } from "./demo_panels"; import { demoServices } from "./demo_services"; -import type { Entity } from "./entity"; import { getEntity } from "./entity"; const ensureArray = (val: T | T[]): T[] => diff --git a/src/layouts/ha-init-page.ts b/src/layouts/ha-init-page.ts index 84cd396569..713ee336fc 100644 --- a/src/layouts/ha-init-page.ts +++ b/src/layouts/ha-init-page.ts @@ -1,4 +1,5 @@ import type { PropertyValues } from "lit"; + import { css, html, LitElement } from "lit"; import { property, state } from "lit/decorators"; diff --git a/src/layouts/hass-error-screen.ts b/src/layouts/hass-error-screen.ts index 461bd3fc3c..2d8867eddd 100644 --- a/src/layouts/hass-error-screen.ts +++ b/src/layouts/hass-error-screen.ts @@ -1,11 +1,13 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + +import "../components/ha-alert"; import "../components/ha-icon-button-arrow-prev"; import "../components/ha-menu-button"; -import type { HomeAssistant } from "../types"; -import "../components/ha-alert"; +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("hass-error-screen") class HassErrorScreen extends LitElement { diff --git a/src/layouts/hass-loading-screen.ts b/src/layouts/hass-loading-screen.ts index 3aa2f5d672..e6036e1483 100644 --- a/src/layouts/hass-loading-screen.ts +++ b/src/layouts/hass-loading-screen.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../components/ha-spinner"; + import "../components/ha-icon-button-arrow-prev"; import "../components/ha-menu-button"; +import "../components/ha-spinner"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("hass-loading-screen") class HassLoadingScreen extends LitElement { diff --git a/src/layouts/hass-router-page.ts b/src/layouts/hass-router-page.ts index 0b3eee8ab8..f113d9cf46 100644 --- a/src/layouts/hass-router-page.ts +++ b/src/layouts/hass-router-page.ts @@ -1,9 +1,11 @@ +import type { Route } from "../types"; import type { PropertyValues } from "lit"; + import { ReactiveElement } from "lit"; import { property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { navigate } from "../common/navigate"; -import type { Route } from "../types"; const extractPage = (path: string, defaultPage: string) => { if (path === "") { diff --git a/src/layouts/hass-subpage.ts b/src/layouts/hass-subpage.ts index 2c411b0478..5ad42f02ac 100644 --- a/src/layouts/hass-subpage.ts +++ b/src/layouts/hass-subpage.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, eventOptions, property } from "lit/decorators"; -import { restoreScroll } from "../common/decorators/restore-scroll"; + import "../components/ha-icon-button-arrow-prev"; import "../components/ha-menu-button"; -import type { HomeAssistant } from "../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, eventOptions, property } from "lit/decorators"; + +import { restoreScroll } from "../common/decorators/restore-scroll"; import { haStyleScrollbar } from "../resources/styles"; @customElement("hass-subpage") diff --git a/src/layouts/hass-tabs-subpage-data-table.ts b/src/layouts/hass-tabs-subpage-data-table.ts index 6baa894ff5..031bb13d54 100644 --- a/src/layouts/hass-tabs-subpage-data-table.ts +++ b/src/layouts/hass-tabs-subpage-data-table.ts @@ -1,5 +1,27 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; +import type { LocalizeFunc } from "../common/translations/localize"; +import type { + DataTableColumnContainer, + DataTableRowData, + HaDataTable, + SortingDirection, +} from "../components/data-table/ha-data-table"; +import type { HomeAssistant, Route } from "../types"; +import type { PageNavigation } from "./hass-tabs-subpage"; +import type { TemplateResult } from "lit"; + +import "../components/chips/ha-assist-chip"; +import "../components/chips/ha-filter-chip"; +import "../components/data-table/ha-data-table"; +import "../components/ha-dialog"; +import "../components/ha-dialog-header"; +import "../components/ha-md-button-menu"; +import "../components/ha-md-divider"; +import "../components/ha-md-menu-item"; +import "../components/search-input-outlined"; +import "./hass-tabs-subpage"; import "@material/mwc-button/mwc-button"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; import { mdiArrowDown, mdiArrowUp, @@ -12,30 +34,11 @@ import { mdiUnfoldLessHorizontal, mdiUnfoldMoreHorizontal, } from "@mdi/js"; -import type { TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../common/dom/fire_event"; -import type { LocalizeFunc } from "../common/translations/localize"; -import "../components/chips/ha-assist-chip"; -import "../components/chips/ha-filter-chip"; -import "../components/data-table/ha-data-table"; -import type { - DataTableColumnContainer, - DataTableRowData, - HaDataTable, - SortingDirection, -} from "../components/data-table/ha-data-table"; -import "../components/ha-md-button-menu"; -import "../components/ha-dialog"; -import "../components/ha-dialog-header"; -import "../components/ha-md-divider"; -import "../components/ha-md-menu-item"; -import "../components/search-input-outlined"; -import type { HomeAssistant, Route } from "../types"; -import "./hass-tabs-subpage"; -import type { PageNavigation } from "./hass-tabs-subpage"; import { showDataTableSettingsDialog } from "../components/data-table/show-dialog-data-table-settings"; import { KeyboardShortcutMixin } from "../mixins/keyboard-shortcut-mixin"; diff --git a/src/layouts/hass-tabs-subpage.ts b/src/layouts/hass-tabs-subpage.ts index ca930a01b5..97fcf2113a 100644 --- a/src/layouts/hass-tabs-subpage.ts +++ b/src/layouts/hass-tabs-subpage.ts @@ -1,17 +1,20 @@ -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, eventOptions, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import { restoreScroll } from "../common/decorators/restore-scroll"; import type { LocalizeFunc } from "../common/translations/localize"; +import type { HomeAssistant, Route } from "../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + import "../components/ha-icon-button-arrow-prev"; import "../components/ha-menu-button"; import "../components/ha-svg-icon"; import "../components/ha-tab"; -import type { HomeAssistant, Route } from "../types"; -import { haStyleScrollbar } from "../resources/styles"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, eventOptions, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + import { canShowPage } from "../common/config/can_show_page"; +import { restoreScroll } from "../common/decorators/restore-scroll"; +import { haStyleScrollbar } from "../resources/styles"; export interface PageNavigation { path: string; diff --git a/src/layouts/home-assistant-main.ts b/src/layouts/home-assistant-main.ts index 831ac020c8..baddd8cd53 100644 --- a/src/layouts/home-assistant-main.ts +++ b/src/layouts/home-assistant-main.ts @@ -1,15 +1,18 @@ +import type { HASSDomEvent } from "../common/dom/fire_event"; +import type { HomeAssistant, Route } from "../types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../components/ha-drawer"; +import "./partial-panel-resolver"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { HASSDomEvent } from "../common/dom/fire_event"; + import { fireEvent } from "../common/dom/fire_event"; import { listenMediaQuery } from "../common/dom/media_query"; import { toggleAttribute } from "../common/dom/toggle_attribute"; -import "../components/ha-drawer"; -import { showNotificationDrawer } from "../dialogs/notifications/show-notification-drawer"; -import type { HomeAssistant, Route } from "../types"; -import "./partial-panel-resolver"; import { computeRTLDirection } from "../common/util/compute_rtl"; +import { showNotificationDrawer } from "../dialogs/notifications/show-notification-drawer"; declare global { // for fire event diff --git a/src/layouts/home-assistant.ts b/src/layouts/home-assistant.ts index 1e6064cfc1..2d1944c3de 100644 --- a/src/layouts/home-assistant.ts +++ b/src/layouts/home-assistant.ts @@ -1,17 +1,23 @@ +import type { WindowWithPreloads } from "../data/preloads"; +import type { RecorderInfo } from "../data/recorder"; +import type { HomeAssistant, Route } from "../types"; +import type { Connection } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../resources/custom-card-support"; +import "./ha-init-page"; +import "./home-assistant-main"; + import { html } from "lit"; import { customElement, state } from "lit/decorators"; -import type { Connection } from "home-assistant-js-websocket"; + +import { storage } from "../common/decorators/storage"; import { isNavigationClick } from "../common/dom/is-navigation-click"; import { navigate } from "../common/navigate"; import { getStorageDefaultPanelUrlPath } from "../data/panel"; -import type { WindowWithPreloads } from "../data/preloads"; -import type { RecorderInfo } from "../data/recorder"; import { getRecorderInfo } from "../data/recorder"; -import "../resources/custom-card-support"; import { HassElement } from "../state/hass-element"; import QuickBarMixin from "../state/quick-bar-mixin"; -import type { HomeAssistant, Route } from "../types"; import { storeState } from "../util/ha-pref-storage"; import { removeLaunchScreen, @@ -21,9 +27,6 @@ import { registerServiceWorker, supportsServiceWorker, } from "../util/register-service-worker"; -import "./ha-init-page"; -import "./home-assistant-main"; -import { storage } from "../common/decorators/storage"; const useHash = __DEMO__; const curPath = () => diff --git a/src/layouts/partial-panel-resolver.ts b/src/layouts/partial-panel-resolver.ts index 1a8b665e48..d5a947266b 100644 --- a/src/layouts/partial-panel-resolver.ts +++ b/src/layouts/partial-panel-resolver.ts @@ -1,17 +1,19 @@ +import type { CustomPanelInfo } from "../data/panel_custom"; +import type { HomeAssistant, Panels } from "../types"; +import type { RouteOptions, RouterOptions } from "./hass-router-page"; +import type { PropertyValues } from "lit"; + import { STATE_NOT_RUNNING, STATE_RUNNING, STATE_STARTING, } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { customElement, property } from "lit/decorators"; + import { deepActiveElement } from "../common/dom/deep-active-element"; import { deepEqual } from "../common/util/deep-equal"; import { getDefaultPanel } from "../data/panel"; -import type { CustomPanelInfo } from "../data/panel_custom"; -import type { HomeAssistant, Panels } from "../types"; import { removeLaunchScreen } from "../util/launch-screen"; -import type { RouteOptions, RouterOptions } from "./hass-router-page"; import { HassRouterPage } from "./hass-router-page"; const CACHE_URL_PATHS = ["lovelace", "developer-tools"]; diff --git a/src/layouts/supervisor-error-screen.ts b/src/layouts/supervisor-error-screen.ts index 503fe9a7aa..f198c946a4 100644 --- a/src/layouts/supervisor-error-screen.ts +++ b/src/layouts/supervisor-error-screen.ts @@ -1,13 +1,16 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../components/ha-card"; +import "./hass-subpage"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { atLeastVersion } from "../common/config/version"; import { applyThemesOnElement } from "../common/dom/apply_themes_on_element"; -import "../components/ha-card"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; -import "./hass-subpage"; @customElement("supervisor-error-screen") class SupervisorErrorScreen extends LitElement { diff --git a/src/managers/notification-manager.ts b/src/managers/notification-manager.ts index 2e506c2514..8170b01a4c 100644 --- a/src/managers/notification-manager.ts +++ b/src/managers/notification-manager.ts @@ -1,11 +1,13 @@ +import type { HaToast } from "../components/ha-toast"; +import type { HomeAssistant } from "../types"; + +import "../components/ha-button"; +import "../components/ha-icon-button"; +import "../components/ha-toast"; + import { mdiClose } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { property, query, state } from "lit/decorators"; -import "../components/ha-button"; -import "../components/ha-toast"; -import "../components/ha-icon-button"; -import type { HaToast } from "../components/ha-toast"; -import type { HomeAssistant } from "../types"; export interface ShowToastParams { // Unique ID for the toast. If a new toast is shown with the same ID as the previous toast, it will be replaced to avoid flickering. diff --git a/src/mixins/keyboard-shortcut-mixin.ts b/src/mixins/keyboard-shortcut-mixin.ts index 6b89a443aa..22a7d56266 100644 --- a/src/mixins/keyboard-shortcut-mixin.ts +++ b/src/mixins/keyboard-shortcut-mixin.ts @@ -1,5 +1,5 @@ -import type { LitElement } from "lit"; import type { Constructor } from "../types"; +import type { LitElement } from "lit"; declare global { type SupportedShortcuts = Record void>; diff --git a/src/mixins/lit-localize-lite-mixin.ts b/src/mixins/lit-localize-lite-mixin.ts index 2f2b4b9094..7f29982773 100644 --- a/src/mixins/lit-localize-lite-mixin.ts +++ b/src/mixins/lit-localize-lite-mixin.ts @@ -1,11 +1,13 @@ -import type { LitElement, PropertyValues } from "lit"; -import { property, state } from "lit/decorators"; import type { LocalizeFunc } from "../common/translations/localize"; -import { computeLocalize } from "../common/translations/localize"; import type { Constructor, Resources } from "../types"; -import { getLocalLanguage, getTranslation } from "../util/common-translation"; -import { translationMetadata } from "../resources/translations-metadata"; +import type { LitElement, PropertyValues } from "lit"; + +import { property, state } from "lit/decorators"; + +import { computeLocalize } from "../common/translations/localize"; import { computeDirectionStyles } from "../common/util/compute_rtl"; +import { translationMetadata } from "../resources/translations-metadata"; +import { getLocalLanguage, getTranslation } from "../util/common-translation"; const empty = () => ""; diff --git a/src/mixins/prevent-unsaved-mixin.ts b/src/mixins/prevent-unsaved-mixin.ts index b89bf286e7..c81a2c67d1 100644 --- a/src/mixins/prevent-unsaved-mixin.ts +++ b/src/mixins/prevent-unsaved-mixin.ts @@ -1,6 +1,7 @@ -import type { LitElement, PropertyValues } from "lit"; -import { isNavigationClick } from "../common/dom/is-navigation-click"; import type { Constructor } from "../types"; +import type { LitElement, PropertyValues } from "lit"; + +import { isNavigationClick } from "../common/dom/is-navigation-click"; export const PreventUnsavedMixin = >( superClass: T diff --git a/src/mixins/provide-hass-lit-mixin.ts b/src/mixins/provide-hass-lit-mixin.ts index 13aab5541b..145bfcc08a 100644 --- a/src/mixins/provide-hass-lit-mixin.ts +++ b/src/mixins/provide-hass-lit-mixin.ts @@ -1,5 +1,5 @@ -import type { PropertyValues, ReactiveElement } from "lit"; import type { Constructor, HomeAssistant } from "../types"; +import type { PropertyValues, ReactiveElement } from "lit"; export interface ProvideHassElement { provideHass(element: HTMLElement); diff --git a/src/mixins/subscribe-mixin.ts b/src/mixins/subscribe-mixin.ts index d7fa371b85..f8928d0879 100644 --- a/src/mixins/subscribe-mixin.ts +++ b/src/mixins/subscribe-mixin.ts @@ -1,7 +1,8 @@ +import type { Constructor, HomeAssistant } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues, ReactiveElement } from "lit"; + import { property } from "lit/decorators"; -import type { Constructor, HomeAssistant } from "../types"; export interface HassSubscribeElement { hassSubscribe(): UnsubscribeFunc[]; diff --git a/src/onboarding/dialogs/app-dialog.ts b/src/onboarding/dialogs/app-dialog.ts index 5be88e0486..18a6458de5 100644 --- a/src/onboarding/dialogs/app-dialog.ts +++ b/src/onboarding/dialogs/app-dialog.ts @@ -1,6 +1,8 @@ +import type { LocalizeFunc } from "../../common/translations/localize"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import type { LocalizeFunc } from "../../common/translations/localize"; + import { fireEvent } from "../../common/dom/fire_event"; import { createCloseHeading } from "../../components/ha-dialog"; diff --git a/src/onboarding/dialogs/community-dialog.ts b/src/onboarding/dialogs/community-dialog.ts index 629349676c..35366e335d 100644 --- a/src/onboarding/dialogs/community-dialog.ts +++ b/src/onboarding/dialogs/community-dialog.ts @@ -1,11 +1,14 @@ +import type { LocalizeFunc } from "../../common/translations/localize"; + +import "../../components/ha-list-item"; import "@material/mwc-list/mwc-list"; + import { mdiOpenInNew } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../common/translations/localize"; import { createCloseHeading } from "../../components/ha-dialog"; -import "../../components/ha-list-item"; @customElement("community-dialog") class DialogCommunity extends LitElement { diff --git a/src/onboarding/dialogs/show-app-dialog.ts b/src/onboarding/dialogs/show-app-dialog.ts index 21aba8cc62..7fece1c693 100644 --- a/src/onboarding/dialogs/show-app-dialog.ts +++ b/src/onboarding/dialogs/show-app-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { LocalizeFunc } from "../../common/translations/localize"; +import { fireEvent } from "../../common/dom/fire_event"; + export const loadAppDialog = () => import("./app-dialog"); export const showAppDialog = ( diff --git a/src/onboarding/dialogs/show-community-dialog.ts b/src/onboarding/dialogs/show-community-dialog.ts index 72916daaff..06ae60b013 100644 --- a/src/onboarding/dialogs/show-community-dialog.ts +++ b/src/onboarding/dialogs/show-community-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { LocalizeFunc } from "../../common/translations/localize"; +import { fireEvent } from "../../common/dom/fire_event"; + export const loadCommunityDialog = () => import("./community-dialog"); export const showCommunityDialog = ( diff --git a/src/onboarding/ha-onboarding.ts b/src/onboarding/ha-onboarding.ts index ca926802b8..8bab03cc89 100644 --- a/src/onboarding/ha-onboarding.ts +++ b/src/onboarding/ha-onboarding.ts @@ -1,50 +1,53 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; +import type { HASSDomEvent } from "../common/dom/fire_event"; +import type { AuthUrlSearchParams } from "../data/auth"; +import type { OnboardingResponses, OnboardingStep } from "../data/onboarding"; +import type { HomeAssistant } from "../types"; import type { Auth } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../components/ha-card"; +import "./onboarding-analytics"; +import "./onboarding-create-user"; +import "./onboarding-loading"; +import "./onboarding-welcome"; +import "./onboarding-welcome-links"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + import { createConnection, genClientId, getAuth, subscribeConfig, } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { enableWrite, loadTokens, saveTokens, } from "../common/auth/token_storage"; import { applyThemesOnElement } from "../common/dom/apply_themes_on_element"; -import type { HASSDomEvent } from "../common/dom/fire_event"; +import { mainWindow } from "../common/dom/get_main_window"; +import { navigate } from "../common/navigate"; import { addSearchParam, extractSearchParam, extractSearchParamsObject, } from "../common/url/search-params"; import { subscribeOne } from "../common/util/subscribe-one"; -import "../components/ha-card"; -import type { AuthUrlSearchParams } from "../data/auth"; import { hassUrl } from "../data/auth"; -import type { OnboardingResponses, OnboardingStep } from "../data/onboarding"; import { fetchInstallationType, fetchOnboardingOverview, onboardIntegrationStep, } from "../data/onboarding"; import { subscribeUser } from "../data/ws-user"; +import { makeDialogManager } from "../dialogs/make-dialog-manager"; import { litLocalizeLiteMixin } from "../mixins/lit-localize-lite-mixin"; import { HassElement } from "../state/hass-element"; -import type { HomeAssistant } from "../types"; import { storeState } from "../util/ha-pref-storage"; import { registerServiceWorker } from "../util/register-service-worker"; -import "./onboarding-analytics"; -import "./onboarding-create-user"; -import "./onboarding-loading"; -import "./onboarding-welcome"; -import "./onboarding-welcome-links"; -import { makeDialogManager } from "../dialogs/make-dialog-manager"; -import { navigate } from "../common/navigate"; -import { mainWindow } from "../common/dom/get_main_window"; type OnboardingEvent = | { diff --git a/src/onboarding/integration-badge.ts b/src/onboarding/integration-badge.ts index a35aa2a954..34dcfdd35d 100644 --- a/src/onboarding/integration-badge.ts +++ b/src/onboarding/integration-badge.ts @@ -1,6 +1,8 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { brandsUrl } from "../util/brands-url"; @customElement("integration-badge") diff --git a/src/onboarding/onboarding-analytics.ts b/src/onboarding/onboarding-analytics.ts index be08ccb5fd..cda6df4212 100644 --- a/src/onboarding/onboarding-analytics.ts +++ b/src/onboarding/onboarding-analytics.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button/mwc-button"; -import { mdiOpenInNew } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import type { LocalizeFunc } from "../common/translations/localize"; +import type { Analytics } from "../data/analytics"; +import type { HomeAssistant } from "../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + import "../components/ha-analytics"; import "../components/ha-svg-icon"; -import type { Analytics } from "../data/analytics"; +import "@material/mwc-button/mwc-button"; + +import { mdiOpenInNew } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; import { setAnalyticsPreferences } from "../data/analytics"; import { onboardAnalyticsStep } from "../data/onboarding"; -import type { HomeAssistant } from "../types"; import { documentationUrl } from "../util/documentation-url"; import { onBoardingStyles } from "./styles"; diff --git a/src/onboarding/onboarding-core-config.ts b/src/onboarding/onboarding-core-config.ts index 99ad56d5e3..48a45d4841 100644 --- a/src/onboarding/onboarding-core-config.ts +++ b/src/onboarding/onboarding-core-config.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button/mwc-button"; -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { LOCAL_TIME_ZONE } from "../common/datetime/resolve-time-zone"; -import { fireEvent } from "../common/dom/fire_event"; import type { LocalizeFunc } from "../common/translations/localize"; +import type { ConfigUpdateValues } from "../data/core"; +import type { HomeAssistant, ValueChangedEvent } from "../types"; +import type { PropertyValues, TemplateResult } from "lit"; + import "../components/ha-alert"; import "../components/ha-spinner"; +import "./onboarding-location"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { LOCAL_TIME_ZONE } from "../common/datetime/resolve-time-zone"; +import { fireEvent } from "../common/dom/fire_event"; import { COUNTRIES } from "../components/ha-country-picker"; -import type { ConfigUpdateValues } from "../data/core"; import { saveCoreConfig } from "../data/core"; import { countryCurrency } from "../data/currency"; import { onboardCoreConfigStep } from "../data/onboarding"; -import type { HomeAssistant, ValueChangedEvent } from "../types"; import { getLocalLanguage } from "../util/common-translation"; -import "./onboarding-location"; @customElement("onboarding-core-config") class OnboardingCoreConfig extends LitElement { diff --git a/src/onboarding/onboarding-create-user.ts b/src/onboarding/onboarding-create-user.ts index 5f9d333e94..85ea9c226a 100644 --- a/src/onboarding/onboarding-create-user.ts +++ b/src/onboarding/onboarding-create-user.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button"; -import { genClientId } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../common/dom/fire_event"; import type { LocalizeFunc } from "../common/translations/localize"; -import "../components/ha-form/ha-form"; import type { HaForm } from "../components/ha-form/ha-form"; import type { HaFormDataContainer, HaFormSchema, } from "../components/ha-form/types"; -import { onboardUserStep } from "../data/onboarding"; import type { ValueChangedEvent } from "../types"; -import { onBoardingStyles } from "./styles"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../components/ha-form/ha-form"; +import "@material/mwc-button"; + +import { genClientId } from "home-assistant-js-websocket"; +import { html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; import { debounce } from "../common/util/debounce"; +import { onboardUserStep } from "../data/onboarding"; +import { onBoardingStyles } from "./styles"; const CHECK_USERNAME_REGEX = /\s|[A-Z]/; diff --git a/src/onboarding/onboarding-integrations.ts b/src/onboarding/onboarding-integrations.ts index eb01504801..8b32a248c3 100644 --- a/src/onboarding/onboarding-integrations.ts +++ b/src/onboarding/onboarding-integrations.ts @@ -1,20 +1,23 @@ +import type { LocalizeFunc } from "../common/translations/localize"; +import type { ConfigEntry } from "../data/config_entries"; +import type { HomeAssistant } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../components/ha-button"; +import "./integration-badge"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../common/config/is_component_loaded"; import { fireEvent } from "../common/dom/fire_event"; import { stringCompare } from "../common/string/compare"; -import type { LocalizeFunc } from "../common/translations/localize"; -import "../components/ha-button"; -import type { ConfigEntry } from "../data/config_entries"; import { subscribeConfigEntries } from "../data/config_entries"; import { subscribeConfigFlowInProgress } from "../data/config_flow"; import { domainToName } from "../data/integration"; import { scanUSBDevices } from "../data/usb"; import { SubscribeMixin } from "../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../types"; -import "./integration-badge"; import { onBoardingStyles } from "./styles"; const HIDDEN_DOMAINS = new Set([ diff --git a/src/onboarding/onboarding-loading.ts b/src/onboarding/onboarding-loading.ts index 6f8c4157e8..a18e2f8a63 100644 --- a/src/onboarding/onboarding-loading.ts +++ b/src/onboarding/onboarding-loading.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement } from "lit/decorators"; diff --git a/src/onboarding/onboarding-location.ts b/src/onboarding/onboarding-location.ts index 44bf2fe0ff..1fa4ca52a8 100644 --- a/src/onboarding/onboarding-location.ts +++ b/src/onboarding/onboarding-location.ts @@ -1,35 +1,38 @@ +import type { LocalizeFunc } from "../common/translations/localize"; +import type { HaTextField } from "../components/ha-textfield"; +import type { + HaLocationsEditor, + MarkerLocation, +} from "../components/map/ha-locations-editor"; +import type { ConfigUpdateValues } from "../data/core"; +import type { OpenStreetMapPlace } from "../data/openstreetmap"; +import type { HomeAssistant } from "../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../components/ha-alert"; +import "../components/ha-formfield"; +import "../components/ha-list-item"; +import "../components/ha-radio"; +import "../components/ha-spinner"; +import "../components/ha-textfield"; +import "../components/map/ha-locations-editor"; import "@material/mwc-button/mwc-button"; import "@material/mwc-list/mwc-list"; + import { mdiCrosshairsGps, mdiMagnify, mdiMapMarker, mdiMapSearchOutline, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../common/dom/fire_event"; -import type { LocalizeFunc } from "../common/translations/localize"; -import "../components/ha-alert"; -import "../components/ha-spinner"; -import "../components/ha-formfield"; -import "../components/ha-list-item"; -import "../components/ha-radio"; -import "../components/ha-textfield"; -import type { HaTextField } from "../components/ha-textfield"; -import "../components/map/ha-locations-editor"; -import type { - HaLocationsEditor, - MarkerLocation, -} from "../components/map/ha-locations-editor"; -import type { ConfigUpdateValues } from "../data/core"; import { detectCoreConfig } from "../data/core"; -import type { OpenStreetMapPlace } from "../data/openstreetmap"; import { reverseGeocode, searchPlaces } from "../data/openstreetmap"; import { showConfirmationDialog } from "../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../types"; import { onBoardingStyles } from "./styles"; const AMSTERDAM: [number, number] = [52.3731339, 4.8903147]; diff --git a/src/onboarding/onboarding-restore-backup.ts b/src/onboarding/onboarding-restore-backup.ts index 2aa26148a8..3c215861b3 100644 --- a/src/onboarding/onboarding-restore-backup.ts +++ b/src/onboarding/onboarding-restore-backup.ts @@ -1,23 +1,26 @@ +import type { LocalizeFunc } from "../common/translations/localize"; +import type { CloudStatus } from "../data/cloud"; import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; + +import "./onboarding-loading"; import "./restore-backup/onboarding-restore-backup-restore"; import "./restore-backup/onboarding-restore-backup-status"; -import type { LocalizeFunc } from "../common/translations/localize"; -import "./onboarding-loading"; -import { removeSearchParam } from "../common/url/search-params"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { storage } from "../common/decorators/storage"; import { navigate } from "../common/navigate"; -import { onBoardingStyles } from "./styles"; +import { removeSearchParam } from "../common/url/search-params"; +import { CLOUD_AGENT, type BackupContentExtended } from "../data/backup"; import { fetchBackupOnboardingInfo, type BackupOnboardingConfig, type BackupOnboardingInfo, } from "../data/backup_onboarding"; -import { CLOUD_AGENT, type BackupContentExtended } from "../data/backup"; -import { storage } from "../common/decorators/storage"; import { fetchHaCloudStatus, signOutHaCloud } from "../data/onboarding"; -import type { CloudStatus } from "../data/cloud"; import { showToast } from "../util/toast"; +import { onBoardingStyles } from "./styles"; const STATUS_INTERVAL_IN_MS = 5000; diff --git a/src/onboarding/onboarding-welcome-link.ts b/src/onboarding/onboarding-welcome-link.ts index 40e8503fd5..e352ad0e8d 100644 --- a/src/onboarding/onboarding-welcome-link.ts +++ b/src/onboarding/onboarding-welcome-link.ts @@ -1,10 +1,12 @@ import type { TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/ha-card"; import "../components/ha-ripple"; import "../components/ha-svg-icon"; +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("onboarding-welcome-link") class OnboardingWelcomeLink extends LitElement { @property() public label!: string; diff --git a/src/onboarding/onboarding-welcome-links.ts b/src/onboarding/onboarding-welcome-links.ts index c52a3f075d..7b0d573565 100644 --- a/src/onboarding/onboarding-welcome-links.ts +++ b/src/onboarding/onboarding-welcome-links.ts @@ -1,13 +1,16 @@ -import { mdiAccountGroup, mdiFileDocument, mdiTabletCellphone } from "@mdi/js"; +import type { LocalizeFunc } from "../common/translations/localize"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "../components/ha-card"; +import "./onboarding-welcome-link"; + +import { mdiAccountGroup, mdiFileDocument, mdiTabletCellphone } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import type { LocalizeFunc } from "../common/translations/localize"; -import "../components/ha-card"; -import type { HomeAssistant } from "../types"; + import { showAppDialog } from "./dialogs/show-app-dialog"; import { showCommunityDialog } from "./dialogs/show-community-dialog"; -import "./onboarding-welcome-link"; @customElement("onboarding-welcome-links") class OnboardingWelcomeLinks extends LitElement { diff --git a/src/onboarding/onboarding-welcome.ts b/src/onboarding/onboarding-welcome.ts index 27187e2da9..1666d00d7c 100644 --- a/src/onboarding/onboarding-welcome.ts +++ b/src/onboarding/onboarding-welcome.ts @@ -1,15 +1,18 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; import type { LocalizeFunc } from "../common/translations/localize"; import type { HomeAssistant } from "../types"; -import { onBoardingStyles } from "./styles"; -import { fireEvent } from "../common/dom/fire_event"; +import type { CSSResultGroup, TemplateResult } from "lit"; + import "../components/ha-button"; import "../components/ha-divider"; +import "../components/ha-icon-button-next"; import "../components/ha-md-list"; import "../components/ha-md-list-item"; -import "../components/ha-icon-button-next"; + +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../common/dom/fire_event"; +import { onBoardingStyles } from "./styles"; @customElement("onboarding-welcome") class OnboardingWelcome extends LitElement { diff --git a/src/onboarding/restore-backup/onboarding-restore-backup-cloud-login.ts b/src/onboarding/restore-backup/onboarding-restore-backup-cloud-login.ts index c361672ccb..97cb93d218 100644 --- a/src/onboarding/restore-backup/onboarding-restore-backup-cloud-login.ts +++ b/src/onboarding/restore-backup/onboarding-restore-backup-cloud-login.ts @@ -1,15 +1,18 @@ -import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; -import { customElement, property, state, query } from "lit/decorators"; -import "../../panels/config/cloud/login/cloud-login"; -import "../../components/ha-icon-button-arrow-prev"; -import "../../components/ha-spinner"; import type { LocalizeFunc } from "../../common/translations/localize"; import type { BackupContentExtended } from "../../data/backup"; +import type { CloudForgotPasswordCard } from "../../panels/config/cloud/forgot-password/cloud-forgot-password-card"; +import type { CloudLogin } from "../../panels/config/cloud/login/cloud-login"; + +import "../../components/ha-icon-button-arrow-prev"; +import "../../components/ha-spinner"; +import "../../panels/config/cloud/login/cloud-login"; + +import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; +import { customElement, property, state, query } from "lit/decorators"; + import { navigate } from "../../common/navigate"; import { removeSearchParam } from "../../common/url/search-params"; import { onBoardingStyles } from "../styles"; -import type { CloudLogin } from "../../panels/config/cloud/login/cloud-login"; -import type { CloudForgotPasswordCard } from "../../panels/config/cloud/forgot-password/cloud-forgot-password-card"; @customElement("onboarding-restore-backup-cloud-login") class OnboardingRestoreBackupCloudLogin extends LitElement { diff --git a/src/onboarding/restore-backup/onboarding-restore-backup-no-cloud-backup.ts b/src/onboarding/restore-backup/onboarding-restore-backup-no-cloud-backup.ts index 7c1698db45..87c81581e7 100644 --- a/src/onboarding/restore-backup/onboarding-restore-backup-no-cloud-backup.ts +++ b/src/onboarding/restore-backup/onboarding-restore-backup-no-cloud-backup.ts @@ -1,8 +1,11 @@ -import { LitElement, html, css, type CSSResultGroup } from "lit"; -import { customElement, property } from "lit/decorators"; import type { LocalizeFunc } from "../../common/translations/localize"; + import "../../components/ha-button"; import "../../components/ha-icon-button-arrow-prev"; + +import { LitElement, html, css, type CSSResultGroup } from "lit"; +import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; import { navigate } from "../../common/navigate"; import { removeSearchParam } from "../../common/url/search-params"; diff --git a/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts b/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts index 96e1337e96..5fe8eab4aa 100644 --- a/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts +++ b/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts @@ -1,25 +1,28 @@ -import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; -import { customElement, property, state, query } from "lit/decorators"; -import "../../components/ha-button"; +import type { LocalizeFunc } from "../../common/translations/localize"; +import type { HaProgressButton } from "../../components/buttons/ha-progress-button"; + +import "../../components/buttons/ha-progress-button"; import "../../components/ha-alert"; +import "../../components/ha-button"; +import "../../components/ha-icon-button-arrow-prev"; import "../../components/ha-md-list"; import "../../components/ha-md-list-item"; -import "../../components/buttons/ha-progress-button"; -import "../../components/ha-icon-button-arrow-prev"; import "../../components/ha-password-field"; import "../../panels/config/backup/components/ha-backup-data-picker"; import "../../panels/config/backup/components/ha-backup-formfield-label"; -import type { LocalizeFunc } from "../../common/translations/localize"; + +import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; +import { customElement, property, state, query } from "lit/decorators"; + +import { formatDateTimeWithBrowserDefaults } from "../../common/datetime/format_date_time"; +import { fireEvent } from "../../common/dom/fire_event"; import { getPreferredAgentForDownload, type BackupContentExtended, type BackupData, } from "../../data/backup"; import { restoreOnboardingBackup } from "../../data/backup_onboarding"; -import type { HaProgressButton } from "../../components/buttons/ha-progress-button"; -import { fireEvent } from "../../common/dom/fire_event"; import { onBoardingStyles } from "../styles"; -import { formatDateTimeWithBrowserDefaults } from "../../common/datetime/format_date_time"; @customElement("onboarding-restore-backup-restore") class OnboardingRestoreBackupRestore extends LitElement { diff --git a/src/onboarding/restore-backup/onboarding-restore-backup-status.ts b/src/onboarding/restore-backup/onboarding-restore-backup-status.ts index 2a7f8c8e0c..cf6fc1ac2f 100644 --- a/src/onboarding/restore-backup/onboarding-restore-backup-status.ts +++ b/src/onboarding/restore-backup/onboarding-restore-backup-status.ts @@ -1,12 +1,15 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; -import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../components/ha-alert"; -import "../../components/ha-button"; import type { LocalizeFunc } from "../../common/translations/localize"; import type { BackupOnboardingInfo } from "../../data/backup_onboarding"; -import { onBoardingStyles } from "../styles"; + +import "../../components/ha-alert"; +import "../../components/ha-button"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; +import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; +import { onBoardingStyles } from "../styles"; @customElement("onboarding-restore-backup-status") class OnboardingRestoreBackupStatus extends LitElement { diff --git a/src/onboarding/restore-backup/onboarding-restore-backup-upload.ts b/src/onboarding/restore-backup/onboarding-restore-backup-upload.ts index 789b48cd86..60215120d1 100644 --- a/src/onboarding/restore-backup/onboarding-restore-backup-upload.ts +++ b/src/onboarding/restore-backup/onboarding-restore-backup-upload.ts @@ -1,21 +1,24 @@ +import type { LocalizeFunc } from "../../common/translations/localize"; + +import "../../components/ha-alert"; +import "../../components/ha-file-upload"; +import "../../components/ha-icon-button-arrow-prev"; + import { mdiFolderUpload } from "@mdi/js"; import { css, html, LitElement, nothing, type CSSResultGroup } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../components/ha-file-upload"; -import "../../components/ha-alert"; -import "../../components/ha-icon-button-arrow-prev"; + import { fireEvent, type HASSDomEvent } from "../../common/dom/fire_event"; -import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; +import { navigate } from "../../common/navigate"; +import { removeSearchParam } from "../../common/url/search-params"; import { CORE_LOCAL_AGENT, HASSIO_LOCAL_AGENT, SUPPORTED_UPLOAD_FORMAT, } from "../../data/backup"; -import type { LocalizeFunc } from "../../common/translations/localize"; import { uploadOnboardingBackup } from "../../data/backup_onboarding"; +import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; import { onBoardingStyles } from "../styles"; -import { navigate } from "../../common/navigate"; -import { removeSearchParam } from "../../common/url/search-params"; declare global { interface HASSDomEvents { diff --git a/src/panels/calendar/confirm-event-dialog-box.ts b/src/panels/calendar/confirm-event-dialog-box.ts index bea8dc0b05..3c4ac50e88 100644 --- a/src/panels/calendar/confirm-event-dialog-box.ts +++ b/src/panels/calendar/confirm-event-dialog-box.ts @@ -1,13 +1,16 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { HomeAssistant } from "../../types"; +import type { ConfirmEventDialogBoxParams } from "./show-confirm-event-dialog-box"; + +import "../../components/ha-button"; import "../../components/ha-dialog"; import "../../components/ha-svg-icon"; import "../../components/ha-switch"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { RecurrenceRange } from "../../data/calendar"; -import type { HomeAssistant } from "../../types"; -import type { ConfirmEventDialogBoxParams } from "./show-confirm-event-dialog-box"; -import "../../components/ha-button"; @customElement("confirm-event-dialog-box") class ConfirmEventDialogBox extends LitElement { diff --git a/src/panels/calendar/dialog-calendar-event-detail.ts b/src/panels/calendar/dialog-calendar-event-detail.ts index 4644b74fa3..34ff6c38c8 100644 --- a/src/panels/calendar/dialog-calendar-event-detail.ts +++ b/src/panels/calendar/dialog-calendar-event-detail.ts @@ -1,30 +1,33 @@ -import "@material/mwc-button"; -import { mdiCalendarClock } from "@mdi/js"; -import { toDate } from "date-fns-tz"; -import { addDays, isSameDay } from "date-fns"; +import type { CalendarEventMutableParams } from "../../data/calendar"; +import type { HomeAssistant } from "../../types"; +import type { CalendarEventDetailDialogParams } from "./show-dialog-calendar-event-detail"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import { formatDate } from "../../common/datetime/format_date"; -import { formatDateTime } from "../../common/datetime/format_date_time"; -import { formatTime } from "../../common/datetime/format_time"; -import { fireEvent } from "../../common/dom/fire_event"; -import { isDate } from "../../common/string/is_date"; + import "../../components/entity/state-info"; import "../../components/ha-alert"; import "../../components/ha-date-input"; -import { createCloseHeading } from "../../components/ha-dialog"; import "../../components/ha-time-input"; -import type { CalendarEventMutableParams } from "../../data/calendar"; +import "../lovelace/components/hui-generic-entity-row"; +import "@material/mwc-button"; + +import { mdiCalendarClock } from "@mdi/js"; +import { addDays, isSameDay } from "date-fns"; +import { toDate } from "date-fns-tz"; +import { LitElement, css, html, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { formatDate } from "../../common/datetime/format_date"; +import { formatDateTime } from "../../common/datetime/format_date_time"; +import { formatTime } from "../../common/datetime/format_time"; +import { resolveTimeZone } from "../../common/datetime/resolve-time-zone"; +import { fireEvent } from "../../common/dom/fire_event"; +import { isDate } from "../../common/string/is_date"; +import { createCloseHeading } from "../../components/ha-dialog"; import { deleteCalendarEvent } from "../../data/calendar"; import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../lovelace/components/hui-generic-entity-row"; import { renderRRuleAsText } from "./recurrence"; import { showConfirmEventDialog } from "./show-confirm-event-dialog-box"; -import type { CalendarEventDetailDialogParams } from "./show-dialog-calendar-event-detail"; import { showCalendarEventEditDialog } from "./show-dialog-calendar-event-editor"; -import { resolveTimeZone } from "../../common/datetime/resolve-time-zone"; class DialogCalendarEventDetail extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/calendar/dialog-calendar-event-editor.ts b/src/panels/calendar/dialog-calendar-event-editor.ts index eeb6560a83..aa4d217297 100644 --- a/src/panels/calendar/dialog-calendar-event-editor.ts +++ b/src/panels/calendar/dialog-calendar-event-editor.ts @@ -1,5 +1,21 @@ +import type { CalendarEventMutableParams } from "../../data/calendar"; +import type { HomeAssistant } from "../../types"; +import type { CalendarEventEditDialogParams } from "./show-dialog-calendar-event-editor"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../components/entity/ha-entity-picker"; +import "../../components/ha-alert"; +import "../../components/ha-date-input"; +import "../../components/ha-formfield"; +import "../../components/ha-switch"; +import "../../components/ha-textarea"; +import "../../components/ha-textfield"; +import "../../components/ha-time-input"; +import "../lovelace/components/hui-generic-entity-row"; +import "./ha-recurrence-rule-editor"; import "@material/mwc-button"; -import { formatInTimeZone, toDate } from "date-fns-tz"; + import { addDays, addHours, @@ -7,26 +23,17 @@ import { differenceInMilliseconds, startOfHour, } from "date-fns"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; +import { formatInTimeZone, toDate } from "date-fns-tz"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { resolveTimeZone } from "../../common/datetime/resolve-time-zone"; import { fireEvent } from "../../common/dom/fire_event"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { supportsFeature } from "../../common/entity/supports-feature"; import { isDate } from "../../common/string/is_date"; -import "../../components/entity/ha-entity-picker"; -import "../../components/ha-alert"; -import "../../components/ha-date-input"; import { createCloseHeading } from "../../components/ha-dialog"; -import "../../components/ha-formfield"; -import "../../components/ha-switch"; -import "../../components/ha-textarea"; -import "../../components/ha-textfield"; -import "../../components/ha-time-input"; -import type { CalendarEventMutableParams } from "../../data/calendar"; import { CalendarEntityFeature, RecurrenceRange, @@ -35,11 +42,7 @@ import { updateCalendarEvent, } from "../../data/calendar"; import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../lovelace/components/hui-generic-entity-row"; -import "./ha-recurrence-rule-editor"; import { showConfirmEventDialog } from "./show-confirm-event-dialog-box"; -import type { CalendarEventEditDialogParams } from "./show-dialog-calendar-event-editor"; const CALENDAR_DOMAINS = ["calendar"]; diff --git a/src/panels/calendar/ha-full-calendar.ts b/src/panels/calendar/ha-full-calendar.ts index 9df628d11f..83b4fc665d 100644 --- a/src/panels/calendar/ha-full-calendar.ts +++ b/src/panels/calendar/ha-full-calendar.ts @@ -1,11 +1,29 @@ +import type { LocalizeFunc } from "../../common/translations/localize"; +import type { + Calendar as CalendarData, + CalendarEvent, +} from "../../data/calendar"; +import type { + CalendarViewChanged, + FullCalendarView, + HomeAssistant, + ToggleButton, +} from "../../types"; import type { CalendarOptions } from "@fullcalendar/core"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../components/ha-button-toggle-group"; +import "../../components/ha-fab"; +import "../../components/ha-icon-button-next"; +import "../../components/ha-icon-button-prev"; +import "@material/mwc-button"; + import { Calendar } from "@fullcalendar/core"; import allLocales from "@fullcalendar/core/locales-all"; import dayGridPlugin from "@fullcalendar/daygrid"; import interactionPlugin from "@fullcalendar/interaction"; import listPlugin from "@fullcalendar/list"; import { ResizeController } from "@lit-labs/observers/resize-controller"; -import "@material/mwc-button"; import { mdiPlus, mdiViewAgenda, @@ -13,32 +31,17 @@ import { mdiViewModule, mdiViewWeek, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoize from "memoize-one"; + import { firstWeekdayIndex } from "../../common/datetime/first_weekday"; import { useAmPm } from "../../common/datetime/use_am_pm"; import { fireEvent } from "../../common/dom/fire_event"; import { supportsFeature } from "../../common/entity/supports-feature"; -import type { LocalizeFunc } from "../../common/translations/localize"; -import "../../components/ha-button-toggle-group"; -import "../../components/ha-fab"; -import "../../components/ha-icon-button-next"; -import "../../components/ha-icon-button-prev"; -import type { - Calendar as CalendarData, - CalendarEvent, -} from "../../data/calendar"; import { CalendarEntityFeature } from "../../data/calendar"; import { TimeZone } from "../../data/translation"; import { haStyle } from "../../resources/styles"; -import type { - CalendarViewChanged, - FullCalendarView, - HomeAssistant, - ToggleButton, -} from "../../types"; import { showCalendarEventDetailDialog } from "./show-dialog-calendar-event-detail"; import { showCalendarEventEditDialog } from "./show-dialog-calendar-event-editor"; diff --git a/src/panels/calendar/ha-panel-calendar.ts b/src/panels/calendar/ha-panel-calendar.ts index 21583deb77..ff61dc7a31 100644 --- a/src/panels/calendar/ha-panel-calendar.ts +++ b/src/panels/calendar/ha-panel-calendar.ts @@ -1,31 +1,34 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; -import "@material/mwc-list"; -import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; -import { mdiChevronDown, mdiPlus, mdiRefresh } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { storage } from "../../common/decorators/storage"; import type { HASSDomEvent } from "../../common/dom/fire_event"; -import { computeStateName } from "../../common/entity/compute_state_name"; +import type { HaListItem } from "../../components/ha-list-item"; +import type { Calendar, CalendarEvent } from "../../data/calendar"; +import type { CalendarViewChanged, HomeAssistant } from "../../types"; +import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + import "../../components/ha-button"; import "../../components/ha-button-menu"; import "../../components/ha-card"; import "../../components/ha-check-list-item"; import "../../components/ha-icon-button"; -import type { HaListItem } from "../../components/ha-list-item"; import "../../components/ha-menu-button"; import "../../components/ha-state-icon"; import "../../components/ha-svg-icon"; import "../../components/ha-two-pane-top-app-bar-fixed"; -import type { Calendar, CalendarEvent } from "../../data/calendar"; +import "./ha-full-calendar"; +import "@material/mwc-list"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; +import { mdiChevronDown, mdiPlus, mdiRefresh } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { storage } from "../../common/decorators/storage"; +import { computeStateName } from "../../common/entity/compute_state_name"; import { fetchCalendarEvents, getCalendars } from "../../data/calendar"; import { fetchIntegrationManifest } from "../../data/integration"; import { showConfigFlowDialog } from "../../dialogs/config-flow/show-dialog-config-flow"; import { haStyle } from "../../resources/styles"; -import type { CalendarViewChanged, HomeAssistant } from "../../types"; -import "./ha-full-calendar"; @customElement("ha-panel-calendar") class PanelCalendar extends LitElement { diff --git a/src/panels/calendar/ha-recurrence-rule-editor.ts b/src/panels/calendar/ha-recurrence-rule-editor.ts index f5aa8c76cf..f189d64307 100644 --- a/src/panels/calendar/ha-recurrence-rule-editor.ts +++ b/src/panels/calendar/ha-recurrence-rule-editor.ts @@ -1,26 +1,29 @@ -import type { SelectedDetail } from "@material/mwc-list"; -import { formatInTimeZone, toDate } from "date-fns-tz"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import type { Options, WeekdayStr, ByWeekday } from "rrule"; -import { RRule, Weekday } from "rrule"; -import { firstWeekdayIndex } from "../../common/datetime/first_weekday"; -import { stopPropagation } from "../../common/dom/stop_propagation"; import type { LocalizeKeys } from "../../common/translations/localize"; -import "../../components/chips/ha-chip-set"; -import "../../components/chips/ha-filter-chip"; -import "../../components/ha-date-input"; -import "../../components/ha-list-item"; -import "../../components/ha-select"; import type { HaSelect } from "../../components/ha-select"; -import "../../components/ha-textfield"; import type { HomeAssistant } from "../../types"; import type { MonthlyRepeatItem, RepeatEnd, RepeatFrequency, } from "./recurrence"; +import type { SelectedDetail } from "@material/mwc-list"; +import type { PropertyValues } from "lit"; +import type { Options, WeekdayStr, ByWeekday } from "rrule"; + +import "../../components/chips/ha-chip-set"; +import "../../components/chips/ha-filter-chip"; +import "../../components/ha-date-input"; +import "../../components/ha-list-item"; +import "../../components/ha-select"; +import "../../components/ha-textfield"; + +import { formatInTimeZone, toDate } from "date-fns-tz"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { RRule, Weekday } from "rrule"; + +import { firstWeekdayIndex } from "../../common/datetime/first_weekday"; +import { stopPropagation } from "../../common/dom/stop_propagation"; import { DEFAULT_COUNT, convertFrequency, diff --git a/src/panels/calendar/recurrence.ts b/src/panels/calendar/recurrence.ts index a42300c5da..1c6b6783fe 100644 --- a/src/panels/calendar/recurrence.ts +++ b/src/panels/calendar/recurrence.ts @@ -1,3 +1,6 @@ +import type { HomeAssistant } from "../../types"; +import type { Options, WeekdayStr } from "rrule"; + // Library for converting back and forth from values use by this webcomponent // and the values defined by rrule.js. import { @@ -10,13 +13,12 @@ import { isLastDayOfMonth, isSameMonth, } from "date-fns"; -import type { Options, WeekdayStr } from "rrule"; import { Frequency, RRule, Weekday } from "rrule"; + import { formatDate } from "../../common/datetime/format_date"; import { capitalizeFirstLetter } from "../../common/string/capitalize-first-letter"; import { dayNames } from "../../common/translations/day_names"; import { monthNames } from "../../common/translations/month_names"; -import type { HomeAssistant } from "../../types"; export type RepeatFrequency = | "none" diff --git a/src/panels/calendar/show-confirm-event-dialog-box.ts b/src/panels/calendar/show-confirm-event-dialog-box.ts index 934e4dfeab..9c4efa967e 100644 --- a/src/panels/calendar/show-confirm-event-dialog-box.ts +++ b/src/panels/calendar/show-confirm-event-dialog-box.ts @@ -1,6 +1,7 @@ -import type { TemplateResult } from "lit"; -import { fireEvent } from "../../common/dom/fire_event"; import type { RecurrenceRange } from "../../data/calendar"; +import type { TemplateResult } from "lit"; + +import { fireEvent } from "../../common/dom/fire_event"; export interface ConfirmEventDialogBoxParams { confirmText?: string; diff --git a/src/panels/calendar/show-dialog-calendar-event-detail.ts b/src/panels/calendar/show-dialog-calendar-event-detail.ts index c47676c343..3ff6755077 100644 --- a/src/panels/calendar/show-dialog-calendar-event-detail.ts +++ b/src/panels/calendar/show-dialog-calendar-event-detail.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { CalendarEventData } from "../../data/calendar"; +import { fireEvent } from "../../common/dom/fire_event"; + export interface CalendarEventDetailDialogParams { calendarId: string; entry: CalendarEventData; diff --git a/src/panels/calendar/show-dialog-calendar-event-editor.ts b/src/panels/calendar/show-dialog-calendar-event-editor.ts index 96bc910fb4..0db57da38f 100644 --- a/src/panels/calendar/show-dialog-calendar-event-editor.ts +++ b/src/panels/calendar/show-dialog-calendar-event-editor.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { CalendarEventData } from "../../data/calendar"; +import { fireEvent } from "../../common/dom/fire_event"; + export interface CalendarEventEditDialogParams { calendarId?: string; selectedDate?: Date; // When provided is used as the pre-filled date for the event creation dialog diff --git a/src/panels/config/application_credentials/dialog-add-application-credential.ts b/src/panels/config/application_credentials/dialog-add-application-credential.ts index d1bba908ee..fd905e0c48 100644 --- a/src/panels/config/application_credentials/dialog-add-application-credential.ts +++ b/src/panels/config/application_credentials/dialog-add-application-credential.ts @@ -1,32 +1,35 @@ -import "@material/mwc-list/mwc-list-item"; -import { mdiOpenInNew } from "@mdi/js"; -import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-alert"; -import "../../../components/ha-button"; -import "../../../components/ha-spinner"; -import "../../../components/ha-combo-box"; -import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-markdown"; -import "../../../components/ha-password-field"; -import "../../../components/ha-textfield"; import type { ApplicationCredential, ApplicationCredentialsConfig, } from "../../../data/application_credential"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { HomeAssistant } from "../../../types"; +import type { AddApplicationCredentialDialogParams } from "./show-dialog-add-application-credential"; +import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button"; +import "../../../components/ha-combo-box"; +import "../../../components/ha-markdown"; +import "../../../components/ha-password-field"; +import "../../../components/ha-spinner"; +import "../../../components/ha-textfield"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiOpenInNew } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; import { createApplicationCredential, fetchApplicationCredentialsConfig, } from "../../../data/application_credential"; -import type { IntegrationManifest } from "../../../data/integration"; import { domainToName } from "../../../data/integration"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import type { AddApplicationCredentialDialogParams } from "./show-dialog-add-application-credential"; interface Domain { id: string; diff --git a/src/panels/config/application_credentials/ha-config-application-credentials.ts b/src/panels/config/application_credentials/ha-config-application-credentials.ts index cb2fa6c5db..25025deded 100644 --- a/src/panels/config/application_credentials/ha-config-application-credentials.ts +++ b/src/panels/config/application_credentials/ha-config-application-credentials.ts @@ -1,8 +1,3 @@ -import { mdiDelete, mdiPlus } from "@mdi/js"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../common/translations/localize"; import type { @@ -10,11 +5,23 @@ import type { SelectionChangedEvent, SortingChangedEvent, } from "../../../components/data-table/ha-data-table"; +import type { ApplicationCredential } from "../../../data/application_credential"; +import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; +import type { HomeAssistant, Route } from "../../../types"; +import type { PropertyValues } from "lit"; + import "../../../components/ha-fab"; import "../../../components/ha-help-tooltip"; -import "../../../components/ha-svg-icon"; import "../../../components/ha-icon-overflow-menu"; -import type { ApplicationCredential } from "../../../data/application_credential"; +import "../../../components/ha-svg-icon"; +import "../../../layouts/hass-tabs-subpage-data-table"; + +import { mdiDelete, mdiPlus } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { storage } from "../../../common/decorators/storage"; import { deleteApplicationCredential, fetchApplicationCredentials, @@ -24,12 +31,8 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; -import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; -import type { HomeAssistant, Route } from "../../../types"; import { configSections } from "../ha-panel-config"; import { showAddApplicationCredentialDialog } from "./show-dialog-add-application-credential"; -import { storage } from "../../../common/decorators/storage"; @customElement("ha-config-application-credentials") export class HaConfigApplicationCredentials extends LitElement { diff --git a/src/panels/config/application_credentials/show-dialog-add-application-credential.ts b/src/panels/config/application_credentials/show-dialog-add-application-credential.ts index 78c1668695..14823fbbc5 100644 --- a/src/panels/config/application_credentials/show-dialog-add-application-credential.ts +++ b/src/panels/config/application_credentials/show-dialog-add-application-credential.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { ApplicationCredential } from "../../../data/application_credential"; import type { IntegrationManifest } from "../../../data/integration"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface AddApplicationCredentialDialogParams { applicationCredentialAddedCallback: ( applicationCredential: ApplicationCredential diff --git a/src/panels/config/areas/dialog-area-registry-detail.ts b/src/panels/config/areas/dialog-area-registry-detail.ts index 2fdfefeb88..da98c1d839 100644 --- a/src/panels/config/areas/dialog-area-registry-detail.ts +++ b/src/panels/config/areas/dialog-area-registry-detail.ts @@ -1,34 +1,37 @@ -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import type { HassEntity } from "home-assistant-js-websocket"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-alert"; -import "../../../components/ha-aliases-editor"; -import "../../../components/ha-picture-upload"; -import type { HaPictureUpload } from "../../../components/ha-picture-upload"; -import "../../../components/ha-settings-row"; -import "../../../components/ha-icon-picker"; -import "../../../components/ha-floor-picker"; -import "../../../components/entity/ha-entity-picker"; import type { HaEntityPicker } from "../../../components/entity/ha-entity-picker"; -import "../../../components/ha-textfield"; -import "../../../components/ha-labels-picker"; +import type { HaPictureUpload } from "../../../components/ha-picture-upload"; import type { AreaRegistryEntry, AreaRegistryEntryMutableParams, } from "../../../data/area_registry"; -import { deleteAreaRegistryEntry } from "../../../data/area_registry"; import type { CropOptions } from "../../../dialogs/image-cropper-dialog/show-image-cropper-dialog"; -import { haStyleDialog } from "../../../resources/styles"; import type { HomeAssistant, ValueChangedEvent } from "../../../types"; import type { AreaRegistryDetailDialogParams } from "./show-dialog-area-registry-detail"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/entity/ha-entity-picker"; +import "../../../components/ha-alert"; +import "../../../components/ha-aliases-editor"; +import "../../../components/ha-floor-picker"; +import "../../../components/ha-icon-picker"; +import "../../../components/ha-labels-picker"; +import "../../../components/ha-picture-upload"; +import "../../../components/ha-settings-row"; +import "../../../components/ha-textfield"; + +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; +import { deleteAreaRegistryEntry } from "../../../data/area_registry"; import { SENSOR_DEVICE_CLASS_HUMIDITY, SENSOR_DEVICE_CLASS_TEMPERATURE, } from "../../../data/sensor"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; -import { createCloseHeading } from "../../../components/ha-dialog"; +import { haStyleDialog } from "../../../resources/styles"; const cropOptions: CropOptions = { round: false, diff --git a/src/panels/config/areas/dialog-floor-registry-detail.ts b/src/panels/config/areas/dialog-floor-registry-detail.ts index 6929c9ba75..d991aa75b9 100644 --- a/src/panels/config/areas/dialog-floor-registry-detail.ts +++ b/src/panels/config/areas/dialog-floor-registry-detail.ts @@ -1,32 +1,35 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list"; -import { mdiTextureBox } from "@mdi/js"; +import type { + FloorRegistryEntry, + FloorRegistryEntryMutableParams, +} from "../../../data/floor_registry"; +import type { HomeAssistant } from "../../../types"; +import type { FloorRegistryDetailDialogParams } from "./show-dialog-floor-registry-detail"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; + import "../../../components/chips/ha-chip-set"; import "../../../components/chips/ha-input-chip"; import "../../../components/ha-alert"; import "../../../components/ha-aliases-editor"; -import { createCloseHeading } from "../../../components/ha-dialog"; +import "../../../components/ha-area-picker"; import "../../../components/ha-icon-picker"; import "../../../components/ha-picture-upload"; import "../../../components/ha-settings-row"; import "../../../components/ha-svg-icon"; import "../../../components/ha-textfield"; -import "../../../components/ha-area-picker"; -import type { - FloorRegistryEntry, - FloorRegistryEntryMutableParams, -} from "../../../data/floor_registry"; -import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { FloorRegistryDetailDialogParams } from "./show-dialog-floor-registry-detail"; -import { showAreaRegistryDetailDialog } from "./show-dialog-area-registry-detail"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list"; + +import { mdiTextureBox } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; import { updateAreaRegistryEntry } from "../../../data/area_registry"; +import { haStyle, haStyleDialog } from "../../../resources/styles"; +import { showAreaRegistryDetailDialog } from "./show-dialog-area-registry-detail"; class DialogFloorDetail extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/areas/ha-config-area-page.ts b/src/panels/config/areas/ha-config-area-page.ts index 1297511018..e55b48af57 100644 --- a/src/panels/config/areas/ha-config-area-page.ts +++ b/src/panels/config/areas/ha-config-area-page.ts @@ -1,14 +1,34 @@ -import { consume } from "@lit-labs/context"; +import type { AreaRegistryEntry } from "../../../data/area_registry"; +import type { AutomationEntity } from "../../../data/automation"; +import type { DeviceRegistryEntry } from "../../../data/device_registry"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { SceneEntity } from "../../../data/scene"; +import type { ScriptEntity } from "../../../data/script"; +import type { RelatedResult } from "../../../data/search"; +import type { HomeAssistant } from "../../../types"; +import type { HassEntity } from "home-assistant-js-websocket/dist/types"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-list-item"; +import "../../../components/ha-tooltip"; +import "../../../layouts/hass-error-screen"; +import "../../../layouts/hass-subpage"; +import "../../logbook/ha-logbook"; import "@material/mwc-button"; import "@material/mwc-list"; import "@material/mwc-list/mwc-list-item"; + +import { consume } from "@lit-labs/context"; import { mdiDelete, mdiDotsVertical, mdiImagePlus, mdiPencil } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket/dist/types"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; import { computeDomain } from "../../../common/entity/compute_domain"; @@ -16,37 +36,20 @@ import { computeStateName } from "../../../common/entity/compute_state_name"; import { caseInsensitiveStringCompare } from "../../../common/string/compare"; import { groupBy } from "../../../common/util/group-by"; import { afterNextRender } from "../../../common/util/render-status"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-list-item"; -import "../../../components/ha-tooltip"; -import type { AreaRegistryEntry } from "../../../data/area_registry"; import { deleteAreaRegistryEntry, updateAreaRegistryEntry, } from "../../../data/area_registry"; -import type { AutomationEntity } from "../../../data/automation"; import { fullEntitiesContext } from "../../../data/context"; -import type { DeviceRegistryEntry } from "../../../data/device_registry"; import { sortDeviceRegistryByName } from "../../../data/device_registry"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { computeEntityRegistryName, sortEntityRegistryByName, } from "../../../data/entity_registry"; -import type { SceneEntity } from "../../../data/scene"; -import type { ScriptEntity } from "../../../data/script"; -import type { RelatedResult } from "../../../data/search"; import { findRelated } from "../../../data/search"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import "../../../layouts/hass-error-screen"; -import "../../../layouts/hass-subpage"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import "../../logbook/ha-logbook"; import { loadAreaRegistryDetailDialog, showAreaRegistryDetailDialog, diff --git a/src/panels/config/areas/ha-config-areas-dashboard.ts b/src/panels/config/areas/ha-config-areas-dashboard.ts index ede068b9ff..d1a036bb73 100644 --- a/src/panels/config/areas/ha-config-areas-dashboard.ts +++ b/src/panels/config/areas/ha-config-areas-dashboard.ts @@ -1,4 +1,16 @@ +import type { AreaRegistryEntry } from "../../../data/area_registry"; +import type { FloorRegistryEntry } from "../../../data/floor_registry"; +import type { HomeAssistant, Route } from "../../../types"; import type { ActionDetail } from "@material/mwc-list"; + +import "../../../components/ha-fab"; +import "../../../components/ha-floor-icon"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-sortable"; +import "../../../components/ha-svg-icon"; +import "../../../layouts/hass-tabs-subpage"; +import "../ha-config-section"; + import { mdiDelete, mdiDotsVertical, @@ -17,18 +29,12 @@ import { import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { formatListWithAnds } from "../../../common/string/format-list"; -import "../../../components/ha-fab"; -import "../../../components/ha-floor-icon"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-sortable"; -import "../../../components/ha-svg-icon"; -import type { AreaRegistryEntry } from "../../../data/area_registry"; import { createAreaRegistryEntry, updateAreaRegistryEntry, } from "../../../data/area_registry"; -import type { FloorRegistryEntry } from "../../../data/floor_registry"; import { createFloorRegistryEntry, deleteFloorRegistryEntry, @@ -39,9 +45,6 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage"; -import type { HomeAssistant, Route } from "../../../types"; -import "../ha-config-section"; import { configSections } from "../ha-panel-config"; import { loadAreaRegistryDetailDialog, diff --git a/src/panels/config/areas/ha-config-areas.ts b/src/panels/config/areas/ha-config-areas.ts index 480d2f09a9..946b0f2436 100644 --- a/src/panels/config/areas/ha-config-areas.ts +++ b/src/panels/config/areas/ha-config-areas.ts @@ -1,10 +1,13 @@ -import { customElement, property } from "lit/decorators"; import type { RouterOptions } from "../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../types"; + import "./ha-config-area-page"; import "./ha-config-areas-dashboard"; +import { customElement, property } from "lit/decorators"; + +import { HassRouterPage } from "../../../layouts/hass-router-page"; + @customElement("ha-config-areas") class HaConfigAreas extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/areas/show-dialog-area-registry-detail.ts b/src/panels/config/areas/show-dialog-area-registry-detail.ts index ca12d2b87a..1a24543ade 100644 --- a/src/panels/config/areas/show-dialog-area-registry-detail.ts +++ b/src/panels/config/areas/show-dialog-area-registry-detail.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { AreaRegistryEntry, AreaRegistryEntryMutableParams, } from "../../../data/area_registry"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface AreaRegistryDetailDialogParams { entry?: AreaRegistryEntry; suggestedName?: string; diff --git a/src/panels/config/areas/show-dialog-floor-registry-detail.ts b/src/panels/config/areas/show-dialog-floor-registry-detail.ts index 4fe6d0cc4b..83f5fd1840 100644 --- a/src/panels/config/areas/show-dialog-floor-registry-detail.ts +++ b/src/panels/config/areas/show-dialog-floor-registry-detail.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { FloorRegistryEntry, FloorRegistryEntryMutableParams, } from "../../../data/floor_registry"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface FloorRegistryDetailDialogParams { entry?: FloorRegistryEntry; suggestedName?: string; diff --git a/src/panels/config/automation/action/ha-automation-action-row.ts b/src/panels/config/automation/action/ha-automation-action-row.ts index 79ae3bf4e2..fca31ad914 100644 --- a/src/panels/config/automation/action/ha-automation-action-row.ts +++ b/src/panels/config/automation/action/ha-automation-action-row.ts @@ -1,3 +1,37 @@ +import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; +import type { AutomationClipboard } from "../../../../data/automation"; +import type { EntityRegistryEntry } from "../../../../data/entity_registry"; +import type { FloorRegistryEntry } from "../../../../data/floor_registry"; +import type { LabelRegistryEntry } from "../../../../data/label_registry"; +import type { Action, NonConditionAction } from "../../../../data/script"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-alert"; +import "../../../../components/ha-card"; +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-md-button-menu"; +import "../../../../components/ha-md-divider"; +import "../../../../components/ha-md-menu-item"; +import "../../../../components/ha-service-icon"; +import "../../../../components/ha-tooltip"; +import "./types/ha-automation-action-choose"; +import "./types/ha-automation-action-condition"; +import "./types/ha-automation-action-delay"; +import "./types/ha-automation-action-device_id"; +import "./types/ha-automation-action-event"; +import "./types/ha-automation-action-if"; +import "./types/ha-automation-action-parallel"; +import "./types/ha-automation-action-play_media"; +import "./types/ha-automation-action-repeat"; +import "./types/ha-automation-action-sequence"; +import "./types/ha-automation-action-service"; +import "./types/ha-automation-action-set_conversation_response"; +import "./types/ha-automation-action-stop"; +import "./types/ha-automation-action-wait_for_trigger"; +import "./types/ha-automation-action-wait_template"; + import { consume } from "@lit-labs/context"; import { mdiAlertCircleCheck, @@ -15,38 +49,23 @@ import { mdiStopCircleOutline, } from "@mdi/js"; import deepClone from "deep-clone-simple"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { storage } from "../../../../common/decorators/storage"; import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; import { fireEvent } from "../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; import { handleStructError } from "../../../../common/structs/handle-errors"; -import "../../../../components/ha-alert"; -import "../../../../components/ha-md-button-menu"; -import "../../../../components/ha-md-menu-item"; -import "../../../../components/ha-md-divider"; -import "../../../../components/ha-card"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-icon-button"; -import "../../../../components/ha-service-icon"; -import "../../../../components/ha-tooltip"; -import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; import { ACTION_ICONS, YAML_ONLY_ACTION_TYPES } from "../../../../data/action"; -import type { AutomationClipboard } from "../../../../data/automation"; import { validateConfig } from "../../../../data/config"; import { floorsContext, fullEntitiesContext, labelsContext, } from "../../../../data/context"; -import type { EntityRegistryEntry } from "../../../../data/entity_registry"; -import type { FloorRegistryEntry } from "../../../../data/floor_registry"; -import type { LabelRegistryEntry } from "../../../../data/label_registry"; -import type { Action, NonConditionAction } from "../../../../data/script"; import { getActionType, migrateAutomationAction, @@ -59,23 +78,7 @@ import { showPromptDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; -import "./types/ha-automation-action-choose"; -import "./types/ha-automation-action-condition"; -import "./types/ha-automation-action-delay"; -import "./types/ha-automation-action-device_id"; -import "./types/ha-automation-action-event"; -import "./types/ha-automation-action-if"; -import "./types/ha-automation-action-parallel"; -import "./types/ha-automation-action-play_media"; -import "./types/ha-automation-action-repeat"; -import "./types/ha-automation-action-sequence"; -import "./types/ha-automation-action-service"; -import "./types/ha-automation-action-set_conversation_response"; -import "./types/ha-automation-action-stop"; -import "./types/ha-automation-action-wait_for_trigger"; -import "./types/ha-automation-action-wait_template"; export const getType = (action: Action | undefined) => { if (!action) { diff --git a/src/panels/config/automation/action/ha-automation-action.ts b/src/panels/config/automation/action/ha-automation-action.ts index 8603ec411b..3b8c29378e 100644 --- a/src/panels/config/automation/action/ha-automation-action.ts +++ b/src/panels/config/automation/action/ha-automation-action.ts @@ -1,25 +1,28 @@ +import type { AutomationClipboard } from "../../../../data/automation"; +import type { Action } from "../../../../data/script"; +import type { HomeAssistant } from "../../../../types"; +import type HaAutomationActionRow from "./ha-automation-action-row"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-sortable"; +import "../../../../components/ha-svg-icon"; + import { mdiDrag, mdiPlus } from "@mdi/js"; import deepClone from "deep-clone-simple"; -import type { PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; + import { storage } from "../../../../common/decorators/storage"; import { fireEvent } from "../../../../common/dom/fire_event"; import { listenMediaQuery } from "../../../../common/dom/media_query"; import { nextRender } from "../../../../common/util/render-status"; -import "../../../../components/ha-button"; -import "../../../../components/ha-sortable"; -import "../../../../components/ha-svg-icon"; import { getService, isService } from "../../../../data/action"; -import type { AutomationClipboard } from "../../../../data/automation"; -import type { Action } from "../../../../data/script"; -import type { HomeAssistant } from "../../../../types"; import { PASTE_VALUE, showAddAutomationElementDialog, } from "../show-add-automation-element-dialog"; -import type HaAutomationActionRow from "./ha-automation-action-row"; import { getType } from "./ha-automation-action-row"; @customElement("ha-automation-action") diff --git a/src/panels/config/automation/action/types/ha-automation-action-choose.ts b/src/panels/config/automation/action/types/ha-automation-action-choose.ts index 07498c4606..8b32335991 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-choose.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-choose.ts @@ -1,14 +1,17 @@ +import type { Action, ChooseAction, Option } from "../../../../../data/script"; +import type { HomeAssistant } from "../../../../../types"; +import type { ActionElement } from "../ha-automation-action-row"; + +import "../../../../../components/ha-button"; +import "../../option/ha-automation-option"; +import "../ha-automation-action"; + import { type CSSResultGroup, LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { ensureArray } from "../../../../../common/array/ensure-array"; import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-button"; -import type { Action, ChooseAction, Option } from "../../../../../data/script"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import "../../option/ha-automation-option"; -import type { ActionElement } from "../ha-automation-action-row"; -import "../ha-automation-action"; @customElement("ha-automation-action-choose") export class HaChooseAction extends LitElement implements ActionElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-condition.ts b/src/panels/config/automation/action/types/ha-automation-action-condition.ts index 5e77983bc7..298c93fd9b 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-condition.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-condition.ts @@ -1,16 +1,19 @@ +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { HaSelect } from "../../../../../components/ha-select"; +import type { Condition } from "../../../../../data/automation"; +import type { Entries, HomeAssistant } from "../../../../../types"; +import type { ActionElement } from "../ha-automation-action-row"; + +import "../../../../../components/ha-select"; +import "../../condition/ha-automation-condition-editor"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../../common/dom/fire_event"; import { stringCompare } from "../../../../../common/string/compare"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-select"; -import type { HaSelect } from "../../../../../components/ha-select"; -import type { Condition } from "../../../../../data/automation"; import { CONDITION_ICONS } from "../../../../../data/condition"; -import type { Entries, HomeAssistant } from "../../../../../types"; -import "../../condition/ha-automation-condition-editor"; -import type { ActionElement } from "../ha-automation-action-row"; @customElement("ha-automation-action-condition") export class HaConditionAction extends LitElement implements ActionElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-delay.ts b/src/panels/config/automation/action/types/ha-automation-action-delay.ts index 52f5cb4b34..2a2e9a6cdb 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-delay.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-delay.ts @@ -1,14 +1,17 @@ -import type { PropertyValues } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { hasTemplate } from "../../../../../common/string/has-template"; import type { HaDurationData } from "../../../../../components/ha-duration-input"; -import "../../../../../components/ha-duration-input"; import type { DelayAction } from "../../../../../data/script"; import type { HomeAssistant } from "../../../../../types"; import type { ActionElement } from "../ha-automation-action-row"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-duration-input"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { createDurationData } from "../../../../../common/datetime/create_duration_data"; +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { hasTemplate } from "../../../../../common/string/has-template"; @customElement("ha-automation-action-delay") export class HaDelayAction extends LitElement implements ActionElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-device_id.ts b/src/panels/config/automation/action/types/ha-automation-action-device_id.ts index e5f4f3d9d4..b9557401e0 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-device_id.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-device_id.ts @@ -1,25 +1,28 @@ -import { consume } from "@lit-labs/context"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/device/ha-device-action-picker"; -import "../../../../../components/device/ha-device-picker"; -import "../../../../../components/ha-form/ha-form"; -import { fullEntitiesContext } from "../../../../../data/context"; import type { DeviceAction, DeviceCapabilities, } from "../../../../../data/device_automation"; +import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; +import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/device/ha-device-action-picker"; +import "../../../../../components/device/ha-device-picker"; +import "../../../../../components/ha-form/ha-form"; + +import { consume } from "@lit-labs/context"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { fullEntitiesContext } from "../../../../../data/context"; import { deviceAutomationsEqual, fetchDeviceActionCapabilities, localizeExtraFieldsComputeLabelCallback, localizeExtraFieldsComputeHelperCallback, } from "../../../../../data/device_automation"; -import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; -import type { HomeAssistant } from "../../../../../types"; @customElement("ha-automation-action-device_id") export class HaDeviceAction extends LitElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-event.ts b/src/panels/config/automation/action/types/ha-automation-action-event.ts index 2bfdc7ddd3..cd7139fd80 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-event.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-event.ts @@ -1,15 +1,18 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/entity/ha-entity-picker"; -import "../../../../../components/ha-service-picker"; -import "../../../../../components/ha-textfield"; -import "../../../../../components/ha-yaml-editor"; import type { HaYamlEditor } from "../../../../../components/ha-yaml-editor"; import type { EventAction } from "../../../../../data/script"; import type { HomeAssistant } from "../../../../../types"; import type { ActionElement } from "../ha-automation-action-row"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/entity/ha-entity-picker"; +import "../../../../../components/ha-service-picker"; +import "../../../../../components/ha-textfield"; +import "../../../../../components/ha-yaml-editor"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { handleChangeEvent } from "../ha-automation-action-row"; @customElement("ha-automation-action-event") diff --git a/src/panels/config/automation/action/types/ha-automation-action-if.ts b/src/panels/config/automation/action/types/ha-automation-action-if.ts index 2d7b8f1ecf..3f44e419d2 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-if.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-if.ts @@ -1,14 +1,17 @@ -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-textfield"; import type { Action, IfAction } from "../../../../../data/script"; -import { haStyle } from "../../../../../resources/styles"; import type { HomeAssistant } from "../../../../../types"; import type { Condition } from "../../../../lovelace/common/validate-condition"; -import "../ha-automation-action"; import type { ActionElement } from "../ha-automation-action-row"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-textfield"; +import "../ha-automation-action"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { haStyle } from "../../../../../resources/styles"; @customElement("ha-automation-action-if") export class HaIfAction extends LitElement implements ActionElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-parallel.ts b/src/panels/config/automation/action/types/ha-automation-action-parallel.ts index 5e102aa72e..a179bd79cd 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-parallel.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-parallel.ts @@ -1,13 +1,16 @@ +import type { Action, ParallelAction } from "../../../../../data/script"; +import type { HomeAssistant } from "../../../../../types"; +import type { ActionElement } from "../ha-automation-action-row"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-textfield"; +import "../ha-automation-action"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-textfield"; -import type { Action, ParallelAction } from "../../../../../data/script"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import "../ha-automation-action"; -import type { ActionElement } from "../ha-automation-action-row"; @customElement("ha-automation-action-parallel") export class HaParallelAction extends LitElement implements ActionElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-play_media.ts b/src/panels/config/automation/action/types/ha-automation-action-play_media.ts index 9259d4ef62..fbdac90978 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-play_media.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-play_media.ts @@ -1,13 +1,16 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-selector/ha-selector-media"; import type { PlayMediaAction } from "../../../../../data/script"; import type { MediaSelectorValue } from "../../../../../data/selector"; import type { HomeAssistant } from "../../../../../types"; import type { ActionElement } from "../ha-automation-action-row"; +import "../../../../../components/ha-selector/ha-selector-media"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + @customElement("ha-automation-action-play_media") export class HaPlayMediaAction extends LitElement implements ActionElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/automation/action/types/ha-automation-action-repeat.ts b/src/panels/config/automation/action/types/ha-automation-action-repeat.ts index d39533be7c..1bcf959181 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-repeat.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-repeat.ts @@ -1,22 +1,25 @@ -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-textfield"; -import type { RepeatAction } from "../../../../../data/script"; -import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import "../ha-automation-action"; -import type { ActionElement } from "../ha-automation-action-row"; - -import { isTemplate } from "../../../../../common/string/has-template"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, } from "../../../../../components/ha-form/types"; +import type { RepeatAction } from "../../../../../data/script"; +import type { HomeAssistant } from "../../../../../types"; +import type { ActionElement } from "../ha-automation-action-row"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-textfield"; +import "../ha-automation-action"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { isTemplate } from "../../../../../common/string/has-template"; +import { haStyle } from "../../../../../resources/styles"; + const OPTIONS = ["count", "while", "until", "for_each"] as const; diff --git a/src/panels/config/automation/action/types/ha-automation-action-sequence.ts b/src/panels/config/automation/action/types/ha-automation-action-sequence.ts index 8e3efceb54..472d202430 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-sequence.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-sequence.ts @@ -1,13 +1,16 @@ +import type { Action, SequenceAction } from "../../../../../data/script"; +import type { HomeAssistant } from "../../../../../types"; +import type { ActionElement } from "../ha-automation-action-row"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-textfield"; +import "../ha-automation-action"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-textfield"; -import type { Action, SequenceAction } from "../../../../../data/script"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import "../ha-automation-action"; -import type { ActionElement } from "../ha-automation-action-row"; @customElement("ha-automation-action-sequence") export class HaSequenceAction extends LitElement implements ActionElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-service.ts b/src/panels/config/automation/action/types/ha-automation-action-service.ts index 8543cfb93e..77c4756564 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-service.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-service.ts @@ -1,17 +1,20 @@ +import type { ServiceAction } from "../../../../../data/script"; +import type { HomeAssistant } from "../../../../../types"; +import type { ActionElement } from "../ha-automation-action-row"; import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-service-control"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; import { assert } from "superstruct"; + import { fireEvent } from "../../../../../common/dom/fire_event"; import { computeDomain } from "../../../../../common/entity/compute_domain"; import { computeObjectId } from "../../../../../common/entity/compute_object_id"; import { hasTemplate } from "../../../../../common/string/has-template"; -import "../../../../../components/ha-service-control"; -import type { ServiceAction } from "../../../../../data/script"; import { serviceActionStruct } from "../../../../../data/script"; -import type { HomeAssistant } from "../../../../../types"; -import type { ActionElement } from "../ha-automation-action-row"; @customElement("ha-automation-action-service") export class HaServiceAction extends LitElement implements ActionElement { diff --git a/src/panels/config/automation/action/types/ha-automation-action-set_conversation_response.ts b/src/panels/config/automation/action/types/ha-automation-action-set_conversation_response.ts index 4592ea2401..7ece09c53b 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-set_conversation_response.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-set_conversation_response.ts @@ -1,10 +1,12 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../../../components/ha-form/ha-form"; import type { SetConversationResponseAction } from "../../../../../data/script"; import type { HomeAssistant } from "../../../../../types"; import type { ActionElement } from "../ha-automation-action-row"; +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + const SCHEMA = [ { name: "set_conversation_response", diff --git a/src/panels/config/automation/action/types/ha-automation-action-stop.ts b/src/panels/config/automation/action/types/ha-automation-action-stop.ts index c8d15c3e95..c3a7196bdc 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-stop.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-stop.ts @@ -1,13 +1,16 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-textfield"; -import "../../../../../components/ha-formfield"; -import "../../../../../components/ha-switch"; import type { StopAction } from "../../../../../data/script"; import type { HomeAssistant } from "../../../../../types"; import type { ActionElement } from "../ha-automation-action-row"; +import "../../../../../components/ha-formfield"; +import "../../../../../components/ha-switch"; +import "../../../../../components/ha-textfield"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + @customElement("ha-automation-action-stop") export class HaStopAction extends LitElement implements ActionElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/automation/action/types/ha-automation-action-wait_for_trigger.ts b/src/panels/config/automation/action/types/ha-automation-action-wait_for_trigger.ts index 3ced9e1cb7..8e4efe01bd 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-wait_for_trigger.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-wait_for_trigger.ts @@ -1,16 +1,19 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { ensureArray } from "../../../../../common/array/ensure-array"; -import { createDurationData } from "../../../../../common/datetime/create_duration_data"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { TimeChangedEvent } from "../../../../../components/ha-base-time-input"; +import type { WaitForTriggerAction } from "../../../../../data/script"; +import type { HomeAssistant } from "../../../../../types"; +import type { ActionElement } from "../ha-automation-action-row"; + import "../../../../../components/ha-duration-input"; import "../../../../../components/ha-formfield"; import "../../../../../components/ha-textfield"; -import type { WaitForTriggerAction } from "../../../../../data/script"; -import type { HomeAssistant } from "../../../../../types"; import "../../trigger/ha-automation-trigger"; -import type { ActionElement } from "../ha-automation-action-row"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { ensureArray } from "../../../../../common/array/ensure-array"; +import { createDurationData } from "../../../../../common/datetime/create_duration_data"; +import { fireEvent } from "../../../../../common/dom/fire_event"; import { handleChangeEvent } from "../ha-automation-action-row"; @customElement("ha-automation-action-wait_for_trigger") diff --git a/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts b/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts index d8aa32296c..50fee9c167 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts @@ -1,10 +1,12 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { WaitAction } from "../../../../../data/script"; import type { HomeAssistant } from "../../../../../types"; import type { ActionElement } from "../ha-automation-action-row"; + import "../../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; const SCHEMA = [ { diff --git a/src/panels/config/automation/add-automation-element-dialog.ts b/src/panels/config/automation/add-automation-element-dialog.ts index 86dd1ee02e..4cf110636c 100644 --- a/src/panels/config/automation/add-automation-element-dialog.ts +++ b/src/panels/config/automation/add-automation-element-dialog.ts @@ -1,20 +1,14 @@ -import { mdiClose, mdiContentPaste, mdiPlus } from "@mdi/js"; -import type { IFuseOptions } from "fuse.js"; -import Fuse from "fuse.js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { repeat } from "lit/directives/repeat"; -import { styleMap } from "lit/directives/style-map"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { stringCompare } from "../../../common/string/compare"; import type { LocalizeFunc } from "../../../common/translations/localize"; -import { deepEqual } from "../../../common/util/deep-equal"; -import "../../../components/ha-dialog"; import type { HaDialog } from "../../../components/ha-dialog"; +import type { AutomationElementGroup } from "../../../data/automation"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../types"; +import type { AddAutomationElementDialogParams } from "./show-add-automation-element-dialog"; +import type { IFuseOptions } from "fuse.js"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-dialog"; import "../../../components/ha-dialog-header"; import "../../../components/ha-domain-icon"; import "../../../components/ha-icon-button"; @@ -25,6 +19,20 @@ import "../../../components/ha-md-list"; import "../../../components/ha-md-list-item"; import "../../../components/ha-service-icon"; import "../../../components/search-input"; + +import { mdiClose, mdiContentPaste, mdiPlus } from "@mdi/js"; +import Fuse from "fuse.js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; +import { repeat } from "lit/directives/repeat"; +import { styleMap } from "lit/directives/style-map"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { stringCompare } from "../../../common/string/compare"; +import { deepEqual } from "../../../common/util/deep-equal"; import { ACTION_GROUPS, ACTION_ICONS, @@ -32,19 +40,14 @@ import { getService, isService, } from "../../../data/action"; -import type { AutomationElementGroup } from "../../../data/automation"; import { CONDITION_GROUPS, CONDITION_ICONS } from "../../../data/condition"; import { getServiceIcons } from "../../../data/icons"; -import type { IntegrationManifest } from "../../../data/integration"; import { domainToName, fetchIntegrationManifests, } from "../../../data/integration"; import { TRIGGER_GROUPS, TRIGGER_ICONS } from "../../../data/trigger"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { AddAutomationElementDialogParams } from "./show-add-automation-element-dialog"; import { PASTE_VALUE } from "./show-add-automation-element-dialog"; const TYPES = { diff --git a/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts b/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts index 82b0aab8de..1450c44d9e 100644 --- a/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts +++ b/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts @@ -1,28 +1,30 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list-item"; -import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { AutomationModeDialog } from "./show-dialog-automation-mode"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + +import "../../../../components/ha-dialog"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; -import "../../../../components/ha-md-list-item"; import "../../../../components/ha-md-list"; +import "../../../../components/ha-md-list-item"; import "../../../../components/ha-radio"; import "../../../../components/ha-textfield"; -import "../../../../components/ha-dialog"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; +import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { AUTOMATION_DEFAULT_MAX, AUTOMATION_DEFAULT_MODE, } from "../../../../data/automation"; import { MODES, isMaxMode } from "../../../../data/script"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; -import type { AutomationModeDialog } from "./show-dialog-automation-mode"; @customElement("ha-dialog-automation-mode") class DialogAutomationMode extends LitElement implements HassDialog { diff --git a/src/panels/config/automation/automation-mode-dialog/show-dialog-automation-mode.ts b/src/panels/config/automation/automation-mode-dialog/show-dialog-automation-mode.ts index 0d25fea5d2..5312774be5 100644 --- a/src/panels/config/automation/automation-mode-dialog/show-dialog-automation-mode.ts +++ b/src/panels/config/automation/automation-mode-dialog/show-dialog-automation-mode.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { AutomationConfig } from "../../../../data/automation"; import type { ScriptConfig } from "../../../../data/script"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export const loadAutomationModeDialog = () => import("./dialog-automation-mode"); diff --git a/src/panels/config/automation/automation-save-dialog/dialog-automation-save.ts b/src/panels/config/automation/automation-save-dialog/dialog-automation-save.ts index 60eb15cf25..642a5c1966 100644 --- a/src/panels/config/automation/automation-save-dialog/dialog-automation-save.ts +++ b/src/panels/config/automation/automation-save-dialog/dialog-automation-save.ts @@ -1,28 +1,30 @@ -import "@material/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { mdiClose, mdiPlus } from "@mdi/js"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-alert"; -import "../../../../components/ha-domain-icon"; -import "../../../../components/ha-icon-picker"; -import "../../../../components/ha-textarea"; -import "../../../../components/ha-textfield"; -import "../../../../components/ha-labels-picker"; -import "../../category/ha-category-picker"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/chips/ha-chip-set"; -import "../../../../components/chips/ha-assist-chip"; -import "../../../../components/ha-area-picker"; - import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; -import { haStyle, haStyleDialog } from "../../../../resources/styles"; import type { HomeAssistant } from "../../../../types"; import type { EntityRegistryUpdate, SaveDialogParams, } from "./show-dialog-automation-save"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/chips/ha-assist-chip"; +import "../../../../components/chips/ha-chip-set"; +import "../../../../components/ha-alert"; +import "../../../../components/ha-area-picker"; +import "../../../../components/ha-domain-icon"; +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-icon-picker"; +import "../../../../components/ha-labels-picker"; +import "../../../../components/ha-textarea"; +import "../../../../components/ha-textfield"; +import "../../category/ha-category-picker"; +import "@material/mwc-button"; + +import { mdiClose, mdiPlus } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { haStyle, haStyleDialog } from "../../../../resources/styles"; @customElement("ha-dialog-automation-save") class DialogAutomationSave extends LitElement implements HassDialog { diff --git a/src/panels/config/automation/automation-save-dialog/show-dialog-automation-save.ts b/src/panels/config/automation/automation-save-dialog/show-dialog-automation-save.ts index cd816443d1..1e1189ce74 100644 --- a/src/panels/config/automation/automation-save-dialog/show-dialog-automation-save.ts +++ b/src/panels/config/automation/automation-save-dialog/show-dialog-automation-save.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { AutomationConfig } from "../../../../data/automation"; -import type { ScriptConfig } from "../../../../data/script"; import type { EntityRegistryEntry } from "../../../../data/entity_registry"; +import type { ScriptConfig } from "../../../../data/script"; + +import { fireEvent } from "../../../../common/dom/fire_event"; export const loadAutomationSaveDialog = () => import("./dialog-automation-save"); diff --git a/src/panels/config/automation/blueprint-automation-editor.ts b/src/panels/config/automation/blueprint-automation-editor.ts index e0ef3df62d..1fa57d08d6 100644 --- a/src/panels/config/automation/blueprint-automation-editor.ts +++ b/src/panels/config/automation/blueprint-automation-editor.ts @@ -1,10 +1,13 @@ -import "@material/mwc-button/mwc-button"; +import type { BlueprintAutomationConfig } from "../../../data/automation"; import type { HassEntity } from "home-assistant-js-websocket"; -import { html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-alert"; import "../../../components/ha-markdown"; -import type { BlueprintAutomationConfig } from "../../../data/automation"; +import "@material/mwc-button/mwc-button"; + +import { html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { fetchBlueprints } from "../../../data/blueprint"; import { HaBlueprintGenericEditor } from "../blueprint/blueprint-generic-editor"; diff --git a/src/panels/config/automation/condition/ha-automation-condition-editor.ts b/src/panels/config/automation/condition/ha-automation-condition-editor.ts index 5b7bfe51e2..40ff7f0a11 100644 --- a/src/panels/config/automation/condition/ha-automation-condition-editor.ts +++ b/src/panels/config/automation/condition/ha-automation-condition-editor.ts @@ -1,13 +1,7 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-yaml-editor"; import type { Condition } from "../../../../data/automation"; -import { expandConditionWithShorthand } from "../../../../data/automation"; -import { haStyle } from "../../../../resources/styles"; import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-yaml-editor"; import "./types/ha-automation-condition-and"; import "./types/ha-automation-condition-device"; import "./types/ha-automation-condition-not"; @@ -20,6 +14,15 @@ import "./types/ha-automation-condition-time"; import "./types/ha-automation-condition-trigger"; import "./types/ha-automation-condition-zone"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { expandConditionWithShorthand } from "../../../../data/automation"; +import { haStyle } from "../../../../resources/styles"; + @customElement("ha-automation-condition-editor") export default class HaAutomationConditionEditor extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/automation/condition/ha-automation-condition-row.ts b/src/panels/config/automation/condition/ha-automation-condition-row.ts index a905b88233..0b075995ac 100644 --- a/src/panels/config/automation/condition/ha-automation-condition-row.ts +++ b/src/panels/config/automation/condition/ha-automation-condition-row.ts @@ -1,3 +1,19 @@ +import type { + AutomationClipboard, + Condition, +} from "../../../../data/automation"; +import type { EntityRegistryEntry } from "../../../../data/entity_registry"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-md-button-menu"; +import "../../../../components/ha-md-divider"; +import "../../../../components/ha-md-menu-item"; +import "./ha-automation-condition-editor"; + import { consume } from "@lit-labs/context"; import { mdiArrowDown, @@ -14,39 +30,26 @@ import { mdiStopCircleOutline, } from "@mdi/js"; import deepClone from "deep-clone-simple"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { storage } from "../../../../common/decorators/storage"; import { fireEvent } from "../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; import { handleStructError } from "../../../../common/structs/handle-errors"; -import "../../../../components/ha-md-button-menu"; -import "../../../../components/ha-md-menu-item"; -import "../../../../components/ha-md-divider"; -import "../../../../components/ha-card"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-icon-button"; -import type { - AutomationClipboard, - Condition, -} from "../../../../data/automation"; import { testCondition } from "../../../../data/automation"; import { describeCondition } from "../../../../data/automation_i18n"; import { CONDITION_ICONS } from "../../../../data/condition"; import { validateConfig } from "../../../../data/config"; import { fullEntitiesContext } from "../../../../data/context"; -import type { EntityRegistryEntry } from "../../../../data/entity_registry"; import { showAlertDialog, showConfirmationDialog, showPromptDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "./ha-automation-condition-editor"; export interface ConditionElement extends LitElement { condition: Condition; diff --git a/src/panels/config/automation/condition/ha-automation-condition.ts b/src/panels/config/automation/condition/ha-automation-condition.ts index 77348cf308..b66f4ec51e 100644 --- a/src/panels/config/automation/condition/ha-automation-condition.ts +++ b/src/panels/config/automation/condition/ha-automation-condition.ts @@ -1,28 +1,31 @@ -import { mdiDrag, mdiPlus } from "@mdi/js"; -import deepClone from "deep-clone-simple"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { storage } from "../../../../common/decorators/storage"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { listenMediaQuery } from "../../../../common/dom/media_query"; -import { nextRender } from "../../../../common/util/render-status"; -import "../../../../components/ha-button"; -import "../../../../components/ha-button-menu"; -import "../../../../components/ha-sortable"; -import "../../../../components/ha-svg-icon"; import type { AutomationClipboard, Condition, } from "../../../../data/automation"; import type { HomeAssistant } from "../../../../types"; +import type HaAutomationConditionRow from "./ha-automation-condition-row"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-button-menu"; +import "../../../../components/ha-sortable"; +import "../../../../components/ha-svg-icon"; +import "./ha-automation-condition-row"; + +import { mdiDrag, mdiPlus } from "@mdi/js"; +import deepClone from "deep-clone-simple"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { storage } from "../../../../common/decorators/storage"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { listenMediaQuery } from "../../../../common/dom/media_query"; +import { nextRender } from "../../../../common/util/render-status"; import { PASTE_VALUE, showAddAutomationElementDialog, } from "../show-add-automation-element-dialog"; -import "./ha-automation-condition-row"; -import type HaAutomationConditionRow from "./ha-automation-condition-row"; @customElement("ha-automation-condition") export default class HaAutomationCondition extends LitElement { diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-and.ts b/src/panels/config/automation/condition/types/ha-automation-condition-and.ts index 13a0663740..de7a08b76a 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-and.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-and.ts @@ -1,7 +1,9 @@ -import { customElement } from "lit/decorators"; -import { HaLogicalCondition } from "./ha-automation-condition-logical"; import type { LogicalCondition } from "../../../../../data/automation"; +import { customElement } from "lit/decorators"; + +import { HaLogicalCondition } from "./ha-automation-condition-logical"; + @customElement("ha-automation-condition-and") export class HaAndCondition extends HaLogicalCondition { public static get defaultConfig(): LogicalCondition { diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-device.ts b/src/panels/config/automation/condition/types/ha-automation-condition-device.ts index 70ae2128e1..968fd070bc 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-device.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-device.ts @@ -1,25 +1,28 @@ -import { consume } from "@lit-labs/context"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/device/ha-device-condition-picker"; -import "../../../../../components/device/ha-device-picker"; -import "../../../../../components/ha-form/ha-form"; -import { fullEntitiesContext } from "../../../../../data/context"; import type { DeviceCapabilities, DeviceCondition, } from "../../../../../data/device_automation"; +import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; +import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/device/ha-device-condition-picker"; +import "../../../../../components/device/ha-device-picker"; +import "../../../../../components/ha-form/ha-form"; + +import { consume } from "@lit-labs/context"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { fullEntitiesContext } from "../../../../../data/context"; import { deviceAutomationsEqual, fetchDeviceConditionCapabilities, localizeExtraFieldsComputeLabelCallback, localizeExtraFieldsComputeHelperCallback, } from "../../../../../data/device_automation"; -import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; -import type { HomeAssistant } from "../../../../../types"; @customElement("ha-automation-condition-device") export class HaDeviceCondition extends LitElement { diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-logical.ts b/src/panels/config/automation/condition/types/ha-automation-condition-logical.ts index 6e61e041e3..3818dad215 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-logical.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-logical.ts @@ -1,11 +1,14 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { LogicalCondition } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; -import "../ha-automation-condition"; import type { ConditionElement } from "../ha-automation-condition-row"; +import "../ha-automation-condition"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + @customElement("ha-automation-condition-logical") export abstract class HaLogicalCondition extends LitElement diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-not.ts b/src/panels/config/automation/condition/types/ha-automation-condition-not.ts index ff14e924b6..b4412af2fb 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-not.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-not.ts @@ -1,7 +1,9 @@ -import { customElement } from "lit/decorators"; -import { HaLogicalCondition } from "./ha-automation-condition-logical"; import type { LogicalCondition } from "../../../../../data/automation"; +import { customElement } from "lit/decorators"; + +import { HaLogicalCondition } from "./ha-automation-condition-logical"; + @customElement("ha-automation-condition-not") export class HaNotCondition extends HaLogicalCondition { public static get defaultConfig(): LogicalCondition { diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-numeric_state.ts b/src/panels/config/automation/condition/types/ha-automation-condition-numeric_state.ts index 04e2de7cd2..a9825a30c9 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-numeric_state.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-numeric_state.ts @@ -1,6 +1,14 @@ +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { NumericStateCondition } from "../../../../../data/automation"; +import type { HomeAssistant } from "../../../../../types"; import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-form/ha-form"; + import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; import { assert, boolean, @@ -11,13 +19,8 @@ import { string, union, } from "superstruct"; -import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; -import type { NumericStateCondition } from "../../../../../data/automation"; -import type { HomeAssistant } from "../../../../../types"; const numericStateConditionStruct = object({ alias: optional(string()), diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-or.ts b/src/panels/config/automation/condition/types/ha-automation-condition-or.ts index e343a17ba3..8ca7e86191 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-or.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-or.ts @@ -1,7 +1,9 @@ -import { customElement } from "lit/decorators"; -import { HaLogicalCondition } from "./ha-automation-condition-logical"; import type { LogicalCondition } from "../../../../../data/automation"; +import { customElement } from "lit/decorators"; + +import { HaLogicalCondition } from "./ha-automation-condition-logical"; + @customElement("ha-automation-condition-or") export class HaOrCondition extends HaLogicalCondition { public static get defaultConfig(): LogicalCondition { diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-state.ts b/src/panels/config/automation/condition/types/ha-automation-condition-state.ts index 701bc28689..4ab5faeda7 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-state.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-state.ts @@ -1,4 +1,11 @@ +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { StateCondition } from "../../../../../data/automation"; +import type { HomeAssistant } from "../../../../../types"; +import type { ConditionElement } from "../ha-automation-condition-row"; import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-form/ha-form"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { @@ -11,14 +18,10 @@ import { string, union, } from "superstruct"; + import { createDurationData } from "../../../../../common/datetime/create_duration_data"; import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; -import type { StateCondition } from "../../../../../data/automation"; -import type { HomeAssistant } from "../../../../../types"; import { forDictStruct } from "../../structs"; -import type { ConditionElement } from "../ha-automation-condition-row"; const stateConditionStruct = object({ alias: optional(string()), diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-sun.ts b/src/panels/config/automation/condition/types/ha-automation-condition-sun.ts index c01e78102b..15ff33b7c2 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-sun.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-sun.ts @@ -1,13 +1,16 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { SunCondition } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { ConditionElement } from "../ha-automation-condition-row"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; + import "../../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; @customElement("ha-automation-condition-sun") export class HaSunCondition extends LitElement implements ConditionElement { diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-template.ts b/src/panels/config/automation/condition/types/ha-automation-condition-template.ts index 588ac881e7..6809493e96 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-template.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-template.ts @@ -1,8 +1,11 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../../../components/ha-textarea"; import type { TemplateCondition } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; + +import "../../../../../components/ha-textarea"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { handleChangeEvent } from "../ha-automation-condition-row"; @customElement("ha-automation-condition-template") diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-time.ts b/src/panels/config/automation/condition/types/ha-automation-condition-time.ts index 07ed5d4e4b..b2735afabd 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-time.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-time.ts @@ -1,16 +1,19 @@ -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { firstWeekdayIndex } from "../../../../../common/datetime/first_weekday"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { TimeCondition } from "../../../../../data/automation"; import type { FrontendLocaleData } from "../../../../../data/translation"; import type { HomeAssistant } from "../../../../../types"; import type { ConditionElement } from "../ha-automation-condition-row"; +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { firstWeekdayIndex } from "../../../../../common/datetime/first_weekday"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + const DAYS = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"] as const; @customElement("ha-automation-condition-time") diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-trigger.ts b/src/panels/config/automation/condition/types/ha-automation-condition-trigger.ts index 577d13d070..1a420b5f80 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-trigger.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-trigger.ts @@ -1,20 +1,23 @@ -import "@material/mwc-list/mwc-list-item"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; + +import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-select"; +import "@material/mwc-list/mwc-list-item"; + import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../../../../common/array/ensure-array"; import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; -import "../../../../../components/ha-select"; import { flattenTriggers, type AutomationConfig, type Trigger, type TriggerCondition, } from "../../../../../data/automation"; -import type { HomeAssistant } from "../../../../../types"; const getTriggersIds = (triggers: Trigger[]): string[] => { const triggerIds = flattenTriggers(triggers) diff --git a/src/panels/config/automation/condition/types/ha-automation-condition-zone.ts b/src/panels/config/automation/condition/types/ha-automation-condition-zone.ts index 2f593c51bd..54274a5751 100644 --- a/src/panels/config/automation/condition/types/ha-automation-condition-zone.ts +++ b/src/panels/config/automation/condition/types/ha-automation-condition-zone.ts @@ -1,11 +1,14 @@ +import type { ZoneCondition } from "../../../../../data/automation"; +import type { ValueChangedEvent, HomeAssistant } from "../../../../../types"; + +import "../../../../../components/entity/ha-entity-picker"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; import { computeStateDomain } from "../../../../../common/entity/compute_state_domain"; import { hasLocation } from "../../../../../common/entity/has_location"; -import "../../../../../components/entity/ha-entity-picker"; -import type { ZoneCondition } from "../../../../../data/automation"; -import type { ValueChangedEvent, HomeAssistant } from "../../../../../types"; function zoneAndLocationFilter(stateObj) { return hasLocation(stateObj) && computeStateDomain(stateObj) !== "zone"; diff --git a/src/panels/config/automation/dialog-new-automation.ts b/src/panels/config/automation/dialog-new-automation.ts index 8429515308..84252f24ab 100644 --- a/src/panels/config/automation/dialog-new-automation.ts +++ b/src/panels/config/automation/dialog-new-automation.ts @@ -1,4 +1,19 @@ +import type { + Blueprint, + BlueprintDomain, + BlueprintSourceType, + Blueprints, +} from "../../../data/blueprint"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../types"; +import type { NewAutomationDialogParams } from "./show-dialog-new-automation"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-icon-next"; +import "../../../components/ha-list-item"; +import "../../../components/ha-tip"; import "@material/mwc-list/mwc-list"; + import { mdiAccount, mdiFile, @@ -6,35 +21,23 @@ import { mdiPencilOutline, mdiWeb, } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; import { stringCompare } from "../../../common/string/compare"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-list-item"; -import "../../../components/ha-tip"; import { showAutomationEditor } from "../../../data/automation"; -import type { - Blueprint, - BlueprintDomain, - BlueprintSourceType, - Blueprints, -} from "../../../data/blueprint"; import { fetchBlueprints, getBlueprintSourceType, } from "../../../data/blueprint"; import { showScriptEditor } from "../../../data/script"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; import { mdiHomeAssistant } from "../../../resources/home-assistant-logo-svg"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import type { NewAutomationDialogParams } from "./show-dialog-new-automation"; const SOURCE_TYPE_ICONS: Record = { local: mdiFile, diff --git a/src/panels/config/automation/ha-automation-editor.ts b/src/panels/config/automation/ha-automation-editor.ts index 77ab99ab88..d53d552241 100644 --- a/src/panels/config/automation/ha-automation-editor.ts +++ b/src/panels/config/automation/ha-automation-editor.ts @@ -1,4 +1,26 @@ +import type { + AutomationConfig, + AutomationEntity, + BlueprintAutomationConfig, +} from "../../../data/automation"; +import type { Entries, HomeAssistant, Route } from "../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-fab"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-yaml-editor"; +import "../../../layouts/hass-subpage"; +import "../ha-config-section"; +import "./blueprint-automation-editor"; +import "./manual-automation-editor"; import "@material/mwc-button"; + +import { consume } from "@lit-labs/context"; import { mdiCog, mdiContentDuplicate, @@ -17,29 +39,16 @@ import { mdiTag, mdiTransitConnection, } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import { consume } from "@lit-labs/context"; + +import { transform } from "../../../common/decorators/transform"; import { fireEvent } from "../../../common/dom/fire_event"; import { navigate } from "../../../common/navigate"; import { computeRTL } from "../../../common/util/compute_rtl"; -import { afterNextRender } from "../../../common/util/render-status"; import { promiseTimeout } from "../../../common/util/promise-timeout"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-fab"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-yaml-editor"; -import type { - AutomationConfig, - AutomationEntity, - BlueprintAutomationConfig, -} from "../../../data/automation"; +import { afterNextRender } from "../../../common/util/render-status"; import { deleteAutomation, fetchAutomationFileConfig, @@ -52,6 +61,7 @@ import { } from "../../../data/automation"; import { substituteBlueprint } from "../../../data/blueprint"; import { validateConfig } from "../../../data/config"; +import { fullEntitiesContext } from "../../../data/context"; import { UNAVAILABLE } from "../../../data/entity"; import { type EntityRegistryEntry, @@ -61,24 +71,17 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-subpage"; +import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; import { KeyboardShortcutMixin } from "../../../mixins/keyboard-shortcut-mixin"; +import { PreventUnsavedMixin } from "../../../mixins/prevent-unsaved-mixin"; import { haStyle } from "../../../resources/styles"; -import type { Entries, HomeAssistant, Route } from "../../../types"; import { showToast } from "../../../util/toast"; -import "../ha-config-section"; +import { showAssignCategoryDialog } from "../category/show-dialog-assign-category"; import { showAutomationModeDialog } from "./automation-mode-dialog/show-dialog-automation-mode"; import { type EntityRegistryUpdate, showAutomationSaveDialog, } from "./automation-save-dialog/show-dialog-automation-save"; -import "./blueprint-automation-editor"; -import "./manual-automation-editor"; -import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import { showAssignCategoryDialog } from "../category/show-dialog-assign-category"; -import { PreventUnsavedMixin } from "../../../mixins/prevent-unsaved-mixin"; -import { fullEntitiesContext } from "../../../data/context"; -import { transform } from "../../../common/decorators/transform"; declare global { interface HTMLElementTagNameMap { diff --git a/src/panels/config/automation/ha-automation-picker.ts b/src/panels/config/automation/ha-automation-picker.ts index 6138f519ec..4d610407e0 100644 --- a/src/panels/config/automation/ha-automation-picker.ts +++ b/src/panels/config/automation/ha-automation-picker.ts @@ -1,3 +1,43 @@ +import type { HASSDomEvent } from "../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SelectionChangedEvent, + SortingChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { HaMdMenuItem } from "../../../components/ha-md-menu-item"; +import type { HaMenu } from "../../../components/ha-menu"; +import type { AutomationEntity } from "../../../data/automation"; +import type { CategoryRegistryEntry } from "../../../data/category_registry"; +import type { DataTableFilters } from "../../../data/data_table_filters"; +import type { + EntityRegistryEntry, + UpdateEntityRegistryEntryResult, +} from "../../../data/entity_registry"; +import type { LabelRegistryEntry } from "../../../data/label_registry"; +import type { HomeAssistant, Route, ServiceCallResponse } from "../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/chips/ha-assist-chip"; +import "../../../components/data-table/ha-data-table-labels"; +import "../../../components/entity/ha-entity-toggle"; +import "../../../components/ha-fab"; +import "../../../components/ha-filter-blueprints"; +import "../../../components/ha-filter-categories"; +import "../../../components/ha-filter-devices"; +import "../../../components/ha-filter-entities"; +import "../../../components/ha-filter-floor-areas"; +import "../../../components/ha-filter-labels"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-md-divider"; +import "../../../components/ha-md-menu-item"; +import "../../../components/ha-menu"; +import "../../../components/ha-sub-menu"; +import "../../../components/ha-svg-icon"; +import "../../../layouts/hass-tabs-subpage-data-table"; + import { consume } from "@lit-labs/context"; import { ResizeController } from "@lit-labs/observers/resize-controller"; import { @@ -19,52 +59,24 @@ import { mdiTransitConnection, } from "@mdi/js"; import { differenceInDays } from "date-fns"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { formatShortDateTimeWithConditionalYear } from "../../../common/datetime/format_date_time"; import { relativeTime } from "../../../common/datetime/relative_time"; import { storage } from "../../../common/decorators/storage"; -import type { HASSDomEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, rejectedItems, } from "../../../common/util/promise-all-settled-results"; -import "../../../components/chips/ha-assist-chip"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SelectionChangedEvent, - SortingChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/data-table/ha-data-table-labels"; -import "../../../components/entity/ha-entity-toggle"; -import "../../../components/ha-md-divider"; -import "../../../components/ha-fab"; -import "../../../components/ha-filter-blueprints"; -import "../../../components/ha-filter-categories"; -import "../../../components/ha-filter-devices"; -import "../../../components/ha-filter-entities"; -import "../../../components/ha-filter-floor-areas"; -import "../../../components/ha-filter-labels"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-md-menu-item"; -import type { HaMdMenuItem } from "../../../components/ha-md-menu-item"; -import "../../../components/ha-menu"; -import type { HaMenu } from "../../../components/ha-menu"; -import "../../../components/ha-sub-menu"; -import "../../../components/ha-svg-icon"; import { createAreaRegistryEntry } from "../../../data/area_registry"; -import type { AutomationEntity } from "../../../data/automation"; import { deleteAutomation, duplicateAutomation, @@ -73,24 +85,17 @@ import { showAutomationEditor, triggerAutomationActions, } from "../../../data/automation"; -import type { CategoryRegistryEntry } from "../../../data/category_registry"; import { createCategoryRegistryEntry, subscribeCategoryRegistry, } from "../../../data/category_registry"; import { fullEntitiesContext } from "../../../data/context"; -import type { DataTableFilters } from "../../../data/data_table_filters"; import { deserializeFilters, serializeFilters, } from "../../../data/data_table_filters"; import { UNAVAILABLE } from "../../../data/entity"; -import type { - EntityRegistryEntry, - UpdateEntityRegistryEntryResult, -} from "../../../data/entity_registry"; import { updateEntityRegistryEntry } from "../../../data/entity_registry"; -import type { LabelRegistryEntry } from "../../../data/label_registry"; import { createLabelRegistryEntry, subscribeLabelRegistry, @@ -100,10 +105,8 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route, ServiceCallResponse } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { turnOnOffEntity } from "../../lovelace/common/entity/turn-on-off-entity"; import { showAreaRegistryDetailDialog } from "../areas/show-dialog-area-registry-detail"; diff --git a/src/panels/config/automation/ha-automation-trace.ts b/src/panels/config/automation/ha-automation-trace.ts index 562176d46e..f83489adea 100644 --- a/src/panels/config/automation/ha-automation-trace.ts +++ b/src/panels/config/automation/ha-automation-trace.ts @@ -1,4 +1,27 @@ +import type { + HatScriptGraph, + NodeInfo, +} from "../../../components/trace/hat-script-graph"; +import type { AutomationEntity } from "../../../data/automation"; +import type { LogbookEntry } from "../../../data/logbook"; +import type { + AutomationTrace, + AutomationTraceExtended, +} from "../../../data/trace"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-icon-button"; +import "../../../components/trace/ha-trace-blueprint-config"; +import "../../../components/trace/ha-trace-config"; +import "../../../components/trace/ha-trace-logbook"; +import "../../../components/trace/ha-trace-path-details"; +import "../../../components/trace/ha-trace-timeline"; +import "../../../components/trace/hat-script-graph"; +import "../../../layouts/hass-subpage"; import "@material/mwc-list/mwc-list-item"; + import { mdiDotsVertical, mdiDownload, @@ -8,40 +31,20 @@ import { mdiRayStartArrow, mdiRefresh, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { repeat } from "lit/directives/repeat"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { formatDateTimeWithSeconds } from "../../../common/datetime/format_date_time"; import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-icon-button"; -import "../../../components/trace/ha-trace-blueprint-config"; -import "../../../components/trace/ha-trace-config"; -import "../../../components/trace/ha-trace-logbook"; -import "../../../components/trace/ha-trace-path-details"; -import "../../../components/trace/ha-trace-timeline"; -import "../../../components/trace/hat-script-graph"; -import type { - HatScriptGraph, - NodeInfo, -} from "../../../components/trace/hat-script-graph"; +import { computeRTL } from "../../../common/util/compute_rtl"; import { traceTabStyles } from "../../../components/trace/trace-tab-styles"; -import type { AutomationEntity } from "../../../data/automation"; -import type { LogbookEntry } from "../../../data/logbook"; import { getLogbookDataForContext } from "../../../data/logbook"; -import type { - AutomationTrace, - AutomationTraceExtended, -} from "../../../data/trace"; import { loadTrace, loadTraces } from "../../../data/trace"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-subpage"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; -import { computeRTL } from "../../../common/util/compute_rtl"; const TABS = ["details", "timeline", "logbook", "automation_config"] as const; diff --git a/src/panels/config/automation/ha-config-automation.ts b/src/panels/config/automation/ha-config-automation.ts index af11d0405c..c839b74cfd 100644 --- a/src/panels/config/automation/ha-config-automation.ts +++ b/src/panels/config/automation/ha-config-automation.ts @@ -1,16 +1,19 @@ -import type { HassEntities } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { computeStateDomain } from "../../../common/entity/compute_state_domain"; -import { debounce } from "../../../common/util/debounce"; import type { AutomationEntity } from "../../../data/automation"; import type { RouterOptions } from "../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../types"; +import type { HassEntities } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import "./ha-automation-editor"; import "./ha-automation-picker"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { computeStateDomain } from "../../../common/entity/compute_state_domain"; +import { debounce } from "../../../common/util/debounce"; +import { HassRouterPage } from "../../../layouts/hass-router-page"; + const equal = (a: AutomationEntity[], b: AutomationEntity[]): boolean => { if (a.length !== b.length) { return false; diff --git a/src/panels/config/automation/manual-automation-editor.ts b/src/panels/config/automation/manual-automation-editor.ts index 7799de3809..0f70b332ec 100644 --- a/src/panels/config/automation/manual-automation-editor.ts +++ b/src/panels/config/automation/manual-automation-editor.ts @@ -1,34 +1,38 @@ -import "@material/mwc-button/mwc-button"; -import { mdiHelpCircle } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { ensureArray } from "../../../common/array/ensure-array"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-markdown"; import type { Condition, ManualAutomationConfig, Trigger, } from "../../../data/automation"; import type { Action } from "../../../data/script"; -import { haStyle } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; -import { documentationUrl } from "../../../util/documentation-url"; +import type HaAutomationAction from "./action/ha-automation-action"; +import type HaAutomationCondition from "./condition/ha-automation-condition"; +import type HaAutomationTrigger from "./trigger/ha-automation-trigger"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-markdown"; import "./action/ha-automation-action"; import "./condition/ha-automation-condition"; import "./trigger/ha-automation-trigger"; -import type HaAutomationTrigger from "./trigger/ha-automation-trigger"; -import type HaAutomationAction from "./action/ha-automation-action"; -import type HaAutomationCondition from "./condition/ha-automation-condition"; +import "@material/mwc-button/mwc-button"; + +import { mdiHelpCircle } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { ensureArray } from "../../../common/array/ensure-array"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { constructUrlCurrentPath } from "../../../common/url/construct-url"; import { extractSearchParam, removeSearchParam, } from "../../../common/url/search-params"; -import { constructUrlCurrentPath } from "../../../common/url/construct-url"; +import { haStyle } from "../../../resources/styles"; +import { documentationUrl } from "../../../util/documentation-url"; + @customElement("manual-automation-editor") export class HaManualAutomationEditor extends LitElement { diff --git a/src/panels/config/automation/option/ha-automation-option-row.ts b/src/panels/config/automation/option/ha-automation-option-row.ts index a6e4c80475..e5388bade0 100644 --- a/src/panels/config/automation/option/ha-automation-option-row.ts +++ b/src/panels/config/automation/option/ha-automation-option-row.ts @@ -1,6 +1,19 @@ -import { consume } from "@lit-labs/context"; +import type { Condition } from "../../../../data/automation"; +import type { EntityRegistryEntry } from "../../../../data/entity_registry"; +import type { Action, Option } from "../../../../data/script"; +import type { HomeAssistant } from "../../../../types"; import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-button-menu"; +import "../../../../components/ha-card"; +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-icon-button"; +import "../action/ha-automation-action"; +import "../condition/ha-automation-condition"; import "@material/mwc-list/mwc-list-item"; + +import { consume } from "@lit-labs/context"; import { mdiArrowDown, mdiArrowUp, @@ -9,31 +22,21 @@ import { mdiDotsVertical, mdiRenameBox, } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { ensureArray } from "../../../../common/array/ensure-array"; import { fireEvent } from "../../../../common/dom/fire_event"; import { preventDefault } from "../../../../common/dom/prevent_default"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; -import "../../../../components/ha-button-menu"; -import "../../../../components/ha-card"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-icon-button"; -import "../condition/ha-automation-condition"; -import "../action/ha-automation-action"; -import type { Condition } from "../../../../data/automation"; import { describeCondition } from "../../../../data/automation_i18n"; import { fullEntitiesContext } from "../../../../data/context"; -import type { EntityRegistryEntry } from "../../../../data/entity_registry"; -import type { Action, Option } from "../../../../data/script"; import { showConfirmationDialog, showPromptDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-automation-option-row") export default class HaAutomationOptionRow extends LitElement { diff --git a/src/panels/config/automation/option/ha-automation-option.ts b/src/panels/config/automation/option/ha-automation-option.ts index 0bbe6e919d..6fcf550a05 100644 --- a/src/panels/config/automation/option/ha-automation-option.ts +++ b/src/panels/config/automation/option/ha-automation-option.ts @@ -1,21 +1,24 @@ +import type { AutomationClipboard } from "../../../../data/automation"; +import type { Option } from "../../../../data/script"; +import type { HomeAssistant } from "../../../../types"; +import type HaAutomationOptionRow from "./ha-automation-option-row"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-sortable"; +import "../../../../components/ha-svg-icon"; +import "./ha-automation-option-row"; + import { mdiDrag, mdiPlus } from "@mdi/js"; import deepClone from "deep-clone-simple"; -import type { PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; + import { storage } from "../../../../common/decorators/storage"; import { fireEvent } from "../../../../common/dom/fire_event"; import { listenMediaQuery } from "../../../../common/dom/media_query"; import { nextRender } from "../../../../common/util/render-status"; -import "../../../../components/ha-button"; -import "../../../../components/ha-sortable"; -import "../../../../components/ha-svg-icon"; -import type { AutomationClipboard } from "../../../../data/automation"; -import type { Option } from "../../../../data/script"; -import type { HomeAssistant } from "../../../../types"; -import "./ha-automation-option-row"; -import type HaAutomationOptionRow from "./ha-automation-option-row"; @customElement("ha-automation-option") export default class HaAutomationOption extends LitElement { diff --git a/src/panels/config/automation/trigger/ha-automation-trigger-row.ts b/src/panels/config/automation/trigger/ha-automation-trigger-row.ts index 62bcdf8468..c279956477 100644 --- a/src/panels/config/automation/trigger/ha-automation-trigger-row.ts +++ b/src/panels/config/automation/trigger/ha-automation-trigger-row.ts @@ -1,58 +1,19 @@ -import { consume } from "@lit-labs/context"; -import { - mdiArrowDown, - mdiArrowUp, - mdiContentCopy, - mdiContentCut, - mdiContentDuplicate, - mdiDelete, - mdiDotsVertical, - mdiIdentifier, - mdiPlayCircleOutline, - mdiPlaylistEdit, - mdiRenameBox, - mdiStopCircleOutline, -} from "@mdi/js"; +import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; +import type { AutomationClipboard, Trigger } from "../../../../data/automation"; +import type { EntityRegistryEntry } from "../../../../data/entity_registry"; +import type { HomeAssistant } from "../../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { storage } from "../../../../common/decorators/storage"; -import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { preventDefault } from "../../../../common/dom/prevent_default"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; -import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; -import { handleStructError } from "../../../../common/structs/handle-errors"; -import { debounce } from "../../../../common/util/debounce"; + import "../../../../components/ha-alert"; -import "../../../../components/ha-md-button-menu"; -import "../../../../components/ha-md-menu-item"; -import "../../../../components/ha-md-divider"; import "../../../../components/ha-card"; import "../../../../components/ha-expansion-panel"; import "../../../../components/ha-icon-button"; -import "../../../../components/ha-textfield"; import "../../../../components/ha-list-item"; -import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; -import type { AutomationClipboard, Trigger } from "../../../../data/automation"; -import { - migrateAutomationTrigger, - subscribeTrigger, -} from "../../../../data/automation"; -import { describeTrigger } from "../../../../data/automation_i18n"; -import { validateConfig } from "../../../../data/config"; -import { fullEntitiesContext } from "../../../../data/context"; -import type { EntityRegistryEntry } from "../../../../data/entity_registry"; -import { TRIGGER_ICONS, isTriggerList } from "../../../../data/trigger"; -import { - showAlertDialog, - showConfirmationDialog, - showPromptDialog, -} from "../../../../dialogs/generic/show-dialog-box"; -import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; +import "../../../../components/ha-md-button-menu"; +import "../../../../components/ha-md-divider"; +import "../../../../components/ha-md-menu-item"; +import "../../../../components/ha-textfield"; import "./types/ha-automation-trigger-calendar"; import "./types/ha-automation-trigger-conversation"; import "./types/ha-automation-trigger-device"; @@ -72,6 +33,48 @@ import "./types/ha-automation-trigger-time_pattern"; import "./types/ha-automation-trigger-webhook"; import "./types/ha-automation-trigger-zone"; +import { consume } from "@lit-labs/context"; +import { + mdiArrowDown, + mdiArrowUp, + mdiContentCopy, + mdiContentCut, + mdiContentDuplicate, + mdiDelete, + mdiDotsVertical, + mdiIdentifier, + mdiPlayCircleOutline, + mdiPlaylistEdit, + mdiRenameBox, + mdiStopCircleOutline, +} from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { storage } from "../../../../common/decorators/storage"; +import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { preventDefault } from "../../../../common/dom/prevent_default"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; +import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; +import { handleStructError } from "../../../../common/structs/handle-errors"; +import { debounce } from "../../../../common/util/debounce"; +import { + migrateAutomationTrigger, + subscribeTrigger, +} from "../../../../data/automation"; +import { describeTrigger } from "../../../../data/automation_i18n"; +import { validateConfig } from "../../../../data/config"; +import { fullEntitiesContext } from "../../../../data/context"; +import { TRIGGER_ICONS, isTriggerList } from "../../../../data/trigger"; +import { + showAlertDialog, + showConfirmationDialog, + showPromptDialog, +} from "../../../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../../resources/styles"; + export interface TriggerElement extends LitElement { trigger: Trigger; } diff --git a/src/panels/config/automation/trigger/ha-automation-trigger.ts b/src/panels/config/automation/trigger/ha-automation-trigger.ts index 49e53723b3..de28c13123 100644 --- a/src/panels/config/automation/trigger/ha-automation-trigger.ts +++ b/src/panels/config/automation/trigger/ha-automation-trigger.ts @@ -1,30 +1,33 @@ -import { mdiDrag, mdiPlus } from "@mdi/js"; -import deepClone from "deep-clone-simple"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { storage } from "../../../../common/decorators/storage"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { listenMediaQuery } from "../../../../common/dom/media_query"; -import { nextRender } from "../../../../common/util/render-status"; -import "../../../../components/ha-button"; -import "../../../../components/ha-button-menu"; -import "../../../../components/ha-sortable"; -import "../../../../components/ha-svg-icon"; import type { AutomationClipboard, Trigger, TriggerList, } from "../../../../data/automation"; -import { isTriggerList } from "../../../../data/trigger"; import type { HomeAssistant } from "../../../../types"; +import type HaAutomationTriggerRow from "./ha-automation-trigger-row"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-button-menu"; +import "../../../../components/ha-sortable"; +import "../../../../components/ha-svg-icon"; +import "./ha-automation-trigger-row"; + +import { mdiDrag, mdiPlus } from "@mdi/js"; +import deepClone from "deep-clone-simple"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { storage } from "../../../../common/decorators/storage"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { listenMediaQuery } from "../../../../common/dom/media_query"; +import { nextRender } from "../../../../common/util/render-status"; +import { isTriggerList } from "../../../../data/trigger"; import { PASTE_VALUE, showAddAutomationElementDialog, } from "../show-add-automation-element-dialog"; -import "./ha-automation-trigger-row"; -import type HaAutomationTriggerRow from "./ha-automation-trigger-row"; @customElement("ha-automation-trigger") export default class HaAutomationTrigger extends LitElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-calendar.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-calendar.ts index c2e11c7890..9223d9bd1b 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-calendar.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-calendar.ts @@ -1,15 +1,18 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { HaDurationData } from "../../../../../components/ha-duration-input"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { CalendarTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; -import type { HaDurationData } from "../../../../../components/ha-duration-input"; + import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + import { createDurationData } from "../../../../../common/datetime/create_duration_data"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import { fireEvent } from "../../../../../common/dom/fire_event"; @customElement("ha-automation-trigger-calendar") export class HaCalendarTrigger extends LitElement implements TriggerElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-conversation.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-conversation.ts index 4317f48007..8bf103bcc2 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-conversation.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-conversation.ts @@ -1,15 +1,18 @@ +import type { HaTextField } from "../../../../../components/ha-textfield"; +import type { ConversationTrigger } from "../../../../../data/automation"; +import type { HomeAssistant } from "../../../../../types"; +import type { TriggerElement } from "../ha-automation-trigger-row"; + +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-textfield"; + import { mdiClose } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { ensureArray } from "../../../../../common/array/ensure-array"; import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-textfield"; -import type { HaTextField } from "../../../../../components/ha-textfield"; -import "../../../../../components/ha-icon-button"; -import type { ConversationTrigger } from "../../../../../data/automation"; import { showConfirmationDialog } from "../../../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../../../types"; -import type { TriggerElement } from "../ha-automation-trigger-row"; const PATTERN = "^[^.。,,?¿?؟!!;;::]+$"; diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-device.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-device.ts index ad72162fd7..c932d4223e 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-device.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-device.ts @@ -1,27 +1,30 @@ -import { consume } from "@lit-labs/context"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { deepEqual } from "../../../../../common/util/deep-equal"; -import "../../../../../components/device/ha-device-picker"; -import "../../../../../components/device/ha-device-trigger-picker"; -import "../../../../../components/ha-form/ha-form"; -import { computeInitialHaFormData } from "../../../../../components/ha-form/compute-initial-ha-form-data"; -import { fullEntitiesContext } from "../../../../../data/context"; import type { DeviceCapabilities, DeviceTrigger, } from "../../../../../data/device_automation"; +import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; +import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/device/ha-device-picker"; +import "../../../../../components/device/ha-device-trigger-picker"; +import "../../../../../components/ha-form/ha-form"; + +import { consume } from "@lit-labs/context"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { deepEqual } from "../../../../../common/util/deep-equal"; +import { computeInitialHaFormData } from "../../../../../components/ha-form/compute-initial-ha-form-data"; +import { fullEntitiesContext } from "../../../../../data/context"; import { deviceAutomationsEqual, fetchDeviceTriggerCapabilities, localizeExtraFieldsComputeLabelCallback, localizeExtraFieldsComputeHelperCallback, } from "../../../../../data/device_automation"; -import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; -import type { HomeAssistant } from "../../../../../types"; @customElement("ha-automation-trigger-device") export class HaDeviceTrigger extends LitElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-event.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-event.ts index d0bd8ee870..ad99864e8e 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-event.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-event.ts @@ -1,12 +1,15 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-textfield"; -import "../../../../../components/ha-yaml-editor"; -import "../../../../../components/user/ha-users-picker"; import type { EventTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; + +import "../../../../../components/ha-textfield"; +import "../../../../../components/ha-yaml-editor"; +import "../../../../../components/user/ha-users-picker"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { handleChangeEvent } from "../ha-automation-trigger-row"; @customElement("ha-automation-trigger-event") diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location.ts index c613c03193..093d178aab 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location.ts @@ -1,12 +1,15 @@ +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { GeoLocationTrigger } from "../../../../../data/automation"; +import type { HomeAssistant } from "../../../../../types"; + import "../../../../../components/ha-form/ha-form"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import type { GeoLocationTrigger } from "../../../../../data/automation"; -import type { HomeAssistant } from "../../../../../types"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; @customElement("ha-automation-trigger-geo_location") export class HaGeolocationTrigger extends LitElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-homeassistant.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-homeassistant.ts index f194a734e2..444919d125 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-homeassistant.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-homeassistant.ts @@ -1,12 +1,15 @@ +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { HassTrigger } from "../../../../../data/automation"; +import type { HomeAssistant } from "../../../../../types"; + import "../../../../../components/ha-form/ha-form"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import type { HassTrigger } from "../../../../../data/automation"; -import type { HomeAssistant } from "../../../../../types"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; @customElement("ha-automation-trigger-homeassistant") export class HaHassTrigger extends LitElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-list.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-list.ts index 8fa59e39de..628f289b2c 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-list.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-list.ts @@ -1,10 +1,13 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { ensureArray } from "../../../../../common/array/ensure-array"; import type { TriggerList } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; -import "../ha-automation-trigger"; import type { TriggerElement } from "../ha-automation-trigger-row"; + +import "../ha-automation-trigger"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { ensureArray } from "../../../../../common/array/ensure-array"; import { handleChangeEvent } from "../ha-automation-trigger-row"; @customElement("ha-automation-trigger-list") diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt.ts index c42a9f10be..e0a852853f 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt.ts @@ -1,12 +1,15 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { MqttTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + const SCHEMA = [ { name: "topic", required: true, selector: { text: {} } }, { name: "payload", selector: { text: {} } }, diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-numeric_state.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-numeric_state.ts index db78f6fcd4..11f52a39f6 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-numeric_state.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-numeric_state.ts @@ -1,16 +1,19 @@ -import type { PropertyValues } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { createDurationData } from "../../../../../common/datetime/create_duration_data"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { hasTemplate } from "../../../../../common/string/has-template"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { NumericStateTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + import { ensureArray } from "../../../../../common/array/ensure-array"; +import { createDurationData } from "../../../../../common/datetime/create_duration_data"; +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { hasTemplate } from "../../../../../common/string/has-template"; @customElement("ha-automation-trigger-numeric_state") export class HaNumericStateTrigger extends LitElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification.ts index 55e5a81f97..c072371815 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification.ts @@ -1,18 +1,20 @@ -import memoizeOne from "memoize-one"; - -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-button-menu"; -import "../../../../../components/ha-check-list-item"; -import "../../../../../components/ha-icon-button"; -import "../../../../../components/ha-textfield"; +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { PersistentNotificationTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; + +import "../../../../../components/ha-button-menu"; +import "../../../../../components/ha-check-list-item"; import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-textfield"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; const DEFAULT_UPDATE_TYPES = ["added", "removed"]; const DEFAULT_NOTIFICATION_ID = ""; diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-state.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-state.ts index 9f1f94cbdc..1ba02f73f3 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-state.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-state.ts @@ -1,6 +1,15 @@ +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { StateTrigger } from "../../../../../data/automation"; +import type { HomeAssistant } from "../../../../../types"; +import type { TriggerElement } from "../ha-automation-trigger-row"; import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-form/ha-form"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; import { array, assert, @@ -13,18 +22,12 @@ import { string, union, } from "superstruct"; -import memoizeOne from "memoize-one"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; + import { ensureArray } from "../../../../../common/array/ensure-array"; +import { createDurationData } from "../../../../../common/datetime/create_duration_data"; import { fireEvent } from "../../../../../common/dom/fire_event"; import { hasTemplate } from "../../../../../common/string/has-template"; -import type { StateTrigger } from "../../../../../data/automation"; -import type { HomeAssistant } from "../../../../../types"; import { baseTriggerStruct, forDictStruct } from "../../structs"; -import type { TriggerElement } from "../ha-automation-trigger-row"; -import "../../../../../components/ha-form/ha-form"; -import { createDurationData } from "../../../../../common/datetime/create_duration_data"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; const stateTriggerStruct = assign( baseTriggerStruct, diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-sun.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-sun.ts index 99171d8935..55cad78543 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-sun.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-sun.ts @@ -1,13 +1,16 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { SunTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; + import "../../../../../components/ha-form/ha-form"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; @customElement("ha-automation-trigger-sun") export class HaSunTrigger extends LitElement implements TriggerElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts index f582ce329a..13db59d53b 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts @@ -1,15 +1,18 @@ -import "@material/mwc-list/mwc-list-item"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { caseInsensitiveStringCompare } from "../../../../../common/string/compare"; -import "../../../../../components/ha-select"; import type { TagTrigger } from "../../../../../data/automation"; import type { Tag } from "../../../../../data/tag"; -import { fetchTags } from "../../../../../data/tag"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-select"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { caseInsensitiveStringCompare } from "../../../../../common/string/compare"; +import { fetchTags } from "../../../../../data/tag"; @customElement("ha-automation-trigger-tag") export class HaTagTrigger extends LitElement implements TriggerElement { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-template.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-template.ts index 4168e5e7d0..f25db47f7b 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-template.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-template.ts @@ -1,14 +1,17 @@ -import "../../../../../components/ha-textarea"; -import type { PropertyValues } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { TemplateTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-textarea"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { createDurationData } from "../../../../../common/datetime/create_duration_data"; import { fireEvent } from "../../../../../common/dom/fire_event"; import { hasTemplate } from "../../../../../common/string/has-template"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; const SCHEMA = [ { name: "value_template", required: true, selector: { template: {} } }, diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-time.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-time.ts index 9154b1e86f..617786119b 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-time.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-time.ts @@ -1,14 +1,17 @@ -import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { TimeTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { computeDomain } from "../../../../../common/entity/compute_domain"; const MODE_TIME = "time"; diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-time_pattern.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-time_pattern.ts index 7d997268d8..5af35d04d2 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-time_pattern.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-time_pattern.ts @@ -1,12 +1,15 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { TimePatternTrigger } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; import type { TriggerElement } from "../ha-automation-trigger-row"; +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + const SCHEMA = [ { name: "hours", selector: { text: {} } }, { name: "minutes", selector: { text: {} } }, diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-webhook.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-webhook.ts index 0329b6ec04..a77ea5fe6a 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-webhook.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-webhook.ts @@ -1,23 +1,26 @@ -import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; -import { mdiCog, mdiContentCopy } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { slugify } from "../../../../../common/string/slugify"; -import { copyToClipboard } from "../../../../../common/util/copy-clipboard"; -import { stopPropagation } from "../../../../../common/dom/stop_propagation"; -import "../../../../../components/ha-button-menu"; -import "../../../../../components/ha-check-list-item"; -import "../../../../../components/ha-icon-button"; -import "../../../../../components/ha-textfield"; import type { HaTextField } from "../../../../../components/ha-textfield"; import type { AutomationConfig, WebhookTrigger, } from "../../../../../data/automation"; import type { HomeAssistant } from "../../../../../types"; +import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-button-menu"; +import "../../../../../components/ha-check-list-item"; +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-textfield"; + +import { mdiCog, mdiContentCopy } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { stopPropagation } from "../../../../../common/dom/stop_propagation"; +import { slugify } from "../../../../../common/string/slugify"; +import { copyToClipboard } from "../../../../../common/util/copy-clipboard"; import { showToast } from "../../../../../util/toast"; import { handleChangeEvent } from "../ha-automation-trigger-row"; diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-zone.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-zone.ts index 4730893ae9..72b9affc90 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-zone.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-zone.ts @@ -1,13 +1,16 @@ +import type { HaRadio } from "../../../../../components/ha-radio"; +import type { ZoneTrigger } from "../../../../../data/automation"; +import type { ValueChangedEvent, HomeAssistant } from "../../../../../types"; + import "../../../../../components/entity/ha-entity-picker"; import "../../../../../components/ha-formfield"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; import { computeStateDomain } from "../../../../../common/entity/compute_state_domain"; import { hasLocation } from "../../../../../common/entity/has_location"; -import type { ZoneTrigger } from "../../../../../data/automation"; -import type { ValueChangedEvent, HomeAssistant } from "../../../../../types"; -import type { HaRadio } from "../../../../../components/ha-radio"; function zoneAndLocationFilter(stateObj) { return hasLocation(stateObj) && computeStateDomain(stateObj) !== "zone"; diff --git a/src/panels/config/backup/components/config/ha-backup-config-agents.ts b/src/panels/config/backup/components/config/ha-backup-config-agents.ts index 687321f7c5..6715c04b29 100644 --- a/src/panels/config/backup/components/config/ha-backup-config-agents.ts +++ b/src/panels/config/backup/components/config/ha-backup-config-agents.ts @@ -1,27 +1,30 @@ -import { mdiCog, mdiDelete, mdiHarddisk, mdiNas } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { computeDomain } from "../../../../../common/entity/compute_domain"; -import { navigate } from "../../../../../common/navigate"; +import type { + BackupAgent, + BackupAgentsConfig, +} from "../../../../../data/backup"; +import type { CloudStatus } from "../../../../../data/cloud"; +import type { HomeAssistant } from "../../../../../types"; + import "../../../../../components/ha-icon-button"; import "../../../../../components/ha-md-list"; import "../../../../../components/ha-md-list-item"; import "../../../../../components/ha-svg-icon"; import "../../../../../components/ha-switch"; -import type { - BackupAgent, - BackupAgentsConfig, -} from "../../../../../data/backup"; + +import { mdiCog, mdiDelete, mdiHarddisk, mdiNas } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { computeDomain } from "../../../../../common/entity/compute_domain"; +import { navigate } from "../../../../../common/navigate"; import { CLOUD_AGENT, computeBackupAgentName, isLocalAgent, isNetworkMountAgent, } from "../../../../../data/backup"; -import type { CloudStatus } from "../../../../../data/cloud"; -import type { HomeAssistant } from "../../../../../types"; import { brandsUrl } from "../../../../../util/brands-url"; const DEFAULT_AGENTS = []; diff --git a/src/panels/config/backup/components/config/ha-backup-config-data.ts b/src/panels/config/backup/components/config/ha-backup-config-data.ts index 34b41843dc..7a8bdda09a 100644 --- a/src/panels/config/backup/components/config/ha-backup-config-data.ts +++ b/src/panels/config/backup/components/config/ha-backup-config-data.ts @@ -1,3 +1,18 @@ +import type { HaMdSelect } from "../../../../../components/ha-md-select"; +import type { HaSwitch } from "../../../../../components/ha-switch"; +import type { HomeAssistant } from "../../../../../types"; +import type { BackupAddonItem } from "../ha-backup-addons-picker"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-button"; +import "../../../../../components/ha-expansion-panel"; +import "../../../../../components/ha-md-list"; +import "../../../../../components/ha-md-list-item"; +import "../../../../../components/ha-md-select"; +import "../../../../../components/ha-md-select-option"; +import "../../../../../components/ha-switch"; +import "../ha-backup-addons-picker"; + import { mdiChartBox, mdiCog, @@ -5,25 +20,13 @@ import { mdiPlayBoxMultiple, mdiPuzzle, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-button"; -import "../../../../../components/ha-expansion-panel"; -import "../../../../../components/ha-md-list"; -import "../../../../../components/ha-md-list-item"; -import "../../../../../components/ha-md-select"; -import type { HaMdSelect } from "../../../../../components/ha-md-select"; -import "../../../../../components/ha-md-select-option"; -import "../../../../../components/ha-switch"; -import type { HaSwitch } from "../../../../../components/ha-switch"; import { fetchHassioAddonsInfo } from "../../../../../data/hassio/addon"; -import type { HomeAssistant } from "../../../../../types"; -import "../ha-backup-addons-picker"; -import type { BackupAddonItem } from "../ha-backup-addons-picker"; import { getRecorderInfo } from "../../../../../data/recorder"; export interface FormData { diff --git a/src/panels/config/backup/components/config/ha-backup-config-encryption-key.ts b/src/panels/config/backup/components/config/ha-backup-config-encryption-key.ts index f554a04230..2008a4d089 100644 --- a/src/panels/config/backup/components/config/ha-backup-config-encryption-key.ts +++ b/src/panels/config/backup/components/config/ha-backup-config-encryption-key.ts @@ -1,14 +1,16 @@ +import type { HomeAssistant } from "../../../../../types"; + +import "../../../../../components/ha-md-list"; +import "../../../../../components/ha-md-list-item"; + import { mdiDownload } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-md-list"; -import "../../../../../components/ha-md-list-item"; -import type { HomeAssistant } from "../../../../../types"; +import { downloadEmergencyKit } from "../../../../../data/backup"; import { showChangeBackupEncryptionKeyDialog } from "../../dialogs/show-dialog-change-backup-encryption-key"; import { showSetBackupEncryptionKeyDialog } from "../../dialogs/show-dialog-set-backup-encryption-key"; - -import { downloadEmergencyKit } from "../../../../../data/backup"; import { showShowBackupEncryptionKeyDialog } from "../../dialogs/show-dialog-show-backup-encryption-key"; @customElement("ha-backup-config-encryption-key") diff --git a/src/panels/config/backup/components/config/ha-backup-config-schedule.ts b/src/panels/config/backup/components/config/ha-backup-config-schedule.ts index c19d334487..022cd48a9d 100644 --- a/src/panels/config/backup/components/config/ha-backup-config-schedule.ts +++ b/src/panels/config/backup/components/config/ha-backup-config-schedule.ts @@ -1,18 +1,28 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { clamp } from "../../../../../common/number/clamp"; import type { HaCheckbox } from "../../../../../components/ha-checkbox"; +import type { HaMdSelect } from "../../../../../components/ha-md-select"; +import type { BackupConfig, BackupDay } from "../../../../../data/backup"; +import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-checkbox"; +import "../../../../../components/ha-expansion-panel"; +import "../../../../../components/ha-formfield"; import "../../../../../components/ha-md-list"; import "../../../../../components/ha-md-list-item"; import "../../../../../components/ha-md-select"; -import type { HaMdSelect } from "../../../../../components/ha-md-select"; import "../../../../../components/ha-md-select-option"; import "../../../../../components/ha-md-textfield"; import "../../../../../components/ha-switch"; -import type { BackupConfig, BackupDay } from "../../../../../data/backup"; +import "../../../../../components/ha-time-input"; +import "../../../../../components/ha-tip"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { formatTime } from "../../../../../common/datetime/format_time"; +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { clamp } from "../../../../../common/number/clamp"; import { BACKUP_DAYS, BackupScheduleRecurrence, @@ -20,13 +30,6 @@ import { DEFAULT_OPTIMIZED_BACKUP_START_TIME, sortWeekdays, } from "../../../../../data/backup"; -import type { HomeAssistant } from "../../../../../types"; -import "../../../../../components/ha-time-input"; -import "../../../../../components/ha-tip"; -import "../../../../../components/ha-expansion-panel"; -import "../../../../../components/ha-checkbox"; -import "../../../../../components/ha-formfield"; -import { formatTime } from "../../../../../common/datetime/format_time"; import { documentationUrl } from "../../../../../util/documentation-url"; export type BackupConfigSchedule = Pick; diff --git a/src/panels/config/backup/components/ha-backup-addons-picker.ts b/src/panels/config/backup/components/ha-backup-addons-picker.ts index 74899f753f..68b408ea8c 100644 --- a/src/panels/config/backup/components/ha-backup-addons-picker.ts +++ b/src/panels/config/backup/components/ha-backup-addons-picker.ts @@ -1,14 +1,17 @@ +import type { HaCheckbox } from "../../../../components/ha-checkbox"; +import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-checkbox"; +import "../../../../components/ha-formfield"; +import "./ha-backup-formfield-label"; + import { mdiPuzzle } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { stringCompare } from "../../../../common/string/compare"; -import "../../../../components/ha-checkbox"; -import type { HaCheckbox } from "../../../../components/ha-checkbox"; -import "../../../../components/ha-formfield"; -import type { HomeAssistant } from "../../../../types"; -import "./ha-backup-formfield-label"; export interface BackupAddonItem { slug: string; diff --git a/src/panels/config/backup/components/ha-backup-agents-picker.ts b/src/panels/config/backup/components/ha-backup-agents-picker.ts index 529a5089dc..13a48bb5e3 100644 --- a/src/panels/config/backup/components/ha-backup-agents-picker.ts +++ b/src/panels/config/backup/components/ha-backup-agents-picker.ts @@ -1,19 +1,22 @@ +import type { BackupAgent } from "../../../../data/backup"; +import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-checkbox"; +import "../../../../components/ha-formfield"; +import "../../../../components/ha-svg-icon"; + import { mdiHarddisk, mdiNas } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { computeDomain } from "../../../../common/entity/compute_domain"; -import "../../../../components/ha-checkbox"; -import "../../../../components/ha-formfield"; -import "../../../../components/ha-svg-icon"; -import type { BackupAgent } from "../../../../data/backup"; import { computeBackupAgentName, isLocalAgent, isNetworkMountAgent, } from "../../../../data/backup"; -import type { HomeAssistant } from "../../../../types"; import { brandsUrl } from "../../../../util/brands-url"; @customElement("ha-backup-agents-picker") diff --git a/src/panels/config/backup/components/ha-backup-data-picker.ts b/src/panels/config/backup/components/ha-backup-data-picker.ts index 61417423d9..544b45a174 100644 --- a/src/panels/config/backup/components/ha-backup-data-picker.ts +++ b/src/panels/config/backup/components/ha-backup-data-picker.ts @@ -1,3 +1,15 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { HaCheckbox } from "../../../../components/ha-checkbox"; +import type { BackupData } from "../../../../data/backup"; +import type { HomeAssistant } from "../../../../types"; +import type { BackupAddonItem } from "./ha-backup-addons-picker"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-checkbox"; +import "../../../../components/ha-formfield"; +import "./ha-backup-addons-picker"; +import "./ha-backup-formfield-label"; + import { mdiChartBox, mdiCog, @@ -6,24 +18,15 @@ import { mdiPuzzle, mdiShieldCheck, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; import { fireEvent } from "../../../../common/dom/fire_event"; import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-checkbox"; -import type { HaCheckbox } from "../../../../components/ha-checkbox"; -import "../../../../components/ha-formfield"; -import type { BackupData } from "../../../../data/backup"; import { fetchHassioAddonsInfo } from "../../../../data/hassio/addon"; import { mdiHomeAssistant } from "../../../../resources/home-assistant-logo-svg"; -import type { HomeAssistant } from "../../../../types"; -import "./ha-backup-addons-picker"; -import type { BackupAddonItem } from "./ha-backup-addons-picker"; -import "./ha-backup-formfield-label"; interface CheckBoxItem { label: string; diff --git a/src/panels/config/backup/components/ha-backup-details-restore.ts b/src/panels/config/backup/components/ha-backup-details-restore.ts index 170a39bf5b..1d82c2207c 100644 --- a/src/panels/config/backup/components/ha-backup-details-restore.ts +++ b/src/panels/config/backup/components/ha-backup-details-restore.ts @@ -1,17 +1,20 @@ -import memoizeOne from "memoize-one"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../../components/ha-card"; -import "../../../../components/ha-md-list"; -import "../../../../components/ha-md-list-item"; -import "../../../../components/ha-button"; -import "./ha-backup-data-picker"; -import type { HomeAssistant } from "../../../../types"; import type { LocalizeFunc } from "../../../../common/translations/localize"; import type { BackupContentExtended, BackupData, } from "../../../../data/backup"; +import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-card"; +import "../../../../components/ha-md-list"; +import "../../../../components/ha-md-list-item"; +import "./ha-backup-data-picker"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../common/dom/fire_event"; @customElement("ha-backup-details-restore") diff --git a/src/panels/config/backup/components/ha-backup-details-summary.ts b/src/panels/config/backup/components/ha-backup-details-summary.ts index 2bd0f2d6a3..848f07004b 100644 --- a/src/panels/config/backup/components/ha-backup-details-summary.ts +++ b/src/panels/config/backup/components/ha-backup-details-summary.ts @@ -1,9 +1,12 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; +import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-card"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; -import type { HomeAssistant } from "../../../../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { formatDateTime } from "../../../../common/datetime/format_date_time"; import { computeBackupSize, diff --git a/src/panels/config/backup/components/ha-backup-formfield-label.ts b/src/panels/config/backup/components/ha-backup-formfield-label.ts index d77c659851..1341d417d5 100644 --- a/src/panels/config/backup/components/ha-backup-formfield-label.ts +++ b/src/panels/config/backup/components/ha-backup-formfield-label.ts @@ -1,7 +1,9 @@ import type { TemplateResult } from "lit"; + +import "../../../../components/ha-svg-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../../components/ha-svg-icon"; @customElement("ha-backup-formfield-label") class SupervisorFormfieldLabel extends LitElement { diff --git a/src/panels/config/backup/components/ha-backup-summary-card.ts b/src/panels/config/backup/components/ha-backup-summary-card.ts index 16dd2bf4bb..60861462d8 100644 --- a/src/panels/config/backup/components/ha-backup-summary-card.ts +++ b/src/panels/config/backup/components/ha-backup-summary-card.ts @@ -1,3 +1,8 @@ +import "../../../../components/ha-button"; +import "../../../../components/ha-card"; +import "../../../../components/ha-icon"; +import "../../../../components/ha-spinner"; + import { mdiAlertCircleOutline, mdiAlertOutline, @@ -7,10 +12,6 @@ import { } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../../components/ha-button"; -import "../../../../components/ha-card"; -import "../../../../components/ha-spinner"; -import "../../../../components/ha-icon"; type SummaryStatus = "success" | "error" | "info" | "warning" | "loading"; diff --git a/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts b/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts index c140713aba..930ef16ad9 100644 --- a/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts +++ b/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts @@ -1,22 +1,25 @@ -import { mdiCalendarSync, mdiGestureTap, mdiPuzzle } from "@mdi/js"; +import type { BackupContent, BackupType } from "../../../../../data/backup"; +import type { HomeAssistant } from "../../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; + import "../../../../../components/ha-button"; import "../../../../../components/ha-card"; import "../../../../../components/ha-icon-next"; import "../../../../../components/ha-md-list"; import "../../../../../components/ha-md-list-item"; -import type { BackupContent, BackupType } from "../../../../../data/backup"; + +import { mdiCalendarSync, mdiGestureTap, mdiPuzzle } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; import { computeBackupSize, computeBackupType, getBackupTypes, } from "../../../../../data/backup"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { bytesToString } from "../../../../../util/bytes-to-string"; interface BackupStats { diff --git a/src/panels/config/backup/components/overview/ha-backup-overview-onboarding.ts b/src/panels/config/backup/components/overview/ha-backup-overview-onboarding.ts index 277c12a8d1..3d684f9ca3 100644 --- a/src/panels/config/backup/components/overview/ha-backup-overview-onboarding.ts +++ b/src/panels/config/backup/components/overview/ha-backup-overview-onboarding.ts @@ -1,13 +1,16 @@ -import { mdiInformationOutline } from "@mdi/js"; +import type { HomeAssistant } from "../../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; + import "../../../../../components/ha-button"; import "../../../../../components/ha-card"; import "../../../../../components/ha-svg-icon"; + +import { mdiInformationOutline } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; declare global { // for fire event diff --git a/src/panels/config/backup/components/overview/ha-backup-overview-progress.ts b/src/panels/config/backup/components/overview/ha-backup-overview-progress.ts index 223a351325..52346ea848 100644 --- a/src/panels/config/backup/components/overview/ha-backup-overview-progress.ts +++ b/src/panels/config/backup/components/overview/ha-backup-overview-progress.ts @@ -1,9 +1,11 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { ManagerStateEvent } from "../../../../../data/backup_manager"; import type { HomeAssistant } from "../../../../../types"; + import "../ha-backup-summary-card"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-backup-overview-progress") export class HaBackupOverviewProgress extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/backup/components/overview/ha-backup-overview-settings.ts b/src/panels/config/backup/components/overview/ha-backup-overview-settings.ts index 4fd90b7048..9bdc2a04d8 100644 --- a/src/panels/config/backup/components/overview/ha-backup-overview-settings.ts +++ b/src/panels/config/backup/components/overview/ha-backup-overview-settings.ts @@ -1,25 +1,28 @@ -import { mdiCalendar, mdiDatabase, mdiPuzzle, mdiUpload } from "@mdi/js"; +import type { BackupAgent, BackupConfig } from "../../../../../data/backup"; +import type { HomeAssistant } from "../../../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { navigate } from "../../../../../common/navigate"; + import "../../../../../components/ha-button"; import "../../../../../components/ha-card"; import "../../../../../components/ha-icon-next"; import "../../../../../components/ha-md-list"; import "../../../../../components/ha-md-list-item"; import "../../../../../components/ha-svg-icon"; -import type { BackupAgent, BackupConfig } from "../../../../../data/backup"; + +import { mdiCalendar, mdiDatabase, mdiPuzzle, mdiUpload } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; +import { navigate } from "../../../../../common/navigate"; import { BackupScheduleRecurrence, computeBackupAgentName, getFormattedBackupTime, isLocalAgent, } from "../../../../../data/backup"; -import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; import { getRecorderInfo } from "../../../../../data/recorder"; +import { haStyle } from "../../../../../resources/styles"; @customElement("ha-backup-overview-settings") class HaBackupBackupsSummary extends LitElement { diff --git a/src/panels/config/backup/components/overview/ha-backup-overview-summary.ts b/src/panels/config/backup/components/overview/ha-backup-overview-summary.ts index b238ad9767..1c13690a41 100644 --- a/src/panels/config/backup/components/overview/ha-backup-overview-summary.ts +++ b/src/panels/config/backup/components/overview/ha-backup-overview-summary.ts @@ -1,28 +1,31 @@ -import { mdiBackupRestore, mdiCalendar, mdiInformation } from "@mdi/js"; -import { addHours, differenceInDays, isToday, isTomorrow } from "date-fns"; +import type { BackupConfig, BackupContent } from "../../../../../data/backup"; +import type { HomeAssistant } from "../../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { relativeTime } from "../../../../../common/datetime/relative_time"; + import "../../../../../components/ha-button"; import "../../../../../components/ha-card"; +import "../../../../../components/ha-icon-button"; import "../../../../../components/ha-md-list"; import "../../../../../components/ha-md-list-item"; import "../../../../../components/ha-svg-icon"; -import "../../../../../components/ha-icon-button"; -import type { BackupConfig, BackupContent } from "../../../../../data/backup"; +import "../ha-backup-summary-card"; + +import { mdiBackupRestore, mdiCalendar, mdiInformation } from "@mdi/js"; +import { addHours, differenceInDays, isToday, isTomorrow } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { + formatDate, + formatDateWeekday, +} from "../../../../../common/datetime/format_date"; +import { relativeTime } from "../../../../../common/datetime/relative_time"; import { BackupScheduleRecurrence, getFormattedBackupTime, } from "../../../../../data/backup"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import "../ha-backup-summary-card"; -import { - formatDate, - formatDateWeekday, -} from "../../../../../common/datetime/format_date"; import { showAlertDialog } from "../../../../lovelace/custom-card-helpers"; const OVERDUE_MARGIN_HOURS = 3; diff --git a/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts b/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts index 6b4e51fe06..8152662adf 100644 --- a/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts +++ b/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts @@ -1,25 +1,36 @@ -import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { + BackupConfig, + BackupMutableConfig, +} from "../../../../data/backup"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { BackupConfigData } from "../components/config/ha-backup-config-data"; +import type { BackupConfigSchedule } from "../components/config/ha-backup-config-schedule"; +import type { BackupOnboardingDialogParams } from "./show-dialog-backup_onboarding"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { copyToClipboard } from "../../../../common/util/copy-clipboard"; + import "../../../../components/ha-button"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-button-prev"; import "../../../../components/ha-icon-next"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; import "../../../../components/ha-password-field"; import "../../../../components/ha-svg-icon"; -import type { - BackupConfig, - BackupMutableConfig, -} from "../../../../data/backup"; +import "../components/config/ha-backup-config-agents"; +import "../components/config/ha-backup-config-data"; +import "../components/config/ha-backup-config-schedule"; + +import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { copyToClipboard } from "../../../../common/util/copy-clipboard"; import { BackupScheduleRecurrence, CLOUD_AGENT, @@ -29,16 +40,8 @@ import { HASSIO_LOCAL_AGENT, updateBackupConfig, } from "../../../../data/backup"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; -import "../components/config/ha-backup-config-agents"; -import "../components/config/ha-backup-config-data"; -import type { BackupConfigData } from "../components/config/ha-backup-config-data"; -import "../components/config/ha-backup-config-schedule"; -import type { BackupConfigSchedule } from "../components/config/ha-backup-config-schedule"; -import type { BackupOnboardingDialogParams } from "./show-dialog-backup_onboarding"; const STEPS = [ "welcome", diff --git a/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts b/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts index f8e7ee2f70..3b56f0ca2f 100644 --- a/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts +++ b/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts @@ -1,27 +1,30 @@ -import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { ChangeBackupEncryptionKeyDialogParams } from "./show-dialog-change-backup-encryption-key"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { copyToClipboard } from "../../../../common/util/copy-clipboard"; + import "../../../../components/ha-button"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-button-prev"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; import "../../../../components/ha-password-field"; + +import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { copyToClipboard } from "../../../../common/util/copy-clipboard"; import { downloadEmergencyKit, generateEncryptionKey, } from "../../../../data/backup"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; -import type { ChangeBackupEncryptionKeyDialogParams } from "./show-dialog-change-backup-encryption-key"; const STEPS = ["current", "new", "done"] as const; diff --git a/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts b/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts index 8c82390142..8ee20187e8 100644 --- a/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts @@ -1,27 +1,30 @@ -import { mdiClose } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { DownloadDecryptedBackupDialogParams } from "./show-dialog-download-decrypted-backup"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + +import "../../../../components/ha-alert"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-next"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; -import "../../../../components/ha-svg-icon"; import "../../../../components/ha-password-field"; -import "../../../../components/ha-alert"; +import "../../../../components/ha-svg-icon"; + +import { mdiClose } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { canDecryptBackupOnDownload, getPreferredAgentForDownload, } from "../../../../data/backup"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { downloadBackupFile } from "../helper/download_backup"; -import type { DownloadDecryptedBackupDialogParams } from "./show-dialog-download-decrypted-backup"; @customElement("ha-dialog-download-decrypted-backup") class DialogDownloadDecryptedBackup extends LitElement implements HassDialog { diff --git a/src/panels/config/backup/dialogs/dialog-generate-backup.ts b/src/panels/config/backup/dialogs/dialog-generate-backup.ts index 65d70784c3..e1c3db4637 100644 --- a/src/panels/config/backup/dialogs/dialog-generate-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-generate-backup.ts @@ -1,9 +1,15 @@ -import { mdiClose } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { + BackupAgent, + BackupConfig, + GenerateBackupParams, +} from "../../../../data/backup"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { BackupConfigData } from "../components/config/ha-backup-config-data"; +import type { GenerateBackupDialogParams } from "./show-dialog-generate-backup"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-alert"; import "../../../../components/ha-button"; import "../../../../components/ha-dialog-header"; @@ -11,30 +17,27 @@ import "../../../../components/ha-expansion-panel"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-button-prev"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; import "../../../../components/ha-md-select"; import "../../../../components/ha-md-select-option"; import "../../../../components/ha-textfield"; -import type { - BackupAgent, - BackupConfig, - GenerateBackupParams, -} from "../../../../data/backup"; +import "../components/config/ha-backup-config-data"; +import "../components/ha-backup-agents-picker"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; +import { fireEvent } from "../../../../common/dom/fire_event"; import { CLOUD_AGENT, compareAgents, fetchBackupAgentsInfo, fetchBackupConfig, } from "../../../../data/backup"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "../components/config/ha-backup-config-data"; -import type { BackupConfigData } from "../components/config/ha-backup-config-data"; -import "../components/ha-backup-agents-picker"; -import type { GenerateBackupDialogParams } from "./show-dialog-generate-backup"; interface FormData { name: string; diff --git a/src/panels/config/backup/dialogs/dialog-local-backup-location.ts b/src/panels/config/backup/dialogs/dialog-local-backup-location.ts index 3e171a5490..010ee2f81c 100644 --- a/src/panels/config/backup/dialogs/dialog-local-backup-location.ts +++ b/src/panels/config/backup/dialogs/dialog-local-backup-location.ts @@ -1,20 +1,23 @@ -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-button"; -import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-form/ha-form"; -import "../../../../components/ha-alert"; import type { HaFormSchema, SchemaUnion, } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { LocalBackupLocationDialogParams } from "./show-dialog-local-backup-location"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-alert"; +import "../../../../components/ha-button"; +import "../../../../components/ha-form/ha-form"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../components/ha-dialog"; import { extractApiErrorMessage } from "../../../../data/hassio/common"; import { changeMountOptions } from "../../../../data/supervisor/mounts"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { LocalBackupLocationDialogParams } from "./show-dialog-local-backup-location"; const SCHEMA = [ { diff --git a/src/panels/config/backup/dialogs/dialog-new-backup.ts b/src/panels/config/backup/dialogs/dialog-new-backup.ts index 82927c07a8..5b299bb054 100644 --- a/src/panels/config/backup/dialogs/dialog-new-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-new-backup.ts @@ -1,20 +1,23 @@ -import { mdiCalendarSync, mdiClose, mdiGestureTap } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { NewBackupDialogParams } from "./show-dialog-new-backup"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-next"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; import "../../../../components/ha-svg-icon"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; + +import { mdiCalendarSync, mdiClose, mdiGestureTap } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { NewBackupDialogParams } from "./show-dialog-new-backup"; @customElement("ha-dialog-new-backup") class DialogNewBackup extends LitElement implements HassDialog { diff --git a/src/panels/config/backup/dialogs/dialog-restore-backup.ts b/src/panels/config/backup/dialogs/dialog-restore-backup.ts index d70e9c5a89..9f2425d9ba 100644 --- a/src/panels/config/backup/dialogs/dialog-restore-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-restore-backup.ts @@ -1,35 +1,37 @@ -import { mdiClose } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { RestoreBackupParams } from "../../../../data/backup"; +import type { + RestoreBackupStage, + RestoreBackupState, +} from "../../../../data/backup_manager"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { RestoreBackupDialogParams } from "./show-dialog-restore-backup"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-button"; -import "../../../../components/ha-spinner"; -import "../../../../components/ha-dialog-header"; -import "../../../../components/ha-password-field"; -import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; import "../../../../components/ha-alert"; +import "../../../../components/ha-button"; +import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import "../../../../components/ha-password-field"; +import "../../../../components/ha-spinner"; import "../../../../components/ha-svg-icon"; -import type { RestoreBackupParams } from "../../../../data/backup"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; +import { fireEvent } from "../../../../common/dom/fire_event"; import { fetchBackupConfig, getPreferredAgentForDownload, restoreBackup, } from "../../../../data/backup"; -import type { - RestoreBackupStage, - RestoreBackupState, -} from "../../../../data/backup_manager"; import { subscribeBackupEvents } from "../../../../data/backup_manager"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { RestoreBackupDialogParams } from "./show-dialog-restore-backup"; interface FormData { encryption_key_type: "config" | "custom"; diff --git a/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts b/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts index 748e8cc325..4d9db44d30 100644 --- a/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts +++ b/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts @@ -1,27 +1,30 @@ -import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { SetBackupEncryptionKeyDialogParams } from "./show-dialog-set-backup-encryption-key"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { copyToClipboard } from "../../../../common/util/copy-clipboard"; + import "../../../../components/ha-button"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-button-prev"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; import "../../../../components/ha-password-field"; + +import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { copyToClipboard } from "../../../../common/util/copy-clipboard"; import { downloadEmergencyKit, generateEncryptionKey, } from "../../../../data/backup"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; -import type { SetBackupEncryptionKeyDialogParams } from "./show-dialog-set-backup-encryption-key"; const STEPS = ["key", "done"] as const; diff --git a/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts b/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts index 15bb07096c..4127227ef4 100644 --- a/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts +++ b/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts @@ -1,24 +1,27 @@ -import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { ShowBackupEncryptionKeyDialogParams } from "./show-dialog-show-backup-encryption-key"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { copyToClipboard } from "../../../../common/util/copy-clipboard"; + import "../../../../components/ha-button"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-button-prev"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; import "../../../../components/ha-password-field"; + +import { mdiClose, mdiContentCopy, mdiDownload } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { copyToClipboard } from "../../../../common/util/copy-clipboard"; import { downloadEmergencyKit } from "../../../../data/backup"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; -import type { ShowBackupEncryptionKeyDialogParams } from "./show-dialog-show-backup-encryption-key"; @customElement("ha-dialog-show-backup-encryption-key") class DialogShowBackupEncryptionKey extends LitElement implements HassDialog { diff --git a/src/panels/config/backup/dialogs/dialog-upload-backup.ts b/src/panels/config/backup/dialogs/dialog-upload-backup.ts index 4a2621b6fe..63657dc4db 100644 --- a/src/panels/config/backup/dialogs/dialog-upload-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-upload-backup.ts @@ -1,19 +1,25 @@ -import { mdiClose, mdiFolderUpload } from "@mdi/js"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { UploadBackupDialogParams } from "./show-dialog-upload-backup"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; -import { - fireEvent, - type HASSDomEvent, -} from "../../../../common/dom/fire_event"; + import "../../../../components/ha-alert"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-expansion-panel"; import "../../../../components/ha-file-upload"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; + +import { mdiClose, mdiFolderUpload } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; +import { + fireEvent, + type HASSDomEvent, +} from "../../../../common/dom/fire_event"; import { CORE_LOCAL_AGENT, HASSIO_LOCAL_AGENT, @@ -22,11 +28,8 @@ import { INITIAL_UPLOAD_FORM_DATA, type BackupUploadFileFormData, } from "../../../../data/backup"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showAlertDialog } from "../../../lovelace/custom-card-helpers"; -import type { UploadBackupDialogParams } from "./show-dialog-upload-backup"; @customElement("ha-dialog-upload-backup") export class DialogUploadBackup diff --git a/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts b/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts index 12c0e026b1..90b4ea9ab6 100644 --- a/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts +++ b/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { BackupConfig } from "../../../../data/backup"; import type { CloudStatus } from "../../../../data/cloud"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface BackupOnboardingDialogParams { submit?: (value: boolean) => void; cancel?: () => void; diff --git a/src/panels/config/backup/dialogs/show-dialog-download-decrypted-backup.ts b/src/panels/config/backup/dialogs/show-dialog-download-decrypted-backup.ts index 9f6984171d..c7105d8423 100644 --- a/src/panels/config/backup/dialogs/show-dialog-download-decrypted-backup.ts +++ b/src/panels/config/backup/dialogs/show-dialog-download-decrypted-backup.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { BackupContent } from "../../../../data/backup"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface DownloadDecryptedBackupDialogParams { backup: BackupContent; agentId?: string; diff --git a/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts b/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts index 75d139d8f8..92d0545d2d 100644 --- a/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts +++ b/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { GenerateBackupParams } from "../../../../data/backup"; import type { CloudStatus } from "../../../../data/cloud"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface GenerateBackupDialogParams { submit?: (response: GenerateBackupParams) => void; cancel?: () => void; diff --git a/src/panels/config/backup/dialogs/show-dialog-new-backup.ts b/src/panels/config/backup/dialogs/show-dialog-new-backup.ts index 84cbe72a31..90d2b06edb 100644 --- a/src/panels/config/backup/dialogs/show-dialog-new-backup.ts +++ b/src/panels/config/backup/dialogs/show-dialog-new-backup.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { BackupConfig } from "../../../../data/backup"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export type NewBackupType = "automatic" | "manual"; export interface NewBackupDialogParams { diff --git a/src/panels/config/backup/dialogs/show-dialog-restore-backup.ts b/src/panels/config/backup/dialogs/show-dialog-restore-backup.ts index 67d329988a..2b4b0441b1 100644 --- a/src/panels/config/backup/dialogs/show-dialog-restore-backup.ts +++ b/src/panels/config/backup/dialogs/show-dialog-restore-backup.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { BackupContentExtended, BackupData, } from "../../../../data/backup"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface RestoreBackupDialogParams { backup: BackupContentExtended; selectedData: BackupData; diff --git a/src/panels/config/backup/ha-config-backup-backups.ts b/src/panels/config/backup/ha-config-backup-backups.ts index 30af43c705..4bdc26fe31 100644 --- a/src/panels/config/backup/ha-config-backup-backups.ts +++ b/src/panels/config/backup/ha-config-backup-backups.ts @@ -1,3 +1,34 @@ +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + DataTableRowData, + RowClickedEvent, + SelectionChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { + BackupAgent, + BackupConfig, + BackupContent, +} from "../../../data/backup"; +import type { ManagerStateEvent } from "../../../data/backup_manager"; +import type { CloudStatus } from "../../../data/cloud"; +import type { DataTableFiltersValues } from "../../../data/data_table_filters"; +import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-button"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-fab"; +import "../../../components/ha-filter-states"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-list-item"; +import "../../../components/ha-spinner"; +import "../../../components/ha-svg-icon"; +import "../../../layouts/hass-tabs-subpage-data-table"; + import { mdiDelete, mdiDotsVertical, @@ -7,10 +38,10 @@ import { mdiPlus, mdiUpload, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { relativeTime } from "../../../common/datetime/relative_time"; import { storage } from "../../../common/decorators/storage"; @@ -18,28 +49,6 @@ import { fireEvent, type HASSDomEvent } from "../../../common/dom/fire_event"; import { computeDomain } from "../../../common/entity/compute_domain"; import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; import { navigate } from "../../../common/navigate"; -import type { LocalizeFunc } from "../../../common/translations/localize"; -import type { - DataTableColumnContainer, - DataTableRowData, - RowClickedEvent, - SelectionChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/ha-button"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-spinner"; -import "../../../components/ha-fab"; -import "../../../components/ha-filter-states"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; -import type { - BackupAgent, - BackupConfig, - BackupContent, -} from "../../../data/backup"; import { compareAgents, computeBackupAgentName, @@ -52,19 +61,13 @@ import { isLocalAgent, isNetworkMountAgent, } from "../../../data/backup"; -import type { ManagerStateEvent } from "../../../data/backup_manager"; -import type { CloudStatus } from "../../../data/cloud"; -import type { DataTableFiltersValues } from "../../../data/data_table_filters"; import { extractApiErrorMessage } from "../../../data/hassio/common"; import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; -import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { bytesToString } from "../../../util/bytes-to-string"; import { showGenerateBackupDialog } from "./dialogs/show-dialog-generate-backup"; diff --git a/src/panels/config/backup/ha-config-backup-details.ts b/src/panels/config/backup/ha-config-backup-details.ts index 3d893d2981..59e4779fae 100644 --- a/src/panels/config/backup/ha-config-backup-details.ts +++ b/src/panels/config/backup/ha-config-backup-details.ts @@ -1,4 +1,26 @@ +import type { + BackupAgent, + BackupConfig, + BackupContentAgent, + BackupContentExtended, +} from "../../../data/backup"; +import type { HomeAssistant } from "../../../types"; import type { ActionDetail } from "@material/mwc-list"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-fade-in"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-md-list"; +import "../../../components/ha-md-list-item"; +import "../../../components/ha-spinner"; +import "../../../layouts/hass-subpage"; +import "./components/ha-backup-details-restore"; +import "./components/ha-backup-details-summary"; + import { mdiDelete, mdiDotsVertical, @@ -8,26 +30,11 @@ import { } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { fireEvent } from "../../../common/dom/fire_event"; import { computeDomain } from "../../../common/entity/compute_domain"; import { navigate } from "../../../common/navigate"; -import "../../../components/ha-alert"; -import "../../../components/ha-button"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-card"; -import "../../../components/ha-fade-in"; -import "../../../components/ha-spinner"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-md-list"; -import "../../../components/ha-md-list-item"; -import type { - BackupAgent, - BackupConfig, - BackupContentAgent, - BackupContentExtended, -} from "../../../data/backup"; -import "./components/ha-backup-details-summary"; -import "./components/ha-backup-details-restore"; import { compareAgents, computeBackupAgentName, @@ -36,14 +43,11 @@ import { isLocalAgent, isNetworkMountAgent, } from "../../../data/backup"; -import "../../../layouts/hass-subpage"; -import type { HomeAssistant } from "../../../types"; +import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { brandsUrl } from "../../../util/brands-url"; import { showRestoreBackupDialog } from "./dialogs/show-dialog-restore-backup"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { downloadBackup } from "./helper/download_backup"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; + interface Agent extends BackupContentAgent { id: string; diff --git a/src/panels/config/backup/ha-config-backup-location.ts b/src/panels/config/backup/ha-config-backup-location.ts index ad8b7367fc..01b51eb3a2 100644 --- a/src/panels/config/backup/ha-config-backup-location.ts +++ b/src/panels/config/backup/ha-config-backup-location.ts @@ -1,33 +1,36 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-alert"; -import "../../../components/ha-button"; -import "../../../components/ha-switch"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-card"; -import "../../../components/ha-fade-in"; -import "../../../components/ha-spinner"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-md-list"; -import "../../../components/ha-md-list-item"; import type { BackupAgent, BackupAgentConfig, BackupConfig, } from "../../../data/backup"; +import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-fade-in"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-md-list"; +import "../../../components/ha-md-list-item"; +import "../../../components/ha-spinner"; +import "../../../components/ha-switch"; +import "../../../layouts/hass-subpage"; +import "./components/ha-backup-data-picker"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { CLOUD_AGENT, computeBackupAgentName, fetchBackupAgentsInfo, updateBackupConfig, } from "../../../data/backup"; -import "../../../layouts/hass-subpage"; -import type { HomeAssistant } from "../../../types"; -import "./components/ha-backup-data-picker"; import { showConfirmationDialog } from "../../lovelace/custom-card-helpers"; -import { fireEvent } from "../../../common/dom/fire_event"; @customElement("ha-config-backup-location") class HaConfigBackupDetails extends LitElement { diff --git a/src/panels/config/backup/ha-config-backup-overview.ts b/src/panels/config/backup/ha-config-backup-overview.ts index 6a4fb1bb68..282fb0ea20 100644 --- a/src/panels/config/backup/ha-config-backup-overview.ts +++ b/src/panels/config/backup/ha-config-backup-overview.ts @@ -1,41 +1,44 @@ -import { mdiDotsVertical, mdiPlus, mdiUpload } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; -import "../../../components/ha-button"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-card"; -import "../../../components/ha-fab"; -import "../../../components/ha-spinner"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; import type { BackupAgent, BackupConfig, BackupContent, BackupInfo, } from "../../../data/backup"; -import { - computeBackupAgentName, - generateBackup, - generateBackupWithAutomaticSettings, -} from "../../../data/backup"; import type { ManagerStateEvent } from "../../../data/backup_manager"; import type { CloudStatus } from "../../../data/cloud"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-button"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-fab"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-list-item"; +import "../../../components/ha-spinner"; +import "../../../components/ha-svg-icon"; import "../../../layouts/hass-subpage"; import "../../../layouts/hass-tabs-subpage-data-table"; -import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import "./components/overview/ha-backup-overview-backups"; import "./components/overview/ha-backup-overview-onboarding"; import "./components/overview/ha-backup-overview-progress"; import "./components/overview/ha-backup-overview-settings"; import "./components/overview/ha-backup-overview-summary"; + +import { mdiDotsVertical, mdiPlus, mdiUpload } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; +import { + computeBackupAgentName, + generateBackup, + generateBackupWithAutomaticSettings, +} from "../../../data/backup"; +import { haStyle } from "../../../resources/styles"; import { showBackupOnboardingDialog } from "./dialogs/show-dialog-backup_onboarding"; import { showGenerateBackupDialog } from "./dialogs/show-dialog-generate-backup"; import { showNewBackupDialog } from "./dialogs/show-dialog-new-backup"; diff --git a/src/panels/config/backup/ha-config-backup-settings.ts b/src/panels/config/backup/ha-config-backup-settings.ts index e841b872aa..c5e92998c7 100644 --- a/src/panels/config/backup/ha-config-backup-settings.ts +++ b/src/panels/config/backup/ha-config-backup-settings.ts @@ -1,34 +1,37 @@ -import { mdiDotsVertical, mdiHarddisk, mdiOpenInNew } from "@mdi/js"; +import type { BackupAgent, BackupConfig } from "../../../data/backup"; +import type { CloudStatus } from "../../../data/cloud"; +import type { HomeAssistant } from "../../../types"; +import type { BackupConfigData } from "./components/config/ha-backup-config-data"; +import type { BackupConfigSchedule } from "./components/config/ha-backup-config-schedule"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; -import { debounce } from "../../../common/util/debounce"; -import { nextRender } from "../../../common/util/render-status"; + +import "../../../components/ha-alert"; import "../../../components/ha-button"; import "../../../components/ha-button-menu"; import "../../../components/ha-card"; import "../../../components/ha-icon-button"; import "../../../components/ha-icon-next"; import "../../../components/ha-list-item"; -import "../../../components/ha-alert"; import "../../../components/ha-password-field"; import "../../../components/ha-svg-icon"; -import type { BackupAgent, BackupConfig } from "../../../data/backup"; -import { updateBackupConfig } from "../../../data/backup"; -import type { CloudStatus } from "../../../data/cloud"; import "../../../layouts/hass-subpage"; -import type { HomeAssistant } from "../../../types"; import "./components/config/ha-backup-config-agents"; import "./components/config/ha-backup-config-data"; -import type { BackupConfigData } from "./components/config/ha-backup-config-data"; import "./components/config/ha-backup-config-encryption-key"; import "./components/config/ha-backup-config-schedule"; -import type { BackupConfigSchedule } from "./components/config/ha-backup-config-schedule"; -import { showLocalBackupLocationDialog } from "./dialogs/show-dialog-local-backup-location"; + +import { mdiDotsVertical, mdiHarddisk, mdiOpenInNew } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; +import { debounce } from "../../../common/util/debounce"; +import { nextRender } from "../../../common/util/render-status"; +import { updateBackupConfig } from "../../../data/backup"; import { documentationUrl } from "../../../util/documentation-url"; +import { showLocalBackupLocationDialog } from "./dialogs/show-dialog-local-backup-location"; @customElement("ha-config-backup-settings") class HaConfigBackupSettings extends LitElement { diff --git a/src/panels/config/backup/ha-config-backup.ts b/src/panels/config/backup/ha-config-backup.ts index d61eb33a36..72d040b9b1 100644 --- a/src/panels/config/backup/ha-config-backup.ts +++ b/src/panels/config/backup/ha-config-backup.ts @@ -1,31 +1,34 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { BackupAgent, BackupConfig, BackupInfo, } from "../../../data/backup"; +import type { ManagerStateEvent } from "../../../data/backup_manager"; +import type { CloudStatus } from "../../../data/cloud"; +import type { RouterOptions } from "../../../layouts/hass-router-page"; +import type { HomeAssistant } from "../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../layouts/hass-tabs-subpage-data-table"; +import "./ha-config-backup-backups"; +import "./ha-config-backup-overview"; + +import { customElement, property, state } from "lit/decorators"; + import { compareAgents, fetchBackupAgentsInfo, fetchBackupConfig, fetchBackupInfo, } from "../../../data/backup"; -import type { ManagerStateEvent } from "../../../data/backup_manager"; import { DEFAULT_MANAGER_STATE, subscribeBackupEvents, } from "../../../data/backup_manager"; -import type { CloudStatus } from "../../../data/cloud"; -import type { RouterOptions } from "../../../layouts/hass-router-page"; import { HassRouterPage } from "../../../layouts/hass-router-page"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../types"; import { showToast } from "../../../util/toast"; -import "./ha-config-backup-backups"; -import "./ha-config-backup-overview"; declare global { interface HASSDomEvents { diff --git a/src/panels/config/backup/helper/download_backup.ts b/src/panels/config/backup/helper/download_backup.ts index 3c08cc1df7..5897d14aa6 100644 --- a/src/panels/config/backup/helper/download_backup.ts +++ b/src/panels/config/backup/helper/download_backup.ts @@ -1,12 +1,13 @@ -import type { LitElement } from "lit"; -import { getSignedPath } from "../../../../data/auth"; import type { BackupConfig, BackupContent } from "../../../../data/backup"; +import type { HomeAssistant } from "../../../../types"; +import type { LitElement } from "lit"; + +import { getSignedPath } from "../../../../data/auth"; import { canDecryptBackupOnDownload, getBackupDownloadUrl, getPreferredAgentForDownload, } from "../../../../data/backup"; -import type { HomeAssistant } from "../../../../types"; import { fileDownload } from "../../../../util/file_download"; import { showAlertDialog } from "../../../lovelace/custom-card-helpers"; import { showDownloadDecryptedBackupDialog } from "../dialogs/show-dialog-download-decrypted-backup"; diff --git a/src/panels/config/blueprint/blueprint-generic-editor.ts b/src/panels/config/blueprint/blueprint-generic-editor.ts index 840f7f1946..3a397f6386 100644 --- a/src/panels/config/blueprint/blueprint-generic-editor.ts +++ b/src/panels/config/blueprint/blueprint-generic-editor.ts @@ -1,14 +1,3 @@ -import "@material/mwc-button/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-blueprint-picker"; -import "../../../components/ha-card"; -import "../../../components/ha-spinner"; -import "../../../components/ha-markdown"; -import "../../../components/ha-selector/ha-selector"; -import "../../../components/ha-settings-row"; import type { BlueprintAutomationConfig } from "../../../data/automation"; import type { BlueprintInput, @@ -17,8 +6,22 @@ import type { Blueprints, } from "../../../data/blueprint"; import type { BlueprintScriptConfig } from "../../../data/script"; -import { haStyle } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-blueprint-picker"; +import "../../../components/ha-card"; +import "../../../components/ha-markdown"; +import "../../../components/ha-selector/ha-selector"; +import "../../../components/ha-settings-row"; +import "../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { haStyle } from "../../../resources/styles"; @customElement("blueprint-generic-editor") export abstract class HaBlueprintGenericEditor extends LitElement { diff --git a/src/panels/config/blueprint/dialog-import-blueprint.ts b/src/panels/config/blueprint/dialog-import-blueprint.ts index dcf38ce41c..953de3133b 100644 --- a/src/panels/config/blueprint/dialog-import-blueprint.ts +++ b/src/panels/config/blueprint/dialog-import-blueprint.ts @@ -1,20 +1,23 @@ +import type { HaTextField } from "../../../components/ha-textfield"; +import type { BlueprintImportResult } from "../../../data/blueprint"; +import type { HomeAssistant } from "../../../types"; + +import "../../../components/ha-alert"; +import "../../../components/ha-dialog"; +import "../../../components/ha-dialog-header"; +import "../../../components/ha-expansion-panel"; +import "../../../components/ha-markdown"; +import "../../../components/ha-spinner"; +import "../../../components/ha-textfield"; import "@material/mwc-button"; + import { mdiOpenInNew, mdiClose } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-spinner"; -import "../../../components/ha-expansion-panel"; -import "../../../components/ha-markdown"; -import "../../../components/ha-alert"; -import "../../../components/ha-textfield"; -import "../../../components/ha-dialog"; -import "../../../components/ha-dialog-header"; -import type { HaTextField } from "../../../components/ha-textfield"; -import type { BlueprintImportResult } from "../../../data/blueprint"; import { importBlueprint, saveBlueprint } from "../../../data/blueprint"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; @customElement("ha-dialog-import-blueprint") class DialogImportBlueprint extends LitElement { diff --git a/src/panels/config/blueprint/ha-blueprint-overview.ts b/src/panels/config/blueprint/ha-blueprint-overview.ts index 6b329ff8e6..3ff364d3c6 100644 --- a/src/panels/config/blueprint/ha-blueprint-overview.ts +++ b/src/panels/config/blueprint/ha-blueprint-overview.ts @@ -1,3 +1,26 @@ +import type { HASSDomEvent } from "../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SortingChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { + BlueprintImportResult, + BlueprintMetaData, + Blueprints, +} from "../../../data/blueprint"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/entity/ha-entity-toggle"; +import "../../../components/ha-button"; +import "../../../components/ha-fab"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-svg-icon"; +import "../../../layouts/hass-tabs-subpage-data-table"; + import { mdiAlertCircle, mdiDelete, @@ -7,32 +30,16 @@ import { mdiPlus, mdiShareVariant, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; -import type { HASSDomEvent } from "../../../common/dom/fire_event"; + +import { storage } from "../../../common/decorators/storage"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; import { extractSearchParam } from "../../../common/url/search-params"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SortingChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/entity/ha-entity-toggle"; -import "../../../components/ha-button"; -import "../../../components/ha-fab"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-svg-icon"; import { showAutomationEditor } from "../../../data/automation"; -import type { - BlueprintImportResult, - BlueprintMetaData, - Blueprints, -} from "../../../data/blueprint"; import { deleteBlueprint, importBlueprint, @@ -44,15 +51,11 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import { documentationUrl } from "../../../util/documentation-url"; import { showToast } from "../../../util/toast"; import { configSections } from "../ha-panel-config"; import { showAddBlueprintDialog } from "./show-dialog-import-blueprint"; -import { storage } from "../../../common/decorators/storage"; type BlueprintMetaDataPath = BlueprintMetaData & { path: string; diff --git a/src/panels/config/blueprint/ha-config-blueprint.ts b/src/panels/config/blueprint/ha-config-blueprint.ts index 521e1fd9d5..04594ff52a 100644 --- a/src/panels/config/blueprint/ha-config-blueprint.ts +++ b/src/panels/config/blueprint/ha-config-blueprint.ts @@ -1,12 +1,15 @@ -import type { PropertyValues } from "lit"; -import { customElement, property } from "lit/decorators"; import type { Blueprints } from "../../../data/blueprint"; -import { fetchBlueprints } from "../../../data/blueprint"; import type { RouterOptions } from "../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + import "./ha-blueprint-overview"; +import { customElement, property } from "lit/decorators"; + +import { fetchBlueprints } from "../../../data/blueprint"; +import { HassRouterPage } from "../../../layouts/hass-router-page"; + declare global { // for fire event interface HASSDomEvents { diff --git a/src/panels/config/category/dialog-assign-category.ts b/src/panels/config/category/dialog-assign-category.ts index 28767f79b3..1b30669700 100644 --- a/src/panels/config/category/dialog-assign-category.ts +++ b/src/panels/config/category/dialog-assign-category.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { AssignCategoryDialogParams } from "./show-dialog-assign-category"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; + import "../../../components/ha-alert"; -import { createCloseHeading } from "../../../components/ha-dialog"; import "../../../components/ha-icon-picker"; import "../../../components/ha-settings-row"; import "../../../components/ha-textfield"; +import "./ha-category-picker"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; import { updateEntityRegistryEntry } from "../../../data/entity_registry"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import "./ha-category-picker"; -import type { AssignCategoryDialogParams } from "./show-dialog-assign-category"; @customElement("dialog-assign-category") class DialogAssignCategory extends LitElement { diff --git a/src/panels/config/category/dialog-category-registry-detail.ts b/src/panels/config/category/dialog-category-registry-detail.ts index b6c88faa19..f82149e657 100644 --- a/src/panels/config/category/dialog-category-registry-detail.ts +++ b/src/panels/config/category/dialog-category-registry-detail.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-alert"; -import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-icon-picker"; -import "../../../components/ha-settings-row"; -import "../../../components/ha-textfield"; import type { CategoryRegistryEntry, CategoryRegistryEntryMutableParams, } from "../../../data/category_registry"; -import { haStyleDialog } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; import type { CategoryRegistryDetailDialogParams } from "./show-dialog-category-registry-detail"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-icon-picker"; +import "../../../components/ha-settings-row"; +import "../../../components/ha-textfield"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; +import { haStyleDialog } from "../../../resources/styles"; @customElement("dialog-category-registry-detail") class DialogCategoryDetail extends LitElement { diff --git a/src/panels/config/category/ha-category-picker.ts b/src/panels/config/category/ha-category-picker.ts index 25665f9116..4fb9e9593f 100644 --- a/src/panels/config/category/ha-category-picker.ts +++ b/src/panels/config/category/ha-category-picker.ts @@ -1,26 +1,29 @@ -import { mdiTag } from "@mdi/js"; +import type { ScorableTextItem } from "../../../common/string/filter/sequence-matching"; +import type { HaComboBox } from "../../../components/ha-combo-box"; +import type { CategoryRegistryEntry } from "../../../data/category_registry"; +import type { HomeAssistant, ValueChangedEvent } from "../../../types"; import type { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-combo-box"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-svg-icon"; + +import { mdiTag } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; -import type { ScorableTextItem } from "../../../common/string/filter/sequence-matching"; import { fuzzyFilterSort } from "../../../common/string/filter/sequence-matching"; -import "../../../components/ha-combo-box"; -import type { HaComboBox } from "../../../components/ha-combo-box"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; -import type { CategoryRegistryEntry } from "../../../data/category_registry"; import { createCategoryRegistryEntry, subscribeCategoryRegistry, } from "../../../data/category_registry"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant, ValueChangedEvent } from "../../../types"; import { showCategoryRegistryDetailDialog } from "./show-dialog-category-registry-detail"; type ScorableCategoryRegistryEntry = ScorableTextItem & CategoryRegistryEntry; diff --git a/src/panels/config/category/show-dialog-assign-category.ts b/src/panels/config/category/show-dialog-assign-category.ts index edbf91ee83..f868a9e539 100644 --- a/src/panels/config/category/show-dialog-assign-category.ts +++ b/src/panels/config/category/show-dialog-assign-category.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface AssignCategoryDialogParams { entityReg: EntityRegistryEntry; scope: string; diff --git a/src/panels/config/category/show-dialog-category-registry-detail.ts b/src/panels/config/category/show-dialog-category-registry-detail.ts index 3aa62d4162..664d909e22 100644 --- a/src/panels/config/category/show-dialog-category-registry-detail.ts +++ b/src/panels/config/category/show-dialog-category-registry-detail.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { CategoryRegistryEntry, CategoryRegistryEntryMutableParams, } from "../../../data/category_registry"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface CategoryRegistryDetailDialogParams { entry?: CategoryRegistryEntry; scope: string; diff --git a/src/panels/config/cloud/account/cloud-account.ts b/src/panels/config/cloud/account/cloud-account.ts index 82730ce21c..4038a6a4f0 100644 --- a/src/panels/config/cloud/account/cloud-account.ts +++ b/src/panels/config/cloud/account/cloud-account.ts @@ -1,19 +1,29 @@ -import "@material/mwc-button"; -import { mdiDeleteForever, mdiDotsVertical, mdiDownload } from "@mdi/js"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { formatDateTime } from "../../../../common/datetime/format_date_time"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { debounce } from "../../../../common/util/debounce"; +import type { + CloudStatusLoggedIn, + SubscriptionInfo, +} from "../../../../data/cloud"; +import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-alert"; import "../../../../components/ha-button-menu"; import "../../../../components/ha-card"; import "../../../../components/ha-list-item"; import "../../../../components/ha-tip"; -import type { - CloudStatusLoggedIn, - SubscriptionInfo, -} from "../../../../data/cloud"; +import "../../../../layouts/hass-subpage"; +import "../../ha-config-section"; +import "./cloud-ice-servers-pref"; +import "./cloud-remote-pref"; +import "./cloud-tts-pref"; +import "./cloud-webhooks"; +import "@material/mwc-button"; + +import { mdiDeleteForever, mdiDotsVertical, mdiDownload } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { formatDateTime } from "../../../../common/datetime/format_date_time"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { debounce } from "../../../../common/util/debounce"; import { cloudLogout, fetchCloudSubscriptionInfo, @@ -23,15 +33,8 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; -import "../../../../layouts/hass-subpage"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "../../ha-config-section"; -import "./cloud-ice-servers-pref"; -import "./cloud-remote-pref"; -import "./cloud-tts-pref"; -import "./cloud-webhooks"; import { showSupportPackageDialog } from "./show-dialog-cloud-support-package"; @customElement("cloud-account") diff --git a/src/panels/config/cloud/account/cloud-ice-servers-pref.ts b/src/panels/config/cloud/account/cloud-ice-servers-pref.ts index 785c6b514f..3a2f4173fd 100644 --- a/src/panels/config/cloud/account/cloud-ice-servers-pref.ts +++ b/src/panels/config/cloud/account/cloud-ice-servers-pref.ts @@ -1,14 +1,17 @@ -import { mdiHelpCircle } from "@mdi/js"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; +import type { HaSwitch } from "../../../../components/ha-switch"; +import type { CloudStatusLoggedIn } from "../../../../data/cloud"; +import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-card"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-switch"; -import type { HaSwitch } from "../../../../components/ha-switch"; -import type { CloudStatusLoggedIn } from "../../../../data/cloud"; + +import { mdiHelpCircle } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { updateCloudPref } from "../../../../data/cloud"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; @customElement("cloud-ice-servers-pref") diff --git a/src/panels/config/cloud/account/cloud-remote-pref.ts b/src/panels/config/cloud/account/cloud-remote-pref.ts index d7ff6a8049..0d48cfe533 100644 --- a/src/panels/config/cloud/account/cloud-remote-pref.ts +++ b/src/panels/config/cloud/account/cloud-remote-pref.ts @@ -1,27 +1,29 @@ -import { mdiHelpCircle } from "@mdi/js"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; +import type { HaSwitch } from "../../../../components/ha-switch"; +import type { CloudStatusLoggedIn } from "../../../../data/cloud"; +import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-alert"; import "../../../../components/ha-button"; import "../../../../components/ha-card"; +import "../../../../components/ha-copy-textfield"; import "../../../../components/ha-expansion-panel"; import "../../../../components/ha-settings-row"; import "../../../../components/ha-switch"; +import { mdiHelpCircle } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { formatDate } from "../../../../common/datetime/format_date"; -import type { HaSwitch } from "../../../../components/ha-switch"; -import type { CloudStatusLoggedIn } from "../../../../data/cloud"; +import { fireEvent } from "../../../../common/dom/fire_event"; import { connectCloudRemote, disconnectCloudRemote, updateCloudPref, } from "../../../../data/cloud"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; -import { showCloudCertificateDialog } from "../dialog-cloud-certificate/show-dialog-cloud-certificate"; import { obfuscateUrl } from "../../../../util/url"; -import "../../../../components/ha-copy-textfield"; +import { showCloudCertificateDialog } from "../dialog-cloud-certificate/show-dialog-cloud-certificate"; @customElement("cloud-remote-pref") export class CloudRemotePref extends LitElement { diff --git a/src/panels/config/cloud/account/cloud-tts-pref.ts b/src/panels/config/cloud/account/cloud-tts-pref.ts index 3b24665c2c..fa3dc548fa 100644 --- a/src/panels/config/cloud/account/cloud-tts-pref.ts +++ b/src/panels/config/cloud/account/cloud-tts-pref.ts @@ -1,24 +1,27 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list-item"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; +import type { CloudStatusLoggedIn } from "../../../../data/cloud"; +import type { CloudTTSInfo } from "../../../../data/cloud/tts"; +import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-card"; +import "../../../../components/ha-language-picker"; import "../../../../components/ha-select"; import "../../../../components/ha-svg-icon"; import "../../../../components/ha-switch"; -import "../../../../components/ha-language-picker"; -import type { CloudStatusLoggedIn } from "../../../../data/cloud"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { updateCloudPref } from "../../../../data/cloud"; -import type { CloudTTSInfo } from "../../../../data/cloud/tts"; import { getCloudTTSInfo, getCloudTtsLanguages, getCloudTtsSupportedVoices, } from "../../../../data/cloud/tts"; import { showAlertDialog } from "../../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../../types"; import { showTryTtsDialog } from "./show-dialog-cloud-tts-try"; @customElement("cloud-tts-pref") diff --git a/src/panels/config/cloud/account/cloud-webhooks.ts b/src/panels/config/cloud/account/cloud-webhooks.ts index 045fa0a825..2ac7c669b6 100644 --- a/src/panels/config/cloud/account/cloud-webhooks.ts +++ b/src/panels/config/cloud/account/cloud-webhooks.ts @@ -1,17 +1,20 @@ +import type { CloudStatusLoggedIn, CloudWebhook } from "../../../../data/cloud"; +import type { Webhook, WebhookError } from "../../../../data/webhook"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-settings-row"; +import "../../../../components/ha-spinner"; +import "../../../../components/ha-switch"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; -import "../../../../components/ha-card"; -import "../../../../components/ha-spinner"; -import "../../../../components/ha-settings-row"; -import "../../../../components/ha-switch"; -import type { CloudStatusLoggedIn, CloudWebhook } from "../../../../data/cloud"; import { createCloudhook, deleteCloudhook } from "../../../../data/cloud"; -import type { Webhook, WebhookError } from "../../../../data/webhook"; import { fetchWebhooks } from "../../../../data/webhook"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showManageCloudhookDialog } from "../dialog-manage-cloudhook/show-dialog-manage-cloudhook"; @customElement("cloud-webhooks") diff --git a/src/panels/config/cloud/account/dialog-cloud-support-package.ts b/src/panels/config/cloud/account/dialog-cloud-support-package.ts index 33894fbfa4..d3785e751f 100644 --- a/src/panels/config/cloud/account/dialog-cloud-support-package.ts +++ b/src/panels/config/cloud/account/dialog-cloud-support-package.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list-item"; -import { mdiClose } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-alert"; import "../../../../components/ha-button"; -import "../../../../components/ha-spinner"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-markdown-element"; import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import "../../../../components/ha-select"; +import "../../../../components/ha-spinner"; import "../../../../components/ha-textarea"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { fetchSupportPackage } from "../../../../data/cloud"; -import type { HomeAssistant } from "../../../../types"; import { fileDownload } from "../../../../util/file_download"; @customElement("dialog-cloud-support-package") diff --git a/src/panels/config/cloud/account/dialog-cloud-tts-try.ts b/src/panels/config/cloud/account/dialog-cloud-tts-try.ts index df6b33eefc..3f23a2e110 100644 --- a/src/panels/config/cloud/account/dialog-cloud-tts-try.ts +++ b/src/panels/config/cloud/account/dialog-cloud-tts-try.ts @@ -1,9 +1,17 @@ +import type { HaTextArea } from "../../../../components/ha-textarea"; +import type { HomeAssistant } from "../../../../types"; +import type { TryTtsDialogParams } from "./show-dialog-cloud-tts-try"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-select"; +import "../../../../components/ha-textarea"; import "@material/mwc-button"; import "@material/mwc-list/mwc-list-item"; + import { mdiPlayCircleOutline, mdiRobot } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { storage } from "../../../../common/decorators/storage"; import { fireEvent } from "../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; @@ -11,16 +19,11 @@ import { computeStateDomain } from "../../../../common/entity/compute_state_doma import { computeStateName } from "../../../../common/entity/compute_state_name"; import { supportsFeature } from "../../../../common/entity/supports-feature"; import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-select"; -import "../../../../components/ha-textarea"; -import type { HaTextArea } from "../../../../components/ha-textarea"; import { showAutomationEditor } from "../../../../data/automation"; import { MediaPlayerEntityFeature } from "../../../../data/media-player"; import { convertTextToSpeech } from "../../../../data/tts"; import { showAlertDialog } from "../../../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { TryTtsDialogParams } from "./show-dialog-cloud-tts-try"; @customElement("dialog-cloud-try-tts") export class DialogTryTts extends LitElement { diff --git a/src/panels/config/cloud/dialog-cloud-already-connected/dialog-cloud-already-connected.ts b/src/panels/config/cloud/dialog-cloud-already-connected/dialog-cloud-already-connected.ts index a92d54da31..c91cdf20a2 100644 --- a/src/panels/config/cloud/dialog-cloud-already-connected/dialog-cloud-already-connected.ts +++ b/src/panels/config/cloud/dialog-cloud-already-connected/dialog-cloud-already-connected.ts @@ -1,16 +1,19 @@ +import type { HomeAssistant } from "../../../../types"; +import type { CloudAlreadyConnectedParams as CloudAlreadyConnectedDialogParams } from "./show-dialog-cloud-already-connected"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, state } from "lit/decorators"; -import { mdiEye, mdiEyeOff } from "@mdi/js"; -import { formatDateTime } from "../../../../common/datetime/format_date_time"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-alert"; import "../../../../components/ha-button"; import "../../../../components/ha-icon-button"; + +import { mdiEye, mdiEyeOff } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { formatDateTime } from "../../../../common/datetime/format_date_time"; +import { fireEvent } from "../../../../common/dom/fire_event"; import { createCloseHeading } from "../../../../components/ha-dialog"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { CloudAlreadyConnectedParams as CloudAlreadyConnectedDialogParams } from "./show-dialog-cloud-already-connected"; import { obfuscateUrl } from "../../../../util/url"; @customElement("dialog-cloud-already-connected") diff --git a/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts b/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts index d8752ecabb..93063a703d 100644 --- a/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts +++ b/src/panels/config/cloud/dialog-cloud-certificate/dialog-cloud-certificate.ts @@ -1,13 +1,16 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../../types"; +import type { CloudCertificateParams as CloudCertificateDialogParams } from "./show-dialog-cloud-certificate"; import type { CSSResultGroup } from "lit"; + +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; + import { formatDateTime } from "../../../../common/datetime/format_date_time"; import { fireEvent } from "../../../../common/dom/fire_event"; import { createCloseHeading } from "../../../../components/ha-dialog"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { CloudCertificateParams as CloudCertificateDialogParams } from "./show-dialog-cloud-certificate"; @customElement("dialog-cloud-certificate") class DialogCloudCertificate extends LitElement { diff --git a/src/panels/config/cloud/dialog-cloud-certificate/show-dialog-cloud-certificate.ts b/src/panels/config/cloud/dialog-cloud-certificate/show-dialog-cloud-certificate.ts index 4146608fb5..b6beefecf4 100644 --- a/src/panels/config/cloud/dialog-cloud-certificate/show-dialog-cloud-certificate.ts +++ b/src/panels/config/cloud/dialog-cloud-certificate/show-dialog-cloud-certificate.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { CertificateInformation } from "../../../../data/cloud"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface CloudCertificateParams { certificateInfo: CertificateInformation; } diff --git a/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts b/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts index 909866095e..f2cf1ad1f5 100644 --- a/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts +++ b/src/panels/config/cloud/dialog-manage-cloudhook/dialog-manage-cloudhook.ts @@ -1,17 +1,20 @@ -import "@material/mwc-button"; -import { mdiOpenInNew } from "@mdi/js"; +import type { HomeAssistant } from "../../../../types"; +import type { WebhookDialogParams } from "./show-dialog-manage-cloudhook"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-copy-textfield"; +import "@material/mwc-button"; + +import { mdiOpenInNew } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { state } from "lit/decorators"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { createCloseHeading } from "../../../../components/ha-dialog"; import { showConfirmationDialog } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; -import type { WebhookDialogParams } from "./show-dialog-manage-cloudhook"; -import "../../../../components/ha-copy-textfield"; export class DialogManageCloudhook extends LitElement { protected hass?: HomeAssistant; diff --git a/src/panels/config/cloud/dialog-manage-cloudhook/show-dialog-manage-cloudhook.ts b/src/panels/config/cloud/dialog-manage-cloudhook/show-dialog-manage-cloudhook.ts index d2b8be990e..fe3daf3a0d 100644 --- a/src/panels/config/cloud/dialog-manage-cloudhook/show-dialog-manage-cloudhook.ts +++ b/src/panels/config/cloud/dialog-manage-cloudhook/show-dialog-manage-cloudhook.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { CloudWebhook } from "../../../../data/cloud"; import type { Webhook } from "../../../../data/webhook"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface WebhookDialogParams { webhook: Webhook; cloudhook: CloudWebhook; diff --git a/src/panels/config/cloud/forgot-password/cloud-forgot-password-card.ts b/src/panels/config/cloud/forgot-password/cloud-forgot-password-card.ts index 70e6cdfc68..8e8c0dfc85 100644 --- a/src/panels/config/cloud/forgot-password/cloud-forgot-password-card.ts +++ b/src/panels/config/cloud/forgot-password/cloud-forgot-password-card.ts @@ -1,17 +1,20 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { HaTextField } from "../../../../components/ha-textfield"; +import type { HomeAssistant } from "../../../../types"; import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/buttons/ha-progress-button"; import "../../../../components/ha-alert"; import "../../../../components/ha-card"; -import type { HaTextField } from "../../../../components/ha-textfield"; import "../../../../components/ha-textfield"; -import { haStyle } from "../../../../resources/styles"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { cloudForgotPassword } from "../../../../data/cloud"; import { forgotPasswordHaCloud } from "../../../../data/onboarding"; -import type { HomeAssistant } from "../../../../types"; +import { haStyle } from "../../../../resources/styles"; @customElement("cloud-forgot-password-card") export class CloudForgotPasswordCard extends LitElement { diff --git a/src/panels/config/cloud/forgot-password/cloud-forgot-password.ts b/src/panels/config/cloud/forgot-password/cloud-forgot-password.ts index c877d4c7ff..7a199b3996 100644 --- a/src/panels/config/cloud/forgot-password/cloud-forgot-password.ts +++ b/src/panels/config/cloud/forgot-password/cloud-forgot-password.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../../../../types"; import type { TemplateResult } from "lit"; + +import "../../../../layouts/hass-subpage"; +import "./cloud-forgot-password-card"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "./cloud-forgot-password-card"; -import "../../../../layouts/hass-subpage"; + import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("cloud-forgot-password") export class CloudForgotPassword extends LitElement { diff --git a/src/panels/config/cloud/ha-config-cloud.ts b/src/panels/config/cloud/ha-config-cloud.ts index fd64e8d36a..5bfc63f7bc 100644 --- a/src/panels/config/cloud/ha-config-cloud.ts +++ b/src/panels/config/cloud/ha-config-cloud.ts @@ -1,12 +1,15 @@ -import { customElement, property, state } from "lit/decorators"; -import { navigate } from "../../../common/navigate"; import type { CloudStatus } from "../../../data/cloud"; import type { RouterOptions } from "../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../layouts/hass-router-page"; import type { ValueChangedEvent, HomeAssistant, Route } from "../../../types"; + import "./account/cloud-account"; import "./login/cloud-login-panel"; +import { customElement, property, state } from "lit/decorators"; + +import { navigate } from "../../../common/navigate"; +import { HassRouterPage } from "../../../layouts/hass-router-page"; + const LOGGED_IN_URLS = ["account", "google-assistant", "alexa"]; const NOT_LOGGED_IN_URLS = ["login", "register", "forgot-password"]; diff --git a/src/panels/config/cloud/login/cloud-login-panel.ts b/src/panels/config/cloud/login/cloud-login-panel.ts index eed00fcfdf..d72d806214 100644 --- a/src/panels/config/cloud/login/cloud-login-panel.ts +++ b/src/panels/config/cloud/login/cloud-login-panel.ts @@ -1,27 +1,30 @@ -import "@material/mwc-list/mwc-list"; -import { mdiDeleteForever, mdiDotsVertical, mdiDownload } from "@mdi/js"; +import type { HomeAssistant } from "../../../../types"; +import type { CloudLogin } from "./cloud-login"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { navigate } from "../../../../common/navigate"; + import "../../../../components/ha-alert"; +import "../../../../components/ha-button-menu"; import "../../../../components/ha-card"; import "../../../../components/ha-icon-next"; import "../../../../components/ha-list-item"; -import "../../../../components/ha-button-menu"; +import "../../../../layouts/hass-subpage"; +import "../../ha-config-section"; +import "./cloud-login"; +import "@material/mwc-list/mwc-list"; + +import { mdiDeleteForever, mdiDotsVertical, mdiDownload } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { navigate } from "../../../../common/navigate"; import { removeCloudData } from "../../../../data/cloud"; import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; -import "../../../../layouts/hass-subpage"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "../../ha-config-section"; -import "./cloud-login"; import { showSupportPackageDialog } from "../account/show-dialog-cloud-support-package"; -import type { CloudLogin } from "./cloud-login"; @customElement("cloud-login-panel") export class CloudLoginPanel extends LitElement { diff --git a/src/panels/config/cloud/login/cloud-login.ts b/src/panels/config/cloud/login/cloud-login.ts index 8c42063569..ed8de805c3 100644 --- a/src/panels/config/cloud/login/cloud-login.ts +++ b/src/panels/config/cloud/login/cloud-login.ts @@ -1,27 +1,30 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { HaPasswordField } from "../../../../components/ha-password-field"; +import type { HaTextField } from "../../../../components/ha-textfield"; +import type { HomeAssistant } from "../../../../types"; import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/buttons/ha-progress-button"; import "../../../../components/ha-alert"; -import "../../../../components/ha-card"; import "../../../../components/ha-button"; +import "../../../../components/ha-card"; import "../../../../components/ha-password-field"; -import type { HaPasswordField } from "../../../../components/ha-password-field"; import "../../../../components/ha-textfield"; -import type { HaTextField } from "../../../../components/ha-textfield"; -import { haStyle } from "../../../../resources/styles"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { setAssistPipelinePreferred } from "../../../../data/assist_pipeline"; import { cloudLogin } from "../../../../data/cloud"; +import { loginHaCloud } from "../../../../data/onboarding"; +import { haStyle } from "../../../../resources/styles"; import { showAlertDialog, showConfirmationDialog, showPromptDialog, } from "../../../lovelace/custom-card-helpers"; -import { setAssistPipelinePreferred } from "../../../../data/assist_pipeline"; import { showCloudAlreadyConnectedDialog } from "../dialog-cloud-already-connected/show-dialog-cloud-already-connected"; -import type { HomeAssistant } from "../../../../types"; -import { loginHaCloud } from "../../../../data/onboarding"; @customElement("cloud-login") export class CloudLogin extends LitElement { diff --git a/src/panels/config/cloud/register/cloud-register.ts b/src/panels/config/cloud/register/cloud-register.ts index ac999a37b0..ea71f51ac0 100644 --- a/src/panels/config/cloud/register/cloud-register.ts +++ b/src/panels/config/cloud/register/cloud-register.ts @@ -1,18 +1,21 @@ +import type { HaTextField } from "../../../../components/ha-textfield"; +import type { HomeAssistant } from "../../../../types"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/buttons/ha-progress-button"; import "../../../../components/ha-alert"; import "../../../../components/ha-card"; -import "../../../../components/ha-textfield"; -import type { HaTextField } from "../../../../components/ha-textfield"; -import { cloudRegister, cloudResendVerification } from "../../../../data/cloud"; -import "../../../../layouts/hass-subpage"; -import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "../../ha-config-section"; import "../../../../components/ha-password-field"; +import "../../../../components/ha-textfield"; +import "../../../../layouts/hass-subpage"; +import "../../ha-config-section"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { cloudRegister, cloudResendVerification } from "../../../../data/cloud"; +import { haStyle } from "../../../../resources/styles"; @customElement("cloud-register") export class CloudRegister extends LitElement { diff --git a/src/panels/config/core/ha-config-analytics.ts b/src/panels/config/core/ha-config-analytics.ts index 6beac677d9..3ce61131af 100644 --- a/src/panels/config/core/ha-config-analytics.ts +++ b/src/panels/config/core/ha-config-analytics.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button/mwc-button"; +import type { Analytics } from "../../../data/analytics"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; + import "../../../components/ha-analytics"; import "../../../components/ha-card"; import "../../../components/ha-checkbox"; import "../../../components/ha-settings-row"; -import type { Analytics } from "../../../data/analytics"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { getAnalyticsDetails, setAnalyticsPreferences, } from "../../../data/analytics"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; @customElement("ha-config-analytics") diff --git a/src/panels/config/core/ha-config-section-analytics.ts b/src/panels/config/core/ha-config-section-analytics.ts index c64ede995d..e4cff2c8f5 100644 --- a/src/panels/config/core/ha-config-section-analytics.ts +++ b/src/panels/config/core/ha-config-section-analytics.ts @@ -1,9 +1,11 @@ +import type { HomeAssistant, Route } from "../../../types"; import type { TemplateResult } from "lit"; + +import "../../../layouts/hass-subpage"; +import "./ha-config-analytics"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../layouts/hass-subpage"; -import type { HomeAssistant, Route } from "../../../types"; -import "./ha-config-analytics"; @customElement("ha-config-section-analytics") class HaConfigSectionAnalytics extends LitElement { diff --git a/src/panels/config/core/ha-config-section-general.ts b/src/panels/config/core/ha-config-section-general.ts index 693937b1d0..718ef91d38 100644 --- a/src/panels/config/core/ha-config-section-general.ts +++ b/src/panels/config/core/ha-config-section-general.ts @@ -1,33 +1,36 @@ -import "@material/mwc-list/mwc-list-item"; -import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { UNIT_C } from "../../../common/const"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { navigate } from "../../../common/navigate"; -import "../../../components/buttons/ha-progress-button"; import type { HaProgressButton } from "../../../components/buttons/ha-progress-button"; +import type { HaCheckbox } from "../../../components/ha-checkbox"; +import type { HaRadio } from "../../../components/ha-radio"; +import type { HaTextField } from "../../../components/ha-textfield"; +import type { ConfigUpdateValues } from "../../../data/core"; +import type { HomeAssistant, ValueChangedEvent } from "../../../types"; +import type { TemplateResult } from "lit"; + +import "../../../components/buttons/ha-progress-button"; import "../../../components/ha-alert"; import "../../../components/ha-card"; import "../../../components/ha-checkbox"; -import type { HaCheckbox } from "../../../components/ha-checkbox"; import "../../../components/ha-country-picker"; import "../../../components/ha-currency-picker"; import "../../../components/ha-formfield"; import "../../../components/ha-language-picker"; import "../../../components/ha-radio"; -import type { HaRadio } from "../../../components/ha-radio"; import "../../../components/ha-select"; import "../../../components/ha-settings-row"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; import "../../../components/ha-timezone-picker"; -import type { ConfigUpdateValues } from "../../../data/core"; +import "../../../layouts/hass-subpage"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { UNIT_C } from "../../../common/const"; +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { navigate } from "../../../common/navigate"; import { saveCoreConfig } from "../../../data/core"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-subpage"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, ValueChangedEvent } from "../../../types"; @customElement("ha-config-section-general") class HaConfigSectionGeneral extends LitElement { diff --git a/src/panels/config/core/ha-config-section-updates.ts b/src/panels/config/core/ha-config-section-updates.ts index a556798803..782b5815b2 100644 --- a/src/panels/config/core/ha-config-section-updates.ts +++ b/src/panels/config/core/ha-config-section-updates.ts @@ -1,24 +1,30 @@ -import "@material/mwc-list/mwc-list-item"; +import type { + HassioSupervisorInfo, + SupervisorOptions, +} from "../../../data/hassio/supervisor"; +import type { HomeAssistant } from "../../../types"; import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; -import { mdiDotsVertical, mdiRefresh } from "@mdi/js"; import type { HassEntities } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; + import "../../../components/ha-alert"; import "../../../components/ha-bar"; import "../../../components/ha-button-menu"; import "../../../components/ha-card"; import "../../../components/ha-check-list-item"; import "../../../components/ha-metric"; +import "../../../layouts/hass-subpage"; +import "../dashboard/ha-config-updates"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiDotsVertical, mdiRefresh } from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; import { extractApiErrorMessage } from "../../../data/hassio/common"; -import type { - HassioSupervisorInfo, - SupervisorOptions, -} from "../../../data/hassio/supervisor"; import { fetchHassioSupervisorInfo, reloadSupervisor, @@ -29,9 +35,6 @@ import { filterUpdateEntitiesWithInstall, } from "../../../data/update"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-subpage"; -import type { HomeAssistant } from "../../../types"; -import "../dashboard/ha-config-updates"; import { showJoinBetaDialog } from "./updates/show-dialog-join-beta"; @customElement("ha-config-section-updates") diff --git a/src/panels/config/core/ha-config-system-navigation.ts b/src/panels/config/core/ha-config-system-navigation.ts index 3f6675e5b1..c075f44a04 100644 --- a/src/panels/config/core/ha-config-system-navigation.ts +++ b/src/panels/config/core/ha-config-system-navigation.ts @@ -1,35 +1,38 @@ -import { mdiPower } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { canShowPage } from "../../../common/config/can_show_page"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { relativeTime } from "../../../common/datetime/relative_time"; -import { blankBeforePercent } from "../../../common/translations/blank_before_percent"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-navigation-list"; import type { BackupContent } from "../../../data/backup"; -import { fetchBackupInfo } from "../../../data/backup"; import type { CloudStatus } from "../../../data/cloud"; -import { fetchCloudStatus } from "../../../data/cloud"; import type { HardwareInfo } from "../../../data/hardware"; -import { BOARD_NAMES } from "../../../data/hardware"; import type { HassioBackup } from "../../../data/hassio/backup"; -import { fetchHassioBackups } from "../../../data/hassio/backup"; import type { HassioHassOSInfo, HassioHostInfo, } from "../../../data/hassio/host"; +import type { HomeAssistant } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-navigation-list"; +import "../../../layouts/hass-subpage"; +import "../ha-config-section"; + +import { mdiPower } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { canShowPage } from "../../../common/config/can_show_page"; +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { relativeTime } from "../../../common/datetime/relative_time"; +import { blankBeforePercent } from "../../../common/translations/blank_before_percent"; +import { fetchBackupInfo } from "../../../data/backup"; +import { fetchCloudStatus } from "../../../data/cloud"; +import { BOARD_NAMES } from "../../../data/hardware"; +import { fetchHassioBackups } from "../../../data/hassio/backup"; import { fetchHassioHassOsInfo, fetchHassioHostInfo, } from "../../../data/hassio/host"; import { showRestartDialog } from "../../../dialogs/restart/show-dialog-restart"; -import "../../../layouts/hass-subpage"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import "../ha-config-section"; import { configSections } from "../ha-panel-config"; @customElement("ha-config-system-navigation") diff --git a/src/panels/config/core/updates/dialog-join-beta.ts b/src/panels/config/core/updates/dialog-join-beta.ts index 120ee48a9e..461ec0a5e7 100644 --- a/src/panels/config/core/updates/dialog-join-beta.ts +++ b/src/panels/config/core/updates/dialog-join-beta.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button/mwc-button"; -import { mdiOpenInNew } from "@mdi/js"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { JoinBetaDialogParams } from "./show-dialog-join-beta"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-alert"; +import "@material/mwc-button/mwc-button"; + +import { mdiOpenInNew } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-alert"; import { createCloseHeading } from "../../../../components/ha-dialog"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; -import type { JoinBetaDialogParams } from "./show-dialog-join-beta"; @customElement("dialog-join-beta") export class DialogJoinBeta diff --git a/src/panels/config/core/updates/show-dialog-join-beta.ts b/src/panels/config/core/updates/show-dialog-join-beta.ts index 515f4d517c..effa5d71a7 100644 --- a/src/panels/config/core/updates/show-dialog-join-beta.ts +++ b/src/panels/config/core/updates/show-dialog-join-beta.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import "./dialog-join-beta"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface JoinBetaDialogParams { join?: () => any; cancel?: () => any; diff --git a/src/panels/config/dashboard/dialog-new-dashboard.ts b/src/panels/config/dashboard/dialog-new-dashboard.ts index 33040d8f2c..9829237e80 100644 --- a/src/panels/config/dashboard/dialog-new-dashboard.ts +++ b/src/panels/config/dashboard/dialog-new-dashboard.ts @@ -1,18 +1,21 @@ -import "@material/mwc-list/mwc-list"; -import { mdiHome, mdiMap, mdiPencilOutline, mdiShape, mdiWeb } from "@mdi/js"; +import type { LovelaceRawConfig } from "../../../data/lovelace/config/types"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../types"; +import type { NewDashboardDialogParams } from "./show-dialog-new-dashboard"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-icon-next"; +import "../../../components/ha-list-item"; +import "@material/mwc-list/mwc-list"; + +import { mdiHome, mdiMap, mdiPencilOutline, mdiShape, mdiWeb } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-list-item"; -import type { LovelaceRawConfig } from "../../../data/lovelace/config/types"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { NewDashboardDialogParams } from "./show-dialog-new-dashboard"; const EMPTY_CONFIG: LovelaceRawConfig = { views: [{ title: "Home" }] }; diff --git a/src/panels/config/dashboard/ha-config-dashboard.ts b/src/panels/config/dashboard/ha-config-dashboard.ts index f1f5280c6d..988b4a4870 100644 --- a/src/panels/config/dashboard/ha-config-dashboard.ts +++ b/src/panels/config/dashboard/ha-config-dashboard.ts @@ -1,17 +1,12 @@ +import type { CloudStatus } from "../../../data/cloud"; +import type { RepairsIssue } from "../../../data/repairs"; +import type { UpdateEntity } from "../../../data/update"; +import type { PageNavigation } from "../../../layouts/hass-tabs-subpage"; +import type { HomeAssistant } from "../../../types"; import type { ActionDetail } from "@material/mwc-list"; -import { - mdiCloudLock, - mdiDotsVertical, - mdiMagnify, - mdiPower, - mdiRefresh, -} from "@mdi/js"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; + import "../../../components/chips/ha-assist-chip"; import "../../../components/ha-button-menu"; import "../../../components/ha-card"; @@ -22,13 +17,27 @@ import "../../../components/ha-menu-button"; import "../../../components/ha-svg-icon"; import "../../../components/ha-tip"; import "../../../components/ha-top-app-bar-fixed"; -import type { CloudStatus } from "../../../data/cloud"; -import type { RepairsIssue } from "../../../data/repairs"; +import "../ha-config-section"; +import "../repairs/ha-config-repairs"; +import "./ha-config-navigation"; +import "./ha-config-updates"; + +import { + mdiCloudLock, + mdiDotsVertical, + mdiMagnify, + mdiPower, + mdiRefresh, +} from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { severitySort, subscribeRepairsIssueRegistry, } from "../../../data/repairs"; -import type { UpdateEntity } from "../../../data/update"; import { checkForEntityUpdates, filterUpdateEntitiesWithInstall, @@ -38,17 +47,11 @@ import { showQuickBar, } from "../../../dialogs/quick-bar/show-dialog-quick-bar"; import { showRestartDialog } from "../../../dialogs/restart/show-dialog-restart"; -import type { PageNavigation } from "../../../layouts/hass-tabs-subpage"; +import { showShortcutsDialog } from "../../../dialogs/shortcuts/show-shortcuts-dialog"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import "../ha-config-section"; import { configSections } from "../ha-panel-config"; -import "../repairs/ha-config-repairs"; -import "./ha-config-navigation"; -import "./ha-config-updates"; -import { showShortcutsDialog } from "../../../dialogs/shortcuts/show-shortcuts-dialog"; const randomTip = (openFn: any, hass: HomeAssistant, narrow: boolean) => { const weighted: string[] = []; diff --git a/src/panels/config/dashboard/ha-config-navigation.ts b/src/panels/config/dashboard/ha-config-navigation.ts index 0b0f926dad..4371cf755a 100644 --- a/src/panels/config/dashboard/ha-config-navigation.ts +++ b/src/panels/config/dashboard/ha-config-navigation.ts @@ -1,15 +1,18 @@ -import "@material/mwc-list/mwc-list"; -import "@material/mwc-list/mwc-list-item"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { canShowPage } from "../../../common/config/can_show_page"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-navigation-list"; import type { CloudStatus } from "../../../data/cloud"; import type { PageNavigation } from "../../../layouts/hass-tabs-subpage"; import type { HomeAssistant } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-navigation-list"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { canShowPage } from "../../../common/config/can_show_page"; @customElement("ha-config-navigation") class HaConfigNavigation extends LitElement { diff --git a/src/panels/config/dashboard/ha-config-updates.ts b/src/panels/config/dashboard/ha-config-updates.ts index 271e398558..7c382d1f27 100644 --- a/src/panels/config/dashboard/ha-config-updates.ts +++ b/src/panels/config/dashboard/ha-config-updates.ts @@ -1,24 +1,27 @@ +import type { DeviceRegistryEntry } from "../../../data/device_registry"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { UpdateEntity } from "../../../data/update"; +import type { HomeAssistant } from "../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; + import "../../../components/entity/state-badge"; import "../../../components/ha-alert"; import "../../../components/ha-icon-next"; import "../../../components/ha-md-list"; import "../../../components/ha-md-list-item"; import "../../../components/ha-spinner"; -import type { DeviceRegistryEntry } from "../../../data/device_registry"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; import { subscribeDeviceRegistry } from "../../../data/device_registry"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { subscribeEntityRegistry } from "../../../data/entity_registry"; -import type { UpdateEntity } from "../../../data/update"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../types"; @customElement("ha-config-updates") class HaConfigUpdates extends SubscribeMixin(LitElement) { diff --git a/src/panels/config/dashboard/show-dialog-new-dashboard.ts b/src/panels/config/dashboard/show-dialog-new-dashboard.ts index 237a545e59..b8dfa1079d 100644 --- a/src/panels/config/dashboard/show-dialog-new-dashboard.ts +++ b/src/panels/config/dashboard/show-dialog-new-dashboard.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { LovelaceConfig } from "../../../data/lovelace/config/types"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface NewDashboardDialogParams { selectConfig: (config: LovelaceConfig | undefined) => any; } diff --git a/src/panels/config/devices/device-detail/ha-device-automation-dialog.ts b/src/panels/config/devices/device-detail/ha-device-automation-dialog.ts index a3009bfe0a..201a4314ff 100644 --- a/src/panels/config/devices/device-detail/ha-device-automation-dialog.ts +++ b/src/panels/config/devices/device-detail/ha-device-automation-dialog.ts @@ -1,36 +1,39 @@ +import type { AutomationConfig } from "../../../../data/automation"; +import type { + DeviceAction, + DeviceCondition, + DeviceTrigger, +} from "../../../../data/device_automation"; +import type { ScriptConfig } from "../../../../data/script"; +import type { HomeAssistant } from "../../../../types"; +import type { DeviceAutomationDialogParams } from "./show-dialog-device-automation"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-icon-next"; +import "../../../../components/ha-list-item"; import "@material/mwc-list/mwc-list"; + import { mdiAbTesting, mdiGestureTap, mdiPencilOutline, mdiRoomService, } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { shouldHandleRequestSelectedEvent } from "../../../../common/mwc/handle-request-selected-event"; import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-icon-next"; -import "../../../../components/ha-list-item"; -import type { AutomationConfig } from "../../../../data/automation"; import { showAutomationEditor } from "../../../../data/automation"; -import type { - DeviceAction, - DeviceCondition, - DeviceTrigger, -} from "../../../../data/device_automation"; import { fetchDeviceActions, fetchDeviceConditions, fetchDeviceTriggers, sortDeviceAutomations, } from "../../../../data/device_automation"; -import type { ScriptConfig } from "../../../../data/script"; import { showScriptEditor } from "../../../../data/script"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { DeviceAutomationDialogParams } from "./show-dialog-device-automation"; @customElement("dialog-device-automation") export class DialogDeviceAutomation extends LitElement { diff --git a/src/panels/config/devices/device-detail/ha-device-entities-card.ts b/src/panels/config/devices/device-detail/ha-device-entities-card.ts index 5415f29028..8d490df70f 100644 --- a/src/panels/config/devices/device-detail/ha-device-entities-card.ts +++ b/src/panels/config/devices/device-detail/ha-device-entities-card.ts @@ -1,31 +1,34 @@ -import "@material/mwc-list/mwc-list"; +import type { ExtEntityRegistryEntry } from "../../../../data/entity_registry"; +import type { HomeAssistant } from "../../../../types"; +import type { HuiErrorCard } from "../../../lovelace/cards/hui-error-card"; +import type { + LovelaceRow, + LovelaceRowConfig, +} from "../../../lovelace/entity-rows/types"; +import type { EntityRegistryStateEntry } from "../ha-config-device-page"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon"; +import "../../../../components/ha-list-item"; +import "@material/mwc-list/mwc-list"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { until } from "lit/directives/until"; + import { computeEntityName } from "../../../../common/entity/compute_entity_name"; import { stripPrefixFromEntityName } from "../../../../common/entity/strip_prefix_from_entity_name"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon"; -import "../../../../components/ha-list-item"; -import type { ExtEntityRegistryEntry } from "../../../../data/entity_registry"; import { getExtendedEntityRegistryEntry } from "../../../../data/entity_registry"; import { entryIcon } from "../../../../data/icons"; import { showMoreInfoDialog } from "../../../../dialogs/more-info/show-ha-more-info-dialog"; -import type { HomeAssistant } from "../../../../types"; -import type { HuiErrorCard } from "../../../lovelace/cards/hui-error-card"; import { computeCards, computeSection, } from "../../../lovelace/common/generate-lovelace-config"; import { createRowElement } from "../../../lovelace/create-element/create-row-element"; import { addEntitiesToLovelaceView } from "../../../lovelace/editor/add-entities-to-view"; -import type { - LovelaceRow, - LovelaceRowConfig, -} from "../../../lovelace/entity-rows/types"; -import type { EntityRegistryStateEntry } from "../ha-config-device-page"; @customElement("ha-device-entities-card") export class HaDeviceEntitiesCard extends LitElement { diff --git a/src/panels/config/devices/device-detail/ha-device-info-card.ts b/src/panels/config/devices/device-detail/ha-device-info-card.ts index 03bbdad91e..0192f67cb9 100644 --- a/src/panels/config/devices/device-detail/ha-device-info-card.ts +++ b/src/panels/config/devices/device-detail/ha-device-info-card.ts @@ -1,12 +1,15 @@ +import type { DeviceRegistryEntry } from "../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { computeDeviceNameDisplay } from "../../../../common/entity/compute_device_name"; import { titleCase } from "../../../../common/string/title-case"; -import "../../../../components/ha-card"; -import type { DeviceRegistryEntry } from "../../../../data/device_registry"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-device-info-card") export class HaDeviceCard extends LitElement { diff --git a/src/panels/config/devices/device-detail/ha-device-via-devices-card.ts b/src/panels/config/devices/device-detail/ha-device-via-devices-card.ts index 598963951f..3303f12f84 100644 --- a/src/panels/config/devices/device-detail/ha-device-via-devices-card.ts +++ b/src/panels/config/devices/device-detail/ha-device-via-devices-card.ts @@ -1,13 +1,16 @@ +import type { DeviceRegistryEntry } from "../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon-next"; import "@material/mwc-list/mwc-list-item"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { computeDeviceNameDisplay } from "../../../../common/entity/compute_device_name"; import { caseInsensitiveStringCompare } from "../../../../common/string/compare"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon-next"; -import type { DeviceRegistryEntry } from "../../../../data/device_registry"; -import type { HomeAssistant } from "../../../../types"; const MAX_VISIBLE_VIA_DEVICES = 10; diff --git a/src/panels/config/devices/device-detail/integration-elements/matter/device-actions.ts b/src/panels/config/devices/device-detail/integration-elements/matter/device-actions.ts index f90c78b9fc..80e4527aa8 100644 --- a/src/panels/config/devices/device-detail/integration-elements/matter/device-actions.ts +++ b/src/panels/config/devices/device-detail/integration-elements/matter/device-actions.ts @@ -1,21 +1,23 @@ +import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../../../types"; +import type { DeviceAction } from "../../../ha-config-device-page"; + import { mdiAccessPoint, mdiChatProcessing, mdiChatQuestion, mdiExportVariant, } from "@mdi/js"; -import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; + +import { navigate } from "../../../../../../common/navigate"; import { NetworkType, getMatterNodeDiagnostics, } from "../../../../../../data/matter"; -import type { HomeAssistant } from "../../../../../../types"; -import { showMatterReinterviewNodeDialog } from "../../../../integrations/integration-panels/matter/show-dialog-matter-reinterview-node"; -import { showMatterPingNodeDialog } from "../../../../integrations/integration-panels/matter/show-dialog-matter-ping-node"; -import { showMatterOpenCommissioningWindowDialog } from "../../../../integrations/integration-panels/matter/show-dialog-matter-open-commissioning-window"; -import type { DeviceAction } from "../../../ha-config-device-page"; import { showMatterManageFabricsDialog } from "../../../../integrations/integration-panels/matter/show-dialog-matter-manage-fabrics"; -import { navigate } from "../../../../../../common/navigate"; +import { showMatterOpenCommissioningWindowDialog } from "../../../../integrations/integration-panels/matter/show-dialog-matter-open-commissioning-window"; +import { showMatterPingNodeDialog } from "../../../../integrations/integration-panels/matter/show-dialog-matter-ping-node"; +import { showMatterReinterviewNodeDialog } from "../../../../integrations/integration-panels/matter/show-dialog-matter-reinterview-node"; export const getMatterDeviceDefaultActions = ( el: HTMLElement, diff --git a/src/panels/config/devices/device-detail/integration-elements/matter/ha-device-info-matter.ts b/src/panels/config/devices/device-detail/integration-elements/matter/ha-device-info-matter.ts index c5f76bbb8a..2df84d7958 100644 --- a/src/panels/config/devices/device-detail/integration-elements/matter/ha-device-info-matter.ts +++ b/src/panels/config/devices/device-detail/integration-elements/matter/ha-device-info-matter.ts @@ -1,15 +1,18 @@ -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../../../../components/ha-expansion-panel"; import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import type { MatterNodeDiagnostics } from "../../../../../../data/matter"; -import { getMatterNodeDiagnostics } from "../../../../../../data/matter"; -import "@material/mwc-list"; +import type { HomeAssistant } from "../../../../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../../../components/ha-expansion-panel"; import "../../../../../../components/ha-list-item"; +import "@material/mwc-list"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { getMatterNodeDiagnostics } from "../../../../../../data/matter"; import { SubscribeMixin } from "../../../../../../mixins/subscribe-mixin"; import { haStyle } from "../../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../../types"; @customElement("ha-device-info-matter") export class HaDeviceInfoMatter extends SubscribeMixin(LitElement) { diff --git a/src/panels/config/devices/device-detail/integration-elements/mqtt/device-actions.ts b/src/panels/config/devices/device-detail/integration-elements/mqtt/device-actions.ts index faa99cf83d..690acaddcf 100644 --- a/src/panels/config/devices/device-detail/integration-elements/mqtt/device-actions.ts +++ b/src/panels/config/devices/device-detail/integration-elements/mqtt/device-actions.ts @@ -1,6 +1,8 @@ -import { mdiInformation } from "@mdi/js"; import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import type { DeviceAction } from "../../../ha-config-device-page"; + +import { mdiInformation } from "@mdi/js"; + import { showMQTTDeviceDebugInfoDialog } from "./show-dialog-mqtt-device-debug-info"; export const getMQTTDeviceActions = ( diff --git a/src/panels/config/devices/device-detail/integration-elements/mqtt/dialog-mqtt-device-debug-info.ts b/src/panels/config/devices/device-detail/integration-elements/mqtt/dialog-mqtt-device-debug-info.ts index b531b5e2d3..5a5e749b06 100644 --- a/src/panels/config/devices/device-detail/integration-elements/mqtt/dialog-mqtt-device-debug-info.ts +++ b/src/panels/config/devices/device-detail/integration-elements/mqtt/dialog-mqtt-device-debug-info.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button/mwc-button"; +import type { HaSwitch } from "../../../../../../components/ha-switch"; +import type { MQTTDeviceDebugInfo } from "../../../../../../data/mqtt"; +import type { HomeAssistant } from "../../../../../../types"; +import type { MQTTDeviceDebugInfoDialogParams } from "./show-dialog-mqtt-device-debug-info"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, state } from "lit/decorators"; -import { computeDeviceNameDisplay } from "../../../../../../common/entity/compute_device_name"; -import { computeStateName } from "../../../../../../common/entity/compute_state_name"; + import "../../../../../../components/ha-dialog"; import "../../../../../../components/ha-formfield"; import "../../../../../../components/ha-switch"; -import type { HaSwitch } from "../../../../../../components/ha-switch"; -import type { MQTTDeviceDebugInfo } from "../../../../../../data/mqtt"; -import { fetchMQTTDebugInfo } from "../../../../../../data/mqtt"; -import { haStyleDialog } from "../../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../../types"; import "./mqtt-discovery-payload"; import "./mqtt-messages"; -import type { MQTTDeviceDebugInfoDialogParams } from "./show-dialog-mqtt-device-debug-info"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { computeDeviceNameDisplay } from "../../../../../../common/entity/compute_device_name"; +import { computeStateName } from "../../../../../../common/entity/compute_state_name"; +import { fetchMQTTDebugInfo } from "../../../../../../data/mqtt"; +import { haStyleDialog } from "../../../../../../resources/styles"; @customElement("dialog-mqtt-device-debug-info") class DialogMQTTDeviceDebugInfo extends LitElement { diff --git a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts index 9cce42676b..f0673ee6b9 100644 --- a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts +++ b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts @@ -1,5 +1,6 @@ -import { dump } from "js-yaml"; import type { TemplateResult } from "lit"; + +import { dump } from "js-yaml"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; diff --git a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts index 7cd8134e60..0dc65ef6f5 100644 --- a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts +++ b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts @@ -1,11 +1,13 @@ -import { dump } from "js-yaml"; +import type { MQTTMessage } from "../../../../../../data/mqtt"; +import type { HomeAssistant } from "../../../../../../types"; import type { TemplateResult } from "lit"; + +import { dump } from "js-yaml"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { formatTimeWithSeconds } from "../../../../../../common/datetime/format_time"; -import type { MQTTMessage } from "../../../../../../data/mqtt"; -import type { HomeAssistant } from "../../../../../../types"; @customElement("mqtt-messages") class MQTTMessages extends LitElement { diff --git a/src/panels/config/devices/device-detail/integration-elements/mqtt/show-dialog-mqtt-device-debug-info.ts b/src/panels/config/devices/device-detail/integration-elements/mqtt/show-dialog-mqtt-device-debug-info.ts index 25751ba7c5..3c0e0738b7 100644 --- a/src/panels/config/devices/device-detail/integration-elements/mqtt/show-dialog-mqtt-device-debug-info.ts +++ b/src/panels/config/devices/device-detail/integration-elements/mqtt/show-dialog-mqtt-device-debug-info.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../../common/dom/fire_event"; import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; +import { fireEvent } from "../../../../../../common/dom/fire_event"; + export interface MQTTDeviceDebugInfoDialogParams { device: DeviceRegistryEntry; } diff --git a/src/panels/config/devices/device-detail/integration-elements/zha/device-actions.ts b/src/panels/config/devices/device-detail/integration-elements/zha/device-actions.ts index 3403492ef9..4ffa1baa97 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zha/device-actions.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zha/device-actions.ts @@ -1,3 +1,7 @@ +import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../../../types"; +import type { DeviceAction } from "../../../ha-config-device-page"; + import { mdiCogRefresh, mdiDelete, @@ -5,14 +9,12 @@ import { mdiGroup, mdiPlus, } from "@mdi/js"; + import { navigate } from "../../../../../../common/navigate"; -import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import { fetchZHADevice } from "../../../../../../data/zha"; import { showConfirmationDialog } from "../../../../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../../../../types"; import { showZHAManageZigbeeDeviceDialog } from "../../../../integrations/integration-panels/zha/show-dialog-zha-manage-zigbee-device"; import { showZHAReconfigureDeviceDialog } from "../../../../integrations/integration-panels/zha/show-dialog-zha-reconfigure-device"; -import type { DeviceAction } from "../../../ha-config-device-page"; export const getZHADeviceActions = async ( el: HTMLElement, diff --git a/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-info-zha.ts b/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-info-zha.ts index a682beefe4..7cdc5ae414 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-info-zha.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zha/ha-device-info-zha.ts @@ -1,12 +1,15 @@ -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../../../../components/ha-expansion-panel"; import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import type { ZHADevice } from "../../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../../../components/ha-expansion-panel"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { fetchZHADevice } from "../../../../../../data/zha"; import { haStyle } from "../../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../../types"; import { formatAsPaddedHex } from "../../../../integrations/integration-panels/zha/functions"; @customElement("ha-device-info-zha") diff --git a/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts b/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts index 5e4d719a7e..8851e09da0 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts @@ -1,3 +1,7 @@ +import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../../../types"; +import type { DeviceAction } from "../../../ha-config-device-page"; + import { mdiChatQuestion, mdiCog, @@ -7,8 +11,8 @@ import { mdiUpload, mdiWrench, } from "@mdi/js"; + import { getConfigEntries } from "../../../../../../data/config_entries"; -import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import { fetchZwaveIntegrationSettings, fetchZwaveIsAnyOTAFirmwareUpdateInProgress, @@ -16,14 +20,12 @@ import { fetchZwaveNodeStatus, } from "../../../../../../data/zwave_js"; import { showConfirmationDialog } from "../../../../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../../../../types"; -import { showZWaveJSRebuildNodeRoutesDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-rebuild-node-routes"; +import { showZWaveJSHardResetControllerDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-hard-reset-controller"; import { showZWaveJSNodeStatisticsDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics"; +import { showZWaveJSRebuildNodeRoutesDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-rebuild-node-routes"; import { showZWaveJSReinterviewNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-reinterview-node"; import { showZWaveJSRemoveFailedNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-remove-failed-node"; import { showZWaveJSUpdateFirmwareNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node"; -import type { DeviceAction } from "../../../ha-config-device-page"; -import { showZWaveJSHardResetControllerDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-hard-reset-controller"; export const getZwaveDeviceActions = async ( el: HTMLElement, diff --git a/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-alerts.ts b/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-alerts.ts index f69ef5e6bd..f10cb38958 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-alerts.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-alerts.ts @@ -1,8 +1,9 @@ import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; -import { fetchZwaveNodeAlerts } from "../../../../../../data/zwave_js"; import type { HomeAssistant } from "../../../../../../types"; import type { DeviceAlert } from "../../../ha-config-device-page"; +import { fetchZwaveNodeAlerts } from "../../../../../../data/zwave_js"; + export const getZwaveDeviceAlerts = async ( hass: HomeAssistant, device: DeviceRegistryEntry diff --git a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts index bed2ec4872..4134b52d7f 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts @@ -1,18 +1,21 @@ -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../../../../components/ha-expansion-panel"; import type { ConfigEntry } from "../../../../../../data/config_entries"; -import { getConfigEntries } from "../../../../../../data/config_entries"; import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import type { ZWaveJSNodeStatus } from "../../../../../../data/zwave_js"; +import type { HomeAssistant } from "../../../../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../../../components/ha-expansion-panel"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { getConfigEntries } from "../../../../../../data/config_entries"; import { fetchZwaveNodeStatus, SecurityClass, } from "../../../../../../data/zwave_js"; import { SubscribeMixin } from "../../../../../../mixins/subscribe-mixin"; import { haStyle } from "../../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../../types"; @customElement("ha-device-info-zwave_js") export class HaDeviceInfoZWaveJS extends SubscribeMixin(LitElement) { diff --git a/src/panels/config/devices/device-detail/show-dialog-device-automation.ts b/src/panels/config/devices/device-detail/show-dialog-device-automation.ts index 7f7a906c39..fcf209fce6 100644 --- a/src/panels/config/devices/device-detail/show-dialog-device-automation.ts +++ b/src/panels/config/devices/device-detail/show-dialog-device-automation.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { DeviceRegistryEntry } from "../../../../data/device_registry"; import type { EntityRegistryEntry } from "../../../../data/entity_registry"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface DeviceAutomationDialogParams { device: DeviceRegistryEntry; entityReg: EntityRegistryEntry[]; diff --git a/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts b/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts index 7b912ef489..b829ed17a3 100644 --- a/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts +++ b/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button/mwc-button"; +import type { HaSwitch } from "../../../../components/ha-switch"; +import type { DeviceRegistryEntry } from "../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../types"; +import type { DeviceRegistryDetailDialogParams } from "./show-dialog-device-registry-detail"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../../../common/entity/compute_device_name"; + import "../../../../components/ha-alert"; import "../../../../components/ha-area-picker"; import "../../../../components/ha-dialog"; import "../../../../components/ha-labels-picker"; -import type { HaSwitch } from "../../../../components/ha-switch"; import "../../../../components/ha-textfield"; -import type { DeviceRegistryEntry } from "../../../../data/device_registry"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../../../../common/entity/compute_device_name"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { DeviceRegistryDetailDialogParams } from "./show-dialog-device-registry-detail"; @customElement("dialog-device-registry-detail") class DialogDeviceRegistryDetail extends LitElement { diff --git a/src/panels/config/devices/device-registry-detail/show-dialog-device-registry-detail.ts b/src/panels/config/devices/device-registry-detail/show-dialog-device-registry-detail.ts index 2a2514f9b3..42147fd1df 100644 --- a/src/panels/config/devices/device-registry-detail/show-dialog-device-registry-detail.ts +++ b/src/panels/config/devices/device-registry-detail/show-dialog-device-registry-detail.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { DeviceRegistryEntry, DeviceRegistryEntryMutableParams, } from "../../../../data/device_registry"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface DeviceRegistryDetailDialogParams { device: DeviceRegistryEntry; updateEntry: ( diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts index 67317d0ae6..cf44b33f66 100644 --- a/src/panels/config/devices/ha-config-device-page.ts +++ b/src/panels/config/devices/ha-config-device-page.ts @@ -1,3 +1,31 @@ +import type { + ConfigEntry, + DisableConfigEntryResult, +} from "../../../data/config_entries"; +import type { DeviceRegistryEntry } from "../../../data/device_registry"; +import type { DiagnosticInfo } from "../../../data/diagnostics"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { SceneEntities } from "../../../data/scene"; +import type { RelatedResult } from "../../../data/search"; +import type { HomeAssistant } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/entity/ha-battery-icon"; +import "../../../components/ha-alert"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-expansion-panel"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; +import "../../../layouts/hass-error-screen"; +import "../../../layouts/hass-subpage"; +import "../../logbook/ha-logbook"; +import "./device-detail/ha-device-entities-card"; +import "./device-detail/ha-device-info-card"; +import "./device-detail/ha-device-via-devices-card"; + import { consume } from "@lit-labs/context"; import { mdiCog, @@ -9,11 +37,11 @@ import { mdiPencil, mdiPlusCircle, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { ASSIST_ENTITIES, SENSOR_ENTITIES } from "../../../common/const"; import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; @@ -24,63 +52,38 @@ import { computeStateName } from "../../../common/entity/compute_state_name"; import { stringCompare } from "../../../common/string/compare"; import { slugify } from "../../../common/string/slugify"; import { groupBy } from "../../../common/util/group-by"; -import "../../../components/entity/ha-battery-icon"; -import "../../../components/ha-alert"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-expansion-panel"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-tooltip"; import { assistSatelliteSupportsSetupFlow } from "../../../data/assist_satellite"; import { getSignedPath } from "../../../data/auth"; -import type { - ConfigEntry, - DisableConfigEntryResult, -} from "../../../data/config_entries"; import { disableConfigEntry, sortConfigEntries, } from "../../../data/config_entries"; import { fullEntitiesContext } from "../../../data/context"; -import type { DeviceRegistryEntry } from "../../../data/device_registry"; import { removeConfigEntryFromDevice, updateDeviceRegistryEntry, } from "../../../data/device_registry"; -import type { DiagnosticInfo } from "../../../data/diagnostics"; import { fetchDiagnosticHandler, getConfigEntryDiagnosticsDownloadUrl, getDeviceDiagnosticsDownloadUrl, } from "../../../data/diagnostics"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { findBatteryChargingEntity, findBatteryEntity, updateEntityRegistryEntry, } from "../../../data/entity_registry"; -import type { IntegrationManifest } from "../../../data/integration"; import { domainToName } from "../../../data/integration"; -import type { SceneEntities } from "../../../data/scene"; import { showSceneEditor } from "../../../data/scene"; -import type { RelatedResult } from "../../../data/search"; import { findRelated } from "../../../data/search"; import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; import { showVoiceAssistantSetupDialog } from "../../../dialogs/voice-assistant-setup/show-voice-assistant-setup-dialog"; -import "../../../layouts/hass-error-screen"; -import "../../../layouts/hass-subpage"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { fileDownload } from "../../../util/file_download"; -import "../../logbook/ha-logbook"; -import "./device-detail/ha-device-entities-card"; -import "./device-detail/ha-device-info-card"; -import "./device-detail/ha-device-via-devices-card"; import { showDeviceAutomationDialog } from "./device-detail/show-dialog-device-automation"; import { loadDeviceRegistryDetailDialog, diff --git a/src/panels/config/devices/ha-config-devices-dashboard.ts b/src/panels/config/devices/ha-config-devices-dashboard.ts index 9e276e3978..892ba4c472 100644 --- a/src/panels/config/devices/ha-config-devices-dashboard.ts +++ b/src/panels/config/devices/ha-config-devices-dashboard.ts @@ -1,41 +1,24 @@ -import { consume } from "@lit-labs/context"; -import { - mdiChevronRight, - mdiDotsVertical, - mdiMenuDown, - mdiPlus, - mdiTextureBox, - mdiCancel, -} from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; - -import { ResizeController } from "@lit-labs/observers/resize-controller"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { computeCssColor } from "../../../common/color/compute-color"; -import { formatShortDateTime } from "../../../common/datetime/format_date_time"; -import { storage } from "../../../common/decorators/storage"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; -import { computeStateDomain } from "../../../common/entity/compute_state_domain"; -import { - PROTOCOL_INTEGRATIONS, - protocolIntegrationPicked, -} from "../../../common/integrations/protocolIntegrationPicked"; -import { navigate } from "../../../common/navigate"; import type { LocalizeFunc } from "../../../common/translations/localize"; -import { - hasRejectedItems, - rejectedItems, -} from "../../../common/util/promise-all-settled-results"; import type { DataTableColumnContainer, RowClickedEvent, SelectionChangedEvent, SortingChangedEvent, } from "../../../components/data-table/ha-data-table"; +import type { ConfigEntry, SubEntry } from "../../../data/config_entries"; +import type { DataTableFilters } from "../../../data/data_table_filters"; +import type { + DeviceEntityLookup, + DeviceRegistryEntry, +} from "../../../data/device_registry"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { LabelRegistryEntry } from "../../../data/label_registry"; +import type { HomeAssistant, Route } from "../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + import "../../../components/data-table/ha-data-table-labels"; import "../../../components/entity/ha-battery-icon"; import "../../../components/ha-alert"; @@ -51,40 +34,59 @@ import "../../../components/ha-icon-button"; import "../../../components/ha-md-divider"; import "../../../components/ha-md-menu-item"; import "../../../components/ha-sub-menu"; +import "../../../layouts/hass-tabs-subpage-data-table"; +import "../integrations/ha-integration-overflow-menu"; + +import { consume } from "@lit-labs/context"; +import { ResizeController } from "@lit-labs/observers/resize-controller"; +import { + mdiChevronRight, + mdiDotsVertical, + mdiMenuDown, + mdiPlus, + mdiTextureBox, + mdiCancel, +} from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { computeCssColor } from "../../../common/color/compute-color"; +import { formatShortDateTime } from "../../../common/datetime/format_date_time"; +import { storage } from "../../../common/decorators/storage"; +import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; +import { computeStateDomain } from "../../../common/entity/compute_state_domain"; +import { + PROTOCOL_INTEGRATIONS, + protocolIntegrationPicked, +} from "../../../common/integrations/protocolIntegrationPicked"; +import { navigate } from "../../../common/navigate"; +import { + hasRejectedItems, + rejectedItems, +} from "../../../common/util/promise-all-settled-results"; import { createAreaRegistryEntry } from "../../../data/area_registry"; -import type { ConfigEntry, SubEntry } from "../../../data/config_entries"; import { getSubEntries, sortConfigEntries } from "../../../data/config_entries"; import { fullEntitiesContext } from "../../../data/context"; -import type { DataTableFilters } from "../../../data/data_table_filters"; import { deserializeFilters, serializeFilters, } from "../../../data/data_table_filters"; -import type { - DeviceEntityLookup, - DeviceRegistryEntry, -} from "../../../data/device_registry"; import { updateDeviceRegistryEntry } from "../../../data/device_registry"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { findBatteryChargingEntity, findBatteryEntity, } from "../../../data/entity_registry"; -import type { IntegrationManifest } from "../../../data/integration"; -import type { LabelRegistryEntry } from "../../../data/label_registry"; import { createLabelRegistryEntry, subscribeLabelRegistry, } from "../../../data/label_registry"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { showAreaRegistryDetailDialog } from "../areas/show-dialog-area-registry-detail"; import { configSections } from "../ha-panel-config"; -import "../integrations/ha-integration-overflow-menu"; import { showAddIntegrationDialog } from "../integrations/show-add-integration-dialog"; import { showLabelDetailDialog } from "../labels/show-dialog-label-detail"; diff --git a/src/panels/config/devices/ha-config-devices.ts b/src/panels/config/devices/ha-config-devices.ts index 9532d2ba48..dd6b358574 100644 --- a/src/panels/config/devices/ha-config-devices.ts +++ b/src/panels/config/devices/ha-config-devices.ts @@ -1,14 +1,17 @@ -import { customElement, property, state } from "lit/decorators"; import type { ConfigEntry } from "../../../data/config_entries"; -import { getConfigEntries } from "../../../data/config_entries"; import type { IntegrationManifest } from "../../../data/integration"; -import { fetchIntegrationManifests } from "../../../data/integration"; import type { RouterOptions } from "../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../types"; + import "./ha-config-device-page"; import "./ha-config-devices-dashboard"; +import { customElement, property, state } from "lit/decorators"; + +import { getConfigEntries } from "../../../data/config_entries"; +import { fetchIntegrationManifests } from "../../../data/integration"; +import { HassRouterPage } from "../../../layouts/hass-router-page"; + @customElement("ha-config-devices") class HaConfigDevices extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/energy/components/ha-energy-battery-settings.ts b/src/panels/config/energy/components/ha-energy-battery-settings.ts index 16e358a7ad..d301638755 100644 --- a/src/panels/config/energy/components/ha-energy-battery-settings.ts +++ b/src/panels/config/energy/components/ha-energy-battery-settings.ts @@ -1,30 +1,33 @@ -import "@material/mwc-button/mwc-button"; -import { mdiBatteryHigh, mdiDelete, mdiPencil } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon-button"; -import "../../../../components/ha-settings-row"; import type { BatterySourceTypeEnergyPreference, EnergyPreferences, EnergyPreferencesValidation, EnergyValidationIssue, } from "../../../../data/energy"; -import { saveEnergyPreferences } from "../../../../data/energy"; import type { StatisticsMetaData } from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-settings-row"; +import "./ha-energy-validation-result"; +import "@material/mwc-button/mwc-button"; + +import { mdiBatteryHigh, mdiDelete, mdiPencil } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { saveEnergyPreferences } from "../../../../data/energy"; import { getStatisticLabel } from "../../../../data/recorder"; import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; import { showEnergySettingsBatteryDialog } from "../dialogs/show-dialogs-energy"; -import "./ha-energy-validation-result"; import { energyCardStyles } from "./styles"; @customElement("ha-energy-battery-settings") diff --git a/src/panels/config/energy/components/ha-energy-device-settings.ts b/src/panels/config/energy/components/ha-energy-device-settings.ts index 11eb58d42f..688dd70fb4 100644 --- a/src/panels/config/energy/components/ha-energy-device-settings.ts +++ b/src/panels/config/energy/components/ha-energy-device-settings.ts @@ -1,31 +1,34 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDelete, mdiDevices, mdiDrag, mdiPencil } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { repeat } from "lit/directives/repeat"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon-button"; -import "../../../../components/ha-sortable"; -import "../../../../components/ha-svg-icon"; import type { DeviceConsumptionEnergyPreference, EnergyPreferences, EnergyPreferencesValidation, } from "../../../../data/energy"; -import { saveEnergyPreferences } from "../../../../data/energy"; import type { StatisticsMetaData } from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-sortable"; +import "../../../../components/ha-svg-icon"; +import "./ha-energy-validation-result"; +import "@material/mwc-button/mwc-button"; + +import { mdiDelete, mdiDevices, mdiDrag, mdiPencil } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { saveEnergyPreferences } from "../../../../data/energy"; import { getStatisticLabel } from "../../../../data/recorder"; import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; import { showEnergySettingsDeviceDialog } from "../dialogs/show-dialogs-energy"; -import "./ha-energy-validation-result"; import { energyCardStyles } from "./styles"; @customElement("ha-energy-device-settings") diff --git a/src/panels/config/energy/components/ha-energy-gas-settings.ts b/src/panels/config/energy/components/ha-energy-gas-settings.ts index e3be87f220..9c8c385f0c 100644 --- a/src/panels/config/energy/components/ha-energy-gas-settings.ts +++ b/src/panels/config/energy/components/ha-energy-gas-settings.ts @@ -1,32 +1,35 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDelete, mdiFire, mdiPencil } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon-button"; import type { EnergyPreferences, EnergyPreferencesValidation, EnergyValidationIssue, GasSourceTypeEnergyPreference, } from "../../../../data/energy"; +import type { StatisticsMetaData } from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon-button"; +import "./ha-energy-validation-result"; +import "@material/mwc-button/mwc-button"; + +import { mdiDelete, mdiFire, mdiPencil } from "@mdi/js"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { getEnergyGasUnitClass, saveEnergyPreferences, } from "../../../../data/energy"; -import type { StatisticsMetaData } from "../../../../data/recorder"; import { getStatisticLabel } from "../../../../data/recorder"; import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; import { showEnergySettingsGasDialog } from "../dialogs/show-dialogs-energy"; -import "./ha-energy-validation-result"; import { energyCardStyles } from "./styles"; @customElement("ha-energy-gas-settings") diff --git a/src/panels/config/energy/components/ha-energy-grid-settings.ts b/src/panels/config/energy/components/ha-energy-grid-settings.ts index ae58d26794..857d082b73 100644 --- a/src/panels/config/energy/components/ha-energy-grid-settings.ts +++ b/src/panels/config/energy/components/ha-energy-grid-settings.ts @@ -1,22 +1,4 @@ -import "@material/mwc-button/mwc-button"; -import { - mdiDelete, - mdiHomeExportOutline, - mdiHomeImportOutline, - mdiPencil, - mdiTransmissionTower, -} from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon-button"; import type { ConfigEntry } from "../../../../data/config_entries"; -import { - deleteConfigEntry, - getConfigEntries, -} from "../../../../data/config_entries"; import type { EnergyPreferences, EnergyPreferencesValidation, @@ -26,12 +8,35 @@ import type { FlowToGridSourceEnergyPreference, GridSourceTypeEnergyPreference, } from "../../../../data/energy"; +import type { StatisticsMetaData } from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon-button"; +import "./ha-energy-validation-result"; +import "@material/mwc-button/mwc-button"; + +import { + mdiDelete, + mdiHomeExportOutline, + mdiHomeImportOutline, + mdiPencil, + mdiTransmissionTower, +} from "@mdi/js"; +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { + deleteConfigEntry, + getConfigEntries, +} from "../../../../data/config_entries"; import { emptyGridSourceEnergyPreference, energySourcesByType, saveEnergyPreferences, } from "../../../../data/energy"; -import type { StatisticsMetaData } from "../../../../data/recorder"; import { getStatisticLabel } from "../../../../data/recorder"; import { showConfigFlowDialog } from "../../../../dialogs/config-flow/show-dialog-config-flow"; import { @@ -39,14 +44,12 @@ import { showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { brandsUrl } from "../../../../util/brands-url"; import { documentationUrl } from "../../../../util/documentation-url"; import { showEnergySettingsGridFlowFromDialog, showEnergySettingsGridFlowToDialog, } from "../dialogs/show-dialogs-energy"; -import "./ha-energy-validation-result"; import { energyCardStyles } from "./styles"; @customElement("ha-energy-grid-settings") diff --git a/src/panels/config/energy/components/ha-energy-solar-settings.ts b/src/panels/config/energy/components/ha-energy-solar-settings.ts index 9a01fa4962..ebe3752819 100644 --- a/src/panels/config/energy/components/ha-energy-solar-settings.ts +++ b/src/panels/config/energy/components/ha-energy-solar-settings.ts @@ -1,11 +1,3 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDelete, mdiPencil, mdiSolarPower } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon-button"; import type { EnergyInfo, EnergyPreferences, @@ -13,18 +5,29 @@ import type { EnergyValidationIssue, SolarSourceTypeEnergyPreference, } from "../../../../data/energy"; -import { saveEnergyPreferences } from "../../../../data/energy"; import type { StatisticsMetaData } from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon-button"; +import "./ha-energy-validation-result"; +import "@material/mwc-button/mwc-button"; + +import { mdiDelete, mdiPencil, mdiSolarPower } from "@mdi/js"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { saveEnergyPreferences } from "../../../../data/energy"; import { getStatisticLabel } from "../../../../data/recorder"; import { showConfirmationDialog, showAlertDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; import { showEnergySettingsSolarDialog } from "../dialogs/show-dialogs-energy"; -import "./ha-energy-validation-result"; import { energyCardStyles } from "./styles"; @customElement("ha-energy-solar-settings") diff --git a/src/panels/config/energy/components/ha-energy-validation-result.ts b/src/panels/config/energy/components/ha-energy-validation-result.ts index 7166a74ed1..0d985f3b30 100644 --- a/src/panels/config/energy/components/ha-energy-validation-result.ts +++ b/src/panels/config/energy/components/ha-energy-validation-result.ts @@ -1,9 +1,11 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../../components/ha-alert"; import type { EnergyValidationIssue } from "../../../../data/energy"; import type { HomeAssistant } from "../../../../types"; +import "../../../../components/ha-alert"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("ha-energy-validation-result") class EnergyValidationMessage extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/energy/components/ha-energy-water-settings.ts b/src/panels/config/energy/components/ha-energy-water-settings.ts index ddb1bb911c..6aa6ebf1d3 100644 --- a/src/panels/config/energy/components/ha-energy-water-settings.ts +++ b/src/panels/config/energy/components/ha-energy-water-settings.ts @@ -1,29 +1,32 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDelete, mdiWater, mdiPencil } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-card"; -import "../../../../components/ha-icon-button"; import type { EnergyPreferences, EnergyPreferencesValidation, EnergyValidationIssue, WaterSourceTypeEnergyPreference, } from "../../../../data/energy"; -import { saveEnergyPreferences } from "../../../../data/energy"; import type { StatisticsMetaData } from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-icon-button"; +import "./ha-energy-validation-result"; +import "@material/mwc-button/mwc-button"; + +import { mdiDelete, mdiWater, mdiPencil } from "@mdi/js"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { saveEnergyPreferences } from "../../../../data/energy"; import { getStatisticLabel } from "../../../../data/recorder"; import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { documentationUrl } from "../../../../util/documentation-url"; import { showEnergySettingsWaterDialog } from "../dialogs/show-dialogs-energy"; -import "./ha-energy-validation-result"; import { energyCardStyles } from "./styles"; @customElement("ha-energy-water-settings") diff --git a/src/panels/config/energy/dialogs/dialog-energy-battery-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-battery-settings.ts index 745713ad85..8bfd809243 100644 --- a/src/panels/config/energy/dialogs/dialog-energy-battery-settings.ts +++ b/src/panels/config/energy/dialogs/dialog-energy-battery-settings.ts @@ -1,21 +1,24 @@ -import "@material/mwc-button/mwc-button"; -import { mdiBatteryHigh } from "@mdi/js"; +import type { BatterySourceTypeEnergyPreference } from "../../../../data/energy"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { EnergySettingsBatteryDialogParams } from "./show-dialogs-energy"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/entity/ha-statistic-picker"; import "../../../../components/ha-dialog"; -import type { BatterySourceTypeEnergyPreference } from "../../../../data/energy"; +import "@material/mwc-button/mwc-button"; + +import { mdiBatteryHigh } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { emptyBatteryEnergyPreference, energyStatisticHelpUrl, } from "../../../../data/energy"; import { getSensorDeviceClassConvertibleUnits } from "../../../../data/sensor"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { EnergySettingsBatteryDialogParams } from "./show-dialogs-energy"; const energyUnitClasses = ["energy"]; diff --git a/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts index c713b3e35c..3d8c4e9282 100644 --- a/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts +++ b/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts @@ -1,24 +1,27 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDevices } from "@mdi/js"; +import type { DeviceConsumptionEnergyPreference } from "../../../../data/energy"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { EnergySettingsDeviceDialogParams } from "./show-dialogs-energy"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; + import "../../../../components/entity/ha-entity-picker"; import "../../../../components/entity/ha-statistic-picker"; import "../../../../components/ha-dialog"; import "../../../../components/ha-formfield"; import "../../../../components/ha-radio"; import "../../../../components/ha-select"; -import type { DeviceConsumptionEnergyPreference } from "../../../../data/energy"; +import "@material/mwc-button/mwc-button"; + +import { mdiDevices } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { energyStatisticHelpUrl } from "../../../../data/energy"; import { getStatisticLabel } from "../../../../data/recorder"; import { getSensorDeviceClassConvertibleUnits } from "../../../../data/sensor"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { EnergySettingsDeviceDialogParams } from "./show-dialogs-energy"; const energyUnitClasses = ["energy"]; diff --git a/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts index 7cbaf1eb3d..5fd865ba72 100644 --- a/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts +++ b/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts @@ -1,17 +1,23 @@ -import "@material/mwc-button/mwc-button"; -import { mdiFire } from "@mdi/js"; +import type { HaRadio } from "../../../../components/ha-radio"; +import type { GasSourceTypeEnergyPreference } from "../../../../data/energy"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { EnergySettingsGasDialogParams } from "./show-dialogs-energy"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/entity/ha-entity-picker"; import "../../../../components/entity/ha-statistic-picker"; import "../../../../components/ha-dialog"; import "../../../../components/ha-formfield"; import "../../../../components/ha-radio"; -import type { HaRadio } from "../../../../components/ha-radio"; import "../../../../components/ha-textfield"; -import type { GasSourceTypeEnergyPreference } from "../../../../data/energy"; +import "@material/mwc-button/mwc-button"; + +import { mdiFire } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { emptyGasEnergyPreference, energyStatisticHelpUrl, @@ -22,10 +28,7 @@ import { isExternalStatistic, } from "../../../../data/recorder"; import { getSensorDeviceClassConvertibleUnits } from "../../../../data/sensor"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { EnergySettingsGasDialogParams } from "./show-dialogs-energy"; const gasDeviceClasses = ["gas", "energy"]; const gasUnitClasses = ["volume", "energy"]; diff --git a/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts index dedc4ffb9a..9d79c57127 100644 --- a/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts +++ b/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts @@ -1,19 +1,25 @@ -import "@material/mwc-button/mwc-button"; -import { mdiTransmissionTower } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/entity/ha-entity-picker"; -import "../../../../components/entity/ha-statistic-picker"; -import "../../../../components/ha-dialog"; -import "../../../../components/ha-formfield"; -import "../../../../components/ha-radio"; import type { HaRadio } from "../../../../components/ha-radio"; import type { FlowFromGridSourceEnergyPreference, FlowToGridSourceEnergyPreference, } from "../../../../data/energy"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { EnergySettingsGridFlowDialogParams } from "./show-dialogs-energy"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/entity/ha-entity-picker"; +import "../../../../components/entity/ha-statistic-picker"; +import "../../../../components/ha-dialog"; +import "../../../../components/ha-formfield"; +import "../../../../components/ha-radio"; +import "@material/mwc-button/mwc-button"; + +import { mdiTransmissionTower } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { emptyFlowFromGridSourceEnergyPreference, emptyFlowToGridSourceEnergyPreference, @@ -25,10 +31,7 @@ import { isExternalStatistic, } from "../../../../data/recorder"; import { getSensorDeviceClassConvertibleUnits } from "../../../../data/sensor"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { EnergySettingsGridFlowDialogParams } from "./show-dialogs-energy"; const energyUnitClasses = ["energy"]; diff --git a/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts index cc63e33b2f..abe1e6fef6 100644 --- a/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts +++ b/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts @@ -1,30 +1,33 @@ -import "@material/mwc-button/mwc-button"; -import { mdiSolarPower } from "@mdi/js"; +import type { HaCheckbox } from "../../../../components/ha-checkbox"; +import type { HaRadio } from "../../../../components/ha-radio"; +import type { ConfigEntry } from "../../../../data/config_entries"; +import type { SolarSourceTypeEnergyPreference } from "../../../../data/energy"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { EnergySettingsSolarDialogParams } from "./show-dialogs-energy"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/entity/ha-statistic-picker"; import "../../../../components/ha-checkbox"; -import type { HaCheckbox } from "../../../../components/ha-checkbox"; import "../../../../components/ha-dialog"; import "../../../../components/ha-formfield"; import "../../../../components/ha-radio"; -import type { HaRadio } from "../../../../components/ha-radio"; -import type { ConfigEntry } from "../../../../data/config_entries"; +import "@material/mwc-button/mwc-button"; + +import { mdiSolarPower } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { getConfigEntries } from "../../../../data/config_entries"; -import type { SolarSourceTypeEnergyPreference } from "../../../../data/energy"; import { emptySolarEnergyPreference, energyStatisticHelpUrl, } from "../../../../data/energy"; import { getSensorDeviceClassConvertibleUnits } from "../../../../data/sensor"; import { showConfigFlowDialog } from "../../../../dialogs/config-flow/show-dialog-config-flow"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { brandsUrl } from "../../../../util/brands-url"; -import type { EnergySettingsSolarDialogParams } from "./show-dialogs-energy"; const energyUnitClasses = ["energy"]; diff --git a/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts index 85a857219e..39ffe959fb 100644 --- a/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts +++ b/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts @@ -1,17 +1,23 @@ -import "@material/mwc-button/mwc-button"; -import { mdiWater } from "@mdi/js"; +import type { HaRadio } from "../../../../components/ha-radio"; +import type { WaterSourceTypeEnergyPreference } from "../../../../data/energy"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { EnergySettingsWaterDialogParams } from "./show-dialogs-energy"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/entity/ha-entity-picker"; import "../../../../components/entity/ha-statistic-picker"; import "../../../../components/ha-dialog"; import "../../../../components/ha-formfield"; import "../../../../components/ha-radio"; -import type { HaRadio } from "../../../../components/ha-radio"; import "../../../../components/ha-textfield"; -import type { WaterSourceTypeEnergyPreference } from "../../../../data/energy"; +import "@material/mwc-button/mwc-button"; + +import { mdiWater } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { emptyWaterEnergyPreference, energyStatisticHelpUrl, @@ -22,10 +28,7 @@ import { isExternalStatistic, } from "../../../../data/recorder"; import { getSensorDeviceClassConvertibleUnits } from "../../../../data/sensor"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { EnergySettingsWaterDialogParams } from "./show-dialogs-energy"; @customElement("dialog-energy-water-settings") export class DialogEnergyWaterSettings diff --git a/src/panels/config/energy/dialogs/show-dialogs-energy.ts b/src/panels/config/energy/dialogs/show-dialogs-energy.ts index f85dc549e6..16d5ca30e5 100644 --- a/src/panels/config/energy/dialogs/show-dialogs-energy.ts +++ b/src/panels/config/energy/dialogs/show-dialogs-energy.ts @@ -1,4 +1,3 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { BatterySourceTypeEnergyPreference, DeviceConsumptionEnergyPreference, @@ -13,6 +12,8 @@ import type { } from "../../../../data/energy"; import type { StatisticsMetaData } from "../../../../data/recorder"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface EnergySettingsGridFlowDialogParams { source?: | FlowFromGridSourceEnergyPreference diff --git a/src/panels/config/energy/ha-config-energy.ts b/src/panels/config/energy/ha-config-energy.ts index c808dd82f2..f0f6ba100d 100644 --- a/src/panels/config/energy/ha-config-energy.ts +++ b/src/panels/config/energy/ha-config-energy.ts @@ -1,31 +1,34 @@ -import "../../../layouts/hass-error-screen"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { EnergyPreferencesValidation, EnergyInfo, EnergyPreferences, } from "../../../data/energy"; +import type { StatisticsMetaData } from "../../../data/recorder"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-alert"; +import "../../../layouts/hass-error-screen"; +import "../../../layouts/hass-loading-screen"; +import "../../../layouts/hass-subpage"; +import "./components/ha-energy-battery-settings"; +import "./components/ha-energy-device-settings"; +import "./components/ha-energy-gas-settings"; +import "./components/ha-energy-grid-settings"; +import "./components/ha-energy-solar-settings"; +import "./components/ha-energy-water-settings"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { getEnergyPreferenceValidation, getEnergyInfo, getEnergyPreferences, getReferencedStatisticIds, } from "../../../data/energy"; -import type { StatisticsMetaData } from "../../../data/recorder"; import { getStatisticMetadata } from "../../../data/recorder"; -import "../../../layouts/hass-loading-screen"; -import "../../../layouts/hass-subpage"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; -import "../../../components/ha-alert"; -import "./components/ha-energy-device-settings"; -import "./components/ha-energy-grid-settings"; -import "./components/ha-energy-solar-settings"; -import "./components/ha-energy-battery-settings"; -import "./components/ha-energy-gas-settings"; -import "./components/ha-energy-water-settings"; const INITIAL_CONFIG: EnergyPreferences = { energy_sources: [], diff --git a/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts b/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts index fff779c4e9..2aab0d6743 100644 --- a/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts +++ b/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts @@ -1,16 +1,9 @@ -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; -import { dynamicElement } from "../../../../../common/dom/dynamic-element-directive"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { ExtEntityRegistryEntry } from "../../../../../data/entity_registry"; -import { removeEntityRegistryEntry } from "../../../../../data/entity_registry"; -import { HELPERS_CRUD } from "../../../../../data/helpers_crud"; -import { showConfirmationDialog } from "../../../../../dialogs/generic/show-dialog-box"; -import { haStyle } from "../../../../../resources/styles"; import type { HomeAssistant } from "../../../../../types"; import type { Helper } from "../../../helpers/const"; +import type { EntityRegistrySettingsEditor } from "../../entity-registry-settings-editor"; +import type { CSSResultGroup, PropertyValues } from "lit"; + import "../../../helpers/forms/ha-counter-form"; import "../../../helpers/forms/ha-input_boolean-form"; import "../../../helpers/forms/ha-input_button-form"; @@ -22,7 +15,17 @@ import "../../../helpers/forms/ha-schedule-form"; import "../../../helpers/forms/ha-timer-form"; import "../../../voice-assistants/entity-voice-settings"; import "../../entity-registry-settings-editor"; -import type { EntityRegistrySettingsEditor } from "../../entity-registry-settings-editor"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; +import { dynamicElement } from "../../../../../common/dom/dynamic-element-directive"; +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { removeEntityRegistryEntry } from "../../../../../data/entity_registry"; +import { HELPERS_CRUD } from "../../../../../data/helpers_crud"; +import { showConfirmationDialog } from "../../../../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../../../resources/styles"; @customElement("entity-settings-helper-tab") export class EntitySettingsHelperTab extends LitElement { diff --git a/src/panels/config/entities/entity-registry-settings-editor.ts b/src/panels/config/entities/entity-registry-settings-editor.ts index 3cd6ed2774..da8a45d7f9 100644 --- a/src/panels/config/entities/entity-registry-settings-editor.ts +++ b/src/panels/config/entities/entity-registry-settings-editor.ts @@ -1,12 +1,46 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-formfield/mwc-formfield"; -import { mdiContentCopy } from "@mdi/js"; +import type { + LocalizeFunc, + LocalizeKeys, +} from "../../../common/translations/localize"; +import type { HaSwitch } from "../../../components/ha-switch"; +import type { ConfigEntry } from "../../../data/config_entries"; +import type { DataEntryFlowStepCreateEntry } from "../../../data/data_entry_flow"; +import type { DeviceRegistryEntry } from "../../../data/device_registry"; +import type { + AlarmControlPanelEntityOptions, + EntityRegistryEntry, + EntityRegistryEntryUpdateParams, + ExtEntityRegistryEntry, + LockEntityOptions, + SensorEntityOptions, +} from "../../../data/entity_registry"; +import type { WeatherUnits } from "../../../data/weather"; +import type { HomeAssistant } from "../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-area-picker"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-button-next"; +import "../../../components/ha-icon-picker"; +import "../../../components/ha-labels-picker"; +import "../../../components/ha-list-item"; +import "../../../components/ha-radio"; +import "../../../components/ha-select"; +import "../../../components/ha-settings-row"; +import "../../../components/ha-state-icon"; +import "../../../components/ha-switch"; +import "../../../components/ha-textfield"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-formfield/mwc-formfield"; + +import { mdiContentCopy } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { until } from "lit/directives/until"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { fireEvent } from "../../../common/dom/fire_event"; import { stopPropagation } from "../../../common/dom/stop_propagation"; @@ -15,25 +49,8 @@ import { computeObjectId } from "../../../common/entity/compute_object_id"; import { supportsFeature } from "../../../common/entity/supports-feature"; import { formatNumber } from "../../../common/number/format_number"; import { stringCompare } from "../../../common/string/compare"; -import type { - LocalizeFunc, - LocalizeKeys, -} from "../../../common/translations/localize"; +import { autoCaseNoun } from "../../../common/translations/auto_case_noun"; import { copyToClipboard } from "../../../common/util/copy-clipboard"; -import "../../../components/ha-alert"; -import "../../../components/ha-area-picker"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-button-next"; -import "../../../components/ha-icon-picker"; -import "../../../components/ha-list-item"; -import "../../../components/ha-radio"; -import "../../../components/ha-select"; -import "../../../components/ha-settings-row"; -import "../../../components/ha-state-icon"; -import "../../../components/ha-switch"; -import "../../../components/ha-labels-picker"; -import type { HaSwitch } from "../../../components/ha-switch"; -import "../../../components/ha-textfield"; import { CAMERA_ORIENTATIONS, CAMERA_SUPPORT_STREAM, @@ -43,23 +60,12 @@ import { STREAM_TYPE_HLS, updateCameraPrefs, } from "../../../data/camera"; -import type { ConfigEntry } from "../../../data/config_entries"; import { deleteConfigEntry } from "../../../data/config_entries"; import { createConfigFlow, handleConfigFlowStep, } from "../../../data/config_flow"; -import type { DataEntryFlowStepCreateEntry } from "../../../data/data_entry_flow"; -import type { DeviceRegistryEntry } from "../../../data/device_registry"; import { updateDeviceRegistryEntry } from "../../../data/device_registry"; -import type { - AlarmControlPanelEntityOptions, - EntityRegistryEntry, - EntityRegistryEntryUpdateParams, - ExtEntityRegistryEntry, - LockEntityOptions, - SensorEntityOptions, -} from "../../../data/entity_registry"; import { subscribeEntityRegistry, updateEntityRegistryEntry, @@ -78,7 +84,6 @@ import { getSensorDeviceClassConvertibleUnits, getSensorNumericDeviceClasses, } from "../../../data/sensor"; -import type { WeatherUnits } from "../../../data/weather"; import { getWeatherConvertibleUnits } from "../../../data/weather"; import { showOptionsFlowDialog } from "../../../dialogs/config-flow/show-dialog-options-flow"; import { @@ -88,10 +93,8 @@ import { import { showVoiceAssistantsView } from "../../../dialogs/more-info/components/voice/show-view-voice-assistants"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showToast } from "../../../util/toast"; import { showDeviceRegistryDetailDialog } from "../devices/device-registry-detail/show-dialog-device-registry-detail"; -import { autoCaseNoun } from "../../../common/translations/auto_case_noun"; const OVERRIDE_DEVICE_CLASSES = { cover: [ diff --git a/src/panels/config/entities/entity-registry-settings.ts b/src/panels/config/entities/entity-registry-settings.ts index 26dc31f7a4..c7ab9ed23c 100644 --- a/src/panels/config/entities/entity-registry-settings.ts +++ b/src/panels/config/entities/entity-registry-settings.ts @@ -1,19 +1,25 @@ +import type { ConfigEntry } from "../../../data/config_entries"; +import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; +import type { HomeAssistant } from "../../../types"; +import type { EntityRegistrySettingsEditor } from "./entity-registry-settings-editor"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "./entity-registry-settings-editor"; import "@material/mwc-button/mwc-button"; import "@material/mwc-formfield/mwc-formfield"; import "@material/mwc-list/mwc-list-item"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-alert"; -import type { ConfigEntry } from "../../../data/config_entries"; import { deleteConfigEntry, getConfigEntry, } from "../../../data/config_entries"; import { updateDeviceRegistryEntry } from "../../../data/device_registry"; -import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; import { removeEntityRegistryEntry, updateEntityRegistryEntry, @@ -25,10 +31,7 @@ import { } from "../../../dialogs/generic/show-dialog-box"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showDeviceRegistryDetailDialog } from "../devices/device-registry-detail/show-dialog-device-registry-detail"; -import "./entity-registry-settings-editor"; -import type { EntityRegistrySettingsEditor } from "./entity-registry-settings-editor"; const invalidDomainUpdate = false; diff --git a/src/panels/config/entities/ha-config-entities.ts b/src/panels/config/entities/ha-config-entities.ts index 4e4e6d357e..c429c143c6 100644 --- a/src/panels/config/entities/ha-config-entities.ts +++ b/src/panels/config/entities/ha-config-entities.ts @@ -1,3 +1,50 @@ +import type { HASSDomEvent } from "../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SelectionChangedEvent, + SortingChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { ConfigEntry, SubEntry } from "../../../data/config_entries"; +import type { + DataTableFiltersItems, + DataTableFiltersValues, +} from "../../../data/data_table_filters"; +import type { + EntityRegistryEntry, + UpdateEntityRegistryEntryResult, +} from "../../../data/entity_registry"; +import type { EntitySources } from "../../../data/entity_sources"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { LabelRegistryEntry } from "../../../data/label_registry"; +import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; +import type { HomeAssistant, Route } from "../../../types"; +import type { Helper } from "../helpers/const"; +import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/data-table/ha-data-table-labels"; +import "../../../components/ha-alert"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-check-list-item"; +import "../../../components/ha-filter-devices"; +import "../../../components/ha-filter-domains"; +import "../../../components/ha-filter-floor-areas"; +import "../../../components/ha-filter-integrations"; +import "../../../components/ha-filter-labels"; +import "../../../components/ha-filter-states"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-md-divider"; +import "../../../components/ha-md-menu-item"; +import "../../../components/ha-sub-menu"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; +import "../../../layouts/hass-loading-screen"; +import "../../../layouts/hass-tabs-subpage-data-table"; +import "../integrations/ha-integration-overflow-menu"; + import { consume } from "@lit-labs/context"; import { mdiAlertCircle, @@ -14,82 +61,42 @@ import { mdiToggleSwitch, mdiToggleSwitchOffOutline, } from "@mdi/js"; -import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; import memoize from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { formatShortDateTimeWithConditionalYear } from "../../../common/datetime/format_date_time"; import { storage } from "../../../common/decorators/storage"; -import type { HASSDomEvent } from "../../../common/dom/fire_event"; import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateName } from "../../../common/entity/compute_state_name"; import { isDeletableEntity, deleteEntity, } from "../../../common/entity/delete_entity"; -import type { Helper } from "../helpers/const"; -import { isHelperDomain } from "../helpers/const"; -import { HELPERS_CRUD } from "../../../data/helpers_crud"; -import { computeStateName } from "../../../common/entity/compute_state_name"; import { PROTOCOL_INTEGRATIONS, protocolIntegrationPicked, } from "../../../common/integrations/protocolIntegrationPicked"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, rejectedItems, } from "../../../common/util/promise-all-settled-results"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SelectionChangedEvent, - SortingChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/data-table/ha-data-table-labels"; -import "../../../components/ha-alert"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-check-list-item"; -import "../../../components/ha-md-divider"; -import "../../../components/ha-filter-devices"; -import "../../../components/ha-filter-domains"; -import "../../../components/ha-filter-floor-areas"; -import "../../../components/ha-filter-integrations"; -import "../../../components/ha-filter-labels"; -import "../../../components/ha-filter-states"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-md-menu-item"; -import "../../../components/ha-sub-menu"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-tooltip"; -import type { ConfigEntry, SubEntry } from "../../../data/config_entries"; import { getConfigEntries, getSubEntries } from "../../../data/config_entries"; import { fullEntitiesContext } from "../../../data/context"; -import type { - DataTableFiltersItems, - DataTableFiltersValues, -} from "../../../data/data_table_filters"; import { UNAVAILABLE } from "../../../data/entity"; -import type { - EntityRegistryEntry, - UpdateEntityRegistryEntryResult, -} from "../../../data/entity_registry"; import { computeEntityRegistryName, updateEntityRegistryEntry, } from "../../../data/entity_registry"; -import type { IntegrationManifest } from "../../../data/integration"; +import { fetchEntitySourcesWithCache } from "../../../data/entity_sources"; +import { HELPERS_CRUD } from "../../../data/helpers_crud"; import { fetchIntegrationManifests, domainToName, } from "../../../data/integration"; -import type { EntitySources } from "../../../data/entity_sources"; -import { fetchEntitySourcesWithCache } from "../../../data/entity_sources"; -import type { LabelRegistryEntry } from "../../../data/label_registry"; import { createLabelRegistryEntry, subscribeLabelRegistry, @@ -99,14 +106,10 @@ import { showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import "../../../layouts/hass-loading-screen"; -import "../../../layouts/hass-tabs-subpage-data-table"; -import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { configSections } from "../ha-panel-config"; -import "../integrations/ha-integration-overflow-menu"; +import { isHelperDomain } from "../helpers/const"; import { showAddIntegrationDialog } from "../integrations/show-add-integration-dialog"; import { showLabelDetailDialog } from "../labels/show-dialog-label-detail"; diff --git a/src/panels/config/ha-panel-config.ts b/src/panels/config/ha-panel-config.ts index b40b01d63c..28bc6a8c2a 100644 --- a/src/panels/config/ha-panel-config.ts +++ b/src/panels/config/ha-panel-config.ts @@ -1,3 +1,10 @@ +import type { CloudStatus } from "../../data/cloud"; +import type { RouterOptions } from "../../layouts/hass-router-page"; +import type { PageNavigation } from "../../layouts/hass-tabs-subpage"; +import type { HomeAssistant, Route } from "../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import { ContextProvider } from "@lit-labs/context"; import { mdiAccount, @@ -29,12 +36,10 @@ import { mdiUpdate, mdiViewDashboard, } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { listenMediaQuery } from "../../common/dom/media_query"; -import type { CloudStatus } from "../../data/cloud"; import { fetchCloudStatus } from "../../data/cloud"; import { fullEntitiesContext, labelsContext } from "../../data/context"; import { @@ -43,11 +48,8 @@ import { subscribeEntityRegistry, } from "../../data/entity_registry"; import { subscribeLabelRegistry } from "../../data/label_registry"; -import type { RouterOptions } from "../../layouts/hass-router-page"; import { HassRouterPage } from "../../layouts/hass-router-page"; -import type { PageNavigation } from "../../layouts/hass-tabs-subpage"; import { SubscribeMixin } from "../../mixins/subscribe-mixin"; -import type { HomeAssistant, Route } from "../../types"; declare global { // for fire event diff --git a/src/panels/config/hardware/dialog-hardware-available.ts b/src/panels/config/hardware/dialog-hardware-available.ts index 328374f579..65cef60afa 100644 --- a/src/panels/config/hardware/dialog-hardware-available.ts +++ b/src/panels/config/hardware/dialog-hardware-available.ts @@ -1,22 +1,25 @@ -import { mdiClose } from "@mdi/js"; -import { dump } from "js-yaml"; +import type { HassioHardwareInfo } from "../../../data/hassio/hardware"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { stringCompare } from "../../../common/string/compare"; + import "../../../components/ha-dialog"; import "../../../components/ha-expansion-panel"; import "../../../components/ha-icon-next"; import "../../../components/search-input"; + +import { mdiClose } from "@mdi/js"; +import { dump } from "js-yaml"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { stringCompare } from "../../../common/string/compare"; import { extractApiErrorMessage } from "../../../data/hassio/common"; -import type { HassioHardwareInfo } from "../../../data/hassio/hardware"; import { fetchHassioHardwareInfo } from "../../../data/hassio/hardware"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; const _filterDevices = memoizeOne( ( diff --git a/src/panels/config/hardware/ha-config-hardware.ts b/src/panels/config/hardware/ha-config-hardware.ts index 12c14def9a..a5746a57c5 100644 --- a/src/panels/config/hardware/ha-config-hardware.ts +++ b/src/panels/config/hardware/ha-config-hardware.ts @@ -1,15 +1,15 @@ -import "@material/mwc-list/mwc-list"; -import "@material/mwc-list/mwc-list-item"; -import { mdiPower } from "@mdi/js"; +import type { ConfigEntry } from "../../../data/config_entries"; +import type { + HardwareInfo, + SystemStatusStreamMessage, +} from "../../../data/hardware"; +import type { HassioHassOSInfo } from "../../../data/hassio/host"; +import type { ECOption } from "../../../resources/echarts"; +import type { HomeAssistant } from "../../../types"; +import type { SeriesOption } from "echarts/types/dist/shared"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import type { SeriesOption } from "echarts/types/dist/shared"; -import memoizeOne from "memoize-one"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { round } from "../../../common/number/round"; -import { blankBeforePercent } from "../../../common/translations/blank_before_percent"; + import "../../../components/buttons/ha-progress-button"; import "../../../components/chart/ha-chart-base"; import "../../../components/ha-alert"; @@ -18,27 +18,30 @@ import "../../../components/ha-clickable-list-item"; import "../../../components/ha-icon-button"; import "../../../components/ha-icon-next"; import "../../../components/ha-settings-row"; -import type { ConfigEntry } from "../../../data/config_entries"; +import "../../../layouts/hass-subpage"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiPower } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { round } from "../../../common/number/round"; +import { blankBeforePercent } from "../../../common/translations/blank_before_percent"; import { subscribeConfigEntries } from "../../../data/config_entries"; -import type { - HardwareInfo, - SystemStatusStreamMessage, -} from "../../../data/hardware"; import { BOARD_NAMES } from "../../../data/hardware"; -import type { HassioHassOSInfo } from "../../../data/hassio/host"; +import { extractApiErrorMessage } from "../../../data/hassio/common"; import { fetchHassioHassOsInfo } from "../../../data/hassio/host"; import { scanUSBDevices } from "../../../data/usb"; import { showOptionsFlowDialog } from "../../../dialogs/config-flow/show-dialog-options-flow"; import { showRestartDialog } from "../../../dialogs/restart/show-dialog-restart"; -import "../../../layouts/hass-subpage"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import { DEFAULT_PRIMARY_COLOR } from "../../../resources/styles-data"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; +import { DEFAULT_PRIMARY_COLOR } from "../../../resources/styles-data"; import { hardwareBrandsUrl } from "../../../util/brands-url"; import { showhardwareAvailableDialog } from "./show-dialog-hardware-available"; -import { extractApiErrorMessage } from "../../../data/hassio/common"; -import type { ECOption } from "../../../resources/echarts"; const DATASAMPLES = 60; diff --git a/src/panels/config/helpers/const.ts b/src/panels/config/helpers/const.ts index 43d6c7be78..f66d372089 100644 --- a/src/panels/config/helpers/const.ts +++ b/src/panels/config/helpers/const.ts @@ -1,4 +1,3 @@ -import { arrayLiteralIncludes } from "../../../common/array/literal-includes"; import type { Counter } from "../../../data/counter"; import type { InputBoolean } from "../../../data/input_boolean"; import type { InputButton } from "../../../data/input_button"; @@ -9,6 +8,8 @@ import type { InputText } from "../../../data/input_text"; import type { Schedule } from "../../../data/schedule"; import type { Timer } from "../../../data/timer"; +import { arrayLiteralIncludes } from "../../../common/array/literal-includes"; + export const HELPER_DOMAINS = [ "input_boolean", "input_button", diff --git a/src/panels/config/helpers/dialog-helper-detail.ts b/src/panels/config/helpers/dialog-helper-detail.ts index 55ca187975..f34b252ffb 100644 --- a/src/panels/config/helpers/dialog-helper-detail.ts +++ b/src/panels/config/helpers/dialog-helper-detail.ts @@ -1,17 +1,26 @@ -import { mdiAlertOutline } from "@mdi/js"; -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { Helper, HelperDomain } from "./const"; +import type { ShowDialogHelperDetailParams } from "./show-dialog-helper-detail"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-list-item"; +import "../../../components/ha-spinner"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; +import "@material/mwc-button/mwc-button"; + +import { mdiAlertOutline } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { dynamicElement } from "../../../common/dom/dynamic-element-directive"; -import "../../../components/ha-spinner"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { stringCompare } from "../../../common/string/compare"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-list-item"; -import "../../../components/ha-tooltip"; -import "../../../components/ha-svg-icon"; import { getConfigFlowHandlers } from "../../../data/config_flow"; import { createCounter } from "../../../data/counter"; import { createInputBoolean } from "../../../data/input_boolean"; @@ -28,14 +37,8 @@ import { createSchedule } from "../../../data/schedule"; import { createTimer } from "../../../data/timer"; import { showConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-config-flow"; import { haStyleDialog, haStyleScrollbar } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; -import type { Helper, HelperDomain } from "./const"; import { isHelperDomain } from "./const"; -import type { ShowDialogHelperDetailParams } from "./show-dialog-helper-detail"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { stringCompare } from "../../../common/string/compare"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; type HelperCreators = Record< HelperDomain, diff --git a/src/panels/config/helpers/forms/dialog-schedule-block-info.ts b/src/panels/config/helpers/forms/dialog-schedule-block-info.ts index b4815eec10..541e96c08e 100644 --- a/src/panels/config/helpers/forms/dialog-schedule-block-info.ts +++ b/src/panels/config/helpers/forms/dialog-schedule-block-info.ts @@ -1,18 +1,21 @@ -import type { CSSResultGroup } from "lit"; -import { html, LitElement, nothing } from "lit"; -import memoizeOne from "memoize-one"; -import { property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-form/ha-form"; -import "../../../../components/ha-button"; -import { haStyleDialog } from "../../../../resources/styles"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { ScheduleBlockInfo, ScheduleBlockInfoDialogParams, } from "./show-dialog-schedule-block-info"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../components/ha-dialog"; +import { haStyleDialog } from "../../../../resources/styles"; class DialogScheduleBlockInfo extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/helpers/forms/ha-counter-form.ts b/src/panels/config/helpers/forms/ha-counter-form.ts index e0f2e76e4b..a5eeb55afb 100644 --- a/src/panels/config/helpers/forms/ha-counter-form.ts +++ b/src/panels/config/helpers/forms/ha-counter-form.ts @@ -1,14 +1,17 @@ +import type { HaSwitch } from "../../../../components/ha-switch"; +import type { Counter } from "../../../../data/counter"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-icon-picker"; import "../../../../components/ha-switch"; -import type { HaSwitch } from "../../../../components/ha-switch"; import "../../../../components/ha-textfield"; -import type { Counter } from "../../../../data/counter"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-counter-form") class HaCounterForm extends LitElement { diff --git a/src/panels/config/helpers/forms/ha-input_boolean-form.ts b/src/panels/config/helpers/forms/ha-input_boolean-form.ts index 51291300ae..02fb24d6e7 100644 --- a/src/panels/config/helpers/forms/ha-input_boolean-form.ts +++ b/src/panels/config/helpers/forms/ha-input_boolean-form.ts @@ -1,12 +1,15 @@ +import type { InputBoolean } from "../../../../data/input_boolean"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-icon-picker"; import "../../../../components/ha-textfield"; -import type { InputBoolean } from "../../../../data/input_boolean"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-input_boolean-form") class HaInputBooleanForm extends LitElement { diff --git a/src/panels/config/helpers/forms/ha-input_button-form.ts b/src/panels/config/helpers/forms/ha-input_button-form.ts index 3ab2addb86..452bb1dc0e 100644 --- a/src/panels/config/helpers/forms/ha-input_button-form.ts +++ b/src/panels/config/helpers/forms/ha-input_button-form.ts @@ -1,12 +1,15 @@ +import type { InputButton } from "../../../../data/input_button"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-icon-picker"; import "../../../../components/ha-textfield"; -import type { InputButton } from "../../../../data/input_button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-input_button-form") class HaInputButtonForm extends LitElement { diff --git a/src/panels/config/helpers/forms/ha-input_datetime-form.ts b/src/panels/config/helpers/forms/ha-input_datetime-form.ts index 23056b4ade..5f7896d0dc 100644 --- a/src/panels/config/helpers/forms/ha-input_datetime-form.ts +++ b/src/panels/config/helpers/forms/ha-input_datetime-form.ts @@ -1,15 +1,18 @@ +import type { HaRadio } from "../../../../components/ha-radio"; +import type { InputDateTime } from "../../../../data/input_datetime"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-formfield"; import "../../../../components/ha-icon-picker"; import "../../../../components/ha-radio"; -import type { HaRadio } from "../../../../components/ha-radio"; import "../../../../components/ha-textfield"; -import type { InputDateTime } from "../../../../data/input_datetime"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-input_datetime-form") class HaInputDateTimeForm extends LitElement { diff --git a/src/panels/config/helpers/forms/ha-input_number-form.ts b/src/panels/config/helpers/forms/ha-input_number-form.ts index 9987525b59..093b2df8e2 100644 --- a/src/panels/config/helpers/forms/ha-input_number-form.ts +++ b/src/panels/config/helpers/forms/ha-input_number-form.ts @@ -1,15 +1,18 @@ +import type { HaRadio } from "../../../../components/ha-radio"; +import type { InputNumber } from "../../../../data/input_number"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-formfield"; import "../../../../components/ha-icon-picker"; import "../../../../components/ha-radio"; -import type { HaRadio } from "../../../../components/ha-radio"; import "../../../../components/ha-textfield"; -import type { InputNumber } from "../../../../data/input_number"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-input_number-form") class HaInputNumberForm extends LitElement { diff --git a/src/panels/config/helpers/forms/ha-input_select-form.ts b/src/panels/config/helpers/forms/ha-input_select-form.ts index 213e80a18b..70952d4a74 100644 --- a/src/panels/config/helpers/forms/ha-input_select-form.ts +++ b/src/panels/config/helpers/forms/ha-input_select-form.ts @@ -1,21 +1,24 @@ -import "@material/mwc-list/mwc-list"; -import { mdiDelete, mdiDrag } from "@mdi/js"; +import type { HaTextField } from "../../../../components/ha-textfield"; +import type { InputSelect } from "../../../../data/input_select"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-button"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-icon-picker"; import "../../../../components/ha-list-item"; import "../../../../components/ha-sortable"; import "../../../../components/ha-textfield"; -import type { HaTextField } from "../../../../components/ha-textfield"; -import type { InputSelect } from "../../../../data/input_select"; +import "@material/mwc-list/mwc-list"; + +import { mdiDelete, mdiDrag } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { showConfirmationDialog } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-input_select-form") class HaInputSelectForm extends LitElement { diff --git a/src/panels/config/helpers/forms/ha-input_text-form.ts b/src/panels/config/helpers/forms/ha-input_text-form.ts index be979fab0c..7fa049fd6b 100644 --- a/src/panels/config/helpers/forms/ha-input_text-form.ts +++ b/src/panels/config/helpers/forms/ha-input_text-form.ts @@ -1,16 +1,19 @@ +import type { HaRadio } from "../../../../components/ha-radio"; +import type { InputText } from "../../../../data/input_text"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-form/ha-form"; import "../../../../components/ha-formfield"; import "../../../../components/ha-icon-picker"; import "../../../../components/ha-radio"; -import type { HaRadio } from "../../../../components/ha-radio"; import "../../../../components/ha-textfield"; -import type { InputText } from "../../../../data/input_text"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-input_text-form") class HaInputTextForm extends LitElement { diff --git a/src/panels/config/helpers/forms/ha-schedule-form.ts b/src/panels/config/helpers/forms/ha-schedule-form.ts index 9fe2ef5c7b..80eeee7052 100644 --- a/src/panels/config/helpers/forms/ha-schedule-form.ts +++ b/src/panels/config/helpers/forms/ha-schedule-form.ts @@ -1,25 +1,28 @@ +import type { Schedule, ScheduleDay } from "../../../../data/schedule"; +import type { HomeAssistant } from "../../../../types"; import type { CalendarOptions } from "@fullcalendar/core"; +import type { Day } from "date-fns"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-icon-picker"; +import "../../../../components/ha-textfield"; + import { Calendar } from "@fullcalendar/core"; import allLocales from "@fullcalendar/core/locales-all"; import interactionPlugin from "@fullcalendar/interaction"; import timeGridPlugin from "@fullcalendar/timegrid"; -import type { Day } from "date-fns"; import { addDays, isSameDay, isSameWeek, nextDay } from "date-fns"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { firstWeekdayIndex } from "../../../../common/datetime/first_weekday"; import { formatTime24h } from "../../../../common/datetime/format_time"; import { useAmPm } from "../../../../common/datetime/use_am_pm"; import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-icon-picker"; -import "../../../../components/ha-textfield"; -import type { Schedule, ScheduleDay } from "../../../../data/schedule"; import { weekdays } from "../../../../data/schedule"; import { TimeZone } from "../../../../data/translation"; -import { showScheduleBlockInfoDialog } from "./show-dialog-schedule-block-info"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; +import { showScheduleBlockInfoDialog } from "./show-dialog-schedule-block-info"; const defaultFullCalendarConfig: CalendarOptions = { plugins: [timeGridPlugin, interactionPlugin], diff --git a/src/panels/config/helpers/forms/ha-timer-form.ts b/src/panels/config/helpers/forms/ha-timer-form.ts index d5d8a43762..9c207297b8 100644 --- a/src/panels/config/helpers/forms/ha-timer-form.ts +++ b/src/panels/config/helpers/forms/ha-timer-form.ts @@ -1,14 +1,17 @@ +import type { DurationDict, Timer } from "../../../../data/timer"; +import type { HomeAssistant } from "../../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; + import "../../../../components/ha-checkbox"; import "../../../../components/ha-formfield"; import "../../../../components/ha-icon-picker"; import "../../../../components/ha-textfield"; -import type { DurationDict, Timer } from "../../../../data/timer"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; @customElement("ha-timer-form") class HaTimerForm extends LitElement { diff --git a/src/panels/config/helpers/ha-config-helpers.ts b/src/panels/config/helpers/ha-config-helpers.ts index 02e9813eb8..656de3efc8 100644 --- a/src/panels/config/helpers/ha-config-helpers.ts +++ b/src/panels/config/helpers/ha-config-helpers.ts @@ -1,3 +1,47 @@ +import type { HASSDomEvent } from "../../../common/dom/fire_event"; +import type { + LocalizeFunc, + LocalizeKeys, +} from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SelectionChangedEvent, + SortingChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { CategoryRegistryEntry } from "../../../data/category_registry"; +import type { ConfigEntry } from "../../../data/config_entries"; +import type { + DataTableFiltersItems, + DataTableFiltersValues, +} from "../../../data/data_table_filters"; +import type { + EntityRegistryEntry, + UpdateEntityRegistryEntryResult, +} from "../../../data/entity_registry"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { LabelRegistryEntry } from "../../../data/label_registry"; +import type { HomeAssistant, Route } from "../../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/data-table/ha-data-table-labels"; +import "../../../components/ha-fab"; +import "../../../components/ha-filter-categories"; +import "../../../components/ha-filter-devices"; +import "../../../components/ha-filter-entities"; +import "../../../components/ha-filter-floor-areas"; +import "../../../components/ha-filter-labels"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-md-divider"; +import "../../../components/ha-state-icon"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; +import "../../../layouts/hass-loading-screen"; +import "../../../layouts/hass-tabs-subpage-data-table"; +import "../integrations/ha-integration-overflow-menu"; + import { consume } from "@lit-labs/context"; import { ResizeController } from "@lit-labs/observers/resize-controller"; import { @@ -13,51 +57,24 @@ import { mdiTag, mdiTrashCan, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; -import { debounce } from "../../../common/util/debounce"; + import { computeCssColor } from "../../../common/color/compute-color"; import { storage } from "../../../common/decorators/storage"; -import type { HASSDomEvent } from "../../../common/dom/fire_event"; import { computeStateDomain } from "../../../common/entity/compute_state_domain"; import { navigate } from "../../../common/navigate"; -import type { - LocalizeFunc, - LocalizeKeys, -} from "../../../common/translations/localize"; import { extractSearchParam } from "../../../common/url/search-params"; +import { debounce } from "../../../common/util/debounce"; import { hasRejectedItems, rejectedItems, } from "../../../common/util/promise-all-settled-results"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SelectionChangedEvent, - SortingChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/data-table/ha-data-table-labels"; -import "../../../components/ha-fab"; -import "../../../components/ha-filter-categories"; -import "../../../components/ha-filter-devices"; -import "../../../components/ha-filter-entities"; -import "../../../components/ha-filter-floor-areas"; -import "../../../components/ha-filter-labels"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-md-divider"; -import "../../../components/ha-state-icon"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-tooltip"; -import type { CategoryRegistryEntry } from "../../../data/category_registry"; import { createCategoryRegistryEntry, subscribeCategoryRegistry, } from "../../../data/category_registry"; -import type { ConfigEntry } from "../../../data/config_entries"; import { ERROR_STATES, deleteConfigEntry, @@ -65,26 +82,16 @@ import { } from "../../../data/config_entries"; import { getConfigFlowHandlers } from "../../../data/config_flow"; import { fullEntitiesContext } from "../../../data/context"; -import type { - DataTableFiltersItems, - DataTableFiltersValues, -} from "../../../data/data_table_filters"; -import type { - EntityRegistryEntry, - UpdateEntityRegistryEntryResult, -} from "../../../data/entity_registry"; import { subscribeEntityRegistry, updateEntityRegistryEntry, } from "../../../data/entity_registry"; import { fetchEntitySourcesWithCache } from "../../../data/entity_sources"; -import type { IntegrationManifest } from "../../../data/integration"; import { domainToName, fetchIntegrationManifest, fetchIntegrationManifests, } from "../../../data/integration"; -import type { LabelRegistryEntry } from "../../../data/label_registry"; import { createLabelRegistryEntry, subscribeLabelRegistry, @@ -96,15 +103,11 @@ import { showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import "../../../layouts/hass-loading-screen"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { showAssignCategoryDialog } from "../category/show-dialog-assign-category"; import { showCategoryRegistryDetailDialog } from "../category/show-dialog-category-registry-detail"; import { configSections } from "../ha-panel-config"; -import "../integrations/ha-integration-overflow-menu"; import { renderConfigEntryError } from "../integrations/ha-config-integration-page"; import { showLabelDetailDialog } from "../labels/show-dialog-label-detail"; import { isHelperDomain } from "./const"; diff --git a/src/panels/config/info/ha-config-info.ts b/src/panels/config/info/ha-config-info.ts index cebbacb4ff..8fefbe2218 100644 --- a/src/panels/config/info/ha-config-info.ts +++ b/src/panels/config/info/ha-config-info.ts @@ -1,4 +1,15 @@ +import type { HassioHassOSInfo } from "../../../data/hassio/host"; +import type { HassioInfo } from "../../../data/hassio/supervisor"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-clickable-list-item"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-logo-svg"; +import "../../../layouts/hass-subpage"; import "@material/mwc-list/mwc-list"; + import { mdiBug, mdiFileDocument, @@ -9,24 +20,16 @@ import { mdiOpenInNew, mdiTshirtCrew, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import "../../../components/ha-card"; -import "../../../components/ha-clickable-list-item"; -import "../../../components/ha-logo-svg"; -import type { HassioHassOSInfo } from "../../../data/hassio/host"; import { fetchHassioHassOsInfo } from "../../../data/hassio/host"; -import type { HassioInfo } from "../../../data/hassio/supervisor"; import { fetchHassioInfo } from "../../../data/hassio/supervisor"; -import "../../../layouts/hass-subpage"; +import { showShortcutsDialog } from "../../../dialogs/shortcuts/show-shortcuts-dialog"; import { mdiHomeAssistant } from "../../../resources/home-assistant-logo-svg"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import "../../../components/ha-icon-next"; -import { showShortcutsDialog } from "../../../dialogs/shortcuts/show-shortcuts-dialog"; const JS_TYPE = __BUILD__; const JS_VERSION = __VERSION__; diff --git a/src/panels/config/integrations/dialog-add-integration.ts b/src/panels/config/integrations/dialog-add-integration.ts index 66de3b5308..89f1b29ac1 100644 --- a/src/panels/config/integrations/dialog-add-integration.ts +++ b/src/panels/config/integrations/dialog-add-integration.ts @@ -1,14 +1,32 @@ -import "@material/mwc-button"; -import "@material/mwc-list/mwc-list"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { DataEntryFlowProgress } from "../../../data/data_entry_flow"; +import type { + Brand, + Brands, + Integration, + Integrations, +} from "../../../data/integrations"; +import type { HomeAssistant } from "../../../types"; +import type { AddIntegrationDialogParams } from "./show-add-integration-dialog"; import type { IFuseOptions } from "fuse.js"; -import Fuse from "fuse.js"; import type { HassConfig } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-icon-button-prev"; +import "../../../components/ha-spinner"; +import "../../../components/search-input"; +import "./ha-domain-integrations"; +import "./ha-integration-list-item"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list"; + +import Fuse from "fuse.js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { fireEvent } from "../../../common/dom/fire_event"; import { @@ -17,23 +35,13 @@ import { } from "../../../common/integrations/protocolIntegrationPicked"; import { navigate } from "../../../common/navigate"; import { caseInsensitiveStringCompare } from "../../../common/string/compare"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-icon-button-prev"; -import "../../../components/search-input"; import { getConfigEntries } from "../../../data/config_entries"; import { fetchConfigFlowInProgress } from "../../../data/config_flow"; -import type { DataEntryFlowProgress } from "../../../data/data_entry_flow"; import { domainToName, fetchIntegrationManifest, } from "../../../data/integration"; -import type { - Brand, - Brands, - Integration, - Integrations, -} from "../../../data/integrations"; import { findIntegration, getIntegrationDescriptions, @@ -45,11 +53,6 @@ import { } from "../../../dialogs/generic/show-dialog-box"; import { haStyleDialog, haStyleScrollbar } from "../../../resources/styles"; import { loadVirtualizer } from "../../../resources/virtualizer"; -import type { HomeAssistant } from "../../../types"; -import "./ha-domain-integrations"; -import "./ha-integration-list-item"; -import "../../../components/ha-spinner"; -import type { AddIntegrationDialogParams } from "./show-add-integration-dialog"; import { showYamlIntegrationDialog } from "./show-add-integration-dialog"; export interface IntegrationListItem { diff --git a/src/panels/config/integrations/dialog-yaml-integration.ts b/src/panels/config/integrations/dialog-yaml-integration.ts index 953071c949..976ddb2198 100644 --- a/src/panels/config/integrations/dialog-yaml-integration.ts +++ b/src/panels/config/integrations/dialog-yaml-integration.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../../types"; +import type { YamlIntegrationDialogParams } from "./show-add-integration-dialog"; + +import "../../../components/ha-dialog"; import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import type { YamlIntegrationDialogParams } from "./show-add-integration-dialog"; -import "../../../components/ha-dialog"; @customElement("dialog-yaml-integration") export class DialogYamlIntegration extends LitElement { diff --git a/src/panels/config/integrations/ha-config-flow-card.ts b/src/panels/config/integrations/ha-config-flow-card.ts index 499e6770a1..60d1ab180d 100644 --- a/src/panels/config/integrations/ha-config-flow-card.ts +++ b/src/panels/config/integrations/ha-config-flow-card.ts @@ -1,8 +1,18 @@ -import { mdiBookshelf, mdiCog, mdiDotsVertical, mdiOpenInNew } from "@mdi/js"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { HomeAssistant } from "../../../types"; +import type { DataEntryFlowProgressExtended } from "./ha-config-integrations"; import type { TemplateResult } from "lit"; + +import "../../../components/ha-button"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-list-item"; +import "./ha-integration-action-card"; + +import { mdiBookshelf, mdiCog, mdiDotsVertical, mdiOpenInNew } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../../../common/dom/fire_event"; import { ATTENTION_SOURCES, @@ -10,16 +20,9 @@ import { ignoreConfigFlow, localizeConfigFlowTitle, } from "../../../data/config_flow"; -import type { IntegrationManifest } from "../../../data/integration"; import { showConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-config-flow"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import type { DataEntryFlowProgressExtended } from "./ha-config-integrations"; -import "./ha-integration-action-card"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-button"; -import "../../../components/ha-list-item"; @customElement("ha-config-flow-card") export class HaConfigFlowCard extends LitElement { diff --git a/src/panels/config/integrations/ha-config-integration-page.ts b/src/panels/config/integrations/ha-config-integration-page.ts index 0062a9ccac..dc4adc61a9 100644 --- a/src/panels/config/integrations/ha-config-integration-page.ts +++ b/src/panels/config/integrations/ha-config-integration-page.ts @@ -1,4 +1,32 @@ +import type { + ConfigEntry, + DisableConfigEntryResult, + SubEntry, +} from "../../../data/config_entries"; +import type { DeviceRegistryEntry } from "../../../data/device_registry"; +import type { DiagnosticInfo } from "../../../data/diagnostics"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { + IntegrationLogInfo, + IntegrationManifest, +} from "../../../data/integration"; +import type { HomeAssistant } from "../../../types"; +import type { DataEntryFlowProgressExtended } from "./ha-config-integrations"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-button"; +import "../../../components/ha-card"; +import "../../../components/ha-list-item"; +import "../../../components/ha-md-button-menu"; +import "../../../components/ha-md-divider"; +import "../../../components/ha-md-list"; +import "../../../components/ha-md-list-item"; +import "../../../components/ha-md-menu-item"; +import "../../../layouts/hass-error-screen"; +import "../../../layouts/hass-subpage"; import "@material/mwc-list/mwc-list"; + import { mdiAlertCircle, mdiBookshelf, @@ -25,35 +53,21 @@ import { mdiWeb, mdiWrench, } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { until } from "lit/directives/until"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { isDevVersion } from "../../../common/config/version"; import { caseInsensitiveStringCompare } from "../../../common/string/compare"; import { nextRender } from "../../../common/util/render-status"; -import "../../../components/ha-button"; -import "../../../components/ha-card"; -import "../../../components/ha-md-divider"; -import "../../../components/ha-list-item"; -import "../../../components/ha-md-button-menu"; -import "../../../components/ha-md-list"; -import "../../../components/ha-md-list-item"; -import "../../../components/ha-md-menu-item"; import { deleteApplicationCredential, fetchApplicationCredentialsConfigEntry, } from "../../../data/application_credential"; import { getSignedPath } from "../../../data/auth"; -import type { - ConfigEntry, - DisableConfigEntryResult, - SubEntry, -} from "../../../data/config_entries"; import { ERROR_STATES, RECOVERABLE_STATES, @@ -67,20 +81,13 @@ import { updateConfigEntry, } from "../../../data/config_entries"; import { ATTENTION_SOURCES } from "../../../data/config_flow"; -import type { DeviceRegistryEntry } from "../../../data/device_registry"; -import type { DiagnosticInfo } from "../../../data/diagnostics"; import { fetchDiagnosticHandler, getConfigEntryDiagnosticsDownloadUrl, } from "../../../data/diagnostics"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { subscribeEntityRegistry } from "../../../data/entity_registry"; import { fetchEntitySourcesWithCache } from "../../../data/entity_sources"; import { getErrorLogDownloadUrl } from "../../../data/error_log"; -import type { - IntegrationLogInfo, - IntegrationManifest, -} from "../../../data/integration"; import { LogSeverity, domainToName, @@ -90,26 +97,22 @@ import { setIntegrationLogLevel, subscribeLogInfo, } from "../../../data/integration"; +import { QUALITY_SCALE_MAP } from "../../../data/integration_quality_scale"; import { showConfigEntrySystemOptionsDialog } from "../../../dialogs/config-entry-system-options/show-dialog-config-entry-system-options"; import { showConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-config-flow"; import { showOptionsFlowDialog } from "../../../dialogs/config-flow/show-dialog-options-flow"; +import { showSubConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-sub-config-flow"; import { showAlertDialog, showConfirmationDialog, showPromptDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-error-screen"; -import "../../../layouts/hass-subpage"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { documentationUrl } from "../../../util/documentation-url"; import { fileDownload } from "../../../util/file_download"; -import type { DataEntryFlowProgressExtended } from "./ha-config-integrations"; import { showAddIntegrationDialog } from "./show-add-integration-dialog"; -import { QUALITY_SCALE_MAP } from "../../../data/integration_quality_scale"; -import { showSubConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-sub-config-flow"; export const renderConfigEntryError = ( hass: HomeAssistant, diff --git a/src/panels/config/integrations/ha-config-integrations-dashboard.ts b/src/panels/config/integrations/ha-config-integrations-dashboard.ts index db98344886..603cfd5d38 100644 --- a/src/panels/config/integrations/ha-config-integrations-dashboard.ts +++ b/src/panels/config/integrations/ha-config-integrations-dashboard.ts @@ -1,13 +1,41 @@ +import type { ConfigEntry } from "../../../data/config_entries"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { + IntegrationLogInfo, + IntegrationManifest, +} from "../../../data/integration"; +import type { ImprovDiscoveredDevice } from "../../../external_app/external_messaging"; +import type { HomeAssistant, Route } from "../../../types"; +import type { DataEntryFlowProgressExtended } from "./ha-config-integrations"; +import type { HaIntegrationCard } from "./ha-integration-card"; import type { ActionDetail } from "@material/mwc-list"; -import { mdiFilterVariant, mdiPlus } from "@mdi/js"; import type { IFuseOptions } from "fuse.js"; -import Fuse from "fuse.js"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-check-list-item"; +import "../../../components/ha-checkbox"; +import "../../../components/ha-fab"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-svg-icon"; +import "../../../components/search-input"; +import "../../../components/search-input-outlined"; +import "../../../layouts/hass-loading-screen"; +import "../../../layouts/hass-tabs-subpage"; +import "./ha-config-flow-card"; +import "./ha-disabled-config-entry-card"; +import "./ha-ignored-config-entry-card"; +import "./ha-integration-card"; +import "./ha-integration-overflow-menu"; + +import { mdiFilterVariant, mdiPlus } from "@mdi/js"; +import Fuse from "fuse.js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { PROTOCOL_INTEGRATIONS, @@ -17,25 +45,11 @@ import { navigate } from "../../../common/navigate"; import { caseInsensitiveStringCompare } from "../../../common/string/compare"; import { extractSearchParam } from "../../../common/url/search-params"; import { nextRender } from "../../../common/util/render-status"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-check-list-item"; -import "../../../components/ha-checkbox"; -import "../../../components/ha-fab"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-svg-icon"; -import "../../../components/search-input"; -import "../../../components/search-input-outlined"; -import type { ConfigEntry } from "../../../data/config_entries"; import { getConfigEntries } from "../../../data/config_entries"; import { getConfigFlowInProgressCollection } from "../../../data/config_flow"; import { fetchDiagnosticHandlers } from "../../../data/diagnostics"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { subscribeEntityRegistry } from "../../../data/entity_registry"; import { fetchEntitySourcesWithCache } from "../../../data/entity_sources"; -import type { - IntegrationLogInfo, - IntegrationManifest, -} from "../../../data/integration"; import { domainToName, fetchIntegrationManifest, @@ -52,22 +66,11 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import type { ImprovDiscoveredDevice } from "../../../external_app/external_messaging"; -import "../../../layouts/hass-loading-screen"; -import "../../../layouts/hass-tabs-subpage"; import { KeyboardShortcutMixin } from "../../../mixins/keyboard-shortcut-mixin"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { configSections } from "../ha-panel-config"; import { isHelperDomain } from "../helpers/const"; -import "./ha-config-flow-card"; -import type { DataEntryFlowProgressExtended } from "./ha-config-integrations"; -import "./ha-disabled-config-entry-card"; -import "./ha-ignored-config-entry-card"; -import "./ha-integration-card"; -import type { HaIntegrationCard } from "./ha-integration-card"; -import "./ha-integration-overflow-menu"; import { showAddIntegrationDialog } from "./show-add-integration-dialog"; export interface ConfigEntryExtended extends Omit { diff --git a/src/panels/config/integrations/ha-config-integrations.ts b/src/panels/config/integrations/ha-config-integrations.ts index e00106271d..ba6ee54184 100644 --- a/src/panels/config/integrations/ha-config-integrations.ts +++ b/src/panels/config/integrations/ha-config-integrations.ts @@ -1,23 +1,25 @@ -import type { PropertyValues } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { navigate } from "../../../common/navigate"; import type { LocalizeFunc } from "../../../common/translations/localize"; import type { ConfigEntry } from "../../../data/config_entries"; +import type { DataEntryFlowProgress } from "../../../data/data_entry_flow"; +import type { RouterOptions } from "../../../layouts/hass-router-page"; +import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../layouts/hass-loading-screen"; +import "./ha-config-integration-page"; +import "./ha-config-integrations-dashboard"; + +import { customElement, property, state } from "lit/decorators"; + +import { navigate } from "../../../common/navigate"; import { subscribeConfigEntries } from "../../../data/config_entries"; import { localizeConfigFlowTitle, subscribeConfigFlowInProgress, } from "../../../data/config_flow"; -import type { DataEntryFlowProgress } from "../../../data/data_entry_flow"; import { domainToName } from "../../../data/integration"; -import "../../../layouts/hass-loading-screen"; -import type { RouterOptions } from "../../../layouts/hass-router-page"; import { HassRouterPage } from "../../../layouts/hass-router-page"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../types"; - -import "./ha-config-integration-page"; -import "./ha-config-integrations-dashboard"; export interface ConfigEntryUpdatedEvent { entry: ConfigEntry; diff --git a/src/panels/config/integrations/ha-disabled-config-entry-card.ts b/src/panels/config/integrations/ha-disabled-config-entry-card.ts index 6e292e913f..f8fd29a50d 100644 --- a/src/panels/config/integrations/ha-disabled-config-entry-card.ts +++ b/src/panels/config/integrations/ha-disabled-config-entry-card.ts @@ -1,17 +1,20 @@ -import { mdiCog } from "@mdi/js"; -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../components/ha-button"; -import "../../../components/ha-icon-button"; import type { DisableConfigEntryResult } from "../../../data/config_entries"; -import { enableConfigEntry } from "../../../data/config_entries"; import type { IntegrationManifest } from "../../../data/integration"; -import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import type { HomeAssistant } from "../../../types"; import type { ConfigEntryExtended } from "./ha-config-integrations"; +import type { TemplateResult } from "lit"; + +import "../../../components/ha-button"; +import "../../../components/ha-icon-button"; import "./ha-integration-action-card"; +import { mdiCog } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { enableConfigEntry } from "../../../data/config_entries"; +import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; + @customElement("ha-disabled-config-entry-card") export class HaDisabledConfigEntryCard extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/integrations/ha-domain-integrations.ts b/src/panels/config/integrations/ha-domain-integrations.ts index b9fc656e04..53a42372fb 100644 --- a/src/panels/config/integrations/ha-domain-integrations.ts +++ b/src/panels/config/integrations/ha-domain-integrations.ts @@ -1,6 +1,13 @@ +import type { DataEntryFlowProgress } from "../../../data/data_entry_flow"; +import type { Brand, Integration } from "../../../data/integrations"; +import type { HomeAssistant } from "../../../types"; import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item-base"; + +import "./ha-integration-list-item"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { fireEvent } from "../../../common/dom/fire_event"; import { @@ -11,17 +18,13 @@ import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-req import { navigate } from "../../../common/navigate"; import { caseInsensitiveStringCompare } from "../../../common/string/compare"; import { localizeConfigFlowTitle } from "../../../data/config_flow"; -import type { DataEntryFlowProgress } from "../../../data/data_entry_flow"; import { domainToName, fetchIntegrationManifest, } from "../../../data/integration"; -import type { Brand, Integration } from "../../../data/integrations"; import { showConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-config-flow"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; -import "./ha-integration-list-item"; import { showYamlIntegrationDialog } from "./show-add-integration-dialog"; const standardToDomain = { zigbee: "zha", zwave: "zwave_js" } as const; diff --git a/src/panels/config/integrations/ha-ignored-config-entry-card.ts b/src/panels/config/integrations/ha-ignored-config-entry-card.ts index dc8f441bd1..d007803e60 100644 --- a/src/panels/config/integrations/ha-ignored-config-entry-card.ts +++ b/src/panels/config/integrations/ha-ignored-config-entry-card.ts @@ -1,14 +1,17 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { deleteConfigEntry } from "../../../data/config_entries"; import type { IntegrationManifest } from "../../../data/integration"; -import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import type { HomeAssistant } from "../../../types"; import type { ConfigEntryExtended } from "./ha-config-integrations"; -import "./ha-integration-action-card"; +import type { TemplateResult } from "lit"; + import "../../../components/ha-button"; +import "./ha-integration-action-card"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { deleteConfigEntry } from "../../../data/config_entries"; +import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; @customElement("ha-ignored-config-entry-card") export class HaIgnoredConfigEntryCard extends LitElement { diff --git a/src/panels/config/integrations/ha-integration-action-card.ts b/src/panels/config/integrations/ha-integration-action-card.ts index c26a79d6b5..60df49a584 100644 --- a/src/panels/config/integrations/ha-integration-action-card.ts +++ b/src/panels/config/integrations/ha-integration-action-card.ts @@ -1,15 +1,18 @@ +import type { HomeAssistant } from "../../../types"; import type { TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "./ha-integration-header"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { domainToName, type IntegrationManifest, } from "../../../data/integration"; -import type { HomeAssistant } from "../../../types"; -import "./ha-integration-header"; -import "../../../components/ha-card"; -import { brandsUrl } from "../../../util/brands-url"; import { haStyle } from "../../../resources/styles"; +import { brandsUrl } from "../../../util/brands-url"; @customElement("ha-integration-action-card") export class HaIntegrationActionCard extends LitElement { diff --git a/src/panels/config/integrations/ha-integration-card.ts b/src/panels/config/integrations/ha-integration-card.ts index 9ac636c354..5ff5a77eff 100644 --- a/src/panels/config/integrations/ha-integration-card.ts +++ b/src/panels/config/integrations/ha-integration-card.ts @@ -1,29 +1,32 @@ -import { mdiFileCodeOutline, mdiPackageVariant, mdiWeb } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import { computeRTL } from "../../../common/util/compute_rtl"; -import "../../../components/ha-button"; -import "../../../components/ha-card"; -import "../../../components/ha-ripple"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-tooltip"; import type { ConfigEntry } from "../../../data/config_entries"; -import { ERROR_STATES } from "../../../data/config_entries"; import type { DeviceRegistryEntry } from "../../../data/device_registry"; import type { EntityRegistryEntry } from "../../../data/entity_registry"; import type { IntegrationLogInfo, IntegrationManifest, } from "../../../data/integration"; -import { LogSeverity } from "../../../data/integration"; -import { haStyle } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; import type { ConfigEntryExtended } from "./ha-config-integrations"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-button"; +import "../../../components/ha-card"; +import "../../../components/ha-ripple"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; import "./ha-integration-header"; + +import { mdiFileCodeOutline, mdiPackageVariant, mdiWeb } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + import { PROTOCOL_INTEGRATIONS } from "../../../common/integrations/protocolIntegrationPicked"; +import { computeRTL } from "../../../common/util/compute_rtl"; +import { ERROR_STATES } from "../../../data/config_entries"; +import { LogSeverity } from "../../../data/integration"; +import { haStyle } from "../../../resources/styles"; @customElement("ha-integration-card") export class HaIntegrationCard extends LitElement { diff --git a/src/panels/config/integrations/ha-integration-header.ts b/src/panels/config/integrations/ha-integration-header.ts index d4c3b433a1..f02e6f0d7d 100644 --- a/src/panels/config/integrations/ha-integration-header.ts +++ b/src/panels/config/integrations/ha-integration-header.ts @@ -1,12 +1,15 @@ -import { mdiAlertCircleOutline, mdiAlertOutline } from "@mdi/js"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { HomeAssistant } from "../../../types"; import type { TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../../components/ha-icon-next"; import "../../../components/ha-svg-icon"; -import type { IntegrationManifest } from "../../../data/integration"; + +import { mdiAlertCircleOutline, mdiAlertOutline } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { domainToName } from "../../../data/integration"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; @customElement("ha-integration-header") diff --git a/src/panels/config/integrations/ha-integration-list-item.ts b/src/panels/config/integrations/ha-integration-list-item.ts index b7275412c9..e997a241c2 100644 --- a/src/panels/config/integrations/ha-integration-list-item.ts +++ b/src/panels/config/integrations/ha-integration-list-item.ts @@ -1,18 +1,22 @@ +import type { HomeAssistant } from "../../../types"; +import type { IntegrationListItem } from "./dialog-add-integration"; import type { GraphicType } from "@material/mwc-list/mwc-list-item-base"; -import { ListItemBase } from "@material/mwc-list/mwc-list-item-base"; -import { styles } from "@material/mwc-list/mwc-list-item.css"; -import { mdiFileCodeOutline, mdiPackageVariant, mdiWeb } from "@mdi/js"; import type { CSSResultGroup } from "lit"; + +import { styles } from "@material/mwc-list/mwc-list-item.css"; + +import "../../../components/ha-icon-next"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; + +import { ListItemBase } from "@material/mwc-list/mwc-list-item-base"; +import { mdiFileCodeOutline, mdiPackageVariant, mdiWeb } from "@mdi/js"; import { css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { domainToName } from "../../../data/integration"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; -import type { IntegrationListItem } from "./dialog-add-integration"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-tooltip"; @customElement("ha-integration-list-item") export class HaIntegrationListItem extends ListItemBase { diff --git a/src/panels/config/integrations/ha-integration-overflow-menu.ts b/src/panels/config/integrations/ha-integration-overflow-menu.ts index f4591db5b7..28da474271 100644 --- a/src/panels/config/integrations/ha-integration-overflow-menu.ts +++ b/src/panels/config/integrations/ha-integration-overflow-menu.ts @@ -1,10 +1,12 @@ -import { mdiDotsVertical } from "@mdi/js"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-button-menu"; import "../../../components/ha-clickable-list-item"; import "../../../components/ha-icon-button"; -import type { HomeAssistant } from "../../../types"; + +import { mdiDotsVertical } from "@mdi/js"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("ha-integration-overflow-menu") export class HaIntegrationOverflowMenu extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-advertisement-monitor.ts b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-advertisement-monitor.ts index c9de84adbd..576d3c2f7f 100644 --- a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-advertisement-monitor.ts +++ b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-advertisement-monitor.ts @@ -1,30 +1,33 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { storage } from "../../../../../common/decorators/storage"; import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; import type { DataTableColumnContainer, RowClickedEvent, } from "../../../../../components/data-table/ha-data-table"; -import "../../../../../components/ha-fab"; -import "../../../../../components/ha-icon-button"; -import "../../../../../components/ha-relative-time"; import type { BluetoothDeviceData, BluetoothScannersDetails, } from "../../../../../data/bluetooth"; +import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import type { HomeAssistant, Route } from "../../../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../../components/ha-fab"; +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-relative-time"; +import "../../../../../layouts/hass-tabs-subpage-data-table"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { storage } from "../../../../../common/decorators/storage"; import { subscribeBluetoothAdvertisements, subscribeBluetoothScannersDetails, } from "../../../../../data/bluetooth"; -import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; -import "../../../../../layouts/hass-tabs-subpage-data-table"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; import { showBluetoothDeviceInfoDialog } from "./show-dialog-bluetooth-device-info"; @customElement("bluetooth-advertisement-monitor") diff --git a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard-router.ts b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard-router.ts index 9eb2541515..95dff24f96 100644 --- a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard-router.ts +++ b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard-router.ts @@ -1,8 +1,10 @@ -import { customElement, property } from "lit/decorators"; import type { RouterOptions } from "../../../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../../../types"; +import { customElement, property } from "lit/decorators"; + +import { HassRouterPage } from "../../../../../layouts/hass-router-page"; + @customElement("bluetooth-config-dashboard-router") class BluetoothConfigDashboardRouter extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard.ts b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard.ts index f5d4ddd50b..783bc12d09 100644 --- a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard.ts +++ b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-config-dashboard.ts @@ -1,23 +1,26 @@ +import type { BluetoothAllocationsData } from "../../../../../data/bluetooth"; +import type { HomeAssistant } from "../../../../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; + +import "../../../../../components/ha-button"; import "../../../../../components/ha-card"; import "../../../../../components/ha-code-editor"; import "../../../../../components/ha-formfield"; +import "../../../../../components/ha-metric"; import "../../../../../components/ha-switch"; -import "../../../../../components/ha-button"; +import "../../../../../layouts/hass-subpage"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { subscribeBluetoothConnectionAllocations } from "../../../../../data/bluetooth"; import { getConfigEntries } from "../../../../../data/config_entries"; import { showOptionsFlowDialog } from "../../../../../dialogs/config-flow/show-dialog-options-flow"; -import "../../../../../layouts/hass-subpage"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import { subscribeBluetoothConnectionAllocations } from "../../../../../data/bluetooth"; import { getValueInPercentage, roundWithOneDecimal, } from "../../../../../util/calculate"; -import "../../../../../components/ha-metric"; -import type { BluetoothAllocationsData } from "../../../../../data/bluetooth"; @customElement("bluetooth-config-dashboard") export class BluetoothConfigDashboard extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-connection-monitor.ts b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-connection-monitor.ts index 1f9ed2f0e8..6e95b807d0 100644 --- a/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-connection-monitor.ts +++ b/src/panels/config/integrations/integration-panels/bluetooth/bluetooth-connection-monitor.ts @@ -1,29 +1,32 @@ -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { storage } from "../../../../../common/decorators/storage"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; import type { DataTableColumnContainer } from "../../../../../components/data-table/ha-data-table"; -import "../../../../../components/ha-fab"; -import "../../../../../components/ha-icon-button"; -import "../../../../../components/ha-relative-time"; import type { BluetoothScannersDetails, BluetoothConnectionData, BluetoothAllocationsData, } from "../../../../../data/bluetooth"; +import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import type { HomeAssistant, Route } from "../../../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../../components/ha-fab"; +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-metric"; +import "../../../../../components/ha-relative-time"; +import "../../../../../layouts/hass-tabs-subpage-data-table"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { storage } from "../../../../../common/decorators/storage"; import { subscribeBluetoothScannersDetails, subscribeBluetoothConnectionAllocations, subscribeBluetoothAdvertisements, } from "../../../../../data/bluetooth"; -import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; -import "../../../../../layouts/hass-tabs-subpage-data-table"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; -import "../../../../../components/ha-metric"; @customElement("bluetooth-connection-monitor") export class BluetoothConnectionMonitorPanel extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/bluetooth/dialog-bluetooth-device-info.ts b/src/panels/config/integrations/integration-panels/bluetooth/dialog-bluetooth-device-info.ts index 25c09a9284..d00dbfb448 100644 --- a/src/panels/config/integrations/integration-panels/bluetooth/dialog-bluetooth-device-info.ts +++ b/src/panels/config/integrations/integration-panels/bluetooth/dialog-bluetooth-device-info.ts @@ -1,14 +1,18 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { HassDialog } from "../../../../../dialogs/make-dialog-manager"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; import type { HomeAssistant } from "../../../../../types"; import type { BluetoothDeviceInfoDialogParams } from "./show-dialog-bluetooth-device-info"; +import type { TemplateResult } from "lit"; + import "../../../../../components/ha-button"; -import { showToast } from "../../../../../util/toast"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { copyToClipboard } from "../../../../../common/util/copy-clipboard"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { showToast } from "../../../../../util/toast"; + @customElement("dialog-bluetooth-device-info") class DialogBluetoothDeviceInfo extends LitElement implements HassDialog { diff --git a/src/panels/config/integrations/integration-panels/bluetooth/show-dialog-bluetooth-device-info.ts b/src/panels/config/integrations/integration-panels/bluetooth/show-dialog-bluetooth-device-info.ts index bfa4560260..dc9e40b186 100644 --- a/src/panels/config/integrations/integration-panels/bluetooth/show-dialog-bluetooth-device-info.ts +++ b/src/panels/config/integrations/integration-panels/bluetooth/show-dialog-bluetooth-device-info.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { BluetoothDeviceData } from "../../../../../data/bluetooth"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export interface BluetoothDeviceInfoDialogParams { entry: BluetoothDeviceData; } diff --git a/src/panels/config/integrations/integration-panels/matter/dialog-matter-add-device.ts b/src/panels/config/integrations/integration-panels/matter/dialog-matter-add-device.ts index b4ce0b7e68..b1ed978872 100644 --- a/src/panels/config/integrations/integration-panels/matter/dialog-matter-add-device.ts +++ b/src/panels/config/integrations/integration-panels/matter/dialog-matter-add-device.ts @@ -1,28 +1,31 @@ -import { mdiClose } from "@mdi/js"; +import type { HomeAssistant } from "../../../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { dynamicElement } from "../../../../../common/dom/dynamic-element-directive"; -import { fireEvent } from "../../../../../common/dom/fire_event"; + +import "../../../../../components/ha-button"; +import "../../../../../components/ha-dialog"; import "../../../../../components/ha-dialog-header"; import "../../../../../components/ha-icon-button"; import "../../../../../components/ha-icon-button-arrow-prev"; -import "../../../../../components/ha-button"; -import "../../../../../components/ha-dialog"; -import { - commissionMatterDevice, - redirectOnNewMatterDevice, -} from "../../../../../data/matter"; -import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import "./matter-add-device/matter-add-device-apple-home"; +import "./matter-add-device/matter-add-device-commissioning"; import "./matter-add-device/matter-add-device-existing"; import "./matter-add-device/matter-add-device-generic"; import "./matter-add-device/matter-add-device-google-home"; import "./matter-add-device/matter-add-device-google-home-fallback"; import "./matter-add-device/matter-add-device-main"; import "./matter-add-device/matter-add-device-new"; -import "./matter-add-device/matter-add-device-commissioning"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { dynamicElement } from "../../../../../common/dom/dynamic-element-directive"; +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { + commissionMatterDevice, + redirectOnNewMatterDevice, +} from "../../../../../data/matter"; +import { haStyleDialog } from "../../../../../resources/styles"; import { showToast } from "../../../../../util/toast"; export type MatterAddDeviceStep = diff --git a/src/panels/config/integrations/integration-panels/matter/dialog-matter-manage-fabrics.ts b/src/panels/config/integrations/integration-panels/matter/dialog-matter-manage-fabrics.ts index 24b70e0f20..160c1e81e1 100644 --- a/src/panels/config/integrations/integration-panels/matter/dialog-matter-manage-fabrics.ts +++ b/src/panels/config/integrations/integration-panels/matter/dialog-matter-manage-fabrics.ts @@ -1,18 +1,23 @@ -import "@material/mwc-list/mwc-list"; -import "@material/mwc-button/mwc-button"; -import { mdiDelete } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; -import "../../../../../components/ha-list-item"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-qr-code"; import type { MatterFabricData, MatterNodeDiagnostics, } from "../../../../../data/matter"; +import type { HomeAssistant } from "../../../../../types"; +import type { MatterManageFabricsDialogParams } from "./show-dialog-matter-manage-fabrics"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-list-item"; +import "../../../../../components/ha-qr-code"; +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list"; + +import { mdiDelete } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; import { getMatterNodeDiagnostics, removeMatterFabric, @@ -22,8 +27,6 @@ import { showConfirmationDialog, } from "../../../../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { MatterManageFabricsDialogParams } from "./show-dialog-matter-manage-fabrics"; @customElement("dialog-matter-manage-fabrics") class DialogMatterManageFabrics extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/matter/dialog-matter-open-commissioning-window.ts b/src/panels/config/integrations/integration-panels/matter/dialog-matter-open-commissioning-window.ts index 72808746d7..d7aeab4e17 100644 --- a/src/panels/config/integrations/integration-panels/matter/dialog-matter-open-commissioning-window.ts +++ b/src/panels/config/integrations/integration-panels/matter/dialog-matter-open-commissioning-window.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCloseCircle } from "@mdi/js"; +import type { MatterCommissioningParameters } from "../../../../../data/matter"; +import type { HomeAssistant } from "../../../../../types"; +import type { MatterOpenCommissioningWindowDialogParams } from "./show-dialog-matter-open-commissioning-window"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-qr-code"; +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { mdiCloseCircle } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; +import { copyToClipboard } from "../../../../../common/util/copy-clipboard"; import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-qr-code"; import { domainToName } from "../../../../../data/integration"; -import type { MatterCommissioningParameters } from "../../../../../data/matter"; import { openMatterCommissioningWindow } from "../../../../../data/matter"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { brandsUrl } from "../../../../../util/brands-url"; -import type { MatterOpenCommissioningWindowDialogParams } from "./show-dialog-matter-open-commissioning-window"; -import { copyToClipboard } from "../../../../../common/util/copy-clipboard"; @customElement("dialog-matter-open-commissioning-window") class DialogMatterOpenCommissioningWindow extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/matter/dialog-matter-ping-node.ts b/src/panels/config/integrations/integration-panels/matter/dialog-matter-ping-node.ts index 1825ea704a..042cab3045 100644 --- a/src/panels/config/integrations/integration-panels/matter/dialog-matter-ping-node.ts +++ b/src/panels/config/integrations/integration-panels/matter/dialog-matter-ping-node.ts @@ -1,17 +1,20 @@ -import "@material/mwc-list/mwc-list"; -import "@material/mwc-button/mwc-button"; -import { mdiAlertCircle, mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; +import type { HomeAssistant } from "../../../../../types"; +import type { MatterPingNodeDialogParams } from "./show-dialog-matter-ping-node"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-list-item"; +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list"; + +import { mdiAlertCircle, mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; -import "../../../../../components/ha-list-item"; import { createCloseHeading } from "../../../../../components/ha-dialog"; import { pingMatterNode } from "../../../../../data/matter"; import { haStyle, haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { MatterPingNodeDialogParams } from "./show-dialog-matter-ping-node"; @customElement("dialog-matter-ping-node") class DialogMatterPingNode extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/matter/dialog-matter-reinterview-node.ts b/src/panels/config/integrations/integration-panels/matter/dialog-matter-reinterview-node.ts index 636921dbac..a4373a1fc4 100644 --- a/src/panels/config/integrations/integration-panels/matter/dialog-matter-reinterview-node.ts +++ b/src/panels/config/integrations/integration-panels/matter/dialog-matter-reinterview-node.ts @@ -1,15 +1,18 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; +import type { HomeAssistant } from "../../../../../types"; +import type { MatterReinterviewNodeDialogParams } from "./show-dialog-matter-reinterview-node"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; import { createCloseHeading } from "../../../../../components/ha-dialog"; import { interviewMatterNode } from "../../../../../data/matter"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { MatterReinterviewNodeDialogParams } from "./show-dialog-matter-reinterview-node"; @customElement("dialog-matter-reinterview-node") class DialogMatterReinterviewNode extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device.ts index c677c680aa..f2c2331843 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device.ts @@ -1,7 +1,9 @@ /* eslint-disable lit/lifecycle-super */ -import { customElement } from "lit/decorators"; -import { navigate } from "../../../../../common/navigate"; import type { HomeAssistant } from "../../../../../types"; + +import { customElement } from "lit/decorators"; + +import { navigate } from "../../../../../common/navigate"; import { showMatterAddDeviceDialog } from "./show-dialog-add-matter-device"; @customElement("matter-add-device") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-apple-home.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-apple-home.ts index c5413bf3af..375a01911d 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-apple-home.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-apple-home.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/ha-icon-next"; +import "../../../../../../components/ha-md-list"; +import "../../../../../../components/ha-md-list-item"; +import "../../../../../../components/ha-textfield"; + import { LitElement, html } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../../common/dom/fire_event"; -import "../../../../../../components/ha-icon-next"; -import "../../../../../../components/ha-md-list-item"; -import "../../../../../../components/ha-md-list"; -import "../../../../../../components/ha-textfield"; -import type { HomeAssistant } from "../../../../../../types"; import { sharedStyles } from "./matter-add-device-shared-styles"; @customElement("matter-add-device-apple-home") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-commissioning.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-commissioning.ts index 02d7a8f040..9202e54242 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-commissioning.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-commissioning.ts @@ -1,8 +1,11 @@ +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/ha-spinner"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HomeAssistant } from "../../../../../../types"; + import { sharedStyles } from "./matter-add-device-shared-styles"; -import "../../../../../../components/ha-spinner"; @customElement("matter-add-device-commissioning") class MatterAddDeviceCommissioning extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-existing.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-existing.ts index 685ecc91e1..c6bd8cbc04 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-existing.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-existing.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../../../../../../types"; +import type { MatterAddDeviceStep } from "../dialog-matter-add-device"; + +import "../../../../../../components/ha-icon-next"; +import "../../../../../../components/ha-md-list"; +import "../../../../../../components/ha-md-list-item"; + import { mdiHomeAutomation } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../../../common/dom/fire_event"; -import "../../../../../../components/ha-icon-next"; -import "../../../../../../components/ha-md-list-item"; -import "../../../../../../components/ha-md-list"; -import type { HomeAssistant } from "../../../../../../types"; -import type { MatterAddDeviceStep } from "../dialog-matter-add-device"; import { sharedStyles } from "./matter-add-device-shared-styles"; @customElement("matter-add-device-existing") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-generic.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-generic.ts index 97b204cff8..95d62c6e31 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-generic.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-generic.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/ha-icon-next"; +import "../../../../../../components/ha-md-list"; +import "../../../../../../components/ha-md-list-item"; +import "../../../../../../components/ha-textfield"; + import { LitElement, html } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../../common/dom/fire_event"; -import "../../../../../../components/ha-icon-next"; -import "../../../../../../components/ha-md-list-item"; -import "../../../../../../components/ha-md-list"; -import "../../../../../../components/ha-textfield"; -import type { HomeAssistant } from "../../../../../../types"; import { sharedStyles } from "./matter-add-device-shared-styles"; @customElement("matter-add-device-generic") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home-fallback.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home-fallback.ts index 4da89ef6c1..d35dd153a5 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home-fallback.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home-fallback.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/ha-icon-next"; +import "../../../../../../components/ha-md-list"; +import "../../../../../../components/ha-md-list-item"; +import "../../../../../../components/ha-textfield"; + import { LitElement, html } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../../common/dom/fire_event"; -import "../../../../../../components/ha-icon-next"; -import "../../../../../../components/ha-md-list-item"; -import "../../../../../../components/ha-md-list"; -import "../../../../../../components/ha-textfield"; -import type { HomeAssistant } from "../../../../../../types"; import { sharedStyles } from "./matter-add-device-shared-styles"; @customElement("matter-add-device-google-home-fallback") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home.ts index 85193fd24a..f22ef0fb62 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-google-home.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/ha-icon-next"; +import "../../../../../../components/ha-md-list"; +import "../../../../../../components/ha-md-list-item"; + import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../../../common/dom/fire_event"; -import "../../../../../../components/ha-icon-next"; -import "../../../../../../components/ha-md-list-item"; -import "../../../../../../components/ha-md-list"; -import type { HomeAssistant } from "../../../../../../types"; import { sharedStyles } from "./matter-add-device-shared-styles"; @customElement("matter-add-device-google-home") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-main.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-main.ts index 528a776459..ba4f24f670 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-main.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-main.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/ha-icon-next"; +import "../../../../../../components/ha-md-list"; +import "../../../../../../components/ha-md-list-item"; + import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../../../../common/dom/fire_event"; -import "../../../../../../components/ha-icon-next"; -import "../../../../../../components/ha-md-list-item"; -import "../../../../../../components/ha-md-list"; -import type { HomeAssistant } from "../../../../../../types"; import { sharedStyles } from "./matter-add-device-shared-styles"; @customElement("matter-add-device-main") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-new.ts b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-new.ts index 006450d239..999b616734 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-new.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-add-device/matter-add-device-new.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/ha-spinner"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../../../../components/ha-spinner"; + import { canCommissionMatterExternal, startExternalCommissioning, } from "../../../../../../data/matter"; -import type { HomeAssistant } from "../../../../../../types"; import { sharedStyles } from "./matter-add-device-shared-styles"; @customElement("matter-add-device-new") diff --git a/src/panels/config/integrations/integration-panels/matter/matter-config-dashboard.ts b/src/panels/config/integrations/integration-panels/matter/matter-config-dashboard.ts index e98845fed6..f575a49902 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-config-dashboard.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-config-dashboard.ts @@ -1,11 +1,16 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; + import "../../../../../components/ha-alert"; import "../../../../../components/ha-card"; +import "../../../../../layouts/hass-subpage"; +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; import { acceptSharedMatterDevice, canCommissionMatterExternal, @@ -16,9 +21,7 @@ import { startExternalCommissioning, } from "../../../../../data/matter"; import { showPromptDialog } from "../../../../../dialogs/generic/show-dialog-box"; -import "../../../../../layouts/hass-subpage"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; @customElement("matter-config-dashboard") export class MatterConfigDashboard extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/matter/matter-config-panel.ts b/src/panels/config/integrations/integration-panels/matter/matter-config-panel.ts index 14ec0bf728..f836f57938 100644 --- a/src/panels/config/integrations/integration-panels/matter/matter-config-panel.ts +++ b/src/panels/config/integrations/integration-panels/matter/matter-config-panel.ts @@ -1,10 +1,12 @@ -import { mdiMathLog, mdiServerNetwork } from "@mdi/js"; -import { customElement, property } from "lit/decorators"; import type { RouterOptions } from "../../../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../../../layouts/hass-router-page"; import type { PageNavigation } from "../../../../../layouts/hass-tabs-subpage"; import type { HomeAssistant } from "../../../../../types"; +import { mdiMathLog, mdiServerNetwork } from "@mdi/js"; +import { customElement, property } from "lit/decorators"; + +import { HassRouterPage } from "../../../../../layouts/hass-router-page"; + export const configTabs: PageNavigation[] = [ { translationKey: "ui.panel.config.zwave_js.navigation.network", diff --git a/src/panels/config/integrations/integration-panels/mqtt/mqtt-config-panel.ts b/src/panels/config/integrations/integration-panels/mqtt/mqtt-config-panel.ts index 5b6cbfb159..115b02a8e1 100644 --- a/src/panels/config/integrations/integration-panels/mqtt/mqtt-config-panel.ts +++ b/src/panels/config/integrations/integration-panels/mqtt/mqtt-config-panel.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { storage } from "../../../../../common/decorators/storage"; + import "../../../../../components/ha-card"; import "../../../../../components/ha-code-editor"; import "../../../../../components/ha-formfield"; import "../../../../../components/ha-switch"; +import "../../../../../layouts/hass-subpage"; +import "./mqtt-subscribe-card"; +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { storage } from "../../../../../common/decorators/storage"; import { getConfigEntries } from "../../../../../data/config_entries"; import { showOptionsFlowDialog } from "../../../../../dialogs/config-flow/show-dialog-options-flow"; -import "../../../../../layouts/hass-subpage"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import "./mqtt-subscribe-card"; const qosLevel = ["0", "1", "2"]; diff --git a/src/panels/config/integrations/integration-panels/mqtt/mqtt-subscribe-card.ts b/src/panels/config/integrations/integration-panels/mqtt/mqtt-subscribe-card.ts index e050957b6e..a35e0cb916 100644 --- a/src/panels/config/integrations/integration-panels/mqtt/mqtt-subscribe-card.ts +++ b/src/panels/config/integrations/integration-panels/mqtt/mqtt-subscribe-card.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button"; +import type { MQTTMessage } from "../../../../../data/mqtt"; +import type { HomeAssistant } from "../../../../../types"; import type { TemplateResult } from "lit"; + +import "../../../../../components/ha-card"; +import "../../../../../components/ha-formfield"; +import "../../../../../components/ha-select"; +import "../../../../../components/ha-switch"; +import "../../../../../components/ha-textfield"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../../../components/ha-card"; -import "../../../../../components/ha-select"; -import "../../../../../components/ha-textfield"; + import { formatTime } from "../../../../../common/datetime/format_time"; -import type { MQTTMessage } from "../../../../../data/mqtt"; -import { subscribeMQTTTopic } from "../../../../../data/mqtt"; -import type { HomeAssistant } from "../../../../../types"; -import "@material/mwc-list/mwc-list-item"; import { storage } from "../../../../../common/decorators/storage"; -import "../../../../../components/ha-formfield"; -import "../../../../../components/ha-switch"; +import { subscribeMQTTTopic } from "../../../../../data/mqtt"; const qosLevel = ["0", "1", "2"]; diff --git a/src/panels/config/integrations/integration-panels/thread/dialog-thread-dataset.ts b/src/panels/config/integrations/integration-panels/thread/dialog-thread-dataset.ts index 55ce8af7d3..209b4333c7 100644 --- a/src/panels/config/integrations/integration-panels/thread/dialog-thread-dataset.ts +++ b/src/panels/config/integrations/integration-panels/thread/dialog-thread-dataset.ts @@ -1,9 +1,11 @@ -import { LitElement, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { HassDialog } from "../../../../../dialogs/make-dialog-manager"; import type { HomeAssistant } from "../../../../../types"; import type { DialogThreadDatasetParams } from "./show-dialog-thread-dataset"; + +import { LitElement, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { createCloseHeading } from "../../../../../components/ha-dialog"; @customElement("ha-dialog-thread-dataset") diff --git a/src/panels/config/integrations/integration-panels/thread/show-dialog-thread-dataset.ts b/src/panels/config/integrations/integration-panels/thread/show-dialog-thread-dataset.ts index 17748c000f..301148c661 100644 --- a/src/panels/config/integrations/integration-panels/thread/show-dialog-thread-dataset.ts +++ b/src/panels/config/integrations/integration-panels/thread/show-dialog-thread-dataset.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { OTBRInfo } from "../../../../../data/otbr"; import type { ThreadNetwork } from "./thread-config-panel"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export interface DialogThreadDatasetParams { network: ThreadNetwork; otbrInfo?: OTBRInfo; diff --git a/src/panels/config/integrations/integration-panels/thread/thread-config-panel.ts b/src/panels/config/integrations/integration-panels/thread/thread-config-panel.ts index 921bc8f33d..d02182e319 100644 --- a/src/panels/config/integrations/integration-panels/thread/thread-config-panel.ts +++ b/src/panels/config/integrations/integration-panels/thread/thread-config-panel.ts @@ -1,5 +1,15 @@ -import "@material/mwc-button"; +import type { OTBRInfo, OTBRInfoDict } from "../../../../../data/otbr"; +import type { ThreadDataSet, ThreadRouter } from "../../../../../data/thread"; +import type { HomeAssistant } from "../../../../../types"; import type { ActionDetail } from "@material/mwc-list"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../../../components/ha-button-menu"; +import "../../../../../components/ha-card"; +import "../../../../../components/ha-list-item"; +import "../../../../../layouts/hass-subpage"; +import "@material/mwc-button"; + import { mdiDeleteOutline, mdiDevices, @@ -7,26 +17,21 @@ import { mdiInformationOutline, mdiCellphoneKey, } from "@mdi/js"; -import type { PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../../../common/config/is_component_loaded"; import { stringCompare } from "../../../../../common/string/compare"; import { extractSearchParam } from "../../../../../common/url/search-params"; -import "../../../../../components/ha-button-menu"; -import "../../../../../components/ha-list-item"; -import "../../../../../components/ha-card"; import { getSignedPath } from "../../../../../data/auth"; import { getConfigEntryDiagnosticsDownloadUrl } from "../../../../../data/diagnostics"; -import type { OTBRInfo, OTBRInfoDict } from "../../../../../data/otbr"; import { OTBRCreateNetwork, OTBRSetChannel, OTBRSetNetwork, getOTBRInfo, } from "../../../../../data/otbr"; -import type { ThreadDataSet, ThreadRouter } from "../../../../../data/thread"; import { addThreadDataSet, getThreadDataSetTLV, @@ -42,13 +47,11 @@ import { showConfirmationDialog, showPromptDialog, } from "../../../../../dialogs/generic/show-dialog-box"; -import "../../../../../layouts/hass-subpage"; import { SubscribeMixin } from "../../../../../mixins/subscribe-mixin"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { brandsUrl } from "../../../../../util/brands-url"; -import { fileDownload } from "../../../../../util/file_download"; import { documentationUrl } from "../../../../../util/documentation-url"; +import { fileDownload } from "../../../../../util/file_download"; import { showThreadDatasetDialog } from "./show-dialog-thread-dataset"; export interface ThreadNetwork { diff --git a/src/panels/config/integrations/integration-panels/zha/dialog-zha-change-channel.ts b/src/panels/config/integrations/integration-panels/zha/dialog-zha-change-channel.ts index e0833ebcc6..46df4e4893 100644 --- a/src/panels/config/integrations/integration-panels/zha/dialog-zha-change-channel.ts +++ b/src/panels/config/integrations/integration-panels/zha/dialog-zha-change-channel.ts @@ -1,19 +1,22 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { stopPropagation } from "../../../../../common/dom/stop_propagation"; import type { HassDialog } from "../../../../../dialogs/make-dialog-manager"; -import { changeZHANetworkChannel } from "../../../../../data/zha"; -import { showAlertDialog } from "../../../../../dialogs/generic/show-dialog-box"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; import type { HomeAssistant } from "../../../../../types"; +import type { ZHAChangeChannelDialogParams } from "./show-dialog-zha-change-channel"; +import type { TemplateResult } from "lit"; + import "../../../../../components/buttons/ha-progress-button"; import "../../../../../components/ha-alert"; import "../../../../../components/ha-button"; -import "../../../../../components/ha-select"; import "../../../../../components/ha-list-item"; -import type { ZHAChangeChannelDialogParams } from "./show-dialog-zha-change-channel"; +import "../../../../../components/ha-select"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { stopPropagation } from "../../../../../common/dom/stop_propagation"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { changeZHANetworkChannel } from "../../../../../data/zha"; +import { showAlertDialog } from "../../../../../dialogs/generic/show-dialog-box"; const VALID_CHANNELS = [ "auto", diff --git a/src/panels/config/integrations/integration-panels/zha/dialog-zha-manage-zigbee-device.ts b/src/panels/config/integrations/integration-panels/zha/dialog-zha-manage-zigbee-device.ts index 3ac4a62f02..55d598879e 100644 --- a/src/panels/config/integrations/integration-panels/zha/dialog-zha-manage-zigbee-device.ts +++ b/src/panels/config/integrations/integration-panels/zha/dialog-zha-manage-zigbee-device.ts @@ -1,24 +1,14 @@ -import "@material/mwc-tab-bar/mwc-tab-bar"; -import "@material/mwc-tab/mwc-tab"; -import { mdiClose } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { cache } from "lit/directives/cache"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-code-editor"; -import "../../../../../components/ha-dialog"; -import "../../../../../components/ha-dialog-header"; import type { ZHADevice, ZHAGroup } from "../../../../../data/zha"; -import { fetchBindableDevices, fetchGroups } from "../../../../../data/zha"; -import { haStyleDialog } from "../../../../../resources/styles"; import type { HomeAssistant } from "../../../../../types"; -import { sortZHADevices, sortZHAGroups } from "./functions"; import type { Tab, ZHAManageZigbeeDeviceDialogParams, } from "./show-dialog-zha-manage-zigbee-device"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../../components/ha-code-editor"; +import "../../../../../components/ha-dialog"; +import "../../../../../components/ha-dialog-header"; import "./zha-cluster-attributes"; import "./zha-cluster-commands"; import "./zha-device-binding"; @@ -26,6 +16,19 @@ import "./zha-device-neighbors"; import "./zha-device-signature"; import "./zha-group-binding"; import "./zha-manage-clusters"; +import "@material/mwc-tab-bar/mwc-tab-bar"; +import "@material/mwc-tab/mwc-tab"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { cache } from "lit/directives/cache"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { fetchBindableDevices, fetchGroups } from "../../../../../data/zha"; +import { haStyleDialog } from "../../../../../resources/styles"; +import { sortZHADevices, sortZHAGroups } from "./functions"; @customElement("dialog-zha-manage-zigbee-device") class DialogZHAManageZigbeeDevice extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts b/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts index f87b63b895..d9a030d568 100644 --- a/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts +++ b/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts @@ -1,20 +1,25 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-svg-icon"; -import "../../../../../components/ha-tooltip"; import type { AttributeConfigurationStatus, Cluster, ClusterConfigurationEvent, ClusterConfigurationStatus, } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZHAReconfigureDeviceDialogParams } from "./show-dialog-zha-reconfigure-device"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-spinner"; +import "../../../../../components/ha-svg-icon"; +import "../../../../../components/ha-tooltip"; +import "@material/mwc-button/mwc-button"; + +import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; import { fetchClustersForZhaDevice, reconfigureNode, @@ -23,8 +28,6 @@ import { ZHA_CHANNEL_MSG_CFG_RPT, } from "../../../../../data/zha"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ZHAReconfigureDeviceDialogParams } from "./show-dialog-zha-reconfigure-device"; @customElement("dialog-zha-reconfigure-device") class DialogZHAReconfigureDevice extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-manage-zigbee-device.ts b/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-manage-zigbee-device.ts index 74e4b9b4a6..e5cd34bc34 100644 --- a/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-manage-zigbee-device.ts +++ b/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-manage-zigbee-device.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { ZHADevice } from "../../../../../data/zha"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export type Tab = "clusters" | "bindings" | "signature" | "neighbors"; export interface ZHAManageZigbeeDeviceDialogParams { diff --git a/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-reconfigure-device.ts b/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-reconfigure-device.ts index e6d1f4eab8..3a4b70eec5 100644 --- a/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-reconfigure-device.ts +++ b/src/panels/config/integrations/integration-panels/zha/show-dialog-zha-reconfigure-device.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { ZHADevice } from "../../../../../data/zha"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export interface ZHAReconfigureDeviceDialogParams { device: ZHADevice; } diff --git a/src/panels/config/integrations/integration-panels/zha/zha-add-devices-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-add-devices-page.ts index 9ba02e4124..cd7a38af78 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-add-devices-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-add-devices-page.ts @@ -1,17 +1,20 @@ -import "@material/mwc-button"; +import type { ZHADevice } from "../../../../../data/zha"; +import type { HomeAssistant, Route } from "../../../../../types"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../../components/ha-spinner"; +import "../../../../../components/ha-textarea"; +import "../../../../../layouts/hass-tabs-subpage"; +import "./zha-device-pairing-status-card"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../../../components/ha-spinner"; -import type { ZHADevice } from "../../../../../data/zha"; + import { DEVICE_MESSAGE_TYPES, LOG_OUTPUT } from "../../../../../data/zha"; -import "../../../../../layouts/hass-tabs-subpage"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; import { documentationUrl } from "../../../../../util/documentation-url"; import { zhaTabs } from "./zha-config-dashboard"; -import "./zha-device-pairing-status-card"; -import "../../../../../components/ha-textarea"; @customElement("zha-add-devices-page") class ZHAAddDevicesPage extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts index 5b7945a2e1..34517d44bf 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button"; +import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; +import type { SelectionChangedEvent } from "../../../../../components/data-table/ha-data-table"; +import type { ZHADeviceEndpoint, ZHAGroup } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZHADeviceEndpointDataTable } from "./zha-device-endpoint-data-table"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../../components/ha-spinner"; +import "../../../../../components/ha-textfield"; +import "../../../../../layouts/hass-subpage"; +import "../../../ha-config-section"; +import "./zha-device-endpoint-data-table"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, property, state, query } from "lit/decorators"; -import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; + import { navigate } from "../../../../../common/navigate"; -import type { SelectionChangedEvent } from "../../../../../components/data-table/ha-data-table"; -import "../../../../../components/ha-spinner"; -import type { ZHADeviceEndpoint, ZHAGroup } from "../../../../../data/zha"; import { addGroup, fetchGroupableDevices } from "../../../../../data/zha"; -import "../../../../../layouts/hass-subpage"; -import type { HomeAssistant } from "../../../../../types"; -import "../../../ha-config-section"; -import "../../../../../components/ha-textfield"; -import "./zha-device-endpoint-data-table"; -import type { ZHADeviceEndpointDataTable } from "./zha-device-endpoint-data-table"; @customElement("zha-add-group-page") export class ZHAAddGroupPage extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-cluster-attributes.ts b/src/panels/config/integrations/integration-panels/zha/zha-cluster-attributes.ts index 709d1e0db6..d8a3011682 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-cluster-attributes.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-cluster-attributes.ts @@ -1,28 +1,31 @@ -import "@material/mwc-list/mwc-list-item"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { stopPropagation } from "../../../../../common/dom/stop_propagation"; -import "../../../../../components/buttons/ha-call-service-button"; -import "../../../../../components/buttons/ha-progress-button"; -import "../../../../../components/ha-card"; -import "../../../../../components/ha-select"; -import "../../../../../components/ha-textfield"; -import { forwardHaptic } from "../../../../../data/haptics"; import type { Attribute, Cluster, ReadAttributeServiceData, ZHADevice, } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { ItemSelectedEvent, SetAttributeServiceData } from "./types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../../components/buttons/ha-call-service-button"; +import "../../../../../components/buttons/ha-progress-button"; +import "../../../../../components/ha-card"; +import "../../../../../components/ha-select"; +import "../../../../../components/ha-textfield"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../../../common/dom/stop_propagation"; +import { forwardHaptic } from "../../../../../data/haptics"; import { fetchAttributesForCluster, readAttributeValue, } from "../../../../../data/zha"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { formatAsPaddedHex } from "./functions"; -import type { ItemSelectedEvent, SetAttributeServiceData } from "./types"; @customElement("zha-cluster-attributes") export class ZHAClusterAttributes extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-cluster-commands.ts b/src/panels/config/integrations/integration-panels/zha/zha-cluster-commands.ts index 832f28a10c..7d62e09adc 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-cluster-commands.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-cluster-commands.ts @@ -1,19 +1,22 @@ -import "@material/mwc-list/mwc-list-item"; +import type { Cluster, Command, ZHADevice } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { IssueCommandServiceData } from "./types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import { stopPropagation } from "../../../../../common/dom/stop_propagation"; + import "../../../../../components/buttons/ha-call-service-button"; import "../../../../../components/ha-card"; import "../../../../../components/ha-form/ha-form"; import "../../../../../components/ha-select"; import "../../../../../components/ha-textfield"; -import type { Cluster, Command, ZHADevice } from "../../../../../data/zha"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../../../common/dom/stop_propagation"; import { fetchCommandsForCluster } from "../../../../../data/zha"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { formatAsPaddedHex } from "./functions"; -import type { IssueCommandServiceData } from "./types"; export class ZHAClusterCommands extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-clusters-data-table.ts b/src/panels/config/integrations/integration-panels/zha/zha-clusters-data-table.ts index 3f49025398..bdd59f586f 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-clusters-data-table.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-clusters-data-table.ts @@ -1,14 +1,17 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import "../../../../../components/data-table/ha-data-table"; import type { DataTableColumnContainer, HaDataTable, } from "../../../../../components/data-table/ha-data-table"; import type { Cluster } from "../../../../../data/zha"; import type { HomeAssistant } from "../../../../../types"; +import type { TemplateResult } from "lit"; + +import "../../../../../components/data-table/ha-data-table"; + +import { html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; +import memoizeOne from "memoize-one"; + import { formatAsPaddedHex } from "./functions"; export interface ClusterRowData extends Cluster { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard-router.ts b/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard-router.ts index 9b5a54818b..dddc1516fa 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard-router.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard-router.ts @@ -1,9 +1,11 @@ -import { customElement, property } from "lit/decorators"; -import { navigate } from "../../../../../common/navigate"; import type { RouterOptions } from "../../../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../../../types"; +import { customElement, property } from "lit/decorators"; + +import { navigate } from "../../../../../common/navigate"; +import { HassRouterPage } from "../../../../../layouts/hass-router-page"; + @customElement("zha-config-dashboard-router") class ZHAConfigDashboardRouter extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard.ts b/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard.ts index 0963a19b99..73fcaf1935 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-config-dashboard.ts @@ -1,4 +1,24 @@ +import type { ConfigEntry } from "../../../../../data/config_entries"; +import type { + ZHAConfiguration, + ZHANetworkSettings, + ZHANetworkBackupAndMetadata, +} from "../../../../../data/zha"; +import type { PageNavigation } from "../../../../../layouts/hass-tabs-subpage"; +import type { HomeAssistant, Route } from "../../../../../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../../components/buttons/ha-progress-button"; +import "../../../../../components/ha-card"; +import "../../../../../components/ha-fab"; +import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-icon-next"; +import "../../../../../components/ha-settings-row"; +import "../../../../../layouts/hass-tabs-subpage"; +import "../../../ha-config-section"; import "@material/mwc-button/mwc-button"; + import { mdiFolderMultipleOutline, mdiLan, @@ -6,38 +26,21 @@ import { mdiPlus, mdiPencil, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { ConfigEntry } from "../../../../../data/config_entries"; + import { getConfigEntries } from "../../../../../data/config_entries"; -import "../../../../../components/ha-card"; -import "../../../../../components/ha-fab"; -import "../../../../../components/ha-icon-button"; -import { fileDownload } from "../../../../../util/file_download"; -import "../../../../../components/ha-icon-next"; -import "../../../../../layouts/hass-tabs-subpage"; -import type { PageNavigation } from "../../../../../layouts/hass-tabs-subpage"; -import { showOptionsFlowDialog } from "../../../../../dialogs/config-flow/show-dialog-options-flow"; -import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; -import "../../../ha-config-section"; -import "../../../../../components/ha-form/ha-form"; -import "../../../../../components/buttons/ha-progress-button"; -import "../../../../../components/ha-settings-row"; -import { showZHAChangeChannelDialog } from "./show-dialog-zha-change-channel"; -import type { - ZHAConfiguration, - ZHANetworkSettings, - ZHANetworkBackupAndMetadata, -} from "../../../../../data/zha"; import { fetchZHAConfiguration, updateZHAConfiguration, fetchZHANetworkSettings, createZHANetworkBackup, } from "../../../../../data/zha"; +import { showOptionsFlowDialog } from "../../../../../dialogs/config-flow/show-dialog-options-flow"; import { showAlertDialog } from "../../../../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../../../resources/styles"; +import { fileDownload } from "../../../../../util/file_download"; +import { showZHAChangeChannelDialog } from "./show-dialog-zha-change-channel"; const MULTIPROTOCOL_ADDON_URL = "socket://core-silabs-multiprotocol:9999"; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-device-binding.ts b/src/panels/config/integrations/integration-panels/zha/zha-device-binding.ts index 9f532f868d..47a719d8f5 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-device-binding.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-device-binding.ts @@ -1,16 +1,19 @@ -import "@material/mwc-list/mwc-list-item"; +import type { ZHADevice } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { ItemSelectedEvent } from "./types"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { stopPropagation } from "../../../../../common/dom/stop_propagation"; + import "../../../../../components/buttons/ha-progress-button"; import "../../../../../components/ha-card"; import "../../../../../components/ha-select"; -import type { ZHADevice } from "../../../../../data/zha"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../../../common/dom/stop_propagation"; import { bindDevices, unbindDevices } from "../../../../../data/zha"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ItemSelectedEvent } from "./types"; @customElement("zha-device-binding-control") export class ZHADeviceBindingControl extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-device-card.ts b/src/panels/config/integrations/integration-panels/zha/zha-device-card.ts index 0c411f8ad6..13378c7ddf 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-device-card.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-device-card.ts @@ -1,28 +1,31 @@ +import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; +import type { ZHADevice } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { EntityRegistryStateEntry } from "../../../devices/ha-config-device-page"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { computeStateName } from "../../../../../common/entity/compute_state_name"; -import { stringCompare } from "../../../../../common/string/compare"; -import { slugify } from "../../../../../common/string/slugify"; + import "../../../../../components/entity/state-badge"; import "../../../../../components/ha-area-picker"; import "../../../../../components/ha-card"; import "../../../../../components/ha-textfield"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { computeStateName } from "../../../../../common/entity/compute_state_name"; +import { stringCompare } from "../../../../../common/string/compare"; +import { slugify } from "../../../../../common/string/slugify"; import { updateDeviceRegistryEntry } from "../../../../../data/device_registry"; -import type { EntityRegistryEntry } from "../../../../../data/entity_registry"; import { subscribeEntityRegistry, updateEntityRegistryEntry, } from "../../../../../data/entity_registry"; -import type { ZHADevice } from "../../../../../data/zha"; import { showAlertDialog } from "../../../../../dialogs/generic/show-dialog-box"; import { SubscribeMixin } from "../../../../../mixins/subscribe-mixin"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { EntityRegistryStateEntry } from "../../../devices/ha-config-device-page"; import { getIeeeTail } from "./functions"; @customElement("zha-device-card") diff --git a/src/panels/config/integrations/integration-panels/zha/zha-device-endpoint-data-table.ts b/src/panels/config/integrations/integration-panels/zha/zha-device-endpoint-data-table.ts index 0d24216dba..132b76ad46 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-device-endpoint-data-table.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-device-endpoint-data-table.ts @@ -1,8 +1,3 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import "../../../../../components/data-table/ha-data-table"; import type { DataTableColumnContainer, DataTableRowData, @@ -13,6 +8,13 @@ import type { ZHAEntityReference, } from "../../../../../data/zha"; import type { HomeAssistant } from "../../../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../../components/data-table/ha-data-table"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query } from "lit/decorators"; +import memoizeOne from "memoize-one"; export interface DeviceEndpointRowData extends DataTableRowData { id: string; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-device-neighbors.ts b/src/panels/config/integrations/integration-panels/zha/zha-device-neighbors.ts index 1ed0760f04..2af28d910a 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-device-neighbors.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-device-neighbors.ts @@ -1,17 +1,20 @@ -import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import "../../../../../components/data-table/ha-data-table"; import type { DataTableColumnContainer, DataTableRowData, } from "../../../../../components/data-table/ha-data-table"; -import "../../../../../components/ha-spinner"; -import "../../../../../components/ha-code-editor"; import type { ZHADevice } from "../../../../../data/zha"; -import { fetchDevices } from "../../../../../data/zha"; import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/data-table/ha-data-table"; +import "../../../../../components/ha-code-editor"; +import "../../../../../components/ha-spinner"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fetchDevices } from "../../../../../data/zha"; export interface DeviceRowData extends DataTableRowData { id: string; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-device-pairing-status-card.ts b/src/panels/config/integrations/integration-panels/zha/zha-device-pairing-status-card.ts index 37214af066..b7923b197c 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-device-pairing-status-card.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-device-pairing-status-card.ts @@ -1,9 +1,14 @@ +import type { ZHADevice } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-card"; +import "./zha-device-card"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import "../../../../../components/ha-card"; -import type { ZHADevice } from "../../../../../data/zha"; + import { CONFIGURED, INCOMPLETE_PAIRING_STATUSES, @@ -11,9 +16,7 @@ import { INTERVIEW_COMPLETE, } from "../../../../../data/zha"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { formatAsPaddedHex } from "./functions"; -import "./zha-device-card"; @customElement("zha-device-pairing-status-card") class ZHADevicePairingStatusCard extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-device-signature.ts b/src/panels/config/integrations/integration-panels/zha/zha-device-signature.ts index 7ddecd68e5..1d864edbc9 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-device-signature.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-device-signature.ts @@ -1,9 +1,11 @@ -import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../../../components/ha-code-editor"; import type { ZHADevice } from "../../../../../data/zha"; import type { HomeAssistant } from "../../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-code-editor"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; @customElement("zha-device-zigbee-info") class ZHADeviceZigbeeInfo extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-group-binding.ts b/src/panels/config/integrations/integration-panels/zha/zha-group-binding.ts index 38465b27b3..ae6924129d 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-group-binding.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-group-binding.ts @@ -1,24 +1,27 @@ -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state, query } from "lit/decorators"; import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; -import { stopPropagation } from "../../../../../common/dom/stop_propagation"; -import "../../../../../components/buttons/ha-progress-button"; import type { SelectionChangedEvent } from "../../../../../components/data-table/ha-data-table"; +import type { Cluster, ZHADevice, ZHAGroup } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { ItemSelectedEvent } from "./types"; +import type { ZHAClustersDataTable } from "./zha-clusters-data-table"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../../components/buttons/ha-progress-button"; import "../../../../../components/ha-card"; import "../../../../../components/ha-select"; -import type { Cluster, ZHADevice, ZHAGroup } from "../../../../../data/zha"; +import "./zha-clusters-data-table"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state, query } from "lit/decorators"; + +import { stopPropagation } from "../../../../../common/dom/stop_propagation"; import { bindDeviceToGroup, fetchClustersForZhaDevice, unbindDeviceFromGroup, } from "../../../../../data/zha"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ItemSelectedEvent } from "./types"; -import "./zha-clusters-data-table"; -import type { ZHAClustersDataTable } from "./zha-clusters-data-table"; -import "@material/mwc-list/mwc-list-item"; @customElement("zha-group-binding-control") export class ZHAGroupBindingControl extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts index 2510ff7c8b..3c4d6e6940 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts @@ -1,15 +1,26 @@ -import "@material/mwc-button"; -import { mdiDelete } from "@mdi/js"; +import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; +import type { SelectionChangedEvent } from "../../../../../components/data-table/ha-data-table"; +import type { ZHADeviceEndpoint, ZHAGroup } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZHADeviceEndpointDataTable } from "./zha-device-endpoint-data-table"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../../components/ha-card"; +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-list-item"; +import "../../../../../components/ha-spinner"; +import "../../../../../layouts/hass-error-screen"; +import "../../../../../layouts/hass-subpage"; +import "../../../ha-config-section"; +import "./zha-device-endpoint-data-table"; +import "@material/mwc-button"; +import "@material/mwc-list/mwc-list"; + +import { mdiDelete } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; -import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; + import { navigate } from "../../../../../common/navigate"; -import type { SelectionChangedEvent } from "../../../../../components/data-table/ha-data-table"; -import "../../../../../components/ha-card"; -import "../../../../../components/ha-spinner"; -import "../../../../../components/ha-icon-button"; -import type { ZHADeviceEndpoint, ZHAGroup } from "../../../../../data/zha"; import { addMembersToGroup, fetchGroup, @@ -17,15 +28,7 @@ import { removeGroups, removeMembersFromGroup, } from "../../../../../data/zha"; -import "../../../../../layouts/hass-error-screen"; -import "../../../../../layouts/hass-subpage"; -import type { HomeAssistant } from "../../../../../types"; -import "../../../ha-config-section"; import { formatAsPaddedHex } from "./functions"; -import "./zha-device-endpoint-data-table"; -import type { ZHADeviceEndpointDataTable } from "./zha-device-endpoint-data-table"; -import "@material/mwc-list/mwc-list"; -import "../../../../../components/ha-list-item"; @customElement("zha-group-page") export class ZHAGroupPage extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts b/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts index bc4b9efa59..1efeefd688 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-groups-dashboard.ts @@ -1,23 +1,26 @@ -import "@material/mwc-button"; -import { mdiPlus } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; -import { navigate } from "../../../../../common/navigate"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; import type { DataTableColumnContainer, RowClickedEvent, } from "../../../../../components/data-table/ha-data-table"; +import type { ZHAGroup } from "../../../../../data/zha"; +import type { HomeAssistant, Route } from "../../../../../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + import "../../../../../components/ha-fab"; import "../../../../../components/ha-icon-button"; -import type { ZHAGroup } from "../../../../../data/zha"; -import { fetchGroups } from "../../../../../data/zha"; import "../../../../../layouts/hass-tabs-subpage-data-table"; +import "@material/mwc-button"; + +import { mdiPlus } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { navigate } from "../../../../../common/navigate"; +import { fetchGroups } from "../../../../../data/zha"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; import { formatAsPaddedHex, sortZHAGroups } from "./functions"; import { zhaTabs } from "./zha-config-dashboard"; diff --git a/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts b/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts index cf60f26d99..2e1d1ffad5 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts @@ -1,20 +1,23 @@ +import type { Cluster, ZHADevice } from "../../../../../data/zha"; +import type { HomeAssistant } from "../../../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../../components/ha-card"; +import "../../../../../components/ha-select"; +import "./zha-cluster-attributes"; +import "./zha-cluster-commands"; import "@material/mwc-list/mwc-list-item"; import "@material/mwc-tab-bar/mwc-tab-bar"; import "@material/mwc-tab/mwc-tab"; -import type { CSSResultGroup, PropertyValues } from "lit"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { cache } from "lit/directives/cache"; + import { stopPropagation } from "../../../../../common/dom/stop_propagation"; -import "../../../../../components/ha-card"; -import "../../../../../components/ha-select"; -import type { Cluster, ZHADevice } from "../../../../../data/zha"; import { fetchClustersForZhaDevice } from "../../../../../data/zha"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { computeClusterKey } from "./functions"; -import "./zha-cluster-attributes"; -import "./zha-cluster-commands"; declare global { // for fire event diff --git a/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts index f14e8f93b7..fa3b3a0bb1 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts @@ -1,25 +1,28 @@ -import "@material/mwc-button"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import type { Edge, EdgeOptions, Node } from "vis-network/peer/esm/vis-network"; -import { Network } from "vis-network/peer/esm/vis-network"; -import { navigate } from "../../../../../common/navigate"; -import "../../../../../components/search-input"; -import "../../../../../components/device/ha-device-picker"; -import "../../../../../components/ha-button-menu"; -import "../../../../../components/ha-checkbox"; import type { HaCheckbox } from "../../../../../components/ha-checkbox"; -import "../../../../../components/ha-formfield"; import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; import type { ZHADevice } from "../../../../../data/zha"; -import { fetchDevices, refreshTopology } from "../../../../../data/zha"; -import "../../../../../layouts/hass-tabs-subpage"; import type { ValueChangedEvent, HomeAssistant, Route, } from "../../../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; +import type { Edge, EdgeOptions, Node } from "vis-network/peer/esm/vis-network"; + +import "../../../../../components/device/ha-device-picker"; +import "../../../../../components/ha-button-menu"; +import "../../../../../components/ha-checkbox"; +import "../../../../../components/ha-formfield"; +import "../../../../../components/search-input"; +import "../../../../../layouts/hass-tabs-subpage"; +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { Network } from "vis-network/peer/esm/vis-network"; + +import { navigate } from "../../../../../common/navigate"; +import { fetchDevices, refreshTopology } from "../../../../../data/zha"; import { formatAsPaddedHex } from "./functions"; import { zhaTabs } from "./zha-config-dashboard"; diff --git a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-color-switch.ts b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-color-switch.ts index b42fd76158..1125ddcf4b 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-color-switch.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-color-switch.ts @@ -1,13 +1,16 @@ -import { LitElement, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import type { HomeAssistant } from "../../../../../../types"; -import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; + import "../../../../../../components/ha-alert"; import "../../../../../../components/ha-spinner"; -import { extractApiErrorMessage } from "../../../../../../data/hassio/common"; import "./zwave_js-capability-control-multilevel-switch"; +import { LitElement, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { extractApiErrorMessage } from "../../../../../../data/hassio/common"; +import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; + enum ColorComponent { "Warm White" = 0, "Cold White", diff --git a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-door-lock.ts b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-door-lock.ts index b378d306f7..362b727dad 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-door-lock.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-door-lock.ts @@ -1,20 +1,23 @@ -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; +import type { HaProgressButton } from "../../../../../../components/buttons/ha-progress-button"; +import type { HaSwitch } from "../../../../../../components/ha-switch"; import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; import type { HomeAssistant } from "../../../../../../types"; -import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; -import "../../../../../../components/ha-button"; + import "../../../../../../components/buttons/ha-progress-button"; -import "../../../../../../components/ha-textfield"; -import "../../../../../../components/ha-select"; -import "../../../../../../components/ha-list-item"; import "../../../../../../components/ha-alert"; -import "../../../../../../components/ha-switch"; +import "../../../../../../components/ha-button"; import "../../../../../../components/ha-formfield"; +import "../../../../../../components/ha-list-item"; +import "../../../../../../components/ha-select"; import "../../../../../../components/ha-spinner"; -import type { HaSwitch } from "../../../../../../components/ha-switch"; -import type { HaProgressButton } from "../../../../../../components/buttons/ha-progress-button"; +import "../../../../../../components/ha-switch"; +import "../../../../../../components/ha-textfield"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { extractApiErrorMessage } from "../../../../../../data/hassio/common"; +import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; type DoorHandleStatus = [boolean, boolean, boolean, boolean]; diff --git a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-multilevel-switch.ts b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-multilevel-switch.ts index 9a06049121..4716f1e9a2 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-multilevel-switch.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-multilevel-switch.ts @@ -1,20 +1,23 @@ -import { LitElement, css, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../../../../components/buttons/ha-progress-button"; -import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; -import type { HomeAssistant } from "../../../../../../types"; -import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; -import "../../../../../../components/ha-textfield"; -import "../../../../../../components/ha-select"; -import "../../../../../../components/ha-list-item"; -import "../../../../../../components/ha-alert"; -import "../../../../../../components/ha-formfield"; -import "../../../../../../components/ha-switch"; import type { HaProgressButton } from "../../../../../../components/buttons/ha-progress-button"; import type { HaSelect } from "../../../../../../components/ha-select"; -import type { HaTextField } from "../../../../../../components/ha-textfield"; import type { HaSwitch } from "../../../../../../components/ha-switch"; +import type { HaTextField } from "../../../../../../components/ha-textfield"; +import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/buttons/ha-progress-button"; +import "../../../../../../components/ha-alert"; +import "../../../../../../components/ha-formfield"; +import "../../../../../../components/ha-list-item"; +import "../../../../../../components/ha-select"; +import "../../../../../../components/ha-switch"; +import "../../../../../../components/ha-textfield"; + +import { LitElement, css, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { extractApiErrorMessage } from "../../../../../../data/hassio/common"; +import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; @customElement("zwave_js-capability-control-multilevel_switch") class ZWaveJSCapabilityMultiLevelSwitch extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-thermostat-setback.ts b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-thermostat-setback.ts index 784a4b8e07..bc02ec27c7 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-thermostat-setback.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/capability-controls/zwave_js-capability-control-thermostat-setback.ts @@ -1,18 +1,21 @@ -import { LitElement, css, html } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; -import type { HomeAssistant } from "../../../../../../types"; -import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; -import "../../../../../../components/ha-button"; -import "../../../../../../components/buttons/ha-progress-button"; -import "../../../../../../components/ha-textfield"; -import "../../../../../../components/ha-select"; -import "../../../../../../components/ha-list-item"; -import "../../../../../../components/ha-alert"; +import type { HaProgressButton } from "../../../../../../components/buttons/ha-progress-button"; import type { HaSelect } from "../../../../../../components/ha-select"; import type { HaTextField } from "../../../../../../components/ha-textfield"; +import type { DeviceRegistryEntry } from "../../../../../../data/device_registry"; +import type { HomeAssistant } from "../../../../../../types"; + +import "../../../../../../components/buttons/ha-progress-button"; +import "../../../../../../components/ha-alert"; +import "../../../../../../components/ha-button"; +import "../../../../../../components/ha-list-item"; +import "../../../../../../components/ha-select"; +import "../../../../../../components/ha-textfield"; + +import { LitElement, css, html } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + import { extractApiErrorMessage } from "../../../../../../data/hassio/common"; -import type { HaProgressButton } from "../../../../../../components/buttons/ha-progress-button"; +import { invokeZWaveCCApi } from "../../../../../../data/zwave_js"; // enum with special states enum SpecialState { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts index 2151578fce..abc7b30922 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts @@ -1,26 +1,31 @@ -import "@material/mwc-button/mwc-button"; -import { mdiAlertCircle, mdiCheckCircle, mdiQrcodeScan } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-alert"; import type { HaCheckbox } from "../../../../../components/ha-checkbox"; -import "../../../../../components/ha-spinner"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-checkbox"; -import "../../../../../components/ha-formfield"; -import "../../../../../components/ha-qr-scanner"; -import "../../../../../components/ha-radio"; -import "../../../../../components/ha-switch"; -import "../../../../../components/ha-textfield"; import type { HaTextField } from "../../../../../components/ha-textfield"; import type { QRProvisioningInformation, RequestedGrant, } from "../../../../../data/zwave_js"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZWaveJSAddNodeDialogParams } from "./show-dialog-zwave_js-add-node"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-alert"; +import "../../../../../components/ha-checkbox"; +import "../../../../../components/ha-formfield"; +import "../../../../../components/ha-qr-scanner"; +import "../../../../../components/ha-radio"; +import "../../../../../components/ha-spinner"; +import "../../../../../components/ha-switch"; +import "../../../../../components/ha-textfield"; +import "@material/mwc-button/mwc-button"; + +import { mdiAlertCircle, mdiCheckCircle, mdiQrcodeScan } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; import { cancelSecureBootstrapS2, InclusionStrategy, @@ -37,8 +42,6 @@ import { zwaveValidateDskAndEnterPin, } from "../../../../../data/zwave_js"; import { haStyle, haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ZWaveJSAddNodeDialogParams } from "./show-dialog-zwave_js-add-node"; export interface ZWaveJSAddNodeDevice { id: string; diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-hard-reset-controller.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-hard-reset-controller.ts index b5dec3687e..4c797a59ef 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-hard-reset-controller.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-hard-reset-controller.ts @@ -1,17 +1,20 @@ -import { mdiCheckCircle, mdiDeleteForever, mdiRestore } from "@mdi/js"; -import "@material/mwc-button/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-svg-icon"; -import { hardResetController } from "../../../../../data/zwave_js"; -import { haStyleDialog } from "../../../../../resources/styles"; import type { HomeAssistant } from "../../../../../types"; import type { ZWaveJSHardResetControllerDialogParams } from "./show-dialog-zwave_js-hard-reset-controller"; -import { showConfirmationDialog } from "../../../../../dialogs/generic/show-dialog-box"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-svg-icon"; +import "@material/mwc-button/mwc-button"; + +import { mdiCheckCircle, mdiDeleteForever, mdiRestore } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { navigate } from "../../../../../common/navigate"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { hardResetController } from "../../../../../data/zwave_js"; +import { showConfirmationDialog } from "../../../../../dialogs/generic/show-dialog-box"; +import { haStyleDialog } from "../../../../../resources/styles"; enum ResetStatus { NotStarted, diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts index bbe442323b..e288832a0f 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts @@ -1,30 +1,33 @@ -import "@material/mwc-list/mwc-list"; -import "@material/mwc-list/mwc-list-item"; -import { mdiSwapHorizontal } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-expansion-panel"; -import "../../../../../components/ha-help-tooltip"; -import "../../../../../components/ha-svg-icon"; import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; -import { subscribeDeviceRegistry } from "../../../../../data/device_registry"; import type { ZWaveJSNodeStatisticsUpdatedMessage, ZWaveJSRouteStatistics, } from "../../../../../data/zwave_js"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZWaveJSNodeStatisticsDialogParams } from "./show-dialog-zwave_js-node-statistics"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../../components/ha-expansion-panel"; +import "../../../../../components/ha-help-tooltip"; +import "../../../../../components/ha-svg-icon"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiSwapHorizontal } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { subscribeDeviceRegistry } from "../../../../../data/device_registry"; import { ProtocolDataRate, RssiError, subscribeZwaveNodeStatistics, } from "../../../../../data/zwave_js"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ZWaveJSNodeStatisticsDialogParams } from "./show-dialog-zwave_js-node-statistics"; type WorkingRouteStatistics = | (ZWaveJSRouteStatistics & { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-network-routes.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-network-routes.ts index 5714df0d73..8e49c8149f 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-network-routes.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-network-routes.ts @@ -1,16 +1,21 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-linear-progress/mwc-linear-progress"; -import { mdiCheckCircle, mdiCloseCircle, mdiStethoscope } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; import type { ZWaveJSRebuildRoutesStatusMessage, ZWaveJSNetwork, } from "../../../../../data/zwave_js"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZWaveJSRebuildNetworkRoutesDialogParams } from "./show-dialog-zwave_js-rebuild-network-routes"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "@material/mwc-button/mwc-button"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +import { mdiCheckCircle, mdiCloseCircle, mdiStethoscope } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; import { fetchZwaveNetworkStatus, rebuildZwaveNetworkRoutes, @@ -18,8 +23,6 @@ import { subscribeRebuildZwaveNetworkRoutesProgress, } from "../../../../../data/zwave_js"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ZWaveJSRebuildNetworkRoutesDialogParams } from "./show-dialog-zwave_js-rebuild-network-routes"; @customElement("dialog-zwave_js-rebuild-network-routes") class DialogZWaveJSRebuildNetworkRoutes extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-node-routes.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-node-routes.ts index 19b12b06fd..88a150f1a5 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-node-routes.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-rebuild-node-routes.ts @@ -1,21 +1,24 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCheckCircle, mdiCloseCircle, mdiStethoscope } from "@mdi/js"; +import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import type { ZWaveJSNetwork } from "../../../../../data/zwave_js"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZWaveJSRebuildNodeRoutesDialogParams } from "./show-dialog-zwave_js-rebuild-node-routes"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { mdiCheckCircle, mdiCloseCircle, mdiStethoscope } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-spinner"; -import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; -import type { ZWaveJSNetwork } from "../../../../../data/zwave_js"; import { fetchZwaveNetworkStatus, rebuildZwaveNodeRoutes, } from "../../../../../data/zwave_js"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ZWaveJSRebuildNodeRoutesDialogParams } from "./show-dialog-zwave_js-rebuild-node-routes"; @customElement("dialog-zwave_js-rebuild-node-routes") class DialogZWaveJSRebuildNodeRoutes extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-reinterview-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-reinterview-node.ts index 58edf8fa02..06df0c33f1 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-reinterview-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-reinterview-node.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZWaveJSReinterviewNodeDialogParams } from "./show-dialog-zwave_js-reinterview-node"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; import { createCloseHeading } from "../../../../../components/ha-dialog"; import { reinterviewZwaveNode } from "../../../../../data/zwave_js"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ZWaveJSReinterviewNodeDialogParams } from "./show-dialog-zwave_js-reinterview-node"; @customElement("dialog-zwave_js-reinterview-node") class DialogZWaveJSReinterviewNode extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-failed-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-failed-node.ts index e5b46004a1..335bf69c29 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-failed-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-failed-node.ts @@ -1,17 +1,20 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCheckCircle, mdiCloseCircle, mdiRobotDead } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; import type { ZWaveJSRemovedNode } from "../../../../../data/zwave_js"; -import { removeFailedZwaveNode } from "../../../../../data/zwave_js"; -import { haStyleDialog } from "../../../../../resources/styles"; import type { HomeAssistant } from "../../../../../types"; import type { ZWaveJSRemoveFailedNodeDialogParams } from "./show-dialog-zwave_js-remove-failed-node"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { mdiCheckCircle, mdiCloseCircle, mdiRobotDead } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { removeFailedZwaveNode } from "../../../../../data/zwave_js"; +import { haStyleDialog } from "../../../../../resources/styles"; @customElement("dialog-zwave_js-remove-failed-node") class DialogZWaveJSRemoveFailedNode extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts index 581b59ba0e..cb373b7c42 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button/mwc-button"; -import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-spinner"; -import "../../../../../components/ha-alert"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; -import { haStyleDialog } from "../../../../../resources/styles"; import type { HomeAssistant } from "../../../../../types"; import type { ZWaveJSRemoveNodeDialogParams } from "./show-dialog-zwave_js-remove-node"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-alert"; +import "../../../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { mdiCheckCircle, mdiCloseCircle } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { haStyleDialog } from "../../../../../resources/styles"; export interface ZWaveJSRemovedNode { node_id: number; diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts index 706d394b85..10c266bc25 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts @@ -1,17 +1,4 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-linear-progress/mwc-linear-progress"; -import { mdiCheckCircle, mdiCloseCircle, mdiFileUpload } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; -import { createCloseHeading } from "../../../../../components/ha-dialog"; -import "../../../../../components/ha-file-upload"; -import "../../../../../components/ha-form/ha-form"; import type { HaFormSchema } from "../../../../../components/ha-form/types"; -import "../../../../../components/ha-svg-icon"; import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; import type { ZWaveJSControllerFirmwareUpdateFinishedMessage, @@ -20,6 +7,24 @@ import type { ZWaveJSNodeStatus, ZWaveJSNodeStatusUpdatedMessage, } from "../../../../../data/zwave_js"; +import type { HomeAssistant } from "../../../../../types"; +import type { ZWaveJSUpdateFirmwareNodeDialogParams } from "./show-dialog-zwave_js-update-firmware-node"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-file-upload"; +import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-svg-icon"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +import { mdiCheckCircle, mdiCloseCircle, mdiFileUpload } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; import { abortZwaveNodeFirmwareUpdate, ControllerFirmwareUpdateStatus, @@ -36,8 +41,6 @@ import { showConfirmationDialog, } from "../../../../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; -import type { ZWaveJSUpdateFirmwareNodeDialogParams } from "./show-dialog-zwave_js-update-firmware-node"; const firmwareTargetSchema: HaFormSchema[] = [ { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts index 0b684d8f80..607c5275fe 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export interface ZWaveJSNodeStatisticsDialogParams { device: DeviceRegistryEntry; } diff --git a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-rebuild-node-routes.ts b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-rebuild-node-routes.ts index 724510c1b3..efede7bc8b 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-rebuild-node-routes.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-rebuild-node-routes.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export interface ZWaveJSRebuildNodeRoutesDialogParams { device: DeviceRegistryEntry; } diff --git a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts index f02385b21f..9fb889c68f 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export interface ZWaveJSUpdateFirmwareNodeDialogParams { device: DeviceRegistryEntry; } diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-add-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-add-node.ts index 6c7a36486b..001ed18915 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-add-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-add-node.ts @@ -1,7 +1,9 @@ /* eslint-disable lit/lifecycle-super */ -import { customElement } from "lit/decorators"; -import { navigate } from "../../../../../common/navigate"; import type { HomeAssistant } from "../../../../../types"; + +import { customElement } from "lit/decorators"; + +import { navigate } from "../../../../../common/navigate"; import { showZWaveJSAddNodeDialog } from "./show-dialog-zwave_js-add-node"; @customElement("zwave_js-add-node") diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts index 27190a1622..7539d18d28 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts @@ -1,5 +1,27 @@ +import type { ConfigEntry } from "../../../../../data/config_entries"; +import type { + ZWaveJSClient, + ZWaveJSControllerStatisticsUpdatedMessage, + ZWaveJSNetwork, + ZwaveJSProvisioningEntry, +} from "../../../../../data/zwave_js"; +import type { HomeAssistant, Route } from "../../../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../../../components/ha-button"; +import "../../../../../components/ha-card"; +import "../../../../../components/ha-expansion-panel"; +import "../../../../../components/ha-fab"; +import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-icon-next"; +import "../../../../../components/ha-progress-ring"; +import "../../../../../components/ha-spinner"; +import "../../../../../components/ha-svg-icon"; +import "../../../../../layouts/hass-tabs-subpage"; import "@material/mwc-list/mwc-list"; import "@material/mwc-list/mwc-list-item"; + import { mdiAlertCircle, mdiCheckCircle, @@ -7,31 +29,14 @@ import { mdiPlus, mdiRefresh, } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import "../../../../../components/ha-card"; -import "../../../../../components/ha-expansion-panel"; -import "../../../../../components/ha-fab"; -import "../../../../../components/ha-spinner"; -import "../../../../../components/ha-icon-button"; -import "../../../../../components/ha-button"; -import "../../../../../components/ha-icon-next"; -import "../../../../../components/ha-svg-icon"; -import "../../../../../components/ha-progress-ring"; -import type { ConfigEntry } from "../../../../../data/config_entries"; + import { ERROR_STATES, getConfigEntries, } from "../../../../../data/config_entries"; -import type { - ZWaveJSClient, - ZWaveJSControllerStatisticsUpdatedMessage, - ZWaveJSNetwork, - ZwaveJSProvisioningEntry, -} from "../../../../../data/zwave_js"; import { fetchZwaveDataCollectionStatus, fetchZwaveNetworkStatus, @@ -45,15 +50,13 @@ import { } from "../../../../../data/zwave_js"; import { showOptionsFlowDialog } from "../../../../../dialogs/config-flow/show-dialog-options-flow"; import { showAlertDialog } from "../../../../../dialogs/generic/show-dialog-box"; -import "../../../../../layouts/hass-tabs-subpage"; import { SubscribeMixin } from "../../../../../mixins/subscribe-mixin"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; +import { fileDownload } from "../../../../../util/file_download"; import { showZWaveJSAddNodeDialog } from "./show-dialog-zwave_js-add-node"; import { showZWaveJSRebuildNetworkRoutesDialog } from "./show-dialog-zwave_js-rebuild-network-routes"; import { showZWaveJSRemoveNodeDialog } from "./show-dialog-zwave_js-remove-node"; import { configTabs } from "./zwave_js-config-router"; -import { fileDownload } from "../../../../../util/file_download"; @customElement("zwave_js-config-dashboard") class ZWaveJSConfigDashboard extends SubscribeMixin(LitElement) { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-router.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-router.ts index 28e1110e46..d520d88100 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-router.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-router.ts @@ -1,11 +1,13 @@ +import type { RouterOptions } from "../../../../../layouts/hass-router-page"; +import type { PageNavigation } from "../../../../../layouts/hass-tabs-subpage"; +import type { HomeAssistant } from "../../../../../types"; + import { mdiServerNetwork, mdiMathLog } from "@mdi/js"; import { customElement, property } from "lit/decorators"; -import type { RouterOptions } from "../../../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../../../layouts/hass-router-page"; -import type { HomeAssistant } from "../../../../../types"; + import { navigate } from "../../../../../common/navigate"; -import type { PageNavigation } from "../../../../../layouts/hass-tabs-subpage"; import { getConfigEntries } from "../../../../../data/config_entries"; +import { HassRouterPage } from "../../../../../layouts/hass-router-page"; export const configTabs: PageNavigation[] = [ { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-custom-param.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-custom-param.ts index 979edde420..23e5e61695 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-custom-param.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-custom-param.ts @@ -1,17 +1,20 @@ +import type { HomeAssistant } from "../../../../../types"; + +import "../../../../../components/ha-button"; +import "../../../../../components/ha-list-item"; +import "../../../../../components/ha-select"; +import "../../../../../components/ha-spinner"; +import "../../../../../components/ha-textfield"; + +import { mdiCloseCircle } from "@mdi/js"; import { LitElement, html, css, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import { mdiCloseCircle } from "@mdi/js"; -import "../../../../../components/ha-textfield"; -import "../../../../../components/ha-select"; -import "../../../../../components/ha-button"; -import "../../../../../components/ha-spinner"; -import "../../../../../components/ha-list-item"; -import type { HomeAssistant } from "../../../../../types"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { getZwaveNodeRawConfigParameter, setZwaveNodeRawConfigParameter, } from "../../../../../data/zwave_js"; -import { fireEvent } from "../../../../../common/dom/fire_event"; @customElement("zwave_js-custom-param") class ZWaveJSCustomParam extends LitElement { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts index 12d0183fd6..6010088ae5 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts @@ -1,22 +1,25 @@ -import "@material/mwc-list/mwc-list-item"; -import { mdiDownload } from "@mdi/js"; +import type { ZWaveJSLogConfig } from "../../../../../data/zwave_js"; +import type { HomeAssistant, Route } from "../../../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultArray } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { capitalizeFirstLetter } from "../../../../../common/string/capitalize-first-letter"; + import "../../../../../components/ha-icon-button"; import "../../../../../components/ha-select"; -import type { ZWaveJSLogConfig } from "../../../../../data/zwave_js"; +import "../../../../../layouts/hass-tabs-subpage"; +import "@material/mwc-list/mwc-list-item"; + +import { mdiDownload } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { capitalizeFirstLetter } from "../../../../../common/string/capitalize-first-letter"; import { fetchZWaveJSLogConfig, setZWaveJSLogLevel, subscribeZWaveJSLogs, } from "../../../../../data/zwave_js"; -import "../../../../../layouts/hass-tabs-subpage"; import { SubscribeMixin } from "../../../../../mixins/subscribe-mixin"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; import { fileDownload } from "../../../../../util/file_download"; import { configTabs } from "./zwave_js-config-router"; diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts index 25865a3fca..2cd06fefa5 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts @@ -1,27 +1,4 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-list/mwc-list-item"; -import { - mdiCheckCircle, - mdiCircle, - mdiCloseCircle, - mdiProgressClock, -} from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; -import { groupBy } from "../../../../../common/util/group-by"; -import "../../../../../components/buttons/ha-progress-button"; import type { HaProgressButton } from "../../../../../components/buttons/ha-progress-button"; -import "../../../../../components/ha-alert"; -import "../../../../../components/ha-card"; -import "../../../../../components/ha-select"; -import "../../../../../components/ha-selector/ha-selector-boolean"; -import "../../../../../components/ha-settings-row"; -import "../../../../../components/ha-svg-icon"; -import "../../../../../components/ha-textfield"; import type { ZWaveJSNodeCapabilities, ZWaveJSNodeConfigParam, @@ -29,6 +6,38 @@ import type { ZWaveJSSetConfigParamResult, ZwaveJSNodeMetadata, } from "../../../../../data/zwave_js"; +import type { HomeAssistant, Route } from "../../../../../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../../components/buttons/ha-progress-button"; +import "../../../../../components/ha-alert"; +import "../../../../../components/ha-card"; +import "../../../../../components/ha-select"; +import "../../../../../components/ha-selector/ha-selector-boolean"; +import "../../../../../components/ha-settings-row"; +import "../../../../../components/ha-svg-icon"; +import "../../../../../components/ha-textfield"; +import "../../../../../layouts/hass-error-screen"; +import "../../../../../layouts/hass-loading-screen"; +import "../../../../../layouts/hass-tabs-subpage"; +import "../../../ha-config-section"; +import "./zwave_js-custom-param"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { + mdiCheckCircle, + mdiCircle, + mdiCloseCircle, + mdiProgressClock, +} from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; +import { groupBy } from "../../../../../common/util/group-by"; import { fetchZwaveNodeCapabilities, fetchZwaveNodeConfigParameters, @@ -37,14 +46,8 @@ import { setZwaveNodeConfigParameter, } from "../../../../../data/zwave_js"; import { showConfirmationDialog } from "../../../../../dialogs/generic/show-dialog-box"; -import "../../../../../layouts/hass-error-screen"; -import "../../../../../layouts/hass-loading-screen"; -import "../../../../../layouts/hass-tabs-subpage"; import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; -import "../../../ha-config-section"; import { configTabs } from "./zwave_js-config-router"; -import "./zwave_js-custom-param"; const icons = { accepted: mdiCheckCircle, diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-installer.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-installer.ts index 3d8b84bb56..ff28c4998f 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-installer.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-installer.ts @@ -1,29 +1,32 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-list/mwc-list-item"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { dynamicElement } from "../../../../../common/dom/dynamic-element-directive"; -import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; -import "../../../../../components/ha-card"; import type { ZWaveJSNodeCapabilities, ZwaveJSNodeMetadata, } from "../../../../../data/zwave_js"; -import { - fetchZwaveNodeCapabilities, - fetchZwaveNodeMetadata, -} from "../../../../../data/zwave_js"; +import type { HomeAssistant, Route } from "../../../../../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../../components/ha-card"; import "../../../../../layouts/hass-error-screen"; import "../../../../../layouts/hass-loading-screen"; import "../../../../../layouts/hass-subpage"; -import { haStyle } from "../../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../../types"; import "../../../ha-config-section"; import "./capability-controls/zwave_js-capability-control-color-switch"; import "./capability-controls/zwave_js-capability-control-door-lock"; import "./capability-controls/zwave_js-capability-control-multilevel-switch"; import "./capability-controls/zwave_js-capability-control-thermostat-setback"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { dynamicElement } from "../../../../../common/dom/dynamic-element-directive"; +import { computeDeviceNameDisplay } from "../../../../../common/entity/compute_device_name"; +import { + fetchZwaveNodeCapabilities, + fetchZwaveNodeMetadata, +} from "../../../../../data/zwave_js"; +import { haStyle } from "../../../../../resources/styles"; const CAPABILITY_CONTROLS = { 38: "multilevel_switch", diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts index 38a26852bd..775abb7a7f 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts @@ -1,18 +1,21 @@ +import type { LocalizeFunc } from "../../../../../common/translations/localize"; +import type { DataTableColumnContainer } from "../../../../../components/data-table/ha-data-table"; +import type { ZwaveJSProvisioningEntry } from "../../../../../data/zwave_js"; +import type { HomeAssistant, Route } from "../../../../../types"; + +import "../../../../../layouts/hass-tabs-subpage-data-table"; + import { mdiCheckCircle, mdiCloseCircleOutline, mdiDelete } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; -import type { DataTableColumnContainer } from "../../../../../components/data-table/ha-data-table"; -import type { ZwaveJSProvisioningEntry } from "../../../../../data/zwave_js"; + import { fetchZwaveProvisioningEntries, SecurityClass, unprovisionZwaveSmartStartNode, } from "../../../../../data/zwave_js"; -import type { LocalizeFunc } from "../../../../../common/translations/localize"; import { showConfirmationDialog } from "../../../../../dialogs/generic/show-dialog-box"; -import "../../../../../layouts/hass-tabs-subpage-data-table"; -import type { HomeAssistant, Route } from "../../../../../types"; import { configTabs } from "./zwave_js-config-router"; @customElement("zwave_js-provisioned") diff --git a/src/panels/config/integrations/show-add-integration-dialog.ts b/src/panels/config/integrations/show-add-integration-dialog.ts index 83ee10094f..697fa03e7f 100644 --- a/src/panels/config/integrations/show-add-integration-dialog.ts +++ b/src/panels/config/integrations/show-add-integration-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { IntegrationManifest } from "../../../data/integration"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface AddIntegrationDialogParams { brand?: string; domain?: string; diff --git a/src/panels/config/labels/dialog-label-detail.ts b/src/panels/config/labels/dialog-label-detail.ts index 8832808501..eec1e27dd0 100644 --- a/src/panels/config/labels/dialog-label-detail.ts +++ b/src/panels/config/labels/dialog-label-detail.ts @@ -1,24 +1,27 @@ -import "@material/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-alert"; -import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-formfield"; -import "../../../components/ha-switch"; -import "../../../components/ha-textfield"; -import "../../../components/ha-textarea"; -import "../../../components/ha-icon-picker"; -import "../../../components/ha-color-picker"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; -import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { LabelDetailDialogParams } from "./show-dialog-label-detail"; import type { LabelRegistryEntry, LabelRegistryEntryMutableParams, } from "../../../data/label_registry"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../types"; +import type { LabelDetailDialogParams } from "./show-dialog-label-detail"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-color-picker"; +import "../../../components/ha-formfield"; +import "../../../components/ha-icon-picker"; +import "../../../components/ha-switch"; +import "../../../components/ha-textarea"; +import "../../../components/ha-textfield"; +import "@material/mwc-button"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; +import { haStyleDialog } from "../../../resources/styles"; @customElement("dialog-label-detail") class DialogLabelDetail diff --git a/src/panels/config/labels/ha-config-labels.ts b/src/panels/config/labels/ha-config-labels.ts index 77ed20ff72..5676a6e323 100644 --- a/src/panels/config/labels/ha-config-labels.ts +++ b/src/panels/config/labels/ha-config-labels.ts @@ -1,3 +1,22 @@ +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SortingChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { + LabelRegistryEntry, + LabelRegistryEntryMutableParams, +} from "../../../data/label_registry"; +import type { HomeAssistant, Route } from "../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-fab"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-relative-time"; +import "../../../layouts/hass-tabs-subpage-data-table"; + import { mdiDelete, mdiDevices, @@ -6,28 +25,14 @@ import { mdiRobot, mdiShape, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { formatShortDateTime } from "../../../common/datetime/format_date_time"; import { storage } from "../../../common/decorators/storage"; import { navigate } from "../../../common/navigate"; -import type { LocalizeFunc } from "../../../common/translations/localize"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SortingChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/ha-fab"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-relative-time"; -import type { - LabelRegistryEntry, - LabelRegistryEntryMutableParams, -} from "../../../data/label_registry"; import { createLabelRegistryEntry, deleteLabelRegistryEntry, @@ -38,8 +43,6 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; -import type { HomeAssistant, Route } from "../../../types"; import { configSections } from "../ha-panel-config"; import { showLabelDetailDialog } from "./show-dialog-label-detail"; diff --git a/src/panels/config/labels/show-dialog-label-detail.ts b/src/panels/config/labels/show-dialog-label-detail.ts index a16f8089f4..4d380f3147 100644 --- a/src/panels/config/labels/show-dialog-label-detail.ts +++ b/src/panels/config/labels/show-dialog-label-detail.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { LabelRegistryEntry, LabelRegistryEntryMutableParams, } from "../../../data/label_registry"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface LabelDetailDialogParams { entry?: LabelRegistryEntry; suggestedName?: string; diff --git a/src/panels/config/logs/dialog-download-logs.ts b/src/panels/config/logs/dialog-download-logs.ts index 801ef1db22..42ea35c453 100644 --- a/src/panels/config/logs/dialog-download-logs.ts +++ b/src/panels/config/logs/dialog-download-logs.ts @@ -1,21 +1,24 @@ -import { mdiClose } from "@mdi/js"; +import type { HaMdDialog } from "../../../components/ha-md-dialog"; +import type { HomeAssistant } from "../../../types"; +import type { DownloadLogsDialogParams } from "./show-dialog-download-logs"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; + import "../../../components/ha-button"; import "../../../components/ha-dialog-header"; import "../../../components/ha-icon-button"; import "../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../components/ha-md-dialog"; import "../../../components/ha-md-select"; import "../../../components/ha-md-select-option"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { getSignedPath } from "../../../data/auth"; import { getHassioLogDownloadLinesUrl } from "../../../data/hassio/supervisor"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { fileDownload } from "../../../util/file_download"; -import type { DownloadLogsDialogParams } from "./show-dialog-download-logs"; const DEFAULT_LINE_COUNT = 500; diff --git a/src/panels/config/logs/dialog-system-log-detail.ts b/src/panels/config/logs/dialog-system-log-detail.ts index 243216304c..a7eaa04f0c 100644 --- a/src/panels/config/logs/dialog-system-log-detail.ts +++ b/src/panels/config/logs/dialog-system-log-detail.ts @@ -1,15 +1,20 @@ -import { mdiClose, mdiContentCopy } from "@mdi/js"; +import type { IntegrationManifest } from "../../../data/integration"; +import type { HomeAssistant } from "../../../types"; +import type { SystemLogDetailDialogParams } from "./show-dialog-system-log-detail"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { copyToClipboard } from "../../../common/util/copy-clipboard"; + import "../../../components/ha-alert"; import "../../../components/ha-dialog"; import "../../../components/ha-dialog-header"; import "../../../components/ha-icon-button"; import "../../../components/ha-svg-icon"; -import type { IntegrationManifest } from "../../../data/integration"; + +import { mdiClose, mdiContentCopy } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { copyToClipboard } from "../../../common/util/copy-clipboard"; import { domainToName, fetchIntegrationManifest, @@ -20,10 +25,8 @@ import { isCustomIntegrationError, } from "../../../data/system_log"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { showToast } from "../../../util/toast"; -import type { SystemLogDetailDialogParams } from "./show-dialog-system-log-detail"; import { formatSystemLogTime } from "./util"; class DialogSystemLogDetail extends LitElement { diff --git a/src/panels/config/logs/error-log-card.ts b/src/panels/config/logs/error-log-card.ts index 395eed7a7e..93a3fd6b28 100644 --- a/src/panels/config/logs/error-log-card.ts +++ b/src/panels/config/logs/error-log-card.ts @@ -1,6 +1,27 @@ -import "@material/mwc-list/mwc-list-item"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { HaAnsiToHtml } from "../../../components/ha-ansi-to-html"; +import type { HaMenu } from "../../../components/ha-menu"; +import type { ConnectionStatus } from "../../../data/connection-status"; +import type { HomeAssistant } from "../../../types"; import type { ActionDetail } from "@material/mwc-list"; +import "../../../components/chips/ha-assist-chip"; +import "../../../components/ha-alert"; +import "../../../components/ha-ansi-to-html"; +import "../../../components/ha-button"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-md-divider"; +import "../../../components/ha-md-menu-item"; +import "../../../components/ha-menu"; +import "../../../components/ha-spinner"; +import "../../../components/ha-svg-icon"; +import "@material/mwc-list/mwc-list-item"; + +// eslint-disable-next-line import/extensions +import { IntersectionController } from "@lit-labs/observers/intersection-controller.js"; import { mdiArrowCollapseDown, mdiDotsVertical, @@ -22,28 +43,14 @@ import { type TemplateResult, nothing, } from "lit"; +import { customElement, property, state, query } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -// eslint-disable-next-line import/extensions -import { IntersectionController } from "@lit-labs/observers/intersection-controller.js"; -import { customElement, property, state, query } from "lit/decorators"; -import "../../../components/ha-alert"; -import "../../../components/ha-ansi-to-html"; -import type { HaAnsiToHtml } from "../../../components/ha-ansi-to-html"; -import "../../../components/ha-card"; -import "../../../components/ha-button"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-spinner"; -import "../../../components/chips/ha-assist-chip"; -import "../../../components/ha-menu"; -import "../../../components/ha-md-menu-item"; -import "../../../components/ha-md-divider"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-list-item"; - +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { atLeastVersion } from "../../../common/config/version"; +import { fireEvent, type HASSDomEvent } from "../../../common/dom/fire_event"; +import { debounce } from "../../../common/util/debounce"; import { getSignedPath } from "../../../data/auth"; - import { fetchErrorLog, getErrorLogDownloadUrl } from "../../../data/error_log"; import { extractApiErrorMessage } from "../../../data/hassio/common"; import { @@ -55,19 +62,11 @@ import { getHassioLogDownloadLinesUrl, getHassioLogDownloadUrl, } from "../../../data/hassio/supervisor"; -import type { HomeAssistant } from "../../../types"; import { downloadFileSupported, fileDownload, } from "../../../util/file_download"; -import { fireEvent, type HASSDomEvent } from "../../../common/dom/fire_event"; -import type { ConnectionStatus } from "../../../data/connection-status"; -import { atLeastVersion } from "../../../common/config/version"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { debounce } from "../../../common/util/debounce"; import { showDownloadLogsDialog } from "./show-dialog-download-logs"; -import type { HaMenu } from "../../../components/ha-menu"; -import type { LocalizeFunc } from "../../../common/translations/localize"; const NUMBER_OF_LINES = 100; diff --git a/src/panels/config/logs/ha-config-logs.ts b/src/panels/config/logs/ha-config-logs.ts index 4492fa07b5..d6169b110e 100644 --- a/src/panels/config/logs/ha-config-logs.ts +++ b/src/panels/config/logs/ha-config-logs.ts @@ -1,22 +1,25 @@ -import { mdiChevronDown } from "@mdi/js"; +import type { LogProvider } from "../../../data/error_log"; +import type { HomeAssistant, Route } from "../../../types"; +import type { SystemLogCard } from "./system-log-card"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { navigate } from "../../../common/navigate"; -import { extractSearchParam } from "../../../common/url/search-params"; + import "../../../components/ha-button"; import "../../../components/ha-button-menu"; import "../../../components/search-input"; -import type { LogProvider } from "../../../data/error_log"; -import { fetchHassioAddonsInfo } from "../../../data/hassio/addon"; -import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import "../../../layouts/hass-subpage"; -import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import "./error-log-card"; import "./system-log-card"; -import type { SystemLogCard } from "./system-log-card"; + +import { mdiChevronDown } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { navigate } from "../../../common/navigate"; +import { extractSearchParam } from "../../../common/url/search-params"; +import { fetchHassioAddonsInfo } from "../../../data/hassio/addon"; +import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../resources/styles"; const logProviders: LogProvider[] = [ { diff --git a/src/panels/config/logs/show-dialog-system-log-detail.ts b/src/panels/config/logs/show-dialog-system-log-detail.ts index 95a5e24796..00218ff612 100644 --- a/src/panels/config/logs/show-dialog-system-log-detail.ts +++ b/src/panels/config/logs/show-dialog-system-log-detail.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { LoggedError } from "../../../data/system_log"; +import { fireEvent } from "../../../common/dom/fire_event"; + declare global { // for fire event interface HASSDomEvents { diff --git a/src/panels/config/logs/system-log-card.ts b/src/panels/config/logs/system-log-card.ts index 23841bdc20..2782790444 100644 --- a/src/panels/config/logs/system-log-card.ts +++ b/src/panels/config/logs/system-log-card.ts @@ -1,27 +1,30 @@ -import "@material/mwc-list/mwc-list"; -import { mdiDotsVertical, mdiDownload, mdiRefresh, mdiText } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { LoggedError } from "../../../data/system_log"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/buttons/ha-call-service-button"; import "../../../components/buttons/ha-progress-button"; import "../../../components/ha-button-menu"; import "../../../components/ha-card"; -import "../../../components/ha-spinner"; import "../../../components/ha-icon-button"; import "../../../components/ha-list-item"; +import "../../../components/ha-spinner"; +import "@material/mwc-list/mwc-list"; + +import { mdiDotsVertical, mdiDownload, mdiRefresh, mdiText } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { getSignedPath } from "../../../data/auth"; import { getErrorLogDownloadUrl } from "../../../data/error_log"; import { domainToName } from "../../../data/integration"; -import type { LoggedError } from "../../../data/system_log"; import { fetchSystemLog, getLoggedErrorIntegration, isCustomIntegrationError, } from "../../../data/system_log"; -import type { HomeAssistant } from "../../../types"; import { fileDownload } from "../../../util/file_download"; import { showSystemLogDetailDialog } from "./show-dialog-system-log-detail"; import { formatSystemLogTime } from "./util"; diff --git a/src/panels/config/logs/util.ts b/src/panels/config/logs/util.ts index f32f4ca703..dd889a24e6 100644 --- a/src/panels/config/logs/util.ts +++ b/src/panels/config/logs/util.ts @@ -1,7 +1,8 @@ +import type { FrontendLocaleData } from "../../../data/translation"; import type { HassConfig } from "home-assistant-js-websocket"; + import { formatDateTimeWithSeconds } from "../../../common/datetime/format_date_time"; import { formatTimeWithSeconds } from "../../../common/datetime/format_time"; -import type { FrontendLocaleData } from "../../../data/translation"; export const formatSystemLogTime = ( date, diff --git a/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-configure-strategy.ts b/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-configure-strategy.ts index 76ff671264..0b6d1cab1b 100644 --- a/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-configure-strategy.ts +++ b/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-configure-strategy.ts @@ -1,15 +1,18 @@ +import type { LovelaceStrategyConfig } from "../../../../data/lovelace/config/strategy"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceDashboardConfigureStrategyDialogParams } from "./show-dialog-lovelace-dashboard-configure-strategy"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-form/ha-form"; +import "../../../lovelace/editor/dashboard-strategy-editor/hui-dashboard-strategy-element-editor"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-button"; import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-form/ha-form"; -import type { LovelaceStrategyConfig } from "../../../../data/lovelace/config/strategy"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "../../../lovelace/editor/dashboard-strategy-editor/hui-dashboard-strategy-element-editor"; -import type { LovelaceDashboardConfigureStrategyDialogParams } from "./show-dialog-lovelace-dashboard-configure-strategy"; @customElement("dialog-lovelace-dashboard-configure-strategy") export class DialogLovelaceDashboardDetail extends LitElement { diff --git a/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-detail.ts b/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-detail.ts index bceec4d6a8..09e4550116 100644 --- a/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-detail.ts +++ b/src/panels/config/lovelace/dashboards/dialog-lovelace-dashboard-detail.ts @@ -1,12 +1,3 @@ -import "@material/mwc-button/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { slugify } from "../../../../common/string/slugify"; -import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { CoreFrontendUserData } from "../../../../data/frontend"; import type { @@ -14,10 +5,22 @@ import type { LovelaceDashboardCreateParams, LovelaceDashboardMutableParams, } from "../../../../data/lovelace/dashboard"; -import { DEFAULT_PANEL, setDefaultPanel } from "../../../../data/panel"; -import { haStyleDialog } from "../../../../resources/styles"; import type { HomeAssistant } from "../../../../types"; import type { LovelaceDashboardDetailsDialogParams } from "./show-dialog-lovelace-dashboard-detail"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { slugify } from "../../../../common/string/slugify"; +import { createCloseHeading } from "../../../../components/ha-dialog"; +import { DEFAULT_PANEL, setDefaultPanel } from "../../../../data/panel"; +import { haStyleDialog } from "../../../../resources/styles"; @customElement("dialog-lovelace-dashboard-detail") export class DialogLovelaceDashboardDetail extends LitElement { diff --git a/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts b/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts index 033668a24e..b251c26af8 100644 --- a/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts +++ b/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts @@ -1,3 +1,27 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SortingChangedEvent, +} from "../../../../components/data-table/ha-data-table"; +import type { LovelacePanelConfig } from "../../../../data/lovelace"; +import type { LovelaceRawConfig } from "../../../../data/lovelace/config/types"; +import type { + LovelaceDashboard, + LovelaceDashboardCreateParams, +} from "../../../../data/lovelace/dashboard"; +import type { HomeAssistant, Route } from "../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-clickable-list-item"; +import "../../../../components/ha-fab"; +import "../../../../components/ha-icon"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-svg-icon"; +import "../../../../components/ha-tooltip"; +import "../../../../layouts/hass-loading-screen"; +import "../../../../layouts/hass-tabs-subpage-data-table"; + import { mdiCheck, mdiCheckCircleOutline, @@ -5,35 +29,19 @@ import { mdiOpenInNew, mdiPlus, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import memoize from "memoize-one"; + import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; +import { storage } from "../../../../common/decorators/storage"; import { navigate } from "../../../../common/navigate"; import { stringCompare } from "../../../../common/string/compare"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SortingChangedEvent, -} from "../../../../components/data-table/ha-data-table"; -import "../../../../components/ha-clickable-list-item"; -import "../../../../components/ha-fab"; -import "../../../../components/ha-icon"; -import "../../../../components/ha-icon-button"; -import "../../../../components/ha-svg-icon"; -import "../../../../components/ha-tooltip"; -import type { LovelacePanelConfig } from "../../../../data/lovelace"; -import type { LovelaceRawConfig } from "../../../../data/lovelace/config/types"; import { isStrategyDashboard, saveConfig, } from "../../../../data/lovelace/config/types"; -import type { - LovelaceDashboard, - LovelaceDashboardCreateParams, -} from "../../../../data/lovelace/dashboard"; import { createDashboard, deleteDashboard, @@ -41,16 +49,11 @@ import { updateDashboard, } from "../../../../data/lovelace/dashboard"; import { showConfirmationDialog } from "../../../../dialogs/generic/show-dialog-box"; -import "../../../../layouts/hass-loading-screen"; -import "../../../../layouts/hass-tabs-subpage-data-table"; -import type { HomeAssistant, Route } from "../../../../types"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; import { getLovelaceStrategy } from "../../../lovelace/strategies/get-strategy"; import { showNewDashboardDialog } from "../../dashboard/show-dialog-new-dashboard"; import { lovelaceTabs } from "../ha-config-lovelace"; import { showDashboardConfigureStrategyDialog } from "./show-dialog-lovelace-dashboard-configure-strategy"; import { showDashboardDetailDialog } from "./show-dialog-lovelace-dashboard-detail"; -import { storage } from "../../../../common/decorators/storage"; type DataTableItem = Pick< LovelaceDashboard, diff --git a/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-configure-strategy.ts b/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-configure-strategy.ts index 132a13d381..851af78157 100644 --- a/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-configure-strategy.ts +++ b/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-configure-strategy.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceDashboardStrategyConfig } from "../../../../data/lovelace/config/types"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface LovelaceDashboardConfigureStrategyDialogParams { config: LovelaceDashboardStrategyConfig; saveConfig: (values: LovelaceDashboardStrategyConfig) => Promise; diff --git a/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-detail.ts b/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-detail.ts index 3f9e6c8fdf..ad64df327b 100644 --- a/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-detail.ts +++ b/src/panels/config/lovelace/dashboards/show-dialog-lovelace-dashboard-detail.ts @@ -1,10 +1,11 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceDashboard, LovelaceDashboardCreateParams, LovelaceDashboardMutableParams, } from "../../../../data/lovelace/dashboard"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface LovelaceDashboardDetailsDialogParams { dashboard?: LovelaceDashboard; urlPath?: string; diff --git a/src/panels/config/lovelace/ha-config-lovelace.ts b/src/panels/config/lovelace/ha-config-lovelace.ts index d5da7ea44d..d94df6959e 100644 --- a/src/panels/config/lovelace/ha-config-lovelace.ts +++ b/src/panels/config/lovelace/ha-config-lovelace.ts @@ -1,8 +1,10 @@ +import type { RouterOptions } from "../../../layouts/hass-router-page"; +import type { HomeAssistant } from "../../../types"; + import { mdiViewDashboard } from "@mdi/js"; import { customElement, property } from "lit/decorators"; -import type { RouterOptions } from "../../../layouts/hass-router-page"; + import { HassRouterPage } from "../../../layouts/hass-router-page"; -import type { HomeAssistant } from "../../../types"; export const lovelaceTabs = [ { diff --git a/src/panels/config/lovelace/resources/dialog-lovelace-resource-detail.ts b/src/panels/config/lovelace/resources/dialog-lovelace-resource-detail.ts index 0dee14c356..1babe3cfdf 100644 --- a/src/panels/config/lovelace/resources/dialog-lovelace-resource-detail.ts +++ b/src/panels/config/lovelace/resources/dialog-lovelace-resource-detail.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button/mwc-button"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state, query } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { mdiClose } from "@mdi/js"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; -import "../../../../components/ha-dialog-header"; -import "../../../../components/ha-form/ha-form"; -import "../../../../components/ha-icon-button"; import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import type { LovelaceResourcesMutableParams } from "../../../../data/lovelace/resource"; import type { HomeAssistant } from "../../../../types"; import type { LovelaceResourceDetailsDialogParams } from "./show-dialog-lovelace-resource-detail"; +import "../../../../components/ha-dialog-header"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-md-dialog"; +import "@material/mwc-button/mwc-button"; + +import { mdiClose } from "@mdi/js"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state, query } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + const detectResourceType = (url?: string) => { if (!url) { return undefined; diff --git a/src/panels/config/lovelace/resources/ha-config-lovelace-resources.ts b/src/panels/config/lovelace/resources/ha-config-lovelace-resources.ts index 73a7847f91..44836fa36a 100644 --- a/src/panels/config/lovelace/resources/ha-config-lovelace-resources.ts +++ b/src/panels/config/lovelace/resources/ha-config-lovelace-resources.ts @@ -1,19 +1,27 @@ -import { mdiDelete, mdiPlus } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoize from "memoize-one"; -import { stringCompare } from "../../../../common/string/compare"; import type { LocalizeFunc } from "../../../../common/translations/localize"; import type { DataTableColumnContainer, RowClickedEvent, SortingChangedEvent, } from "../../../../components/data-table/ha-data-table"; +import type { LovelaceResource } from "../../../../data/lovelace/resource"; +import type { HomeAssistant, Route } from "../../../../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + import "../../../../components/ha-card"; import "../../../../components/ha-fab"; import "../../../../components/ha-svg-icon"; -import type { LovelaceResource } from "../../../../data/lovelace/resource"; +import "../../../../layouts/hass-loading-screen"; +import "../../../../layouts/hass-subpage"; +import "../../../../layouts/hass-tabs-subpage-data-table"; + +import { mdiDelete, mdiPlus } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoize from "memoize-one"; + +import { storage } from "../../../../common/decorators/storage"; +import { stringCompare } from "../../../../common/string/compare"; import { createResource, deleteResource, @@ -24,15 +32,10 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; -import "../../../../layouts/hass-loading-screen"; -import "../../../../layouts/hass-subpage"; -import "../../../../layouts/hass-tabs-subpage-data-table"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../types"; import { loadLovelaceResources } from "../../../lovelace/common/load-resources"; import { lovelaceResourcesTabs } from "../ha-config-lovelace"; import { showResourceDetailDialog } from "./show-dialog-lovelace-resource-detail"; -import { storage } from "../../../../common/decorators/storage"; @customElement("ha-config-lovelace-resources") export class HaConfigLovelaceRescources extends LitElement { diff --git a/src/panels/config/lovelace/resources/show-dialog-lovelace-resource-detail.ts b/src/panels/config/lovelace/resources/show-dialog-lovelace-resource-detail.ts index d71963e543..1b6f66c796 100644 --- a/src/panels/config/lovelace/resources/show-dialog-lovelace-resource-detail.ts +++ b/src/panels/config/lovelace/resources/show-dialog-lovelace-resource-detail.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceResource, LovelaceResourcesMutableParams, } from "../../../../data/lovelace/resource"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface LovelaceResourceDetailsDialogParams { resource?: LovelaceResource; createResource: (values: LovelaceResourcesMutableParams) => Promise; diff --git a/src/panels/config/network/ha-config-network.ts b/src/panels/config/network/ha-config-network.ts index cf9d3e1f36..b11dbf133e 100644 --- a/src/panels/config/network/ha-config-network.ts +++ b/src/panels/config/network/ha-config-network.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button/mwc-button"; +import type { NetworkConfig } from "../../../data/network"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; + import "../../../components/ha-alert"; import "../../../components/ha-card"; import "../../../components/ha-checkbox"; import "../../../components/ha-network"; import "../../../components/ha-settings-row"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { fetchNetworkInfo } from "../../../data/hassio/network"; -import type { NetworkConfig } from "../../../data/network"; import { getNetworkConfig, setNetworkConfig } from "../../../data/network"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; @customElement("ha-config-network") class ConfigNetwork extends LitElement { diff --git a/src/panels/config/network/ha-config-section-network.ts b/src/panels/config/network/ha-config-section-network.ts index 1a18aca3b6..d99fdb121c 100644 --- a/src/panels/config/network/ha-config-section-network.ts +++ b/src/panels/config/network/ha-config-section-network.ts @@ -1,14 +1,17 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import "../../../layouts/hass-subpage"; import type { HomeAssistant, Route } from "../../../types"; +import type { TemplateResult } from "lit"; + +import "../../../layouts/hass-subpage"; import "./ha-config-network"; import "./ha-config-url-form"; import "./supervisor-hostname"; import "./supervisor-network"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; + @customElement("ha-config-section-network") class HaConfigSectionNetwork extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/network/ha-config-url-form.ts b/src/panels/config/network/ha-config-url-form.ts index 062c3f16e0..16f909cccc 100644 --- a/src/panels/config/network/ha-config-url-form.ts +++ b/src/panels/config/network/ha-config-url-form.ts @@ -1,28 +1,31 @@ -import "@material/mwc-button/mwc-button"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { mdiContentCopy, mdiEyeOff, mdiEye } from "@mdi/js"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { isIPAddress } from "../../../common/string/is_ip_address"; -import "../../../components/ha-alert"; -import "../../../components/ha-card"; -import "../../../components/ha-formfield"; -import "../../../components/ha-switch"; -import "../../../components/ha-textfield"; -import "../../../components/ha-settings-row"; -import "../../../components/ha-button"; +import type { HaSwitch } from "../../../components/ha-switch"; import type { HaTextField } from "../../../components/ha-textfield"; import type { CloudStatus } from "../../../data/cloud"; +import type { ValueChangedEvent, HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button"; +import "../../../components/ha-card"; +import "../../../components/ha-formfield"; +import "../../../components/ha-settings-row"; +import "../../../components/ha-switch"; +import "../../../components/ha-textfield"; +import "@material/mwc-button/mwc-button"; + +import { mdiContentCopy, mdiEyeOff, mdiEye } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { isIPAddress } from "../../../common/string/is_ip_address"; +import { copyToClipboard } from "../../../common/util/copy-clipboard"; import { fetchCloudStatus } from "../../../data/cloud"; import { saveCoreConfig } from "../../../data/core"; import { getNetworkUrls, type NetworkUrls } from "../../../data/network"; -import type { ValueChangedEvent, HomeAssistant } from "../../../types"; -import { copyToClipboard } from "../../../common/util/copy-clipboard"; -import { showToast } from "../../../util/toast"; -import type { HaSwitch } from "../../../components/ha-switch"; -import { obfuscateUrl } from "../../../util/url"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; +import { showToast } from "../../../util/toast"; +import { obfuscateUrl } from "../../../util/url"; @customElement("ha-config-url-form") class ConfigUrlForm extends SubscribeMixin(LitElement) { diff --git a/src/panels/config/network/supervisor-hostname.ts b/src/panels/config/network/supervisor-hostname.ts index d359e0031c..c4264fbce1 100644 --- a/src/panels/config/network/supervisor-hostname.ts +++ b/src/panels/config/network/supervisor-hostname.ts @@ -1,25 +1,28 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-list/mwc-list"; -import "@material/mwc-list/mwc-list-item"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../../../components/ha-alert"; import "../../../components/ha-card"; -import "../../../components/ha-spinner"; import "../../../components/ha-expansion-panel"; import "../../../components/ha-formfield"; import "../../../components/ha-icon-button"; import "../../../components/ha-radio"; import "../../../components/ha-settings-row"; +import "../../../components/ha-spinner"; import "../../../components/ha-textfield"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { extractApiErrorMessage } from "../../../data/hassio/common"; import { changeHostOptions, fetchHassioHostInfo, } from "../../../data/hassio/host"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../types"; @customElement("supervisor-hostname") export class HassioHostname extends LitElement { diff --git a/src/panels/config/network/supervisor-network.ts b/src/panels/config/network/supervisor-network.ts index 93d03c7db9..26a978c88b 100644 --- a/src/panels/config/network/supervisor-network.ts +++ b/src/panels/config/network/supervisor-network.ts @@ -1,24 +1,28 @@ -import "@material/mwc-list/mwc-list"; -import "@material/mwc-tab"; -import "@material/mwc-tab-bar"; -import { mdiDeleteOutline, mdiPlus, mdiMenuDown, mdiWifi } from "@mdi/js"; -import { css, type CSSResultGroup, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { cache } from "lit/directives/cache"; +import type { HaRadio } from "../../../components/ha-radio"; +import type { HaTextField } from "../../../components/ha-textfield"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-alert"; import "../../../components/ha-button"; import "../../../components/ha-button-menu"; import "../../../components/ha-card"; -import "../../../components/ha-spinner"; import "../../../components/ha-expansion-panel"; import "../../../components/ha-formfield"; import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; import "../../../components/ha-password-field"; import "../../../components/ha-radio"; -import "../../../components/ha-list-item"; -import type { HaRadio } from "../../../components/ha-radio"; +import "../../../components/ha-spinner"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-tab"; +import "@material/mwc-tab-bar"; + +import { mdiDeleteOutline, mdiPlus, mdiMenuDown, mdiWifi } from "@mdi/js"; +import { css, type CSSResultGroup, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { cache } from "lit/directives/cache"; + import { extractApiErrorMessage } from "../../../data/hassio/common"; import { type AccessPoint, @@ -34,7 +38,6 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../types"; const IP_VERSIONS = ["ipv4", "ipv6"]; diff --git a/src/panels/config/person/dialog-person-detail.ts b/src/panels/config/person/dialog-person-detail.ts index e1de5e1baa..cb86c5e8f8 100644 --- a/src/panels/config/person/dialog-person-detail.ts +++ b/src/panels/config/person/dialog-person-detail.ts @@ -1,20 +1,28 @@ -import { mdiPencil } from "@mdi/js"; +import type { HaPictureUpload } from "../../../components/ha-picture-upload"; +import type { PersonMutableParams } from "../../../data/person"; +import type { User } from "../../../data/user"; +import type { CropOptions } from "../../../dialogs/image-cropper-dialog/show-image-cropper-dialog"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant, ValueChangedEvent } from "../../../types"; +import type { PersonDetailDialogParams } from "./show-dialog-person-detail"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; + import "../../../components/entity/ha-entities-picker"; import "../../../components/ha-button"; -import { createCloseHeading } from "../../../components/ha-dialog"; import "../../../components/ha-formfield"; import "../../../components/ha-icon-button"; import "../../../components/ha-picture-upload"; -import type { HaPictureUpload } from "../../../components/ha-picture-upload"; import "../../../components/ha-settings-row"; import "../../../components/ha-textfield"; + +import { mdiPencil } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; import { adminChangeUsername } from "../../../data/auth"; -import type { PersonMutableParams } from "../../../data/person"; -import type { User } from "../../../data/user"; import { deleteUser, SYSTEM_GROUP_ID_ADMIN, @@ -26,15 +34,10 @@ import { showConfirmationDialog, showPromptDialog, } from "../../../dialogs/generic/show-dialog-box"; -import type { CropOptions } from "../../../dialogs/image-cropper-dialog/show-image-cropper-dialog"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant, ValueChangedEvent } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { showAddUserDialog } from "../users/show-dialog-add-user"; import { showAdminChangePasswordDialog } from "../users/show-dialog-admin-change-password"; -import type { PersonDetailDialogParams } from "./show-dialog-person-detail"; -import { fireEvent } from "../../../common/dom/fire_event"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; const includeDomains = ["device_tracker"]; diff --git a/src/panels/config/person/ha-config-person.ts b/src/panels/config/person/ha-config-person.ts index 3a5ba2ae21..5af602b2c2 100644 --- a/src/panels/config/person/ha-config-person.ts +++ b/src/panels/config/person/ha-config-person.ts @@ -1,31 +1,34 @@ -import { mdiPlus } from "@mdi/js"; -import "@material/mwc-list/mwc-list"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { stringCompare } from "../../../common/string/compare"; +import type { Person } from "../../../data/person"; +import type { User } from "../../../data/user"; +import type { HomeAssistant, Route } from "../../../types"; + import "../../../components/ha-card"; import "../../../components/ha-fab"; -import "../../../components/ha-svg-icon"; import "../../../components/ha-list-item"; +import "../../../components/ha-svg-icon"; import "../../../components/user/ha-person-badge"; -import type { Person } from "../../../data/person"; +import "../../../layouts/hass-loading-screen"; +import "../../../layouts/hass-tabs-subpage"; +import "../ha-config-section"; +import "@material/mwc-list/mwc-list"; + +import { mdiPlus } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { stringCompare } from "../../../common/string/compare"; import { createPerson, deletePerson, fetchPersons, updatePerson, } from "../../../data/person"; -import type { User } from "../../../data/user"; import { fetchUsers } from "../../../data/user"; import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-loading-screen"; -import "../../../layouts/hass-tabs-subpage"; -import type { HomeAssistant, Route } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import "../ha-config-section"; import { configSections } from "../ha-panel-config"; import { loadPersonDetailDialog, diff --git a/src/panels/config/person/show-dialog-person-detail.ts b/src/panels/config/person/show-dialog-person-detail.ts index ae63f8d5ab..93cc2259d3 100644 --- a/src/panels/config/person/show-dialog-person-detail.ts +++ b/src/panels/config/person/show-dialog-person-detail.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { Person, PersonMutableParams } from "../../../data/person"; import type { User } from "../../../data/user"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface PersonDetailDialogParams { entry?: Person; users: User[]; diff --git a/src/panels/config/repairs/dialog-integration-startup.ts b/src/panels/config/repairs/dialog-integration-startup.ts index 62996283f5..e85882aab0 100644 --- a/src/panels/config/repairs/dialog-integration-startup.ts +++ b/src/panels/config/repairs/dialog-integration-startup.ts @@ -1,13 +1,16 @@ -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-card"; +import "./integrations-startup-time"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-card"; import { createCloseHeading } from "../../../components/ha-dialog"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import "./integrations-startup-time"; @customElement("dialog-integration-startup") class DialogIntegrationStartup extends LitElement { diff --git a/src/panels/config/repairs/dialog-repairs-issue-subtitle.ts b/src/panels/config/repairs/dialog-repairs-issue-subtitle.ts index 6ea15ed6e4..c867984140 100644 --- a/src/panels/config/repairs/dialog-repairs-issue-subtitle.ts +++ b/src/panels/config/repairs/dialog-repairs-issue-subtitle.ts @@ -1,8 +1,10 @@ +import type { RepairsIssue } from "../../../data/repairs"; +import type { HomeAssistant } from "../../../types"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HomeAssistant } from "../../../types"; + import { domainToName } from "../../../data/integration"; -import type { RepairsIssue } from "../../../data/repairs"; @customElement("dialog-repairs-issue-subtitle") class DialogRepairsIssueSubtitle extends LitElement { diff --git a/src/panels/config/repairs/dialog-repairs-issue.ts b/src/panels/config/repairs/dialog-repairs-issue.ts index 179d3ac62a..9fb160f30e 100644 --- a/src/panels/config/repairs/dialog-repairs-issue.ts +++ b/src/panels/config/repairs/dialog-repairs-issue.ts @@ -1,21 +1,24 @@ -import { mdiClose } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state, query } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { isNavigationClick } from "../../../common/dom/is-navigation-click"; -import "../../../components/ha-alert"; -import "../../../components/ha-md-dialog"; import type { HaMdDialog } from "../../../components/ha-md-dialog"; -import "../../../components/ha-button"; -import "../../../components/ha-dialog-header"; -import "./dialog-repairs-issue-subtitle"; -import "../../../components/ha-markdown"; import type { RepairsIssue } from "../../../data/repairs"; -import { ignoreRepairsIssue } from "../../../data/repairs"; -import { haStyleDialog } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; import type { RepairsIssueDialogParams } from "./show-repair-issue-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button"; +import "../../../components/ha-dialog-header"; +import "../../../components/ha-markdown"; +import "../../../components/ha-md-dialog"; +import "./dialog-repairs-issue-subtitle"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state, query } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { isNavigationClick } from "../../../common/dom/is-navigation-click"; +import { ignoreRepairsIssue } from "../../../data/repairs"; +import { haStyleDialog } from "../../../resources/styles"; @customElement("dialog-repairs-issue") class DialogRepairsIssue extends LitElement { diff --git a/src/panels/config/repairs/dialog-system-information.ts b/src/panels/config/repairs/dialog-system-information.ts index b9666b0c57..291654d46b 100644 --- a/src/panels/config/repairs/dialog-system-information.ts +++ b/src/panels/config/repairs/dialog-system-information.ts @@ -1,31 +1,34 @@ -import "@material/mwc-button/mwc-button"; +import type { HassioStats } from "../../../data/hassio/common"; +import type { HassioResolution } from "../../../data/hassio/resolution"; +import type { + SystemCheckValueObject, + SystemHealthInfo, +} from "../../../data/system_health"; +import type { HomeAssistant } from "../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-card"; +import "../../../components/ha-metric"; +import "../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { formatDateTime } from "../../../common/datetime/format_date_time"; import { fireEvent } from "../../../common/dom/fire_event"; import { copyToClipboard } from "../../../common/util/copy-clipboard"; import { subscribePollingCollection } from "../../../common/util/subscribe-polling"; -import "../../../components/ha-alert"; -import "../../../components/ha-card"; -import "../../../components/ha-spinner"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-metric"; -import type { HassioStats } from "../../../data/hassio/common"; import { fetchHassioStats } from "../../../data/hassio/common"; -import type { HassioResolution } from "../../../data/hassio/resolution"; import { fetchHassioResolution } from "../../../data/hassio/resolution"; import { domainToName } from "../../../data/integration"; -import type { - SystemCheckValueObject, - SystemHealthInfo, -} from "../../../data/system_health"; import { subscribeSystemHealthInfo } from "../../../data/system_health"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { showToast } from "../../../util/toast"; diff --git a/src/panels/config/repairs/ha-config-repairs-dashboard.ts b/src/panels/config/repairs/ha-config-repairs-dashboard.ts index 5aabf9a51c..b5680e76f0 100644 --- a/src/panels/config/repairs/ha-config-repairs-dashboard.ts +++ b/src/panels/config/repairs/ha-config-repairs-dashboard.ts @@ -1,25 +1,28 @@ +import type { RepairsIssue } from "../../../data/repairs"; +import type { HomeAssistant } from "../../../types"; import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item-base"; -import { mdiDotsVertical } from "@mdi/js"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-check-list-item"; +import "../../../layouts/hass-subpage"; +import "./ha-config-repairs"; + +import { mdiDotsVertical } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; import { navigate } from "../../../common/navigate"; import { extractSearchParam } from "../../../common/url/search-params"; -import "../../../components/ha-card"; -import "../../../components/ha-check-list-item"; -import type { RepairsIssue } from "../../../data/repairs"; import { severitySort, subscribeRepairsIssueRegistry, } from "../../../data/repairs"; -import "../../../layouts/hass-subpage"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../types"; -import "./ha-config-repairs"; import { showIntegrationStartupDialog } from "./show-integration-startup-dialog"; import { showSystemInformationDialog } from "./show-system-information-dialog"; diff --git a/src/panels/config/repairs/ha-config-repairs.ts b/src/panels/config/repairs/ha-config-repairs.ts index 77345f3e86..88468f4669 100644 --- a/src/panels/config/repairs/ha-config-repairs.ts +++ b/src/panels/config/repairs/ha-config-repairs.ts @@ -1,25 +1,28 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { relativeTime } from "../../../common/datetime/relative_time"; -import { capitalizeFirstLetter } from "../../../common/string/capitalize-first-letter"; +import type { StatisticsValidationResult } from "../../../data/recorder"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-md-list"; import "../../../components/ha-md-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { relativeTime } from "../../../common/datetime/relative_time"; +import { capitalizeFirstLetter } from "../../../common/string/capitalize-first-letter"; import { domainToName } from "../../../data/integration"; +import { + STATISTIC_TYPES, + updateStatisticsIssues, +} from "../../../data/recorder"; import { fetchRepairsIssueData, type RepairsIssue, } from "../../../data/repairs"; import { showConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-config-flow"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { fixStatisticsIssue } from "../../developer-tools/statistics/fix-statistics"; import { showRepairsFlowDialog } from "./show-dialog-repair-flow"; import { showRepairsIssueDialog } from "./show-repair-issue-dialog"; -import type { StatisticsValidationResult } from "../../../data/recorder"; -import { - STATISTIC_TYPES, - updateStatisticsIssues, -} from "../../../data/recorder"; @customElement("ha-config-repairs") class HaConfigRepairs extends LitElement { diff --git a/src/panels/config/repairs/integrations-startup-time.ts b/src/panels/config/repairs/integrations-startup-time.ts index 73f3728640..95346e83d4 100644 --- a/src/panels/config/repairs/integrations-startup-time.ts +++ b/src/panels/config/repairs/integrations-startup-time.ts @@ -1,19 +1,22 @@ -import "@material/mwc-list/mwc-list"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-card"; -import "../../../components/ha-clickable-list-item"; import type { IntegrationManifest, IntegrationSetup, } from "../../../data/integration"; +import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-clickable-list-item"; +import "@material/mwc-list/mwc-list"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { domainToName, fetchIntegrationManifests, fetchIntegrationSetups, } from "../../../data/integration"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { documentationUrl } from "../../../util/documentation-url"; diff --git a/src/panels/config/repairs/show-dialog-repair-flow.ts b/src/panels/config/repairs/show-dialog-repair-flow.ts index 3ea9e79353..f0c1475c5d 100644 --- a/src/panels/config/repairs/show-dialog-repair-flow.ts +++ b/src/panels/config/repairs/show-dialog-repair-flow.ts @@ -1,8 +1,12 @@ -import { html, nothing } from "lit"; import type { DataEntryFlowStep } from "../../../data/data_entry_flow"; -import { domainToName } from "../../../data/integration"; -import "./dialog-repairs-issue-subtitle"; import type { RepairsIssue } from "../../../data/repairs"; +import type { HomeAssistant } from "../../../types"; + +import "./dialog-repairs-issue-subtitle"; + +import { html, nothing } from "lit"; + +import { domainToName } from "../../../data/integration"; import { createRepairsFlow, deleteRepairsFlow, @@ -13,7 +17,6 @@ import { loadDataEntryFlowDialog, showFlowDialog, } from "../../../dialogs/config-flow/show-dialog-data-entry-flow"; -import type { HomeAssistant } from "../../../types"; const mergePlaceholders = (issue: RepairsIssue, step: DataEntryFlowStep) => step.description_placeholders && issue.translation_placeholders diff --git a/src/panels/config/repairs/show-repair-issue-dialog.ts b/src/panels/config/repairs/show-repair-issue-dialog.ts index c88c28ac77..fd3b94d2ad 100644 --- a/src/panels/config/repairs/show-repair-issue-dialog.ts +++ b/src/panels/config/repairs/show-repair-issue-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { RepairsIssue } from "../../../data/repairs"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface RepairsIssueDialogParams { issue: RepairsIssue; dialogClosedCallback?: () => void; diff --git a/src/panels/config/scene/ha-config-scene.ts b/src/panels/config/scene/ha-config-scene.ts index 47e888e0f3..a6a1260c4d 100644 --- a/src/panels/config/scene/ha-config-scene.ts +++ b/src/panels/config/scene/ha-config-scene.ts @@ -1,16 +1,19 @@ -import type { HassEntities } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { computeStateDomain } from "../../../common/entity/compute_state_domain"; -import { debounce } from "../../../common/util/debounce"; import type { SceneEntity } from "../../../data/scene"; import type { RouterOptions } from "../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../types"; +import type { HassEntities } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import "./ha-scene-dashboard"; import "./ha-scene-editor"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { computeStateDomain } from "../../../common/entity/compute_state_domain"; +import { debounce } from "../../../common/util/debounce"; +import { HassRouterPage } from "../../../layouts/hass-router-page"; + const equal = (a: SceneEntity[], b: SceneEntity[]): boolean => { if (a.length !== b.length) { return false; diff --git a/src/panels/config/scene/ha-scene-dashboard.ts b/src/panels/config/scene/ha-scene-dashboard.ts index a54b004fcd..247a450316 100644 --- a/src/panels/config/scene/ha-scene-dashboard.ts +++ b/src/panels/config/scene/ha-scene-dashboard.ts @@ -1,3 +1,41 @@ +import type { HASSDomEvent } from "../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SelectionChangedEvent, + SortingChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { CategoryRegistryEntry } from "../../../data/category_registry"; +import type { DataTableFilters } from "../../../data/data_table_filters"; +import type { + EntityRegistryEntry, + UpdateEntityRegistryEntryResult, +} from "../../../data/entity_registry"; +import type { LabelRegistryEntry } from "../../../data/label_registry"; +import type { SceneEntity } from "../../../data/scene"; +import type { HomeAssistant, Route } from "../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/data-table/ha-data-table-labels"; +import "../../../components/ha-button"; +import "../../../components/ha-fab"; +import "../../../components/ha-filter-categories"; +import "../../../components/ha-filter-devices"; +import "../../../components/ha-filter-entities"; +import "../../../components/ha-filter-floor-areas"; +import "../../../components/ha-filter-labels"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-md-divider"; +import "../../../components/ha-md-menu-item"; +import "../../../components/ha-state-icon"; +import "../../../components/ha-sub-menu"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-tooltip"; +import "../../../layouts/hass-tabs-subpage-data-table"; + import { consume } from "@lit-labs/context"; import { ResizeController } from "@lit-labs/observers/resize-controller"; import { @@ -17,71 +55,38 @@ import { mdiTextureBox, } from "@mdi/js"; import { differenceInDays } from "date-fns"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { formatShortDateTime } from "../../../common/datetime/format_date_time"; import { relativeTime } from "../../../common/datetime/relative_time"; import { storage } from "../../../common/decorators/storage"; -import type { HASSDomEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, rejectedItems, } from "../../../common/util/promise-all-settled-results"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SelectionChangedEvent, - SortingChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/data-table/ha-data-table-labels"; -import "../../../components/ha-button"; -import "../../../components/ha-md-divider"; -import "../../../components/ha-fab"; -import "../../../components/ha-filter-categories"; -import "../../../components/ha-filter-devices"; -import "../../../components/ha-filter-entities"; -import "../../../components/ha-filter-floor-areas"; -import "../../../components/ha-filter-labels"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-md-menu-item"; -import "../../../components/ha-state-icon"; -import "../../../components/ha-sub-menu"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-tooltip"; import { createAreaRegistryEntry } from "../../../data/area_registry"; -import type { CategoryRegistryEntry } from "../../../data/category_registry"; import { createCategoryRegistryEntry, subscribeCategoryRegistry, } from "../../../data/category_registry"; import { fullEntitiesContext } from "../../../data/context"; -import type { DataTableFilters } from "../../../data/data_table_filters"; import { deserializeFilters, serializeFilters, } from "../../../data/data_table_filters"; import { isUnavailableState } from "../../../data/entity"; -import type { - EntityRegistryEntry, - UpdateEntityRegistryEntryResult, -} from "../../../data/entity_registry"; import { updateEntityRegistryEntry } from "../../../data/entity_registry"; import { forwardHaptic } from "../../../data/haptics"; -import type { LabelRegistryEntry } from "../../../data/label_registry"; import { createLabelRegistryEntry, subscribeLabelRegistry, } from "../../../data/label_registry"; -import type { SceneEntity } from "../../../data/scene"; import { activateScene, deleteScene, @@ -93,10 +98,8 @@ import { showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { showToast } from "../../../util/toast"; import { showAreaRegistryDetailDialog } from "../areas/show-dialog-area-registry-detail"; diff --git a/src/panels/config/scene/ha-scene-editor.ts b/src/panels/config/scene/ha-scene-editor.ts index 0d9c3d7f2c..331de9ba14 100644 --- a/src/panels/config/scene/ha-scene-editor.ts +++ b/src/panels/config/scene/ha-scene-editor.ts @@ -1,32 +1,16 @@ -import { consume } from "@lit-labs/context"; -import "@material/mwc-list/mwc-list"; +import type { DeviceRegistryEntry } from "../../../data/device_registry"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { + SceneConfig, + SceneEntities, + SceneEntity, + SceneMetaData, +} from "../../../data/scene"; +import type { HomeAssistant, Route } from "../../../types"; import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; -import { - mdiCog, - mdiContentDuplicate, - mdiContentSave, - mdiDelete, - mdiDotsVertical, - mdiEye, - mdiInformationOutline, - mdiMotionPlayOutline, - mdiPlay, - mdiPlaylistEdit, - mdiTag, -} from "@mdi/js"; import type { HassEvent } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import { navigate } from "../../../common/navigate"; -import { computeRTL } from "../../../common/util/compute_rtl"; -import { afterNextRender } from "../../../common/util/render-status"; + import "../../../components/device/ha-device-picker"; import "../../../components/entity/ha-entities-picker"; import "../../../components/ha-alert"; @@ -40,16 +24,38 @@ import "../../../components/ha-icon-picker"; import "../../../components/ha-list-item"; import "../../../components/ha-svg-icon"; import "../../../components/ha-textfield"; +import "../../../layouts/hass-subpage"; +import "../ha-config-section"; +import "@material/mwc-list/mwc-list"; + +import { consume } from "@lit-labs/context"; +import { + mdiCog, + mdiContentDuplicate, + mdiContentSave, + mdiDelete, + mdiDotsVertical, + mdiEye, + mdiInformationOutline, + mdiMotionPlayOutline, + mdiPlay, + mdiPlaylistEdit, + mdiTag, +} from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeDeviceNameDisplay } from "../../../common/entity/compute_device_name"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { navigate } from "../../../common/navigate"; +import { computeRTL } from "../../../common/util/compute_rtl"; +import { afterNextRender } from "../../../common/util/render-status"; import { fullEntitiesContext } from "../../../data/context"; -import type { DeviceRegistryEntry } from "../../../data/device_registry"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { updateEntityRegistryEntry } from "../../../data/entity_registry"; -import type { - SceneConfig, - SceneEntities, - SceneEntity, - SceneMetaData, -} from "../../../data/scene"; import { activateScene, applyScene, @@ -65,14 +71,11 @@ import { showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import "../../../layouts/hass-subpage"; import { KeyboardShortcutMixin } from "../../../mixins/keyboard-shortcut-mixin"; import { PreventUnsavedMixin } from "../../../mixins/prevent-unsaved-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { showToast } from "../../../util/toast"; import { showAssignCategoryDialog } from "../category/show-dialog-assign-category"; -import "../ha-config-section"; interface DeviceEntities { id: string; diff --git a/src/panels/config/script/blueprint-script-editor.ts b/src/panels/config/script/blueprint-script-editor.ts index 5689d74648..d1fd8e8ef2 100644 --- a/src/panels/config/script/blueprint-script-editor.ts +++ b/src/panels/config/script/blueprint-script-editor.ts @@ -1,9 +1,12 @@ +import type { BlueprintScriptConfig } from "../../../data/script"; + +import "../../../components/ha-markdown"; import "@material/mwc-button/mwc-button"; + import { html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-markdown"; + import { fetchBlueprints } from "../../../data/blueprint"; -import type { BlueprintScriptConfig } from "../../../data/script"; import { HaBlueprintGenericEditor } from "../blueprint/blueprint-generic-editor"; @customElement("blueprint-script-editor") diff --git a/src/panels/config/script/ha-config-script.ts b/src/panels/config/script/ha-config-script.ts index 9bbd0e3a08..a533a75e3f 100644 --- a/src/panels/config/script/ha-config-script.ts +++ b/src/panels/config/script/ha-config-script.ts @@ -1,19 +1,22 @@ -import { consume } from "@lit-labs/context"; -import type { HassEntities } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { computeStateDomain } from "../../../common/entity/compute_state_domain"; -import { debounce } from "../../../common/util/debounce"; -import { fullEntitiesContext } from "../../../data/context"; import type { EntityRegistryEntry } from "../../../data/entity_registry"; import type { ScriptEntity } from "../../../data/script"; import type { RouterOptions } from "../../../layouts/hass-router-page"; -import { HassRouterPage } from "../../../layouts/hass-router-page"; import type { HomeAssistant } from "../../../types"; +import type { HassEntities } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import "./ha-script-editor"; import "./ha-script-picker"; +import { consume } from "@lit-labs/context"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { computeStateDomain } from "../../../common/entity/compute_state_domain"; +import { debounce } from "../../../common/util/debounce"; +import { fullEntitiesContext } from "../../../data/context"; +import { HassRouterPage } from "../../../layouts/hass-router-page"; + const equal = (a: ScriptEntity[], b: ScriptEntity[]): boolean => { if (a.length !== b.length) { return false; diff --git a/src/panels/config/script/ha-script-editor.ts b/src/panels/config/script/ha-script-editor.ts index 11e50a36ba..3c8e7ff435 100644 --- a/src/panels/config/script/ha-script-editor.ts +++ b/src/panels/config/script/ha-script-editor.ts @@ -1,4 +1,21 @@ +import type { BlueprintScriptConfig, ScriptConfig } from "../../../data/script"; +import type { Entries, HomeAssistant, Route } from "../../../types"; +import type { EntityRegistryUpdate } from "../automation/automation-save-dialog/show-dialog-automation-save"; +import type { HaManualScriptEditor } from "./manual-script-editor"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-fab"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-yaml-editor"; +import "../../../layouts/hass-subpage"; +import "./blueprint-script-editor"; +import "./manual-script-editor"; import "@material/mwc-button"; + +import { consume } from "@lit-labs/context"; import { mdiCog, mdiContentDuplicate, @@ -16,31 +33,25 @@ import { mdiTag, mdiTransitConnection, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import { consume } from "@lit-labs/context"; + +import { transform } from "../../../common/decorators/transform"; import { fireEvent } from "../../../common/dom/fire_event"; import { navigate } from "../../../common/navigate"; import { slugify } from "../../../common/string/slugify"; import { computeRTL } from "../../../common/util/compute_rtl"; -import { afterNextRender } from "../../../common/util/render-status"; import { promiseTimeout } from "../../../common/util/promise-timeout"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-fab"; - -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-yaml-editor"; +import { afterNextRender } from "../../../common/util/render-status"; +import { substituteBlueprint } from "../../../data/blueprint"; import { validateConfig } from "../../../data/config"; +import { fullEntitiesContext } from "../../../data/context"; import { UNAVAILABLE } from "../../../data/entity"; import { type EntityRegistryEntry, updateEntityRegistryEntry, } from "../../../data/entity_registry"; -import type { BlueprintScriptConfig, ScriptConfig } from "../../../data/script"; import { deleteScript, fetchScriptFileConfig, @@ -56,23 +67,14 @@ import { showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import "../../../layouts/hass-subpage"; import { KeyboardShortcutMixin } from "../../../mixins/keyboard-shortcut-mixin"; +import { PreventUnsavedMixin } from "../../../mixins/prevent-unsaved-mixin"; +import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { Entries, HomeAssistant, Route } from "../../../types"; import { showToast } from "../../../util/toast"; import { showAutomationModeDialog } from "../automation/automation-mode-dialog/show-dialog-automation-mode"; -import type { EntityRegistryUpdate } from "../automation/automation-save-dialog/show-dialog-automation-save"; import { showAutomationSaveDialog } from "../automation/automation-save-dialog/show-dialog-automation-save"; -import "./blueprint-script-editor"; -import "./manual-script-editor"; -import type { HaManualScriptEditor } from "./manual-script-editor"; -import { substituteBlueprint } from "../../../data/blueprint"; -import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { showAssignCategoryDialog } from "../category/show-dialog-assign-category"; -import { PreventUnsavedMixin } from "../../../mixins/prevent-unsaved-mixin"; -import { fullEntitiesContext } from "../../../data/context"; -import { transform } from "../../../common/decorators/transform"; export class HaScriptEditor extends SubscribeMixin( PreventUnsavedMixin(KeyboardShortcutMixin(LitElement)) diff --git a/src/panels/config/script/ha-script-field-row.ts b/src/panels/config/script/ha-script-field-row.ts index f9d0cc1a36..4cbabb1ebe 100644 --- a/src/panels/config/script/ha-script-field-row.ts +++ b/src/panels/config/script/ha-script-field-row.ts @@ -1,25 +1,28 @@ +import type { SchemaUnion } from "../../../components/ha-form/types"; +import type { Field } from "../../../data/script"; +import type { HomeAssistant } from "../../../types"; import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; -import { mdiDelete, mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-expansion-panel"; +import "../../../components/ha-form/ha-form"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-yaml-editor"; + +import { mdiDelete, mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; import { slugify } from "../../../common/string/slugify"; -import "../../../components/ha-alert"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-card"; -import "../../../components/ha-form/ha-form"; -import "../../../components/ha-expansion-panel"; -import "../../../components/ha-list-item"; -import type { SchemaUnion } from "../../../components/ha-form/types"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-yaml-editor"; -import type { Field } from "../../../data/script"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; const preventDefault = (ev) => ev.preventDefault(); diff --git a/src/panels/config/script/ha-script-fields.ts b/src/panels/config/script/ha-script-fields.ts index 66bbb1f2dc..88c45cf85d 100644 --- a/src/panels/config/script/ha-script-fields.ts +++ b/src/panels/config/script/ha-script-fields.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button"; -import { mdiPlus } from "@mdi/js"; +import type { Fields } from "../../../data/script"; +import type { HomeAssistant } from "../../../types"; +import type HaScriptFieldRow from "./ha-script-field-row"; import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; + import "../../../components/ha-button"; import "../../../components/ha-button-menu"; import "../../../components/ha-svg-icon"; -import type { Fields } from "../../../data/script"; -import type { HomeAssistant } from "../../../types"; import "./ha-script-field-row"; -import type HaScriptFieldRow from "./ha-script-field-row"; +import "@material/mwc-button"; + +import { mdiPlus } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; @customElement("ha-script-fields") export default class HaScriptFields extends LitElement { diff --git a/src/panels/config/script/ha-script-picker.ts b/src/panels/config/script/ha-script-picker.ts index 0efd0a0a4c..c13c55699d 100644 --- a/src/panels/config/script/ha-script-picker.ts +++ b/src/panels/config/script/ha-script-picker.ts @@ -1,3 +1,39 @@ +import type { HASSDomEvent } from "../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, + SelectionChangedEvent, + SortingChangedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { CategoryRegistryEntry } from "../../../data/category_registry"; +import type { DataTableFilters } from "../../../data/data_table_filters"; +import type { + EntityRegistryEntry, + UpdateEntityRegistryEntryResult, +} from "../../../data/entity_registry"; +import type { LabelRegistryEntry } from "../../../data/label_registry"; +import type { ScriptEntity } from "../../../data/script"; +import type { HomeAssistant, Route } from "../../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/data-table/ha-data-table-labels"; +import "../../../components/ha-fab"; +import "../../../components/ha-filter-blueprints"; +import "../../../components/ha-filter-categories"; +import "../../../components/ha-filter-devices"; +import "../../../components/ha-filter-entities"; +import "../../../components/ha-filter-floor-areas"; +import "../../../components/ha-filter-labels"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-md-divider"; +import "../../../components/ha-md-menu-item"; +import "../../../components/ha-sub-menu"; +import "../../../components/ha-svg-icon"; +import "../../../layouts/hass-tabs-subpage-data-table"; + import { consume } from "@lit-labs/context"; import { ResizeController } from "@lit-labs/observers/resize-controller"; import { @@ -17,70 +53,39 @@ import { mdiTransitConnection, } from "@mdi/js"; import { differenceInDays } from "date-fns"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { formatShortDateTimeWithConditionalYear } from "../../../common/datetime/format_date_time"; import { relativeTime } from "../../../common/datetime/relative_time"; import { storage } from "../../../common/decorators/storage"; -import type { HASSDomEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, rejectedItems, } from "../../../common/util/promise-all-settled-results"; -import type { - DataTableColumnContainer, - RowClickedEvent, - SelectionChangedEvent, - SortingChangedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/data-table/ha-data-table-labels"; -import "../../../components/ha-md-divider"; -import "../../../components/ha-fab"; -import "../../../components/ha-filter-blueprints"; -import "../../../components/ha-filter-categories"; -import "../../../components/ha-filter-devices"; -import "../../../components/ha-filter-entities"; -import "../../../components/ha-filter-floor-areas"; -import "../../../components/ha-filter-labels"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-md-menu-item"; -import "../../../components/ha-sub-menu"; -import "../../../components/ha-svg-icon"; import { createAreaRegistryEntry } from "../../../data/area_registry"; -import type { CategoryRegistryEntry } from "../../../data/category_registry"; import { createCategoryRegistryEntry, subscribeCategoryRegistry, } from "../../../data/category_registry"; import { fullEntitiesContext } from "../../../data/context"; -import type { DataTableFilters } from "../../../data/data_table_filters"; import { deserializeFilters, serializeFilters, } from "../../../data/data_table_filters"; import { UNAVAILABLE } from "../../../data/entity"; -import type { - EntityRegistryEntry, - UpdateEntityRegistryEntryResult, -} from "../../../data/entity_registry"; import { updateEntityRegistryEntry } from "../../../data/entity_registry"; -import type { LabelRegistryEntry } from "../../../data/label_registry"; import { createLabelRegistryEntry, subscribeLabelRegistry, } from "../../../data/label_registry"; -import type { ScriptEntity } from "../../../data/script"; import { deleteScript, fetchScriptFileConfig, @@ -94,10 +99,8 @@ import { showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { showToast } from "../../../util/toast"; import { showAreaRegistryDetailDialog } from "../areas/show-dialog-area-registry-detail"; diff --git a/src/panels/config/script/ha-script-trace.ts b/src/panels/config/script/ha-script-trace.ts index 2523d0a1bf..cc9233df10 100644 --- a/src/panels/config/script/ha-script-trace.ts +++ b/src/panels/config/script/ha-script-trace.ts @@ -1,4 +1,25 @@ +import type { + HatScriptGraph, + NodeInfo, +} from "../../../components/trace/hat-script-graph"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { LogbookEntry } from "../../../data/logbook"; +import type { ScriptEntity } from "../../../data/script"; +import type { ScriptTrace, ScriptTraceExtended } from "../../../data/trace"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-icon-button"; +import "../../../components/trace/ha-trace-blueprint-config"; +import "../../../components/trace/ha-trace-config"; +import "../../../components/trace/ha-trace-logbook"; +import "../../../components/trace/ha-trace-path-details"; +import "../../../components/trace/ha-trace-timeline"; +import "../../../components/trace/hat-script-graph"; +import "../../../layouts/hass-subpage"; import "@material/mwc-list/mwc-list-item"; + import { mdiDotsVertical, mdiDownload, @@ -8,37 +29,19 @@ import { mdiRayStartArrow, mdiRefresh, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { repeat } from "lit/directives/repeat"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { formatDateTimeWithSeconds } from "../../../common/datetime/format_date_time"; -import "../../../components/ha-icon-button"; -import "../../../components/trace/ha-trace-blueprint-config"; -import "../../../components/trace/ha-trace-config"; -import "../../../components/trace/ha-trace-logbook"; -import "../../../components/trace/ha-trace-path-details"; -import "../../../components/trace/ha-trace-timeline"; -import "../../../components/trace/hat-script-graph"; -import type { - HatScriptGraph, - NodeInfo, -} from "../../../components/trace/hat-script-graph"; +import { fireEvent } from "../../../common/dom/fire_event"; import { traceTabStyles } from "../../../components/trace/trace-tab-styles"; -import type { LogbookEntry } from "../../../data/logbook"; import { getLogbookDataForContext } from "../../../data/logbook"; -import type { ScriptEntity } from "../../../data/script"; -import type { ScriptTrace, ScriptTraceExtended } from "../../../data/trace"; import { loadTrace, loadTraces } from "../../../data/trace"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; -import "../../../layouts/hass-subpage"; -import "../../../components/ha-button-menu"; -import { fireEvent } from "../../../common/dom/fire_event"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; @customElement("ha-script-trace") export class HaScriptTrace extends LitElement { diff --git a/src/panels/config/script/manual-script-editor.ts b/src/panels/config/script/manual-script-editor.ts index 8ef9cc66d9..e08eec4267 100644 --- a/src/panels/config/script/manual-script-editor.ts +++ b/src/panels/config/script/manual-script-editor.ts @@ -1,25 +1,28 @@ -import "@material/mwc-button/mwc-button"; -import { mdiHelpCircle } from "@mdi/js"; +import type { Action, Fields, ScriptConfig } from "../../../data/script"; +import type { HomeAssistant } from "../../../types"; +import type HaAutomationAction from "../automation/action/ha-automation-action"; +import type HaScriptFields from "./ha-script-fields"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-markdown"; +import "../automation/action/ha-automation-action"; +import "./ha-script-fields"; +import "@material/mwc-button/mwc-button"; + +import { mdiHelpCircle } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; import { constructUrlCurrentPath } from "../../../common/url/construct-url"; import { extractSearchParam, removeSearchParam, } from "../../../common/url/search-params"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-markdown"; -import type { Action, Fields, ScriptConfig } from "../../../data/script"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import "../automation/action/ha-automation-action"; -import type HaAutomationAction from "../automation/action/ha-automation-action"; -import "./ha-script-fields"; -import type HaScriptFields from "./ha-script-fields"; @customElement("manual-script-editor") export class HaManualScriptEditor extends LitElement { diff --git a/src/panels/config/storage/dialog-mount-view.ts b/src/panels/config/storage/dialog-mount-view.ts index 38d579a26e..3aa3fa3fd9 100644 --- a/src/panels/config/storage/dialog-mount-view.ts +++ b/src/panels/config/storage/dialog-mount-view.ts @@ -1,18 +1,23 @@ -import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { HaProgressButton } from "../../../components/buttons/ha-progress-button"; +import type { SchemaUnion } from "../../../components/ha-form/types"; +import type { SupervisorMountRequestParams } from "../../../data/supervisor/mounts"; +import type { HomeAssistant } from "../../../types"; +import type { MountViewDialogParams } from "./show-dialog-view-mount"; import type { CSSResultGroup } from "lit"; + +import "../../../components/buttons/ha-progress-button"; +import "../../../components/ha-form/ha-form"; +import "../../../components/ha-icon-button"; + +import { mdiClose, mdiHelpCircle } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import { computeRTLDirection } from "../../../common/util/compute_rtl"; -import "../../../components/buttons/ha-progress-button"; -import type { HaProgressButton } from "../../../components/buttons/ha-progress-button"; -import "../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../components/ha-form/types"; -import "../../../components/ha-icon-button"; import { extractApiErrorMessage } from "../../../data/hassio/common"; -import type { SupervisorMountRequestParams } from "../../../data/supervisor/mounts"; import { createSupervisorMount, removeSupervisorMount, @@ -21,9 +26,7 @@ import { updateSupervisorMount, } from "../../../data/supervisor/mounts"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import type { MountViewDialogParams } from "./show-dialog-view-mount"; const mountSchema = memoizeOne( ( diff --git a/src/panels/config/storage/dialog-move-datadisk.ts b/src/panels/config/storage/dialog-move-datadisk.ts index e67cb48a01..4d42e39c45 100644 --- a/src/panels/config/storage/dialog-move-datadisk.ts +++ b/src/panels/config/storage/dialog-move-datadisk.ts @@ -1,22 +1,27 @@ -import "@material/mwc-list/mwc-list-item"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import "../../../components/ha-spinner"; -import "../../../components/ha-select"; -import "../../../components/ha-dialog"; -import { - extractApiErrorMessage, - ignoreSupervisorError, -} from "../../../data/hassio/common"; import type { DatadiskList, HassioHassOSInfo, HassioHostInfo, } from "../../../data/hassio/host"; +import type { HomeAssistant } from "../../../types"; +import type { MoveDatadiskDialogParams } from "./show-dialog-move-datadisk"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-dialog"; +import "../../../components/ha-select"; +import "../../../components/ha-spinner"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { + extractApiErrorMessage, + ignoreSupervisorError, +} from "../../../data/hassio/common"; import { fetchHassioHassOsInfo, listDatadisks, @@ -24,9 +29,7 @@ import { } from "../../../data/hassio/host"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { bytesToString } from "../../../util/bytes-to-string"; -import type { MoveDatadiskDialogParams } from "./show-dialog-move-datadisk"; const calculateMoveTime = memoizeOne((hostInfo: HassioHostInfo): number => { const speed = hostInfo.disk_life_time !== "" ? 30 : 10; diff --git a/src/panels/config/storage/ha-config-section-storage.ts b/src/panels/config/storage/ha-config-section-storage.ts index 6f75fa41bf..25afb1d134 100644 --- a/src/panels/config/storage/ha-config-section-storage.ts +++ b/src/panels/config/storage/ha-config-section-storage.ts @@ -1,4 +1,21 @@ +import type { HassioHostInfo } from "../../../data/hassio/host"; +import type { + SupervisorMount, + SupervisorMounts, +} from "../../../data/supervisor/mounts"; +import type { HomeAssistant, Route } from "../../../types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-metric"; +import "../../../components/ha-svg-icon"; +import "../../../layouts/hass-subpage"; +import "../core/ha-config-analytics"; import "@material/mwc-list"; + import { mdiBackupRestore, mdiFolder, @@ -6,23 +23,13 @@ import { mdiPlayBox, mdiReload, } from "@mdi/js"; -import type { PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import "../../../components/ha-alert"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-metric"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-icon-next"; +import { navigate } from "../../../common/navigate"; import { extractApiErrorMessage } from "../../../data/hassio/common"; -import type { HassioHostInfo } from "../../../data/hassio/host"; import { fetchHassioHostInfo } from "../../../data/hassio/host"; -import type { - SupervisorMount, - SupervisorMounts, -} from "../../../data/supervisor/mounts"; import { SupervisorMountState, SupervisorMountType, @@ -31,16 +38,13 @@ import { reloadSupervisorMount, } from "../../../data/supervisor/mounts"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-subpage"; -import type { HomeAssistant, Route } from "../../../types"; import { getValueInPercentage, roundWithOneDecimal, } from "../../../util/calculate"; -import "../core/ha-config-analytics"; import { showMoveDatadiskDialog } from "./show-dialog-move-datadisk"; import { showMountViewDialog } from "./show-dialog-view-mount"; -import { navigate } from "../../../common/navigate"; + @customElement("ha-config-section-storage") class HaConfigSectionStorage extends LitElement { diff --git a/src/panels/config/storage/show-dialog-move-datadisk.ts b/src/panels/config/storage/show-dialog-move-datadisk.ts index 77c287ab73..20af47026f 100644 --- a/src/panels/config/storage/show-dialog-move-datadisk.ts +++ b/src/panels/config/storage/show-dialog-move-datadisk.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { HassioHostInfo } from "../../../data/hassio/host"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface MoveDatadiskDialogParams { hostInfo: HassioHostInfo; } diff --git a/src/panels/config/storage/show-dialog-view-mount.ts b/src/panels/config/storage/show-dialog-view-mount.ts index fbfe9dd9f7..4680b09174 100644 --- a/src/panels/config/storage/show-dialog-view-mount.ts +++ b/src/panels/config/storage/show-dialog-view-mount.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { SupervisorMount } from "../../../data/supervisor/mounts"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface MountViewDialogParams { mount?: SupervisorMount; reloadMounts: () => void; diff --git a/src/panels/config/tags/dialog-tag-detail.ts b/src/panels/config/tags/dialog-tag-detail.ts index 9f853dfef0..5cf1403c17 100644 --- a/src/panels/config/tags/dialog-tag-detail.ts +++ b/src/panels/config/tags/dialog-tag-detail.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button"; +import type { Tag, UpdateTagParams } from "../../../data/tag"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../types"; +import type { TagDetailDialogParams } from "./show-dialog-tag-detail"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; + import "../../../components/ha-alert"; -import { createCloseHeading } from "../../../components/ha-dialog"; import "../../../components/ha-formfield"; import "../../../components/ha-qr-code"; import "../../../components/ha-switch"; import "../../../components/ha-textfield"; -import type { Tag, UpdateTagParams } from "../../../data/tag"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import "@material/mwc-button"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../components/ha-dialog"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { TagDetailDialogParams } from "./show-dialog-tag-detail"; const TAG_BASE = "https://www.home-assistant.io/tag/"; diff --git a/src/panels/config/tags/ha-config-tags.ts b/src/panels/config/tags/ha-config-tags.ts index 6bbcc4d76a..486871f3d6 100644 --- a/src/panels/config/tags/ha-config-tags.ts +++ b/src/panels/config/tags/ha-config-tags.ts @@ -1,3 +1,20 @@ +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + RowClickedEvent, +} from "../../../components/data-table/ha-data-table"; +import type { TagTrigger } from "../../../data/automation"; +import type { Tag, TagScannedEvent, UpdateTagParams } from "../../../data/tag"; +import type { HomeAssistant, Route } from "../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-fab"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-icon-overflow-menu"; +import "../../../components/ha-relative-time"; +import "../../../layouts/hass-tabs-subpage-data-table"; +import "./tag-image"; + import { mdiDelete, mdiHelpCircle, @@ -5,23 +22,12 @@ import { mdiPlus, mdiRobot, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { storage } from "../../../common/decorators/storage"; -import type { LocalizeFunc } from "../../../common/translations/localize"; -import type { - DataTableColumnContainer, - RowClickedEvent, -} from "../../../components/data-table/ha-data-table"; -import "../../../components/ha-fab"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-icon-overflow-menu"; -import "../../../components/ha-relative-time"; -import type { TagTrigger } from "../../../data/automation"; import { showAutomationEditor } from "../../../data/automation"; -import type { Tag, TagScannedEvent, UpdateTagParams } from "../../../data/tag"; import { createTag, deleteTag, @@ -33,13 +39,10 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant, Route } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { configSections } from "../ha-panel-config"; import { showTagDetailDialog } from "./show-dialog-tag-detail"; -import "./tag-image"; export interface TagRowData extends Tag { display_name: string; diff --git a/src/panels/config/tags/show-dialog-tag-detail.ts b/src/panels/config/tags/show-dialog-tag-detail.ts index f802500796..a69d5f6a8f 100644 --- a/src/panels/config/tags/show-dialog-tag-detail.ts +++ b/src/panels/config/tags/show-dialog-tag-detail.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { Tag, UpdateTagParams } from "../../../data/tag"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface TagDetailDialogParams { entry?: Tag; openWrite?: (tag: Tag) => void; diff --git a/src/panels/config/tags/tag-image.ts b/src/panels/config/tags/tag-image.ts index 2d440eaaf4..2d9495462e 100644 --- a/src/panels/config/tags/tag-image.ts +++ b/src/panels/config/tags/tag-image.ts @@ -1,8 +1,10 @@ +import type { TagRowData } from "./ha-config-tags"; + +import "../../../components/ha-svg-icon"; + import { mdiNfcVariant } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-svg-icon"; -import type { TagRowData } from "./ha-config-tags"; @customElement("tag-image") export class HaTagImage extends LitElement { diff --git a/src/panels/config/users/dialog-add-user.ts b/src/panels/config/users/dialog-add-user.ts index 9611cbe49d..1b32adb8ce 100644 --- a/src/panels/config/users/dialog-add-user.ts +++ b/src/panels/config/users/dialog-add-user.ts @@ -1,19 +1,25 @@ +import type { HaSwitch } from "../../../components/ha-switch"; +import type { HaTextField } from "../../../components/ha-textfield"; +import type { User } from "../../../data/user"; +import type { HomeAssistant, ValueChangedEvent } from "../../../types"; +import type { AddUserDialogParams } from "./show-dialog-add-user"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../../../components/ha-alert"; import "../../../components/ha-button"; -import "../../../components/ha-spinner"; -import { createCloseHeading } from "../../../components/ha-dialog"; import "../../../components/ha-formfield"; import "../../../components/ha-icon-button"; +import "../../../components/ha-password-field"; import "../../../components/ha-settings-row"; +import "../../../components/ha-spinner"; import "../../../components/ha-switch"; -import type { HaSwitch } from "../../../components/ha-switch"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { createCloseHeading } from "../../../components/ha-dialog"; import { createAuthForUser } from "../../../data/auth"; -import type { User } from "../../../data/user"; import { SYSTEM_GROUP_ID_ADMIN, SYSTEM_GROUP_ID_USER, @@ -21,9 +27,6 @@ import { deleteUser, } from "../../../data/user"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant, ValueChangedEvent } from "../../../types"; -import type { AddUserDialogParams } from "./show-dialog-add-user"; -import "../../../components/ha-password-field"; @customElement("dialog-add-user") export class DialogAddUser extends LitElement { diff --git a/src/panels/config/users/dialog-admin-change-password.ts b/src/panels/config/users/dialog-admin-change-password.ts index fe1c9cb29a..33426265e8 100644 --- a/src/panels/config/users/dialog-admin-change-password.ts +++ b/src/panels/config/users/dialog-admin-change-password.ts @@ -1,18 +1,20 @@ -import "@material/mwc-button"; +import type { SchemaUnion } from "../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../types"; +import type { AdminChangePasswordDialogParams } from "./show-dialog-admin-change-password"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-form/ha-form"; +import "../../../components/ha-textfield"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../../../common/dom/fire_event"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../components/ha-form/types"; -import "../../../components/ha-textfield"; import { adminChangePassword } from "../../../data/auth"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showToast } from "../../../util/toast"; -import type { AdminChangePasswordDialogParams } from "./show-dialog-admin-change-password"; const SCHEMA = [ { diff --git a/src/panels/config/users/dialog-user-detail.ts b/src/panels/config/users/dialog-user-detail.ts index 287e21118e..ed47eed5a4 100644 --- a/src/panels/config/users/dialog-user-detail.ts +++ b/src/panels/config/users/dialog-user-detail.ts @@ -1,10 +1,9 @@ -import { mdiPencil } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; +import type { UserDetailDialogParams } from "./show-dialog-user-detail"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../../../components/ha-alert"; import "../../../components/ha-button"; -import { createCloseHeading } from "../../../components/ha-dialog"; import "../../../components/ha-formfield"; import "../../../components/ha-icon-button"; import "../../../components/ha-label"; @@ -12,6 +11,12 @@ import "../../../components/ha-settings-row"; import "../../../components/ha-svg-icon"; import "../../../components/ha-switch"; import "../../../components/ha-textfield"; + +import { mdiPencil } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { createCloseHeading } from "../../../components/ha-dialog"; import { adminChangeUsername } from "../../../data/auth"; import { computeUserBadges, @@ -23,9 +28,7 @@ import { showPromptDialog, } from "../../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showAdminChangePasswordDialog } from "./show-dialog-admin-change-password"; -import type { UserDetailDialogParams } from "./show-dialog-user-detail"; @customElement("dialog-user-detail") class DialogUserDetail extends LitElement { diff --git a/src/panels/config/users/ha-config-users.ts b/src/panels/config/users/ha-config-users.ts index c647ec809a..6519609daf 100644 --- a/src/panels/config/users/ha-config-users.ts +++ b/src/panels/config/users/ha-config-users.ts @@ -1,8 +1,3 @@ -import { mdiCheck, mdiPlus } from "@mdi/js"; -import type { PropertyValues } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../common/translations/localize"; import type { @@ -10,10 +5,21 @@ import type { RowClickedEvent, SortingChangedEvent, } from "../../../components/data-table/ha-data-table"; +import type { User } from "../../../data/user"; +import type { HomeAssistant, Route } from "../../../types"; +import type { PropertyValues } from "lit"; + import "../../../components/data-table/ha-data-table-icon"; import "../../../components/ha-fab"; import "../../../components/ha-svg-icon"; -import type { User } from "../../../data/user"; +import "../../../layouts/hass-tabs-subpage-data-table"; + +import { mdiCheck, mdiPlus } from "@mdi/js"; +import { LitElement, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { storage } from "../../../common/decorators/storage"; import { computeUserBadges, deleteUser, @@ -21,12 +27,9 @@ import { updateUser, } from "../../../data/user"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-tabs-subpage-data-table"; -import type { HomeAssistant, Route } from "../../../types"; import { configSections } from "../ha-panel-config"; import { showAddUserDialog } from "./show-dialog-add-user"; import { showUserDetailDialog } from "./show-dialog-user-detail"; -import { storage } from "../../../common/decorators/storage"; @customElement("ha-config-users") export class HaConfigUsers extends LitElement { diff --git a/src/panels/config/users/show-dialog-add-user.ts b/src/panels/config/users/show-dialog-add-user.ts index 84856e8a97..d1aa386071 100644 --- a/src/panels/config/users/show-dialog-add-user.ts +++ b/src/panels/config/users/show-dialog-add-user.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { User } from "../../../data/user"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface AddUserDialogParams { userAddedCallback: (user: User) => void; name?: string; diff --git a/src/panels/config/users/show-dialog-user-detail.ts b/src/panels/config/users/show-dialog-user-detail.ts index 90db3fe82b..2dacd86df7 100644 --- a/src/panels/config/users/show-dialog-user-detail.ts +++ b/src/panels/config/users/show-dialog-user-detail.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { UpdateUserParams, User } from "../../../data/user"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface UserDetailDialogParams { entry: User; updateEntry: (updates: Partial) => Promise; diff --git a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-config.ts b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-config.ts index c85ea484d5..7f9debf9df 100644 --- a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-config.ts +++ b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-config.ts @@ -1,11 +1,13 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { LocalizeKeys } from "../../../../common/translations/localize"; import type { AssistPipeline } from "../../../../data/assist_pipeline"; import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-form/ha-form"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + @customElement("assist-pipeline-detail-config") export class AssistPipelineDetailConfig extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-conversation.ts b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-conversation.ts index 0e69b0c9b5..5cf2f01d4b 100644 --- a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-conversation.ts +++ b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-conversation.ts @@ -1,10 +1,13 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { LocalizeKeys } from "../../../../common/translations/localize"; import type { AssistPipeline } from "../../../../data/assist_pipeline"; import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-form/ha-form"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../common/dom/fire_event"; @customElement("assist-pipeline-detail-conversation") diff --git a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-stt.ts b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-stt.ts index 3836faa222..c0190594f5 100644 --- a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-stt.ts +++ b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-stt.ts @@ -1,11 +1,13 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { LocalizeKeys } from "../../../../common/translations/localize"; import type { AssistPipeline } from "../../../../data/assist_pipeline"; import type { HomeAssistant } from "../../../../types"; + import "../../../../components/ha-form/ha-form"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + @customElement("assist-pipeline-detail-stt") export class AssistPipelineDetailSTT extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts index a8dc5cb6bb..0aa65c8596 100644 --- a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts +++ b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts @@ -1,12 +1,15 @@ +import type { LocalizeKeys } from "../../../../common/translations/localize"; +import type { AssistPipeline } from "../../../../data/assist_pipeline"; +import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-form/ha-form"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; -import type { LocalizeKeys } from "../../../../common/translations/localize"; -import "../../../../components/ha-button"; -import "../../../../components/ha-form/ha-form"; -import type { AssistPipeline } from "../../../../data/assist_pipeline"; + import { showTTSTryDialog } from "../../../../dialogs/tts-try/show-dialog-tts-try"; -import type { HomeAssistant } from "../../../../types"; @customElement("assist-pipeline-detail-tts") export class AssistPipelineDetailTTS extends LitElement { diff --git a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-wakeword.ts b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-wakeword.ts index 549900b7fb..0898d1475c 100644 --- a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-wakeword.ts +++ b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-wakeword.ts @@ -1,14 +1,17 @@ +import type { LocalizeKeys } from "../../../../common/translations/localize"; +import type { AssistPipeline } from "../../../../data/assist_pipeline"; +import type { WakeWord } from "../../../../data/wake_word"; +import type { HomeAssistant } from "../../../../types"; import type { PropertyValues } from "lit"; + +import "../../../../components/ha-form/ha-form"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; -import type { LocalizeKeys } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; -import type { AssistPipeline } from "../../../../data/assist_pipeline"; -import type { HomeAssistant } from "../../../../types"; -import type { WakeWord } from "../../../../data/wake_word"; -import { fetchWakeWordInfo } from "../../../../data/wake_word"; + import { fireEvent } from "../../../../common/dom/fire_event"; +import { fetchWakeWordInfo } from "../../../../data/wake_word"; @customElement("assist-pipeline-detail-wakeword") export class AssistPipelineDetailWakeWord extends LitElement { diff --git a/src/panels/config/voice-assistants/assist-pref.ts b/src/panels/config/voice-assistants/assist-pref.ts index 42c5d8166a..592450f7f9 100644 --- a/src/panels/config/voice-assistants/assist-pref.ts +++ b/src/panels/config/voice-assistants/assist-pref.ts @@ -1,4 +1,20 @@ +import type { HaSwitch } from "../../../components/ha-switch"; +import type { AssistPipeline } from "../../../data/assist_pipeline"; +import type { CloudStatus } from "../../../data/cloud"; +import type { ExposeEntitySettings } from "../../../data/expose"; +import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button"; +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-svg-icon"; +import "../../../components/ha-switch"; import "@material/mwc-list/mwc-list"; + import { mdiBug, mdiCommentProcessingOutline, @@ -8,20 +24,14 @@ import { mdiStar, mdiTrashCan, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { computeDomain } from "../../../common/entity/compute_domain"; import { formatLanguageCode } from "../../../common/language/format_language"; -import "../../../components/ha-alert"; -import "../../../components/ha-button"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-switch"; -import type { AssistPipeline } from "../../../data/assist_pipeline"; +import { navigate } from "../../../common/navigate"; import { createAssistPipeline, deleteAssistPipeline, @@ -29,8 +39,6 @@ import { setAssistPipelinePreferred, updateAssistPipeline, } from "../../../data/assist_pipeline"; -import type { CloudStatus } from "../../../data/cloud"; -import type { ExposeEntitySettings } from "../../../data/expose"; import { getExposeNewEntities, setExposeNewEntities, @@ -39,15 +47,10 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../types"; +import { showVoiceCommandDialog } from "../../../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; import { brandsUrl } from "../../../util/brands-url"; import { documentationUrl } from "../../../util/documentation-url"; import { showVoiceAssistantPipelineDetailDialog } from "./show-dialog-voice-assistant-pipeline-detail"; -import { showVoiceCommandDialog } from "../../../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import type { HaSwitch } from "../../../components/ha-switch"; -import { navigate } from "../../../common/navigate"; @customElement("assist-pref") export class AssistPref extends LitElement { diff --git a/src/panels/config/voice-assistants/assist/ha-config-voice-assistants-assist-devices.ts b/src/panels/config/voice-assistants/assist/ha-config-voice-assistants-assist-devices.ts index f2c26c7795..0ff530ca60 100644 --- a/src/panels/config/voice-assistants/assist/ha-config-voice-assistants-assist-devices.ts +++ b/src/panels/config/voice-assistants/assist/ha-config-voice-assistants-assist-devices.ts @@ -1,22 +1,25 @@ -import type { PropertyValues } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { computeDeviceNameDisplay } from "../../../../common/entity/compute_device_name"; -import { navigate } from "../../../../common/navigate"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/data-table/ha-data-table"; import type { DataTableColumnContainer } from "../../../../components/data-table/ha-data-table"; import type { AssistDevice, AssistPipeline, } from "../../../../data/assist_pipeline"; +import type { HomeAssistant } from "../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../components/data-table/ha-data-table"; +import "../../../../layouts/hass-subpage"; + +import { LitElement, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { computeDeviceNameDisplay } from "../../../../common/entity/compute_device_name"; +import { navigate } from "../../../../common/navigate"; import { listAssistDevices, listAssistPipelines, } from "../../../../data/assist_pipeline"; -import "../../../../layouts/hass-subpage"; -import type { HomeAssistant } from "../../../../types"; interface AssistDeviceExtra extends AssistDevice { name: string; diff --git a/src/panels/config/voice-assistants/cloud-alexa-pref.ts b/src/panels/config/voice-assistants/cloud-alexa-pref.ts index 0eb9fd5ae0..1b462222e4 100644 --- a/src/panels/config/voice-assistants/cloud-alexa-pref.ts +++ b/src/panels/config/voice-assistants/cloud-alexa-pref.ts @@ -1,23 +1,26 @@ -import "@material/mwc-button"; -import { mdiHelpCircle } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { isEmptyEntityDomainFilter } from "../../../common/entity/entity_domain_filter"; +import type { HaSwitch } from "../../../components/ha-switch"; +import type { CloudStatusLoggedIn } from "../../../data/cloud"; +import type { ExposeEntitySettings } from "../../../data/expose"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-alert"; import "../../../components/ha-card"; import "../../../components/ha-settings-row"; import "../../../components/ha-switch"; -import type { HaSwitch } from "../../../components/ha-switch"; -import type { CloudStatusLoggedIn } from "../../../data/cloud"; +import "@material/mwc-button"; + +import { mdiHelpCircle } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { isEmptyEntityDomainFilter } from "../../../common/entity/entity_domain_filter"; import { updateCloudPref } from "../../../data/cloud"; -import type { ExposeEntitySettings } from "../../../data/expose"; import { getExposeNewEntities, setExposeNewEntities, } from "../../../data/expose"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; export class CloudAlexaPref extends LitElement { diff --git a/src/panels/config/voice-assistants/cloud-discover.ts b/src/panels/config/voice-assistants/cloud-discover.ts index 2142a911eb..ee1e7302ca 100644 --- a/src/panels/config/voice-assistants/cloud-discover.ts +++ b/src/panels/config/voice-assistants/cloud-discover.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../../../types"; + +import "../../../components/ha-button"; +import "../../../components/ha-card"; +import "../../../components/ha-svg-icon"; + import { mdiMicrophoneMessage, mdiOpenInNew } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-card"; -import type { HomeAssistant } from "../../../types"; -import { brandsUrl } from "../../../util/brands-url"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-button"; + import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { brandsUrl } from "../../../util/brands-url"; @customElement("cloud-discover") export class CloudDiscover extends LitElement { diff --git a/src/panels/config/voice-assistants/cloud-google-pref.ts b/src/panels/config/voice-assistants/cloud-google-pref.ts index 3c66c9eccb..5b4773388c 100644 --- a/src/panels/config/voice-assistants/cloud-google-pref.ts +++ b/src/panels/config/voice-assistants/cloud-google-pref.ts @@ -1,25 +1,28 @@ -import "@material/mwc-button"; -import { mdiHelpCircle } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { isEmptyEntityDomainFilter } from "../../../common/entity/entity_domain_filter"; +import type { HaSwitch } from "../../../components/ha-switch"; +import type { HaTextField } from "../../../components/ha-textfield"; +import type { CloudStatusLoggedIn } from "../../../data/cloud"; +import type { ExposeEntitySettings } from "../../../data/expose"; +import type { HomeAssistant } from "../../../types"; + import "../../../components/ha-alert"; import "../../../components/ha-card"; import "../../../components/ha-settings-row"; import "../../../components/ha-switch"; -import type { HaSwitch } from "../../../components/ha-switch"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; -import type { CloudStatusLoggedIn } from "../../../data/cloud"; +import "@material/mwc-button"; + +import { mdiHelpCircle } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { isEmptyEntityDomainFilter } from "../../../common/entity/entity_domain_filter"; import { updateCloudPref } from "../../../data/cloud"; -import type { ExposeEntitySettings } from "../../../data/expose"; import { getExposeNewEntities, setExposeNewEntities, } from "../../../data/expose"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; import { showSaveSuccessToast } from "../../../util/toast-saved-success"; diff --git a/src/panels/config/voice-assistants/debug/assist-debug.ts b/src/panels/config/voice-assistants/debug/assist-debug.ts index 90316b31c6..e9cf828102 100644 --- a/src/panels/config/voice-assistants/debug/assist-debug.ts +++ b/src/panels/config/voice-assistants/debug/assist-debug.ts @@ -1,9 +1,11 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { HomeAssistant, Route } from "../../../../types"; + import "./assist-pipeline-debug"; import "./assist-pipeline-run-debug"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("assist-debug") export class AssistDebug extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/voice-assistants/debug/assist-pipeline-debug.ts b/src/panels/config/voice-assistants/debug/assist-pipeline-debug.ts index 7474aa1555..936e152686 100644 --- a/src/panels/config/voice-assistants/debug/assist-pipeline-debug.ts +++ b/src/panels/config/voice-assistants/debug/assist-pipeline-debug.ts @@ -1,3 +1,12 @@ +import type { + PipelineRunEvent, + AssistRunListing, +} from "../../../../data/assist_pipeline"; +import type { HomeAssistant, Route } from "../../../../types"; + +import "../../../../layouts/hass-subpage"; +import "./assist-render-pipeline-events"; + import { mdiMicrophoneMessage, mdiRayEndArrow, @@ -6,20 +15,14 @@ import { import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; + import { formatDateTimeWithSeconds } from "../../../../common/datetime/format_date_time"; -import type { - PipelineRunEvent, - AssistRunListing, -} from "../../../../data/assist_pipeline"; import { getAssistPipelineRun, listAssistPipelineRuns, } from "../../../../data/assist_pipeline"; import { showAlertDialog } from "../../../../dialogs/generic/show-dialog-box"; -import "../../../../layouts/hass-subpage"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../../types"; -import "./assist-render-pipeline-events"; @customElement("assist-pipeline-debug") export class AssistPipelineDebug extends LitElement { diff --git a/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts b/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts index db714ea87c..4994ed6ba5 100644 --- a/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts +++ b/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts @@ -1,29 +1,32 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { extractSearchParam } from "../../../../common/url/search-params"; -import "../../../../components/ha-assist-pipeline-picker"; -import "../../../../components/ha-button"; -import "../../../../components/ha-checkbox"; import type { HaCheckbox } from "../../../../components/ha-checkbox"; -import "../../../../components/ha-formfield"; -import "../../../../components/ha-textfield"; import type { HaTextField } from "../../../../components/ha-textfield"; import type { PipelineRun, PipelineRunOptions, } from "../../../../data/assist_pipeline"; +import type { HomeAssistant } from "../../../../types"; +import type { TemplateResult } from "lit"; + +import "../../../../components/ha-assist-pipeline-picker"; +import "../../../../components/ha-button"; +import "../../../../components/ha-checkbox"; +import "../../../../components/ha-formfield"; +import "../../../../components/ha-textfield"; +import "../../../../layouts/hass-subpage"; +import "./assist-render-pipeline-run"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { extractSearchParam } from "../../../../common/url/search-params"; import { runDebugAssistPipeline } from "../../../../data/assist_pipeline"; import { showAlertDialog, showPromptDialog, } from "../../../../dialogs/generic/show-dialog-box"; -import "../../../../layouts/hass-subpage"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { AudioRecorder } from "../../../../util/audio-recorder"; import { fileDownload } from "../../../../util/file_download"; -import "./assist-render-pipeline-run"; @customElement("assist-pipeline-run-debug") export class AssistPipelineRunDebug extends LitElement { diff --git a/src/panels/config/voice-assistants/debug/assist-render-pipeline-events.ts b/src/panels/config/voice-assistants/debug/assist-render-pipeline-events.ts index 9c542c6962..373d759a3e 100644 --- a/src/panels/config/voice-assistants/debug/assist-render-pipeline-events.ts +++ b/src/panels/config/voice-assistants/debug/assist-render-pipeline-events.ts @@ -1,15 +1,18 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { PipelineRun, PipelineRunEvent, } from "../../../../data/assist_pipeline"; -import { processEvent } from "../../../../data/assist_pipeline"; import type { HomeAssistant } from "../../../../types"; +import type { TemplateResult } from "lit"; + import "./assist-render-pipeline-run"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { processEvent } from "../../../../data/assist_pipeline"; + @customElement("assist-render-pipeline-events") export class AssistPipelineEvents extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/voice-assistants/debug/assist-render-pipeline-run.ts b/src/panels/config/voice-assistants/debug/assist-render-pipeline-run.ts index e3bb6ef500..8c5a06dac0 100644 --- a/src/panels/config/voice-assistants/debug/assist-render-pipeline-run.ts +++ b/src/panels/config/voice-assistants/debug/assist-render-pipeline-run.ts @@ -1,15 +1,18 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../../components/ha-card"; -import "../../../../components/ha-alert"; -import "../../../../components/ha-button"; -import "../../../../components/ha-spinner"; -import "../../../../components/ha-expansion-panel"; import type { PipelineRun } from "../../../../data/assist_pipeline"; import type { HomeAssistant } from "../../../../types"; -import { formatNumber } from "../../../../common/number/format_number"; +import type { TemplateResult } from "lit"; + +import "../../../../components/ha-alert"; +import "../../../../components/ha-button"; +import "../../../../components/ha-card"; +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-spinner"; import "../../../../components/ha-yaml-editor"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { formatNumber } from "../../../../common/number/format_number"; import { showAlertDialog } from "../../../../dialogs/generic/show-dialog-box"; const RUN_DATA = { diff --git a/src/panels/config/voice-assistants/dialog-expose-entity.ts b/src/panels/config/voice-assistants/dialog-expose-entity.ts index d8b523c7ef..7d55c72c56 100644 --- a/src/panels/config/voice-assistants/dialog-expose-entity.ts +++ b/src/panels/config/voice-assistants/dialog-expose-entity.ts @@ -1,26 +1,29 @@ +import type { ExposeEntitySettings } from "../../../data/expose"; +import type { HomeAssistant } from "../../../types"; +import type { ExposeEntityDialogParams } from "./show-dialog-expose-entity"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-check-list-item"; +import "../../../components/ha-dialog"; +import "../../../components/ha-dialog-header"; +import "../../../components/ha-state-icon"; +import "../../../components/search-input"; +import "./entity-voice-settings"; import "@lit-labs/virtualizer"; import "@material/mwc-button"; import "@material/mwc-list"; + import { mdiClose } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { CSSResultGroup } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-check-list-item"; -import "../../../components/search-input"; -import "../../../components/ha-dialog"; -import "../../../components/ha-dialog-header"; -import "../../../components/ha-state-icon"; -import type { ExposeEntitySettings } from "../../../data/expose"; import { voiceAssistants } from "../../../data/expose"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import "./entity-voice-settings"; -import type { ExposeEntityDialogParams } from "./show-dialog-expose-entity"; @customElement("dialog-expose-entity") class DialogExposeEntity extends LitElement { diff --git a/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts b/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts index 07f596c23e..f17c860949 100644 --- a/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts +++ b/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts @@ -1,28 +1,31 @@ -import { mdiClose, mdiDotsVertical } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-button"; -import "../../../components/ha-dialog-header"; -import "../../../components/ha-form/ha-form"; import type { AssistPipeline, AssistPipelineMutableParams, } from "../../../data/assist_pipeline"; -import { fetchAssistPipelineLanguages } from "../../../data/assist_pipeline"; -import { haStyleDialog } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; +import type { VoiceAssistantPipelineDetailsDialogParams } from "./show-dialog-voice-assistant-pipeline-detail"; +import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-button"; +import "../../../components/ha-dialog-header"; +import "../../../components/ha-form/ha-form"; import "./assist-pipeline-detail/assist-pipeline-detail-config"; import "./assist-pipeline-detail/assist-pipeline-detail-conversation"; import "./assist-pipeline-detail/assist-pipeline-detail-stt"; import "./assist-pipeline-detail/assist-pipeline-detail-tts"; import "./assist-pipeline-detail/assist-pipeline-detail-wakeword"; import "./debug/assist-render-pipeline-events"; -import type { VoiceAssistantPipelineDetailsDialogParams } from "./show-dialog-voice-assistant-pipeline-detail"; -import { computeDomain } from "../../../common/entity/compute_domain"; + +import { mdiClose, mdiDotsVertical } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { fetchAssistPipelineLanguages } from "../../../data/assist_pipeline"; +import { haStyleDialog } from "../../../resources/styles"; @customElement("dialog-voice-assistant-pipeline-detail") export class DialogVoiceAssistantPipelineDetail extends LitElement { diff --git a/src/panels/config/voice-assistants/dialog-voice-settings.ts b/src/panels/config/voice-assistants/dialog-voice-settings.ts index 8113e155d7..25eeeb7f71 100644 --- a/src/panels/config/voice-assistants/dialog-voice-settings.ts +++ b/src/panels/config/voice-assistants/dialog-voice-settings.ts @@ -1,17 +1,20 @@ -import "@material/mwc-button/mwc-button"; -import { mdiClose, mdiTuneVertical } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; +import type { VoiceSettingsDialogParams } from "./show-dialog-voice-settings"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-dialog"; +import "../../../components/ha-dialog-header"; +import "./entity-voice-settings"; +import "@material/mwc-button/mwc-button"; + +import { mdiClose, mdiTuneVertical } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-dialog-header"; -import "../../../components/ha-dialog"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import "./entity-voice-settings"; -import type { VoiceSettingsDialogParams } from "./show-dialog-voice-settings"; @customElement("dialog-voice-settings") class DialogVoiceSettings extends LitElement { diff --git a/src/panels/config/voice-assistants/entity-voice-settings.ts b/src/panels/config/voice-assistants/entity-voice-settings.ts index dc166d04df..2d46a7fa29 100644 --- a/src/panels/config/voice-assistants/entity-voice-settings.ts +++ b/src/panels/config/voice-assistants/entity-voice-settings.ts @@ -1,44 +1,47 @@ -import { mdiAlertCircle } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { EntityDomainFilter, EntityDomainFilterFunc, } from "../../../common/entity/entity_domain_filter"; +import type { CloudStatus, CloudStatusLoggedIn } from "../../../data/cloud"; +import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; +import type { ExposeEntitySettings } from "../../../data/expose"; +import type { GoogleEntity } from "../../../data/google_assistant"; +import type { HomeAssistant } from "../../../types"; +import type { EntityRegistrySettings } from "../entities/entity-registry-settings"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-aliases-editor"; +import "../../../components/ha-checkbox"; +import "../../../components/ha-formfield"; +import "../../../components/ha-settings-row"; +import "../../../components/ha-switch"; + +import { mdiAlertCircle } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { fireEvent } from "../../../common/dom/fire_event"; import { generateEntityDomainFilter, isEmptyEntityDomainFilter, } from "../../../common/entity/entity_domain_filter"; -import "../../../components/ha-aliases-editor"; -import "../../../components/ha-settings-row"; -import "../../../components/ha-switch"; -import "../../../components/ha-formfield"; -import "../../../components/ha-checkbox"; -import "../../../components/ha-alert"; import { fetchCloudAlexaEntity } from "../../../data/alexa"; -import type { CloudStatus, CloudStatusLoggedIn } from "../../../data/cloud"; import { fetchCloudStatus, updateCloudGoogleEntityConfig, } from "../../../data/cloud"; -import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; import { getExtendedEntityRegistryEntry, updateEntityRegistryEntry, } from "../../../data/entity_registry"; -import type { GoogleEntity } from "../../../data/google_assistant"; -import { fetchCloudGoogleEntity } from "../../../data/google_assistant"; -import type { ExposeEntitySettings } from "../../../data/expose"; import { exposeEntities, voiceAssistants } from "../../../data/expose"; +import { fetchCloudGoogleEntity } from "../../../data/google_assistant"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { brandsUrl } from "../../../util/brands-url"; -import type { EntityRegistrySettings } from "../entities/entity-registry-settings"; import { documentationUrl } from "../../../util/documentation-url"; @customElement("entity-voice-settings") diff --git a/src/panels/config/voice-assistants/expose/expose-assistant-icon.ts b/src/panels/config/voice-assistants/expose/expose-assistant-icon.ts index 4eb905b9ea..3bf4884ad5 100644 --- a/src/panels/config/voice-assistants/expose/expose-assistant-icon.ts +++ b/src/panels/config/voice-assistants/expose/expose-assistant-icon.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-svg-icon"; +import "../../../../components/ha-tooltip"; + import { mdiAlertCircle } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { voiceAssistants } from "../../../../data/expose"; -import type { HomeAssistant } from "../../../../types"; import { brandsUrl } from "../../../../util/brands-url"; -import "../../../../components/ha-svg-icon"; -import "../../../../components/ha-tooltip"; @customElement("voice-assistants-expose-assistant-icon") export class VoiceAssistantExposeAssistantIcon extends LitElement { diff --git a/src/panels/config/voice-assistants/ha-config-voice-assistants-assistants.ts b/src/panels/config/voice-assistants/ha-config-voice-assistants-assistants.ts index ff959d7830..0a31a2f8cd 100644 --- a/src/panels/config/voice-assistants/ha-config-voice-assistants-assistants.ts +++ b/src/panels/config/voice-assistants/ha-config-voice-assistants-assistants.ts @@ -1,16 +1,18 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import type { CloudStatus } from "../../../data/cloud"; import type { ExposeEntitySettings } from "../../../data/expose"; +import type { HomeAssistant, Route } from "../../../types"; import "../../../layouts/hass-loading-screen"; import "../../../layouts/hass-tabs-subpage"; -import type { HomeAssistant, Route } from "../../../types"; import "./assist-pref"; import "./cloud-alexa-pref"; import "./cloud-discover"; import "./cloud-google-pref"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { voiceAssistantTabs } from "./ha-config-voice-assistants"; @customElement("ha-config-voice-assistants-assistants") diff --git a/src/panels/config/voice-assistants/ha-config-voice-assistants-expose.ts b/src/panels/config/voice-assistants/ha-config-voice-assistants-expose.ts index 7b4ff58907..d571b40ff0 100644 --- a/src/panels/config/voice-assistants/ha-config-voice-assistants-expose.ts +++ b/src/panels/config/voice-assistants/ha-config-voice-assistants-expose.ts @@ -1,24 +1,6 @@ -import { consume } from "@lit-labs/context"; -import { - mdiCloseBoxMultiple, - mdiCloseCircleOutline, - mdiPlus, - mdiPlusBoxMultiple, -} from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import memoize from "memoize-one"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeStateName } from "../../../common/entity/compute_state_name"; import type { EntityDomainFilter } from "../../../common/entity/entity_domain_filter"; -import { - generateEntityDomainFilter, - isEmptyEntityDomainFilter, -} from "../../../common/entity/entity_domain_filter"; -import { navigate } from "../../../common/navigate"; +import type { LocalizeFunc } from "../../../common/translations/localize"; import type { DataTableColumnContainer, DataTableRowData, @@ -26,32 +8,53 @@ import type { SelectionChangedEvent, SortingChangedEvent, } from "../../../components/data-table/ha-data-table"; +import type { AlexaEntity } from "../../../data/alexa"; +import type { CloudStatus, CloudStatusLoggedIn } from "../../../data/cloud"; +import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; +import type { ExposeEntitySettings } from "../../../data/expose"; +import type { GoogleEntity } from "../../../data/google_assistant"; +import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; +import type { HomeAssistant, Route } from "../../../types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + import "../../../components/ha-fab"; import "../../../components/ha-tooltip"; -import type { AlexaEntity } from "../../../data/alexa"; -import { fetchCloudAlexaEntities } from "../../../data/alexa"; -import type { CloudStatus, CloudStatusLoggedIn } from "../../../data/cloud"; -import { entitiesContext } from "../../../data/context"; -import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; -import { getExtendedEntityRegistryEntries } from "../../../data/entity_registry"; -import type { ExposeEntitySettings } from "../../../data/expose"; -import { exposeEntities, voiceAssistants } from "../../../data/expose"; -import type { GoogleEntity } from "../../../data/google_assistant"; -import { fetchCloudGoogleEntities } from "../../../data/google_assistant"; -import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import "../../../layouts/hass-loading-screen"; import "../../../layouts/hass-tabs-subpage-data-table"; -import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-data-table"; -import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route } from "../../../types"; -import type { LocalizeFunc } from "../../../common/translations/localize"; import "./expose/expose-assistant-icon"; + +import { consume } from "@lit-labs/context"; +import { + mdiCloseBoxMultiple, + mdiCloseCircleOutline, + mdiPlus, + mdiPlusBoxMultiple, +} from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; +import memoize from "memoize-one"; + +import { storage } from "../../../common/decorators/storage"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { + generateEntityDomainFilter, + isEmptyEntityDomainFilter, +} from "../../../common/entity/entity_domain_filter"; +import { navigate } from "../../../common/navigate"; +import { fetchCloudAlexaEntities } from "../../../data/alexa"; +import { entitiesContext } from "../../../data/context"; +import { getExtendedEntityRegistryEntries } from "../../../data/entity_registry"; +import { exposeEntities, voiceAssistants } from "../../../data/expose"; +import { fetchCloudGoogleEntities } from "../../../data/google_assistant"; +import { domainToName } from "../../../data/integration"; +import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../resources/styles"; import { voiceAssistantTabs } from "./ha-config-voice-assistants"; import { showExposeEntityDialog } from "./show-dialog-expose-entity"; import { showVoiceSettingsDialog } from "./show-dialog-voice-settings"; -import { storage } from "../../../common/decorators/storage"; -import { domainToName } from "../../../data/integration"; -import { computeDomain } from "../../../common/entity/compute_domain"; @customElement("ha-config-voice-assistants-expose") export class VoiceAssistantsExpose extends LitElement { diff --git a/src/panels/config/voice-assistants/ha-config-voice-assistants.ts b/src/panels/config/voice-assistants/ha-config-voice-assistants.ts index 33f77f2c76..026f4b35e9 100644 --- a/src/panels/config/voice-assistants/ha-config-voice-assistants.ts +++ b/src/panels/config/voice-assistants/ha-config-voice-assistants.ts @@ -1,14 +1,16 @@ +import type { CloudStatus } from "../../../data/cloud"; +import type { ExposeEntitySettings } from "../../../data/expose"; +import type { RouterOptions } from "../../../layouts/hass-router-page"; +import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + import { consume } from "@lit-labs/context"; import { mdiDevices, mdiMicrophone } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { CloudStatus } from "../../../data/cloud"; + import { entitiesContext } from "../../../data/context"; -import type { ExposeEntitySettings } from "../../../data/expose"; import { listExposedEntities } from "../../../data/expose"; -import type { RouterOptions } from "../../../layouts/hass-router-page"; import { HassRouterPage } from "../../../layouts/hass-router-page"; -import type { HomeAssistant } from "../../../types"; export const voiceAssistantTabs = [ { diff --git a/src/panels/config/voice-assistants/show-dialog-expose-entity.ts b/src/panels/config/voice-assistants/show-dialog-expose-entity.ts index 01d74fc098..0ac70d86a7 100644 --- a/src/panels/config/voice-assistants/show-dialog-expose-entity.ts +++ b/src/panels/config/voice-assistants/show-dialog-expose-entity.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { ExposeEntitySettings } from "../../../data/expose"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface ExposeEntityDialogParams { filterAssistants: string[]; exposedEntities: Record; diff --git a/src/panels/config/voice-assistants/show-dialog-voice-assistant-pipeline-detail.ts b/src/panels/config/voice-assistants/show-dialog-voice-assistant-pipeline-detail.ts index 887763e08d..b4d8b9fd2d 100644 --- a/src/panels/config/voice-assistants/show-dialog-voice-assistant-pipeline-detail.ts +++ b/src/panels/config/voice-assistants/show-dialog-voice-assistant-pipeline-detail.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { AssistPipeline, AssistPipelineMutableParams, } from "../../../data/assist_pipeline"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface VoiceAssistantPipelineDetailsDialogParams { cloudActiveSubscription?: boolean; pipeline?: AssistPipeline; diff --git a/src/panels/config/voice-assistants/show-dialog-voice-settings.ts b/src/panels/config/voice-assistants/show-dialog-voice-settings.ts index 25794d7a17..3dcb238228 100644 --- a/src/panels/config/voice-assistants/show-dialog-voice-settings.ts +++ b/src/panels/config/voice-assistants/show-dialog-voice-settings.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; import type { ExposeEntitySettings } from "../../../data/expose"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface VoiceSettingsDialogParams { entityId: string; exposed: ExposeEntitySettings; diff --git a/src/panels/config/zone/dialog-home-zone-detail.ts b/src/panels/config/zone/dialog-home-zone-detail.ts index 0a25f8d713..244be66d30 100644 --- a/src/panels/config/zone/dialog-home-zone-detail.ts +++ b/src/panels/config/zone/dialog-home-zone-detail.ts @@ -1,15 +1,18 @@ -import "@material/mwc-button"; +import type { HomeZoneMutableParams } from "../../../data/zone"; +import type { HomeAssistant } from "../../../types"; +import type { HomeZoneDetailDialogParams } from "./show-dialog-home-zone-detail"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-form/ha-form"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-form/ha-form"; -import type { HomeZoneMutableParams } from "../../../data/zone"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { HomeZoneDetailDialogParams } from "./show-dialog-home-zone-detail"; const SCHEMA = [ { diff --git a/src/panels/config/zone/dialog-zone-detail.ts b/src/panels/config/zone/dialog-zone-detail.ts index 065d1e5149..b2cc5d4fcf 100644 --- a/src/panels/config/zone/dialog-zone-detail.ts +++ b/src/panels/config/zone/dialog-zone-detail.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button"; +import type { SchemaUnion } from "../../../components/ha-form/types"; +import type { ZoneMutableParams } from "../../../data/zone"; +import type { HomeAssistant } from "../../../types"; +import type { ZoneDetailDialogParams } from "./show-dialog-zone-detail"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-form/ha-form"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../common/dom/fire_event"; import { addDistanceToCoord } from "../../../common/location/add_distance_to_coord"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../components/ha-form/types"; -import type { ZoneMutableParams } from "../../../data/zone"; import { getZoneEditorInitData } from "../../../data/zone"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { ZoneDetailDialogParams } from "./show-dialog-zone-detail"; class DialogZoneDetail extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/zone/ha-config-zone.ts b/src/panels/config/zone/ha-config-zone.ts index 626bccfc2f..836058fd55 100644 --- a/src/panels/config/zone/ha-config-zone.ts +++ b/src/panels/config/zone/ha-config-zone.ts @@ -1,14 +1,16 @@ -import "@material/mwc-list/mwc-list"; -import { mdiPencil, mdiPencilOff, mdiPlus } from "@mdi/js"; +import type { + HaLocationsEditor, + MarkerLocation, +} from "../../../components/map/ha-locations-editor"; +import type { + HomeZoneMutableParams, + Zone, + ZoneMutableParams, +} from "../../../data/zone"; +import type { HomeAssistant, Route } from "../../../types"; import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { computeStateDomain } from "../../../common/entity/compute_state_domain"; -import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; -import { navigate } from "../../../common/navigate"; -import { stringCompare } from "../../../common/string/compare"; + import "../../../components/ha-card"; import "../../../components/ha-fab"; import "../../../components/ha-icon-button"; @@ -16,17 +18,22 @@ import "../../../components/ha-list-item"; import "../../../components/ha-svg-icon"; import "../../../components/ha-tooltip"; import "../../../components/map/ha-locations-editor"; -import type { - HaLocationsEditor, - MarkerLocation, -} from "../../../components/map/ha-locations-editor"; +import "../../../layouts/hass-loading-screen"; +import "../../../layouts/hass-tabs-subpage"; +import "../ha-config-section"; +import "@material/mwc-list/mwc-list"; + +import { mdiPencil, mdiPencilOff, mdiPlus } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { computeStateDomain } from "../../../common/entity/compute_state_domain"; +import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event"; +import { navigate } from "../../../common/navigate"; +import { stringCompare } from "../../../common/string/compare"; import { saveCoreConfig } from "../../../data/core"; import { subscribeEntityRegistry } from "../../../data/entity_registry"; -import type { - HomeZoneMutableParams, - Zone, - ZoneMutableParams, -} from "../../../data/zone"; import { createZone, deleteZone, @@ -37,11 +44,7 @@ import { showAlertDialog, showConfirmationDialog, } from "../../../dialogs/generic/show-dialog-box"; -import "../../../layouts/hass-loading-screen"; -import "../../../layouts/hass-tabs-subpage"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant, Route } from "../../../types"; -import "../ha-config-section"; import { configSections } from "../ha-panel-config"; import { showHomeZoneDetailDialog } from "./show-dialog-home-zone-detail"; import { showZoneDetailDialog } from "./show-dialog-zone-detail"; diff --git a/src/panels/config/zone/show-dialog-home-zone-detail.ts b/src/panels/config/zone/show-dialog-home-zone-detail.ts index 9c8f3ba3b2..c16fb22771 100644 --- a/src/panels/config/zone/show-dialog-home-zone-detail.ts +++ b/src/panels/config/zone/show-dialog-home-zone-detail.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { HomeZoneMutableParams } from "../../../data/zone"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface HomeZoneDetailDialogParams { updateEntry?: (updates: HomeZoneMutableParams) => Promise; } diff --git a/src/panels/config/zone/show-dialog-zone-detail.ts b/src/panels/config/zone/show-dialog-zone-detail.ts index edb02c2a46..64d088a567 100644 --- a/src/panels/config/zone/show-dialog-zone-detail.ts +++ b/src/panels/config/zone/show-dialog-zone-detail.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { Zone, ZoneMutableParams } from "../../../data/zone"; +import { fireEvent } from "../../../common/dom/fire_event"; + export interface ZoneDetailDialogParams { entry?: Zone; createEntry: (values: ZoneMutableParams) => Promise; diff --git a/src/panels/custom/ha-panel-custom.ts b/src/panels/custom/ha-panel-custom.ts index e7eaf5442e..66ef005d0b 100644 --- a/src/panels/custom/ha-panel-custom.ts +++ b/src/panels/custom/ha-panel-custom.ts @@ -1,11 +1,13 @@ -import type { PropertyValues } from "lit"; -import { ReactiveElement } from "lit"; -import { property } from "lit/decorators"; import type { NavigateOptions } from "../../common/navigate"; -import { navigate } from "../../common/navigate"; -import { deepEqual } from "../../common/util/deep-equal"; import type { CustomPanelInfo } from "../../data/panel_custom"; import type { HomeAssistant, Route } from "../../types"; +import type { PropertyValues } from "lit"; + +import { ReactiveElement } from "lit"; +import { property } from "lit/decorators"; + +import { navigate } from "../../common/navigate"; +import { deepEqual } from "../../common/util/deep-equal"; import { createCustomPanelElement } from "../../util/custom-panel/create-custom-panel-element"; import { getUrl, diff --git a/src/panels/developer-tools/action/developer-tools-action.ts b/src/panels/developer-tools/action/developer-tools-action.ts index 83cf76526f..fe5961362d 100644 --- a/src/panels/developer-tools/action/developer-tools-action.ts +++ b/src/panels/developer-tools/action/developer-tools-action.ts @@ -1,42 +1,44 @@ -import { mdiHelpCircle } from "@mdi/js"; -import type { HassService } from "home-assistant-js-websocket"; -import { ERR_CONNECTION_LOST } from "home-assistant-js-websocket"; -import { load } from "js-yaml"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { storage } from "../../../common/decorators/storage"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { computeObjectId } from "../../../common/entity/compute_object_id"; -import { hasTemplate, isTemplate } from "../../../common/string/has-template"; import type { LocalizeFunc } from "../../../common/translations/localize"; -import { extractSearchParam } from "../../../common/url/search-params"; -import { copyToClipboard } from "../../../common/util/copy-clipboard"; import type { HaProgressButton } from "../../../components/buttons/ha-progress-button"; -import { showToast } from "../../../util/toast"; +import type { HaYamlEditor } from "../../../components/ha-yaml-editor"; +import type { Action, ServiceAction } from "../../../data/script"; +import type { HomeAssistant } from "../../../types"; +import type { HassService } from "home-assistant-js-websocket"; +import type { CSSResultGroup } from "lit"; +import "../../../components/buttons/ha-progress-button"; import "../../../components/entity/ha-entity-picker"; import "../../../components/ha-alert"; import "../../../components/ha-button"; import "../../../components/ha-card"; -import "../../../components/buttons/ha-progress-button"; import "../../../components/ha-expansion-panel"; import "../../../components/ha-icon-button"; import "../../../components/ha-service-control"; import "../../../components/ha-service-picker"; import "../../../components/ha-yaml-editor"; -import type { HaYamlEditor } from "../../../components/ha-yaml-editor"; + +import { mdiHelpCircle } from "@mdi/js"; +import { ERR_CONNECTION_LOST } from "home-assistant-js-websocket"; +import { load } from "js-yaml"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { storage } from "../../../common/decorators/storage"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeObjectId } from "../../../common/entity/compute_object_id"; +import { hasTemplate, isTemplate } from "../../../common/string/has-template"; +import { extractSearchParam } from "../../../common/url/search-params"; +import { copyToClipboard } from "../../../common/util/copy-clipboard"; import { forwardHaptic } from "../../../data/haptics"; -import type { Action, ServiceAction } from "../../../data/script"; import { migrateAutomationAction } from "../../../data/script"; import { callExecuteScript, serviceCallWillDisconnect, } from "../../../data/service"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; +import { showToast } from "../../../util/toast"; @customElement("developer-tools-action") class HaPanelDevAction extends LitElement { diff --git a/src/panels/developer-tools/assist/developer-tools-assist.ts b/src/panels/developer-tools/assist/developer-tools-assist.ts index a10e169ea2..6c7fdafa68 100644 --- a/src/panels/developer-tools/assist/developer-tools-assist.ts +++ b/src/panels/developer-tools/assist/developer-tools-assist.ts @@ -1,22 +1,25 @@ -import { mdiDownload, mdiTrashCan } from "@mdi/js"; -import { dump } from "js-yaml"; +import type { HaTextArea } from "../../../components/ha-textarea"; +import type { AssitDebugResult } from "../../../data/conversation"; +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { storage } from "../../../common/decorators/storage"; -import { formatLanguageCode } from "../../../common/language/format_language"; + import "../../../components/ha-alert"; import "../../../components/ha-button"; import "../../../components/ha-card"; import "../../../components/ha-code-editor"; import "../../../components/ha-language-picker"; import "../../../components/ha-textarea"; -import type { HaTextArea } from "../../../components/ha-textarea"; -import type { AssitDebugResult } from "../../../data/conversation"; + +import { mdiDownload, mdiTrashCan } from "@mdi/js"; +import { dump } from "js-yaml"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { storage } from "../../../common/decorators/storage"; +import { formatLanguageCode } from "../../../common/language/format_language"; import { debugAgent, listAgents } from "../../../data/conversation"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { fileDownload } from "../../../util/file_download"; interface SentenceParsingResult { diff --git a/src/panels/developer-tools/debug/developer-tools-debug.ts b/src/panels/developer-tools/debug/developer-tools-debug.ts index 360fefb030..64a4d6358b 100644 --- a/src/panels/developer-tools/debug/developer-tools-debug.ts +++ b/src/panels/developer-tools/debug/developer-tools-debug.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../../../types"; + +import "../../../components/ha-card"; +import "./ha-debug-connection-row"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-card"; + import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import "./ha-debug-connection-row"; @customElement("developer-tools-debug") class HaPanelDevDebug extends SubscribeMixin(LitElement) { diff --git a/src/panels/developer-tools/debug/ha-debug-connection-row.ts b/src/panels/developer-tools/debug/ha-debug-connection-row.ts index c97172c9c2..12acfafed6 100644 --- a/src/panels/developer-tools/debug/ha-debug-connection-row.ts +++ b/src/panels/developer-tools/debug/ha-debug-connection-row.ts @@ -1,10 +1,13 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../components/ha-settings-row"; -import "../../../components/ha-switch"; import type { HaSwitch } from "../../../components/ha-switch"; import type { HomeAssistant } from "../../../types"; +import type { TemplateResult } from "lit"; + +import "../../../components/ha-settings-row"; +import "../../../components/ha-switch"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { storeState } from "../../../util/ha-pref-storage"; @customElement("ha-debug-connection-row") diff --git a/src/panels/developer-tools/developer-tools-router.ts b/src/panels/developer-tools/developer-tools-router.ts index 9b7f8b5fc7..3a61ae1618 100644 --- a/src/panels/developer-tools/developer-tools-router.ts +++ b/src/panels/developer-tools/developer-tools-router.ts @@ -1,8 +1,10 @@ -import { customElement, property } from "lit/decorators"; import type { RouterOptions } from "../../layouts/hass-router-page"; -import { HassRouterPage } from "../../layouts/hass-router-page"; import type { HomeAssistant } from "../../types"; +import { customElement, property } from "lit/decorators"; + +import { HassRouterPage } from "../../layouts/hass-router-page"; + @customElement("developer-tools-router") class DeveloperToolsRouter extends HassRouterPage { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/developer-tools/event/developer-tools-event.ts b/src/panels/developer-tools/event/developer-tools-event.ts index abad0c3701..9faa18136d 100644 --- a/src/panels/developer-tools/event/developer-tools-event.ts +++ b/src/panels/developer-tools/event/developer-tools-event.ts @@ -1,17 +1,20 @@ +import type { HomeAssistant } from "../../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-yaml-editor"; -import "../../../components/ha-textfield"; + import "../../../components/ha-button"; import "../../../components/ha-card"; -import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import { documentationUrl } from "../../../util/documentation-url"; +import "../../../components/ha-textfield"; +import "../../../components/ha-yaml-editor"; import "./event-subscribe-card"; import "./events-list"; -import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; + +import { LitElement, css, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; +import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../resources/styles"; +import { documentationUrl } from "../../../util/documentation-url"; @customElement("developer-tools-event") class HaPanelDevEvent extends LitElement { diff --git a/src/panels/developer-tools/event/event-subscribe-card.ts b/src/panels/developer-tools/event/event-subscribe-card.ts index fb429b8a83..5fb6ec0fa8 100644 --- a/src/panels/developer-tools/event/event-subscribe-card.ts +++ b/src/panels/developer-tools/event/event-subscribe-card.ts @@ -1,15 +1,18 @@ +import type { HomeAssistant } from "../../../types"; import type { HassEvent } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { formatTime } from "../../../common/datetime/format_time"; + +import "../../../components/ha-alert"; +import "../../../components/ha-button"; import "../../../components/ha-card"; import "../../../components/ha-textfield"; import "../../../components/ha-yaml-editor"; -import "../../../components/ha-button"; -import "../../../components/ha-alert"; -import type { HomeAssistant } from "../../../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { formatTime } from "../../../common/datetime/format_time"; @customElement("event-subscribe-card") class EventSubscribeCard extends LitElement { diff --git a/src/panels/developer-tools/event/events-list.ts b/src/panels/developer-tools/event/events-list.ts index f0f61f8369..ed0d640c3d 100644 --- a/src/panels/developer-tools/event/events-list.ts +++ b/src/panels/developer-tools/event/events-list.ts @@ -1,9 +1,11 @@ +import type { HomeAssistant } from "../../../types"; import type { TemplateResult } from "lit"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import { stringCompare } from "../../../common/string/compare"; + import { fireEvent } from "../../../common/dom/fire_event"; -import type { HomeAssistant } from "../../../types"; +import { stringCompare } from "../../../common/string/compare"; interface EventListenerCount { event: string; diff --git a/src/panels/developer-tools/ha-panel-developer-tools.ts b/src/panels/developer-tools/ha-panel-developer-tools.ts index 23b299cfcd..8a223f15d1 100644 --- a/src/panels/developer-tools/ha-panel-developer-tools.ts +++ b/src/panels/developer-tools/ha-panel-developer-tools.ts @@ -1,18 +1,21 @@ -import { mdiDotsVertical } from "@mdi/js"; -import "@polymer/paper-tabs/paper-tab"; -import "@polymer/paper-tabs/paper-tabs"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; +import type { HomeAssistant, Route } from "../../types"; import type { ActionDetail } from "@material/mwc-list"; -import { navigate } from "../../common/navigate"; -import "../../components/ha-menu-button"; +import type { CSSResultGroup, TemplateResult } from "lit"; + import "../../components/ha-button-menu"; import "../../components/ha-icon-button"; import "../../components/ha-list-item"; -import { haStyle } from "../../resources/styles"; -import type { HomeAssistant, Route } from "../../types"; +import "../../components/ha-menu-button"; import "./developer-tools-router"; +import "@polymer/paper-tabs/paper-tab"; +import "@polymer/paper-tabs/paper-tabs"; + +import { mdiDotsVertical } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { navigate } from "../../common/navigate"; +import { haStyle } from "../../resources/styles"; @customElement("ha-panel-developer-tools") class PanelDeveloperTools extends LitElement { diff --git a/src/panels/developer-tools/state/developer-tools-state.ts b/src/panels/developer-tools/state/developer-tools-state.ts index 5f432dae87..45e8f2ca8b 100644 --- a/src/panels/developer-tools/state/developer-tools-state.ts +++ b/src/panels/developer-tools/state/developer-tools-state.ts @@ -1,24 +1,12 @@ -import { - mdiClipboardTextMultipleOutline, - mdiInformationOutline, - mdiRefresh, -} from "@mdi/js"; -import { addHours } from "date-fns"; +import type { HaYamlEditor } from "../../../components/ha-yaml-editor"; +import type { HomeAssistant } from "../../../types"; import type { HassEntities, HassEntity, HassEntityAttributeBase, } from "home-assistant-js-websocket"; -import { dump } from "js-yaml"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { formatDateTimeWithSeconds } from "../../../common/datetime/format_date_time"; -import { storage } from "../../../common/decorators/storage"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { escapeRegExp } from "../../../common/string/escape_regexp"; -import { copyToClipboard } from "../../../common/util/copy-clipboard"; + import "../../../components/entity/ha-entity-picker"; import "../../../components/ha-alert"; import "../../../components/ha-button"; @@ -28,12 +16,27 @@ import "../../../components/ha-icon-button"; import "../../../components/ha-svg-icon"; import "../../../components/ha-tip"; import "../../../components/ha-yaml-editor"; -import type { HaYamlEditor } from "../../../components/ha-yaml-editor"; import "../../../components/search-input"; + +import { + mdiClipboardTextMultipleOutline, + mdiInformationOutline, + mdiRefresh, +} from "@mdi/js"; +import { addHours } from "date-fns"; +import { dump } from "js-yaml"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { formatDateTimeWithSeconds } from "../../../common/datetime/format_date_time"; +import { storage } from "../../../common/decorators/storage"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { escapeRegExp } from "../../../common/string/escape_regexp"; +import { copyToClipboard } from "../../../common/util/copy-clipboard"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showShortcutsDialog } from "../../../dialogs/shortcuts/show-shortcuts-dialog"; +import { haStyle } from "../../../resources/styles"; @customElement("developer-tools-state") class HaPanelDevState extends LitElement { diff --git a/src/panels/developer-tools/statistics/developer-tools-statistics.ts b/src/panels/developer-tools/statistics/developer-tools-statistics.ts index 6bf45ae2cf..07fc63600e 100644 --- a/src/panels/developer-tools/statistics/developer-tools-statistics.ts +++ b/src/panels/developer-tools/statistics/developer-tools-statistics.ts @@ -1,4 +1,27 @@ +import type { HASSDomEvent } from "../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { + DataTableColumnContainer, + HaDataTable, + SelectionChangedEvent, + SortingDirection, +} from "../../../components/data-table/ha-data-table"; +import type { HaMenu } from "../../../components/ha-menu"; +import type { + StatisticsMetaData, + StatisticsValidationResult, +} from "../../../data/recorder"; +import type { HomeAssistant } from "../../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/chips/ha-assist-chip"; +import "../../../components/data-table/ha-data-table"; +import "../../../components/ha-dialog"; +import "../../../components/ha-md-button-menu"; +import "../../../components/ha-md-menu-item"; +import "../../../components/search-input-outlined"; import "@material/mwc-button/mwc-button"; + import { mdiArrowDown, mdiArrowUp, @@ -10,34 +33,14 @@ import { mdiUnfoldLessHorizontal, mdiUnfoldMoreHorizontal, } from "@mdi/js"; - -import type { HassEntity } from "home-assistant-js-websocket"; import { type CSSResultGroup, LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; -import type { HASSDomEvent } from "../../../common/dom/fire_event"; + import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; -import type { LocalizeFunc } from "../../../common/translations/localize"; -import "../../../components/chips/ha-assist-chip"; -import "../../../components/data-table/ha-data-table"; -import type { - DataTableColumnContainer, - HaDataTable, - SelectionChangedEvent, - SortingDirection, -} from "../../../components/data-table/ha-data-table"; import { showDataTableSettingsDialog } from "../../../components/data-table/show-dialog-data-table-settings"; -import "../../../components/ha-md-button-menu"; -import "../../../components/ha-dialog"; -import type { HaMenu } from "../../../components/ha-menu"; -import "../../../components/ha-md-menu-item"; -import "../../../components/search-input-outlined"; -import type { - StatisticsMetaData, - StatisticsValidationResult, -} from "../../../data/recorder"; import { clearStatistics, getStatisticIds, @@ -45,12 +48,11 @@ import { updateStatisticsIssues, validateStatistics, } from "../../../data/recorder"; +import { KeyboardShortcutMixin } from "../../../mixins/keyboard-shortcut-mixin"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showConfirmationDialog } from "../../lovelace/custom-card-helpers"; import { fixStatisticsIssue } from "./fix-statistics"; import { showStatisticsAdjustSumDialog } from "./show-dialog-statistics-adjust-sum"; -import { KeyboardShortcutMixin } from "../../../mixins/keyboard-shortcut-mixin"; const FIX_ISSUES_ORDER: Record = { no_state: 0, diff --git a/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts b/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts index b1647f4c0a..c1a209b098 100644 --- a/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts +++ b/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts @@ -1,31 +1,34 @@ -import "@material/mwc-button/mwc-button"; -import { formatISO9075 } from "date-fns"; +import type { StatisticValue } from "../../../data/recorder"; +import type { DateTimeSelector, NumberSelector } from "../../../data/selector"; +import type { HomeAssistant } from "../../../types"; +import type { DialogStatisticsAdjustSumParams } from "./show-dialog-statistics-adjust-sum"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { formatDateTime } from "../../../common/datetime/format_date_time"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-spinner"; + import "../../../components/ha-dialog"; import "../../../components/ha-form/ha-form"; import "../../../components/ha-icon-next"; import "../../../components/ha-list-item"; import "../../../components/ha-selector/ha-selector-datetime"; import "../../../components/ha-selector/ha-selector-number"; +import "../../../components/ha-spinner"; import "../../../components/ha-svg-icon"; -import type { StatisticValue } from "../../../data/recorder"; +import "@material/mwc-button/mwc-button"; + +import { formatISO9075 } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { formatDateTime } from "../../../common/datetime/format_date_time"; +import { fireEvent } from "../../../common/dom/fire_event"; import { adjustStatisticsSum, fetchStatistics, getDisplayUnit, } from "../../../data/recorder"; -import type { DateTimeSelector, NumberSelector } from "../../../data/selector"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showToast } from "../../../util/toast"; -import type { DialogStatisticsAdjustSumParams } from "./show-dialog-statistics-adjust-sum"; interface CombinedStat { hour: StatisticValue | null; diff --git a/src/panels/developer-tools/statistics/dialog-statistics-fix-units-changed.ts b/src/panels/developer-tools/statistics/dialog-statistics-fix-units-changed.ts index c5ab6b3d9f..f6f0974fcc 100644 --- a/src/panels/developer-tools/statistics/dialog-statistics-fix-units-changed.ts +++ b/src/panels/developer-tools/statistics/dialog-statistics-fix-units-changed.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { DialogStatisticsUnitsChangedParams } from "./show-dialog-statistics-fix-units-changed"; import type { CSSResultGroup } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; + import "../../../components/ha-dialog"; import "../../../components/ha-formfield"; import "../../../components/ha-radio"; +import "@material/mwc-button/mwc-button"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { clearStatistics, getStatisticLabel, updateStatisticsMetadata, } from "../../../data/recorder"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { DialogStatisticsUnitsChangedParams } from "./show-dialog-statistics-fix-units-changed"; @customElement("dialog-statistics-fix-units-changed") export class DialogStatisticsFixUnitsChanged extends LitElement { diff --git a/src/panels/developer-tools/statistics/dialog-statistics-fix.ts b/src/panels/developer-tools/statistics/dialog-statistics-fix.ts index 5a1a4e5e94..b0ddb7a90c 100644 --- a/src/panels/developer-tools/statistics/dialog-statistics-fix.ts +++ b/src/panels/developer-tools/statistics/dialog-statistics-fix.ts @@ -1,15 +1,18 @@ -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { DialogStatisticsFixParams } from "./show-dialog-statistics-fix"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-dialog"; +import "../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-spinner"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-dialog"; import { clearStatistics, getStatisticLabel } from "../../../data/recorder"; import { haStyle, haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -import type { DialogStatisticsFixParams } from "./show-dialog-statistics-fix"; import { showAlertDialog } from "../../lovelace/custom-card-helpers"; @customElement("dialog-statistics-fix") diff --git a/src/panels/developer-tools/statistics/fix-statistics.ts b/src/panels/developer-tools/statistics/fix-statistics.ts index 49f192cb9c..e190a8c7f7 100644 --- a/src/panels/developer-tools/statistics/fix-statistics.ts +++ b/src/panels/developer-tools/statistics/fix-statistics.ts @@ -1,4 +1,5 @@ import type { StatisticsValidationResult } from "../../../data/recorder"; + import { showFixStatisticsDialog } from "./show-dialog-statistics-fix"; import { showFixStatisticsUnitsChangedDialog } from "./show-dialog-statistics-fix-units-changed"; diff --git a/src/panels/developer-tools/statistics/show-dialog-statistics-adjust-sum.ts b/src/panels/developer-tools/statistics/show-dialog-statistics-adjust-sum.ts index beb87aa2c7..ec325535ab 100644 --- a/src/panels/developer-tools/statistics/show-dialog-statistics-adjust-sum.ts +++ b/src/panels/developer-tools/statistics/show-dialog-statistics-adjust-sum.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { StatisticsMetaData } from "../../../data/recorder"; +import { fireEvent } from "../../../common/dom/fire_event"; + export const loadAdjustSumDialog = () => import("./dialog-statistics-adjust-sum"); diff --git a/src/panels/developer-tools/statistics/show-dialog-statistics-fix-units-changed.ts b/src/panels/developer-tools/statistics/show-dialog-statistics-fix-units-changed.ts index 7cfcad649c..1124fa1e01 100644 --- a/src/panels/developer-tools/statistics/show-dialog-statistics-fix-units-changed.ts +++ b/src/panels/developer-tools/statistics/show-dialog-statistics-fix-units-changed.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { StatisticsValidationResultUnitsChanged } from "../../../data/recorder"; +import { fireEvent } from "../../../common/dom/fire_event"; + export const loadFixUnitsDialog = () => import("./dialog-statistics-fix-units-changed"); diff --git a/src/panels/developer-tools/statistics/show-dialog-statistics-fix.ts b/src/panels/developer-tools/statistics/show-dialog-statistics-fix.ts index bfa7c5e5d7..ba7b32b579 100644 --- a/src/panels/developer-tools/statistics/show-dialog-statistics-fix.ts +++ b/src/panels/developer-tools/statistics/show-dialog-statistics-fix.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { StatisticsValidationResult } from "../../../data/recorder"; +import { fireEvent } from "../../../common/dom/fire_event"; + export const loadFixDialog = () => import("./dialog-statistics-fix"); export interface DialogStatisticsFixParams { diff --git a/src/panels/developer-tools/template/developer-tools-template.ts b/src/panels/developer-tools/template/developer-tools-template.ts index 6be7a0d205..5d65c273db 100644 --- a/src/panels/developer-tools/template/developer-tools-template.ts +++ b/src/panels/developer-tools/template/developer-tools-template.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button/mwc-button"; +import type { RenderTemplateResult } from "../../../data/ws-templates"; +import type { HomeAssistant } from "../../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-card"; +import "../../../components/ha-code-editor"; +import "../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { debounce } from "../../../common/util/debounce"; -import "../../../components/ha-alert"; -import "../../../components/ha-spinner"; -import "../../../components/ha-code-editor"; -import "../../../components/ha-card"; -import type { RenderTemplateResult } from "../../../data/ws-templates"; import { subscribeRenderTemplate } from "../../../data/ws-templates"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; const DEMO_TEMPLATE = `{## Imitate available variables: ##} diff --git a/src/panels/developer-tools/yaml_configuration/developer-yaml-config.ts b/src/panels/developer-tools/yaml_configuration/developer-yaml-config.ts index e0ed5221ab..dd0246834b 100644 --- a/src/panels/developer-tools/yaml_configuration/developer-yaml-config.ts +++ b/src/panels/developer-tools/yaml_configuration/developer-yaml-config.ts @@ -1,19 +1,22 @@ -import "@material/mwc-button"; +import type { CheckConfigResult } from "../../../data/core"; +import type { HomeAssistant, Route, TranslationDict } from "../../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { componentsWithService } from "../../../common/config/components_with_service"; + import "../../../components/buttons/ha-call-service-button"; import "../../../components/ha-alert"; import "../../../components/ha-card"; import "../../../components/ha-spinner"; -import type { CheckConfigResult } from "../../../data/core"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { componentsWithService } from "../../../common/config/components_with_service"; +import { stringCompare } from "../../../common/string/compare"; import { checkCoreConfig } from "../../../data/core"; import { domainToName } from "../../../data/integration"; -import { stringCompare } from "../../../common/string/compare"; import { showRestartDialog } from "../../../dialogs/restart/show-dialog-restart"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant, Route, TranslationDict } from "../../../types"; type ReloadableDomain = Exclude< keyof TranslationDict["ui"]["panel"]["developer-tools"]["tabs"]["yaml"]["section"]["reloading"], diff --git a/src/panels/energy/cards/energy-setup-wizard-card.ts b/src/panels/energy/cards/energy-setup-wizard-card.ts index 6bd55b6c8e..f2865b6721 100644 --- a/src/panels/energy/cards/energy-setup-wizard-card.ts +++ b/src/panels/energy/cards/energy-setup-wizard-card.ts @@ -1,21 +1,24 @@ -import "@material/mwc-button/mwc-button"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { EnergyInfo, EnergyPreferences } from "../../../data/energy"; -import { getEnergyInfo, saveEnergyPreferences } from "../../../data/energy"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; -import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import { haStyle } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; +import type { Lovelace, LovelaceCard } from "../../lovelace/types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + import "../../config/energy/components/ha-energy-battery-settings"; import "../../config/energy/components/ha-energy-device-settings"; import "../../config/energy/components/ha-energy-gas-settings"; import "../../config/energy/components/ha-energy-grid-settings"; import "../../config/energy/components/ha-energy-solar-settings"; import "../../config/energy/components/ha-energy-water-settings"; -import type { Lovelace, LovelaceCard } from "../../lovelace/types"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { getEnergyInfo, saveEnergyPreferences } from "../../../data/energy"; +import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../../resources/styles"; @customElement("energy-setup-wizard-card") export class EnergySetupWizard extends LitElement implements LovelaceCard { diff --git a/src/panels/energy/ha-panel-energy.ts b/src/panels/energy/ha-panel-energy.ts index 7bf69dbc23..2adc942909 100644 --- a/src/panels/energy/ha-panel-energy.ts +++ b/src/panels/energy/ha-panel-energy.ts @@ -1,18 +1,3 @@ -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { mdiPencil, mdiDownload } from "@mdi/js"; -import { customElement, property, state } from "lit/decorators"; -import "../../components/ha-menu-button"; -import "../../components/ha-list-item"; -import "../../components/ha-top-app-bar-fixed"; -import type { LovelaceConfig } from "../../data/lovelace/config/types"; -import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../lovelace/components/hui-energy-period-selector"; -import type { Lovelace } from "../lovelace/types"; -import "../lovelace/views/hui-view"; -import "../lovelace/views/hui-view-container"; -import { navigate } from "../../common/navigate"; import type { GridSourceTypeEnergyPreference, SolarSourceTypeEnergyPreference, @@ -21,11 +6,29 @@ import type { WaterSourceTypeEnergyPreference, DeviceConsumptionEnergyPreference, } from "../../data/energy"; +import type { LovelaceConfig } from "../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../types"; +import type { Lovelace } from "../lovelace/types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-list-item"; +import "../../components/ha-menu-button"; +import "../../components/ha-top-app-bar-fixed"; +import "../lovelace/components/hui-energy-period-selector"; +import "../lovelace/views/hui-view"; +import "../lovelace/views/hui-view-container"; + +import { mdiPencil, mdiDownload } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { navigate } from "../../common/navigate"; import { getEnergyDataCollection, getEnergyGasUnit, getEnergyWaterUnit, } from "../../data/energy"; +import { haStyle } from "../../resources/styles"; import { fileDownload } from "../../util/file_download"; const ENERGY_LOVELACE_CONFIG: LovelaceConfig = { diff --git a/src/panels/energy/strategies/energy-view-strategy.ts b/src/panels/energy/strategies/energy-view-strategy.ts index 808d4504b0..8b8daac8fe 100644 --- a/src/panels/energy/strategies/energy-view-strategy.ts +++ b/src/panels/energy/strategies/energy-view-strategy.ts @@ -1,13 +1,15 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { EnergyPreferences, GridSourceTypeEnergyPreference, } from "../../../data/energy"; -import { getEnergyPreferences } from "../../../data/energy"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; import type { LovelaceStrategyConfig } from "../../../data/lovelace/config/strategy"; +import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; +import type { HomeAssistant } from "../../../types"; + +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + +import { getEnergyPreferences } from "../../../data/energy"; const setupWizard = async (): Promise => { await import("../cards/energy-setup-wizard-card"); diff --git a/src/panels/history/ha-panel-history.ts b/src/panels/history/ha-panel-history.ts index cc59c9342f..290edec50c 100644 --- a/src/panels/history/ha-panel-history.ts +++ b/src/panels/history/ha-panel-history.ts @@ -1,19 +1,35 @@ +import type { StateHistoryCharts } from "../../components/chart/state-history-charts"; +import type { HistoryResult } from "../../data/history"; +import type { HomeAssistant } from "../../types"; +import type { ActionDetail } from "@material/mwc-list"; +import type { + HassServiceTarget, + UnsubscribeFunc, +} from "home-assistant-js-websocket/dist/types"; +import type { PropertyValues } from "lit"; + +import "../../components/chart/state-history-charts"; +import "../../components/ha-button-menu"; +import "../../components/ha-date-range-picker"; +import "../../components/ha-icon-button"; +import "../../components/ha-icon-button-arrow-prev"; +import "../../components/ha-list-item"; +import "../../components/ha-menu-button"; +import "../../components/ha-spinner"; +import "../../components/ha-target-picker"; +import "../../components/ha-top-app-bar-fixed"; + import { mdiDotsVertical, mdiDownload, mdiFilterRemove, mdiImagePlus, } from "@mdi/js"; -import type { ActionDetail } from "@material/mwc-list"; import { differenceInHours } from "date-fns"; -import type { - HassServiceTarget, - UnsubscribeFunc, -} from "home-assistant-js-websocket/dist/types"; -import type { PropertyValues } from "lit"; import { LitElement, css, html } from "lit"; import { property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { ensureArray } from "../../common/array/ensure-array"; import { storage } from "../../common/decorators/storage"; import { computeDomain } from "../../common/entity/compute_domain"; @@ -25,18 +41,6 @@ import { removeSearchParam, } from "../../common/url/search-params"; import { MIN_TIME_BETWEEN_UPDATES } from "../../components/chart/ha-chart-base"; -import "../../components/chart/state-history-charts"; -import type { StateHistoryCharts } from "../../components/chart/state-history-charts"; -import "../../components/ha-spinner"; -import "../../components/ha-date-range-picker"; -import "../../components/ha-icon-button"; -import "../../components/ha-button-menu"; -import "../../components/ha-list-item"; -import "../../components/ha-icon-button-arrow-prev"; -import "../../components/ha-menu-button"; -import "../../components/ha-target-picker"; -import "../../components/ha-top-app-bar-fixed"; -import type { HistoryResult } from "../../data/history"; import { computeHistory, subscribeHistory, @@ -48,7 +52,6 @@ import { resolveEntityIDs } from "../../data/selector"; import { getSensorNumericDeviceClasses } from "../../data/sensor"; import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; import { fileDownload } from "../../util/file_download"; import { addEntitiesToLovelaceView } from "../lovelace/editor/add-entities-to-view"; diff --git a/src/panels/iframe/ha-panel-iframe.ts b/src/panels/iframe/ha-panel-iframe.ts index aa29d29dee..97255c0874 100644 --- a/src/panels/iframe/ha-panel-iframe.ts +++ b/src/panels/iframe/ha-panel-iframe.ts @@ -1,9 +1,12 @@ +import type { HomeAssistant, PanelInfo } from "../../types"; + +import "../../layouts/hass-error-screen"; +import "../../layouts/hass-subpage"; + import { html, css, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import "../../layouts/hass-error-screen"; -import "../../layouts/hass-subpage"; -import type { HomeAssistant, PanelInfo } from "../../types"; + import { IFRAME_SANDBOX } from "../../util/iframe"; @customElement("ha-panel-iframe") diff --git a/src/panels/logbook/ha-logbook-renderer.ts b/src/panels/logbook/ha-logbook-renderer.ts index 9bf41caf3e..9a884c3100 100644 --- a/src/panels/logbook/ha-logbook-renderer.ts +++ b/src/panels/logbook/ha-logbook-renderer.ts @@ -1,10 +1,19 @@ +import type { LogbookEntry } from "../../data/logbook"; +import type { TraceContexts } from "../../data/trace"; +import type { HomeAssistant } from "../../types"; import type { VisibilityChangedEvent } from "@lit-labs/virtualizer"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../components/entity/state-badge"; +import "../../components/ha-icon-next"; +import "../../components/ha-relative-time"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, eventOptions, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { formatDate } from "../../common/datetime/format_date"; import { formatTimeWithSeconds } from "../../common/datetime/format_time"; @@ -13,25 +22,19 @@ import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; import { navigate } from "../../common/navigate"; import { computeTimelineColor } from "../../components/chart/timeline-color"; -import "../../components/entity/state-badge"; -import "../../components/ha-icon-next"; -import "../../components/ha-relative-time"; -import type { LogbookEntry } from "../../data/logbook"; +import { domainToName } from "../../data/integration"; import { createHistoricState, localizeStateMessage, localizeTriggerSource, } from "../../data/logbook"; -import type { TraceContexts } from "../../data/trace"; import { buttonLinkStyle, haStyle, haStyleScrollbar, } from "../../resources/styles"; import { loadVirtualizer } from "../../resources/virtualizer"; -import type { HomeAssistant } from "../../types"; import { brandsUrl } from "../../util/brands-url"; -import { domainToName } from "../../data/integration"; declare global { interface HASSDomEvents { diff --git a/src/panels/logbook/ha-logbook.ts b/src/panels/logbook/ha-logbook.ts index 2f404ed0aa..1fac8b6e94 100644 --- a/src/panels/logbook/ha-logbook.ts +++ b/src/panels/logbook/ha-logbook.ts @@ -1,18 +1,21 @@ +import type { LogbookEntry, LogbookStreamMessage } from "../../data/logbook"; +import type { TraceContexts } from "../../data/trace"; +import type { HomeAssistant } from "../../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../components/ha-spinner"; +import "./ha-logbook-renderer"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { throttle } from "../../common/util/throttle"; -import "../../components/ha-spinner"; -import type { LogbookEntry, LogbookStreamMessage } from "../../data/logbook"; import { subscribeLogbook } from "../../data/logbook"; -import type { TraceContexts } from "../../data/trace"; import { loadTraceContexts } from "../../data/trace"; import { fetchUsers } from "../../data/user"; -import type { HomeAssistant } from "../../types"; -import "./ha-logbook-renderer"; interface LogbookTimePeriod { now: Date; diff --git a/src/panels/logbook/ha-panel-logbook.ts b/src/panels/logbook/ha-panel-logbook.ts index df556370ba..960a10ff79 100644 --- a/src/panels/logbook/ha-panel-logbook.ts +++ b/src/panels/logbook/ha-panel-logbook.ts @@ -1,9 +1,23 @@ -import { mdiRefresh } from "@mdi/js"; +import type { HomeAssistant } from "../../types"; +import type { HassServiceTarget } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../components/entity/ha-entity-picker"; +import "../../components/ha-date-range-picker"; +import "../../components/ha-icon-button"; +import "../../components/ha-icon-button-arrow-prev"; +import "../../components/ha-menu-button"; +import "../../components/ha-target-picker"; +import "../../components/ha-top-app-bar-fixed"; +import "./ha-logbook"; + +import { mdiRefresh } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { HassServiceTarget } from "home-assistant-js-websocket"; import memoizeOne from "memoize-one"; + +import { ensureArray } from "../../common/array/ensure-array"; +import { storage } from "../../common/decorators/storage"; import { navigate } from "../../common/navigate"; import { constructUrlCurrentPath } from "../../common/url/construct-url"; import { @@ -11,20 +25,9 @@ import { extractSearchParamsObject, removeSearchParam, } from "../../common/url/search-params"; -import "../../components/entity/ha-entity-picker"; -import "../../components/ha-date-range-picker"; -import "../../components/ha-icon-button"; -import "../../components/ha-icon-button-arrow-prev"; -import "../../components/ha-menu-button"; -import "../../components/ha-top-app-bar-fixed"; -import "../../components/ha-target-picker"; import { filterLogbookCompatibleEntities } from "../../data/logbook"; -import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "./ha-logbook"; -import { storage } from "../../common/decorators/storage"; -import { ensureArray } from "../../common/array/ensure-array"; import { resolveEntityIDs } from "../../data/selector"; +import { haStyle } from "../../resources/styles"; @customElement("ha-panel-logbook") export class HaPanelLogbook extends LitElement { diff --git a/src/panels/lovelace/badges/hui-badge.ts b/src/panels/lovelace/badges/hui-badge.ts index 5384de37b6..f87a261d69 100644 --- a/src/panels/lovelace/badges/hui-badge.ts +++ b/src/panels/lovelace/badges/hui-badge.ts @@ -1,18 +1,21 @@ -import type { PropertyValues } from "lit"; -import { ReactiveElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { MediaQueriesListener } from "../../../common/dom/media_query"; -import "../../../components/ha-svg-icon"; import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; import type { HomeAssistant } from "../../../types"; +import type { LovelaceBadge } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-svg-icon"; + +import { ReactiveElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { attachConditionMediaQueriesListeners, checkConditionsMet, } from "../common/validate-condition"; import { createBadgeElement } from "../create-element/create-badge-element"; import { createErrorBadgeConfig } from "../create-element/create-element-base"; -import type { LovelaceBadge } from "../types"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/badges/hui-entity-badge.ts b/src/panels/lovelace/badges/hui-entity-badge.ts index bfd530fd89..8ebdb5f687 100644 --- a/src/panels/lovelace/badges/hui-entity-badge.ts +++ b/src/panels/lovelace/badges/hui-entity-badge.ts @@ -1,10 +1,21 @@ -import { mdiAlertCircle } from "@mdi/js"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceBadge, LovelaceBadgeEditor } from "../types"; +import type { EntityBadgeConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-badge"; +import "../../../components/ha-ripple"; +import "../../../components/ha-state-icon"; +import "../../../components/ha-svg-icon"; + +import { mdiAlertCircle } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { hsv2rgb, rgb2hex, rgb2hsv } from "../../../common/color/convert-color"; import { computeDomain } from "../../../common/entity/compute_domain"; @@ -12,19 +23,11 @@ import { computeStateDomain } from "../../../common/entity/compute_state_domain" import { computeStateName } from "../../../common/entity/compute_state_name"; import { stateActive } from "../../../common/entity/state_active"; import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-badge"; -import "../../../components/ha-ripple"; -import "../../../components/ha-state-icon"; -import "../../../components/ha-svg-icon"; import { cameraUrlWithWidthHeight } from "../../../data/camera"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import type { LovelaceBadge, LovelaceBadgeEditor } from "../types"; -import type { EntityBadgeConfig } from "./types"; export const DISPLAY_TYPES = ["minimal", "standard", "complete"] as const; export type DisplayType = (typeof DISPLAY_TYPES)[number]; diff --git a/src/panels/lovelace/badges/hui-entity-filter-badge.ts b/src/panels/lovelace/badges/hui-entity-filter-badge.ts index c6a3278233..c6283f75c8 100644 --- a/src/panels/lovelace/badges/hui-entity-filter-badge.ts +++ b/src/panels/lovelace/badges/hui-entity-filter-badge.ts @@ -1,7 +1,15 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityFilterEntityConfig } from "../entity-rows/types"; +import type { LovelaceBadge } from "../types"; +import type { HuiBadge } from "./hui-badge"; +import type { EntityFilterBadgeConfig } from "./types"; import type { PropertyValues } from "lit"; + +import "./hui-badge"; + import { ReactiveElement } from "lit"; import { customElement, property, state } from "lit/decorators"; -import type { HomeAssistant } from "../../../types"; + import { evaluateStateFilter } from "../common/evaluate-filter"; import { processConfigEntities } from "../common/process-config-entities"; import { @@ -9,11 +17,6 @@ import { checkConditionsMet, extractConditionEntityIds, } from "../common/validate-condition"; -import type { EntityFilterEntityConfig } from "../entity-rows/types"; -import type { LovelaceBadge } from "../types"; -import "./hui-badge"; -import type { HuiBadge } from "./hui-badge"; -import type { EntityFilterBadgeConfig } from "./types"; @customElement("hui-entity-filter-badge") export class HuiEntityFilterBadge diff --git a/src/panels/lovelace/badges/hui-error-badge.ts b/src/panels/lovelace/badges/hui-error-badge.ts index 329819a6d0..c28d551306 100644 --- a/src/panels/lovelace/badges/hui-error-badge.ts +++ b/src/panels/lovelace/badges/hui-error-badge.ts @@ -1,13 +1,16 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceBadge } from "../types"; +import type { ErrorBadgeConfig } from "./types"; + +import "../../../components/ha-badge"; +import "../../../components/ha-svg-icon"; + import { mdiAlertCircle } from "@mdi/js"; import { dump } from "js-yaml"; import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; -import "../../../components/ha-badge"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; + import { showAlertDialog } from "../custom-card-helpers"; -import type { LovelaceBadge } from "../types"; -import type { ErrorBadgeConfig } from "./types"; export const createErrorBadgeElement = (config) => { const el = document.createElement("hui-error-badge"); diff --git a/src/panels/lovelace/badges/hui-state-label-badge.ts b/src/panels/lovelace/badges/hui-state-label-badge.ts index 011db03d6e..fa3a5ecca6 100644 --- a/src/panels/lovelace/badges/hui-state-label-badge.ts +++ b/src/panels/lovelace/badges/hui-state-label-badge.ts @@ -1,9 +1,12 @@ -import { customElement } from "lit/decorators"; -import "../../../components/entity/ha-state-label-badge"; import type { HuiStateLabelBadgeEditor } from "../editor/config-elements/hui-state-label-badge-editor"; -import { HuiEntityBadge } from "./hui-entity-badge"; import type { EntityBadgeConfig, StateLabelBadgeConfig } from "./types"; +import "../../../components/entity/ha-state-label-badge"; + +import { customElement } from "lit/decorators"; + +import { HuiEntityBadge } from "./hui-entity-badge"; + @customElement("hui-state-label-badge") export class HuiStateLabelBadge extends HuiEntityBadge { public static async getConfigElement(): Promise { diff --git a/src/panels/lovelace/badges/hui-view-badges.ts b/src/panels/lovelace/badges/hui-view-badges.ts index 312e953597..26fd6f7ded 100644 --- a/src/panels/lovelace/badges/hui-view-badges.ts +++ b/src/panels/lovelace/badges/hui-view-badges.ts @@ -1,20 +1,23 @@ -import { mdiPlus } from "@mdi/js"; +import type { HaSortableOptions } from "../../../components/ha-sortable"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardPath } from "../editor/lovelace-path"; +import type { Lovelace } from "../types"; +import type { HuiBadge } from "./hui-badge"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-ripple"; +import "../../../components/ha-sortable"; +import "../../../components/ha-svg-icon"; +import "../components/hui-badge-edit-mode"; + +import { mdiPlus } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { repeat } from "lit/directives/repeat"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-ripple"; -import "../../../components/ha-sortable"; -import type { HaSortableOptions } from "../../../components/ha-sortable"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; -import "../components/hui-badge-edit-mode"; import { moveBadge } from "../editor/config-util"; -import type { LovelaceCardPath } from "../editor/lovelace-path"; -import type { Lovelace } from "../types"; -import type { HuiBadge } from "./hui-badge"; const BADGE_SORTABLE_OPTIONS: HaSortableOptions = { delay: 100, diff --git a/src/panels/lovelace/card-features/hui-alarm-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-alarm-modes-card-feature.ts index 6aa71fe590..d42625b6d7 100644 --- a/src/panels/lovelace/card-features/hui-alarm-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-alarm-modes-card-feature.ts @@ -1,32 +1,35 @@ -import { mdiShieldOff } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import memoizeOne from "memoize-one"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-control-button"; -import "../../../components/ha-control-button-group"; -import "../../../components/ha-control-select"; import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-slider"; import type { AlarmControlPanelEntity, AlarmMode, } from "../../../data/alarm_control_panel"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { AlarmModesCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-slider"; + +import { mdiShieldOff } from "@mdi/js"; +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import memoizeOne from "memoize-one"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { stateColorCss } from "../../../common/entity/state_color"; import { ALARM_MODES, setProtectedAlarmControlPanelMode, supportedAlarmModes, } from "../../../data/alarm_control_panel"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { AlarmModesCardFeatureConfig } from "./types"; export const supportsAlarmModesCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-card-feature.ts b/src/panels/lovelace/card-features/hui-card-feature.ts index 7a6d3668e7..787289f0c2 100644 --- a/src/panels/lovelace/card-features/hui-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-card-feature.ts @@ -1,11 +1,13 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; import type { HomeAssistant } from "../../../types"; import type { HuiErrorCard } from "../cards/hui-error-card"; -import { createCardFeatureElement } from "../create-element/create-card-feature-element"; import type { LovelaceCardFeature } from "../types"; import type { LovelaceCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import { LitElement, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { createCardFeatureElement } from "../create-element/create-card-feature-element"; @customElement("hui-card-feature") export class HuiCardFeature extends LitElement { diff --git a/src/panels/lovelace/card-features/hui-card-features.ts b/src/panels/lovelace/card-features/hui-card-features.ts index 7253bb7895..835ce86daf 100644 --- a/src/panels/lovelace/card-features/hui-card-features.ts +++ b/src/panels/lovelace/card-features/hui-card-features.ts @@ -1,9 +1,11 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "./hui-card-feature"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HomeAssistant } from "../../../types"; -import "./hui-card-feature"; -import type { LovelaceCardFeatureConfig } from "./types"; @customElement("hui-card-features") export class HuiCardFeatures extends LitElement { diff --git a/src/panels/lovelace/card-features/hui-climate-fan-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-climate-fan-modes-card-feature.ts index 8cfc665de6..26b1ff43ba 100644 --- a/src/panels/lovelace/card-features/hui-climate-fan-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-climate-fan-modes-card-feature.ts @@ -1,24 +1,27 @@ -import { mdiFan } from "@mdi/js"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; +import type { ClimateEntity } from "../../../data/climate"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { ClimateFanModesCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-select-menu"; + +import { mdiFan } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-select-menu"; -import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; -import type { ClimateEntity } from "../../../data/climate"; import { ClimateEntityFeature } from "../../../data/climate"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { ClimateFanModesCardFeatureConfig } from "./types"; export const supportsClimateFanModesCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-climate-hvac-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-climate-hvac-modes-card-feature.ts index d8ada2c5d9..e48eab8ac0 100644 --- a/src/panels/lovelace/card-features/hui-climate-hvac-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-climate-hvac-modes-card-feature.ts @@ -1,27 +1,30 @@ -import { mdiThermostat } from "@mdi/js"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; +import type { ClimateEntity, HvacMode } from "../../../data/climate"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { ClimateHvacModesCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-control-select"; +import "../../../components/ha-control-select-menu"; + +import { mdiThermostat } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeDomain } from "../../../common/entity/compute_domain"; import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-select-menu"; -import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; -import type { ClimateEntity, HvacMode } from "../../../data/climate"; import { climateHvacModeIcon, compareClimateHvacModes, } from "../../../data/climate"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { ClimateHvacModesCardFeatureConfig } from "./types"; export const supportsClimateHvacModesCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-climate-preset-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-climate-preset-modes-card-feature.ts index 825115cbaa..44c2015cbd 100644 --- a/src/panels/lovelace/card-features/hui-climate-preset-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-climate-preset-modes-card-feature.ts @@ -1,24 +1,27 @@ -import { mdiTuneVariant } from "@mdi/js"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; +import type { ClimateEntity } from "../../../data/climate"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { ClimatePresetModesCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-select-menu"; + +import { mdiTuneVariant } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-select-menu"; -import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; -import type { ClimateEntity } from "../../../data/climate"; import { ClimateEntityFeature } from "../../../data/climate"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { ClimatePresetModesCardFeatureConfig } from "./types"; export const supportsClimatePresetModesCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-climate-swing-horizontal-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-climate-swing-horizontal-modes-card-feature.ts index 136d38d142..2269b15f71 100644 --- a/src/panels/lovelace/card-features/hui-climate-swing-horizontal-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-climate-swing-horizontal-modes-card-feature.ts @@ -1,24 +1,27 @@ -import { mdiArrowOscillating } from "@mdi/js"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; +import type { ClimateEntity } from "../../../data/climate"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { ClimateSwingHorizontalModesCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-select-menu"; + +import { mdiArrowOscillating } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-select-menu"; -import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; -import type { ClimateEntity } from "../../../data/climate"; import { ClimateEntityFeature } from "../../../data/climate"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { ClimateSwingHorizontalModesCardFeatureConfig } from "./types"; export const supportsClimateSwingHorizontalModesCardFeature = ( stateObj: HassEntity diff --git a/src/panels/lovelace/card-features/hui-climate-swing-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-climate-swing-modes-card-feature.ts index e381e741b4..bb53668dc6 100644 --- a/src/panels/lovelace/card-features/hui-climate-swing-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-climate-swing-modes-card-feature.ts @@ -1,24 +1,27 @@ -import { mdiArrowOscillating } from "@mdi/js"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; +import type { ClimateEntity } from "../../../data/climate"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { ClimateSwingModesCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-select-menu"; + +import { mdiArrowOscillating } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-select-menu"; -import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; -import type { ClimateEntity } from "../../../data/climate"; import { ClimateEntityFeature } from "../../../data/climate"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { ClimateSwingModesCardFeatureConfig } from "./types"; export const supportsClimateSwingModesCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-counter-actions-card-feature.ts b/src/panels/lovelace/card-features/hui-counter-actions-card-feature.ts index d4373a6827..ef71327e7f 100644 --- a/src/panels/lovelace/card-features/hui-counter-actions-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-counter-actions-card-feature.ts @@ -1,17 +1,20 @@ -import { mdiRestore, mdiPlus, mdiMinus } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { TemplateResult } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/ha-control-select"; -import { UNAVAILABLE } from "../../../data/entity"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { TemplateResult } from "lit"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-control-select"; + +import { mdiRestore, mdiPlus, mdiMinus } from "@mdi/js"; +import { LitElement, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { UNAVAILABLE } from "../../../data/entity"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { COUNTER_ACTIONS, type CounterActionsCardFeatureConfig } from "./types"; -import "../../../components/ha-control-button-group"; -import "../../../components/ha-control-button"; export const supportsCounterActionsCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-cover-open-close-card-feature.ts b/src/panels/lovelace/card-features/hui-cover-open-close-card-feature.ts index 0b4ec5e5f3..5a46ad42f9 100644 --- a/src/panels/lovelace/card-features/hui-cover-open-close-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-cover-open-close-card-feature.ts @@ -1,26 +1,29 @@ -import { mdiStop } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { CoverOpenCloseCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-svg-icon"; + +import { mdiStop } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeDomain } from "../../../common/entity/compute_domain"; import { computeCloseIcon, computeOpenIcon, } from "../../../common/entity/cover_icon"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-control-button"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-control-button-group"; import { canClose, canOpen, canStop, CoverEntityFeature, } from "../../../data/cover"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { CoverOpenCloseCardFeatureConfig } from "./types"; export const supportsCoverOpenCloseCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-cover-position-card-feature.ts b/src/panels/lovelace/card-features/hui-cover-position-card-feature.ts index 3fd595e447..f7f1a50a8c 100644 --- a/src/panels/lovelace/card-features/hui-cover-position-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-cover-position-card-feature.ts @@ -1,7 +1,14 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { CoverPositionCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-slider"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { computeCssColor } from "../../../common/color/compute-color"; import { computeAttributeNameDisplay } from "../../../common/entity/compute_attribute_display"; import { computeDomain } from "../../../common/entity/compute_domain"; @@ -11,11 +18,7 @@ import { supportsFeature } from "../../../common/entity/supports-feature"; import { CoverEntityFeature } from "../../../data/cover"; import { UNAVAILABLE } from "../../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../../data/entity_attributes"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { CoverPositionCardFeatureConfig } from "./types"; -import "../../../components/ha-control-slider"; export const supportsCoverPositionCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-cover-tilt-card-feature.ts b/src/panels/lovelace/card-features/hui-cover-tilt-card-feature.ts index 9c637bb192..b608cbc81c 100644 --- a/src/panels/lovelace/card-features/hui-cover-tilt-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-cover-tilt-card-feature.ts @@ -1,22 +1,25 @@ -import { mdiArrowBottomLeft, mdiArrowTopRight, mdiStop } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { CoverTiltCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-svg-icon"; + +import { mdiArrowBottomLeft, mdiArrowTopRight, mdiStop } from "@mdi/js"; import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-control-button"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-control-button-group"; import { CoverEntityFeature, canCloseTilt, canOpenTilt, canStopTilt, } from "../../../data/cover"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { CoverTiltCardFeatureConfig } from "./types"; export const supportsCoverTiltCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-cover-tilt-position-card-feature.ts b/src/panels/lovelace/card-features/hui-cover-tilt-position-card-feature.ts index 2b4ed1e2bd..b3a53a0c50 100644 --- a/src/panels/lovelace/card-features/hui-cover-tilt-position-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-cover-tilt-position-card-feature.ts @@ -1,21 +1,23 @@ +import type { CoverEntity } from "../../../data/cover"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { CoverTiltPositionCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { computeCssColor } from "../../../common/color/compute-color"; import { computeAttributeNameDisplay } from "../../../common/entity/compute_attribute_display"; import { computeDomain } from "../../../common/entity/compute_domain"; import { stateColorCss } from "../../../common/entity/state_color"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import type { CoverEntity } from "../../../data/cover"; import { CoverEntityFeature } from "../../../data/cover"; import { UNAVAILABLE } from "../../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../../data/entity_attributes"; import { generateTiltSliderTrackBackgroundGradient } from "../../../state-control/cover/ha-state-control-cover-tilt-position"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { CoverTiltPositionCardFeatureConfig } from "./types"; const GRADIENT = generateTiltSliderTrackBackgroundGradient(); diff --git a/src/panels/lovelace/card-features/hui-fan-preset-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-fan-preset-modes-card-feature.ts index 83a6c6b603..6d531cc61b 100644 --- a/src/panels/lovelace/card-features/hui-fan-preset-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-fan-preset-modes-card-feature.ts @@ -1,24 +1,27 @@ -import { mdiTuneVariant } from "@mdi/js"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; +import type { FanEntity } from "../../../data/fan"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { FanPresetModesCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-select-menu"; + +import { mdiTuneVariant } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-select-menu"; -import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; import { UNAVAILABLE } from "../../../data/entity"; -import type { FanEntity } from "../../../data/fan"; import { FanEntityFeature } from "../../../data/fan"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { FanPresetModesCardFeatureConfig } from "./types"; export const supportsFanPresetModesCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-fan-speed-card-feature.ts b/src/panels/lovelace/card-features/hui-fan-speed-card-feature.ts index 0be0146872..10a2314925 100644 --- a/src/panels/lovelace/card-features/hui-fan-speed-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-fan-speed-card-feature.ts @@ -1,15 +1,22 @@ +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { FanEntity, FanSpeed } from "../../../data/fan"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { FanSpeedCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-select"; +import "../../../components/ha-control-slider"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeAttributeNameDisplay } from "../../../common/entity/compute_attribute_display"; import { computeDomain } from "../../../common/entity/compute_domain"; import { stateActive } from "../../../common/entity/state_active"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-slider"; import { UNAVAILABLE } from "../../../data/entity"; -import type { FanEntity, FanSpeed } from "../../../data/fan"; +import { DOMAIN_ATTRIBUTES_UNITS } from "../../../data/entity_attributes"; import { computeFanSpeedCount, computeFanSpeedIcon, @@ -19,10 +26,6 @@ import { fanPercentageToSpeed, fanSpeedToPercentage, } from "../../../data/fan"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; -import type { FanSpeedCardFeatureConfig } from "./types"; -import { DOMAIN_ATTRIBUTES_UNITS } from "../../../data/entity_attributes"; import { cardFeatureStyles } from "./common/card-feature-styles"; export const supportsFanSpeedCardFeature = (stateObj: HassEntity) => { diff --git a/src/panels/lovelace/card-features/hui-humidifier-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-humidifier-modes-card-feature.ts index 4cb01b0c2a..298772eb4a 100644 --- a/src/panels/lovelace/card-features/hui-humidifier-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-humidifier-modes-card-feature.ts @@ -1,24 +1,27 @@ -import { mdiTuneVariant } from "@mdi/js"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; +import type { HumidifierEntity } from "../../../data/humidifier"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { HumidifierModesCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-attribute-icon"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-select-menu"; + +import { mdiTuneVariant } from "@mdi/js"; import { html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { stopPropagation } from "../../../common/dom/stop_propagation"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attribute-icon"; -import "../../../components/ha-control-select"; -import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-select-menu"; -import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HumidifierEntity } from "../../../data/humidifier"; import { HumidifierEntityFeature } from "../../../data/humidifier"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { HumidifierModesCardFeatureConfig } from "./types"; export const supportsHumidifierModesCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-humidifier-toggle-card-feature.ts b/src/panels/lovelace/card-features/hui-humidifier-toggle-card-feature.ts index 575437c04d..3126dd5931 100644 --- a/src/panels/lovelace/card-features/hui-humidifier-toggle-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-humidifier-toggle-card-feature.ts @@ -1,22 +1,25 @@ -import { mdiPower, mdiWaterPercent } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-control-select"; import type { ControlSelectOption } from "../../../components/ha-control-select"; -import { UNAVAILABLE } from "../../../data/entity"; import type { HumidifierEntity, HumidifierState, } from "../../../data/humidifier"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardFeature } from "../types"; -import { cardFeatureStyles } from "./common/card-feature-styles"; import type { HumidifierToggleCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-control-select"; + +import { mdiPower, mdiWaterPercent } from "@mdi/js"; +import { LitElement, html } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { stateColorCss } from "../../../common/entity/state_color"; +import { UNAVAILABLE } from "../../../data/entity"; +import { cardFeatureStyles } from "./common/card-feature-styles"; export const supportsHumidifierToggleCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-lawn-mower-commands-card-feature.ts b/src/panels/lovelace/card-features/hui-lawn-mower-commands-card-feature.ts index 70306fd455..86f784543d 100644 --- a/src/panels/lovelace/card-features/hui-lawn-mower-commands-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-lawn-mower-commands-card-feature.ts @@ -1,22 +1,25 @@ -import { mdiHomeImportOutline, mdiPause, mdiPlay } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-control-button"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-control-button-group"; -import { UNAVAILABLE } from "../../../data/entity"; import type { LawnMowerEntity } from "../../../data/lawn_mower"; -import { LawnMowerEntityFeature, canDock } from "../../../data/lawn_mower"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; -import { cardFeatureStyles } from "./common/card-feature-styles"; import type { LawnMowerCommand, LawnMowerCommandsCardFeatureConfig, } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-svg-icon"; + +import { mdiHomeImportOutline, mdiPause, mdiPlay } from "@mdi/js"; +import { LitElement, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import { UNAVAILABLE } from "../../../data/entity"; +import { LawnMowerEntityFeature, canDock } from "../../../data/lawn_mower"; +import { cardFeatureStyles } from "./common/card-feature-styles"; import { LAWN_MOWER_COMMANDS } from "./types"; interface LawnMowerButton { diff --git a/src/panels/lovelace/card-features/hui-light-brightness-card-feature.ts b/src/panels/lovelace/card-features/hui-light-brightness-card-feature.ts index ae48e0a74f..364f4e64e2 100644 --- a/src/panels/lovelace/card-features/hui-light-brightness-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-light-brightness-card-feature.ts @@ -1,15 +1,18 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { stateActive } from "../../../common/entity/state_active"; -import "../../../components/ha-control-slider"; -import { UNAVAILABLE } from "../../../data/entity"; -import { lightSupportsBrightness } from "../../../data/light"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardFeature } from "../types"; -import { cardFeatureStyles } from "./common/card-feature-styles"; import type { LightBrightnessCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-slider"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { stateActive } from "../../../common/entity/state_active"; +import { UNAVAILABLE } from "../../../data/entity"; +import { lightSupportsBrightness } from "../../../data/light"; +import { cardFeatureStyles } from "./common/card-feature-styles"; export const supportsLightBrightnessCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-light-color-temp-card-feature.ts b/src/panels/lovelace/card-features/hui-light-color-temp-card-feature.ts index 4675b293a6..9917f8a4f7 100644 --- a/src/panels/lovelace/card-features/hui-light-color-temp-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-light-color-temp-card-feature.ts @@ -1,23 +1,26 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { LightColorTempCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-slider"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN, } from "../../../common/color/convert-light-color"; import { computeDomain } from "../../../common/entity/compute_domain"; import { stateActive } from "../../../common/entity/state_active"; -import "../../../components/ha-control-slider"; import { UNAVAILABLE } from "../../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../../data/entity_attributes"; import { LightColorMode, lightSupportsColorMode } from "../../../data/light"; import { generateColorTemperatureGradient } from "../../../dialogs/more-info/components/lights/light-color-temp-picker"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { LightColorTempCardFeatureConfig } from "./types"; export const supportsLightColorTempCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-lock-commands-card-feature.ts b/src/panels/lovelace/card-features/hui-lock-commands-card-feature.ts index 2c6968faf9..c39f8c606c 100644 --- a/src/panels/lovelace/card-features/hui-lock-commands-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-lock-commands-card-feature.ts @@ -1,22 +1,24 @@ -import { mdiLock, mdiLockOpenVariant } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { LockCommandsCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; import "../../../components/ha-control-button"; import "../../../components/ha-control-button-group"; + +import { mdiLock, mdiLockOpenVariant } from "@mdi/js"; +import { LitElement, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; import { forwardHaptic } from "../../../data/haptics"; import { callProtectedLockService, canLock, canUnlock, } from "../../../data/lock"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { LockCommandsCardFeatureConfig } from "./types"; export const supportsLockCommandsCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-lock-open-door-card-feature.ts b/src/panels/lovelace/card-features/hui-lock-open-door-card-feature.ts index d0b14f1f46..0f4d1edb28 100644 --- a/src/panels/lovelace/card-features/hui-lock-open-door-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-lock-open-door-card-feature.ts @@ -1,21 +1,23 @@ -import { mdiCheck } from "@mdi/js"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { LockOpenDoorCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { supportsFeature } from "../../../common/entity/supports-feature"; import "../../../components/ha-control-button"; import "../../../components/ha-control-button-group"; + +import { mdiCheck } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { supportsFeature } from "../../../common/entity/supports-feature"; import { callProtectedLockService, canOpen, LockEntityFeature, } from "../../../data/lock"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; -import type { LockOpenDoorCardFeatureConfig } from "./types"; import { cardFeatureStyles } from "./common/card-feature-styles"; export const supportsLockOpenDoorCardFeature = (stateObj: HassEntity) => { diff --git a/src/panels/lovelace/card-features/hui-media-player-volume-slider-card-feature.ts b/src/panels/lovelace/card-features/hui-media-player-volume-slider-card-feature.ts index 3aeffe2b19..7f40976337 100644 --- a/src/panels/lovelace/card-features/hui-media-player-volume-slider-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-media-player-volume-slider-card-feature.ts @@ -1,16 +1,19 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { stateActive } from "../../../common/entity/state_active"; -import "../../../components/ha-control-slider"; -import { isUnavailableState } from "../../../data/entity"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardFeature } from "../types"; -import { cardFeatureStyles } from "./common/card-feature-styles"; import type { MediaPlayerVolumeSliderCardFeatureConfig } from "./types"; -import { MediaPlayerEntityFeature } from "../../../data/media-player"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-slider"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { stateActive } from "../../../common/entity/state_active"; import { supportsFeature } from "../../../common/entity/supports-feature"; +import { isUnavailableState } from "../../../data/entity"; +import { MediaPlayerEntityFeature } from "../../../data/media-player"; +import { cardFeatureStyles } from "./common/card-feature-styles"; export const supportsMediaPlayerVolumeSliderCardFeature = ( stateObj: HassEntity diff --git a/src/panels/lovelace/card-features/hui-numeric-input-card-feature.ts b/src/panels/lovelace/card-features/hui-numeric-input-card-feature.ts index 561ce890cf..d4623d959a 100644 --- a/src/panels/lovelace/card-features/hui-numeric-input-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-numeric-input-card-feature.ts @@ -1,18 +1,21 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { NumericInputCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; + import "../../../components/ha-control-button"; import "../../../components/ha-control-button-group"; import "../../../components/ha-control-number-buttons"; import "../../../components/ha-control-slider"; import "../../../components/ha-icon"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; import { isUnavailableState } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { NumericInputCardFeatureConfig } from "./types"; export const supportsNumericInputCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-select-options-card-feature.ts b/src/panels/lovelace/card-features/hui-select-options-card-feature.ts index 65ee578b54..534f00cd07 100644 --- a/src/panels/lovelace/card-features/hui-select-options-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-select-options-card-feature.ts @@ -1,20 +1,23 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/ha-control-select-menu"; import type { HaControlSelectMenu } from "../../../components/ha-control-select-menu"; -import { UNAVAILABLE } from "../../../data/entity"; import type { InputSelectEntity } from "../../../data/input_select"; import type { SelectEntity } from "../../../data/select"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { SelectOptionsCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-control-select-menu"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { UNAVAILABLE } from "../../../data/entity"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { SelectOptionsCardFeatureConfig } from "./types"; export const supportsSelectOptionsCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-target-humidity-card-feature.ts b/src/panels/lovelace/card-features/hui-target-humidity-card-feature.ts index f4650a66ad..a39047e54a 100644 --- a/src/panels/lovelace/card-features/hui-target-humidity-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-target-humidity-card-feature.ts @@ -1,15 +1,18 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/ha-control-slider"; -import { UNAVAILABLE } from "../../../data/entity"; import type { HumidifierEntity } from "../../../data/humidifier"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardFeature } from "../types"; -import { cardFeatureStyles } from "./common/card-feature-styles"; import type { TargetHumidityCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-control-slider"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { UNAVAILABLE } from "../../../data/entity"; +import { cardFeatureStyles } from "./common/card-feature-styles"; export const supportsTargetHumidityCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-target-temperature-card-feature.ts b/src/panels/lovelace/card-features/hui-target-temperature-card-feature.ts index 0cea86d0aa..cd19ac6232 100644 --- a/src/panels/lovelace/card-features/hui-target-temperature-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-target-temperature-card-feature.ts @@ -1,25 +1,28 @@ +import type { ClimateEntity } from "../../../data/climate"; +import type { WaterHeaterEntity } from "../../../data/water_heater"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { TargetTemperatureCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-control-button-group"; +import "../../../components/ha-control-number-buttons"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { UNIT_F } from "../../../common/const"; import { computeDomain } from "../../../common/entity/compute_domain"; import { computeStateDomain } from "../../../common/entity/compute_state_domain"; import { stateColorCss } from "../../../common/entity/state_color"; import { supportsFeature } from "../../../common/entity/supports-feature"; import { debounce } from "../../../common/util/debounce"; -import "../../../components/ha-control-button-group"; -import "../../../components/ha-control-number-buttons"; -import type { ClimateEntity } from "../../../data/climate"; import { ClimateEntityFeature } from "../../../data/climate"; import { UNAVAILABLE } from "../../../data/entity"; -import type { WaterHeaterEntity } from "../../../data/water_heater"; import { WaterHeaterEntityFeature } from "../../../data/water_heater"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { TargetTemperatureCardFeatureConfig } from "./types"; type Target = "value" | "low" | "high"; diff --git a/src/panels/lovelace/card-features/hui-toggle-card-feature.ts b/src/panels/lovelace/card-features/hui-toggle-card-feature.ts index 3cef688c9c..c0b90d13ac 100644 --- a/src/panels/lovelace/card-features/hui-toggle-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-toggle-card-feature.ts @@ -1,3 +1,12 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature } from "../types"; +import type { ToggleCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-control-switch"; + import { mdiFan, mdiFanOff, @@ -8,22 +17,16 @@ import { mdiVolumeHigh, mdiVolumeOff, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { computeDomain } from "../../../common/entity/compute_domain"; import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-control-button"; -import "../../../components/ha-control-button-group"; -import "../../../components/ha-control-switch"; import { UNAVAILABLE, UNKNOWN } from "../../../data/entity"; import { forwardHaptic } from "../../../data/haptics"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { ToggleCardFeatureConfig } from "./types"; export const supportsToggleCardFeature = (stateObj: HassEntity) => { const domain = computeDomain(stateObj.entity_id); diff --git a/src/panels/lovelace/card-features/hui-update-actions-card-feature.ts b/src/panels/lovelace/card-features/hui-update-actions-card-feature.ts index 1956df515a..0c287ce417 100644 --- a/src/panels/lovelace/card-features/hui-update-actions-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-update-actions-card-feature.ts @@ -1,20 +1,23 @@ -import { mdiCancel, mdiCellphoneArrowDown } from "@mdi/js"; +import type { UpdateEntity } from "../../../data/update"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { UpdateActionsCardFeatureConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; + +import { mdiCancel, mdiCellphoneArrowDown } from "@mdi/js"; import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeDomain } from "../../../common/entity/compute_domain"; import { stateActive } from "../../../common/entity/state_active"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-control-button"; -import "../../../components/ha-control-button-group"; import { UNAVAILABLE } from "../../../data/entity"; -import type { UpdateEntity } from "../../../data/update"; import { UpdateEntityFeature, updateIsInstalling } from "../../../data/update"; import { showUpdateBackupDialogParams } from "../../../dialogs/update_backup/show-update-backup-dialog"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { UpdateActionsCardFeatureConfig } from "./types"; export const DEFAULT_UPDATE_BACKUP_OPTION = "no"; diff --git a/src/panels/lovelace/card-features/hui-vacuum-commands-card-feature.ts b/src/panels/lovelace/card-features/hui-vacuum-commands-card-feature.ts index 20f77d12ca..189b3eadc1 100644 --- a/src/panels/lovelace/card-features/hui-vacuum-commands-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-vacuum-commands-card-feature.ts @@ -1,3 +1,13 @@ +import type { VacuumEntity } from "../../../data/vacuum"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { VacuumCommand, VacuumCommandsCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-svg-icon"; + import { mdiHomeImportOutline, mdiMapMarker, @@ -7,16 +17,12 @@ import { mdiStop, mdiTargetVariant, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-control-button"; -import "../../../components/ha-svg-icon"; -import "../../../components/ha-control-button-group"; import { UNAVAILABLE } from "../../../data/entity"; -import type { VacuumEntity } from "../../../data/vacuum"; import { VacuumEntityFeature, canReturnHome, @@ -24,10 +30,7 @@ import { canStop, isCleaning, } from "../../../data/vacuum"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; -import type { VacuumCommand, VacuumCommandsCardFeatureConfig } from "./types"; import { VACUUM_COMMANDS } from "./types"; interface VacuumButton { diff --git a/src/panels/lovelace/card-features/hui-water-heater-operation-modes-card-feature.ts b/src/panels/lovelace/card-features/hui-water-heater-operation-modes-card-feature.ts index a74041cbdd..47ebed5552 100644 --- a/src/panels/lovelace/card-features/hui-water-heater-operation-modes-card-feature.ts +++ b/src/panels/lovelace/card-features/hui-water-heater-operation-modes-card-feature.ts @@ -1,29 +1,32 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-control-button"; -import "../../../components/ha-control-button-group"; -import "../../../components/ha-control-select"; import type { ControlSelectOption } from "../../../components/ha-control-select"; -import "../../../components/ha-control-slider"; -import { UNAVAILABLE } from "../../../data/entity"; import type { OperationMode, WaterHeaterEntity, } from "../../../data/water_heater"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; +import type { WaterHeaterOperationModesCardFeatureConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import "../../../components/ha-control-select"; +import "../../../components/ha-control-slider"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { stateColorCss } from "../../../common/entity/state_color"; +import { UNAVAILABLE } from "../../../data/entity"; import { compareWaterHeaterOperationMode, computeOperationModeIcon, } from "../../../data/water_heater"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types"; import { cardFeatureStyles } from "./common/card-feature-styles"; import { filterModes } from "./common/filter-modes"; -import type { WaterHeaterOperationModesCardFeatureConfig } from "./types"; export const supportsWaterHeaterOperationModesCardFeature = ( stateObj: HassEntity diff --git a/src/panels/lovelace/cards/energy/common/energy-chart-options.ts b/src/panels/lovelace/cards/energy/common/energy-chart-options.ts index d26d47f96d..b554d8d948 100644 --- a/src/panels/lovelace/cards/energy/common/energy-chart-options.ts +++ b/src/panels/lovelace/cards/energy/common/energy-chart-options.ts @@ -1,4 +1,12 @@ +import type { FrontendLocaleData } from "../../../../../data/translation"; +import type { ECOption } from "../../../../../resources/echarts"; +import type { + BarSeriesOption, + CallbackDataParams, + TopLevelFormatterParams, +} from "echarts/types/dist/shared"; import type { HassConfig } from "home-assistant-js-websocket"; + import { differenceInMonths, subHours, @@ -11,19 +19,13 @@ import { addMonths, addHours, } from "date-fns"; -import type { - BarSeriesOption, - CallbackDataParams, - TopLevelFormatterParams, -} from "echarts/types/dist/shared"; -import type { FrontendLocaleData } from "../../../../../data/translation"; -import { formatNumber } from "../../../../../common/number/format_number"; + import { formatDateMonthYear, formatDateVeryShort, } from "../../../../../common/datetime/format_date"; import { formatTime } from "../../../../../common/datetime/format_time"; -import type { ECOption } from "../../../../../resources/echarts"; +import { formatNumber } from "../../../../../common/number/format_number"; export function getSuggestedMax(dayDifference: number, end: Date): number { let suggestedMax = new Date(end); diff --git a/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts b/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts index 6281f395a1..ea6f8f7f1b 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts @@ -1,27 +1,30 @@ -import { mdiInformation } from "@mdi/js"; +import type { EnergyData } from "../../../../data/energy"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergyCarbonGaugeCardConfig } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { round } from "../../../../common/number/round"; + import "../../../../components/ha-card"; import "../../../../components/ha-gauge"; import "../../../../components/ha-svg-icon"; import "../../../../components/ha-tooltip"; -import type { EnergyData } from "../../../../data/energy"; + +import { mdiInformation } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { round } from "../../../../common/number/round"; import { energySourcesByType, getEnergyDataCollection, } from "../../../../data/energy"; import { calculateStatisticsSumGrowth } from "../../../../data/recorder"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import { createEntityNotFoundWarning } from "../../components/hui-warning"; -import type { LovelaceCard } from "../../types"; -import { severityMap } from "../hui-gauge-card"; -import type { EnergyCarbonGaugeCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { createEntityNotFoundWarning } from "../../components/hui-warning"; +import { severityMap } from "../hui-gauge-card"; const FORMAT_OPTIONS = { maximumFractionDigits: 0, diff --git a/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts b/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts index 359f388149..127bea198d 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts @@ -1,18 +1,21 @@ -import { differenceInDays, endOfDay } from "date-fns"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { formatDate } from "../../../../common/datetime/format_date"; import type { EnergyData } from "../../../../data/energy"; -import { getEnergyDataCollection } from "../../../../data/energy"; -import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; import type { HomeAssistant } from "../../../../types"; import type { LovelaceCard } from "../../types"; import type { EnergyCardBaseConfig } from "../types"; -import { hasConfigChanged } from "../../common/has-changed"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import "../../../../components/ha-alert"; + +import { differenceInDays, endOfDay } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { formatDate } from "../../../../common/datetime/format_date"; import { fireEvent } from "../../../../common/dom/fire_event"; +import { getEnergyDataCollection } from "../../../../data/energy"; +import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; +import { hasConfigChanged } from "../../common/has-changed"; @customElement("hui-energy-compare-card") export class HuiEnergyCompareCard diff --git a/src/panels/lovelace/cards/energy/hui-energy-date-selection-card.ts b/src/panels/lovelace/cards/energy/hui-energy-date-selection-card.ts index ca7440b93c..e76496e011 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-date-selection-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-date-selection-card.ts @@ -1,12 +1,15 @@ -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../../components/ha-card"; import type { HomeAssistant } from "../../../../types"; -import { hasConfigChanged } from "../../common/has-changed"; -import "../../components/hui-energy-period-selector"; import type { LovelaceCard, LovelaceGridOptions } from "../../types"; import type { EnergyCardBaseConfig } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-card"; +import "../../components/hui-energy-period-selector"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { hasConfigChanged } from "../../common/has-changed"; @customElement("hui-energy-date-selection-card") export class HuiEnergyDateSelectionCard diff --git a/src/panels/lovelace/cards/energy/hui-energy-devices-detail-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-devices-detail-graph-card.ts index f36f39a9de..8e0ea0a03a 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-devices-detail-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-devices-detail-graph-card.ts @@ -1,43 +1,46 @@ -import { endOfToday, startOfToday } from "date-fns"; -import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import type { BarSeriesOption } from "echarts/charts"; -import { getGraphColorByIndex } from "../../../../common/color/colors"; -import { getEnergyColor } from "./common/color"; -import "../../../../components/ha-card"; -import "../../../../components/chart/ha-chart-base"; import type { DeviceConsumptionEnergyPreference, EnergyData, } from "../../../../data/energy"; +import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; +import type { FrontendLocaleData } from "../../../../data/translation"; +import type { ECOption } from "../../../../resources/echarts"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergyDevicesDetailGraphCardConfig } from "../types"; +import type { BarSeriesOption } from "echarts/charts"; +import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../../components/chart/ha-chart-base"; +import "../../../../components/ha-card"; + +import { endOfToday, startOfToday } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { getGraphColorByIndex } from "../../../../common/color/colors"; +import { storage } from "../../../../common/decorators/storage"; +import { formatNumber } from "../../../../common/number/format_number"; import { getEnergyDataCollection, getSummedData, computeConsumptionData, } from "../../../../data/energy"; -import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; import { calculateStatisticSumGrowth, getStatisticLabel, } from "../../../../data/recorder"; -import type { FrontendLocaleData } from "../../../../data/translation"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergyDevicesDetailGraphCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { getEnergyColor } from "./common/color"; import { fillDataGapsAndRoundCaps, getCommonOptions, getCompareTransform, } from "./common/energy-chart-options"; -import { storage } from "../../../../common/decorators/storage"; -import type { ECOption } from "../../../../resources/echarts"; -import { formatNumber } from "../../../../common/number/format_number"; const UNIT = "kWh"; diff --git a/src/panels/lovelace/cards/energy/hui-energy-devices-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-devices-graph-card.ts index fc987b3300..f86b2b0eba 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-devices-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-devices-graph-card.ts @@ -1,18 +1,27 @@ +import type { EnergyData } from "../../../../data/energy"; +import type { ECOption } from "../../../../resources/echarts"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergyDevicesGraphCardConfig } from "../types"; +import type { BarSeriesOption } from "echarts/charts"; +import type { ECElementEvent } from "echarts/types/dist/shared"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../../../components/chart/ha-chart-base"; +import "../../../../components/ha-card"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; -import type { BarSeriesOption } from "echarts/charts"; -import type { ECElementEvent } from "echarts/types/dist/shared"; + import { getGraphColorByIndex } from "../../../../common/color/colors"; +import { fireEvent } from "../../../../common/dom/fire_event"; import { formatNumber, getNumberFormatOptions, } from "../../../../common/number/format_number"; -import "../../../../components/chart/ha-chart-base"; -import type { EnergyData } from "../../../../data/energy"; import { getEnergyDataCollection } from "../../../../data/energy"; import { calculateStatisticSumGrowth, @@ -20,14 +29,8 @@ import { isExternalStatistic, } from "../../../../data/recorder"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergyDevicesGraphCardConfig } from "../types"; -import { hasConfigChanged } from "../../common/has-changed"; -import type { ECOption } from "../../../../resources/echarts"; -import "../../../../components/ha-card"; -import { fireEvent } from "../../../../common/dom/fire_event"; import { measureTextWidth } from "../../../../util/text"; +import { hasConfigChanged } from "../../common/has-changed"; @customElement("hui-energy-devices-graph-card") export class HuiEnergyDevicesGraphCard diff --git a/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts b/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts index c28a0c772e..3221332886 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts @@ -1,4 +1,14 @@ +import type { EnergyData } from "../../../../data/energy"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergyDistributionCardConfig } from "../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-svg-icon"; import "@material/mwc-button"; + import { mdiArrowDown, mdiArrowLeft, @@ -12,14 +22,10 @@ import { mdiTransmissionTower, mdiWater, } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { css, html, LitElement, svg, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import "../../../../components/ha-card"; -import "../../../../components/ha-svg-icon"; -import type { EnergyData } from "../../../../data/energy"; + import { energySourcesByType, getEnergyDataCollection, @@ -29,9 +35,6 @@ import { } from "../../../../data/energy"; import { calculateStatisticsSumGrowth } from "../../../../data/recorder"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergyDistributionCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; const CIRCLE_CIRCUMFERENCE = 238.76104; diff --git a/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts index df572710be..0b262353a1 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts @@ -1,37 +1,40 @@ -import { endOfToday, isToday, startOfToday } from "date-fns"; -import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import type { BarSeriesOption } from "echarts/charts"; -import { getEnergyColor } from "./common/color"; -import { formatNumber } from "../../../../common/number/format_number"; -import "../../../../components/chart/ha-chart-base"; -import "../../../../components/ha-card"; import type { EnergyData, GasSourceTypeEnergyPreference, } from "../../../../data/energy"; +import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; +import type { FrontendLocaleData } from "../../../../data/translation"; +import type { ECOption } from "../../../../resources/echarts"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergyGasGraphCardConfig } from "../types"; +import type { BarSeriesOption } from "echarts/charts"; +import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../../components/chart/ha-chart-base"; +import "../../../../components/ha-card"; + +import { endOfToday, isToday, startOfToday } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { formatNumber } from "../../../../common/number/format_number"; import { getEnergyDataCollection, getEnergyGasUnit, } from "../../../../data/energy"; -import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; import { getStatisticLabel } from "../../../../data/recorder"; -import type { FrontendLocaleData } from "../../../../data/translation"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergyGasGraphCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { getEnergyColor } from "./common/color"; import { fillDataGapsAndRoundCaps, getCommonOptions, getCompareTransform, } from "./common/energy-chart-options"; -import type { ECOption } from "../../../../resources/echarts"; @customElement("hui-energy-gas-graph-card") export class HuiEnergyGasGraphCard diff --git a/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts b/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts index 180967aea8..ade11837d8 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts @@ -1,24 +1,27 @@ -import { mdiInformation } from "@mdi/js"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { formatNumber } from "../../../../common/number/format_number"; -import "../../../../components/ha-card"; -import "../../../../components/ha-gauge"; import type { LevelDefinition } from "../../../../components/ha-gauge"; -import "../../../../components/ha-svg-icon"; -import "../../../../components/ha-tooltip"; import type { EnergyData, GridSourceTypeEnergyPreference, } from "../../../../data/energy"; -import { getEnergyDataCollection } from "../../../../data/energy"; -import { calculateStatisticsSumGrowth } from "../../../../data/recorder"; -import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; import type { HomeAssistant } from "../../../../types"; import type { LovelaceCard } from "../../types"; import type { EnergyGridNeutralityGaugeCardConfig } from "../types"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-gauge"; +import "../../../../components/ha-svg-icon"; +import "../../../../components/ha-tooltip"; + +import { mdiInformation } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { formatNumber } from "../../../../common/number/format_number"; +import { getEnergyDataCollection } from "../../../../data/energy"; +import { calculateStatisticsSumGrowth } from "../../../../data/recorder"; +import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; import { hasConfigChanged } from "../../common/has-changed"; const LEVELS: LevelDefinition[] = [ diff --git a/src/panels/lovelace/cards/energy/hui-energy-sankey-card.ts b/src/panels/lovelace/cards/energy/hui-energy-sankey-card.ts index 0314dd1110..09b49d35c0 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-sankey-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-sankey-card.ts @@ -1,10 +1,20 @@ +import type { Link, Node } from "../../../../components/chart/ha-sankey-chart"; +import type { EnergyData } from "../../../../data/energy"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard, LovelaceGridOptions } from "../../types"; +import type { EnergySankeyCardConfig } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; + +import "../../../../components/chart/ha-sankey-chart"; import "../../../../components/ha-card"; import "../../../../components/ha-svg-icon"; -import type { EnergyData } from "../../../../data/energy"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { getGraphColorByIndex } from "../../../../common/color/colors"; +import { formatNumber } from "../../../../common/number/format_number"; import { energySourcesByType, getEnergyDataCollection, @@ -15,13 +25,6 @@ import { getStatisticLabel, } from "../../../../data/recorder"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard, LovelaceGridOptions } from "../../types"; -import type { EnergySankeyCardConfig } from "../types"; -import "../../../../components/chart/ha-sankey-chart"; -import type { Link, Node } from "../../../../components/chart/ha-sankey-chart"; -import { getGraphColorByIndex } from "../../../../common/color/colors"; -import { formatNumber } from "../../../../common/number/format_number"; @customElement("hui-energy-sankey-card") class HuiEnergySankeyCard diff --git a/src/panels/lovelace/cards/energy/hui-energy-self-sufficiency-gauge-card.ts b/src/panels/lovelace/cards/energy/hui-energy-self-sufficiency-gauge-card.ts index e9b5acba71..75bb5bf4ed 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-self-sufficiency-gauge-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-self-sufficiency-gauge-card.ts @@ -1,25 +1,28 @@ -import { mdiInformation } from "@mdi/js"; +import type { EnergyData } from "../../../../data/energy"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergySelfSufficiencyGaugeCardConfig } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; + import "../../../../components/ha-card"; import "../../../../components/ha-gauge"; import "../../../../components/ha-svg-icon"; import "../../../../components/ha-tooltip"; -import type { EnergyData } from "../../../../data/energy"; + +import { mdiInformation } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + import { energySourcesByType, getEnergyDataCollection, } from "../../../../data/energy"; import { calculateStatisticsSumGrowth } from "../../../../data/recorder"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import { severityMap } from "../hui-gauge-card"; -import type { EnergySelfSufficiencyGaugeCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { severityMap } from "../hui-gauge-card"; const FORMAT_OPTIONS = { maximumFractionDigits: 0, diff --git a/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts b/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts index 061dd2f7a5..4caa22a7f8 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts @@ -1,24 +1,27 @@ -import { mdiInformation } from "@mdi/js"; +import type { EnergyData } from "../../../../data/energy"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergySolarGaugeCardConfig } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; + import "../../../../components/ha-card"; import "../../../../components/ha-gauge"; import "../../../../components/ha-svg-icon"; -import type { EnergyData } from "../../../../data/energy"; + +import { mdiInformation } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + import { energySourcesByType, getEnergyDataCollection, } from "../../../../data/energy"; import { calculateStatisticsSumGrowth } from "../../../../data/recorder"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import { severityMap } from "../hui-gauge-card"; -import type { EnergySolarGaugeCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { severityMap } from "../hui-gauge-card"; const FORMAT_OPTIONS = { maximumFractionDigits: 0, diff --git a/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts index 3119e53138..a656c9eb6b 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts @@ -1,38 +1,41 @@ -import { differenceInDays, endOfToday, isToday, startOfToday } from "date-fns"; -import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import type { BarSeriesOption, LineSeriesOption } from "echarts/charts"; -import { getEnergyColor } from "./common/color"; -import { formatNumber } from "../../../../common/number/format_number"; -import "../../../../components/chart/ha-chart-base"; -import "../../../../components/ha-card"; import type { EnergyData, EnergySolarForecasts, SolarSourceTypeEnergyPreference, } from "../../../../data/energy"; +import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; +import type { FrontendLocaleData } from "../../../../data/translation"; +import type { ECOption } from "../../../../resources/echarts"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergySolarGraphCardConfig } from "../types"; +import type { BarSeriesOption, LineSeriesOption } from "echarts/charts"; +import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../../components/chart/ha-chart-base"; +import "../../../../components/ha-card"; + +import { differenceInDays, endOfToday, isToday, startOfToday } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { formatNumber } from "../../../../common/number/format_number"; import { getEnergyDataCollection, getEnergySolarForecasts, } from "../../../../data/energy"; -import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; import { getStatisticLabel } from "../../../../data/recorder"; -import type { FrontendLocaleData } from "../../../../data/translation"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergySolarGraphCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { getEnergyColor } from "./common/color"; import { fillDataGapsAndRoundCaps, getCommonOptions, getCompareTransform, } from "./common/energy-chart-options"; -import type { ECOption } from "../../../../resources/echarts"; @customElement("hui-energy-solar-graph-card") export class HuiEnergySolarGraphCard diff --git a/src/panels/lovelace/cards/energy/hui-energy-sources-table-card.ts b/src/panels/lovelace/cards/energy/hui-energy-sources-table-card.ts index 8cdf9633cd..492c52c636 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-sources-table-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-sources-table-card.ts @@ -1,15 +1,22 @@ -// @ts-ignore -import dataTableStyles from "@material/data-table/dist/mdc.data-table.min.css"; +import type { EnergyData } from "../../../../data/energy"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergySourcesTableCardConfig } from "../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +// @ts-ignore +import dataTableStyles from "@material/data-table/dist/mdc.data-table.min.css"; + +import "../../../../components/ha-card"; + import { css, html, LitElement, unsafeCSS, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { formatNumber } from "../../../../common/number/format_number"; -import { getEnergyColor } from "./common/color"; -import "../../../../components/ha-card"; -import type { EnergyData } from "../../../../data/energy"; import { energySourcesByType, getEnergyDataCollection, @@ -22,11 +29,8 @@ import { isExternalStatistic, } from "../../../../data/recorder"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergySourcesTableCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; -import { fireEvent } from "../../../../common/dom/fire_event"; +import { getEnergyColor } from "./common/color"; const colorPropertyMap = { grid_return: "--energy-grid-return-color", diff --git a/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts index cda61fecbf..b338cb3eda 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts @@ -1,35 +1,38 @@ -import { endOfToday, isToday, startOfToday } from "date-fns"; -import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; +import type { EnergyData } from "../../../../data/energy"; +import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; +import type { FrontendLocaleData } from "../../../../data/translation"; +import type { ECOption } from "../../../../resources/echarts"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergyUsageGraphCardConfig } from "../types"; import type { BarSeriesOption } from "echarts/charts"; import type { TooltipOption, TopLevelFormatterParams, } from "echarts/types/dist/shared"; -import { getEnergyColor } from "./common/color"; -import { formatNumber } from "../../../../common/number/format_number"; +import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import "../../../../components/chart/ha-chart-base"; import "../../../../components/ha-card"; -import type { EnergyData } from "../../../../data/energy"; + +import { endOfToday, isToday, startOfToday } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { formatNumber } from "../../../../common/number/format_number"; import { getEnergyDataCollection } from "../../../../data/energy"; -import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; import { getStatisticLabel } from "../../../../data/recorder"; -import type { FrontendLocaleData } from "../../../../data/translation"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergyUsageGraphCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { getEnergyColor } from "./common/color"; import { fillDataGapsAndRoundCaps, getCommonOptions, getCompareTransform, } from "./common/energy-chart-options"; -import type { ECOption } from "../../../../resources/echarts"; const colorPropertyMap = { to_grid: "--energy-grid-return-color", diff --git a/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts index adfc3d217a..129bab13e2 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts @@ -1,37 +1,40 @@ -import { endOfToday, isToday, startOfToday } from "date-fns"; -import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import memoizeOne from "memoize-one"; -import type { BarSeriesOption } from "echarts/charts"; -import { getEnergyColor } from "./common/color"; -import "../../../../components/chart/ha-chart-base"; -import "../../../../components/ha-card"; import type { EnergyData, WaterSourceTypeEnergyPreference, } from "../../../../data/energy"; +import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; +import type { FrontendLocaleData } from "../../../../data/translation"; +import type { ECOption } from "../../../../resources/echarts"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { EnergyWaterGraphCardConfig } from "../types"; +import type { BarSeriesOption } from "echarts/charts"; +import type { HassConfig, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../../components/chart/ha-chart-base"; +import "../../../../components/ha-card"; + +import { endOfToday, isToday, startOfToday } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import memoizeOne from "memoize-one"; + +import { formatNumber } from "../../../../common/number/format_number"; import { getEnergyDataCollection, getEnergyWaterUnit, } from "../../../../data/energy"; -import type { Statistics, StatisticsMetaData } from "../../../../data/recorder"; import { getStatisticLabel } from "../../../../data/recorder"; -import type { FrontendLocaleData } from "../../../../data/translation"; import { SubscribeMixin } from "../../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceCard } from "../../types"; -import type { EnergyWaterGraphCardConfig } from "../types"; import { hasConfigChanged } from "../../common/has-changed"; +import { getEnergyColor } from "./common/color"; import { fillDataGapsAndRoundCaps, getCommonOptions, getCompareTransform, } from "./common/energy-chart-options"; -import type { ECOption } from "../../../../resources/echarts"; -import { formatNumber } from "../../../../common/number/format_number"; @customElement("hui-energy-water-graph-card") export class HuiEnergyWaterGraphCard diff --git a/src/panels/lovelace/cards/hui-alarm-panel-card.ts b/src/panels/lovelace/cards/hui-alarm-panel-card.ts index 9eebb8a0ce..cd60ccc03b 100644 --- a/src/panels/lovelace/cards/hui-alarm-panel-card.ts +++ b/src/panels/lovelace/cards/hui-alarm-panel-card.ts @@ -1,35 +1,38 @@ +import type { HaTextField } from "../../../components/ha-textfield"; +import type { AlarmMode } from "../../../data/alarm_control_panel"; +import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard } from "../types"; +import type { AlarmPanelCardConfig, AlarmPanelCardConfigState } from "./types"; import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { styleMap } from "lit/directives/style-map"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { stateColorCss } from "../../../common/entity/state_color"; -import { supportsFeature } from "../../../common/entity/supports-feature"; + import "../../../components/chips/ha-assist-chip"; import "../../../components/ha-card"; import "../../../components/ha-state-icon"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; -import type { AlarmMode } from "../../../data/alarm_control_panel"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { styleMap } from "lit/directives/style-map"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { stateColorCss } from "../../../common/entity/state_color"; +import { supportsFeature } from "../../../common/entity/supports-feature"; import { ALARM_MODES, FORMAT_NUMBER, callAlarmAction, } from "../../../data/alarm_control_panel"; import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import { findEntities } from "../common/find-entities"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard } from "../types"; -import type { ExtEntityRegistryEntry } from "../../../data/entity_registry"; import { getExtendedEntityRegistryEntry, subscribeEntityRegistry, } from "../../../data/entity_registry"; -import type { AlarmPanelCardConfig, AlarmPanelCardConfigState } from "./types"; +import { findEntities } from "../common/find-entities"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; const BUTTONS = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "", "0", "clear"]; diff --git a/src/panels/lovelace/cards/hui-area-card.ts b/src/panels/lovelace/cards/hui-area-card.ts index 3a901f064f..229f18ef0c 100644 --- a/src/panels/lovelace/cards/hui-area-card.ts +++ b/src/panels/lovelace/cards/hui-area-card.ts @@ -1,3 +1,23 @@ +import type { AreaRegistryEntry } from "../../../data/area_registry"; +import type { DeviceRegistryEntry } from "../../../data/device_registry"; +import type { EntityRegistryEntry } from "../../../data/entity_registry"; +import type { HomeAssistant } from "../../../types"; +import type { + LovelaceCard, + LovelaceCardEditor, + LovelaceGridOptions, +} from "../types"; +import type { AreaCardConfig } from "./types"; +import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-domain-icon"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-state-icon"; +import "../components/hui-image"; +import "../components/hui-warning"; + import { mdiFan, mdiFanOff, @@ -8,13 +28,12 @@ import { mdiToggleSwitchOff, mdiWaterAlert, } from "@mdi/js"; -import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { STATES_OFF } from "../../../common/const"; import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { computeDomain } from "../../../common/entity/compute_domain"; @@ -26,28 +45,12 @@ import { import { blankBeforeUnit } from "../../../common/translations/blank_before_unit"; import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; import { subscribeOne } from "../../../common/util/subscribe-one"; -import "../../../components/ha-card"; -import "../../../components/ha-domain-icon"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-state-icon"; -import type { AreaRegistryEntry } from "../../../data/area_registry"; import { subscribeAreaRegistry } from "../../../data/area_registry"; -import type { DeviceRegistryEntry } from "../../../data/device_registry"; import { subscribeDeviceRegistry } from "../../../data/device_registry"; import { isUnavailableState } from "../../../data/entity"; -import type { EntityRegistryEntry } from "../../../data/entity_registry"; import { subscribeEntityRegistry } from "../../../data/entity_registry"; import { forwardHaptic } from "../../../data/haptics"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../types"; -import "../components/hui-image"; -import "../components/hui-warning"; -import type { - LovelaceCard, - LovelaceCardEditor, - LovelaceGridOptions, -} from "../types"; -import type { AreaCardConfig } from "./types"; export const DEFAULT_ASPECT_RATIO = "16:9"; diff --git a/src/panels/lovelace/cards/hui-button-card.ts b/src/panels/lovelace/cards/hui-button-card.ts index 59d6db9adc..3b5a880643 100644 --- a/src/panels/lovelace/cards/hui-button-card.ts +++ b/src/panels/lovelace/cards/hui-button-card.ts @@ -1,14 +1,31 @@ -import { consume } from "@lit-labs/context"; +import type { LocalizeFunc } from "../../../common/translations/localize"; +import type { EntityRegistryDisplayEntry } from "../../../data/entity_registry"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { FrontendLocaleData } from "../../../data/translation"; +import type { Themes } from "../../../data/ws-themes"; +import type { HomeAssistant } from "../../../types"; +import type { + LovelaceCard, + LovelaceCardEditor, + LovelaceGridOptions, +} from "../types"; +import type { ButtonCardConfig } from "./types"; import type { HassConfig, HassEntities, HassEntity, } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-ripple"; + +import { consume } from "@lit-labs/context"; import { LitElement, css, html, nothing } from "lit"; import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; + import { DOMAINS_TOGGLE } from "../../../common/const"; import { transform } from "../../../common/decorators/transform"; import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; @@ -22,9 +39,6 @@ import { } from "../../../common/entity/state_color"; import { isValidEntityId } from "../../../common/entity/valid_entity_id"; import { iconColorCSS } from "../../../common/style/icon_color_css"; -import type { LocalizeFunc } from "../../../common/translations/localize"; -import "../../../components/ha-card"; -import "../../../components/ha-ripple"; import { CLIMATE_HVAC_ACTION_TO_MODE } from "../../../data/climate"; import { configContext, @@ -34,21 +48,10 @@ import { statesContext, themesContext, } from "../../../data/context"; -import type { EntityRegistryDisplayEntry } from "../../../data/entity_registry"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { FrontendLocaleData } from "../../../data/translation"; -import type { Themes } from "../../../data/ws-themes"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { hasAction } from "../common/has-action"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { - LovelaceCard, - LovelaceCardEditor, - LovelaceGridOptions, -} from "../types"; -import type { ButtonCardConfig } from "./types"; export const getEntityDefaultButtonAction = (entityId?: string) => entityId && DOMAINS_TOGGLE.has(computeDomain(entityId)) diff --git a/src/panels/lovelace/cards/hui-calendar-card.ts b/src/panels/lovelace/cards/hui-calendar-card.ts index c09835c4e1..12c31e2320 100644 --- a/src/panels/lovelace/cards/hui-calendar-card.ts +++ b/src/panels/lovelace/cards/hui-calendar-card.ts @@ -1,24 +1,27 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { getColorByIndex } from "../../../common/color/colors"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import { debounce } from "../../../common/util/debounce"; -import "../../../components/ha-card"; import type { Calendar, CalendarEvent } from "../../../data/calendar"; -import { fetchCalendarEvents } from "../../../data/calendar"; import type { CalendarViewChanged, FullCalendarView, HomeAssistant, } from "../../../types"; -import "../../calendar/ha-full-calendar"; -import { findEntities } from "../common/find-entities"; -import "../components/hui-warning"; import type { LovelaceCard, LovelaceCardEditor } from "../types"; import type { CalendarCardConfig } from "./types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../calendar/ha-full-calendar"; +import "../components/hui-warning"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { getColorByIndex } from "../../../common/color/colors"; +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { debounce } from "../../../common/util/debounce"; +import { fetchCalendarEvents } from "../../../data/calendar"; +import { findEntities } from "../common/find-entities"; @customElement("hui-calendar-card") export class HuiCalendarCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-card.ts b/src/panels/lovelace/cards/hui-card.ts index 9f6ec0b9c7..95bcb3b0cd 100644 --- a/src/panels/lovelace/cards/hui-card.ts +++ b/src/panels/lovelace/cards/hui-card.ts @@ -1,11 +1,15 @@ -import type { PropertyValues } from "lit"; -import { ReactiveElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { MediaQueriesListener } from "../../../common/dom/media_query"; -import "../../../components/ha-svg-icon"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceGridOptions } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-svg-icon"; + +import { ReactiveElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { migrateLayoutToGridOptions } from "../common/compute-card-grid-size"; import { computeCardSize } from "../common/compute-card-size"; import { @@ -14,7 +18,6 @@ import { } from "../common/validate-condition"; import { createCardElement } from "../create-element/create-card-element"; import { createErrorCardConfig } from "../create-element/create-element-base"; -import type { LovelaceCard, LovelaceGridOptions } from "../types"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/cards/hui-clock-card.ts b/src/panels/lovelace/cards/hui-clock-card.ts index 729cfb2c14..51ce623e7e 100644 --- a/src/panels/lovelace/cards/hui-clock-card.ts +++ b/src/panels/lovelace/cards/hui-clock-card.ts @@ -1,8 +1,3 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-alert"; -import "../../../components/ha-card"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCard, @@ -10,8 +5,16 @@ import type { LovelaceGridOptions, } from "../types"; import type { ClockCardConfig } from "./types"; -import { useAmPm } from "../../../common/datetime/use_am_pm"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-card"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { resolveTimeZone } from "../../../common/datetime/resolve-time-zone"; +import { useAmPm } from "../../../common/datetime/use_am_pm"; const INTERVAL = 1000; diff --git a/src/panels/lovelace/cards/hui-conditional-card.ts b/src/panels/lovelace/cards/hui-conditional-card.ts index ca53b589bc..26be09bb12 100644 --- a/src/panels/lovelace/cards/hui-conditional-card.ts +++ b/src/panels/lovelace/cards/hui-conditional-card.ts @@ -1,11 +1,13 @@ -import { customElement } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; -import { computeCardSize } from "../common/compute-card-size"; -import { HuiConditionalBase } from "../components/hui-conditional-base"; import type { LovelaceCard, LovelaceCardEditor } from "../types"; import type { ConditionalCardConfig } from "./types"; +import { customElement } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeCardSize } from "../common/compute-card-size"; +import { HuiConditionalBase } from "../components/hui-conditional-base"; + @customElement("hui-conditional-card") class HuiConditionalCard extends HuiConditionalBase implements LovelaceCard { public static async getConfigElement(): Promise { diff --git a/src/panels/lovelace/cards/hui-empty-state-card.ts b/src/panels/lovelace/cards/hui-empty-state-card.ts index 5a183e5f63..c4906df49f 100644 --- a/src/panels/lovelace/cards/hui-empty-state-card.ts +++ b/src/panels/lovelace/cards/hui-empty-state-card.ts @@ -1,11 +1,13 @@ -import "@material/mwc-button/mwc-button"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import "../../../components/ha-card"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCard } from "../types"; import type { EmptyStateCardConfig } from "./types"; +import "../../../components/ha-card"; +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + @customElement("hui-empty-state-card") export class HuiEmptyStateCard extends LitElement implements LovelaceCard { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/panels/lovelace/cards/hui-entities-card.ts b/src/panels/lovelace/cards/hui-entities-card.ts index 387d5a3e46..285357db7c 100644 --- a/src/panels/lovelace/cards/hui-entities-card.ts +++ b/src/panels/lovelace/cards/hui-entities-card.ts @@ -1,17 +1,4 @@ -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, state } from "lit/decorators"; -import { DOMAINS_TOGGLE } from "../../../common/const"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/ha-card"; import type { HomeAssistant } from "../../../types"; -import { computeCardSize } from "../common/compute-card-size"; -import { findEntities } from "../common/find-entities"; -import { processConfigEntities } from "../common/process-config-entities"; -import "../components/hui-entities-toggle"; -import { createHeaderFooterElement } from "../create-element/create-header-footer-element"; -import { createRowElement } from "../create-element/create-row-element"; import type { EntityConfig, LovelaceRow, @@ -23,6 +10,22 @@ import type { LovelaceHeaderFooter, } from "../types"; import type { EntitiesCardConfig } from "./types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../components/hui-entities-toggle"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, state } from "lit/decorators"; + +import { DOMAINS_TOGGLE } from "../../../common/const"; +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeCardSize } from "../common/compute-card-size"; +import { findEntities } from "../common/find-entities"; +import { processConfigEntities } from "../common/process-config-entities"; +import { createHeaderFooterElement } from "../create-element/create-header-footer-element"; +import { createRowElement } from "../create-element/create-row-element"; @customElement("hui-entities-card") class HuiEntitiesCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-entity-button-card.ts b/src/panels/lovelace/cards/hui-entity-button-card.ts index e6b79249ba..396598d686 100644 --- a/src/panels/lovelace/cards/hui-entity-button-card.ts +++ b/src/panels/lovelace/cards/hui-entity-button-card.ts @@ -1,4 +1,5 @@ import { customElement } from "lit/decorators"; + import { HuiButtonCard } from "./hui-button-card"; @customElement("hui-entity-button-card") diff --git a/src/panels/lovelace/cards/hui-entity-card.ts b/src/panels/lovelace/cards/hui-entity-card.ts index 178121b03a..60c533f51d 100644 --- a/src/panels/lovelace/cards/hui-entity-card.ts +++ b/src/panels/lovelace/cards/hui-entity-card.ts @@ -1,10 +1,24 @@ +import type { HomeAssistant } from "../../../types"; +import type { + LovelaceCard, + LovelaceGridOptions, + LovelaceHeaderFooter, +} from "../types"; +import type { HuiErrorCard } from "./hui-error-card"; +import type { EntityCardConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-attribute-value"; +import "../../../components/ha-card"; +import "../../../components/ha-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; + import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateDomain } from "../../../common/entity/compute_state_domain"; @@ -20,24 +34,13 @@ import { isNumericState, } from "../../../common/number/format_number"; import { iconColorCSS } from "../../../common/style/icon_color_css"; -import "../../../components/ha-attribute-value"; -import "../../../components/ha-card"; -import "../../../components/ha-icon"; import { CLIMATE_HVAC_ACTION_TO_MODE } from "../../../data/climate"; import { isUnavailableState } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; import { computeCardSize } from "../common/compute-card-size"; import { findEntities } from "../common/find-entities"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; import { createHeaderFooterElement } from "../create-element/create-header-footer-element"; -import type { - LovelaceCard, - LovelaceGridOptions, - LovelaceHeaderFooter, -} from "../types"; -import type { HuiErrorCard } from "./hui-error-card"; -import type { EntityCardConfig } from "./types"; @customElement("hui-entity-card") export class HuiEntityCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-entity-filter-card.ts b/src/panels/lovelace/cards/hui-entity-filter-card.ts index 96239b8538..1cada8a7d9 100644 --- a/src/panels/lovelace/cards/hui-entity-filter-card.ts +++ b/src/panels/lovelace/cards/hui-entity-filter-card.ts @@ -1,9 +1,15 @@ -import type { PropertyValues } from "lit"; -import { ReactiveElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../types"; +import type { EntityFilterEntityConfig } from "../entity-rows/types"; +import type { LovelaceCard } from "../types"; +import type { HuiCard } from "./hui-card"; +import type { EntityFilterCardConfig } from "./types"; +import type { PropertyValues } from "lit"; + +import { ReactiveElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { computeCardSize } from "../common/compute-card-size"; import { evaluateStateFilter } from "../common/evaluate-filter"; import { findEntities } from "../common/find-entities"; @@ -13,10 +19,6 @@ import { checkConditionsMet, extractConditionEntityIds, } from "../common/validate-condition"; -import type { EntityFilterEntityConfig } from "../entity-rows/types"; -import type { LovelaceCard } from "../types"; -import type { HuiCard } from "./hui-card"; -import type { EntityFilterCardConfig } from "./types"; @customElement("hui-entity-filter-card") export class HuiEntityFilterCard diff --git a/src/panels/lovelace/cards/hui-error-card.ts b/src/panels/lovelace/cards/hui-error-card.ts index 59efd46c74..4fee0dfa5e 100644 --- a/src/panels/lovelace/cards/hui-error-card.ts +++ b/src/panels/lovelace/cards/hui-error-card.ts @@ -1,11 +1,13 @@ -import { dump } from "js-yaml"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-alert"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCard } from "../types"; import type { ErrorCardConfig } from "./types"; +import "../../../components/ha-alert"; + +import { dump } from "js-yaml"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + @customElement("hui-error-card") export class HuiErrorCard extends LitElement implements LovelaceCard { public hass?: HomeAssistant; diff --git a/src/panels/lovelace/cards/hui-gauge-card.ts b/src/panels/lovelace/cards/hui-gauge-card.ts index 62f7e16d2c..4160df1955 100644 --- a/src/panels/lovelace/cards/hui-gauge-card.ts +++ b/src/panels/lovelace/cards/hui-gauge-card.ts @@ -1,27 +1,30 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { GaugeCardConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket/dist/types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-gauge"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; import { classMap } from "lit/directives/class-map"; +import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; + import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { isValidEntityId } from "../../../common/entity/valid_entity_id"; import { getNumberFormatOptions } from "../../../common/number/format_number"; -import "../../../components/ha-card"; -import "../../../components/ha-gauge"; import { UNAVAILABLE } from "../../../data/entity"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction, hasAnyAction } from "../common/has-action"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { GaugeCardConfig } from "./types"; export const DEFAULT_MIN = 0; export const DEFAULT_MAX = 100; diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index fe8b4cd5f0..556bb70339 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -1,34 +1,37 @@ -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { ifDefined } from "lit/directives/if-defined"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/entity/state-badge"; -import "../../../components/ha-card"; -import "../../../components/ha-icon"; -import "../../../components/ha-relative-time"; -import { isUnavailableState } from "../../../data/entity"; import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; import type { CallServiceActionConfig, MoreInfoActionConfig, } from "../../../data/lovelace/config/action"; -import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../../../data/sensor"; import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { GlanceCardConfig, GlanceConfigEntity } from "./types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/entity/state-badge"; +import "../../../components/ha-card"; +import "../../../components/ha-icon"; +import "../../../components/ha-relative-time"; +import "../components/hui-timestamp-display"; +import "../components/hui-warning-element"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { ifDefined } from "lit/directives/if-defined"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { isUnavailableState } from "../../../data/entity"; +import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../../../data/sensor"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction, hasAnyAction } from "../common/has-action"; import { hasConfigOrEntitiesChanged } from "../common/has-changed"; import { processConfigEntities } from "../common/process-config-entities"; -import "../components/hui-timestamp-display"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import "../components/hui-warning-element"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { GlanceCardConfig, GlanceConfigEntity } from "./types"; @customElement("hui-glance-card") export class HuiGlanceCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-grid-card.ts b/src/panels/lovelace/cards/hui-grid-card.ts index 00ec6623de..8a734ce731 100644 --- a/src/panels/lovelace/cards/hui-grid-card.ts +++ b/src/panels/lovelace/cards/hui-grid-card.ts @@ -1,9 +1,11 @@ -import type { CSSResultGroup } from "lit"; -import { css } from "lit"; -import { computeCardSize } from "../common/compute-card-size"; import type { LovelaceCardEditor } from "../types"; -import { HuiStackCard } from "./hui-stack-card"; import type { GridCardConfig } from "./types"; +import type { CSSResultGroup } from "lit"; + +import { css } from "lit"; + +import { computeCardSize } from "../common/compute-card-size"; +import { HuiStackCard } from "./hui-stack-card"; export const DEFAULT_COLUMNS = 3; const SQUARE_ROW_HEIGHTS_BY_COLUMNS = { diff --git a/src/panels/lovelace/cards/hui-heading-card.ts b/src/panels/lovelace/cards/hui-heading-card.ts index 68337d45d8..9c7a5eb05f 100644 --- a/src/panels/lovelace/cards/hui-heading-card.ts +++ b/src/panels/lovelace/cards/hui-heading-card.ts @@ -1,17 +1,5 @@ -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import "../../../components/ha-card"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-state-icon"; import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import "../../../state-display/state-display"; import type { HomeAssistant } from "../../../types"; -import { actionHandler } from "../common/directives/action-handler-directive"; -import { handleAction } from "../common/handle-action"; -import { hasAction } from "../common/has-action"; -import "../heading-badges/hui-heading-badge"; import type { LovelaceCard, LovelaceCardEditor, @@ -19,6 +7,21 @@ import type { } from "../types"; import type { HeadingCardConfig } from "./types"; +import "../../../components/ha-card"; +import "../../../components/ha-icon"; +import "../../../components/ha-icon-next"; +import "../../../components/ha-state-icon"; +import "../../../state-display/state-display"; +import "../heading-badges/hui-heading-badge"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; + +import { actionHandler } from "../common/directives/action-handler-directive"; +import { handleAction } from "../common/handle-action"; +import { hasAction } from "../common/has-action"; + export const migrateHeadingCardConfig = ( config: HeadingCardConfig ): HeadingCardConfig => { diff --git a/src/panels/lovelace/cards/hui-history-graph-card.ts b/src/panels/lovelace/cards/hui-history-graph-card.ts index 5ac50c7fc6..b447e27d17 100644 --- a/src/panels/lovelace/cards/hui-history-graph-card.ts +++ b/src/panels/lovelace/cards/hui-history-graph-card.ts @@ -1,12 +1,19 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceGridOptions } from "../types"; +import type { HistoryGraphCardConfig } from "./types"; import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; + import "../../../components/chart/state-history-charts"; import "../../../components/ha-alert"; import "../../../components/ha-card"; import "../../../components/ha-icon-next"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { createSearchParam } from "../../../common/url/search-params"; import { computeHistory, subscribeHistoryStatesTimeWindow, @@ -14,14 +21,10 @@ import { convertStatisticsToHistory, mergeHistoryResults, } from "../../../data/history"; +import { fetchStatistics } from "../../../data/recorder"; import { getSensorNumericDeviceClasses } from "../../../data/sensor"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntitiesChanged } from "../common/has-changed"; import { processConfigEntities } from "../common/process-config-entities"; -import type { LovelaceCard, LovelaceGridOptions } from "../types"; -import type { HistoryGraphCardConfig } from "./types"; -import { createSearchParam } from "../../../common/url/search-params"; -import { fetchStatistics } from "../../../data/recorder"; export const DEFAULT_HOURS_TO_SHOW = 24; diff --git a/src/panels/lovelace/cards/hui-horizontal-stack-card.ts b/src/panels/lovelace/cards/hui-horizontal-stack-card.ts index 9448c65c82..3bd8d17777 100644 --- a/src/panels/lovelace/cards/hui-horizontal-stack-card.ts +++ b/src/panels/lovelace/cards/hui-horizontal-stack-card.ts @@ -1,6 +1,8 @@ import type { CSSResultGroup } from "lit"; + import { css } from "lit"; import { customElement } from "lit/decorators"; + import { computeCardSize } from "../common/compute-card-size"; import { HuiStackCard } from "./hui-stack-card"; diff --git a/src/panels/lovelace/cards/hui-humidifier-card.ts b/src/panels/lovelace/cards/hui-humidifier-card.ts index 7da931fba0..46448b48b1 100644 --- a/src/panels/lovelace/cards/hui-humidifier-card.ts +++ b/src/panels/lovelace/cards/hui-humidifier-card.ts @@ -1,27 +1,30 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; -import { mdiDotsVertical } from "@mdi/js"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; import type { HumidifierEntity } from "../../../data/humidifier"; -import "../../../state-control/humidifier/ha-state-control-humidifier-humidity"; import type { HomeAssistant } from "../../../types"; -import "../card-features/hui-card-features"; -import { findEntities } from "../common/find-entities"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceCard, LovelaceCardEditor, LovelaceGridOptions, } from "../types"; import type { HumidifierCardConfig } from "./types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../state-control/humidifier/ha-state-control-humidifier-humidity"; +import "../card-features/hui-card-features"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; +import { mdiDotsVertical } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { stateColorCss } from "../../../common/entity/state_color"; +import { findEntities } from "../common/find-entities"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-humidifier-card") export class HuiHumidifierCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-iframe-card.ts b/src/panels/lovelace/cards/hui-iframe-card.ts index 63955f93dc..11207b2c5a 100644 --- a/src/panels/lovelace/cards/hui-iframe-card.ts +++ b/src/panels/lovelace/cards/hui-iframe-card.ts @@ -1,10 +1,3 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { styleMap } from "lit/directives/style-map"; -import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; -import "../../../components/ha-alert"; -import "../../../components/ha-card"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCard, @@ -12,6 +5,16 @@ import type { LovelaceGridOptions, } from "../types"; import type { IframeCardConfig } from "./types"; + +import "../../../components/ha-alert"; +import "../../../components/ha-card"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; +import { styleMap } from "lit/directives/style-map"; + +import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; import { IFRAME_SANDBOX } from "../../../util/iframe"; @customElement("hui-iframe-card") diff --git a/src/panels/lovelace/cards/hui-light-card.ts b/src/panels/lovelace/cards/hui-light-card.ts index f8ca1282dd..c7c5e288c4 100644 --- a/src/panels/lovelace/cards/hui-light-card.ts +++ b/src/panels/lovelace/cards/hui-light-card.ts @@ -1,30 +1,33 @@ -import { mdiDotsVertical } from "@mdi/js"; -import "@thomasloven/round-slider"; +import type { LightEntity } from "../../../data/light"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { LightCardConfig } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-state-icon"; +import "@thomasloven/round-slider"; + +import { mdiDotsVertical } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { stateColorBrightness } from "../../../common/entity/state_color"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-state-icon"; import { UNAVAILABLE, isUnavailableState } from "../../../data/entity"; -import type { LightEntity } from "../../../data/light"; import { lightSupportsBrightness } from "../../../data/light"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { LightCardConfig } from "./types"; @customElement("hui-light-card") export class HuiLightCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-logbook-card.ts b/src/panels/lovelace/cards/hui-logbook-card.ts index 12ee971d1f..230ef59b1f 100644 --- a/src/panels/lovelace/cards/hui-logbook-card.ts +++ b/src/panels/lovelace/cards/hui-logbook-card.ts @@ -1,23 +1,26 @@ +import type { HomeAssistant } from "../../../types"; +import type { HaLogbook } from "../../logbook/ha-logbook"; +import type { EntityConfig } from "../entity-rows/types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { LogbookCardConfig } from "./types"; +import type { HassServiceTarget } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../logbook/ha-logbook"; +import "../components/hui-warning"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; -import type { HassServiceTarget } from "home-assistant-js-websocket"; + +import { ensureArray } from "../../../common/array/ensure-array"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import "../../../components/ha-card"; -import type { HomeAssistant } from "../../../types"; -import "../../logbook/ha-logbook"; -import type { HaLogbook } from "../../logbook/ha-logbook"; +import { resolveEntityIDs } from "../../../data/selector"; import { findEntities } from "../common/find-entities"; import { processConfigEntities } from "../common/process-config-entities"; -import "../components/hui-warning"; -import type { EntityConfig } from "../entity-rows/types"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { LogbookCardConfig } from "./types"; -import { resolveEntityIDs } from "../../../data/selector"; -import { ensureArray } from "../../../common/array/ensure-array"; export const DEFAULT_HOURS_TO_SHOW = 24; diff --git a/src/panels/lovelace/cards/hui-map-card.ts b/src/panels/lovelace/cards/hui-map-card.ts index 145ff00ade..3aff0b8548 100644 --- a/src/panels/lovelace/cards/hui-map-card.ts +++ b/src/panels/lovelace/cards/hui-map-card.ts @@ -1,25 +1,3 @@ -import { - mdiDotsHexagon, - mdiGoogleCirclesCommunities, - mdiImageFilterCenterFocus, -} from "@mdi/js"; -import type { HassEntities } from "home-assistant-js-websocket"; -import type { LatLngTuple } from "leaflet"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { getColorByIndex } from "../../../common/color/colors"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { computeStateDomain } from "../../../common/entity/compute_state_domain"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import { deepEqual } from "../../../common/util/deep-equal"; -import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; -import "../../../components/ha-alert"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/map/ha-map"; import type { HaMap, HaMapEntity, @@ -27,17 +5,42 @@ import type { HaMapPaths, } from "../../../components/map/ha-map"; import type { HistoryStates } from "../../../data/history"; -import { subscribeHistoryStatesTimeWindow } from "../../../data/history"; import type { HomeAssistant } from "../../../types"; +import type { EntityConfig } from "../entity-rows/types"; +import type { LovelaceCard, LovelaceGridOptions } from "../types"; +import type { MapCardConfig } from "./types"; +import type { HassEntities } from "home-assistant-js-websocket"; +import type { LatLngTuple } from "leaflet"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/map/ha-map"; + +import { + mdiDotsHexagon, + mdiGoogleCirclesCommunities, + mdiImageFilterCenterFocus, +} from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { getColorByIndex } from "../../../common/color/colors"; +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateDomain } from "../../../common/entity/compute_state_domain"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { deepEqual } from "../../../common/util/deep-equal"; +import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; +import { subscribeHistoryStatesTimeWindow } from "../../../data/history"; import { findEntities } from "../common/find-entities"; import { hasConfigChanged, hasConfigOrEntitiesChanged, } from "../common/has-changed"; import { processConfigEntities } from "../common/process-config-entities"; -import type { EntityConfig } from "../entity-rows/types"; -import type { LovelaceCard, LovelaceGridOptions } from "../types"; -import type { MapCardConfig } from "./types"; export const DEFAULT_HOURS_TO_SHOW = 0; export const DEFAULT_ZOOM = 14; diff --git a/src/panels/lovelace/cards/hui-markdown-card.ts b/src/panels/lovelace/cards/hui-markdown-card.ts index 6d2e98e906..9321bc04d6 100644 --- a/src/panels/lovelace/cards/hui-markdown-card.ts +++ b/src/panels/lovelace/cards/hui-markdown-card.ts @@ -1,20 +1,23 @@ +import type { RenderTemplateResult } from "../../../data/ws-templates"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { MarkdownCardConfig } from "./types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-card"; +import "../../../components/ha-markdown"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import hash from "object-hash"; + import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-alert"; -import "../../../components/ha-card"; -import "../../../components/ha-markdown"; -import type { RenderTemplateResult } from "../../../data/ws-templates"; import { subscribeRenderTemplate } from "../../../data/ws-templates"; -import type { HomeAssistant } from "../../../types"; import { CacheManager } from "../../../util/cache-manager"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { MarkdownCardConfig } from "./types"; const templateCache = new CacheManager(1000); diff --git a/src/panels/lovelace/cards/hui-media-control-card.ts b/src/panels/lovelace/cards/hui-media-control-card.ts index 7b3c3df6c7..4ce0a181ed 100644 --- a/src/panels/lovelace/cards/hui-media-control-card.ts +++ b/src/panels/lovelace/cards/hui-media-control-card.ts @@ -1,27 +1,34 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; -import type { LinearProgress } from "@material/mwc-linear-progress/mwc-linear-progress"; -import { mdiDotsVertical, mdiPlayBoxMultiple } from "@mdi/js"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { styleMap } from "lit/directives/style-map"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import { supportsFeature } from "../../../common/entity/supports-feature"; -import { extractColors } from "../../../common/image/extract_color"; -import { stateActive } from "../../../common/entity/state_active"; -import { debounce } from "../../../common/util/debounce"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-state-icon"; -import { showMediaBrowserDialog } from "../../../components/media-player/show-media-browser-dialog"; -import { isUnavailableState } from "../../../data/entity"; import type { MediaPickedEvent, MediaPlayerEntity, } from "../../../data/media-player"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { MediaControlCardConfig } from "./types"; +import type { LinearProgress } from "@material/mwc-linear-progress/mwc-linear-progress"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-state-icon"; +import "../components/hui-marquee"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + +import { mdiDotsVertical, mdiPlayBoxMultiple } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { styleMap } from "lit/directives/style-map"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { stateActive } from "../../../common/entity/state_active"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import { extractColors } from "../../../common/image/extract_color"; +import { debounce } from "../../../common/util/debounce"; +import { showMediaBrowserDialog } from "../../../components/media-player/show-media-browser-dialog"; +import { isUnavailableState } from "../../../data/entity"; import { cleanupMediaTitle, computeMediaControls, @@ -31,13 +38,9 @@ import { MediaPlayerEntityFeature, mediaPlayerPlayMedia, } from "../../../data/media-player"; -import type { HomeAssistant } from "../../../types"; import { findEntities } from "../common/find-entities"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-marquee"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { MediaControlCardConfig } from "./types"; @customElement("hui-media-control-card") export class HuiMediaControlCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-picture-card.ts b/src/panels/lovelace/cards/hui-picture-card.ts index 8bc3afb40a..f9df9a5936 100644 --- a/src/panels/lovelace/cards/hui-picture-card.ts +++ b/src/panels/lovelace/cards/hui-picture-card.ts @@ -1,23 +1,26 @@ +import type { ImageEntity } from "../../../data/image"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { PersonEntity } from "../../../data/person"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { PictureCardConfig } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; + import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/ha-card"; -import type { ImageEntity } from "../../../data/image"; import { computeImageUrl } from "../../../data/image"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; import { hasConfigChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { PictureCardConfig } from "./types"; -import type { PersonEntity } from "../../../data/person"; @customElement("hui-picture-card") export class HuiPictureCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-picture-elements-card.ts b/src/panels/lovelace/cards/hui-picture-elements-card.ts index cea7d6824c..09d49b44e4 100644 --- a/src/panels/lovelace/cards/hui-picture-elements-card.ts +++ b/src/panels/lovelace/cards/hui-picture-elements-card.ts @@ -1,18 +1,21 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/ha-card"; import type { ImageEntity } from "../../../data/image"; -import { computeImageUrl } from "../../../data/image"; +import type { PersonEntity } from "../../../data/person"; import type { HomeAssistant } from "../../../types"; -import { findEntities } from "../common/find-entities"; import type { LovelaceElement, LovelaceElementConfig } from "../elements/types"; import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import { createStyledHuiElement } from "./picture-elements/create-styled-hui-element"; import type { PictureElementsCardConfig } from "./types"; -import type { PersonEntity } from "../../../data/person"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeImageUrl } from "../../../data/image"; +import { findEntities } from "../common/find-entities"; +import { createStyledHuiElement } from "./picture-elements/create-styled-hui-element"; @customElement("hui-picture-elements-card") class HuiPictureElementsCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-picture-entity-card.ts b/src/panels/lovelace/cards/hui-picture-entity-card.ts index 22bca69b24..d85ab256e9 100644 --- a/src/panels/lovelace/cards/hui-picture-entity-card.ts +++ b/src/panels/lovelace/cards/hui-picture-entity-card.ts @@ -1,26 +1,29 @@ -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-card"; import type { CameraEntity } from "../../../data/camera"; import type { ImageEntity } from "../../../data/image"; -import { computeImageUrl } from "../../../data/image"; import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; import type { PersonEntity } from "../../../data/person"; import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { PictureEntityCardConfig } from "./types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../components/hui-image"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { computeImageUrl } from "../../../data/image"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-image"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { PictureEntityCardConfig } from "./types"; export const STUB_IMAGE = "https://demo.home-assistant.io/stub_config/bedroom.png"; diff --git a/src/panels/lovelace/cards/hui-picture-glance-card.ts b/src/panels/lovelace/cards/hui-picture-glance-card.ts index ecd421cf41..0e63a767c7 100644 --- a/src/panels/lovelace/cards/hui-picture-glance-card.ts +++ b/src/panels/lovelace/cards/hui-picture-glance-card.ts @@ -1,34 +1,37 @@ +import type { ImageEntity } from "../../../data/image"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { PersonEntity } from "../../../data/person"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { + PictureGlanceCardConfig, + PictureGlanceEntityConfig, +} from "./types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-state-icon"; +import "../components/hui-image"; +import "../components/hui-warning-element"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; + import { DOMAINS_TOGGLE } from "../../../common/const"; import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { computeDomain } from "../../../common/entity/compute_domain"; import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-state-icon"; -import type { ImageEntity } from "../../../data/image"; import { computeImageUrl } from "../../../data/image"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { processConfigEntities } from "../common/process-config-entities"; -import "../components/hui-image"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import "../components/hui-warning-element"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { - PictureGlanceCardConfig, - PictureGlanceEntityConfig, -} from "./types"; -import type { PersonEntity } from "../../../data/person"; const STATES_OFF = new Set(["closed", "locked", "not_home", "off"]); diff --git a/src/panels/lovelace/cards/hui-plant-status-card.ts b/src/panels/lovelace/cards/hui-plant-status-card.ts index 5dc3c94f6b..58991d6cc2 100644 --- a/src/panels/lovelace/cards/hui-plant-status-card.ts +++ b/src/panels/lovelace/cards/hui-plant-status-card.ts @@ -1,26 +1,29 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { PlantAttributeTarget, PlantStatusCardConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-svg-icon"; + import { mdiSprout, mdiThermometer, mdiWaterPercent, mdiWhiteBalanceSunny, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { fireEvent } from "../../../common/dom/fire_event"; import { batteryLevelIcon } from "../../../common/entity/battery_icon"; import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-card"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { PlantAttributeTarget, PlantStatusCardConfig } from "./types"; const SENSOR_ICONS = { moisture: mdiWaterPercent, diff --git a/src/panels/lovelace/cards/hui-recovery-mode-card.ts b/src/panels/lovelace/cards/hui-recovery-mode-card.ts index ed09372c20..0a855e82bf 100644 --- a/src/panels/lovelace/cards/hui-recovery-mode-card.ts +++ b/src/panels/lovelace/cards/hui-recovery-mode-card.ts @@ -1,11 +1,13 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard } from "../types"; import type { TemplateResult } from "lit"; + +import "../../../components/ha-card"; +import "../../config/logs/error-log-card"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-card"; -import type { HomeAssistant } from "../../../types"; -import "../../config/logs/error-log-card"; -import type { LovelaceCard } from "../types"; @customElement("hui-recovery-mode-card") export class HuiRecoveryModeCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-sensor-card.ts b/src/panels/lovelace/cards/hui-sensor-card.ts index db964f9e0d..e3049993f3 100644 --- a/src/panels/lovelace/cards/hui-sensor-card.ts +++ b/src/panels/lovelace/cards/hui-sensor-card.ts @@ -1,14 +1,16 @@ -import type { HassEntity } from "home-assistant-js-websocket/dist/types"; -import type { CSSResultGroup } from "lit"; -import { css } from "lit"; -import { customElement } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; import type { HomeAssistant } from "../../../types"; -import { findEntities } from "../common/find-entities"; import type { GraphHeaderFooterConfig } from "../header-footer/types"; import type { LovelaceCardEditor, LovelaceGridOptions } from "../types"; -import { HuiEntityCard } from "./hui-entity-card"; import type { EntityCardConfig, SensorCardConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket/dist/types"; +import type { CSSResultGroup } from "lit"; + +import { css } from "lit"; +import { customElement } from "lit/decorators"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { findEntities } from "../common/find-entities"; +import { HuiEntityCard } from "./hui-entity-card"; const includeDomains = ["counter", "input_number", "number", "sensor"]; diff --git a/src/panels/lovelace/cards/hui-shopping-list-card.ts b/src/panels/lovelace/cards/hui-shopping-list-card.ts index 7c0718a772..be30204c29 100644 --- a/src/panels/lovelace/cards/hui-shopping-list-card.ts +++ b/src/panels/lovelace/cards/hui-shopping-list-card.ts @@ -1,6 +1,7 @@ import { customElement } from "lit/decorators"; -import { HuiTodoListCard } from "./hui-todo-list-card"; + import { getTodoLists } from "../../../data/todo"; +import { HuiTodoListCard } from "./hui-todo-list-card"; @customElement("hui-shopping-list-card") class HuiShoppingListCard extends HuiTodoListCard { diff --git a/src/panels/lovelace/cards/hui-stack-card.ts b/src/panels/lovelace/cards/hui-stack-card.ts index 2127302e66..1b2988c62c 100644 --- a/src/panels/lovelace/cards/hui-stack-card.ts +++ b/src/panels/lovelace/cards/hui-stack-card.ts @@ -1,13 +1,16 @@ -import { LitElement, css, html, nothing } from "lit"; -import { property, state } from "lit/decorators"; -import { computeRTLDirection } from "../../../common/util/compute_rtl"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import "./hui-card"; import type { HuiCard } from "./hui-card"; import type { StackCardConfig } from "./types"; +import "./hui-card"; + +import { LitElement, css, html, nothing } from "lit"; +import { property, state } from "lit/decorators"; + +import { computeRTLDirection } from "../../../common/util/compute_rtl"; + export abstract class HuiStackCard extends LitElement implements LovelaceCard diff --git a/src/panels/lovelace/cards/hui-starting-card.ts b/src/panels/lovelace/cards/hui-starting-card.ts index 6ae7f66286..e048efea01 100644 --- a/src/panels/lovelace/cards/hui-starting-card.ts +++ b/src/panels/lovelace/cards/hui-starting-card.ts @@ -1,14 +1,17 @@ -import "@material/mwc-button/mwc-button"; -import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-card"; -import "../../../components/ha-spinner"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCard } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-spinner"; +import "@material/mwc-button/mwc-button"; + +import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; @customElement("hui-starting-card") export class HuiStartingCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-statistic-card.ts b/src/panels/lovelace/cards/hui-statistic-card.ts index eebe867bbf..cce4f42e52 100644 --- a/src/panels/lovelace/cards/hui-statistic-card.ts +++ b/src/panels/lovelace/cards/hui-statistic-card.ts @@ -1,28 +1,5 @@ -import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { isValidEntityId } from "../../../common/entity/valid_entity_id"; -import { formatNumber } from "../../../common/number/format_number"; -import "../../../components/ha-alert"; -import "../../../components/ha-card"; -import "../../../components/ha-state-icon"; -import { getEnergyDataCollection } from "../../../data/energy"; import type { StatisticsMetaData } from "../../../data/recorder"; -import { - fetchStatistic, - getDisplayUnit, - getStatisticLabel, - getStatisticMetadata, - isExternalStatistic, -} from "../../../data/recorder"; import type { HomeAssistant } from "../../../types"; -import { computeCardSize } from "../common/compute-card-size"; -import { findEntities } from "../common/find-entities"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import { createHeaderFooterElement } from "../create-element/create-header-footer-element"; import type { LovelaceCard, LovelaceCardEditor, @@ -31,6 +8,32 @@ import type { } from "../types"; import type { HuiErrorCard } from "./hui-error-card"; import type { EntityCardConfig, StatisticCardConfig } from "./types"; +import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-card"; +import "../../../components/ha-state-icon"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { isValidEntityId } from "../../../common/entity/valid_entity_id"; +import { formatNumber } from "../../../common/number/format_number"; +import { getEnergyDataCollection } from "../../../data/energy"; +import { + fetchStatistic, + getDisplayUnit, + getStatisticLabel, + getStatisticMetadata, + isExternalStatistic, +} from "../../../data/recorder"; +import { computeCardSize } from "../common/compute-card-size"; +import { findEntities } from "../common/find-entities"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createHeaderFooterElement } from "../create-element/create-header-footer-element"; export const PERIOD_ENERGY = "energy_date_selection"; diff --git a/src/panels/lovelace/cards/hui-statistics-graph-card.ts b/src/panels/lovelace/cards/hui-statistics-graph-card.ts index 061f8f9b64..bd8fa64273 100644 --- a/src/panels/lovelace/cards/hui-statistics-graph-card.ts +++ b/src/panels/lovelace/cards/hui-statistics-graph-card.ts @@ -1,31 +1,34 @@ -import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; -import { subHours, differenceInDays } from "date-fns"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import "../../../components/ha-card"; -import { getEnergyDataCollection } from "../../../data/energy"; -import { - getSuggestedMax, - getSuggestedPeriod, -} from "./energy/common/energy-chart-options"; import type { Statistics, StatisticsMetaData, StatisticType, } from "../../../data/recorder"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceGridOptions } from "../types"; +import type { StatisticsGraphCardConfig } from "./types"; +import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; + +import { subHours, differenceInDays } from "date-fns"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { getEnergyDataCollection } from "../../../data/energy"; import { fetchStatistics, getDisplayUnit, getStatisticMetadata, } from "../../../data/recorder"; -import type { HomeAssistant } from "../../../types"; import { findEntities } from "../common/find-entities"; import { hasConfigOrEntitiesChanged } from "../common/has-changed"; import { processConfigEntities } from "../common/process-config-entities"; -import type { LovelaceCard, LovelaceGridOptions } from "../types"; -import type { StatisticsGraphCardConfig } from "./types"; +import { + getSuggestedMax, + getSuggestedPeriod, +} from "./energy/common/energy-chart-options"; export const DEFAULT_DAYS_TO_SHOW = 30; diff --git a/src/panels/lovelace/cards/hui-thermostat-card.ts b/src/panels/lovelace/cards/hui-thermostat-card.ts index 4784141970..a68562bc3a 100644 --- a/src/panels/lovelace/cards/hui-thermostat-card.ts +++ b/src/panels/lovelace/cards/hui-thermostat-card.ts @@ -1,27 +1,30 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; -import { mdiDotsVertical } from "@mdi/js"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; import type { ClimateEntity } from "../../../data/climate"; -import "../../../state-control/climate/ha-state-control-climate-temperature"; import type { HomeAssistant } from "../../../types"; -import "../card-features/hui-card-features"; -import { findEntities } from "../common/find-entities"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceCard, LovelaceCardEditor, LovelaceGridOptions, } from "../types"; import type { ThermostatCardConfig } from "./types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../state-control/climate/ha-state-control-climate-temperature"; +import "../card-features/hui-card-features"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; +import { mdiDotsVertical } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { stateColorCss } from "../../../common/entity/state_color"; +import { findEntities } from "../common/find-entities"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-thermostat-card") export class HuiThermostatCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-tile-card.ts b/src/panels/lovelace/cards/hui-tile-card.ts index ee294c8227..6c78b0342d 100644 --- a/src/panels/lovelace/cards/hui-tile-card.ts +++ b/src/panels/lovelace/cards/hui-tile-card.ts @@ -1,11 +1,32 @@ -import { mdiExclamationThick, mdiHelp } from "@mdi/js"; +import type { TileIconImageStyle } from "../../../components/tile/ha-tile-icon"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { + LovelaceCard, + LovelaceCardEditor, + LovelaceGridOptions, +} from "../types"; +import type { TileCardConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-card"; +import "../../../components/ha-ripple"; +import "../../../components/ha-state-icon"; +import "../../../components/ha-svg-icon"; +import "../../../components/tile/ha-tile-badge"; +import "../../../components/tile/ha-tile-icon"; +import "../../../components/tile/ha-tile-info"; +import "../../../state-display/state-display"; +import "../card-features/hui-card-features"; + +import { mdiExclamationThick, mdiHelp } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { hsv2rgb, rgb2hex, rgb2hsv } from "../../../common/color/convert-color"; import { DOMAINS_TOGGLE } from "../../../common/const"; @@ -13,30 +34,12 @@ import { computeDomain } from "../../../common/entity/compute_domain"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { stateActive } from "../../../common/entity/state_active"; import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-card"; -import "../../../components/ha-ripple"; -import "../../../components/ha-state-icon"; -import "../../../components/ha-svg-icon"; -import "../../../components/tile/ha-tile-badge"; -import "../../../components/tile/ha-tile-icon"; -import type { TileIconImageStyle } from "../../../components/tile/ha-tile-icon"; -import "../../../components/tile/ha-tile-info"; import { cameraUrlWithWidthHeight } from "../../../data/camera"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import "../../../state-display/state-display"; -import type { HomeAssistant } from "../../../types"; -import "../card-features/hui-card-features"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import type { - LovelaceCard, - LovelaceCardEditor, - LovelaceGridOptions, -} from "../types"; import { renderTileBadge } from "./tile/badges/tile-badge"; -import type { TileCardConfig } from "./types"; export const getEntityDefaultTileIconAction = (entityId: string) => { const domain = computeDomain(entityId); diff --git a/src/panels/lovelace/cards/hui-todo-list-card.ts b/src/panels/lovelace/cards/hui-todo-list-card.ts index 648c132e5e..3774523892 100644 --- a/src/panels/lovelace/cards/hui-todo-list-card.ts +++ b/src/panels/lovelace/cards/hui-todo-list-card.ts @@ -1,27 +1,13 @@ -import "@material/mwc-list/mwc-list"; -import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; +import type { HaTextField } from "../../../components/ha-textfield"; +import type { TodoItem } from "../../../data/todo"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCard, LovelaceCardEditor } from "../types"; +import type { TodoListCardConfig } from "./types"; import type { List } from "@material/mwc-list/mwc-list"; -import { - mdiClock, - mdiDelete, - mdiDeleteSweep, - mdiDotsVertical, - mdiDrag, - mdiPlus, - mdiSort, -} from "@mdi/js"; -import { endOfDay, isSameDay } from "date-fns"; +import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValueMap, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { repeat } from "lit/directives/repeat"; -import memoizeOne from "memoize-one"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { supportsFeature } from "../../../common/entity/supports-feature"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { caseInsensitiveStringCompare } from "../../../common/string/compare"; + import "../../../components/ha-card"; import "../../../components/ha-check-list-item"; import "../../../components/ha-checkbox"; @@ -33,9 +19,29 @@ import "../../../components/ha-select"; import "../../../components/ha-sortable"; import "../../../components/ha-svg-icon"; import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; +import "@material/mwc-list/mwc-list"; + +import { + mdiClock, + mdiDelete, + mdiDeleteSweep, + mdiDotsVertical, + mdiDrag, + mdiPlus, + mdiSort, +} from "@mdi/js"; +import { endOfDay, isSameDay } from "date-fns"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { repeat } from "lit/directives/repeat"; +import memoizeOne from "memoize-one"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import { caseInsensitiveStringCompare } from "../../../common/string/compare"; import { isUnavailableState } from "../../../data/entity"; -import type { TodoItem } from "../../../data/todo"; import { TodoItemStatus, TodoListEntityFeature, @@ -47,12 +53,9 @@ import { TodoSortMode, } from "../../../data/todo"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../types"; import { showTodoItemEditDialog } from "../../todo/show-dialog-todo-item-editor"; import { findEntities } from "../common/find-entities"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceCard, LovelaceCardEditor } from "../types"; -import type { TodoListCardConfig } from "./types"; @customElement("hui-todo-list-card") export class HuiTodoListCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/hui-vertical-stack-card.ts b/src/panels/lovelace/cards/hui-vertical-stack-card.ts index e259211b47..7bbd696ccd 100644 --- a/src/panels/lovelace/cards/hui-vertical-stack-card.ts +++ b/src/panels/lovelace/cards/hui-vertical-stack-card.ts @@ -1,5 +1,7 @@ import type { CSSResultGroup } from "lit"; + import { css } from "lit"; + import { computeCardSize } from "../common/compute-card-size"; import { HuiStackCard } from "./hui-stack-card"; diff --git a/src/panels/lovelace/cards/hui-weather-forecast-card.ts b/src/panels/lovelace/cards/hui-weather-forecast-card.ts index 6050ef428d..385e843365 100644 --- a/src/panels/lovelace/cards/hui-weather-forecast-card.ts +++ b/src/panels/lovelace/cards/hui-weather-forecast-card.ts @@ -1,19 +1,30 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { ForecastEvent, WeatherEntity } from "../../../data/weather"; +import type { HomeAssistant } from "../../../types"; +import type { + LovelaceCard, + LovelaceCardEditor, + LovelaceGridOptions, +} from "../types"; +import type { WeatherForecastCardConfig } from "./types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../components/ha-card"; +import "../../../components/ha-svg-icon"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { formatDateWeekdayShort } from "../../../common/datetime/format_date"; import { formatTime } from "../../../common/datetime/format_time"; import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { isValidEntityId } from "../../../common/entity/valid_entity_id"; import { formatNumber } from "../../../common/number/format_number"; -import "../../../components/ha-card"; -import "../../../components/ha-svg-icon"; import { UNAVAILABLE } from "../../../data/entity"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { ForecastEvent, WeatherEntity } from "../../../data/weather"; import { getForecast, getSecondaryWeatherAttribute, @@ -24,20 +35,12 @@ import { weatherAttrIcons, weatherSVGStyles, } from "../../../data/weather"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { - LovelaceCard, - LovelaceCardEditor, - LovelaceGridOptions, -} from "../types"; -import type { WeatherForecastCardConfig } from "./types"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; @customElement("hui-weather-forecast-card") class HuiWeatherForecastCard extends LitElement implements LovelaceCard { diff --git a/src/panels/lovelace/cards/picture-elements/create-styled-hui-element.ts b/src/panels/lovelace/cards/picture-elements/create-styled-hui-element.ts index 0ce472da39..b68e28063f 100644 --- a/src/panels/lovelace/cards/picture-elements/create-styled-hui-element.ts +++ b/src/panels/lovelace/cards/picture-elements/create-styled-hui-element.ts @@ -1,9 +1,10 @@ -import { createHuiElement } from "../../create-element/create-hui-element"; import type { LovelaceElement, LovelaceElementConfig, } from "../../elements/types"; +import { createHuiElement } from "../../create-element/create-hui-element"; + export function createStyledHuiElement( elementConfig: LovelaceElementConfig ): LovelaceElement { diff --git a/src/panels/lovelace/cards/tile/badges/tile-badge-climate.ts b/src/panels/lovelace/cards/tile/badges/tile-badge-climate.ts index 025b7dc186..9b85584bfb 100644 --- a/src/panels/lovelace/cards/tile/badges/tile-badge-climate.ts +++ b/src/panels/lovelace/cards/tile/badges/tile-badge-climate.ts @@ -1,11 +1,14 @@ -import { html, nothing } from "lit"; -import { styleMap } from "lit/directives/style-map"; -import { stateColorCss } from "../../../../../common/entity/state_color"; +import type { ClimateEntity } from "../../../../../data/climate"; +import type { RenderBadgeFunction } from "./tile-badge"; + import "../../../../../components/ha-attribute-icon"; import "../../../../../components/tile/ha-tile-badge"; -import type { ClimateEntity } from "../../../../../data/climate"; + +import { html, nothing } from "lit"; +import { styleMap } from "lit/directives/style-map"; + +import { stateColorCss } from "../../../../../common/entity/state_color"; import { CLIMATE_HVAC_ACTION_TO_MODE } from "../../../../../data/climate"; -import type { RenderBadgeFunction } from "./tile-badge"; export const renderClimateBadge: RenderBadgeFunction = (stateObj, hass) => { const hvacAction = (stateObj as ClimateEntity).attributes.hvac_action; diff --git a/src/panels/lovelace/cards/tile/badges/tile-badge-humidifier.ts b/src/panels/lovelace/cards/tile/badges/tile-badge-humidifier.ts index 01774e7dfc..0f7d199ab0 100644 --- a/src/panels/lovelace/cards/tile/badges/tile-badge-humidifier.ts +++ b/src/panels/lovelace/cards/tile/badges/tile-badge-humidifier.ts @@ -1,11 +1,14 @@ -import { html, nothing } from "lit"; -import { styleMap } from "lit/directives/style-map"; -import { stateColorCss } from "../../../../../common/entity/state_color"; +import type { HumidifierEntity } from "../../../../../data/humidifier"; +import type { RenderBadgeFunction } from "./tile-badge"; + import "../../../../../components/ha-attribute-icon"; import "../../../../../components/tile/ha-tile-badge"; -import type { HumidifierEntity } from "../../../../../data/humidifier"; + +import { html, nothing } from "lit"; +import { styleMap } from "lit/directives/style-map"; + +import { stateColorCss } from "../../../../../common/entity/state_color"; import { HUMIDIFIER_ACTION_MODE } from "../../../../../data/humidifier"; -import type { RenderBadgeFunction } from "./tile-badge"; export const renderHumidifierBadge: RenderBadgeFunction = (stateObj, hass) => { const action = (stateObj as HumidifierEntity).attributes.action; diff --git a/src/panels/lovelace/cards/tile/badges/tile-badge-person.ts b/src/panels/lovelace/cards/tile/badges/tile-badge-person.ts index d36ebbe473..b781e0346a 100644 --- a/src/panels/lovelace/cards/tile/badges/tile-badge-person.ts +++ b/src/panels/lovelace/cards/tile/badges/tile-badge-person.ts @@ -1,13 +1,16 @@ -import { mdiHome, mdiHomeExportOutline } from "@mdi/js"; +import type { HomeAssistant } from "../../../../../types"; +import type { RenderBadgeFunction } from "./tile-badge"; import type { HassEntity } from "home-assistant-js-websocket"; -import { html } from "lit"; -import { styleMap } from "lit/directives/style-map"; -import { stateColorCss } from "../../../../../common/entity/state_color"; + import "../../../../../components/ha-icon"; import "../../../../../components/ha-svg-icon"; import "../../../../../components/tile/ha-tile-badge"; -import type { HomeAssistant } from "../../../../../types"; -import type { RenderBadgeFunction } from "./tile-badge"; + +import { mdiHome, mdiHomeExportOutline } from "@mdi/js"; +import { html } from "lit"; +import { styleMap } from "lit/directives/style-map"; + +import { stateColorCss } from "../../../../../common/entity/state_color"; function getZone(entity: HassEntity, hass: HomeAssistant) { const state = entity.state; diff --git a/src/panels/lovelace/cards/tile/badges/tile-badge.ts b/src/panels/lovelace/cards/tile/badges/tile-badge.ts index f4e2c152b3..ac168d25cd 100644 --- a/src/panels/lovelace/cards/tile/badges/tile-badge.ts +++ b/src/panels/lovelace/cards/tile/badges/tile-badge.ts @@ -1,16 +1,19 @@ -import { mdiExclamationThick } from "@mdi/js"; +import type { HomeAssistant } from "../../../../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../../../../../components/ha-svg-icon"; +import "../../../../../components/tile/ha-tile-badge"; + +import { mdiExclamationThick } from "@mdi/js"; import { html, nothing } from "lit"; import { styleMap } from "lit/directives/style-map"; + import { computeDomain } from "../../../../../common/entity/compute_domain"; import { UNAVAILABLE, UNKNOWN } from "../../../../../data/entity"; -import type { HomeAssistant } from "../../../../../types"; import { renderClimateBadge } from "./tile-badge-climate"; import { renderHumidifierBadge } from "./tile-badge-humidifier"; import { renderPersonBadge } from "./tile-badge-person"; -import "../../../../../components/tile/ha-tile-badge"; -import "../../../../../components/ha-svg-icon"; export type RenderBadgeFunction = ( stateObj: HassEntity, diff --git a/src/panels/lovelace/cards/types.ts b/src/panels/lovelace/cards/types.ts index 30227b5fe3..66d5f5795a 100644 --- a/src/panels/lovelace/cards/types.ts +++ b/src/panels/lovelace/cards/types.ts @@ -1,8 +1,8 @@ -import type { HassServiceTarget } from "home-assistant-js-websocket"; import type { HaDurationData } from "../../../components/ha-duration-input"; import type { ActionConfig } from "../../../data/lovelace/config/action"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { Statistic, StatisticType } from "../../../data/recorder"; +import type { TimeFormat } from "../../../data/translation"; import type { ForecastType } from "../../../data/weather"; import type { FullCalendarView, @@ -22,7 +22,7 @@ import type { } from "../entity-rows/types"; import type { LovelaceHeaderFooterConfig } from "../header-footer/types"; import type { LovelaceHeadingBadgeConfig } from "../heading-badges/types"; -import type { TimeFormat } from "../../../data/translation"; +import type { HassServiceTarget } from "home-assistant-js-websocket"; export type AlarmPanelCardConfigState = | "arm_away" diff --git a/src/panels/lovelace/common/check-lovelace-config.ts b/src/panels/lovelace/common/check-lovelace-config.ts index 5a79916bda..fba09a3b27 100644 --- a/src/panels/lovelace/common/check-lovelace-config.ts +++ b/src/panels/lovelace/common/check-lovelace-config.ts @@ -1,8 +1,9 @@ import type { LovelaceSectionRawConfig } from "../../../data/lovelace/config/section"; -import { isStrategySection } from "../../../data/lovelace/config/section"; import type { LovelaceRawConfig } from "../../../data/lovelace/config/types"; -import { isStrategyDashboard } from "../../../data/lovelace/config/types"; import type { LovelaceViewRawConfig } from "../../../data/lovelace/config/view"; + +import { isStrategySection } from "../../../data/lovelace/config/section"; +import { isStrategyDashboard } from "../../../data/lovelace/config/types"; import { isStrategyView } from "../../../data/lovelace/config/view"; export const checkLovelaceConfig = ( diff --git a/src/panels/lovelace/common/compute-card-grid-size.ts b/src/panels/lovelace/common/compute-card-grid-size.ts index 0b8d49f17d..11270f4efa 100644 --- a/src/panels/lovelace/common/compute-card-grid-size.ts +++ b/src/panels/lovelace/common/compute-card-grid-size.ts @@ -1,6 +1,7 @@ -import { conditionalClamp } from "../../../common/number/clamp"; import type { LovelaceGridOptions, LovelaceLayoutOptions } from "../types"; +import { conditionalClamp } from "../../../common/number/clamp"; + export const GRID_COLUMN_MULTIPLIER = 3; const multiplyBy = ( diff --git a/src/panels/lovelace/common/compute-card-size.ts b/src/panels/lovelace/common/compute-card-size.ts index 193618900c..09aa069cd0 100644 --- a/src/panels/lovelace/common/compute-card-size.ts +++ b/src/panels/lovelace/common/compute-card-size.ts @@ -1,7 +1,8 @@ -import { promiseTimeout } from "../../../common/util/promise-timeout"; import type { HuiCard } from "../cards/hui-card"; import type { LovelaceCard, LovelaceHeaderFooter } from "../types"; +import { promiseTimeout } from "../../../common/util/promise-timeout"; + export const computeCardSize = ( card: LovelaceCard | LovelaceHeaderFooter | HuiCard ): number | Promise => { diff --git a/src/panels/lovelace/common/compute-tooltip.ts b/src/panels/lovelace/common/compute-tooltip.ts index 6f758a046e..ee3f54316d 100644 --- a/src/panels/lovelace/common/compute-tooltip.ts +++ b/src/panels/lovelace/common/compute-tooltip.ts @@ -1,7 +1,8 @@ -import { computeStateName } from "../../../common/entity/compute_state_name"; import type { ActionConfig } from "../../../data/lovelace/config/action"; import type { HomeAssistant } from "../../../types"; +import { computeStateName } from "../../../common/entity/compute_state_name"; + interface Config { entity?: string; title?: string; diff --git a/src/panels/lovelace/common/confirm-action.ts b/src/panels/lovelace/common/confirm-action.ts index 98762159db..ad7eafb22c 100644 --- a/src/panels/lovelace/common/confirm-action.ts +++ b/src/panels/lovelace/common/confirm-action.ts @@ -1,7 +1,8 @@ import type { ConfirmationRestrictionConfig } from "../../../data/lovelace/config/action"; -import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import type { HomeAssistant } from "../../../types"; +import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; + export const confirmAction = async ( node: HTMLElement, hass: HomeAssistant, diff --git a/src/panels/lovelace/common/directives/action-handler-directive.ts b/src/panels/lovelace/common/directives/action-handler-directive.ts index 2b4fff7c92..e5640643df 100644 --- a/src/panels/lovelace/common/directives/action-handler-directive.ts +++ b/src/panels/lovelace/common/directives/action-handler-directive.ts @@ -1,13 +1,15 @@ /* eslint-disable max-classes-per-file */ -import { noChange } from "lit"; -import type { AttributePart, DirectiveParameters } from "lit/directive"; -import { directive, Directive } from "lit/directive"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { deepEqual } from "../../../../common/util/deep-equal"; import type { ActionHandlerDetail, ActionHandlerOptions, } from "../../../../data/lovelace/action_handler"; +import type { AttributePart, DirectiveParameters } from "lit/directive"; + +import { noChange } from "lit"; +import { directive, Directive } from "lit/directive"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { deepEqual } from "../../../../common/util/deep-equal"; import { isTouch } from "../../../../util/is_touch"; interface ActionHandlerType extends HTMLElement { diff --git a/src/panels/lovelace/common/entity/toggle-entity.ts b/src/panels/lovelace/common/entity/toggle-entity.ts index 7220c769f1..dcc8b563d0 100644 --- a/src/panels/lovelace/common/entity/toggle-entity.ts +++ b/src/panels/lovelace/common/entity/toggle-entity.ts @@ -1,5 +1,6 @@ -import { STATES_OFF } from "../../../../common/const"; import type { HomeAssistant, ServiceCallResponse } from "../../../../types"; + +import { STATES_OFF } from "../../../../common/const"; import { turnOnOffEntity } from "./turn-on-off-entity"; export const toggleEntity = ( diff --git a/src/panels/lovelace/common/entity/turn-on-off-entities.ts b/src/panels/lovelace/common/entity/turn-on-off-entities.ts index 709190eea8..116187bfef 100644 --- a/src/panels/lovelace/common/entity/turn-on-off-entities.ts +++ b/src/panels/lovelace/common/entity/turn-on-off-entities.ts @@ -1,6 +1,7 @@ +import type { HomeAssistant } from "../../../../types"; + import { STATES_OFF } from "../../../../common/const"; import { computeDomain } from "../../../../common/entity/compute_domain"; -import type { HomeAssistant } from "../../../../types"; export const turnOnOffEntities = ( hass: HomeAssistant, diff --git a/src/panels/lovelace/common/entity/turn-on-off-entity.ts b/src/panels/lovelace/common/entity/turn-on-off-entity.ts index 7c4909000c..d0bdbd5cca 100644 --- a/src/panels/lovelace/common/entity/turn-on-off-entity.ts +++ b/src/panels/lovelace/common/entity/turn-on-off-entity.ts @@ -1,6 +1,7 @@ -import { computeDomain } from "../../../../common/entity/compute_domain"; import type { HomeAssistant, ServiceCallResponse } from "../../../../types"; +import { computeDomain } from "../../../../common/entity/compute_domain"; + export const turnOnOffEntity = ( hass: HomeAssistant, entityId: string, diff --git a/src/panels/lovelace/common/find-entities.ts b/src/panels/lovelace/common/find-entities.ts index 8901ba4bb1..de46cce2cb 100644 --- a/src/panels/lovelace/common/find-entities.ts +++ b/src/panels/lovelace/common/find-entities.ts @@ -1,6 +1,7 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { computeDomain } from "../../../common/entity/compute_domain"; import type { HomeAssistant } from "../../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import { computeDomain } from "../../../common/entity/compute_domain"; const arrayFilter = ( array: any[], diff --git a/src/panels/lovelace/common/generate-lovelace-config.ts b/src/panels/lovelace/common/generate-lovelace-config.ts index 8e373cf384..34fe2e2c60 100644 --- a/src/panels/lovelace/common/generate-lovelace-config.ts +++ b/src/panels/lovelace/common/generate-lovelace-config.ts @@ -1,25 +1,15 @@ -import type { HassEntities, HassEntity } from "home-assistant-js-websocket"; -import { SENSOR_ENTITIES, ASSIST_ENTITIES } from "../../../common/const"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import { computeStateDomain } from "../../../common/entity/compute_state_domain"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import { splitByGroups } from "../../../common/entity/split_by_groups"; -import { stripPrefixFromEntityName } from "../../../common/entity/strip_prefix_from_entity_name"; -import { stringCompare } from "../../../common/string/compare"; import type { LocalizeFunc } from "../../../common/translations/localize"; import type { AreasDisplayValue } from "../../../components/ha-areas-display-editor"; -import { areaCompare } from "../../../data/area_registry"; import type { EnergyPreferences, GridSourceTypeEnergyPreference, } from "../../../data/energy"; -import { domainToName } from "../../../data/integration"; +import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; -import { computeUserInitials } from "../../../data/user"; import type { HomeAssistant } from "../../../types"; -import { HELPER_DOMAINS } from "../../config/helpers/const"; +import type { EntityBadgeConfig } from "../badges/types"; import type { AlarmPanelCardConfig, EntitiesCardConfig, @@ -31,8 +21,19 @@ import type { } from "../cards/types"; import type { EntityConfig } from "../entity-rows/types"; import type { ButtonsHeaderFooterConfig } from "../header-footer/types"; -import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; -import type { EntityBadgeConfig } from "../badges/types"; +import type { HassEntities, HassEntity } from "home-assistant-js-websocket"; + +import { SENSOR_ENTITIES, ASSIST_ENTITIES } from "../../../common/const"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateDomain } from "../../../common/entity/compute_state_domain"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { splitByGroups } from "../../../common/entity/split_by_groups"; +import { stripPrefixFromEntityName } from "../../../common/entity/strip_prefix_from_entity_name"; +import { stringCompare } from "../../../common/string/compare"; +import { areaCompare } from "../../../data/area_registry"; +import { domainToName } from "../../../data/integration"; +import { computeUserInitials } from "../../../data/user"; +import { HELPER_DOMAINS } from "../../config/helpers/const"; const HIDE_DOMAIN = new Set([ "automation", diff --git a/src/panels/lovelace/common/graph/coordinates.ts b/src/panels/lovelace/common/graph/coordinates.ts index 39f2fb7960..754e333d31 100644 --- a/src/panels/lovelace/common/graph/coordinates.ts +++ b/src/panels/lovelace/common/graph/coordinates.ts @@ -1,6 +1,7 @@ -import { strokeWidth } from "../../../../data/graph"; import type { EntityHistoryState } from "../../../../data/history"; +import { strokeWidth } from "../../../../data/graph"; + const average = (items: any[]): number => items.reduce((sum, entry) => sum + parseFloat(entry.state), 0) / items.length; diff --git a/src/panels/lovelace/common/handle-action.ts b/src/panels/lovelace/common/handle-action.ts index 7434f75f5d..9f275f0869 100644 --- a/src/panels/lovelace/common/handle-action.ts +++ b/src/panels/lovelace/common/handle-action.ts @@ -1,11 +1,12 @@ +import type { ActionConfig } from "../../../data/lovelace/config/action"; +import type { HomeAssistant } from "../../../types"; + import { fireEvent } from "../../../common/dom/fire_event"; import { navigate } from "../../../common/navigate"; import { forwardHaptic } from "../../../data/haptics"; import { domainToName } from "../../../data/integration"; -import type { ActionConfig } from "../../../data/lovelace/config/action"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { showVoiceCommandDialog } from "../../../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; -import type { HomeAssistant } from "../../../types"; import { showToast } from "../../../util/toast"; import { toggleEntity } from "./entity/toggle-entity"; diff --git a/src/panels/lovelace/common/has-changed.ts b/src/panels/lovelace/common/has-changed.ts index 8f3005f6b1..b443ac28cb 100644 --- a/src/panels/lovelace/common/has-changed.ts +++ b/src/panels/lovelace/common/has-changed.ts @@ -1,7 +1,8 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import type { EntityRegistryDisplayEntry } from "../../../data/entity_registry"; import type { HomeAssistant } from "../../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + import { processConfigEntities } from "./process-config-entities"; export function hasConfigChanged( diff --git a/src/panels/lovelace/common/icon-condition.ts b/src/panels/lovelace/common/icon-condition.ts index 12341d69c5..f1bbc9a0d8 100644 --- a/src/panels/lovelace/common/icon-condition.ts +++ b/src/panels/lovelace/common/icon-condition.ts @@ -1,3 +1,5 @@ +import type { Condition } from "./validate-condition"; + import { mdiAccount, mdiAmpersand, @@ -6,7 +8,6 @@ import { mdiResponsive, mdiStateMachine, } from "@mdi/js"; -import type { Condition } from "./validate-condition"; export const ICON_CONDITION: Record = { numeric_state: mdiNumeric, diff --git a/src/panels/lovelace/common/load-resources.ts b/src/panels/lovelace/common/load-resources.ts index 7fcd856588..3750d2b96e 100644 --- a/src/panels/lovelace/common/load-resources.ts +++ b/src/panels/lovelace/common/load-resources.ts @@ -1,7 +1,8 @@ -import { loadCSS, loadJS, loadModule } from "../../../common/dom/load_resource"; import type { LovelaceResource } from "../../../data/lovelace/resource"; import type { HomeAssistant } from "../../../types"; +import { loadCSS, loadJS, loadModule } from "../../../common/dom/load_resource"; + // CSS and JS should only be imported once. Modules and HTML are safe. const CSS_CACHE = {}; const JS_CACHE = {}; diff --git a/src/panels/lovelace/common/process-config-entities.ts b/src/panels/lovelace/common/process-config-entities.ts index c51e28ebf8..e128b6d426 100644 --- a/src/panels/lovelace/common/process-config-entities.ts +++ b/src/panels/lovelace/common/process-config-entities.ts @@ -1,6 +1,7 @@ +import type { EntityConfig, LovelaceRowConfig } from "../entity-rows/types"; + // Parse array of entity objects from config import { isValidEntityId } from "../../../common/entity/valid_entity_id"; -import type { EntityConfig, LovelaceRowConfig } from "../entity-rows/types"; export const processConfigEntities = < T extends EntityConfig | LovelaceRowConfig, diff --git a/src/panels/lovelace/common/validate-condition.ts b/src/panels/lovelace/common/validate-condition.ts index c71ca4ea68..b05f5f5e8c 100644 --- a/src/panels/lovelace/common/validate-condition.ts +++ b/src/panels/lovelace/common/validate-condition.ts @@ -1,9 +1,10 @@ -import { ensureArray } from "../../../common/array/ensure-array"; import type { MediaQueriesListener } from "../../../common/dom/media_query"; +import type { HomeAssistant } from "../../../types"; + +import { ensureArray } from "../../../common/array/ensure-array"; import { listenMediaQuery } from "../../../common/dom/media_query"; import { isValidEntityId } from "../../../common/entity/valid_entity_id"; import { UNKNOWN } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; export type Condition = | NumericStateCondition diff --git a/src/panels/lovelace/components/hui-action-editor.ts b/src/panels/lovelace/components/hui-action-editor.ts index cd1f466840..fd4ad4b17c 100644 --- a/src/panels/lovelace/components/hui-action-editor.ts +++ b/src/panels/lovelace/components/hui-action-editor.ts @@ -1,17 +1,8 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import "../../../components/ha-assist-pipeline-picker"; import type { HaFormSchema, SchemaUnion, } from "../../../components/ha-form/types"; -import "../../../components/ha-help-tooltip"; -import "../../../components/ha-navigation-picker"; -import "../../../components/ha-service-control"; +import type { HaSelect } from "../../../components/ha-select"; import type { ActionConfig, CallServiceActionConfig, @@ -21,7 +12,19 @@ import type { import type { ServiceAction } from "../../../data/script"; import type { HomeAssistant } from "../../../types"; import type { EditorTarget } from "../editor/types"; -import type { HaSelect } from "../../../components/ha-select"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-assist-pipeline-picker"; +import "../../../components/ha-help-tooltip"; +import "../../../components/ha-navigation-picker"; +import "../../../components/ha-service-control"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { stopPropagation } from "../../../common/dom/stop_propagation"; export type UiAction = Exclude; diff --git a/src/panels/lovelace/components/hui-badge-edit-mode.ts b/src/panels/lovelace/components/hui-badge-edit-mode.ts index c765b3e8a5..25a480ca2e 100644 --- a/src/panels/lovelace/components/hui-badge-edit-mode.ts +++ b/src/panels/lovelace/components/hui-badge-edit-mode.ts @@ -1,4 +1,15 @@ +import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardPath } from "../editor/lovelace-path"; +import type { Lovelace } from "../types"; import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-svg-icon"; + import { mdiContentCopy, mdiContentCut, @@ -8,28 +19,20 @@ import { mdiPlusCircleMultipleOutline, } from "@mdi/js"; import deepClone from "deep-clone-simple"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { storage } from "../../../common/decorators/storage"; import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; import { ensureBadgeConfig } from "../../../data/lovelace/config/badge"; -import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { showEditBadgeDialog } from "../editor/badge-editor/show-edit-badge-dialog"; -import type { LovelaceCardPath } from "../editor/lovelace-path"; import { findLovelaceItems, getLovelaceContainerPath, parseLovelaceCardPath, } from "../editor/lovelace-path"; -import type { Lovelace } from "../types"; @customElement("hui-badge-edit-mode") export class HuiBadgeEditMode extends LitElement { diff --git a/src/panels/lovelace/components/hui-buttons-base.ts b/src/panels/lovelace/components/hui-buttons-base.ts index 202f8a1949..7ebdfdeab2 100644 --- a/src/panels/lovelace/components/hui-buttons-base.ts +++ b/src/panels/lovelace/components/hui-buttons-base.ts @@ -1,18 +1,21 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, state, property } from "lit/decorators"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/entity/state-badge"; import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; import type { HomeAssistant } from "../../../types"; import type { EntitiesCardEntityConfig } from "../cards/types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/chips/ha-assist-chip"; +import "../../../components/chips/ha-chip-set"; +import "../../../components/entity/state-badge"; + +import { css, html, LitElement } from "lit"; +import { customElement, state, property } from "lit/decorators"; + +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { haStyleScrollbar } from "../../../resources/styles"; import { computeTooltip } from "../common/compute-tooltip"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import "../../../components/chips/ha-assist-chip"; -import "../../../components/chips/ha-chip-set"; -import { haStyleScrollbar } from "../../../resources/styles"; @customElement("hui-buttons-base") export class HuiButtonsBase extends LitElement { diff --git a/src/panels/lovelace/components/hui-card-edit-mode.ts b/src/panels/lovelace/components/hui-card-edit-mode.ts index 0711cf5849..8d3547a65d 100644 --- a/src/panels/lovelace/components/hui-card-edit-mode.ts +++ b/src/panels/lovelace/components/hui-card-edit-mode.ts @@ -1,3 +1,13 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceCardPath } from "../editor/lovelace-path"; +import type { Lovelace } from "../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "../../../components/ha-svg-icon"; + import { mdiContentCopy, mdiContentCut, @@ -7,19 +17,12 @@ import { mdiPencil, mdiPlusCircleMultipleOutline, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import "../../../components/ha-svg-icon"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceCardPath } from "../editor/lovelace-path"; -import type { Lovelace } from "../types"; @customElement("hui-card-edit-mode") export class HuiCardEditMode extends LitElement { diff --git a/src/panels/lovelace/components/hui-card-options.ts b/src/panels/lovelace/components/hui-card-options.ts index 3f3f1a91ad..9ca2214942 100644 --- a/src/panels/lovelace/components/hui-card-options.ts +++ b/src/panels/lovelace/components/hui-card-options.ts @@ -1,5 +1,15 @@ -import "@material/mwc-button"; +import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; +import type { HomeAssistant } from "../../../types"; +import type { Lovelace, LovelaceCard } from "../types"; import type { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-card"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-list-item"; +import "@material/mwc-button"; + import { mdiContentCopy, mdiContentCut, @@ -10,16 +20,11 @@ import { mdiPlus, mdiPlusCircleMultipleOutline, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, queryAssignedNodes } from "lit/decorators"; + import { storage } from "../../../common/decorators/storage"; import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-card"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-list-item"; -import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import { saveConfig } from "../../../data/lovelace/config/types"; import { isStrategyView } from "../../../data/lovelace/config/view"; import { @@ -27,7 +32,6 @@ import { showPromptDialog, } from "../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { computeCardSize } from "../common/compute-card-size"; import { addCard, @@ -43,7 +47,6 @@ import { parseLovelaceCardPath, } from "../editor/lovelace-path"; import { showSelectViewDialog } from "../editor/select-view/show-select-view-dialog"; -import type { Lovelace, LovelaceCard } from "../types"; @customElement("hui-card-options") export class HuiCardOptions extends LitElement { diff --git a/src/panels/lovelace/components/hui-conditional-base.ts b/src/panels/lovelace/components/hui-conditional-base.ts index 0d5249ee06..567f13dbcf 100644 --- a/src/panels/lovelace/components/hui-conditional-base.ts +++ b/src/panels/lovelace/components/hui-conditional-base.ts @@ -1,19 +1,21 @@ -import type { PropertyValues } from "lit"; -import { ReactiveElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { MediaQueriesListener } from "../../../common/dom/media_query"; -import { deepEqual } from "../../../common/util/deep-equal"; import type { HomeAssistant } from "../../../types"; import type { HuiCard } from "../cards/hui-card"; import type { ConditionalCardConfig } from "../cards/types"; import type { Condition } from "../common/validate-condition"; +import type { ConditionalRowConfig, LovelaceRow } from "../entity-rows/types"; +import type { PropertyValues } from "lit"; + +import { ReactiveElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { deepEqual } from "../../../common/util/deep-equal"; import { attachConditionMediaQueriesListeners, checkConditionsMet, extractMediaQueries, validateConditionalConfig, } from "../common/validate-condition"; -import type { ConditionalRowConfig, LovelaceRow } from "../entity-rows/types"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/components/hui-energy-period-selector.ts b/src/panels/lovelace/components/hui-energy-period-selector.ts index 08f136e088..6fea77e555 100644 --- a/src/panels/lovelace/components/hui-energy-period-selector.ts +++ b/src/panels/lovelace/components/hui-energy-period-selector.ts @@ -1,5 +1,18 @@ -import "@material/mwc-button/mwc-button"; +import type { DateRange } from "../../../common/datetime/calc_date_range"; +import type { DateRangePickerRanges } from "../../../components/ha-date-range-picker"; +import type { EnergyData } from "../../../data/energy"; +import type { HomeAssistant } from "../../../types"; import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; +import type { UnsubscribeFunc } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-button-menu"; +import "../../../components/ha-check-list-item"; +import "../../../components/ha-date-range-picker"; +import "../../../components/ha-icon-button-next"; +import "../../../components/ha-icon-button-prev"; +import "@material/mwc-button/mwc-button"; + import { mdiDotsVertical } from "@mdi/js"; import { differenceInDays, @@ -13,17 +26,17 @@ import { startOfWeek, subDays, } from "date-fns"; -import type { UnsubscribeFunc } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { calcDate, calcDateProperty, calcDateDifferenceProperty, shiftDateRange, } from "../../../common/datetime/calc_date"; +import { calcDateRange } from "../../../common/datetime/calc_date_range"; import { firstWeekdayIndex } from "../../../common/datetime/first_weekday"; import { formatDate, @@ -33,18 +46,8 @@ import { formatDateYear, } from "../../../common/datetime/format_date"; import { debounce } from "../../../common/util/debounce"; -import "../../../components/ha-button-menu"; -import "../../../components/ha-check-list-item"; -import "../../../components/ha-date-range-picker"; -import type { DateRangePickerRanges } from "../../../components/ha-date-range-picker"; -import "../../../components/ha-icon-button-next"; -import "../../../components/ha-icon-button-prev"; -import type { EnergyData } from "../../../data/energy"; import { getEnergyDataCollection } from "../../../data/energy"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../../types"; -import { calcDateRange } from "../../../common/datetime/calc_date_range"; -import type { DateRange } from "../../../common/datetime/calc_date_range"; const RANGE_KEYS: DateRange[] = [ "today", diff --git a/src/panels/lovelace/components/hui-entities-toggle.ts b/src/panels/lovelace/components/hui-entities-toggle.ts index 76a2758698..31fe0fbc42 100644 --- a/src/panels/lovelace/components/hui-entities-toggle.ts +++ b/src/panels/lovelace/components/hui-entities-toggle.ts @@ -1,11 +1,14 @@ +import type { HaSwitch } from "../../../components/ha-switch"; +import type { HomeAssistant } from "../../../types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-switch"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { DOMAINS_TOGGLE } from "../../../common/const"; -import "../../../components/ha-switch"; -import type { HaSwitch } from "../../../components/ha-switch"; import { forwardHaptic } from "../../../data/haptics"; -import type { HomeAssistant } from "../../../types"; import { turnOnOffEntities } from "../common/entity/turn-on-off-entities"; @customElement("hui-entities-toggle") diff --git a/src/panels/lovelace/components/hui-entity-editor.ts b/src/panels/lovelace/components/hui-entity-editor.ts index 7e77ffa041..05fb12079e 100644 --- a/src/panels/lovelace/components/hui-entity-editor.ts +++ b/src/panels/lovelace/components/hui-entity-editor.ts @@ -1,18 +1,21 @@ -import { mdiDrag } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/entity/ha-entity-picker"; import type { HaEntityPicker, HaEntityPickerEntityFilterFunc, } from "../../../components/entity/ha-entity-picker"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-sortable"; import type { HomeAssistant } from "../../../types"; import type { EntityConfig } from "../entity-rows/types"; +import "../../../components/entity/ha-entity-picker"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-sortable"; + +import { mdiDrag } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { fireEvent } from "../../../common/dom/fire_event"; + @customElement("hui-entity-editor") export class HuiEntityEditor extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/panels/lovelace/components/hui-generic-entity-row.ts b/src/panels/lovelace/components/hui-generic-entity-row.ts index 441126240d..b11e5785d8 100644 --- a/src/panels/lovelace/components/hui-generic-entity-row.ts +++ b/src/panels/lovelace/components/hui-generic-entity-row.ts @@ -1,17 +1,20 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { EntitiesCardEntityConfig } from "../cards/types"; import type { PropertyValues } from "lit"; + +import "../../../components/entity/state-badge"; +import "../../../components/ha-relative-time"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; + import { DOMAINS_INPUT_ROW } from "../../../common/const"; import { toggleAttribute } from "../../../common/dom/toggle_attribute"; import { computeDomain } from "../../../common/entity/compute_domain"; import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/entity/state-badge"; -import "../../../components/ha-relative-time"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; -import type { EntitiesCardEntityConfig } from "../cards/types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction, hasAnyAction } from "../common/has-action"; diff --git a/src/panels/lovelace/components/hui-graph-base.ts b/src/panels/lovelace/components/hui-graph-base.ts index e82f9e8548..40e5b1bdb2 100644 --- a/src/panels/lovelace/components/hui-graph-base.ts +++ b/src/panels/lovelace/components/hui-graph-base.ts @@ -1,6 +1,8 @@ import type { PropertyValues, TemplateResult } from "lit"; + import { css, html, LitElement, svg } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { strokeWidth } from "../../../data/graph"; import { getPath } from "../common/graph/get-path"; diff --git a/src/panels/lovelace/components/hui-image.ts b/src/panels/lovelace/components/hui-image.ts index 1cf23eb329..c5045252b1 100644 --- a/src/panels/lovelace/components/hui-image.ts +++ b/src/panels/lovelace/components/hui-image.ts @@ -1,20 +1,23 @@ +import type { HaCameraStream } from "../../../components/ha-camera-stream"; +import type { CameraEntity } from "../../../data/camera"; +import type { ImageEntity } from "../../../data/image"; +import type { HomeAssistant } from "../../../types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-camera-stream"; +import "../../../components/ha-spinner"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { STATES_OFF } from "../../../common/const"; import { computeDomain } from "../../../common/entity/compute_domain"; import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; -import "../../../components/ha-camera-stream"; -import type { HaCameraStream } from "../../../components/ha-camera-stream"; -import "../../../components/ha-spinner"; -import type { CameraEntity } from "../../../data/camera"; import { fetchThumbnailUrlWithCache } from "../../../data/camera"; import { UNAVAILABLE } from "../../../data/entity"; -import type { ImageEntity } from "../../../data/image"; import { computeImageUrl } from "../../../data/image"; -import type { HomeAssistant } from "../../../types"; const UPDATE_INTERVAL = 10000; const DEFAULT_FILTER = "grayscale(100%)"; diff --git a/src/panels/lovelace/components/hui-marquee.ts b/src/panels/lovelace/components/hui-marquee.ts index 4cf37569f9..8df5b96813 100644 --- a/src/panels/lovelace/components/hui-marquee.ts +++ b/src/panels/lovelace/components/hui-marquee.ts @@ -1,4 +1,5 @@ import type { PropertyValues } from "lit"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; diff --git a/src/panels/lovelace/components/hui-timestamp-display.ts b/src/panels/lovelace/components/hui-timestamp-display.ts index cc7ed22f47..7b014064a2 100644 --- a/src/panels/lovelace/components/hui-timestamp-display.ts +++ b/src/panels/lovelace/components/hui-timestamp-display.ts @@ -1,15 +1,17 @@ +import type { FrontendLocaleData } from "../../../data/translation"; +import type { HomeAssistant } from "../../../types"; +import type { TimestampRenderingFormat } from "./types"; import type { HassConfig } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { formatDate } from "../../../common/datetime/format_date"; import { formatDateTime } from "../../../common/datetime/format_date_time"; import { formatTime } from "../../../common/datetime/format_time"; import { relativeTime } from "../../../common/datetime/relative_time"; import { capitalizeFirstLetter } from "../../../common/string/capitalize-first-letter"; -import type { FrontendLocaleData } from "../../../data/translation"; -import type { HomeAssistant } from "../../../types"; -import type { TimestampRenderingFormat } from "./types"; const FORMATS: Record< string, diff --git a/src/panels/lovelace/components/hui-warning-element.ts b/src/panels/lovelace/components/hui-warning-element.ts index b8a9e86097..7465adbee6 100644 --- a/src/panels/lovelace/components/hui-warning-element.ts +++ b/src/panels/lovelace/components/hui-warning-element.ts @@ -1,8 +1,10 @@ -import { mdiAlertOutline } from "@mdi/js"; import type { TemplateResult } from "lit"; + +import "../../../components/ha-svg-icon"; + +import { mdiAlertOutline } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../../components/ha-svg-icon"; @customElement("hui-warning-element") export class HuiWarningElement extends LitElement { diff --git a/src/panels/lovelace/components/hui-warning.ts b/src/panels/lovelace/components/hui-warning.ts index 3d464a0e6d..80edd7aae5 100644 --- a/src/panels/lovelace/components/hui-warning.ts +++ b/src/panels/lovelace/components/hui-warning.ts @@ -1,9 +1,11 @@ -import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; +import type { HomeAssistant } from "../../../types"; import type { TemplateResult } from "lit"; + +import "../../../components/ha-alert"; + +import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; import { html, LitElement } from "lit"; import { customElement } from "lit/decorators"; -import "../../../components/ha-alert"; -import type { HomeAssistant } from "../../../types"; export const createEntityNotFoundWarning = ( hass: HomeAssistant, diff --git a/src/panels/lovelace/create-element/create-badge-element.ts b/src/panels/lovelace/create-element/create-badge-element.ts index 15d7b45cdd..45963ad409 100644 --- a/src/panels/lovelace/create-element/create-badge-element.ts +++ b/src/panels/lovelace/create-element/create-badge-element.ts @@ -1,5 +1,7 @@ import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; + import "../badges/hui-entity-badge"; + import { createLovelaceElement, getLovelaceElementClass, diff --git a/src/panels/lovelace/create-element/create-card-element.ts b/src/panels/lovelace/create-element/create-card-element.ts index 8a4920376f..a0cd863b89 100644 --- a/src/panels/lovelace/create-element/create-card-element.ts +++ b/src/panels/lovelace/create-element/create-card-element.ts @@ -1,16 +1,18 @@ import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; -import "../cards/hui-entity-card"; -import "../cards/hui-entities-card"; + import "../cards/hui-button-card"; +import "../cards/hui-entities-card"; import "../cards/hui-entity-button-card"; +import "../cards/hui-entity-card"; import "../cards/hui-glance-card"; import "../cards/hui-grid-card"; +import "../cards/hui-heading-card"; import "../cards/hui-light-card"; import "../cards/hui-sensor-card"; import "../cards/hui-thermostat-card"; -import "../cards/hui-weather-forecast-card"; import "../cards/hui-tile-card"; -import "../cards/hui-heading-card"; +import "../cards/hui-weather-forecast-card"; + import { createLovelaceElement, getLovelaceElementClass, diff --git a/src/panels/lovelace/create-element/create-card-feature-element.ts b/src/panels/lovelace/create-element/create-card-feature-element.ts index 31ce2eccd5..4938fc15b8 100644 --- a/src/panels/lovelace/create-element/create-card-feature-element.ts +++ b/src/panels/lovelace/create-element/create-card-feature-element.ts @@ -1,9 +1,11 @@ +import type { LovelaceCardFeatureConfig } from "../card-features/types"; + import "../card-features/hui-alarm-modes-card-feature"; import "../card-features/hui-climate-fan-modes-card-feature"; -import "../card-features/hui-climate-swing-modes-card-feature"; -import "../card-features/hui-climate-swing-horizontal-modes-card-feature"; import "../card-features/hui-climate-hvac-modes-card-feature"; import "../card-features/hui-climate-preset-modes-card-feature"; +import "../card-features/hui-climate-swing-horizontal-modes-card-feature"; +import "../card-features/hui-climate-swing-modes-card-feature"; import "../card-features/hui-counter-actions-card-feature"; import "../card-features/hui-cover-open-close-card-feature"; import "../card-features/hui-cover-position-card-feature"; @@ -21,14 +23,13 @@ import "../card-features/hui-lock-open-door-card-feature"; import "../card-features/hui-media-player-volume-slider-card-feature"; import "../card-features/hui-numeric-input-card-feature"; import "../card-features/hui-select-options-card-feature"; -import "../card-features/hui-target-temperature-card-feature"; import "../card-features/hui-target-humidity-card-feature"; +import "../card-features/hui-target-temperature-card-feature"; import "../card-features/hui-toggle-card-feature"; import "../card-features/hui-update-actions-card-feature"; import "../card-features/hui-vacuum-commands-card-feature"; import "../card-features/hui-water-heater-operation-modes-card-feature"; -import type { LovelaceCardFeatureConfig } from "../card-features/types"; import { createLovelaceElement, getLovelaceElementClass, diff --git a/src/panels/lovelace/create-element/create-element-base.ts b/src/panels/lovelace/create-element/create-element-base.ts index d509c18a85..8dc75f5b93 100644 --- a/src/panels/lovelace/create-element/create-element-base.ts +++ b/src/panels/lovelace/create-element/create-element-base.ts @@ -1,4 +1,3 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { LovelaceSectionElement, LovelaceViewElement, @@ -7,10 +6,6 @@ import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; -import { - isCustomType, - stripCustomPrefix, -} from "../../../data/lovelace_custom_cards"; import type { LovelaceCardFeatureConfig } from "../card-features/types"; import type { ErrorCardConfig } from "../cards/types"; import type { LovelaceElement, LovelaceElementConfig } from "../elements/types"; @@ -32,6 +27,12 @@ import type { LovelaceRowConstructor, } from "../types"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { + isCustomType, + stripCustomPrefix, +} from "../../../data/lovelace_custom_cards"; + const TIMEOUT = 2000; interface CreateElementConfigTypes { diff --git a/src/panels/lovelace/create-element/create-header-footer-element.ts b/src/panels/lovelace/create-element/create-header-footer-element.ts index bb18e3373c..abdb3b754f 100644 --- a/src/panels/lovelace/create-element/create-header-footer-element.ts +++ b/src/panels/lovelace/create-element/create-header-footer-element.ts @@ -1,4 +1,5 @@ import type { LovelaceHeaderFooterConfig } from "../header-footer/types"; + import { createLovelaceElement, getLovelaceElementClass, diff --git a/src/panels/lovelace/create-element/create-heading-badge-element.ts b/src/panels/lovelace/create-element/create-heading-badge-element.ts index 282359295a..4311f5a8ea 100644 --- a/src/panels/lovelace/create-element/create-heading-badge-element.ts +++ b/src/panels/lovelace/create-element/create-heading-badge-element.ts @@ -1,10 +1,11 @@ +import type { LovelaceHeadingBadgeConfig } from "../heading-badges/types"; + import "../heading-badges/hui-entity-heading-badge"; import { createLovelaceElement, getLovelaceElementClass, } from "./create-element-base"; -import type { LovelaceHeadingBadgeConfig } from "../heading-badges/types"; const ALWAYS_LOADED_TYPES = new Set(["error", "entity"]); diff --git a/src/panels/lovelace/create-element/create-hui-element.ts b/src/panels/lovelace/create-element/create-hui-element.ts index c2d1b40d67..458321605c 100644 --- a/src/panels/lovelace/create-element/create-hui-element.ts +++ b/src/panels/lovelace/create-element/create-hui-element.ts @@ -1,3 +1,5 @@ +import type { LovelaceElementConfig } from "../elements/types"; + import "../elements/hui-conditional-element"; import "../elements/hui-icon-element"; import "../elements/hui-image-element"; @@ -5,7 +7,7 @@ import "../elements/hui-service-button-element"; import "../elements/hui-state-badge-element"; import "../elements/hui-state-icon-element"; import "../elements/hui-state-label-element"; -import type { LovelaceElementConfig } from "../elements/types"; + import { createLovelaceElement } from "./create-element-base"; const ALWAYS_LOADED_TYPES = new Set([ diff --git a/src/panels/lovelace/create-element/create-picture-element.ts b/src/panels/lovelace/create-element/create-picture-element.ts index d9c8ee268a..5347307fb2 100644 --- a/src/panels/lovelace/create-element/create-picture-element.ts +++ b/src/panels/lovelace/create-element/create-picture-element.ts @@ -1,3 +1,5 @@ +import type { LovelaceElementConfig } from "../elements/types"; + import "../elements/hui-conditional-element"; import "../elements/hui-icon-element"; import "../elements/hui-image-element"; @@ -5,7 +7,7 @@ import "../elements/hui-service-button-element"; import "../elements/hui-state-badge-element"; import "../elements/hui-state-icon-element"; import "../elements/hui-state-label-element"; -import type { LovelaceElementConfig } from "../elements/types"; + import { createLovelaceElement, getLovelaceElementClass, diff --git a/src/panels/lovelace/create-element/create-row-element.ts b/src/panels/lovelace/create-element/create-row-element.ts index 64ee313069..34ddd0f9ff 100644 --- a/src/panels/lovelace/create-element/create-row-element.ts +++ b/src/panels/lovelace/create-element/create-row-element.ts @@ -1,3 +1,5 @@ +import type { LovelaceRowConfig } from "../entity-rows/types"; + import "../entity-rows/hui-event-entity-row"; import "../entity-rows/hui-media-player-entity-row"; import "../entity-rows/hui-scene-entity-row"; @@ -5,10 +7,10 @@ import "../entity-rows/hui-script-entity-row"; import "../entity-rows/hui-sensor-entity-row"; import "../entity-rows/hui-simple-entity-row"; import "../entity-rows/hui-toggle-entity-row"; -import type { LovelaceRowConfig } from "../entity-rows/types"; import "../special-rows/hui-attribute-row"; import "../special-rows/hui-button-row"; import "../special-rows/hui-call-service-row"; + import { createLovelaceElement, getLovelaceElementClass, diff --git a/src/panels/lovelace/create-element/create-section-element.ts b/src/panels/lovelace/create-element/create-section-element.ts index bdfaca27fd..b59f4f9c9d 100644 --- a/src/panels/lovelace/create-element/create-section-element.ts +++ b/src/panels/lovelace/create-element/create-section-element.ts @@ -1,7 +1,9 @@ import type { LovelaceSectionElement } from "../../../data/lovelace"; import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; import type { HuiErrorCard } from "../cards/hui-error-card"; + import "../sections/hui-grid-section"; + import { createLovelaceElement } from "./create-element-base"; const ALWAYS_LOADED_LAYOUTS = new Set(["grid"]); diff --git a/src/panels/lovelace/create-element/create-view-element.ts b/src/panels/lovelace/create-element/create-view-element.ts index d0b0edc668..98b191140f 100644 --- a/src/panels/lovelace/create-element/create-view-element.ts +++ b/src/panels/lovelace/create-element/create-view-element.ts @@ -1,7 +1,9 @@ import type { LovelaceViewElement } from "../../../data/lovelace"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; import type { HuiErrorCard } from "../cards/hui-error-card"; + import "../views/hui-masonry-view"; + import { createLovelaceElement } from "./create-element-base"; const ALWAYS_LOADED_LAYOUTS = new Set(["masonry"]); diff --git a/src/panels/lovelace/editor/add-entities-to-view.ts b/src/panels/lovelace/editor/add-entities-to-view.ts index 39b8d4152c..6152c7856c 100644 --- a/src/panels/lovelace/editor/add-entities-to-view.ts +++ b/src/panels/lovelace/editor/add-entities-to-view.ts @@ -2,10 +2,11 @@ import type { LovelacePanelConfig } from "../../../data/lovelace"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; import type { LovelaceConfig } from "../../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../../types"; + import { fetchConfig, saveConfig } from "../../../data/lovelace/config/types"; import { fetchDashboards } from "../../../data/lovelace/dashboard"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../types"; import { showSuggestCardDialog } from "./card-editor/show-suggest-card-dialog"; import { showSelectViewDialog } from "./select-view/show-select-view-dialog"; diff --git a/src/panels/lovelace/editor/badge-editor/hui-badge-element-editor.ts b/src/panels/lovelace/editor/badge-editor/hui-badge-element-editor.ts index d130e37016..fa7a14b78f 100644 --- a/src/panels/lovelace/editor/badge-editor/hui-badge-element-editor.ts +++ b/src/panels/lovelace/editor/badge-editor/hui-badge-element-editor.ts @@ -1,13 +1,16 @@ +import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; +import type { LovelaceCardEditor, LovelaceConfigForm } from "../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "./hui-badge-visibility-editor"; import "@material/mwc-tab-bar/mwc-tab-bar"; import "@material/mwc-tab/mwc-tab"; -import type { CSSResultGroup, TemplateResult } from "lit"; + import { css, html, nothing } from "lit"; import { customElement, state } from "lit/decorators"; -import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; + import { getBadgeElementClass } from "../../create-element/create-badge-element"; -import type { LovelaceCardEditor, LovelaceConfigForm } from "../../types"; import { HuiTypedElementEditor } from "../hui-typed-element-editor"; -import "./hui-badge-visibility-editor"; const tabs = ["config", "visibility"] as const; diff --git a/src/panels/lovelace/editor/badge-editor/hui-badge-picker.ts b/src/panels/lovelace/editor/badge-editor/hui-badge-picker.ts index 1e720a4632..178810026f 100644 --- a/src/panels/lovelace/editor/badge-editor/hui-badge-picker.ts +++ b/src/panels/lovelace/editor/badge-editor/hui-badge-picker.ts @@ -1,36 +1,39 @@ +import type { CustomBadgeEntry } from "../../../../data/lovelace_custom_cards"; +import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; +import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceBadge } from "../../types"; +import type { Badge, BadgePickTarget } from "../types"; import type { IFuseOptions } from "fuse.js"; -import Fuse from "fuse.js"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../components/ha-spinner"; +import "../../../../components/search-input"; + +import Fuse from "fuse.js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; import { until } from "lit/directives/until"; import memoizeOne from "memoize-one"; + import { storage } from "../../../../common/decorators/storage"; import { fireEvent } from "../../../../common/dom/fire_event"; import { stringCompare } from "../../../../common/string/compare"; -import "../../../../components/ha-spinner"; -import "../../../../components/search-input"; import { isUnavailableState } from "../../../../data/entity"; -import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; -import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; -import type { CustomBadgeEntry } from "../../../../data/lovelace_custom_cards"; import { CUSTOM_TYPE_PREFIX, customBadges, getCustomBadgeEntry, } from "../../../../data/lovelace_custom_cards"; -import type { HomeAssistant } from "../../../../types"; import { calcUnusedEntities, computeUsedEntities, } from "../../common/compute-unused-entities"; import { tryCreateBadgeElement } from "../../create-element/create-badge-element"; -import type { LovelaceBadge } from "../../types"; import { getBadgeStubConfig } from "../get-badge-stub-config"; import { coreBadges } from "../lovelace-badges"; -import type { Badge, BadgePickTarget } from "../types"; interface BadgeElement { badge: Badge; diff --git a/src/panels/lovelace/editor/badge-editor/hui-badge-visibility-editor.ts b/src/panels/lovelace/editor/badge-editor/hui-badge-visibility-editor.ts index aed9c1d53b..8c2b0d0780 100644 --- a/src/panels/lovelace/editor/badge-editor/hui-badge-visibility-editor.ts +++ b/src/panels/lovelace/editor/badge-editor/hui-badge-visibility-editor.ts @@ -1,12 +1,15 @@ -import { LitElement, html, css } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-alert"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../../types"; import type { Condition } from "../../common/validate-condition"; + +import "../../../../components/ha-alert"; import "../conditions/ha-card-conditions-editor"; +import { LitElement, html, css } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + @customElement("hui-badge-visibility-editor") export class HuiBadgeVisibilityEditor extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/lovelace/editor/badge-editor/hui-dialog-create-badge.ts b/src/panels/lovelace/editor/badge-editor/hui-dialog-create-badge.ts index 58d37b40ed..2800ed0275 100644 --- a/src/panels/lovelace/editor/badge-editor/hui-dialog-create-badge.ts +++ b/src/panels/lovelace/editor/badge-editor/hui-dialog-create-badge.ts @@ -1,27 +1,30 @@ +import type { DataTableRowData } from "../../../../components/data-table/ha-data-table"; +import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { CreateBadgeDialogParams } from "./show-create-badge-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-dialog"; +import "../../../../components/ha-dialog-header"; +import "../card-editor/hui-entity-picker-table"; +import "./hui-badge-picker"; import "@material/mwc-tab-bar/mwc-tab-bar"; import "@material/mwc-tab/mwc-tab"; + import { mdiClose } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { cache } from "lit/directives/cache"; import { classMap } from "lit/directives/class-map"; import memoize from "memoize-one"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { computeDomain } from "../../../../common/entity/compute_domain"; import { computeStateName } from "../../../../common/entity/compute_state_name"; -import type { DataTableRowData } from "../../../../components/data-table/ha-data-table"; -import "../../../../components/ha-dialog"; -import "../../../../components/ha-dialog-header"; -import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { computeBadges } from "../../common/generate-lovelace-config"; -import "../card-editor/hui-entity-picker-table"; import { findLovelaceContainer } from "../lovelace-path"; -import "./hui-badge-picker"; -import type { CreateBadgeDialogParams } from "./show-create-badge-dialog"; import { showEditBadgeDialog } from "./show-edit-badge-dialog"; import { showSuggestBadgeDialog } from "./show-suggest-badge-dialog"; diff --git a/src/panels/lovelace/editor/badge-editor/hui-dialog-edit-badge.ts b/src/panels/lovelace/editor/badge-editor/hui-dialog-edit-badge.ts index 16175b9ea5..a94bd2a3e1 100644 --- a/src/panels/lovelace/editor/badge-editor/hui-dialog-edit-badge.ts +++ b/src/panels/lovelace/editor/badge-editor/hui-dialog-edit-badge.ts @@ -1,38 +1,41 @@ -import { mdiClose, mdiHelpCircle } from "@mdi/js"; -import deepFreeze from "deep-freeze"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; import type { HASSDomEvent } from "../../../../common/dom/fire_event"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { computeRTLDirection } from "../../../../common/util/compute_rtl"; -import "../../../../components/ha-spinner"; +import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; +import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { ConfigChangedEvent } from "../hui-element-editor"; +import type { GUIModeChangedEvent } from "../types"; +import type { HuiBadgeElementEditor } from "./hui-badge-element-editor"; +import type { EditBadgeDialogParams } from "./show-edit-badge-dialog"; +import type { CSSResultGroup, PropertyValues } from "lit"; + import "../../../../components/ha-dialog"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; -import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; -import { ensureBadgeConfig } from "../../../../data/lovelace/config/badge"; -import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import "../../../../components/ha-spinner"; +import "../../badges/hui-badge"; +import "../../sections/hui-section"; +import "./hui-badge-element-editor"; + +import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import deepFreeze from "deep-freeze"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { computeRTLDirection } from "../../../../common/util/compute_rtl"; import { getCustomBadgeEntry, isCustomType, stripCustomPrefix, } from "../../../../data/lovelace_custom_cards"; +import { ensureBadgeConfig } from "../../../../data/lovelace/config/badge"; import { showConfirmationDialog } from "../../../../dialogs/generic/show-dialog-box"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showSaveSuccessToast } from "../../../../util/toast-saved-success"; -import "../../badges/hui-badge"; -import "../../sections/hui-section"; import { addBadge, replaceBadge } from "../config-util"; import { getBadgeDocumentationURL } from "../get-dashboard-documentation-url"; -import type { ConfigChangedEvent } from "../hui-element-editor"; import { findLovelaceContainer } from "../lovelace-path"; -import type { GUIModeChangedEvent } from "../types"; -import "./hui-badge-element-editor"; -import type { HuiBadgeElementEditor } from "./hui-badge-element-editor"; -import type { EditBadgeDialogParams } from "./show-edit-badge-dialog"; declare global { // for fire event diff --git a/src/panels/lovelace/editor/badge-editor/hui-dialog-suggest-badge.ts b/src/panels/lovelace/editor/badge-editor/hui-dialog-suggest-badge.ts index c6fbba1387..b4c82ffd50 100644 --- a/src/panels/lovelace/editor/badge-editor/hui-dialog-suggest-badge.ts +++ b/src/panels/lovelace/editor/badge-editor/hui-dialog-suggest-badge.ts @@ -1,22 +1,24 @@ -import deepFreeze from "deep-freeze"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-yaml-editor"; -import "../../../../components/ha-spinner"; - import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; -import { haStyleDialog } from "../../../../resources/styles"; import type { HomeAssistant } from "../../../../types"; -import { showSaveSuccessToast } from "../../../../util/toast-saved-success"; -import "../../badges/hui-badge"; -import { addBadges } from "../config-util"; import type { LovelaceContainerPath } from "../lovelace-path"; -import { parseLovelaceContainerPath } from "../lovelace-path"; import type { SuggestBadgeDialogParams } from "./show-suggest-badge-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-spinner"; +import "../../../../components/ha-yaml-editor"; +import "../../badges/hui-badge"; + +import deepFreeze from "deep-freeze"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { haStyleDialog } from "../../../../resources/styles"; +import { showSaveSuccessToast } from "../../../../util/toast-saved-success"; +import { addBadges } from "../config-util"; +import { parseLovelaceContainerPath } from "../lovelace-path"; @customElement("hui-dialog-suggest-badge") export class HuiDialogSuggestBadge extends LitElement { diff --git a/src/panels/lovelace/editor/badge-editor/show-create-badge-dialog.ts b/src/panels/lovelace/editor/badge-editor/show-create-badge-dialog.ts index 13469820f4..6a4390388e 100644 --- a/src/panels/lovelace/editor/badge-editor/show-create-badge-dialog.ts +++ b/src/panels/lovelace/editor/badge-editor/show-create-badge-dialog.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceContainerPath } from "../lovelace-path"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface CreateBadgeDialogParams { lovelaceConfig: LovelaceConfig; saveConfig: (config: LovelaceConfig) => void; diff --git a/src/panels/lovelace/editor/badge-editor/show-edit-badge-dialog.ts b/src/panels/lovelace/editor/badge-editor/show-edit-badge-dialog.ts index 4a75b42c26..3ff032479d 100644 --- a/src/panels/lovelace/editor/badge-editor/show-edit-badge-dialog.ts +++ b/src/panels/lovelace/editor/badge-editor/show-edit-badge-dialog.ts @@ -1,8 +1,9 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceContainerPath } from "../lovelace-path"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export type EditBadgeDialogParams = { lovelaceConfig: LovelaceConfig; saveConfig: (config: LovelaceConfig) => void; diff --git a/src/panels/lovelace/editor/badge-editor/show-suggest-badge-dialog.ts b/src/panels/lovelace/editor/badge-editor/show-suggest-badge-dialog.ts index 4e4421d491..e6d57a2b5a 100644 --- a/src/panels/lovelace/editor/badge-editor/show-suggest-badge-dialog.ts +++ b/src/panels/lovelace/editor/badge-editor/show-suggest-badge-dialog.ts @@ -1,8 +1,9 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceContainerPath } from "../lovelace-path"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface SuggestBadgeDialogParams { lovelaceConfig?: LovelaceConfig; yaml?: boolean; diff --git a/src/panels/lovelace/editor/card-editor/ha-grid-layout-slider.ts b/src/panels/lovelace/editor/card-editor/ha-grid-layout-slider.ts index e0e8e9605f..5761859503 100644 --- a/src/panels/lovelace/editor/card-editor/ha-grid-layout-slider.ts +++ b/src/panels/lovelace/editor/card-editor/ha-grid-layout-slider.ts @@ -1,9 +1,11 @@ -import { DIRECTION_ALL, Manager, Pan, Tap } from "@egjs/hammerjs"; import type { PropertyValues, TemplateResult } from "lit"; + +import { DIRECTION_ALL, Manager, Pan, Tap } from "@egjs/hammerjs"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { fireEvent } from "../../../../common/dom/fire_event"; declare global { diff --git a/src/panels/lovelace/editor/card-editor/hui-card-element-editor.ts b/src/panels/lovelace/editor/card-editor/hui-card-element-editor.ts index c794c783da..f32bfe3540 100644 --- a/src/panels/lovelace/editor/card-editor/hui-card-element-editor.ts +++ b/src/panels/lovelace/editor/card-editor/hui-card-element-editor.ts @@ -1,15 +1,18 @@ -import "@material/mwc-tab-bar/mwc-tab-bar"; -import "@material/mwc-tab/mwc-tab"; -import type { TemplateResult } from "lit"; -import { css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; -import { getCardElementClass } from "../../create-element/create-card-element"; +import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; import type { LovelaceCardEditor, LovelaceConfigForm } from "../../types"; -import { HuiTypedElementEditor } from "../hui-typed-element-editor"; +import type { TemplateResult } from "lit"; + import "./hui-card-layout-editor"; import "./hui-card-visibility-editor"; -import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; +import "@material/mwc-tab-bar/mwc-tab-bar"; +import "@material/mwc-tab/mwc-tab"; + +import { css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { getCardElementClass } from "../../create-element/create-card-element"; +import { HuiTypedElementEditor } from "../hui-typed-element-editor"; const tabs = ["config", "visibility", "layout"] as const; diff --git a/src/panels/lovelace/editor/card-editor/hui-card-layout-editor.ts b/src/panels/lovelace/editor/card-editor/hui-card-layout-editor.ts index f18144c6d1..4904eace70 100644 --- a/src/panels/lovelace/editor/card-editor/hui-card-layout-editor.ts +++ b/src/panels/lovelace/editor/card-editor/hui-card-layout-editor.ts @@ -1,13 +1,12 @@ +import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; +import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; +import type { HomeAssistant } from "../../../../types"; +import type { HuiCard } from "../../cards/hui-card"; +import type { CardGridSize } from "../../common/compute-card-grid-size"; +import type { LovelaceGridOptions } from "../../types"; import type { ActionDetail } from "@material/mwc-list"; -import { mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { preventDefault } from "../../../../common/dom/prevent_default"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; + import "../../../../components/ha-button"; import "../../../../components/ha-button-menu"; import "../../../../components/ha-grid-size-picker"; @@ -18,19 +17,23 @@ import "../../../../components/ha-slider"; import "../../../../components/ha-svg-icon"; import "../../../../components/ha-switch"; import "../../../../components/ha-yaml-editor"; -import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; -import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; + +import { mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { preventDefault } from "../../../../common/dom/prevent_default"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { HuiCard } from "../../cards/hui-card"; -import type { CardGridSize } from "../../common/compute-card-grid-size"; import { computeCardGridSize, GRID_COLUMN_MULTIPLIER, isPreciseMode, migrateLayoutToGridOptions, } from "../../common/compute-card-grid-size"; -import type { LovelaceGridOptions } from "../../types"; @customElement("hui-card-layout-editor") export class HuiCardLayoutEditor extends LitElement { diff --git a/src/panels/lovelace/editor/card-editor/hui-card-picker.ts b/src/panels/lovelace/editor/card-editor/hui-card-picker.ts index 392e49d6fd..2673cdb11c 100644 --- a/src/panels/lovelace/editor/card-editor/hui-card-picker.ts +++ b/src/panels/lovelace/editor/card-editor/hui-card-picker.ts @@ -1,36 +1,39 @@ +import type { CustomCardEntry } from "../../../../data/lovelace_custom_cards"; +import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; +import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCard } from "../../types"; +import type { Card, CardPickTarget } from "../types"; import type { IFuseOptions } from "fuse.js"; -import Fuse from "fuse.js"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../../components/ha-spinner"; +import "../../../../components/search-input"; + +import Fuse from "fuse.js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; import { until } from "lit/directives/until"; import memoizeOne from "memoize-one"; + import { storage } from "../../../../common/decorators/storage"; import { fireEvent } from "../../../../common/dom/fire_event"; import { stringCompare } from "../../../../common/string/compare"; -import "../../../../components/ha-spinner"; -import "../../../../components/search-input"; import { isUnavailableState } from "../../../../data/entity"; -import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; -import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; -import type { CustomCardEntry } from "../../../../data/lovelace_custom_cards"; import { CUSTOM_TYPE_PREFIX, customCards, getCustomCardEntry, } from "../../../../data/lovelace_custom_cards"; -import type { HomeAssistant } from "../../../../types"; import { calcUnusedEntities, computeUsedEntities, } from "../../common/compute-unused-entities"; import { tryCreateCardElement } from "../../create-element/create-card-element"; -import type { LovelaceCard } from "../../types"; import { getCardStubConfig } from "../get-card-stub-config"; import { coreCards } from "../lovelace-cards"; -import type { Card, CardPickTarget } from "../types"; interface CardElement { card: Card; diff --git a/src/panels/lovelace/editor/card-editor/hui-card-visibility-editor.ts b/src/panels/lovelace/editor/card-editor/hui-card-visibility-editor.ts index 3cea5e290d..fe289bd2c7 100644 --- a/src/panels/lovelace/editor/card-editor/hui-card-visibility-editor.ts +++ b/src/panels/lovelace/editor/card-editor/hui-card-visibility-editor.ts @@ -1,12 +1,15 @@ -import { LitElement, html, css } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-alert"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../../types"; import type { Condition } from "../../common/validate-condition"; + +import "../../../../components/ha-alert"; import "../conditions/ha-card-conditions-editor"; +import { LitElement, html, css } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + @customElement("hui-card-visibility-editor") export class HuiCardVisibilityEditor extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts index 403bc7c31e..660f0ad313 100644 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts @@ -1,25 +1,31 @@ +import type { DataTableRowData } from "../../../../components/data-table/ha-data-table"; +import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; +import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { CreateCardDialogParams } from "./show-create-card-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-dialog"; +import "../../../../components/ha-dialog-header"; +import "./hui-card-picker"; +import "./hui-entity-picker-table"; import "@material/mwc-tab-bar/mwc-tab-bar"; import "@material/mwc-tab/mwc-tab"; + import { mdiClose } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { cache } from "lit/directives/cache"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; import memoize from "memoize-one"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { computeDomain } from "../../../../common/entity/compute_domain"; import { computeStateName } from "../../../../common/entity/compute_state_name"; -import type { DataTableRowData } from "../../../../components/data-table/ha-data-table"; -import "../../../../components/ha-dialog"; -import "../../../../components/ha-dialog-header"; -import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; import { isStrategySection } from "../../../../data/lovelace/config/section"; -import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { computeCards, computeSection, @@ -29,9 +35,6 @@ import { findLovelaceContainer, parseLovelaceContainerPath, } from "../lovelace-path"; -import "./hui-card-picker"; -import "./hui-entity-picker-table"; -import type { CreateCardDialogParams } from "./show-create-card-dialog"; import { showEditCardDialog } from "./show-edit-card-dialog"; import { showSuggestCardDialog } from "./show-suggest-card-dialog"; diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-delete-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-delete-card.ts index 467e5bc33b..6a46486b5c 100644 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-delete-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-delete-card.ts @@ -1,13 +1,16 @@ -import deepFreeze from "deep-freeze"; +import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; +import type { HomeAssistant } from "../../../../types"; +import type { DeleteCardDialogParams } from "./show-delete-card-dialog"; import type { CSSResultGroup } from "lit"; + +import "../../cards/hui-card"; + +import deepFreeze from "deep-freeze"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "../../cards/hui-card"; -import type { DeleteCardDialogParams } from "./show-delete-card-dialog"; @customElement("hui-dialog-delete-card") export class HuiDialogDeleteCard extends LitElement { diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts index e2e5aebd4e..1428321018 100644 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts @@ -1,37 +1,40 @@ -import { mdiClose, mdiHelpCircle } from "@mdi/js"; -import deepFreeze from "deep-freeze"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { HASSDomEvent } from "../../../../common/dom/fire_event"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { computeRTLDirection } from "../../../../common/util/compute_rtl"; -import "../../../../components/ha-spinner"; +import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; +import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { ConfigChangedEvent } from "../hui-element-editor"; +import type { GUIModeChangedEvent } from "../types"; +import type { HuiCardElementEditor } from "./hui-card-element-editor"; +import type { EditCardDialogParams } from "./show-edit-card-dialog"; +import type { CSSResultGroup, PropertyValues } from "lit"; + import "../../../../components/ha-dialog"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; -import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; -import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; +import "../../../../components/ha-spinner"; +import "../../cards/hui-card"; +import "../../sections/hui-section"; +import "./hui-card-element-editor"; + +import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import deepFreeze from "deep-freeze"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { computeRTLDirection } from "../../../../common/util/compute_rtl"; import { getCustomCardEntry, isCustomType, stripCustomPrefix, } from "../../../../data/lovelace_custom_cards"; import { showConfirmationDialog } from "../../../../dialogs/generic/show-dialog-box"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showToast } from "../../../../util/toast"; import { showSaveSuccessToast } from "../../../../util/toast-saved-success"; -import "../../cards/hui-card"; -import "../../sections/hui-section"; import { getCardDocumentationURL } from "../get-dashboard-documentation-url"; -import type { ConfigChangedEvent } from "../hui-element-editor"; -import type { GUIModeChangedEvent } from "../types"; -import "./hui-card-element-editor"; -import type { HuiCardElementEditor } from "./hui-card-element-editor"; -import type { EditCardDialogParams } from "./show-edit-card-dialog"; declare global { // for fire event diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts index 664eaf6f29..55f1f16b5b 100644 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts @@ -1,26 +1,28 @@ -import deepFreeze from "deep-freeze"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-yaml-editor"; - import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; -import "../../../../components/ha-spinner"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceContainerPath } from "../lovelace-path"; +import type { SuggestCardDialogParams } from "./show-suggest-card-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-spinner"; +import "../../../../components/ha-yaml-editor"; +import "../../cards/hui-card"; +import "../../sections/hui-section"; + +import deepFreeze from "deep-freeze"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { isStrategyView } from "../../../../data/lovelace/config/view"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { showSaveSuccessToast } from "../../../../util/toast-saved-success"; -import "../../sections/hui-section"; import { addCards, addSection } from "../config-util"; -import type { LovelaceContainerPath } from "../lovelace-path"; import { parseLovelaceContainerPath } from "../lovelace-path"; -import "../../cards/hui-card"; import { showCreateCardDialog } from "./show-create-card-dialog"; -import type { SuggestCardDialogParams } from "./show-suggest-card-dialog"; @customElement("hui-dialog-suggest-card") export class HuiDialogSuggestCard extends LitElement { diff --git a/src/panels/lovelace/editor/card-editor/hui-entity-picker-table.ts b/src/panels/lovelace/editor/card-editor/hui-entity-picker-table.ts index 5918aafef6..9437ff857f 100644 --- a/src/panels/lovelace/editor/card-editor/hui-entity-picker-table.ts +++ b/src/panels/lovelace/editor/card-editor/hui-entity-picker-table.ts @@ -1,18 +1,21 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; import type { HASSDomEvent } from "../../../../common/dom/fire_event"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/data-table/ha-data-table"; import type { DataTableColumnContainer, DataTableRowData, SelectionChangedEvent, } from "../../../../components/data-table/ha-data-table"; +import type { HomeAssistant } from "../../../../types"; +import type { TemplateResult } from "lit"; + +import "../../../../components/data-table/ha-data-table"; import "../../../../components/entity/state-badge"; import "../../../../components/ha-relative-time"; -import type { HomeAssistant } from "../../../../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; @customElement("hui-entity-picker-table") export class HuiEntityPickerTable extends LitElement { diff --git a/src/panels/lovelace/editor/card-editor/show-create-card-dialog.ts b/src/panels/lovelace/editor/card-editor/show-create-card-dialog.ts index c2934b0bcd..1bff806bd9 100644 --- a/src/panels/lovelace/editor/card-editor/show-create-card-dialog.ts +++ b/src/panels/lovelace/editor/card-editor/show-create-card-dialog.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceContainerPath } from "../lovelace-path"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface CreateCardDialogParams { lovelaceConfig: LovelaceConfig; saveConfig: (config: LovelaceConfig) => void; diff --git a/src/panels/lovelace/editor/card-editor/show-delete-card-dialog.ts b/src/panels/lovelace/editor/card-editor/show-delete-card-dialog.ts index 3fee6abed2..35ad4e3f05 100644 --- a/src/panels/lovelace/editor/card-editor/show-delete-card-dialog.ts +++ b/src/panels/lovelace/editor/card-editor/show-delete-card-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface DeleteCardDialogParams { deleteCard: () => void; cardConfig?: LovelaceCardConfig; diff --git a/src/panels/lovelace/editor/card-editor/show-edit-card-dialog.ts b/src/panels/lovelace/editor/card-editor/show-edit-card-dialog.ts index ae3930ba55..baa861c108 100644 --- a/src/panels/lovelace/editor/card-editor/show-edit-card-dialog.ts +++ b/src/panels/lovelace/editor/card-editor/show-edit-card-dialog.ts @@ -1,8 +1,9 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface EditCardDialogParams { lovelaceConfig: LovelaceConfig; saveCardConfig: (config: LovelaceCardConfig) => void; diff --git a/src/panels/lovelace/editor/card-editor/show-suggest-card-dialog.ts b/src/panels/lovelace/editor/card-editor/show-suggest-card-dialog.ts index 3f9d75481c..23c007468d 100644 --- a/src/panels/lovelace/editor/card-editor/show-suggest-card-dialog.ts +++ b/src/panels/lovelace/editor/card-editor/show-suggest-card-dialog.ts @@ -1,9 +1,10 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceContainerPath } from "../lovelace-path"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface SuggestCardDialogParams { lovelaceConfig?: LovelaceConfig; yaml?: boolean; diff --git a/src/panels/lovelace/editor/conditions/ha-card-condition-editor.ts b/src/panels/lovelace/editor/conditions/ha-card-condition-editor.ts index 3f88085c26..6c7eb19cbe 100644 --- a/src/panels/lovelace/editor/conditions/ha-card-condition-editor.ts +++ b/src/panels/lovelace/editor/conditions/ha-card-condition-editor.ts @@ -1,14 +1,12 @@ +import type { HomeAssistant } from "../../../../types"; +import type { + Condition, + LegacyCondition, +} from "../../common/validate-condition"; +import type { LovelaceConditionEditorConstructor } from "./types"; import type { ActionDetail } from "@material/mwc-list"; -import { mdiDelete, mdiDotsVertical, mdiFlask, mdiPlaylistEdit } from "@mdi/js"; import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { preventDefault } from "../../../../common/dom/prevent_default"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; -import { handleStructError } from "../../../../common/structs/handle-errors"; + import "../../../../components/ha-alert"; import "../../../../components/ha-button-menu"; import "../../../../components/ha-card"; @@ -17,19 +15,24 @@ import "../../../../components/ha-icon-button"; import "../../../../components/ha-list-item"; import "../../../../components/ha-svg-icon"; import "../../../../components/ha-yaml-editor"; + +import { mdiDelete, mdiDotsVertical, mdiFlask, mdiPlaylistEdit } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { preventDefault } from "../../../../common/dom/prevent_default"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; +import { handleStructError } from "../../../../common/structs/handle-errors"; import { showAlertDialog } from "../../../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { ICON_CONDITION } from "../../common/icon-condition"; -import type { - Condition, - LegacyCondition, -} from "../../common/validate-condition"; import { checkConditionsMet, validateConditionalConfig, } from "../../common/validate-condition"; -import type { LovelaceConditionEditorConstructor } from "./types"; @customElement("ha-card-condition-editor") export class HaCardConditionEditor extends LitElement { diff --git a/src/panels/lovelace/editor/conditions/ha-card-conditions-editor.ts b/src/panels/lovelace/editor/conditions/ha-card-conditions-editor.ts index 2f07ff3a02..cc6413d687 100644 --- a/src/panels/lovelace/editor/conditions/ha-card-conditions-editor.ts +++ b/src/panels/lovelace/editor/conditions/ha-card-conditions-editor.ts @@ -1,22 +1,17 @@ -import { mdiPlus } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; -import "../../../../components/ha-button"; -import "../../../../components/ha-list-item"; import type { HaSelect } from "../../../../components/ha-select"; -import "../../../../components/ha-svg-icon"; import type { HomeAssistant } from "../../../../types"; -import { ICON_CONDITION } from "../../common/icon-condition"; import type { Condition, LegacyCondition, } from "../../common/validate-condition"; -import "./ha-card-condition-editor"; import type { HaCardConditionEditor } from "./ha-card-condition-editor"; import type { LovelaceConditionEditorConstructor } from "./types"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-list-item"; +import "../../../../components/ha-svg-icon"; +import "./ha-card-condition-editor"; import "./types/ha-card-condition-and"; import "./types/ha-card-condition-numeric_state"; import "./types/ha-card-condition-or"; @@ -24,6 +19,14 @@ import "./types/ha-card-condition-screen"; import "./types/ha-card-condition-state"; import "./types/ha-card-condition-user"; +import { mdiPlus } from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; +import { ICON_CONDITION } from "../../common/icon-condition"; + const UI_CONDITION = [ "numeric_state", "state", diff --git a/src/panels/lovelace/editor/conditions/types/ha-card-condition-and.ts b/src/panels/lovelace/editor/conditions/types/ha-card-condition-and.ts index a5d0a152d8..7fe75fa5c9 100644 --- a/src/panels/lovelace/editor/conditions/types/ha-card-condition-and.ts +++ b/src/panels/lovelace/editor/conditions/types/ha-card-condition-and.ts @@ -1,16 +1,19 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { any, array, assert, literal, object, optional } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { HomeAssistant } from "../../../../../types"; import type { AndCondition, Condition, StateCondition, } from "../../../common/validate-condition"; + +import "../../../../../components/ha-form/ha-form"; import "../ha-card-conditions-editor"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import { any, array, assert, literal, object, optional } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + const andConditionStruct = object({ condition: literal("and"), conditions: optional(array(any())), diff --git a/src/panels/lovelace/editor/conditions/types/ha-card-condition-numeric_state.ts b/src/panels/lovelace/editor/conditions/types/ha-card-condition-numeric_state.ts index 152e613614..04b4a38222 100644 --- a/src/panels/lovelace/editor/conditions/types/ha-card-condition-numeric_state.ts +++ b/src/panels/lovelace/editor/conditions/types/ha-card-condition-numeric_state.ts @@ -1,10 +1,3 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { assert, literal, number, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion, HaFormSchema, @@ -14,6 +7,16 @@ import type { NumericStateCondition, StateCondition, } from "../../../common/validate-condition"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { assert, literal, number, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; const numericStateConditionStruct = object({ condition: literal("numeric_state"), diff --git a/src/panels/lovelace/editor/conditions/types/ha-card-condition-or.ts b/src/panels/lovelace/editor/conditions/types/ha-card-condition-or.ts index a6e41a2e82..cdc5893f57 100644 --- a/src/panels/lovelace/editor/conditions/types/ha-card-condition-or.ts +++ b/src/panels/lovelace/editor/conditions/types/ha-card-condition-or.ts @@ -1,16 +1,19 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { any, array, assert, literal, object, optional } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { HomeAssistant } from "../../../../../types"; import type { Condition, OrCondition, StateCondition, } from "../../../common/validate-condition"; + +import "../../../../../components/ha-form/ha-form"; import "../ha-card-conditions-editor"; +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import { any, array, assert, literal, object, optional } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + const orConditionStruct = object({ condition: literal("or"), conditions: optional(array(any())), diff --git a/src/panels/lovelace/editor/conditions/types/ha-card-condition-screen.ts b/src/panels/lovelace/editor/conditions/types/ha-card-condition-screen.ts index bf609dc5dc..2ccbd73f9c 100644 --- a/src/panels/lovelace/editor/conditions/types/ha-card-condition-screen.ts +++ b/src/panels/lovelace/editor/conditions/types/ha-card-condition-screen.ts @@ -1,10 +1,4 @@ -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { getAllCombinations } from "../../../../../common/array/combinations"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion, HaFormSchema, @@ -12,6 +6,15 @@ import type { import type { HomeAssistant } from "../../../../../types"; import type { ScreenCondition } from "../../../common/validate-condition"; +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { getAllCombinations } from "../../../../../common/array/combinations"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + const BREAKPOINT_VALUES = [0, 768, 1024, 1280, Infinity]; const BREAKPOINTS = ["mobile", "tablet", "desktop", "wide"] as const; diff --git a/src/panels/lovelace/editor/conditions/types/ha-card-condition-state.ts b/src/panels/lovelace/editor/conditions/types/ha-card-condition-state.ts index 66338de79a..4fd9607583 100644 --- a/src/panels/lovelace/editor/conditions/types/ha-card-condition-state.ts +++ b/src/panels/lovelace/editor/conditions/types/ha-card-condition-state.ts @@ -1,17 +1,20 @@ -import type { PropertyValues } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { assert, literal, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../../common/translations/localize"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion, HaFormSchema, } from "../../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../../types"; import type { StateCondition } from "../../../common/validate-condition"; +import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-form/ha-form"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { assert, literal, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; const stateConditionStruct = object({ condition: literal("state"), diff --git a/src/panels/lovelace/editor/conditions/types/ha-card-condition-user.ts b/src/panels/lovelace/editor/conditions/types/ha-card-condition-user.ts index abeb281d4e..b53b3470ff 100644 --- a/src/panels/lovelace/editor/conditions/types/ha-card-condition-user.ts +++ b/src/panels/lovelace/editor/conditions/types/ha-card-condition-user.ts @@ -1,18 +1,21 @@ -import "@material/mwc-list"; +import type { User } from "../../../../../data/user"; +import type { HomeAssistant } from "../../../../../types"; +import type { UserCondition } from "../../../common/validate-condition"; import type { PropertyValues } from "lit"; + +import "../../../../../components/ha-check-list-item"; +import "../../../../../components/ha-switch"; +import "../../../../../components/user/ha-user-badge"; +import "@material/mwc-list"; + import { LitElement, css, html } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; import { array, assert, literal, object, string } from "superstruct"; + import { fireEvent } from "../../../../../common/dom/fire_event"; import { stringCompare } from "../../../../../common/string/compare"; -import "../../../../../components/ha-check-list-item"; -import "../../../../../components/ha-switch"; -import "../../../../../components/user/ha-user-badge"; -import type { User } from "../../../../../data/user"; import { fetchUsers } from "../../../../../data/user"; -import type { HomeAssistant } from "../../../../../types"; -import type { UserCondition } from "../../../common/validate-condition"; const userConditionStruct = object({ condition: literal("user"), diff --git a/src/panels/lovelace/editor/config-elements/elements/hui-conditional-element-editor.ts b/src/panels/lovelace/editor/config-elements/elements/hui-conditional-element-editor.ts index 6696ebb3ee..8e0e8f6981 100644 --- a/src/panels/lovelace/editor/config-elements/elements/hui-conditional-element-editor.ts +++ b/src/panels/lovelace/editor/config-elements/elements/hui-conditional-element-editor.ts @@ -1,3 +1,22 @@ +import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { LovelaceCardConfig } from "../../../../../data/lovelace/config/card"; +import type { HomeAssistant } from "../../../../../types"; +import type { + ConditionalElementConfig, + LovelaceElementConfig, +} from "../../../elements/types"; +import type { LovelacePictureElementEditor } from "../../../types"; +import type { + EditDetailElementEvent, + SubElementEditorConfig, +} from "../../types"; + +import "../../../../../components/ha-form/ha-form"; +import "../../conditions/ha-card-conditions-editor"; +import "../../hui-picture-elements-card-row-editor"; +import "../../hui-sub-element-editor"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { @@ -9,24 +28,8 @@ import { optional, string, } from "superstruct"; -import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import type { HomeAssistant } from "../../../../../types"; -import "../../../../../components/ha-form/ha-form"; -import type { LovelacePictureElementEditor } from "../../../types"; -import type { - ConditionalElementConfig, - LovelaceElementConfig, -} from "../../../elements/types"; -import "../../conditions/ha-card-conditions-editor"; -import "../../hui-picture-elements-card-row-editor"; -import type { LovelaceCardConfig } from "../../../../../data/lovelace/config/card"; -import type { - EditDetailElementEvent, - SubElementEditorConfig, -} from "../../types"; -import "../../hui-sub-element-editor"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; const conditionalElementConfigStruct = object({ type: literal("conditional"), diff --git a/src/panels/lovelace/editor/config-elements/elements/hui-icon-element-editor.ts b/src/panels/lovelace/editor/config-elements/elements/hui-icon-element-editor.ts index 350327a747..5538e34373 100644 --- a/src/panels/lovelace/editor/config-elements/elements/hui-icon-element-editor.ts +++ b/src/panels/lovelace/editor/config-elements/elements/hui-icon-element-editor.ts @@ -1,13 +1,16 @@ -import { mdiGestureTap } from "@mdi/js"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { any, assert, literal, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../../types"; import type { IconElementConfig } from "../../../elements/types"; import type { LovelacePictureElementEditor } from "../../../types"; + +import "../../../../../components/ha-form/ha-form"; + +import { mdiGestureTap } from "@mdi/js"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { any, assert, literal, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { actionConfigStruct } from "../../structs/action-struct"; const iconElementConfigStruct = object({ diff --git a/src/panels/lovelace/editor/config-elements/elements/hui-image-element-editor.ts b/src/panels/lovelace/editor/config-elements/elements/hui-image-element-editor.ts index 092f26456e..72fbeb10af 100644 --- a/src/panels/lovelace/editor/config-elements/elements/hui-image-element-editor.ts +++ b/src/panels/lovelace/editor/config-elements/elements/hui-image-element-editor.ts @@ -1,13 +1,16 @@ -import { mdiGestureTap } from "@mdi/js"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { any, assert, literal, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../../types"; import type { ImageElementConfig } from "../../../elements/types"; import type { LovelacePictureElementEditor } from "../../../types"; + +import "../../../../../components/ha-form/ha-form"; + +import { mdiGestureTap } from "@mdi/js"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { any, assert, literal, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { actionConfigStruct } from "../../structs/action-struct"; const imageElementConfigStruct = object({ diff --git a/src/panels/lovelace/editor/config-elements/elements/hui-service-button-element-editor.ts b/src/panels/lovelace/editor/config-elements/elements/hui-service-button-element-editor.ts index 9cd2088342..c29e7c7940 100644 --- a/src/panels/lovelace/editor/config-elements/elements/hui-service-button-element-editor.ts +++ b/src/panels/lovelace/editor/config-elements/elements/hui-service-button-element-editor.ts @@ -1,16 +1,19 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { any, assert, enums, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; -import "../../../../../components/ha-service-control"; import type { ServiceAction } from "../../../../../data/script"; import type { HomeAssistant } from "../../../../../types"; import type { ServiceButtonElementConfig } from "../../../elements/types"; import type { LovelacePictureElementEditor } from "../../../types"; +import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-service-control"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { any, assert, enums, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; + const serviceButtonElementConfigStruct = object({ type: enums(["service-button", "action-button"]), style: optional(any()), diff --git a/src/panels/lovelace/editor/config-elements/elements/hui-state-badge-element-editor.ts b/src/panels/lovelace/editor/config-elements/elements/hui-state-badge-element-editor.ts index 5e012c7a9e..d7bbff0584 100644 --- a/src/panels/lovelace/editor/config-elements/elements/hui-state-badge-element-editor.ts +++ b/src/panels/lovelace/editor/config-elements/elements/hui-state-badge-element-editor.ts @@ -1,13 +1,16 @@ +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../../types"; +import type { StateBadgeElementConfig } from "../../../elements/types"; +import type { LovelacePictureElementEditor } from "../../../types"; + +import "../../../../../components/ha-form/ha-form"; + +import { mdiGestureTap } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { any, assert, literal, object, optional, string } from "superstruct"; -import { mdiGestureTap } from "@mdi/js"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../../types"; -import "../../../../../components/ha-form/ha-form"; -import type { LovelacePictureElementEditor } from "../../../types"; -import type { StateBadgeElementConfig } from "../../../elements/types"; import { actionConfigStruct } from "../../structs/action-struct"; const stateBadgeElementConfigStruct = object({ diff --git a/src/panels/lovelace/editor/config-elements/elements/hui-state-icon-element-editor.ts b/src/panels/lovelace/editor/config-elements/elements/hui-state-icon-element-editor.ts index 217d8edac6..2a025cc248 100644 --- a/src/panels/lovelace/editor/config-elements/elements/hui-state-icon-element-editor.ts +++ b/src/panels/lovelace/editor/config-elements/elements/hui-state-icon-element-editor.ts @@ -1,3 +1,10 @@ +import type { SchemaUnion } from "../../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../../types"; +import type { StateIconElementConfig } from "../../../elements/types"; +import type { LovelacePictureElementEditor } from "../../../types"; + +import "../../../../../components/ha-form/ha-form"; + import { mdiGestureTap } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -10,12 +17,8 @@ import { optional, string, } from "superstruct"; + import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../../types"; -import type { StateIconElementConfig } from "../../../elements/types"; -import type { LovelacePictureElementEditor } from "../../../types"; import { actionConfigStruct } from "../../structs/action-struct"; const stateIconElementConfigStruct = object({ diff --git a/src/panels/lovelace/editor/config-elements/elements/hui-state-label-element-editor.ts b/src/panels/lovelace/editor/config-elements/elements/hui-state-label-element-editor.ts index 561419dd9e..0987da51bd 100644 --- a/src/panels/lovelace/editor/config-elements/elements/hui-state-label-element-editor.ts +++ b/src/panels/lovelace/editor/config-elements/elements/hui-state-label-element-editor.ts @@ -1,13 +1,16 @@ -import { mdiGestureTap } from "@mdi/js"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { any, assert, literal, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../../types"; import type { StateLabelElementConfig } from "../../../elements/types"; import type { LovelacePictureElementEditor } from "../../../types"; + +import "../../../../../components/ha-form/ha-form"; + +import { mdiGestureTap } from "@mdi/js"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { any, assert, literal, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { actionConfigStruct } from "../../structs/action-struct"; const stateLabelElementConfigStruct = object({ diff --git a/src/panels/lovelace/editor/config-elements/hui-alarm-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-alarm-modes-card-feature-editor.ts index 60855d787f..5747c5f323 100644 --- a/src/panels/lovelace/editor/config-elements/hui-alarm-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-alarm-modes-card-feature-editor.ts @@ -1,21 +1,24 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, } from "../../../../components/ha-form/types"; -import { supportedAlarmModes } from "../../../../data/alarm_control_panel"; import type { HomeAssistant } from "../../../../types"; import type { AlarmModesCardFeatureConfig, LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { supportedAlarmModes } from "../../../../data/alarm_control_panel"; type AlarmModesCardFeatureData = AlarmModesCardFeatureConfig & { customize_modes: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-alarm-panel-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-alarm-panel-card-editor.ts index 63daefefb1..5a3a22e2e0 100644 --- a/src/panels/lovelace/editor/config-elements/hui-alarm-panel-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-alarm-panel-card-editor.ts @@ -1,11 +1,4 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { array, assert, assign, object, optional, string } from "superstruct"; -import type { HassEntity } from "home-assistant-js-websocket"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { @@ -13,14 +6,24 @@ import type { AlarmPanelCardConfigState, } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; -import { baseLovelaceCardConfig } from "../structs/base-card-struct"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { array, assert, assign, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { supportsFeature } from "../../../../common/entity/supports-feature"; +import { ALARM_MODES } from "../../../../data/alarm_control_panel"; import { DEFAULT_STATES, ALARM_MODE_STATE_MAP, filterSupportedAlarmStates, } from "../../cards/hui-alarm-panel-card"; -import { supportsFeature } from "../../../../common/entity/supports-feature"; -import { ALARM_MODES } from "../../../../data/alarm_control_panel"; +import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-area-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-area-card-editor.ts index d73fe9ecd2..0612e65ee4 100644 --- a/src/panels/lovelace/editor/config-elements/hui-area-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-area-card-editor.ts @@ -1,3 +1,11 @@ +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { SelectOption } from "../../../../data/selector"; +import type { HomeAssistant } from "../../../../types"; +import type { AreaCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -10,21 +18,16 @@ import { optional, string, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; +import { computeDomain } from "../../../../common/entity/compute_domain"; +import { caseInsensitiveStringCompare } from "../../../../common/string/compare"; +import { getSensorNumericDeviceClasses } from "../../../../data/sensor"; import { DEFAULT_ASPECT_RATIO, DEVICE_CLASSES, } from "../../cards/hui-area-card"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; -import type { AreaCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import { computeDomain } from "../../../../common/entity/compute_domain"; -import { caseInsensitiveStringCompare } from "../../../../common/string/compare"; -import type { SelectOption } from "../../../../data/selector"; -import { getSensorNumericDeviceClasses } from "../../../../data/sensor"; const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-button-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-button-card-editor.ts index 6acd0e5867..79eed8d2e3 100644 --- a/src/panels/lovelace/editor/config-elements/hui-button-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-button-card-editor.ts @@ -1,19 +1,22 @@ -import { mdiGestureTap } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { assert, assign, boolean, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; -import { getEntityDefaultButtonAction } from "../../cards/hui-button-card"; import type { ButtonCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; + +import { mdiGestureTap } from "@mdi/js"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { assert, assign, boolean, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { getEntityDefaultButtonAction } from "../../cards/hui-button-card"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { configElementStyle } from "./config-elements-style"; diff --git a/src/panels/lovelace/editor/config-elements/hui-calendar-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-calendar-card-editor.ts index 8d3de51c1b..6dc0504893 100644 --- a/src/panels/lovelace/editor/config-elements/hui-calendar-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-calendar-card-editor.ts @@ -1,3 +1,12 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { CalendarCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/entity/ha-entities-picker"; +import "../../../../components/ha-form/ha-form"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -11,14 +20,8 @@ import { string, union, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/entity/ha-entities-picker"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; -import type { CalendarCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts b/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts index 0a2c058ada..8fb0251770 100644 --- a/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts @@ -1,29 +1,33 @@ -import { mdiDelete, mdiDrag, mdiPencil, mdiPlus } from "@mdi/js"; +import type { CustomCardFeatureEntry } from "../../../../data/lovelace_custom_cards"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCardFeatureConfig } from "../../card-features/types"; import type { HassEntity } from "home-assistant-js-websocket"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; + import "../../../../components/ha-button"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-list-item"; import "../../../../components/ha-sortable"; import "../../../../components/ha-svg-icon"; -import type { CustomCardFeatureEntry } from "../../../../data/lovelace_custom_cards"; + +import { mdiDelete, mdiDrag, mdiPencil, mdiPlus } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { CUSTOM_TYPE_PREFIX, getCustomCardFeatures, isCustomType, stripCustomPrefix, } from "../../../../data/lovelace_custom_cards"; -import type { HomeAssistant } from "../../../../types"; import { supportsAlarmModesCardFeature } from "../../card-features/hui-alarm-modes-card-feature"; import { supportsClimateFanModesCardFeature } from "../../card-features/hui-climate-fan-modes-card-feature"; import { supportsClimateHvacModesCardFeature } from "../../card-features/hui-climate-hvac-modes-card-feature"; import { supportsClimatePresetModesCardFeature } from "../../card-features/hui-climate-preset-modes-card-feature"; -import { supportsClimateSwingModesCardFeature } from "../../card-features/hui-climate-swing-modes-card-feature"; import { supportsClimateSwingHorizontalModesCardFeature } from "../../card-features/hui-climate-swing-horizontal-modes-card-feature"; +import { supportsClimateSwingModesCardFeature } from "../../card-features/hui-climate-swing-modes-card-feature"; import { supportsCounterActionsCardFeature } from "../../card-features/hui-counter-actions-card-feature"; import { supportsCoverOpenCloseCardFeature } from "../../card-features/hui-cover-open-close-card-feature"; import { supportsCoverPositionCardFeature } from "../../card-features/hui-cover-position-card-feature"; @@ -47,7 +51,6 @@ import { supportsToggleCardFeature } from "../../card-features/hui-toggle-card-f import { supportsUpdateActionsCardFeature } from "../../card-features/hui-update-actions-card-feature"; import { supportsVacuumCommandsCardFeature } from "../../card-features/hui-vacuum-commands-card-feature"; import { supportsWaterHeaterOperationModesCardFeature } from "../../card-features/hui-water-heater-operation-modes-card-feature"; -import type { LovelaceCardFeatureConfig } from "../../card-features/types"; import { getCardFeatureElementClass } from "../../create-element/create-card-feature-element"; export type FeatureType = LovelaceCardFeatureConfig["type"]; diff --git a/src/panels/lovelace/editor/config-elements/hui-climate-fan-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-climate-fan-modes-card-feature-editor.ts index 8921289f7b..8f5ffdfdde 100644 --- a/src/panels/lovelace/editor/config-elements/hui-climate-fan-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-climate-fan-modes-card-feature-editor.ts @@ -1,11 +1,5 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityAttributeValueFunc } from "../../../../common/translations/entity-state"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -16,6 +10,15 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; type ClimateFanModesCardFeatureData = ClimateFanModesCardFeatureConfig & { customize_modes: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-climate-hvac-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-climate-hvac-modes-card-feature-editor.ts index 577fec9be9..789dadd88e 100644 --- a/src/panels/lovelace/editor/config-elements/hui-climate-hvac-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-climate-hvac-modes-card-feature-editor.ts @@ -1,22 +1,25 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityStateFunc } from "../../../../common/translations/entity-state"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, } from "../../../../components/ha-form/types"; -import { compareClimateHvacModes } from "../../../../data/climate"; import type { HomeAssistant } from "../../../../types"; import type { ClimateHvacModesCardFeatureConfig, LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { compareClimateHvacModes } from "../../../../data/climate"; type ClimateHvacModesCardFeatureData = ClimateHvacModesCardFeatureConfig & { customize_modes: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-climate-preset-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-climate-preset-modes-card-feature-editor.ts index 75522c0635..ad3f4d7796 100644 --- a/src/panels/lovelace/editor/config-elements/hui-climate-preset-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-climate-preset-modes-card-feature-editor.ts @@ -1,11 +1,5 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityAttributeValueFunc } from "../../../../common/translations/entity-state"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -16,6 +10,15 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; type ClimatePresetModesCardFeatureData = ClimatePresetModesCardFeatureConfig & { customize_modes: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-climate-swing-horizontal-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-climate-swing-horizontal-modes-card-feature-editor.ts index 0e7da95fe5..e0bb4bfe1a 100644 --- a/src/panels/lovelace/editor/config-elements/hui-climate-swing-horizontal-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-climate-swing-horizontal-modes-card-feature-editor.ts @@ -1,11 +1,5 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityAttributeValueFunc } from "../../../../common/translations/entity-state"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -16,6 +10,15 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; type ClimateSwingHorizontalModesCardFeatureData = ClimateSwingHorizontalModesCardFeatureConfig & { diff --git a/src/panels/lovelace/editor/config-elements/hui-climate-swing-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-climate-swing-modes-card-feature-editor.ts index b46efbaae7..35b37a3ccd 100644 --- a/src/panels/lovelace/editor/config-elements/hui-climate-swing-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-climate-swing-modes-card-feature-editor.ts @@ -1,11 +1,5 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityAttributeValueFunc } from "../../../../common/translations/entity-state"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -16,6 +10,15 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; type ClimateSwingModesCardFeatureData = ClimateSwingModesCardFeatureConfig & { customize_modes: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-clock-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-clock-card-editor.ts index cb73a2460d..fb9d424cf9 100644 --- a/src/panels/lovelace/editor/config-elements/hui-clock-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-clock-card-editor.ts @@ -1,3 +1,14 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { ClockCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + import timezones from "google-timezones-json"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -13,18 +24,10 @@ import { string, union, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import type { ClockCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; -import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { TimeFormat } from "../../../../data/translation"; +import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts index 14e8b07430..c9a1458e27 100644 --- a/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts @@ -1,32 +1,35 @@ -import "@material/mwc-tab-bar/mwc-tab-bar"; -import "@material/mwc-tab/mwc-tab"; -import type { MDCTabBarActivatedEvent } from "@material/tab-bar"; -import { mdiCodeBraces, mdiContentCopy, mdiListBoxOutline } from "@mdi/js"; -import deepClone from "deep-clone-simple"; -import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { any, array, assert, assign, object, optional } from "superstruct"; -import { storage } from "../../../../common/decorators/storage"; import type { HASSDomEvent } from "../../../../common/dom/fire_event"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-alert"; -import "../../../../components/ha-button"; -import "../../../../components/ha-list-item"; -import "../../../../components/ha-svg-icon"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { HomeAssistant } from "../../../../types"; import type { ConditionalCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; -import "../card-editor/hui-card-element-editor"; import type { HuiCardElementEditor } from "../card-editor/hui-card-element-editor"; +import type { ConfigChangedEvent } from "../hui-element-editor"; +import type { GUIModeChangedEvent } from "../types"; +import type { MDCTabBarActivatedEvent } from "@material/tab-bar"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-alert"; +import "../../../../components/ha-button"; +import "../../../../components/ha-list-item"; +import "../../../../components/ha-svg-icon"; +import "../card-editor/hui-card-element-editor"; import "../card-editor/hui-card-picker"; import "../conditions/ha-card-conditions-editor"; import "../hui-element-editor"; -import type { ConfigChangedEvent } from "../hui-element-editor"; +import "@material/mwc-tab-bar/mwc-tab-bar"; +import "@material/mwc-tab/mwc-tab"; + +import { mdiCodeBraces, mdiContentCopy, mdiListBoxOutline } from "@mdi/js"; +import deepClone from "deep-clone-simple"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { any, array, assert, assign, object, optional } from "superstruct"; + +import { storage } from "../../../../common/decorators/storage"; +import { fireEvent } from "../../../../common/dom/fire_event"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { GUIModeChangedEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-counter-actions-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-counter-actions-card-feature-editor.ts index 97e17f7c93..e2b12b7e36 100644 --- a/src/panels/lovelace/editor/config-elements/hui-counter-actions-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-counter-actions-card-feature-editor.ts @@ -1,17 +1,20 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceCardFeatureEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import "../../../../components/ha-form/ha-form"; -import type { HomeAssistant } from "../../../../types"; import { COUNTER_ACTIONS, type LovelaceCardFeatureContext, type CounterActionsCardFeatureConfig, } from "../../card-features/types"; -import type { LovelaceCardFeatureEditor } from "../../types"; @customElement("hui-counter-actions-card-feature-editor") export class HuiCounterActionsCardFeatureEditor diff --git a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts index 47b172d615..bd899a4a71 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts @@ -1,4 +1,25 @@ +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { HomeAssistant } from "../../../../types"; +import type { EntitiesCardConfig } from "../../cards/types"; +import type { LovelaceRowConfig } from "../../entity-rows/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { + EditorTarget, + EditDetailElementEvent, + SubElementEditorConfig, +} from "../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-formfield"; +import "../../../../components/ha-icon"; +import "../../../../components/ha-switch"; +import "../../../../components/ha-textfield"; +import "../../../../components/ha-theme-picker"; +import "../header-footer-editor/hui-header-footer-editor"; +import "../hui-entities-card-row-editor"; +import "../hui-sub-element-editor"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { @@ -17,35 +38,17 @@ import { type, union, } from "superstruct"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { customType } from "../../../../common/structs/is-custom-type"; -import "../../../../components/ha-card"; -import "../../../../components/ha-formfield"; -import "../../../../components/ha-icon"; -import "../../../../components/ha-switch"; -import "../../../../components/ha-textfield"; -import "../../../../components/ha-theme-picker"; import { isCustomType } from "../../../../data/lovelace_custom_cards"; -import type { HomeAssistant } from "../../../../types"; -import type { EntitiesCardConfig } from "../../cards/types"; import { TIMESTAMP_RENDERING_FORMATS } from "../../components/types"; -import type { LovelaceRowConfig } from "../../entity-rows/types"; import { headerFooterConfigStructs } from "../../header-footer/structs"; -import type { LovelaceCardEditor } from "../../types"; -import "../header-footer-editor/hui-header-footer-editor"; -import "../hui-entities-card-row-editor"; -import "../hui-sub-element-editor"; import { processEditorEntities } from "../process-editor-entities"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { buttonEntityConfigStruct } from "../structs/button-entity-struct"; import { entitiesConfigStruct } from "../structs/entities-struct"; -import type { - EditorTarget, - EditDetailElementEvent, - SubElementEditorConfig, -} from "../types"; import { configElementStyle } from "./config-elements-style"; const buttonEntitiesRowConfigStruct = object({ diff --git a/src/panels/lovelace/editor/config-elements/hui-entity-badge-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entity-badge-editor.ts index f98e9dcbb1..fe6c6d11bd 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entity-badge-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entity-badge-editor.ts @@ -1,3 +1,16 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { EntityBadgeConfig } from "../../badges/types"; +import type { LovelaceBadgeEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; +import "../hui-sub-element-editor"; +import "./hui-card-features-editor"; + import { mdiGestureTap, mdiTextShort } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -13,26 +26,16 @@ import { string, union, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; import { DEFAULT_CONFIG, DISPLAY_TYPES, migrateLegacyEntityBadgeConfig, } from "../../badges/hui-entity-badge"; -import type { EntityBadgeConfig } from "../../badges/types"; -import type { LovelaceBadgeEditor } from "../../types"; -import "../hui-sub-element-editor"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceBadgeConfig } from "../structs/base-badge-struct"; import { configElementStyle } from "./config-elements-style"; -import "./hui-card-features-editor"; const badgeConfigStruct = assign( baseLovelaceBadgeConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-entity-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entity-card-editor.ts index 5144acff59..2341c49034 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entity-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entity-card-editor.ts @@ -1,9 +1,11 @@ -import { assert, assign, boolean, object, optional, string } from "superstruct"; import type { LocalizeFunc } from "../../../../common/translations/localize"; import type { HaFormSchema } from "../../../../components/ha-form/types"; import type { EntityCardConfig } from "../../cards/types"; -import { headerFooterConfigStructs } from "../../header-footer/structs"; import type { LovelaceConfigForm } from "../../types"; + +import { assert, assign, boolean, object, optional, string } from "superstruct"; + +import { headerFooterConfigStructs } from "../../header-footer/structs"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const struct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-fan-preset-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-fan-preset-modes-card-feature-editor.ts index 92d993dcd7..e6df58c22f 100644 --- a/src/panels/lovelace/editor/config-elements/hui-fan-preset-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-fan-preset-modes-card-feature-editor.ts @@ -1,11 +1,5 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityAttributeValueFunc } from "../../../../common/translations/entity-state"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -16,6 +10,15 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; type FanPresetModesCardFeatureData = FanPresetModesCardFeatureConfig & { customize_modes: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-form-editor.ts b/src/panels/lovelace/editor/config-elements/hui-form-editor.ts index a0bb712ebf..05c66bc04b 100644 --- a/src/panels/lovelace/editor/config-elements/hui-form-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-form-editor.ts @@ -1,14 +1,17 @@ -import type { CSSResultGroup } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema } from "../../../../components/ha-form/types"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../../types"; import type { LovelaceGenericElementEditor } from "../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { capitalizeFirstLetter } from "../../../../common/string/capitalize-first-letter"; import { configElementStyle } from "./config-elements-style"; @customElement("hui-form-editor") diff --git a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts index 0b7359a9e8..43a7bca379 100644 --- a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts @@ -1,3 +1,11 @@ +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { GaugeCardConfig } from "../../cards/types"; +import type { UiAction } from "../../components/hui-action-editor"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + import { mdiGestureTap } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -13,14 +21,9 @@ import { refine, string, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; import { DEFAULT_MAX, DEFAULT_MIN } from "../../cards/hui-gauge-card"; -import type { GaugeCardConfig } from "../../cards/types"; -import type { UiAction } from "../../components/hui-action-editor"; -import type { LovelaceCardEditor } from "../../types"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; diff --git a/src/panels/lovelace/editor/config-elements/hui-generic-entity-row-editor.ts b/src/panels/lovelace/editor/config-elements/hui-generic-entity-row-editor.ts index 70d8c9b6ae..1b818622f7 100644 --- a/src/panels/lovelace/editor/config-elements/hui-generic-entity-row-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-generic-entity-row-editor.ts @@ -1,15 +1,18 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { assert } from "superstruct"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { computeDomain } from "../../../../common/entity/compute_domain"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { EntitiesCardEntityConfig } from "../../cards/types"; import type { LovelaceRowEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { assert } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { computeDomain } from "../../../../common/entity/compute_domain"; import { entitiesConfigStruct } from "../structs/entities-struct"; const SECONDARY_INFO_VALUES = { diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index 3ef29aaf10..3af425f868 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -1,3 +1,11 @@ +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { ConfigEntity, GlanceCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; +import "../../components/hui-entity-editor"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { @@ -11,13 +19,8 @@ import { string, union, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; -import type { ConfigEntity, GlanceCardConfig } from "../../cards/types"; -import "../../components/hui-entity-editor"; -import type { LovelaceCardEditor } from "../../types"; import { processEditorEntities } from "../process-editor-entities"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { entitiesConfigStruct } from "../structs/entities-struct"; diff --git a/src/panels/lovelace/editor/config-elements/hui-graph-footer-editor.ts b/src/panels/lovelace/editor/config-elements/hui-graph-footer-editor.ts index ae15ee6079..7b08f13328 100644 --- a/src/panels/lovelace/editor/config-elements/hui-graph-footer-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-graph-footer-editor.ts @@ -1,18 +1,21 @@ -import type { CSSResultGroup } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { assert } from "superstruct"; import type { HASSDomEvent } from "../../../../common/dom/fire_event"; -import { fireEvent } from "../../../../common/dom/fire_event"; +import type { HomeAssistant } from "../../../../types"; +import type { GraphHeaderFooterConfig } from "../../header-footer/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { EditorTarget, EntitiesEditorEvent } from "../types"; +import type { CSSResultGroup } from "lit"; + import "../../../../components/entity/ha-entity-picker"; import "../../../../components/ha-formfield"; import "../../../../components/ha-switch"; import "../../../../components/ha-textfield"; -import type { HomeAssistant } from "../../../../types"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { assert } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { graphHeaderFooterConfigStruct } from "../../header-footer/structs"; -import type { GraphHeaderFooterConfig } from "../../header-footer/types"; -import type { LovelaceCardEditor } from "../../types"; -import type { EditorTarget, EntitiesEditorEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; const includeDomains = ["sensor"]; diff --git a/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts index 5212293818..0814b4b6c6 100644 --- a/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts @@ -1,3 +1,9 @@ +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { GridCardConfig } from "../../cards/types"; + import { customElement } from "lit/decorators"; import { any, @@ -10,14 +16,10 @@ import { optional, string, } from "superstruct"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import type { GridCardConfig } from "../../cards/types"; + +import { DEFAULT_COLUMNS } from "../../cards/hui-grid-card"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { HuiStackCardEditor } from "./hui-stack-card-editor"; -import { DEFAULT_COLUMNS } from "../../cards/hui-grid-card"; const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts b/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts index 1624036f5e..c5c92dd8eb 100644 --- a/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts @@ -1,21 +1,24 @@ -import { mdiDelete, mdiDrag, mdiPencil, mdiPlus } from "@mdi/js"; -import type { ComboBoxLightOpenedChangedEvent } from "@vaadin/combo-box/vaadin-combo-box-light"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { preventDefault } from "../../../../common/dom/prevent_default"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; -import { computeStateName } from "../../../../common/entity/compute_state_name"; -import "../../../../components/entity/ha-entity-picker"; import type { HaEntityPicker } from "../../../../components/entity/ha-entity-picker"; +import type { HomeAssistant } from "../../../../types"; +import type { LovelaceHeadingBadgeConfig } from "../../heading-badges/types"; +import type { ComboBoxLightOpenedChangedEvent } from "@vaadin/combo-box/vaadin-combo-box-light"; + +import "../../../../components/entity/ha-entity-picker"; import "../../../../components/ha-button"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-list-item"; import "../../../../components/ha-sortable"; import "../../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../../types"; -import type { LovelaceHeadingBadgeConfig } from "../../heading-badges/types"; + +import { mdiDelete, mdiDrag, mdiPencil, mdiPlus } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { preventDefault } from "../../../../common/dom/prevent_default"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; +import { computeStateName } from "../../../../common/entity/compute_state_name"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/editor/config-elements/hui-heading-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-heading-card-editor.ts index 9a0486ebbf..e9f8763652 100644 --- a/src/panels/lovelace/editor/config-elements/hui-heading-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-heading-card-editor.ts @@ -1,3 +1,24 @@ +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { HeadingCardConfig } from "../../cards/types"; +import type { UiAction } from "../../components/hui-action-editor"; +import type { + EntityHeadingBadgeConfig, + LovelaceHeadingBadgeConfig, +} from "../../heading-badges/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { EditSubElementEvent } from "../types"; + +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-svg-icon"; +import "./hui-heading-badges-editor"; + import { mdiGestureTap, mdiListBox } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -12,30 +33,12 @@ import { optional, string, } from "superstruct"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-form/ha-form"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import "../../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../../types"; import { migrateHeadingCardConfig } from "../../cards/hui-heading-card"; -import type { HeadingCardConfig } from "../../cards/types"; -import type { UiAction } from "../../components/hui-action-editor"; -import type { - EntityHeadingBadgeConfig, - LovelaceHeadingBadgeConfig, -} from "../../heading-badges/types"; -import type { LovelaceCardEditor } from "../../types"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { EditSubElementEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; -import "./hui-heading-badges-editor"; const actions: UiAction[] = ["navigate", "url", "perform-action", "none"]; diff --git a/src/panels/lovelace/editor/config-elements/hui-history-graph-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-history-graph-card-editor.ts index 81ce443d72..60c07d2b7a 100644 --- a/src/panels/lovelace/editor/config-elements/hui-history-graph-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-history-graph-card-editor.ts @@ -1,4 +1,13 @@ +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { HistoryGraphCardConfig } from "../../cards/types"; +import type { EntityConfig } from "../../entity-rows/types"; +import type { LovelaceCardEditor } from "../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; +import "../../components/hui-entity-editor"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -12,18 +21,12 @@ import { optional, string, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; -import type { HistoryGraphCardConfig } from "../../cards/types"; -import "../../components/hui-entity-editor"; -import type { EntityConfig } from "../../entity-rows/types"; -import type { LovelaceCardEditor } from "../../types"; +import { DEFAULT_HOURS_TO_SHOW } from "../../cards/hui-history-graph-card"; import { processEditorEntities } from "../process-editor-entities"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { entitiesConfigStruct } from "../structs/entities-struct"; -import { DEFAULT_HOURS_TO_SHOW } from "../../cards/hui-history-graph-card"; const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-humidifier-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-humidifier-card-editor.ts index ebc035dfe3..0b33bd0d7a 100644 --- a/src/panels/lovelace/editor/config-elements/hui-humidifier-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-humidifier-card-editor.ts @@ -1,3 +1,23 @@ +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { + LovelaceCardFeatureConfig, + LovelaceCardFeatureContext, +} from "../../card-features/types"; +import type { HumidifierCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { EditDetailElementEvent, EditSubElementEvent } from "../types"; +import type { FeatureType } from "./hui-card-features-editor"; + +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-svg-icon"; +import "./hui-card-features-editor"; + import { mdiListBox } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -11,27 +31,10 @@ import { optional, string, } from "superstruct"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-form/ha-form"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import "../../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../../types"; -import type { - LovelaceCardFeatureConfig, - LovelaceCardFeatureContext, -} from "../../card-features/types"; -import type { HumidifierCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { EditDetailElementEvent, EditSubElementEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; -import "./hui-card-features-editor"; -import type { FeatureType } from "./hui-card-features-editor"; const COMPATIBLE_FEATURES_TYPES: FeatureType[] = [ "humidifier-modes", diff --git a/src/panels/lovelace/editor/config-elements/hui-humidifier-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-humidifier-modes-card-feature-editor.ts index 0c63483059..eb0665c843 100644 --- a/src/panels/lovelace/editor/config-elements/hui-humidifier-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-humidifier-modes-card-feature-editor.ts @@ -1,11 +1,5 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityAttributeValueFunc } from "../../../../common/translations/entity-state"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -16,6 +10,15 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; type HumidifierModesCardFeatureData = HumidifierModesCardFeatureConfig & { customize_modes: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-iframe-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-iframe-card-editor.ts index f6a0b664c8..480b3f7abb 100644 --- a/src/panels/lovelace/editor/config-elements/hui-iframe-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-iframe-card-editor.ts @@ -1,12 +1,15 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { assert, assign, boolean, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { IframeCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { assert, assign, boolean, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-lawn-mower-commands-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-lawn-mower-commands-card-feature-editor.ts index d4c7933ae0..015167c804 100644 --- a/src/panels/lovelace/editor/config-elements/hui-lawn-mower-commands-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-lawn-mower-commands-card-feature-editor.ts @@ -1,19 +1,22 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; import type { SchemaUnion } from "../../../../components/ha-form/types"; -import "../../../../components/ha-form/ha-form"; import type { HomeAssistant } from "../../../../types"; -import { supportsLawnMowerCommand } from "../../card-features/hui-lawn-mower-commands-card-feature"; import type { LawnMowerCommandsCardFeatureConfig, LovelaceCardFeatureContext, } from "../../card-features/types"; -import { LAWN_MOWER_COMMANDS } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { supportsLawnMowerCommand } from "../../card-features/hui-lawn-mower-commands-card-feature"; +import { LAWN_MOWER_COMMANDS } from "../../card-features/types"; @customElement("hui-lawn-mower-commands-card-feature-editor") export class HuiLawnMowerCommandsCardFeatureEditor diff --git a/src/panels/lovelace/editor/config-elements/hui-light-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-light-card-editor.ts index 2427b5d0d4..6b2f693070 100644 --- a/src/panels/lovelace/editor/config-elements/hui-light-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-light-card-editor.ts @@ -1,14 +1,17 @@ -import type { CSSResultGroup } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { assert, assign, object, optional, string } from "superstruct"; -import { mdiGestureTap } from "@mdi/js"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { LightCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; + +import { mdiGestureTap } from "@mdi/js"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { assert, assign, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { configElementStyle } from "./config-elements-style"; diff --git a/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts index 5315a27796..aea9327322 100644 --- a/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts @@ -1,3 +1,13 @@ +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { LogbookCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { HassServiceTarget } from "home-assistant-js-websocket"; + +import "../../../../components/entity/ha-entities-picker"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-target-picker"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { @@ -9,19 +19,12 @@ import { optional, string, } from "superstruct"; -import type { HassServiceTarget } from "home-assistant-js-websocket"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/entity/ha-entities-picker"; -import "../../../../components/ha-target-picker"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; import { filterLogbookCompatibleEntities } from "../../../../data/logbook"; -import type { HomeAssistant } from "../../../../types"; -import type { LogbookCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; -import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import { DEFAULT_HOURS_TO_SHOW } from "../../cards/hui-logbook-card"; import { targetStruct } from "../../../../data/script"; +import { DEFAULT_HOURS_TO_SHOW } from "../../cards/hui-logbook-card"; +import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-map-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-map-card-editor.ts index 2b05930ddb..7afb14b288 100644 --- a/src/panels/lovelace/editor/config-elements/hui-map-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-map-card-editor.ts @@ -1,7 +1,23 @@ -import { mdiPalette } from "@mdi/js"; +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { SelectSelector } from "../../../../data/selector"; +import type { HomeAssistant, ValueChangedEvent } from "../../../../types"; +import type { MapCardConfig } from "../../cards/types"; +import type { EntityConfig } from "../../entity-rows/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { EntitiesEditorEvent } from "../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-formfield"; +import "../../../../components/ha-selector/ha-selector-select"; +import "../../../../components/ha-switch"; +import "../../components/hui-entity-editor"; + +import { mdiPalette } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; import { array, assert, @@ -13,27 +29,15 @@ import { string, union, } from "superstruct"; -import memoizeOne from "memoize-one"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import { hasLocation } from "../../../../common/entity/has_location"; import { computeDomain } from "../../../../common/entity/compute_domain"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { SelectSelector } from "../../../../data/selector"; -import "../../../../components/ha-formfield"; -import "../../../../components/ha-switch"; -import "../../../../components/ha-selector/ha-selector-select"; -import type { HomeAssistant, ValueChangedEvent } from "../../../../types"; +import { hasLocation } from "../../../../common/entity/has_location"; import { DEFAULT_HOURS_TO_SHOW, DEFAULT_ZOOM } from "../../cards/hui-map-card"; -import type { MapCardConfig } from "../../cards/types"; -import "../../components/hui-entity-editor"; -import type { EntityConfig } from "../../entity-rows/types"; -import type { LovelaceCardEditor } from "../../types"; import { processEditorEntities } from "../process-editor-entities"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { EntitiesEditorEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; + export const mapEntitiesConfigStruct = union([ object({ diff --git a/src/panels/lovelace/editor/config-elements/hui-markdown-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-markdown-card-editor.ts index 2e33bd0f39..d92716e2e3 100644 --- a/src/panels/lovelace/editor/config-elements/hui-markdown-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-markdown-card-editor.ts @@ -1,10 +1,4 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { assert, assign, boolean, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -12,6 +6,15 @@ import type { import type { HomeAssistant } from "../../../../types"; import type { MarkdownCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { assert, assign, boolean, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-media-control-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-media-control-card-editor.ts index 6602b02d7e..f42f65c072 100644 --- a/src/panels/lovelace/editor/config-elements/hui-media-control-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-media-control-card-editor.ts @@ -1,15 +1,18 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { assert, assign, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/entity/ha-entity-picker"; -import "../../../../components/ha-theme-picker"; import type { HomeAssistant } from "../../../../types"; import type { MediaControlCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; -import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import type { EditorTarget, EntitiesEditorEvent } from "../types"; +import "../../../../components/entity/ha-entity-picker"; +import "../../../../components/ha-theme-picker"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { assert, assign, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { baseLovelaceCardConfig } from "../structs/base-card-struct"; + const cardConfigStruct = assign( baseLovelaceCardConfig, object({ diff --git a/src/panels/lovelace/editor/config-elements/hui-numeric-input-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-numeric-input-card-feature-editor.ts index da7e4ec33c..0ecaa6f6ee 100644 --- a/src/panels/lovelace/editor/config-elements/hui-numeric-input-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-numeric-input-card-feature-editor.ts @@ -1,8 +1,4 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; +import type { LocalizeFunc } from "../../../../common/translations/localize"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { @@ -10,7 +6,14 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; @customElement("hui-numeric-input-card-feature-editor") export class HuiNumericInputCardFeatureEditor diff --git a/src/panels/lovelace/editor/config-elements/hui-picture-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-picture-card-editor.ts index d084a2a400..d670ce42ab 100644 --- a/src/panels/lovelace/editor/config-elements/hui-picture-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-picture-card-editor.ts @@ -1,14 +1,17 @@ +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { PictureCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-theme-picker"; +import "../../components/hui-action-editor"; + import { mdiGestureTap } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { assert, assign, object, optional, string } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import "../../../../components/ha-theme-picker"; -import type { HomeAssistant } from "../../../../types"; -import type { PictureCardConfig } from "../../cards/types"; -import "../../components/hui-action-editor"; -import type { LovelaceCardEditor } from "../../types"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; diff --git a/src/panels/lovelace/editor/config-elements/hui-picture-elements-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-picture-elements-card-editor.ts index 6e1f761f30..e03430e8d2 100644 --- a/src/panels/lovelace/editor/config-elements/hui-picture-elements-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-picture-elements-card-editor.ts @@ -1,6 +1,23 @@ +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; +import type { HomeAssistant } from "../../../../types"; +import type { PictureElementsCardConfig } from "../../cards/types"; +import type { LovelaceElementConfig } from "../../elements/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { EditDetailElementEvent, SubElementEditorConfig } from "../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-card"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-icon"; +import "../../../../components/ha-switch"; +import "../hui-picture-elements-card-row-editor"; +import "../hui-sub-element-editor"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; import { any, array, @@ -11,24 +28,10 @@ import { string, type, } from "superstruct"; -import memoizeOne from "memoize-one"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-card"; -import "../../../../components/ha-form/ha-form"; -import "../../../../components/ha-icon"; -import "../../../../components/ha-switch"; -import type { HomeAssistant } from "../../../../types"; -import type { PictureElementsCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; -import "../hui-sub-element-editor"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { EditDetailElementEvent, SubElementEditorConfig } from "../types"; import { configElementStyle } from "./config-elements-style"; -import "../hui-picture-elements-card-row-editor"; -import type { LovelaceElementConfig } from "../../elements/types"; -import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; const genericElementConfigStruct = type({ type: string(), diff --git a/src/panels/lovelace/editor/config-elements/hui-picture-entity-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-picture-entity-card-editor.ts index 86a5686909..7bfc00a47d 100644 --- a/src/panels/lovelace/editor/config-elements/hui-picture-entity-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-picture-entity-card-editor.ts @@ -1,16 +1,19 @@ -import { mdiGestureTap } from "@mdi/js"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { PictureEntityCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; + +import { mdiGestureTap } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { assert, assign, boolean, object, optional, string } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { computeDomain } from "../../../../common/entity/compute_domain"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; import { STUB_IMAGE } from "../../cards/hui-picture-entity-card"; -import type { PictureEntityCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { configElementStyle } from "./config-elements-style"; diff --git a/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts index 763380265d..a6b769f3d7 100644 --- a/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts @@ -1,17 +1,20 @@ -import type { CSSResultGroup } from "lit"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { array, assert, assign, object, optional, string } from "superstruct"; -import { mdiGestureTap } from "@mdi/js"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { ActionConfig } from "../../../../data/lovelace/config/action"; import type { HomeAssistant } from "../../../../types"; import type { PictureGlanceCardConfig } from "../../cards/types"; -import "../../components/hui-entity-editor"; import type { EntityConfig } from "../../entity-rows/types"; import type { LovelaceCardEditor } from "../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; +import "../../components/hui-entity-editor"; + +import { mdiGestureTap } from "@mdi/js"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { array, assert, assign, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { processEditorEntities } from "../process-editor-entities"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; diff --git a/src/panels/lovelace/editor/config-elements/hui-plant-status-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-plant-status-card-editor.ts index 1fde6b438d..f7cf39a2fc 100644 --- a/src/panels/lovelace/editor/config-elements/hui-plant-status-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-plant-status-card-editor.ts @@ -1,12 +1,15 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { assert, assign, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { PlantStatusCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { assert, assign, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-select-options-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-select-options-card-feature-editor.ts index c9d63bad8a..89387d7eab 100644 --- a/src/panels/lovelace/editor/config-elements/hui-select-options-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-select-options-card-feature-editor.ts @@ -1,10 +1,4 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityStateFunc } from "../../../../common/translations/entity-state"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -15,6 +9,15 @@ import type { SelectOptionsCardFeatureConfig, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; type SelectOptionsCardFeatureData = SelectOptionsCardFeatureConfig & { customize_options: boolean; diff --git a/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts index d7dc0d5cfa..be75e24836 100644 --- a/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts @@ -1,4 +1,11 @@ +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { SensorCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-form/ha-form"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { @@ -11,15 +18,11 @@ import { string, union, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; -import type { SensorCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; +import { DEFAULT_HOURS_TO_SHOW } from "../../cards/hui-sensor-card"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { configElementStyle } from "./config-elements-style"; -import { DEFAULT_HOURS_TO_SHOW } from "../../cards/hui-sensor-card"; const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts index c08c959c22..01a2e279c0 100644 --- a/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts @@ -1,3 +1,26 @@ +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; +import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../../../types"; +import type { StackCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { HuiCardElementEditor } from "../card-editor/hui-card-element-editor"; +import type { ConfigChangedEvent } from "../hui-element-editor"; +import type { GUIModeChangedEvent } from "../types"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-icon-button-arrow-next"; +import "../../../../components/ha-icon-button-arrow-prev"; +import "../card-editor/hui-card-element-editor"; +import "../card-editor/hui-card-picker"; +import "@polymer/paper-tabs"; +import "@polymer/paper-tabs/paper-tab"; + import { mdiCodeBraces, mdiContentCopy, @@ -6,12 +29,10 @@ import { mdiListBoxOutline, mdiPlus, } from "@mdi/js"; -import "@polymer/paper-tabs"; -import "@polymer/paper-tabs/paper-tab"; import deepClone from "deep-clone-simple"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; +import { keyed } from "lit/directives/keyed"; import { any, array, @@ -21,28 +42,10 @@ import { optional, string, } from "superstruct"; -import { keyed } from "lit/directives/keyed"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; + import { storage } from "../../../../common/decorators/storage"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-icon-button"; -import "../../../../components/ha-icon-button-arrow-prev"; -import "../../../../components/ha-icon-button-arrow-next"; -import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; -import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; -import type { HomeAssistant } from "../../../../types"; -import type { StackCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; -import "../card-editor/hui-card-element-editor"; -import type { HuiCardElementEditor } from "../card-editor/hui-card-element-editor"; -import "../card-editor/hui-card-picker"; -import type { ConfigChangedEvent } from "../hui-element-editor"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { GUIModeChangedEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-state-label-badge-editor.ts b/src/panels/lovelace/editor/config-elements/hui-state-label-badge-editor.ts index e76179b176..5e0e692849 100644 --- a/src/panels/lovelace/editor/config-elements/hui-state-label-badge-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-state-label-badge-editor.ts @@ -1,14 +1,17 @@ -import { customElement } from "lit/decorators"; -import { assert, assign, boolean, object, optional, string } from "superstruct"; -import "../../../../components/ha-form/ha-form"; import type { EntityBadgeConfig, StateLabelBadgeConfig, } from "../../badges/types"; + +import "../../../../components/ha-form/ha-form"; import "../hui-sub-element-editor"; +import "./hui-card-features-editor"; + +import { customElement } from "lit/decorators"; +import { assert, assign, boolean, object, optional, string } from "superstruct"; + import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceBadgeConfig } from "../structs/base-badge-struct"; -import "./hui-card-features-editor"; import { HuiEntityBadgeEditor } from "./hui-entity-badge-editor"; const badgeConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts index d00448e852..3156ab5794 100644 --- a/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts @@ -1,25 +1,28 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { any, assert, assign, object, optional, string } from "superstruct"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import { deepEqual } from "../../../../common/util/deep-equal"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { StatisticsMetaData, StatisticType, } from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { StatisticCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { any, assert, assign, object, optional, string } from "superstruct"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { deepEqual } from "../../../../common/util/deep-equal"; import { getStatisticMetadata, StatisticMeanType, statisticsMetaHasType, } from "../../../../data/recorder"; -import type { HomeAssistant } from "../../../../types"; -import type { StatisticCardConfig } from "../../cards/types"; import { headerFooterConfigStructs } from "../../header-footer/structs"; -import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts index 72587da898..bc71205554 100644 --- a/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts @@ -1,4 +1,17 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { HaFormSchema } from "../../../../components/ha-form/types"; +import type { + StatisticsMetaData, + StatisticType, +} from "../../../../data/recorder"; +import type { HomeAssistant } from "../../../../types"; +import type { StatisticsGraphCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/entity/ha-statistics-picker"; +import "../../../../components/ha-form/ha-form"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -14,31 +27,21 @@ import { string, union, } from "superstruct"; + import { ensureArray } from "../../../../common/array/ensure-array"; import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; import { deepEqual } from "../../../../common/util/deep-equal"; import { supportedStatTypeMap } from "../../../../components/chart/statistics-chart"; -import "../../../../components/entity/ha-statistics-picker"; -import "../../../../components/ha-form/ha-form"; -import type { HaFormSchema } from "../../../../components/ha-form/types"; -import type { - StatisticsMetaData, - StatisticType, -} from "../../../../data/recorder"; import { getDisplayUnit, getStatisticMetadata, isExternalStatistic, statisticsMetaHasType, } from "../../../../data/recorder"; -import type { HomeAssistant } from "../../../../types"; -import type { StatisticsGraphCardConfig } from "../../cards/types"; +import { DEFAULT_DAYS_TO_SHOW } from "../../cards/hui-statistics-graph-card"; import { processConfigEntities } from "../../common/process-config-entities"; -import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { entitiesConfigStruct } from "../structs/entities-struct"; -import { DEFAULT_DAYS_TO_SHOW } from "../../cards/hui-statistics-graph-card"; const statTypeStruct = union([ literal("state"), diff --git a/src/panels/lovelace/editor/config-elements/hui-thermostat-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-thermostat-card-editor.ts index b274c80bb9..a82722b82c 100644 --- a/src/panels/lovelace/editor/config-elements/hui-thermostat-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-thermostat-card-editor.ts @@ -1,3 +1,23 @@ +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { + LovelaceCardFeatureConfig, + LovelaceCardFeatureContext, +} from "../../card-features/types"; +import type { ThermostatCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { EditDetailElementEvent, EditSubElementEvent } from "../types"; +import type { FeatureType } from "./hui-card-features-editor"; + +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-svg-icon"; +import "./hui-card-features-editor"; + import { mdiListBox } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -11,27 +31,10 @@ import { optional, string, } from "superstruct"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-form/ha-form"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import "../../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../../types"; -import type { - LovelaceCardFeatureConfig, - LovelaceCardFeatureContext, -} from "../../card-features/types"; -import type { ThermostatCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { EditDetailElementEvent, EditSubElementEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; -import "./hui-card-features-editor"; -import type { FeatureType } from "./hui-card-features-editor"; const COMPATIBLE_FEATURES_TYPES: FeatureType[] = [ "climate-hvac-modes", diff --git a/src/panels/lovelace/editor/config-elements/hui-tile-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-tile-card-editor.ts index 3fe5cc938f..67430eb3fc 100644 --- a/src/panels/lovelace/editor/config-elements/hui-tile-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-tile-card-editor.ts @@ -1,5 +1,24 @@ -import { mdiGestureTap, mdiListBox, mdiTextShort } from "@mdi/js"; +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { + LovelaceCardFeatureConfig, + LovelaceCardFeatureContext, +} from "../../card-features/types"; +import type { TileCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; +import type { EditDetailElementEvent, EditSubElementEvent } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-svg-icon"; + +import { mdiGestureTap, mdiListBox, mdiTextShort } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -15,27 +34,11 @@ import { string, union, } from "superstruct"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-form/ha-form"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import "../../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../../types"; -import type { - LovelaceCardFeatureConfig, - LovelaceCardFeatureContext, -} from "../../card-features/types"; import { getEntityDefaultTileIconAction } from "../../cards/hui-tile-card"; -import type { TileCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { EditDetailElementEvent, EditSubElementEvent } from "../types"; import { configElementStyle } from "./config-elements-style"; import { getSupportedFeaturesType } from "./hui-card-features-editor"; diff --git a/src/panels/lovelace/editor/config-elements/hui-todo-list-editor.ts b/src/panels/lovelace/editor/config-elements/hui-todo-list-editor.ts index 83396f00d9..f972eeda58 100644 --- a/src/panels/lovelace/editor/config-elements/hui-todo-list-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-todo-list-editor.ts @@ -1,21 +1,25 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { TodoListCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-alert"; +import "../../../../components/ha-form/ha-form"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; import { assert, assign, boolean, object, optional, string } from "superstruct"; + import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-alert"; -import "../../../../components/ha-form/ha-form"; -import type { HomeAssistant } from "../../../../types"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import type { TodoListCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; -import { baseLovelaceCardConfig } from "../structs/base-card-struct"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; -import { configElementStyle } from "./config-elements-style"; -import { TodoListEntityFeature, TodoSortMode } from "../../../../data/todo"; import { supportsFeature } from "../../../../common/entity/supports-feature"; +import { TodoListEntityFeature, TodoSortMode } from "../../../../data/todo"; +import { baseLovelaceCardConfig } from "../structs/base-card-struct"; +import { configElementStyle } from "./config-elements-style"; + const cardConfigStruct = assign( baseLovelaceCardConfig, diff --git a/src/panels/lovelace/editor/config-elements/hui-update-actions-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-update-actions-card-feature-editor.ts index 9497c6ae90..f4a27110de 100644 --- a/src/panels/lovelace/editor/config-elements/hui-update-actions-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-update-actions-card-feature-editor.ts @@ -1,9 +1,4 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { HomeAssistant } from "../../../../types"; import type { @@ -11,6 +6,14 @@ import type { UpdateActionsCardFeatureConfig, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { supportsFeature } from "../../../../common/entity/supports-feature"; import { UpdateEntityFeature } from "../../../../data/update"; import { DEFAULT_UPDATE_BACKUP_OPTION } from "../../card-features/hui-update-actions-card-feature"; diff --git a/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-card-feature-editor.ts index 0baa887764..5864893884 100644 --- a/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-card-feature-editor.ts @@ -1,19 +1,22 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; import type { SchemaUnion } from "../../../../components/ha-form/types"; -import "../../../../components/ha-form/ha-form"; import type { HomeAssistant } from "../../../../types"; -import { supportsVacuumCommand } from "../../card-features/hui-vacuum-commands-card-feature"; import type { LovelaceCardFeatureContext, VacuumCommandsCardFeatureConfig, } from "../../card-features/types"; -import { VACUUM_COMMANDS } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { supportsVacuumCommand } from "../../card-features/hui-vacuum-commands-card-feature"; +import { VACUUM_COMMANDS } from "../../card-features/types"; @customElement("hui-vacuum-commands-card-feature-editor") export class HuiVacuumCommandsCardFeatureEditor diff --git a/src/panels/lovelace/editor/config-elements/hui-water-heater-operation-modes-card-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-water-heater-operation-modes-card-feature-editor.ts index d793ec81e3..b8ca655b8b 100644 --- a/src/panels/lovelace/editor/config-elements/hui-water-heater-operation-modes-card-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-water-heater-operation-modes-card-feature-editor.ts @@ -1,10 +1,4 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { FormatEntityStateFunc } from "../../../../common/translations/entity-state"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -15,6 +9,15 @@ import type { LovelaceCardFeatureContext, } from "../../card-features/types"; import type { LovelaceCardFeatureEditor } from "../../types"; +import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { compareWaterHeaterOperationMode } from "../../../../data/water_heater"; type WaterHeaterOperationModesCardFeatureData = diff --git a/src/panels/lovelace/editor/config-elements/hui-weather-forecast-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-weather-forecast-card-editor.ts index ccc286cca5..11ae433315 100644 --- a/src/panels/lovelace/editor/config-elements/hui-weather-forecast-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-weather-forecast-card-editor.ts @@ -1,3 +1,12 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import type { ForecastType, WeatherEntity } from "../../../../data/weather"; +import type { HomeAssistant } from "../../../../types"; +import type { WeatherForecastCardConfig } from "../../cards/types"; +import type { LovelaceCardEditor } from "../../types"; + +import "../../../../components/ha-form/ha-form"; + import { mdiGestureTap } from "@mdi/js"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -11,17 +20,11 @@ import { optional, string, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { supportsFeature } from "../../../../common/entity/supports-feature"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; -import type { SchemaUnion } from "../../../../components/ha-form/types"; import { UNAVAILABLE } from "../../../../data/entity"; -import type { ForecastType, WeatherEntity } from "../../../../data/weather"; import { WeatherEntityFeature } from "../../../../data/weather"; -import type { HomeAssistant } from "../../../../types"; -import type { WeatherForecastCardConfig } from "../../cards/types"; -import type { LovelaceCardEditor } from "../../types"; import { actionConfigStruct } from "../structs/action-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; diff --git a/src/panels/lovelace/editor/config-util.ts b/src/panels/lovelace/editor/config-util.ts index 10c0e37e87..7a99b1f833 100644 --- a/src/panels/lovelace/editor/config-util.ts +++ b/src/panels/lovelace/editor/config-util.ts @@ -1,12 +1,13 @@ import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; -import { ensureBadgeConfig } from "../../../data/lovelace/config/badge"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceSectionRawConfig } from "../../../data/lovelace/config/section"; import type { LovelaceConfig } from "../../../data/lovelace/config/types"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; -import { isStrategyView } from "../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../types"; import type { LovelaceCardPath, LovelaceContainerPath } from "./lovelace-path"; + +import { ensureBadgeConfig } from "../../../data/lovelace/config/badge"; +import { isStrategyView } from "../../../data/lovelace/config/view"; import { findLovelaceContainer, findLovelaceItems, diff --git a/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/dialog-dashboard-strategy-editor.ts b/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/dialog-dashboard-strategy-editor.ts index 0937d6c883..9eb37ca395 100644 --- a/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/dialog-dashboard-strategy-editor.ts +++ b/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/dialog-dashboard-strategy-editor.ts @@ -1,30 +1,33 @@ +import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; +import type { LovelaceStrategyConfig } from "../../../../../data/lovelace/config/strategy"; +import type { HomeAssistant } from "../../../../../types"; +import type { ConfigChangedEvent } from "../../hui-element-editor"; +import type { GUIModeChangedEvent } from "../../types"; +import type { HuiDashboardStrategyElementEditor } from "../hui-dashboard-strategy-element-editor"; +import type { DashboardStrategyEditorDialogParams } from "./show-dialog-dashboard-strategy-editor"; +import type { CSSResultGroup } from "lit"; + +import "../../../../../components/ha-button"; +import "../../../../../components/ha-button-menu"; +import "../../../../../components/ha-dialog"; +import "../../../../../components/ha-dialog-header"; +import "../../../../../components/ha-icon-button"; +import "../hui-dashboard-strategy-element-editor"; + import { mdiAccountHardHat, mdiClose, mdiDotsVertical, mdiPlaylistEdit, } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; -import type { HASSDomEvent } from "../../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../../common/dom/stop_propagation"; -import "../../../../../components/ha-button"; -import "../../../../../components/ha-button-menu"; -import "../../../../../components/ha-dialog"; -import "../../../../../components/ha-dialog-header"; -import "../../../../../components/ha-icon-button"; -import type { LovelaceStrategyConfig } from "../../../../../data/lovelace/config/strategy"; import { haStyleDialog } from "../../../../../resources/styles"; -import type { HomeAssistant } from "../../../../../types"; import { showSaveSuccessToast } from "../../../../../util/toast-saved-success"; import { cleanLegacyStrategyConfig } from "../../../strategies/legacy-strategy"; -import type { ConfigChangedEvent } from "../../hui-element-editor"; -import type { GUIModeChangedEvent } from "../../types"; -import "../hui-dashboard-strategy-element-editor"; -import type { HuiDashboardStrategyElementEditor } from "../hui-dashboard-strategy-element-editor"; -import type { DashboardStrategyEditorDialogParams } from "./show-dialog-dashboard-strategy-editor"; @customElement("dialog-dashboard-strategy-editor") class DialogDashboardStrategyEditor extends LitElement { diff --git a/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/show-dialog-dashboard-strategy-editor.ts b/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/show-dialog-dashboard-strategy-editor.ts index b2fd7a761d..a51d49e8ba 100644 --- a/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/show-dialog-dashboard-strategy-editor.ts +++ b/src/panels/lovelace/editor/dashboard-strategy-editor/dialogs/show-dialog-dashboard-strategy-editor.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../../common/dom/fire_event"; import type { LovelaceDashboardStrategyConfig } from "../../../../../data/lovelace/config/types"; +import { fireEvent } from "../../../../../common/dom/fire_event"; + export interface DashboardStrategyEditorDialogParams { config: LovelaceDashboardStrategyConfig; saveConfig: (config: LovelaceDashboardStrategyConfig) => void; diff --git a/src/panels/lovelace/editor/dashboard-strategy-editor/hui-dashboard-strategy-element-editor.ts b/src/panels/lovelace/editor/dashboard-strategy-editor/hui-dashboard-strategy-element-editor.ts index 195dbec647..47d0572532 100644 --- a/src/panels/lovelace/editor/dashboard-strategy-editor/hui-dashboard-strategy-element-editor.ts +++ b/src/panels/lovelace/editor/dashboard-strategy-editor/hui-dashboard-strategy-element-editor.ts @@ -1,7 +1,9 @@ -import { customElement } from "lit/decorators"; import type { LovelaceDashboardStrategyConfig } from "../../../../data/lovelace/config/types"; -import { getLovelaceStrategy } from "../../strategies/get-strategy"; import type { LovelaceStrategyEditor } from "../../strategies/types"; + +import { customElement } from "lit/decorators"; + +import { getLovelaceStrategy } from "../../strategies/get-strategy"; import { HuiTypedElementEditor } from "../hui-typed-element-editor"; @customElement("hui-dashboard-strategy-element-editor") diff --git a/src/panels/lovelace/editor/dashboard-strategy-editor/hui-iframe-dashboard-strategy-editor.ts b/src/panels/lovelace/editor/dashboard-strategy-editor/hui-iframe-dashboard-strategy-editor.ts index fb06ab34f6..3c5163e63a 100644 --- a/src/panels/lovelace/editor/dashboard-strategy-editor/hui-iframe-dashboard-strategy-editor.ts +++ b/src/panels/lovelace/editor/dashboard-strategy-editor/hui-iframe-dashboard-strategy-editor.ts @@ -1,7 +1,3 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -10,6 +6,13 @@ import type { HomeAssistant } from "../../../../types"; import type { IframeDashboardStrategyConfig } from "../../strategies/iframe/iframe-dashboard-strategy"; import type { LovelaceStrategyEditor } from "../../strategies/types"; +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + const SCHEMA = [ { name: "url", diff --git a/src/panels/lovelace/editor/dashboard-strategy-editor/hui-original-states-dashboard-strategy-editor.ts b/src/panels/lovelace/editor/dashboard-strategy-editor/hui-original-states-dashboard-strategy-editor.ts index 291be48a1f..d0886372d5 100644 --- a/src/panels/lovelace/editor/dashboard-strategy-editor/hui-original-states-dashboard-strategy-editor.ts +++ b/src/panels/lovelace/editor/dashboard-strategy-editor/hui-original-states-dashboard-strategy-editor.ts @@ -1,7 +1,3 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -10,6 +6,13 @@ import type { HomeAssistant } from "../../../../types"; import type { OriginalStatesDashboardStrategyConfig } from "../../strategies/original-states/original-states-dashboard-strategy"; import type { LovelaceStrategyEditor } from "../../strategies/types"; +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + const SCHEMA = [ { name: "areas", diff --git a/src/panels/lovelace/editor/delete-badge.ts b/src/panels/lovelace/editor/delete-badge.ts index 8ee3c1eba7..d752ebaaca 100644 --- a/src/panels/lovelace/editor/delete-badge.ts +++ b/src/panels/lovelace/editor/delete-badge.ts @@ -1,8 +1,9 @@ import type { HomeAssistant } from "../../../types"; import type { Lovelace } from "../types"; -import { deleteBadge } from "./config-util"; import type { LovelaceCardPath } from "./lovelace-path"; +import { deleteBadge } from "./config-util"; + export interface DeleteBadgeParams { path: LovelaceCardPath; silent: boolean; diff --git a/src/panels/lovelace/editor/delete-card.ts b/src/panels/lovelace/editor/delete-card.ts index 71c37b85e3..b75e735aa2 100644 --- a/src/panels/lovelace/editor/delete-card.ts +++ b/src/panels/lovelace/editor/delete-card.ts @@ -1,8 +1,9 @@ import type { HomeAssistant } from "../../../types"; import type { Lovelace } from "../types"; -import { deleteCard } from "./config-util"; import type { LovelaceCardPath } from "./lovelace-path"; +import { deleteCard } from "./config-util"; + export interface DeleteCardParams { path: LovelaceCardPath; silent: boolean; diff --git a/src/panels/lovelace/editor/entity-row-editor/hui-row-element-editor.ts b/src/panels/lovelace/editor/entity-row-editor/hui-row-element-editor.ts index bb497c4fb4..b7a6f39216 100644 --- a/src/panels/lovelace/editor/entity-row-editor/hui-row-element-editor.ts +++ b/src/panels/lovelace/editor/entity-row-editor/hui-row-element-editor.ts @@ -1,10 +1,13 @@ -import { customElement } from "lit/decorators"; -import { getRowElementClass } from "../../create-element/create-row-element"; import type { LovelaceRowConfig } from "../../entity-rows/types"; import type { LovelaceRowEditor } from "../../types"; -import { HuiTypedElementEditor } from "../hui-typed-element-editor"; + import "../config-elements/hui-generic-entity-row-editor"; +import { customElement } from "lit/decorators"; + +import { getRowElementClass } from "../../create-element/create-row-element"; +import { HuiTypedElementEditor } from "../hui-typed-element-editor"; + const GENERIC_ROW_TYPE = "generic-row"; @customElement("hui-row-element-editor") diff --git a/src/panels/lovelace/editor/feature-editor/hui-card-feature-element-editor.ts b/src/panels/lovelace/editor/feature-editor/hui-card-feature-element-editor.ts index 834c331aea..b4ceab1b6f 100644 --- a/src/panels/lovelace/editor/feature-editor/hui-card-feature-element-editor.ts +++ b/src/panels/lovelace/editor/feature-editor/hui-card-feature-element-editor.ts @@ -1,5 +1,3 @@ -import { customElement } from "lit/decorators"; -import { getCardFeatureElementClass } from "../../create-element/create-card-feature-element"; import type { LovelaceCardFeatureConfig, LovelaceCardFeatureContext, @@ -8,6 +6,10 @@ import type { LovelaceConfigForm, LovelaceCardFeatureEditor, } from "../../types"; + +import { customElement } from "lit/decorators"; + +import { getCardFeatureElementClass } from "../../create-element/create-card-feature-element"; import { HuiTypedElementEditor } from "../hui-typed-element-editor"; @customElement("hui-card-feature-element-editor") diff --git a/src/panels/lovelace/editor/get-badge-stub-config.ts b/src/panels/lovelace/editor/get-badge-stub-config.ts index 3f18bb7a74..070b973e7d 100644 --- a/src/panels/lovelace/editor/get-badge-stub-config.ts +++ b/src/panels/lovelace/editor/get-badge-stub-config.ts @@ -1,5 +1,6 @@ import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../types"; + import { getBadgeElementClass } from "../create-element/create-badge-element"; export const getBadgeStubConfig = async ( diff --git a/src/panels/lovelace/editor/get-card-stub-config.ts b/src/panels/lovelace/editor/get-card-stub-config.ts index 1fc7eeb1e4..c32ff9e89e 100644 --- a/src/panels/lovelace/editor/get-card-stub-config.ts +++ b/src/panels/lovelace/editor/get-card-stub-config.ts @@ -1,5 +1,6 @@ import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { HomeAssistant } from "../../../types"; + import { getCardElementClass } from "../create-element/create-card-element"; export const getCardStubConfig = async ( diff --git a/src/panels/lovelace/editor/get-dashboard-documentation-url.ts b/src/panels/lovelace/editor/get-dashboard-documentation-url.ts index 658e1f2cec..39126e6d56 100644 --- a/src/panels/lovelace/editor/get-dashboard-documentation-url.ts +++ b/src/panels/lovelace/editor/get-dashboard-documentation-url.ts @@ -1,10 +1,11 @@ +import type { HomeAssistant } from "../../../types"; + import { getCustomBadgeEntry, getCustomCardEntry, isCustomType, stripCustomPrefix, } from "../../../data/lovelace_custom_cards"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; export const getCardDocumentationURL = ( diff --git a/src/panels/lovelace/editor/get-element-stub-config.ts b/src/panels/lovelace/editor/get-element-stub-config.ts index 46516c7698..d15d0dfc86 100644 --- a/src/panels/lovelace/editor/get-element-stub-config.ts +++ b/src/panels/lovelace/editor/get-element-stub-config.ts @@ -1,5 +1,6 @@ -import type { LovelaceElementConfig } from "../elements/types"; import type { HomeAssistant } from "../../../types"; +import type { LovelaceElementConfig } from "../elements/types"; + import { getPictureElementClass } from "../create-element/create-picture-element"; export const getElementStubConfig = async ( diff --git a/src/panels/lovelace/editor/header-footer-editor/get-headerfooter-stub-config.ts b/src/panels/lovelace/editor/header-footer-editor/get-headerfooter-stub-config.ts index 791fac8afe..30f00eb40a 100644 --- a/src/panels/lovelace/editor/header-footer-editor/get-headerfooter-stub-config.ts +++ b/src/panels/lovelace/editor/header-footer-editor/get-headerfooter-stub-config.ts @@ -1,7 +1,8 @@ import type { HomeAssistant } from "../../../../types"; -import { getHeaderFooterElementClass } from "../../create-element/create-header-footer-element"; import type { LovelaceHeaderFooterConfig } from "../../header-footer/types"; +import { getHeaderFooterElementClass } from "../../create-element/create-header-footer-element"; + export const getHeaderFooterStubConfig = async ( hass: HomeAssistant, type: LovelaceHeaderFooterConfig["type"], diff --git a/src/panels/lovelace/editor/header-footer-editor/hui-dialog-create-headerfooter.ts b/src/panels/lovelace/editor/header-footer-editor/hui-dialog-create-headerfooter.ts index ffc58df168..5f01a3b034 100644 --- a/src/panels/lovelace/editor/header-footer-editor/hui-dialog-create-headerfooter.ts +++ b/src/panels/lovelace/editor/header-footer-editor/hui-dialog-create-headerfooter.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { createCloseHeading } from "../../../../components/ha-dialog"; import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; -import { haStyleDialog } from "../../../../resources/styles"; import type { HomeAssistant } from "../../../../types"; import type { LovelaceHeaderFooterConfig } from "../../header-footer/types"; +import type { CreateHeaderFooterDialogParams } from "./show-create-headerfooter-dialog"; +import type { CSSResultGroup } from "lit"; + +import "@material/mwc-button/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../components/ha-dialog"; +import { haStyleDialog } from "../../../../resources/styles"; import { headerFooterElements } from "../lovelace-headerfooters"; import { getHeaderFooterStubConfig } from "./get-headerfooter-stub-config"; -import type { CreateHeaderFooterDialogParams } from "./show-create-headerfooter-dialog"; @customElement("hui-dialog-create-headerfooter") export class HuiCreateDialogHeaderFooter diff --git a/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts b/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts index 17f3f2cfb9..7d93f62f11 100644 --- a/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts +++ b/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts @@ -1,12 +1,15 @@ -import { mdiClose, mdiPencil, mdiPlus } from "@mdi/js"; -import type { TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-icon-button"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { HomeAssistant } from "../../../../types"; import type { LovelaceHeaderFooterConfig } from "../../header-footer/types"; +import type { TemplateResult } from "lit"; + +import "../../../../components/ha-icon-button"; + +import { mdiClose, mdiPencil, mdiPlus } from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; import { showCreateHeaderFooterDialog } from "./show-create-headerfooter-dialog"; @customElement("hui-header-footer-editor") diff --git a/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-element-editor.ts b/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-element-editor.ts index 6e1ee68eb6..bb2feeecc2 100644 --- a/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-element-editor.ts +++ b/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-element-editor.ts @@ -1,7 +1,9 @@ -import { customElement } from "lit/decorators"; -import { getHeaderFooterElementClass } from "../../create-element/create-header-footer-element"; import type { LovelaceHeaderFooterConfig } from "../../header-footer/types"; import type { LovelaceHeaderFooterEditor } from "../../types"; + +import { customElement } from "lit/decorators"; + +import { getHeaderFooterElementClass } from "../../create-element/create-header-footer-element"; import { HuiTypedElementEditor } from "../hui-typed-element-editor"; @customElement("hui-headerfooter-element-editor") diff --git a/src/panels/lovelace/editor/header-footer-editor/show-create-headerfooter-dialog.ts b/src/panels/lovelace/editor/header-footer-editor/show-create-headerfooter-dialog.ts index 3a8a6489b7..f52ea3d9e7 100644 --- a/src/panels/lovelace/editor/header-footer-editor/show-create-headerfooter-dialog.ts +++ b/src/panels/lovelace/editor/header-footer-editor/show-create-headerfooter-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceHeaderFooterConfig } from "../../header-footer/types"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface CreateHeaderFooterDialogParams { pickHeaderFooter: (config: LovelaceHeaderFooterConfig) => void; type: "header" | "footer"; diff --git a/src/panels/lovelace/editor/heading-badge-editor/hui-entity-heading-badge-editor.ts b/src/panels/lovelace/editor/heading-badge-editor/hui-entity-heading-badge-editor.ts index 19c607d6f1..50c2304722 100644 --- a/src/panels/lovelace/editor/heading-badge-editor/hui-entity-heading-badge-editor.ts +++ b/src/panels/lovelace/editor/heading-badge-editor/hui-entity-heading-badge-editor.ts @@ -1,3 +1,17 @@ +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { + HaFormSchema, + SchemaUnion, +} from "../../../../components/ha-form/types"; +import type { HomeAssistant } from "../../../../types"; +import type { Condition } from "../../common/validate-condition"; +import type { EntityHeadingBadgeConfig } from "../../heading-badges/types"; +import type { LovelaceGenericElementEditor } from "../../types"; + +import "../../../../components/ha-expansion-panel"; +import "../../../../components/ha-form/ha-form"; +import "../conditions/ha-card-conditions-editor"; + import { mdiEye, mdiGestureTap, mdiTextShort } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -12,19 +26,8 @@ import { string, union, } from "superstruct"; + import { fireEvent } from "../../../../common/dom/fire_event"; -import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-expansion-panel"; -import "../../../../components/ha-form/ha-form"; -import type { - HaFormSchema, - SchemaUnion, -} from "../../../../components/ha-form/types"; -import type { HomeAssistant } from "../../../../types"; -import type { Condition } from "../../common/validate-condition"; -import type { EntityHeadingBadgeConfig } from "../../heading-badges/types"; -import type { LovelaceGenericElementEditor } from "../../types"; -import "../conditions/ha-card-conditions-editor"; import { configElementStyle } from "../config-elements/config-elements-style"; import { actionConfigStruct } from "../structs/action-struct"; diff --git a/src/panels/lovelace/editor/heading-badge-editor/hui-heading-badge-element-editor.ts b/src/panels/lovelace/editor/heading-badge-editor/hui-heading-badge-element-editor.ts index 539352cf8e..04585e4435 100644 --- a/src/panels/lovelace/editor/heading-badge-editor/hui-heading-badge-element-editor.ts +++ b/src/panels/lovelace/editor/heading-badge-editor/hui-heading-badge-element-editor.ts @@ -1,10 +1,12 @@ -import { customElement } from "lit/decorators"; -import { getHeadingBadgeElementClass } from "../../create-element/create-heading-badge-element"; import type { EntityHeadingBadgeConfig } from "../../heading-badges/types"; import type { LovelaceConfigForm, LovelaceHeadingBadgeEditor, } from "../../types"; + +import { customElement } from "lit/decorators"; + +import { getHeadingBadgeElementClass } from "../../create-element/create-heading-badge-element"; import { HuiTypedElementEditor } from "../hui-typed-element-editor"; @customElement("hui-heading-badge-element-editor") diff --git a/src/panels/lovelace/editor/hui-dialog-save-config.ts b/src/panels/lovelace/editor/hui-dialog-save-config.ts index cc0faf67a3..4d22f50db8 100644 --- a/src/panels/lovelace/editor/hui-dialog-save-config.ts +++ b/src/panels/lovelace/editor/hui-dialog-save-config.ts @@ -1,23 +1,26 @@ -import "@material/mwc-button"; -import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import type { LovelaceConfig } from "../../../data/lovelace/config/types"; +import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../types"; +import type { SaveDialogParams } from "./show-save-config-dialog"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-spinner"; + import "../../../components/ha-dialog"; import "../../../components/ha-dialog-header"; import "../../../components/ha-formfield"; import "../../../components/ha-icon-button"; +import "../../../components/ha-spinner"; import "../../../components/ha-switch"; import "../../../components/ha-yaml-editor"; -import type { LovelaceConfig } from "../../../data/lovelace/config/types"; -import type { HassDialog } from "../../../dialogs/make-dialog-manager"; +import "@material/mwc-button"; + +import { mdiClose, mdiHelpCircle } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; import { haStyleDialog } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; import { expandLovelaceConfigStrategies } from "../strategies/get-strategy"; -import type { SaveDialogParams } from "./show-save-config-dialog"; const EMPTY_CONFIG: LovelaceConfig = { views: [{ title: "Home" }] }; diff --git a/src/panels/lovelace/editor/hui-element-editor.ts b/src/panels/lovelace/editor/hui-element-editor.ts index d243f64911..e80a54ef53 100644 --- a/src/panels/lovelace/editor/hui-element-editor.ts +++ b/src/panels/lovelace/editor/hui-element-editor.ts @@ -1,15 +1,4 @@ -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { property, query, state } from "lit/decorators"; -import { cache } from "lit/directives/cache"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { debounce } from "../../../common/util/debounce"; -import { handleStructError } from "../../../common/structs/handle-errors"; -import { deepEqual } from "../../../common/util/deep-equal"; -import "../../../components/ha-alert"; -import "../../../components/ha-spinner"; -import "../../../components/ha-yaml-editor"; import type { HaYamlEditor } from "../../../components/ha-yaml-editor"; import type { LovelaceConfig } from "../../../data/lovelace/config/types"; import type { HomeAssistant } from "../../../types"; @@ -18,13 +7,27 @@ import type { LovelaceGenericElementEditor, } from "../types"; import type { HuiFormEditor } from "./config-elements/hui-form-editor"; -import { GUISupportError } from "./gui-support-error"; import type { EditDetailElementEvent, EditSubElementEvent, GUIModeChangedEvent, SubElementEditorConfig, } from "./types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-alert"; +import "../../../components/ha-spinner"; +import "../../../components/ha-yaml-editor"; + +import { css, html, LitElement, nothing } from "lit"; +import { property, query, state } from "lit/decorators"; +import { cache } from "lit/directives/cache"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { handleStructError } from "../../../common/structs/handle-errors"; +import { debounce } from "../../../common/util/debounce"; +import { deepEqual } from "../../../common/util/deep-equal"; +import { GUISupportError } from "./gui-support-error"; export interface ConfigChangedEvent { config: T; diff --git a/src/panels/lovelace/editor/hui-entities-card-row-editor.ts b/src/panels/lovelace/editor/hui-entities-card-row-editor.ts index 06d9ab0f35..4356d0db9a 100644 --- a/src/panels/lovelace/editor/hui-entities-card-row-editor.ts +++ b/src/panels/lovelace/editor/hui-entities-card-row-editor.ts @@ -1,15 +1,18 @@ +import type { HaEntityPicker } from "../../../components/entity/ha-entity-picker"; +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRowConfig } from "../entity-rows/types"; + +import "../../../components/entity/ha-entity-picker"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-sortable"; +import "../../../components/ha-svg-icon"; + import { mdiClose, mdiDrag, mdiPencil } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/entity/ha-entity-picker"; -import type { HaEntityPicker } from "../../../components/entity/ha-entity-picker"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-sortable"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; -import type { EntityConfig, LovelaceRowConfig } from "../entity-rows/types"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/editor/hui-picture-elements-card-row-editor.ts b/src/panels/lovelace/editor/hui-picture-elements-card-row-editor.ts index c81f09c8cc..57e991884d 100644 --- a/src/panels/lovelace/editor/hui-picture-elements-card-row-editor.ts +++ b/src/panels/lovelace/editor/hui-picture-elements-card-row-editor.ts @@ -1,16 +1,5 @@ -import deepClone from "deep-clone-simple"; -import { mdiClose, mdiPencil, mdiContentDuplicate } from "@mdi/js"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; -import "../../../components/ha-select"; import type { HaSelect } from "../../../components/ha-select"; -import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; -import { getElementStubConfig } from "./get-element-stub-config"; +import type { HomeAssistant } from "../../../types"; import type { ConditionalElementConfig, IconElementConfig, @@ -22,6 +11,21 @@ import type { StateLabelElementConfig, } from "../elements/types"; +import "../../../components/ha-icon-button"; +import "../../../components/ha-select"; +import "../../../components/ha-svg-icon"; + +import { mdiClose, mdiPencil, mdiContentDuplicate } from "@mdi/js"; +import deepClone from "deep-clone-simple"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; +import { getElementStubConfig } from "./get-element-stub-config"; + + declare global { interface HASSDomEvents { "elements-changed": { diff --git a/src/panels/lovelace/editor/hui-sub-element-editor.ts b/src/panels/lovelace/editor/hui-sub-element-editor.ts index 99ef0f0991..f1b4878ebc 100644 --- a/src/panels/lovelace/editor/hui-sub-element-editor.ts +++ b/src/panels/lovelace/editor/hui-sub-element-editor.ts @@ -1,19 +1,22 @@ -import { mdiCodeBraces, mdiListBoxOutline } from "@mdi/js"; -import type { TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; -import { fireEvent } from "../../../common/dom/fire_event"; +import type { HomeAssistant } from "../../../types"; +import type { HuiElementEditor } from "./hui-element-editor"; +import type { GUIModeChangedEvent, SubElementEditorConfig } from "./types"; +import type { TemplateResult } from "lit"; + import "../../../components/ha-icon-button"; import "../../../components/ha-icon-button-prev"; -import type { HomeAssistant } from "../../../types"; import "./entity-row-editor/hui-row-element-editor"; import "./feature-editor/hui-card-feature-element-editor"; import "./header-footer-editor/hui-header-footer-element-editor"; import "./heading-badge-editor/hui-heading-badge-element-editor"; -import type { HuiElementEditor } from "./hui-element-editor"; import "./picture-element-editor/hui-picture-element-element-editor"; -import type { GUIModeChangedEvent, SubElementEditorConfig } from "./types"; + +import { mdiCodeBraces, mdiListBoxOutline } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/editor/hui-typed-element-editor.ts b/src/panels/lovelace/editor/hui-typed-element-editor.ts index 72189151f8..48c77c8b7b 100644 --- a/src/panels/lovelace/editor/hui-typed-element-editor.ts +++ b/src/panels/lovelace/editor/hui-typed-element-editor.ts @@ -1,4 +1,5 @@ import { state } from "lit/decorators"; + import { HuiElementEditor } from "./hui-element-editor"; export abstract class HuiTypedElementEditor< diff --git a/src/panels/lovelace/editor/lovelace-headerfooters.ts b/src/panels/lovelace/editor/lovelace-headerfooters.ts index 1ed8c16539..a274a1ba9e 100644 --- a/src/panels/lovelace/editor/lovelace-headerfooters.ts +++ b/src/panels/lovelace/editor/lovelace-headerfooters.ts @@ -1,9 +1,10 @@ +import type { HeaderFooter } from "./types"; + import { mdiChartBellCurveCumulative, mdiGestureTapButton, mdiImageArea, } from "@mdi/js"; -import type { HeaderFooter } from "./types"; export const headerFooterElements: HeaderFooter[] = [ { type: "graph", icon: mdiChartBellCurveCumulative }, diff --git a/src/panels/lovelace/editor/lovelace-path.ts b/src/panels/lovelace/editor/lovelace-path.ts index 259a2ce54e..a6bef464b1 100644 --- a/src/panels/lovelace/editor/lovelace-path.ts +++ b/src/panels/lovelace/editor/lovelace-path.ts @@ -1,9 +1,10 @@ import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceSectionRawConfig } from "../../../data/lovelace/config/section"; -import { isStrategySection } from "../../../data/lovelace/config/section"; import type { LovelaceConfig } from "../../../data/lovelace/config/types"; import type { LovelaceViewRawConfig } from "../../../data/lovelace/config/view"; + +import { isStrategySection } from "../../../data/lovelace/config/section"; import { isStrategyView } from "../../../data/lovelace/config/view"; export type LovelaceCardPath = [number, number] | [number, number, number]; diff --git a/src/panels/lovelace/editor/picture-element-editor/hui-picture-element-element-editor.ts b/src/panels/lovelace/editor/picture-element-editor/hui-picture-element-element-editor.ts index 2d35315a91..9c7c111c08 100644 --- a/src/panels/lovelace/editor/picture-element-editor/hui-picture-element-element-editor.ts +++ b/src/panels/lovelace/editor/picture-element-editor/hui-picture-element-element-editor.ts @@ -1,8 +1,10 @@ -import { customElement } from "lit/decorators"; import type { LovelaceElementConfig } from "../../elements/types"; import type { LovelacePictureElementEditor } from "../../types"; -import { HuiTypedElementEditor } from "../hui-typed-element-editor"; + +import { customElement } from "lit/decorators"; + import { getPictureElementClass } from "../../create-element/create-picture-element"; +import { HuiTypedElementEditor } from "../hui-typed-element-editor"; @customElement("hui-picture-element-element-editor") export class HuiPictureElementElementEditor extends HuiTypedElementEditor { diff --git a/src/panels/lovelace/editor/section-editor/hui-dialog-edit-section.ts b/src/panels/lovelace/editor/section-editor/hui-dialog-edit-section.ts index ecbd75f17d..40f038bcd3 100644 --- a/src/panels/lovelace/editor/section-editor/hui-dialog-edit-section.ts +++ b/src/panels/lovelace/editor/section-editor/hui-dialog-edit-section.ts @@ -1,11 +1,12 @@ +import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; +import type { LovelaceSectionRawConfig } from "../../../../data/lovelace/config/section"; +import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import type { HomeAssistant } from "../../../../types"; +import type { EditSectionDialogParams } from "./show-edit-section-dialog"; import type { ActionDetail } from "@material/mwc-list"; -import { mdiClose, mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { stopPropagation } from "../../../../common/dom/stop_propagation"; + import "../../../../components/ha-button"; import "../../../../components/ha-button-menu"; import "../../../../components/ha-dialog"; @@ -13,21 +14,23 @@ import "../../../../components/ha-dialog-header"; import "../../../../components/ha-icon-button"; import "../../../../components/ha-list-item"; import "../../../../components/ha-yaml-editor"; -import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; -import type { LovelaceSectionRawConfig } from "../../../../data/lovelace/config/section"; -import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; +import "./hui-section-settings-editor"; +import "./hui-section-visibility-editor"; +import "@material/mwc-tab-bar/mwc-tab-bar"; +import "@material/mwc-tab/mwc-tab"; + +import { mdiClose, mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; import { findLovelaceContainer, updateLovelaceContainer, } from "../lovelace-path"; -import "./hui-section-settings-editor"; -import "./hui-section-visibility-editor"; -import type { EditSectionDialogParams } from "./show-edit-section-dialog"; -import "@material/mwc-tab-bar/mwc-tab-bar"; -import "@material/mwc-tab/mwc-tab"; -import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; const TABS = ["tab-settings", "tab-visibility"] as const; diff --git a/src/panels/lovelace/editor/section-editor/hui-section-settings-editor.ts b/src/panels/lovelace/editor/section-editor/hui-section-settings-editor.ts index 4bf53b4f1e..d00c7ed73e 100644 --- a/src/panels/lovelace/editor/section-editor/hui-section-settings-editor.ts +++ b/src/panels/lovelace/editor/section-editor/hui-section-settings-editor.ts @@ -1,16 +1,19 @@ -import { LitElement, html } from "lit"; -import { customElement, property } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { HaFormSchema, SchemaUnion, } from "../../../../components/ha-form/types"; -import "../../../../components/ha-form/ha-form"; import type { LovelaceSectionRawConfig } from "../../../../data/lovelace/config/section"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; +import "../../../../components/ha-form/ha-form"; + +import { LitElement, html } from "lit"; +import { customElement, property } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + interface SettingsData { column_span?: number; } diff --git a/src/panels/lovelace/editor/section-editor/hui-section-visibility-editor.ts b/src/panels/lovelace/editor/section-editor/hui-section-visibility-editor.ts index 0826113eb0..21fe640436 100644 --- a/src/panels/lovelace/editor/section-editor/hui-section-visibility-editor.ts +++ b/src/panels/lovelace/editor/section-editor/hui-section-visibility-editor.ts @@ -1,12 +1,15 @@ -import { LitElement, html } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-alert"; import type { LovelaceSectionRawConfig } from "../../../../data/lovelace/config/section"; import type { HomeAssistant } from "../../../../types"; import type { Condition } from "../../common/validate-condition"; + +import "../../../../components/ha-alert"; import "../conditions/ha-card-conditions-editor"; +import { LitElement, html } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + @customElement("hui-section-visibility-editor") export class HuiDialogEditSection extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/lovelace/editor/section-editor/show-edit-section-dialog.ts b/src/panels/lovelace/editor/section-editor/show-edit-section-dialog.ts index ebfcfcea45..cabbdb65aa 100644 --- a/src/panels/lovelace/editor/section-editor/show-edit-section-dialog.ts +++ b/src/panels/lovelace/editor/section-editor/show-edit-section-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface EditSectionDialogParams { lovelaceConfig: LovelaceConfig; saveConfig: (config: LovelaceConfig) => void; diff --git a/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts b/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts index da18eb45ca..9c87042b2e 100644 --- a/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts +++ b/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts @@ -1,22 +1,25 @@ -import { mdiClose } from "@mdi/js"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, query, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-md-dialog"; -import "../../../../components/ha-dialog-header"; -import "../../../../components/ha-icon-button"; -import "../../../../components/ha-md-select"; -import "../../../../components/ha-md-select-option"; -import "../../../../components/ha-button"; -import "../../../../components/ha-spinner"; +import type { HaMdDialog } from "../../../../components/ha-md-dialog"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceDashboard } from "../../../../data/lovelace/dashboard"; -import { fetchDashboards } from "../../../../data/lovelace/dashboard"; -import { haStyleDialog } from "../../../../resources/styles"; import type { HomeAssistant } from "../../../../types"; import type { SelectDashboardDialogParams } from "./show-select-dashboard-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-dialog-header"; +import "../../../../components/ha-icon-button"; +import "../../../../components/ha-md-dialog"; +import "../../../../components/ha-md-select"; +import "../../../../components/ha-md-select-option"; +import "../../../../components/ha-spinner"; + +import { mdiClose } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, query, state } from "lit/decorators"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { fetchDashboards } from "../../../../data/lovelace/dashboard"; +import { haStyleDialog } from "../../../../resources/styles"; @customElement("hui-dialog-select-dashboard") export class HuiDialogSelectDashboard extends LitElement { diff --git a/src/panels/lovelace/editor/select-dashboard/show-select-dashboard-dialog.ts b/src/panels/lovelace/editor/select-dashboard/show-select-dashboard-dialog.ts index e36eacfac8..c933a186a8 100644 --- a/src/panels/lovelace/editor/select-dashboard/show-select-dashboard-dialog.ts +++ b/src/panels/lovelace/editor/select-dashboard/show-select-dashboard-dialog.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceDashboard } from "../../../../data/lovelace/dashboard"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface SelectDashboardDialogParams { lovelaceConfig: LovelaceConfig; dashboards?: LovelaceDashboard[]; diff --git a/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts b/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts index 1117a11952..d0d5c5395a 100644 --- a/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts +++ b/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts @@ -1,24 +1,27 @@ +import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import type { LovelaceDashboard } from "../../../../data/lovelace/dashboard"; +import type { HomeAssistant } from "../../../../types"; +import type { SelectViewDialogParams } from "./show-select-view-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../../../components/ha-alert"; +import "../../../../components/ha-icon"; +import "../../../../components/ha-select"; import "@material/mwc-button/mwc-button"; import "@material/mwc-list/mwc-list"; import "@material/mwc-list/mwc-list-item"; import "@material/mwc-list/mwc-radio-list-item"; -import type { CSSResultGroup } from "lit"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; -import "../../../../components/ha-alert"; import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-icon"; -import "../../../../components/ha-select"; -import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import { fetchConfig } from "../../../../data/lovelace/config/types"; -import type { LovelaceDashboard } from "../../../../data/lovelace/dashboard"; +import { isStrategyView } from "../../../../data/lovelace/config/view"; import { fetchDashboards } from "../../../../data/lovelace/dashboard"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import type { SelectViewDialogParams } from "./show-select-view-dialog"; -import { isStrategyView } from "../../../../data/lovelace/config/view"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/editor/select-view/show-select-view-dialog.ts b/src/panels/lovelace/editor/select-view/show-select-view-dialog.ts index 776cc26f7d..997e13fb59 100644 --- a/src/panels/lovelace/editor/select-view/show-select-view-dialog.ts +++ b/src/panels/lovelace/editor/select-view/show-select-view-dialog.ts @@ -1,7 +1,8 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceDashboard } from "../../../../data/lovelace/dashboard"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface SelectViewDialogParams { lovelaceConfig: LovelaceConfig; allowDashboardChange: boolean; diff --git a/src/panels/lovelace/editor/show-save-config-dialog.ts b/src/panels/lovelace/editor/show-save-config-dialog.ts index fbd7336998..b67070f578 100644 --- a/src/panels/lovelace/editor/show-save-config-dialog.ts +++ b/src/panels/lovelace/editor/show-save-config-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../common/dom/fire_event"; import type { Lovelace } from "../types"; +import { fireEvent } from "../../../common/dom/fire_event"; + declare global { // for fire event interface HASSDomEvents { diff --git a/src/panels/lovelace/editor/structs/action-struct.ts b/src/panels/lovelace/editor/structs/action-struct.ts index b6b7c75a27..0711d0e9ea 100644 --- a/src/panels/lovelace/editor/structs/action-struct.ts +++ b/src/panels/lovelace/editor/structs/action-struct.ts @@ -1,3 +1,5 @@ +import type { BaseActionConfig } from "../../../../data/lovelace/config/action"; + import { array, boolean, @@ -10,7 +12,6 @@ import { type, union, } from "superstruct"; -import type { BaseActionConfig } from "../../../../data/lovelace/config/action"; const actionConfigStructUser = object({ user: string(), diff --git a/src/panels/lovelace/editor/structs/button-entity-struct.ts b/src/panels/lovelace/editor/structs/button-entity-struct.ts index 8a80b89884..e0a3d3010f 100644 --- a/src/panels/lovelace/editor/structs/button-entity-struct.ts +++ b/src/panels/lovelace/editor/structs/button-entity-struct.ts @@ -1,4 +1,5 @@ import { boolean, object, optional, string } from "superstruct"; + import { actionConfigStruct } from "./action-struct"; export const buttonEntityConfigStruct = object({ diff --git a/src/panels/lovelace/editor/structs/entities-struct.ts b/src/panels/lovelace/editor/structs/entities-struct.ts index 870e097b85..45430152cc 100644 --- a/src/panels/lovelace/editor/structs/entities-struct.ts +++ b/src/panels/lovelace/editor/structs/entities-struct.ts @@ -1,4 +1,5 @@ import { union, object, string, optional, boolean, enums } from "superstruct"; + import { TIMESTAMP_RENDERING_FORMATS } from "../../components/types"; import { actionConfigStruct, diff --git a/src/panels/lovelace/editor/types.ts b/src/panels/lovelace/editor/types.ts index 7731cb730a..3e08b6cd5a 100644 --- a/src/panels/lovelace/editor/types.ts +++ b/src/panels/lovelace/editor/types.ts @@ -1,14 +1,14 @@ import type { ActionConfig } from "../../../data/lovelace/config/action"; +import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceViewConfig, ShowViewConfig, } from "../../../data/lovelace/config/view"; -import type { EntityConfig, LovelaceRowConfig } from "../entity-rows/types"; -import type { LovelaceHeaderFooterConfig } from "../header-footer/types"; import type { LovelaceCardFeatureConfig } from "../card-features/types"; import type { LovelaceElementConfig } from "../elements/types"; -import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; +import type { EntityConfig, LovelaceRowConfig } from "../entity-rows/types"; +import type { LovelaceHeaderFooterConfig } from "../header-footer/types"; import type { LovelaceHeadingBadgeConfig } from "../heading-badges/types"; export interface YamlChangedEvent extends Event { diff --git a/src/panels/lovelace/editor/unused-entities/hui-unused-entities.ts b/src/panels/lovelace/editor/unused-entities/hui-unused-entities.ts index a63d3e3a50..25ebff7142 100644 --- a/src/panels/lovelace/editor/unused-entities/hui-unused-entities.ts +++ b/src/panels/lovelace/editor/unused-entities/hui-unused-entities.ts @@ -1,24 +1,27 @@ -import { mdiPlus } from "@mdi/js"; +import type { DataTableRowData } from "../../../../components/data-table/ha-data-table"; +import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../../../types"; +import type { Lovelace } from "../../types"; import type { PropertyValues } from "lit"; + +import "../../../../components/ha-fab"; +import "../../../../components/ha-svg-icon"; +import "../card-editor/hui-entity-picker-table"; + +import { mdiPlus } from "@mdi/js"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { computeDomain } from "../../../../common/entity/compute_domain"; import { computeStateName } from "../../../../common/entity/compute_state_name"; -import type { DataTableRowData } from "../../../../components/data-table/ha-data-table"; -import "../../../../components/ha-fab"; -import "../../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../../types"; import { computeUnusedEntities } from "../../common/compute-unused-entities"; -import type { Lovelace } from "../../types"; -import "../card-editor/hui-entity-picker-table"; -import { showSuggestCardDialog } from "../card-editor/show-suggest-card-dialog"; -import { showSelectViewDialog } from "../select-view/show-select-view-dialog"; -import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import { computeCards, computeSection, } from "../../common/generate-lovelace-config"; +import { showSuggestCardDialog } from "../card-editor/show-suggest-card-dialog"; +import { showSelectViewDialog } from "../select-view/show-select-view-dialog"; @customElement("hui-unused-entities") export class HuiUnusedEntities extends LitElement { diff --git a/src/panels/lovelace/editor/view-editor/hui-dialog-edit-view.ts b/src/panels/lovelace/editor/view-editor/hui-dialog-edit-view.ts index a23f64579c..cdba3b40b0 100644 --- a/src/panels/lovelace/editor/view-editor/hui-dialog-edit-view.ts +++ b/src/panels/lovelace/editor/view-editor/hui-dialog-edit-view.ts @@ -1,37 +1,52 @@ +import type { HASSDomEvent } from "../../../../common/dom/fire_event"; +import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; +import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import type { HomeAssistant } from "../../../../types"; +import type { Lovelace } from "../../types"; +import type { ViewEditEvent, ViewVisibilityChangeEvent } from "../types"; +import type { EditViewDialogParams } from "./show-edit-view-dialog"; import type { ActionDetail } from "@material/mwc-list"; +import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-alert"; +import "../../../../components/ha-button"; +import "../../../../components/ha-dialog"; +import "../../../../components/ha-dialog-header"; +import "../../../../components/ha-spinner"; +import "../../../../components/ha-yaml-editor"; +import "../../components/hui-entity-editor"; +import "./hui-view-background-editor"; +import "./hui-view-editor"; +import "./hui-view-visibility-editor"; import "@material/mwc-tab-bar/mwc-tab-bar"; import "@material/mwc-tab/mwc-tab"; + import { mdiClose, mdiDotsVertical, mdiFileMoveOutline, mdiPlaylistEdit, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import type { HASSDomEvent } from "../../../../common/dom/fire_event"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { navigate } from "../../../../common/navigate"; import { deepEqual } from "../../../../common/util/deep-equal"; -import "../../../../components/ha-alert"; -import "../../../../components/ha-button"; -import "../../../../components/ha-spinner"; -import "../../../../components/ha-dialog"; -import "../../../../components/ha-dialog-header"; -import "../../../../components/ha-yaml-editor"; -import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; -import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import { + fetchConfig, + isStrategyDashboard, + saveConfig, + type LovelaceConfig, +} from "../../../../data/lovelace/config/types"; import { isStrategyView } from "../../../../data/lovelace/config/view"; import { showAlertDialog, showConfirmationDialog, } from "../../../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "../../components/hui-entity-editor"; import { SECTIONS_VIEW_LAYOUT } from "../../views/const"; import { generateDefaultSection } from "../../views/default-section"; import { getViewType } from "../../views/get-view-type"; @@ -41,19 +56,7 @@ import { moveViewToDashboard, replaceView, } from "../config-util"; -import type { ViewEditEvent, ViewVisibilityChangeEvent } from "../types"; -import "./hui-view-background-editor"; -import "./hui-view-editor"; -import "./hui-view-visibility-editor"; -import type { EditViewDialogParams } from "./show-edit-view-dialog"; import { showSelectDashboardDialog } from "../select-dashboard/show-select-dashboard-dialog"; -import { - fetchConfig, - isStrategyDashboard, - saveConfig, - type LovelaceConfig, -} from "../../../../data/lovelace/config/types"; -import type { Lovelace } from "../../types"; const TABS = ["tab-settings", "tab-background", "tab-visibility"] as const; diff --git a/src/panels/lovelace/editor/view-editor/hui-view-background-editor.ts b/src/panels/lovelace/editor/view-editor/hui-view-background-editor.ts index 2d338a0362..8cc9ba2c05 100644 --- a/src/panels/lovelace/editor/view-editor/hui-view-background-editor.ts +++ b/src/panels/lovelace/editor/view-editor/hui-view-background-editor.ts @@ -1,14 +1,17 @@ -import "@material/mwc-list/mwc-list-item"; -import memoizeOne from "memoize-one"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-form/ha-form"; import type { SchemaUnion } from "../../../../components/ha-form/types"; -import "../../../../components/ha-selector/ha-selector-background"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; +import "../../../../components/ha-form/ha-form"; +import "../../../../components/ha-selector/ha-selector-background"; +import "@material/mwc-list/mwc-list-item"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; + @customElement("hui-view-background-editor") export class HuiViewBackgroundEditor extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/lovelace/editor/view-editor/hui-view-editor.ts b/src/panels/lovelace/editor/view-editor/hui-view-editor.ts index c67204e344..c7ec76720f 100644 --- a/src/panels/lovelace/editor/view-editor/hui-view-editor.ts +++ b/src/panels/lovelace/editor/view-editor/hui-view-editor.ts @@ -1,16 +1,19 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { slugify } from "../../../../common/string/slugify"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, } from "../../../../components/ha-form/types"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { slugify } from "../../../../common/string/slugify"; import { MASONRY_VIEW_LAYOUT, SECTIONS_VIEW_LAYOUT, diff --git a/src/panels/lovelace/editor/view-editor/hui-view-visibility-editor.ts b/src/panels/lovelace/editor/view-editor/hui-view-visibility-editor.ts index 6b445d4831..f886dcdecb 100644 --- a/src/panels/lovelace/editor/view-editor/hui-view-visibility-editor.ts +++ b/src/panels/lovelace/editor/view-editor/hui-view-visibility-editor.ts @@ -1,21 +1,24 @@ -import "@material/mwc-list/mwc-list-item"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; -import { stringCompare } from "../../../../common/string/compare"; import type { HaSwitch } from "../../../../components/ha-switch"; -import "../../../../components/user/ha-user-badge"; -import "../../../../components/ha-list-item"; -import "../../../../components/ha-switch"; import type { LovelaceViewConfig, ShowViewConfig, } from "../../../../data/lovelace/config/view"; import type { User } from "../../../../data/user"; -import { fetchUsers } from "../../../../data/user"; import type { HomeAssistant } from "../../../../types"; +import type { PropertyValues } from "lit"; + +import "../../../../components/ha-list-item"; +import "../../../../components/ha-switch"; +import "../../../../components/user/ha-user-badge"; +import "@material/mwc-list/mwc-list-item"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { stringCompare } from "../../../../common/string/compare"; +import { fetchUsers } from "../../../../data/user"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/editor/view-editor/show-edit-view-dialog.ts b/src/panels/lovelace/editor/view-editor/show-edit-view-dialog.ts index ed5d5d40ef..83eeba7a45 100644 --- a/src/panels/lovelace/editor/view-editor/show-edit-view-dialog.ts +++ b/src/panels/lovelace/editor/view-editor/show-edit-view-dialog.ts @@ -1,8 +1,9 @@ import type { HASSDomEvent } from "../../../../common/dom/fire_event"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { Lovelace } from "../../types"; +import { fireEvent } from "../../../../common/dom/fire_event"; + declare global { // for fire event interface HASSDomEvents { diff --git a/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts b/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts index 615b53e36c..ba226681c8 100644 --- a/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts +++ b/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts @@ -1,24 +1,27 @@ +import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; +import type { LovelaceViewHeaderConfig } from "../../../../data/lovelace/config/view"; +import type { HomeAssistant } from "../../../../types"; +import type { EditViewHeaderDialogParams } from "./show-edit-view-header-dialog"; import type { ActionDetail } from "@material/mwc-list"; -import { mdiClose, mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../../../components/ha-button"; +import "../../../../components/ha-dialog"; +import "../../../../components/ha-dialog-header"; +import "../../../../components/ha-spinner"; +import "../../../../components/ha-yaml-editor"; +import "./hui-view-header-settings-editor"; + +import { mdiClose, mdiDotsVertical, mdiPlaylistEdit } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { fireEvent } from "../../../../common/dom/fire_event"; import { stopPropagation } from "../../../../common/dom/stop_propagation"; import { deepEqual } from "../../../../common/util/deep-equal"; -import "../../../../components/ha-button"; -import "../../../../components/ha-spinner"; -import "../../../../components/ha-dialog"; -import "../../../../components/ha-dialog-header"; -import "../../../../components/ha-yaml-editor"; -import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; -import type { LovelaceViewHeaderConfig } from "../../../../data/lovelace/config/view"; import { showAlertDialog } from "../../../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../../../resources/styles"; -import type { HomeAssistant } from "../../../../types"; -import "./hui-view-header-settings-editor"; -import type { EditViewHeaderDialogParams } from "./show-edit-view-header-dialog"; @customElement("hui-dialog-edit-view-header") export class HuiDialogEditViewHeader extends LitElement { diff --git a/src/panels/lovelace/editor/view-header/hui-view-header-settings-editor.ts b/src/panels/lovelace/editor/view-header/hui-view-header-settings-editor.ts index defde66bc9..5a369d1e85 100644 --- a/src/panels/lovelace/editor/view-header/hui-view-header-settings-editor.ts +++ b/src/panels/lovelace/editor/view-header/hui-view-header-settings-editor.ts @@ -1,10 +1,4 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LocalizeFunc } from "../../../../common/translations/localize"; -import { computeRTL } from "../../../../common/util/compute_rtl"; -import "../../../../components/ha-form/ha-form"; import type { HaFormSchema, SchemaUnion, @@ -14,11 +8,20 @@ import type { LovelaceViewHeaderConfig, } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; + +import "../../../../components/ha-form/ha-form"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { fireEvent } from "../../../../common/dom/fire_event"; +import { listenMediaQuery } from "../../../../common/dom/media_query"; +import { computeRTL } from "../../../../common/util/compute_rtl"; import { DEFAULT_VIEW_HEADER_BADGES_POSITION, DEFAULT_VIEW_HEADER_LAYOUT, } from "../../views/hui-view-header"; -import { listenMediaQuery } from "../../../../common/dom/media_query"; @customElement("hui-view-header-settings-editor") export class HuiViewHeaderSettingsEditor extends LitElement { diff --git a/src/panels/lovelace/editor/view-header/show-edit-view-header-dialog.ts b/src/panels/lovelace/editor/view-header/show-edit-view-header-dialog.ts index d2aef306c3..4c726b0c14 100644 --- a/src/panels/lovelace/editor/view-header/show-edit-view-header-dialog.ts +++ b/src/panels/lovelace/editor/view-header/show-edit-view-header-dialog.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../../../common/dom/fire_event"; import type { LovelaceViewHeaderConfig } from "../../../../data/lovelace/config/view"; +import { fireEvent } from "../../../../common/dom/fire_event"; + export interface EditViewHeaderDialogParams { saveConfig: (config: LovelaceViewHeaderConfig) => void; config: LovelaceViewHeaderConfig; diff --git a/src/panels/lovelace/elements/hui-conditional-element.ts b/src/panels/lovelace/elements/hui-conditional-element.ts index b299879820..8b4a204e6d 100644 --- a/src/panels/lovelace/elements/hui-conditional-element.ts +++ b/src/panels/lovelace/elements/hui-conditional-element.ts @@ -1,9 +1,4 @@ import type { HomeAssistant } from "../../../types"; -import { createStyledHuiElement } from "../cards/picture-elements/create-styled-hui-element"; -import { - checkConditionsMet, - validateConditionalConfig, -} from "../common/validate-condition"; import type { LovelacePictureElementEditor } from "../types"; import type { ConditionalElementConfig, @@ -11,6 +6,12 @@ import type { LovelaceElementConfig, } from "./types"; +import { createStyledHuiElement } from "../cards/picture-elements/create-styled-hui-element"; +import { + checkConditionsMet, + validateConditionalConfig, +} from "../common/validate-condition"; + class HuiConditionalElement extends HTMLElement implements LovelaceElement { public static async getConfigElement(): Promise { await import( diff --git a/src/panels/lovelace/elements/hui-icon-element.ts b/src/panels/lovelace/elements/hui-icon-element.ts index 7d31a9f441..008ebc94bc 100644 --- a/src/panels/lovelace/elements/hui-icon-element.ts +++ b/src/panels/lovelace/elements/hui-icon-element.ts @@ -1,15 +1,18 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelacePictureElementEditor } from "../types"; +import type { IconElementConfig, LovelaceElement } from "./types"; + +import "../../../components/ha-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import "../../../components/ha-icon"; -import type { HomeAssistant } from "../../../types"; + import { computeTooltip } from "../common/compute-tooltip"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import type { IconElementConfig, LovelaceElement } from "./types"; -import type { LovelacePictureElementEditor } from "../types"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; @customElement("hui-icon-element") export class HuiIconElement extends LitElement implements LovelaceElement { diff --git a/src/panels/lovelace/elements/hui-image-element.ts b/src/panels/lovelace/elements/hui-image-element.ts index e59d5e20bd..4661373fbe 100644 --- a/src/panels/lovelace/elements/hui-image-element.ts +++ b/src/panels/lovelace/elements/hui-image-element.ts @@ -1,17 +1,20 @@ +import type { ImageEntity } from "../../../data/image"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelacePictureElementEditor } from "../types"; +import type { ImageElementConfig, LovelaceElement } from "./types"; + +import "../components/hui-image"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import type { ImageEntity } from "../../../data/image"; + import { computeImageUrl } from "../../../data/image"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; import { computeTooltip } from "../common/compute-tooltip"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import "../components/hui-image"; -import type { ImageElementConfig, LovelaceElement } from "./types"; -import type { LovelacePictureElementEditor } from "../types"; @customElement("hui-image-element") export class HuiImageElement extends LitElement implements LovelaceElement { diff --git a/src/panels/lovelace/elements/hui-service-button-element.ts b/src/panels/lovelace/elements/hui-service-button-element.ts index ed2a173e78..0140c646eb 100644 --- a/src/panels/lovelace/elements/hui-service-button-element.ts +++ b/src/panels/lovelace/elements/hui-service-button-element.ts @@ -1,9 +1,11 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelacePictureElementEditor } from "../types"; +import type { LovelaceElement, ServiceButtonElementConfig } from "./types"; + +import "../../../components/buttons/ha-call-service-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; -import "../../../components/buttons/ha-call-service-button"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceElement, ServiceButtonElementConfig } from "./types"; -import type { LovelacePictureElementEditor } from "../types"; @customElement("hui-service-button-element") export class HuiServiceButtonElement diff --git a/src/panels/lovelace/elements/hui-state-badge-element.ts b/src/panels/lovelace/elements/hui-state-badge-element.ts index dcb76ae25a..a79aa29b92 100644 --- a/src/panels/lovelace/elements/hui-state-badge-element.ts +++ b/src/panels/lovelace/elements/hui-state-badge-element.ts @@ -1,22 +1,25 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelacePictureElementEditor } from "../types"; +import type { LovelaceElement, StateBadgeElementConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../../components/entity/ha-state-label-badge"; +import "../components/hui-warning-element"; + import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import { findEntities } from "../common/find-entities"; + import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/entity/ha-state-label-badge"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; +import { isUnavailableState } from "../../../data/entity"; import { actionHandler } from "../common/directives/action-handler-directive"; +import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import { isUnavailableState } from "../../../data/entity"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import "../components/hui-warning-element"; -import type { LovelaceElement, StateBadgeElementConfig } from "./types"; -import type { LovelacePictureElementEditor } from "../types"; @customElement("hui-state-badge-element") export class HuiStateBadgeElement diff --git a/src/panels/lovelace/elements/hui-state-icon-element.ts b/src/panels/lovelace/elements/hui-state-icon-element.ts index 1d6948642f..8e78568dbb 100644 --- a/src/panels/lovelace/elements/hui-state-icon-element.ts +++ b/src/panels/lovelace/elements/hui-state-icon-element.ts @@ -1,22 +1,26 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelacePictureElementEditor } from "../types"; +import type { LovelaceElement, StateIconElementConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../../../components/entity/state-badge"; +import "../components/hui-warning-element"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import { findEntities } from "../common/find-entities"; -import "../../../components/entity/state-badge"; -import type { HomeAssistant } from "../../../types"; + +import { isUnavailableState } from "../../../data/entity"; import { computeTooltip } from "../common/compute-tooltip"; import { actionHandler } from "../common/directives/action-handler-directive"; +import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import { isUnavailableState } from "../../../data/entity"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import "../components/hui-warning-element"; -import type { LovelaceElement, StateIconElementConfig } from "./types"; -import type { LovelacePictureElementEditor } from "../types"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; + @customElement("hui-state-icon-element") export class HuiStateIconElement extends LitElement implements LovelaceElement { diff --git a/src/panels/lovelace/elements/hui-state-label-element.ts b/src/panels/lovelace/elements/hui-state-label-element.ts index 08a1f16b4d..a57c48e069 100644 --- a/src/panels/lovelace/elements/hui-state-label-element.ts +++ b/src/panels/lovelace/elements/hui-state-label-element.ts @@ -1,21 +1,24 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelacePictureElementEditor } from "../types"; +import type { LovelaceElement, StateLabelElementConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + +import "../components/hui-warning-element"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import { findEntities } from "../common/find-entities"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; + +import { isUnavailableState } from "../../../data/entity"; import { computeTooltip } from "../common/compute-tooltip"; import { actionHandler } from "../common/directives/action-handler-directive"; +import { findEntities } from "../common/find-entities"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import { isUnavailableState } from "../../../data/entity"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import "../components/hui-warning-element"; -import type { LovelaceElement, StateLabelElementConfig } from "./types"; -import type { LovelacePictureElementEditor } from "../types"; @customElement("hui-state-label-element") class HuiStateLabelElement extends LitElement implements LovelaceElement { diff --git a/src/panels/lovelace/elements/types.ts b/src/panels/lovelace/elements/types.ts index 5ca44d5027..08e2e5f59a 100644 --- a/src/panels/lovelace/elements/types.ts +++ b/src/panels/lovelace/elements/types.ts @@ -1,8 +1,8 @@ -import type { HassServiceTarget } from "home-assistant-js-websocket"; import type { ActionConfig } from "../../../data/lovelace/config/action"; import type { HomeAssistant } from "../../../types"; import type { Condition } from "../common/validate-condition"; import type { HuiImage } from "../components/hui-image"; +import type { HassServiceTarget } from "home-assistant-js-websocket"; interface LovelaceElementConfigBase { type: string; diff --git a/src/panels/lovelace/entity-rows/hui-button-entity-row.ts b/src/panels/lovelace/entity-rows/hui-button-entity-row.ts index e41c4de02d..16e0a32145 100644 --- a/src/panels/lovelace/entity-rows/hui-button-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-button-entity-row.ts @@ -1,14 +1,17 @@ -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { ActionRowConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { ActionRowConfig, LovelaceRow } from "./types"; import { confirmAction } from "../common/confirm-action"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-button-entity-row") class HuiButtonEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-climate-entity-row.ts b/src/panels/lovelace/entity-rows/hui-climate-entity-row.ts index 82b1a3a25f..cc5f26cf69 100644 --- a/src/panels/lovelace/entity-rows/hui-climate-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-climate-entity-row.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-climate-state"; +import "../components/hui-generic-entity-row"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-climate-state"; -import type { HomeAssistant } from "../../../types"; + import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-climate-entity-row") class HuiClimateEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-cover-entity-row.ts b/src/panels/lovelace/entity-rows/hui-cover-entity-row.ts index 7658be502e..1aefe60863 100644 --- a/src/panels/lovelace/entity-rows/hui-cover-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-cover-entity-row.ts @@ -1,15 +1,18 @@ +import type { CoverEntity } from "../../../data/cover"; +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../../../components/ha-cover-controls"; import "../../../components/ha-cover-tilt-controls"; -import type { CoverEntity } from "../../../data/cover"; -import { isTiltOnly } from "../../../data/cover"; -import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; import "../components/hui-generic-entity-row"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isTiltOnly } from "../../../data/cover"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-cover-entity-row") class HuiCoverEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-date-entity-row.ts b/src/panels/lovelace/entity-rows/hui-date-entity-row.ts index 473d06bbb9..c6682f8a2e 100644 --- a/src/panels/lovelace/entity-rows/hui-date-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-date-entity-row.ts @@ -1,14 +1,17 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-date-input"; +import "../components/hui-generic-entity-row"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-date-input"; -import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; + import { setDateValue } from "../../../data/date"; -import type { HomeAssistant } from "../../../types"; +import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-date-entity-row") class HuiDateEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-datetime-entity-row.ts b/src/panels/lovelace/entity-rows/hui-datetime-entity-row.ts index f2de95979a..5c9f791818 100644 --- a/src/panels/lovelace/entity-rows/hui-datetime-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-datetime-entity-row.ts @@ -1,17 +1,21 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-date-input"; +import "../../../components/ha-time-input"; +import "../components/hui-generic-entity-row"; + +import { format } from "date-fns"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-date-input"; -import { format } from "date-fns"; -import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; -import { setDateTimeValue } from "../../../data/datetime"; -import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; -import "../../../components/ha-time-input"; + import { computeStateName } from "../../../common/entity/compute_state_name"; +import { setDateTimeValue } from "../../../data/datetime"; +import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; + @customElement("hui-datetime-entity-row") class HuiInputDatetimeEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-event-entity-row.ts b/src/panels/lovelace/entity-rows/hui-event-entity-row.ts index 8e73f757cf..d5cdd78fb3 100644 --- a/src/panels/lovelace/entity-rows/hui-event-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-event-entity-row.ts @@ -1,19 +1,22 @@ -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isUnavailableState } from "../../../data/entity"; import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; import type { HomeAssistant } from "../../../types"; import type { EntitiesCardEntityConfig } from "../cards/types"; +import type { TimestampRenderingFormat } from "../components/types"; +import type { LovelaceRow } from "./types"; +import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; +import "../components/hui-timestamp-display"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isUnavailableState } from "../../../data/entity"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import "../components/hui-timestamp-display"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { TimestampRenderingFormat } from "../components/types"; -import type { LovelaceRow } from "./types"; interface EventEntityConfig extends EntitiesCardEntityConfig { format?: TimestampRenderingFormat; diff --git a/src/panels/lovelace/entity-rows/hui-group-entity-row.ts b/src/panels/lovelace/entity-rows/hui-group-entity-row.ts index a51bcc8d93..c708987cb2 100644 --- a/src/panels/lovelace/entity-rows/hui-group-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-group-entity-row.ts @@ -1,14 +1,17 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/entity/ha-entity-toggle"; +import "../components/hui-generic-entity-row"; + import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { DOMAINS_TOGGLE } from "../../../common/const"; import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/entity/ha-entity-toggle"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-group-entity-row") class HuiGroupEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts b/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts index b8c14a8d64..2d63e078f0 100644 --- a/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-humidifier-entity-row.ts @@ -1,14 +1,17 @@ -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/entity/ha-entity-toggle"; -import "../../../components/ha-humidifier-state"; import type { HumidifierEntity } from "../../../data/humidifier"; import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { EntityConfig, LovelaceRow } from "./types"; +import type { PropertyValues } from "lit"; + +import "../../../components/entity/ha-entity-toggle"; +import "../../../components/ha-humidifier-state"; +import "../components/hui-generic-entity-row"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-humidifier-entity-row") class HuiHumidifierEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-input-button-entity-row.ts b/src/panels/lovelace/entity-rows/hui-input-button-entity-row.ts index d869d98abd..33f3e03191 100644 --- a/src/panels/lovelace/entity-rows/hui-input-button-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-input-button-entity-row.ts @@ -1,14 +1,17 @@ -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { ActionRowConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { UNAVAILABLE } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { ActionRowConfig, LovelaceRow } from "./types"; import { confirmAction } from "../common/confirm-action"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-input-button-entity-row") class HuiInputButtonEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts b/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts index 623f07a7b0..70ba2f7329 100644 --- a/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts @@ -1,19 +1,22 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { computeStateName } from "../../../common/entity/compute_state_name"; + import "../../../components/ha-date-input"; import "../../../components/ha-time-input"; +import "../components/hui-generic-entity-row"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeStateName } from "../../../common/entity/compute_state_name"; import { isUnavailableState, UNKNOWN } from "../../../data/entity"; import { setInputDateTimeValue, stateToIsoDateString, } from "../../../data/input_datetime"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-input-datetime-entity-row") class HuiInputDatetimeEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-input-number-entity-row.ts b/src/panels/lovelace/entity-rows/hui-input-number-entity-row.ts index 2508d5efd9..6d31350d72 100644 --- a/src/panels/lovelace/entity-rows/hui-input-number-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-input-number-entity-row.ts @@ -1,16 +1,19 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { debounce } from "../../../common/util/debounce"; + import "../../../components/ha-slider"; import "../../../components/ha-textfield"; +import "../components/hui-generic-entity-row"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { debounce } from "../../../common/util/debounce"; import { isUnavailableState } from "../../../data/entity"; import { setValue } from "../../../data/input_text"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-input-number-entity-row") class HuiInputNumberEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-input-select-entity-row.ts b/src/panels/lovelace/entity-rows/hui-input-select-entity-row.ts index 95e2ddebff..a71dc7b083 100644 --- a/src/panels/lovelace/entity-rows/hui-input-select-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-input-select-entity-row.ts @@ -1,20 +1,23 @@ -import "@material/mwc-list/mwc-list-item"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-select"; -import { UNAVAILABLE } from "../../../data/entity"; -import { forwardHaptic } from "../../../data/haptics"; import type { InputSelectEntity } from "../../../data/input_select"; -import { setInputSelectOption } from "../../../data/input_select"; import type { HomeAssistant } from "../../../types"; import type { EntitiesCardEntityConfig } from "../cards/types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceRow } from "./types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-select"; +import "../components/hui-generic-entity-row"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { UNAVAILABLE } from "../../../data/entity"; +import { forwardHaptic } from "../../../data/haptics"; +import { setInputSelectOption } from "../../../data/input_select"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-input-select-entity-row") class HuiInputSelectEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-input-text-entity-row.ts b/src/panels/lovelace/entity-rows/hui-input-text-entity-row.ts index 73f00a7a11..0ff7200f6a 100644 --- a/src/panels/lovelace/entity-rows/hui-input-text-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-input-text-entity-row.ts @@ -1,15 +1,18 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-textfield"; +import "../components/hui-generic-entity-row"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-textfield"; import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; import { setValue } from "../../../data/input_text"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-input-text-entity-row") class HuiInputTextEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-lock-entity-row.ts b/src/panels/lovelace/entity-rows/hui-lock-entity-row.ts index 6832139051..3d6752ca4e 100644 --- a/src/panels/lovelace/entity-rows/hui-lock-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-lock-entity-row.ts @@ -1,15 +1,18 @@ -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { ConfirmableRowConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isUnavailableState } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { ConfirmableRowConfig, LovelaceRow } from "./types"; import { callProtectedLockService } from "../../../data/lock"; import { confirmAction } from "../common/confirm-action"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-lock-entity-row") class HuiLockEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-media-player-entity-row.ts b/src/panels/lovelace/entity-rows/hui-media-player-entity-row.ts index b08504c470..27d81d8a63 100644 --- a/src/panels/lovelace/entity-rows/hui-media-player-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-media-player-entity-row.ts @@ -1,3 +1,16 @@ +import type { + ControlButton, + MediaPlayerEntity, +} from "../../../data/media-player"; +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-icon-button"; +import "../../../components/ha-slider"; +import "../components/hui-generic-entity-row"; + import { mdiPause, mdiPlay, @@ -11,29 +24,19 @@ import { mdiVolumeOff, mdiVolumePlus, } from "@mdi/js"; -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { stateActive } from "../../../common/entity/state_active"; import { supportsFeature } from "../../../common/entity/supports-feature"; import { debounce } from "../../../common/util/debounce"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-slider"; import { isUnavailableState } from "../../../data/entity"; -import type { - ControlButton, - MediaPlayerEntity, -} from "../../../data/media-player"; import { MediaPlayerEntityFeature, computeMediaDescription, } from "../../../data/media-player"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-media-player-entity-row") class HuiMediaPlayerEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-number-entity-row.ts b/src/panels/lovelace/entity-rows/hui-number-entity-row.ts index 311f4493f7..2e3e38aa00 100644 --- a/src/panels/lovelace/entity-rows/hui-number-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-number-entity-row.ts @@ -1,16 +1,19 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { debounce } from "../../../common/util/debounce"; + import "../../../components/ha-slider"; import "../../../components/ha-textfield"; +import "../components/hui-generic-entity-row"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { debounce } from "../../../common/util/debounce"; import { UNAVAILABLE } from "../../../data/entity"; import { setValue } from "../../../data/input_text"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-number-entity-row") class HuiNumberEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-scene-entity-row.ts b/src/panels/lovelace/entity-rows/hui-scene-entity-row.ts index 55b8e62b86..c02cf0ab94 100644 --- a/src/panels/lovelace/entity-rows/hui-scene-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-scene-entity-row.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button/mwc-button"; +import type { HomeAssistant } from "../../../types"; +import type { ActionRowConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/entity/ha-entity-toggle"; +import "../components/hui-generic-entity-row"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/entity/ha-entity-toggle"; + import { UNAVAILABLE } from "../../../data/entity"; import { activateScene } from "../../../data/scene"; -import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { ActionRowConfig, LovelaceRow } from "./types"; import { confirmAction } from "../common/confirm-action"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-scene-entity-row") class HuiSceneEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-script-entity-row.ts b/src/panels/lovelace/entity-rows/hui-script-entity-row.ts index bbf1fba097..036ba1e96d 100644 --- a/src/panels/lovelace/entity-rows/hui-script-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-script-entity-row.ts @@ -1,17 +1,20 @@ -import "@material/mwc-button/mwc-button"; +import type { ScriptEntity } from "../../../data/script"; +import type { HomeAssistant } from "../../../types"; +import type { ActionRowConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isUnavailableState } from "../../../data/entity"; -import type { ScriptEntity } from "../../../data/script"; import { canRun, hasScriptFields } from "../../../data/script"; -import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { ActionRowConfig, LovelaceRow } from "./types"; import { showMoreInfoDialog } from "../../../dialogs/more-info/show-ha-more-info-dialog"; import { confirmAction } from "../common/confirm-action"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-script-entity-row") class HuiScriptEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-select-entity-row.ts b/src/panels/lovelace/entity-rows/hui-select-entity-row.ts index e877ac1bf4..e4a48238ae 100644 --- a/src/panels/lovelace/entity-rows/hui-select-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-select-entity-row.ts @@ -1,20 +1,23 @@ -import "@material/mwc-list/mwc-list-item"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { stopPropagation } from "../../../common/dom/stop_propagation"; -import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-select"; -import { UNAVAILABLE } from "../../../data/entity"; -import { forwardHaptic } from "../../../data/haptics"; import type { SelectEntity } from "../../../data/select"; -import { setSelectOption } from "../../../data/select"; import type { HomeAssistant } from "../../../types"; import type { EntitiesCardEntityConfig } from "../cards/types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceRow } from "./types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-select"; +import "../components/hui-generic-entity-row"; +import "@material/mwc-list/mwc-list-item"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { computeStateName } from "../../../common/entity/compute_state_name"; +import { UNAVAILABLE } from "../../../data/entity"; +import { forwardHaptic } from "../../../data/haptics"; +import { setSelectOption } from "../../../data/select"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-select-entity-row") class HuiSelectEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-sensor-entity-row.ts b/src/panels/lovelace/entity-rows/hui-sensor-entity-row.ts index df47cd3690..33d40c62da 100644 --- a/src/panels/lovelace/entity-rows/hui-sensor-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-sensor-entity-row.ts @@ -1,16 +1,19 @@ -import type { PropertyValues } from "lit"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isUnavailableState } from "../../../data/entity"; -import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../../../data/sensor"; import type { HomeAssistant } from "../../../types"; import type { EntitiesCardEntityConfig } from "../cards/types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import "../components/hui-timestamp-display"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { TimestampRenderingFormat } from "../components/types"; import type { LovelaceRow } from "./types"; +import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; +import "../components/hui-timestamp-display"; + +import { LitElement, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isUnavailableState } from "../../../data/entity"; +import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../../../data/sensor"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; interface SensorEntityConfig extends EntitiesCardEntityConfig { format?: TimestampRenderingFormat; diff --git a/src/panels/lovelace/entity-rows/hui-simple-entity-row.ts b/src/panels/lovelace/entity-rows/hui-simple-entity-row.ts index 00c8f2910e..e99bfb8313 100644 --- a/src/panels/lovelace/entity-rows/hui-simple-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-simple-entity-row.ts @@ -1,12 +1,15 @@ -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { HomeAssistant } from "../../../types"; import type { EntitiesCardEntityConfig } from "../cards/types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceRow } from "./types"; +import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-simple-entity-row") class HuiSimpleEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-text-entity-row.ts b/src/panels/lovelace/entity-rows/hui-text-entity-row.ts index d593225ad3..9ab76d834f 100644 --- a/src/panels/lovelace/entity-rows/hui-text-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-text-entity-row.ts @@ -1,16 +1,19 @@ +import type { TextEntity } from "../../../data/text"; +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-textfield"; +import "../components/hui-generic-entity-row"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-textfield"; import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; -import type { TextEntity } from "../../../data/text"; import { setValue } from "../../../data/text"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-text-entity-row") class HuiTextEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-time-entity-row.ts b/src/panels/lovelace/entity-rows/hui-time-entity-row.ts index 6650b0a21e..721291b888 100644 --- a/src/panels/lovelace/entity-rows/hui-time-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-time-entity-row.ts @@ -1,15 +1,18 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/ha-date-input"; +import "../../../components/ha-time-input"; +import "../components/hui-generic-entity-row"; + import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-date-input"; + import { isUnavailableState, UNAVAILABLE } from "../../../data/entity"; import { setTimeValue } from "../../../data/time"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; -import "../../../components/ha-time-input"; @customElement("hui-time-entity-row") class HuiTimeEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-timer-entity-row.ts b/src/panels/lovelace/entity-rows/hui-timer-entity-row.ts index 514ce69a9a..99756804f1 100644 --- a/src/panels/lovelace/entity-rows/hui-timer-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-timer-entity-row.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../state-display/ha-timer-remaining-time"; +import "../components/hui-generic-entity-row"; + import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../state-display/ha-timer-remaining-time"; -import type { HomeAssistant } from "../../../types"; + import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig } from "./types"; @customElement("hui-timer-entity-row") class HuiTimerEntityRow extends LitElement { diff --git a/src/panels/lovelace/entity-rows/hui-toggle-entity-row.ts b/src/panels/lovelace/entity-rows/hui-toggle-entity-row.ts index 1df87198d4..bfec7450d7 100644 --- a/src/panels/lovelace/entity-rows/hui-toggle-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-toggle-entity-row.ts @@ -1,13 +1,16 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/entity/ha-entity-toggle"; +import "../components/hui-generic-entity-row"; + import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/entity/ha-entity-toggle"; + import { isUnavailableState } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-toggle-entity-row") class HuiToggleEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-update-entity-row.ts b/src/panels/lovelace/entity-rows/hui-update-entity-row.ts index 2ad19e2274..f8bcd81353 100644 --- a/src/panels/lovelace/entity-rows/hui-update-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-update-entity-row.ts @@ -1,14 +1,17 @@ -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; import type { UpdateEntity } from "../../../data/update"; -import { computeUpdateStateDisplay } from "../../../data/update"; import type { HomeAssistant } from "../../../types"; import type { EntitiesCardEntityConfig } from "../cards/types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; -import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceRow } from "./types"; +import type { PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { computeUpdateStateDisplay } from "../../../data/update"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; +import { createEntityNotFoundWarning } from "../components/hui-warning"; @customElement("hui-update-entity-row") class HuiUpdateEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-valve-entity-row.ts b/src/panels/lovelace/entity-rows/hui-valve-entity-row.ts index 69c0e42883..57c9c533ee 100644 --- a/src/panels/lovelace/entity-rows/hui-valve-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-valve-entity-row.ts @@ -1,13 +1,16 @@ +import type { HomeAssistant } from "../../../types"; +import type { EntityConfig, LovelaceRow } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/entity/ha-entity-toggle"; +import "../components/hui-generic-entity-row"; + import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../components/entity/ha-entity-toggle"; + import { isUnavailableState } from "../../../data/entity"; -import type { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { EntityConfig, LovelaceRow } from "./types"; @customElement("hui-valve-entity-row") class HuiValveEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts b/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts index 856d9d6990..6e33d07697 100644 --- a/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts @@ -1,12 +1,19 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { ForecastEvent, WeatherEntity } from "../../../data/weather"; +import type { HomeAssistant } from "../../../types"; +import type { EntitiesCardEntityConfig } from "../cards/types"; +import type { LovelaceRow } from "./types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../components/hui-generic-entity-row"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; + import { computeStateName } from "../../../common/entity/compute_state_name"; import { isUnavailableState } from "../../../data/entity"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { ForecastEvent, WeatherEntity } from "../../../data/weather"; import { getDefaultForecastType, getForecast, @@ -15,15 +22,11 @@ import { subscribeForecast, weatherSVGStyles, } from "../../../data/weather"; -import type { HomeAssistant } from "../../../types"; -import type { EntitiesCardEntityConfig } from "../cards/types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction, hasAnyAction } from "../common/has-action"; import { hasConfigOrEntityChanged } from "../common/has-changed"; -import "../components/hui-generic-entity-row"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { LovelaceRow } from "./types"; @customElement("hui-weather-entity-row") class HuiWeatherEntityRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/ha-panel-lovelace.ts b/src/panels/lovelace/ha-panel-lovelace.ts index 8c17d07796..3d487b8b65 100644 --- a/src/panels/lovelace/ha-panel-lovelace.ts +++ b/src/panels/lovelace/ha-panel-lovelace.ts @@ -1,9 +1,24 @@ -import "@material/mwc-button"; -import deepFreeze from "deep-freeze"; +import type { + LovelaceConfig, + LovelaceDashboardStrategyConfig, + LovelaceRawConfig, +} from "../../data/lovelace/config/types"; +import type { WindowWithPreloads } from "../../data/preloads"; +import type { ShowToastParams } from "../../managers/notification-manager"; +import type { HomeAssistant, PanelInfo, Route } from "../../types"; +import type { Lovelace } from "./types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../layouts/hass-error-screen"; +import "../../layouts/hass-loading-screen"; +import "./hui-root"; +import "@material/mwc-button"; + +import deepFreeze from "deep-freeze"; import { html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { constructUrlCurrentPath } from "../../common/url/construct-url"; import { addSearchParam, @@ -11,11 +26,6 @@ import { } from "../../common/url/search-params"; import { domainToName } from "../../data/integration"; import { subscribeLovelaceUpdates } from "../../data/lovelace"; -import type { - LovelaceConfig, - LovelaceDashboardStrategyConfig, - LovelaceRawConfig, -} from "../../data/lovelace/config/types"; import { deleteConfig, fetchConfig, @@ -23,18 +33,11 @@ import { saveConfig, } from "../../data/lovelace/config/types"; import { fetchResources } from "../../data/lovelace/resource"; -import type { WindowWithPreloads } from "../../data/preloads"; -import "../../layouts/hass-error-screen"; -import "../../layouts/hass-loading-screen"; -import type { ShowToastParams } from "../../managers/notification-manager"; -import type { HomeAssistant, PanelInfo, Route } from "../../types"; import { showToast } from "../../util/toast"; import { checkLovelaceConfig } from "./common/check-lovelace-config"; import { loadLovelaceResources } from "./common/load-resources"; import { showSaveDialog } from "./editor/show-save-config-dialog"; -import "./hui-root"; import { generateLovelaceDashboardStrategy } from "./strategies/get-strategy"; -import type { Lovelace } from "./types"; (window as any).loadCardHelpers = () => import("./custom-card-helpers"); diff --git a/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts b/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts index 589981a798..30bd17d4a3 100644 --- a/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts +++ b/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts @@ -1,14 +1,17 @@ -import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { classMap } from "lit/directives/class-map"; -import { customElement, property, state } from "lit/decorators"; -import { computeDomain } from "../../../common/entity/compute_domain"; import type { HomeAssistant } from "../../../types"; -import { processConfigEntities } from "../common/process-config-entities"; -import "../components/hui-buttons-base"; import type { EntityConfig } from "../entity-rows/types"; import type { LovelaceHeaderFooter } from "../types"; import type { ButtonsHeaderFooterConfig } from "./types"; +import type { TemplateResult } from "lit"; + +import "../components/hui-buttons-base"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { computeDomain } from "../../../common/entity/compute_domain"; +import { processConfigEntities } from "../common/process-config-entities"; @customElement("hui-buttons-header-footer") export class HuiButtonsHeaderFooter diff --git a/src/panels/lovelace/header-footer/hui-graph-header-footer.ts b/src/panels/lovelace/header-footer/hui-graph-header-footer.ts index 003eeee538..eea2b2b791 100644 --- a/src/panels/lovelace/header-footer/hui-graph-header-footer.ts +++ b/src/panels/lovelace/header-footer/hui-graph-header-footer.ts @@ -1,20 +1,23 @@ -import type { HassEntity } from "home-assistant-js-websocket"; -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import { computeDomain } from "../../../common/entity/compute_domain"; -import "../../../components/ha-spinner"; -import { subscribeHistoryStatesTimeWindow } from "../../../data/history"; import type { HomeAssistant } from "../../../types"; -import { findEntities } from "../common/find-entities"; -import { coordinatesMinimalResponseCompressedState } from "../common/graph/coordinates"; -import "../components/hui-graph-base"; import type { LovelaceHeaderFooter, LovelaceHeaderFooterEditor, } from "../types"; import type { GraphHeaderFooterConfig } from "./types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-spinner"; +import "../components/hui-graph-base"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { subscribeHistoryStatesTimeWindow } from "../../../data/history"; +import { findEntities } from "../common/find-entities"; +import { coordinatesMinimalResponseCompressedState } from "../common/graph/coordinates"; const MINUTE = 60000; const HOUR = 60 * MINUTE; diff --git a/src/panels/lovelace/header-footer/hui-picture-header-footer.ts b/src/panels/lovelace/header-footer/hui-picture-header-footer.ts index 3f02690776..d33be4d06d 100644 --- a/src/panels/lovelace/header-footer/hui-picture-header-footer.ts +++ b/src/panels/lovelace/header-footer/hui-picture-header-footer.ts @@ -1,16 +1,19 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceHeaderFooter } from "../types"; +import type { PictureHeaderFooterConfig } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-card"; + import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; -import "../../../components/ha-card"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import type { HomeAssistant } from "../../../types"; + import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import type { LovelaceHeaderFooter } from "../types"; -import type { PictureHeaderFooterConfig } from "./types"; @customElement("hui-picture-header-footer") export class HuiPictureHeaderFooter diff --git a/src/panels/lovelace/header-footer/structs.ts b/src/panels/lovelace/header-footer/structs.ts index dd0a28780f..efd8e32664 100644 --- a/src/panels/lovelace/header-footer/structs.ts +++ b/src/panels/lovelace/header-footer/structs.ts @@ -1,3 +1,5 @@ +import type { LovelaceHeaderFooterConfig } from "./types"; + import { array, dynamic, @@ -7,9 +9,9 @@ import { union, string, } from "superstruct"; + import { actionConfigStruct } from "../editor/structs/action-struct"; import { buttonEntityConfigStruct } from "../editor/structs/button-entity-struct"; -import type { LovelaceHeaderFooterConfig } from "./types"; export const pictureHeaderFooterConfigStruct = object({ type: string(), diff --git a/src/panels/lovelace/heading-badges/hui-entity-heading-badge.ts b/src/panels/lovelace/heading-badges/hui-entity-heading-badge.ts index 7779e3a6e2..b317f39e8a 100644 --- a/src/panels/lovelace/heading-badges/hui-entity-heading-badge.ts +++ b/src/panels/lovelace/heading-badges/hui-entity-heading-badge.ts @@ -1,29 +1,32 @@ -import { mdiAlertCircle } from "@mdi/js"; +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { + LovelaceHeadingBadge, + LovelaceHeadingBadgeEditor, +} from "../types"; +import type { EntityHeadingBadgeConfig } from "./types"; import type { HassEntity } from "home-assistant-js-websocket"; + +import "../../../components/ha-heading-badge"; +import "../../../components/ha-state-icon"; +import "../../../state-display/state-display"; + +import { mdiAlertCircle } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { computeCssColor } from "../../../common/color/compute-color"; import { hsv2rgb, rgb2hex, rgb2hsv } from "../../../common/color/convert-color"; import { computeDomain } from "../../../common/entity/compute_domain"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { stateActive } from "../../../common/entity/state_active"; import { stateColorCss } from "../../../common/entity/state_color"; -import "../../../components/ha-heading-badge"; -import "../../../components/ha-state-icon"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; -import "../../../state-display/state-display"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; import { DEFAULT_CONFIG } from "../editor/heading-badge-editor/hui-entity-heading-badge-editor"; -import type { - LovelaceHeadingBadge, - LovelaceHeadingBadgeEditor, -} from "../types"; -import type { EntityHeadingBadgeConfig } from "./types"; const DEFAULT_ACTIONS: Pick< EntityHeadingBadgeConfig, diff --git a/src/panels/lovelace/heading-badges/hui-error-heading-badge.ts b/src/panels/lovelace/heading-badges/hui-error-heading-badge.ts index 537314a0b3..e6740531d6 100644 --- a/src/panels/lovelace/heading-badges/hui-error-heading-badge.ts +++ b/src/panels/lovelace/heading-badges/hui-error-heading-badge.ts @@ -1,13 +1,16 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceBadge } from "../types"; +import type { ErrorBadgeConfig } from "./types"; + +import "../../../components/ha-badge"; +import "../../../components/ha-svg-icon"; + import { mdiAlertCircle } from "@mdi/js"; import { dump } from "js-yaml"; import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; -import "../../../components/ha-badge"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; + import { showAlertDialog } from "../custom-card-helpers"; -import type { LovelaceBadge } from "../types"; -import type { ErrorBadgeConfig } from "./types"; export const createErrorHeadingBadgeElement = (config) => { const el = document.createElement("hui-error-heading-badge"); diff --git a/src/panels/lovelace/heading-badges/hui-heading-badge.ts b/src/panels/lovelace/heading-badges/hui-heading-badge.ts index 3f7c74b048..28114d3081 100644 --- a/src/panels/lovelace/heading-badges/hui-heading-badge.ts +++ b/src/panels/lovelace/heading-badges/hui-heading-badge.ts @@ -1,17 +1,20 @@ +import type { MediaQueriesListener } from "../../../common/dom/media_query"; +import type { HomeAssistant } from "../../../types"; +import type { LovelaceHeadingBadge } from "../types"; +import type { LovelaceHeadingBadgeConfig } from "./types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-svg-icon"; + import { ReactiveElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../../common/dom/fire_event"; -import type { MediaQueriesListener } from "../../../common/dom/media_query"; -import "../../../components/ha-svg-icon"; -import type { HomeAssistant } from "../../../types"; import { attachConditionMediaQueriesListeners, checkConditionsMet, } from "../common/validate-condition"; import { createHeadingBadgeElement } from "../create-element/create-heading-badge-element"; -import type { LovelaceHeadingBadge } from "../types"; -import type { LovelaceHeadingBadgeConfig } from "./types"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/hui-editor.ts b/src/panels/lovelace/hui-editor.ts index 75ea3430aa..df18cb728e 100644 --- a/src/panels/lovelace/hui-editor.ts +++ b/src/panels/lovelace/hui-editor.ts @@ -1,27 +1,30 @@ -import { undoDepth } from "@codemirror/commands"; +import type { HaCodeEditor } from "../../components/ha-code-editor"; +import type { LovelaceRawConfig } from "../../data/lovelace/config/types"; +import type { HomeAssistant } from "../../types"; +import type { Lovelace } from "./types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-code-editor"; +import "../../components/ha-icon-button"; +import "../../components/ha-top-app-bar-fixed"; import "@material/mwc-button"; + +import { undoDepth } from "@codemirror/commands"; import { mdiClose } from "@mdi/js"; import { dump, load } from "js-yaml"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { array, assert, object, optional, string, type } from "superstruct"; + import { deepEqual } from "../../common/util/deep-equal"; -import "../../components/ha-code-editor"; -import type { HaCodeEditor } from "../../components/ha-code-editor"; -import "../../components/ha-icon-button"; +import { isStrategyDashboard } from "../../data/lovelace/config/types"; import { showAlertDialog, showConfirmationDialog, } from "../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; import { showToast } from "../../util/toast"; -import type { Lovelace } from "./types"; -import "../../components/ha-top-app-bar-fixed"; -import type { LovelaceRawConfig } from "../../data/lovelace/config/types"; -import { isStrategyDashboard } from "../../data/lovelace/config/types"; const lovelaceStruct = type({ title: optional(string()), diff --git a/src/panels/lovelace/hui-root.ts b/src/panels/lovelace/hui-root.ts index b4fa06cab7..842bb1b492 100644 --- a/src/panels/lovelace/hui-root.ts +++ b/src/panels/lovelace/hui-root.ts @@ -1,6 +1,29 @@ +import type { LocalizeKeys } from "../../common/translations/localize"; +import type { LovelacePanelConfig } from "../../data/lovelace"; +import type { LovelaceConfig } from "../../data/lovelace/config/types"; +import type { LovelaceViewConfig } from "../../data/lovelace/config/view"; +import type { HomeAssistant, PanelInfo } from "../../types"; +import type { Lovelace } from "./types"; +import type { HUIView } from "./views/hui-view"; +import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-button-menu"; +import "../../components/ha-icon"; +import "../../components/ha-icon-button"; +import "../../components/ha-icon-button-arrow-next"; +import "../../components/ha-icon-button-arrow-prev"; +import "../../components/ha-menu-button"; +import "../../components/ha-svg-icon"; +import "../../components/ha-tabs"; +import "./views/hui-view"; +import "./views/hui-view-background"; +import "./views/hui-view-container"; import "@material/mwc-button"; import "@material/mwc-list/mwc-list-item"; -import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; +import "@polymer/paper-tabs/paper-tab"; +import "@polymer/paper-tabs/paper-tabs"; + import { mdiCodeBraces, mdiCommentProcessingOutline, @@ -15,19 +38,16 @@ import { mdiShape, mdiViewDashboard, } from "@mdi/js"; -import "@polymer/paper-tabs/paper-tab"; -import "@polymer/paper-tabs/paper-tabs"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { ifDefined } from "lit/directives/if-defined"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; import { shouldHandleRequestSelectedEvent } from "../../common/mwc/handle-request-selected-event"; import { navigate } from "../../common/navigate"; -import type { LocalizeKeys } from "../../common/translations/localize"; import { constructUrlCurrentPath } from "../../common/url/construct-url"; import { addSearchParam, @@ -37,18 +57,7 @@ import { import { computeRTLDirection } from "../../common/util/compute_rtl"; import { debounce } from "../../common/util/debounce"; import { afterNextRender } from "../../common/util/render-status"; -import "../../components/ha-button-menu"; -import "../../components/ha-icon"; -import "../../components/ha-icon-button"; -import "../../components/ha-icon-button-arrow-next"; -import "../../components/ha-icon-button-arrow-prev"; -import "../../components/ha-menu-button"; -import "../../components/ha-svg-icon"; -import "../../components/ha-tabs"; -import type { LovelacePanelConfig } from "../../data/lovelace"; -import type { LovelaceConfig } from "../../data/lovelace/config/types"; import { isStrategyDashboard } from "../../data/lovelace/config/types"; -import type { LovelaceViewConfig } from "../../data/lovelace/config/view"; import { deleteDashboard, fetchDashboards, @@ -63,9 +72,9 @@ import { QuickBarMode, showQuickBar, } from "../../dialogs/quick-bar/show-dialog-quick-bar"; +import { showShortcutsDialog } from "../../dialogs/shortcuts/show-shortcuts-dialog"; import { showVoiceCommandDialog } from "../../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant, PanelInfo } from "../../types"; import { documentationUrl } from "../../util/documentation-url"; import { showDashboardDetailDialog } from "../config/lovelace/dashboards/show-dialog-lovelace-dashboard-detail"; import { swapView } from "./editor/config-util"; @@ -74,12 +83,6 @@ import { showSaveDialog } from "./editor/show-save-config-dialog"; import { showEditViewDialog } from "./editor/view-editor/show-edit-view-dialog"; import { getLovelaceStrategy } from "./strategies/get-strategy"; import { isLegacyStrategyConfig } from "./strategies/legacy-strategy"; -import type { Lovelace } from "./types"; -import "./views/hui-view"; -import "./views/hui-view-container"; -import type { HUIView } from "./views/hui-view"; -import "./views/hui-view-background"; -import { showShortcutsDialog } from "../../dialogs/shortcuts/show-shortcuts-dialog"; @customElement("hui-root") class HUIRoot extends LitElement { diff --git a/src/panels/lovelace/sections/hui-error-section.ts b/src/panels/lovelace/sections/hui-error-section.ts index e394c98bbe..4ad131f4ad 100644 --- a/src/panels/lovelace/sections/hui-error-section.ts +++ b/src/panels/lovelace/sections/hui-error-section.ts @@ -1,11 +1,13 @@ -import { html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../../components/ha-label-badge"; -import "../../../components/ha-svg-icon"; import type { LovelaceSectionElement } from "../../../data/lovelace"; import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; import type { HomeAssistant } from "../../../types"; +import "../../../components/ha-label-badge"; +import "../../../components/ha-svg-icon"; + +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + export interface ErrorSectionConfig extends LovelaceSectionConfig { error: string; } diff --git a/src/panels/lovelace/sections/hui-grid-section.ts b/src/panels/lovelace/sections/hui-grid-section.ts index c30b3484b2..db31a93825 100644 --- a/src/panels/lovelace/sections/hui-grid-section.ts +++ b/src/panels/lovelace/sections/hui-grid-section.ts @@ -1,25 +1,28 @@ -import { mdiPlus } from "@mdi/js"; +import type { HaSortableOptions } from "../../../components/ha-sortable"; +import type { LovelaceSectionElement } from "../../../data/lovelace"; +import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; +import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; +import type { HomeAssistant } from "../../../types"; +import type { HuiCard } from "../cards/hui-card"; +import type { LovelaceCardPath } from "../editor/lovelace-path"; +import type { Lovelace } from "../types"; import type { CSSResultGroup } from "lit"; + +import "../../../components/ha-ripple"; +import "../../../components/ha-sortable"; +import "../components/hui-card-edit-mode"; + +import { mdiPlus } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { repeat } from "lit/directives/repeat"; import { styleMap } from "lit/directives/style-map"; + import { fireEvent } from "../../../common/dom/fire_event"; -import "../../../components/ha-ripple"; -import "../../../components/ha-sortable"; -import type { HaSortableOptions } from "../../../components/ha-sortable"; -import type { LovelaceSectionElement } from "../../../data/lovelace"; -import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; -import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; import { haStyle } from "../../../resources/styles"; -import type { HomeAssistant } from "../../../types"; -import type { HuiCard } from "../cards/hui-card"; import { computeCardGridSize } from "../common/compute-card-grid-size"; -import "../components/hui-card-edit-mode"; import { moveCard } from "../editor/config-util"; -import type { LovelaceCardPath } from "../editor/lovelace-path"; -import type { Lovelace } from "../types"; const CARD_SORTABLE_OPTIONS: HaSortableOptions = { delay: 100, diff --git a/src/panels/lovelace/sections/hui-section.ts b/src/panels/lovelace/sections/hui-section.ts index 1db1de751e..9f18a4f246 100644 --- a/src/panels/lovelace/sections/hui-section.ts +++ b/src/panels/lovelace/sections/hui-section.ts @@ -1,21 +1,25 @@ -import deepClone from "deep-clone-simple"; -import type { PropertyValues } from "lit"; -import { ReactiveElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { storage } from "../../../common/decorators/storage"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { MediaQueriesListener } from "../../../common/dom/media_query"; -import "../../../components/ha-svg-icon"; import type { LovelaceSectionElement } from "../../../data/lovelace"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceSectionConfig, LovelaceSectionRawConfig, } from "../../../data/lovelace/config/section"; -import { isStrategySection } from "../../../data/lovelace/config/section"; import type { HomeAssistant } from "../../../types"; -import "../cards/hui-card"; import type { HuiCard } from "../cards/hui-card"; +import type { Lovelace } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-svg-icon"; +import "../cards/hui-card"; + +import deepClone from "deep-clone-simple"; +import { ReactiveElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { storage } from "../../../common/decorators/storage"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { isStrategySection } from "../../../data/lovelace/config/section"; import { attachConditionMediaQueriesListeners, checkConditionsMet, @@ -27,7 +31,6 @@ import { addCard, replaceCard } from "../editor/config-util"; import { performDeleteCard } from "../editor/delete-card"; import { parseLovelaceCardPath } from "../editor/lovelace-path"; import { generateLovelaceSectionStrategy } from "../strategies/get-strategy"; -import type { Lovelace } from "../types"; import { DEFAULT_SECTION_LAYOUT } from "./const"; declare global { diff --git a/src/panels/lovelace/special-rows/hui-attribute-row.ts b/src/panels/lovelace/special-rows/hui-attribute-row.ts index 6ad3e3d75a..328a727ef1 100644 --- a/src/panels/lovelace/special-rows/hui-attribute-row.ts +++ b/src/panels/lovelace/special-rows/hui-attribute-row.ts @@ -1,14 +1,17 @@ -import type { PropertyValues } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import checkValidDate from "../../../common/datetime/check_valid_date"; -import "../../../components/ha-attribute-value"; import type { HomeAssistant } from "../../../types"; -import { hasConfigOrEntityChanged } from "../common/has-changed"; +import type { AttributeRowConfig, LovelaceRow } from "../entity-rows/types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-attribute-value"; import "../components/hui-generic-entity-row"; import "../components/hui-timestamp-display"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import checkValidDate from "../../../common/datetime/check_valid_date"; +import { hasConfigOrEntityChanged } from "../common/has-changed"; import { createEntityNotFoundWarning } from "../components/hui-warning"; -import type { AttributeRowConfig, LovelaceRow } from "../entity-rows/types"; @customElement("hui-attribute-row") class HuiAttributeRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/special-rows/hui-button-row.ts b/src/panels/lovelace/special-rows/hui-button-row.ts index 3eccfbc982..1bacf9c60f 100644 --- a/src/panels/lovelace/special-rows/hui-button-row.ts +++ b/src/panels/lovelace/special-rows/hui-button-row.ts @@ -1,16 +1,19 @@ +import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; +import type { HomeAssistant } from "../../../types"; +import type { ButtonRowConfig, LovelaceRow } from "../entity-rows/types"; + +import "../../../components/ha-state-icon"; import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; + import { DOMAINS_TOGGLE } from "../../../common/const"; import { computeDomain } from "../../../common/entity/compute_domain"; import { computeStateName } from "../../../common/entity/compute_state_name"; -import "../../../components/ha-state-icon"; -import type { HomeAssistant } from "../../../types"; import { actionHandler } from "../common/directives/action-handler-directive"; import { handleAction } from "../common/handle-action"; import { hasAction } from "../common/has-action"; -import type { ButtonRowConfig, LovelaceRow } from "../entity-rows/types"; -import type { ActionHandlerEvent } from "../../../data/lovelace/action_handler"; @customElement("hui-button-row") export class HuiButtonRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/special-rows/hui-buttons-row.ts b/src/panels/lovelace/special-rows/hui-buttons-row.ts index c999ef6670..979067bdb3 100644 --- a/src/panels/lovelace/special-rows/hui-buttons-row.ts +++ b/src/panels/lovelace/special-rows/hui-buttons-row.ts @@ -1,16 +1,19 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { DOMAINS_TOGGLE } from "../../../common/const"; -import { computeDomain } from "../../../common/entity/compute_domain"; import type { HomeAssistant } from "../../../types"; -import { processConfigEntities } from "../common/process-config-entities"; -import "../components/hui-buttons-base"; import type { ButtonsRowConfig, EntityConfig, LovelaceRow, } from "../entity-rows/types"; +import type { TemplateResult } from "lit"; + +import "../components/hui-buttons-base"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { DOMAINS_TOGGLE } from "../../../common/const"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { processConfigEntities } from "../common/process-config-entities"; @customElement("hui-buttons-row") export class HuiButtonsRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/special-rows/hui-call-service-row.ts b/src/panels/lovelace/special-rows/hui-call-service-row.ts index 2894460e1c..c6aeafe2d2 100644 --- a/src/panels/lovelace/special-rows/hui-call-service-row.ts +++ b/src/panels/lovelace/special-rows/hui-call-service-row.ts @@ -1,5 +1,7 @@ -import { customElement } from "lit/decorators"; import type { CallServiceConfig } from "../entity-rows/types"; + +import { customElement } from "lit/decorators"; + import { HuiButtonRow } from "./hui-button-row"; @customElement("hui-call-service-row") diff --git a/src/panels/lovelace/special-rows/hui-cast-row.ts b/src/panels/lovelace/special-rows/hui-cast-row.ts index 2503886a6e..870ed0b15f 100644 --- a/src/panels/lovelace/special-rows/hui-cast-row.ts +++ b/src/panels/lovelace/special-rows/hui-cast-row.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button/mwc-button"; +import type { CastManager } from "../../../cast/cast_manager"; +import type { HomeAssistant } from "../../../types"; +import type { CastConfig, LovelaceRow } from "../entity-rows/types"; import type { PropertyValues } from "lit"; + +import "../../../components/ha-icon"; +import "@material/mwc-button/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; -import type { CastManager } from "../../../cast/cast_manager"; + import { castSendShowLovelaceView, ensureConnectedCastSession, } from "../../../cast/receiver_messages"; -import "../../../components/ha-icon"; -import type { HomeAssistant } from "../../../types"; -import type { CastConfig, LovelaceRow } from "../entity-rows/types"; @customElement("hui-cast-row") class HuiCastRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/special-rows/hui-conditional-row.ts b/src/panels/lovelace/special-rows/hui-conditional-row.ts index 5e76c476e1..b8f917db10 100644 --- a/src/panels/lovelace/special-rows/hui-conditional-row.ts +++ b/src/panels/lovelace/special-rows/hui-conditional-row.ts @@ -1,13 +1,15 @@ -import { customElement } from "lit/decorators"; import type { EntityCardConfig } from "../cards/types"; -import { HuiConditionalBase } from "../components/hui-conditional-base"; -import { createRowElement } from "../create-element/create-row-element"; import type { ConditionalRowConfig, EntityConfig, LovelaceRow, } from "../entity-rows/types"; +import { customElement } from "lit/decorators"; + +import { HuiConditionalBase } from "../components/hui-conditional-base"; +import { createRowElement } from "../create-element/create-row-element"; + @customElement("hui-conditional-row") class HuiConditionalRow extends HuiConditionalBase implements LovelaceRow { public setConfig(config: ConditionalRowConfig): void { diff --git a/src/panels/lovelace/special-rows/hui-divider-row.ts b/src/panels/lovelace/special-rows/hui-divider-row.ts index 7ceab1d563..684f831505 100644 --- a/src/panels/lovelace/special-rows/hui-divider-row.ts +++ b/src/panels/lovelace/special-rows/hui-divider-row.ts @@ -1,8 +1,9 @@ +import type { HomeAssistant } from "../../../types"; +import type { DividerConfig, LovelaceRow } from "../entity-rows/types"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; -import type { HomeAssistant } from "../../../types"; -import type { DividerConfig, LovelaceRow } from "../entity-rows/types"; @customElement("hui-divider-row") class HuiDividerRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/special-rows/hui-section-row.ts b/src/panels/lovelace/special-rows/hui-section-row.ts index 64eeb7cac4..64c6bd9959 100644 --- a/src/panels/lovelace/special-rows/hui-section-row.ts +++ b/src/panels/lovelace/special-rows/hui-section-row.ts @@ -1,8 +1,9 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, state } from "lit/decorators"; import type { HomeAssistant } from "../../../types"; import type { LovelaceRow, SectionConfig } from "../entity-rows/types"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, state } from "lit/decorators"; + @customElement("hui-section-row") class HuiSectionRow extends LitElement implements LovelaceRow { public hass?: HomeAssistant; diff --git a/src/panels/lovelace/special-rows/hui-text-row.ts b/src/panels/lovelace/special-rows/hui-text-row.ts index fc47ce7d1f..9b633648a4 100644 --- a/src/panels/lovelace/special-rows/hui-text-row.ts +++ b/src/panels/lovelace/special-rows/hui-text-row.ts @@ -1,7 +1,9 @@ +import type { LovelaceRow, TextConfig } from "../entity-rows/types"; + +import "../../../components/ha-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; -import "../../../components/ha-icon"; -import type { LovelaceRow, TextConfig } from "../entity-rows/types"; @customElement("hui-text-row") class HuiTextRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/special-rows/hui-weblink-row.ts b/src/panels/lovelace/special-rows/hui-weblink-row.ts index 783cf59010..e735e13251 100644 --- a/src/panels/lovelace/special-rows/hui-weblink-row.ts +++ b/src/panels/lovelace/special-rows/hui-weblink-row.ts @@ -1,9 +1,11 @@ +import type { HomeAssistant } from "../../../types"; +import type { LovelaceRow, WeblinkConfig } from "../entity-rows/types"; + +import "../../../components/ha-icon"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; -import "../../../components/ha-icon"; -import type { HomeAssistant } from "../../../types"; -import type { LovelaceRow, WeblinkConfig } from "../entity-rows/types"; @customElement("hui-weblink-row") class HuiWeblinkRow extends LitElement implements LovelaceRow { diff --git a/src/panels/lovelace/strategies/areas/area-view-strategy.ts b/src/panels/lovelace/strategies/areas/area-view-strategy.ts index 853568dfbb..a44e5858eb 100644 --- a/src/panels/lovelace/strategies/areas/area-view-strategy.ts +++ b/src/panels/lovelace/strategies/areas/area-view-strategy.ts @@ -1,11 +1,13 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; -import { clamp } from "../../../../common/number/clamp"; import type { LovelaceBadgeConfig } from "../../../../data/lovelace/config/badge"; import type { LovelaceCardConfig } from "../../../../data/lovelace/config/card"; import type { LovelaceSectionRawConfig } from "../../../../data/lovelace/config/section"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; + +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + +import { clamp } from "../../../../common/number/clamp"; import { AREA_STRATEGY_GROUP_ICONS, computeAreaTileCardConfig, diff --git a/src/panels/lovelace/strategies/areas/areas-dashboard-strategy.ts b/src/panels/lovelace/strategies/areas/areas-dashboard-strategy.ts index ef397b4a8e..a426691e0c 100644 --- a/src/panels/lovelace/strategies/areas/areas-dashboard-strategy.ts +++ b/src/panels/lovelace/strategies/areas/areas-dashboard-strategy.ts @@ -1,6 +1,3 @@ -import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceViewRawConfig } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; @@ -10,6 +7,11 @@ import type { EntitiesDisplay, } from "./area-view-strategy"; import type { AreasViewStrategyConfig } from "./areas-overview-view-strategy"; + +import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + import { computeAreaPath, getAreas } from "./helpers/areas-strategy-helper"; interface AreaOptions { diff --git a/src/panels/lovelace/strategies/areas/areas-overview-view-strategy.ts b/src/panels/lovelace/strategies/areas/areas-overview-view-strategy.ts index 547f93ed34..a903ee9841 100644 --- a/src/panels/lovelace/strategies/areas/areas-overview-view-strategy.ts +++ b/src/panels/lovelace/strategies/areas/areas-overview-view-strategy.ts @@ -1,9 +1,11 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { LovelaceSectionConfig } from "../../../../data/lovelace/config/section"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; import type { EntitiesDisplay } from "./area-view-strategy"; + +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + import { computeAreaPath, computeAreaTileCardConfig, diff --git a/src/panels/lovelace/strategies/areas/editor/hui-areas-dashboard-strategy-editor.ts b/src/panels/lovelace/strategies/areas/editor/hui-areas-dashboard-strategy-editor.ts index 10975e4d35..56366b44b5 100644 --- a/src/panels/lovelace/strategies/areas/editor/hui-areas-dashboard-strategy-editor.ts +++ b/src/panels/lovelace/strategies/areas/editor/hui-areas-dashboard-strategy-editor.ts @@ -1,21 +1,24 @@ -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../../../../common/dom/fire_event"; -import "../../../../../components/ha-areas-display-editor"; import type { AreasDisplayValue } from "../../../../../components/ha-areas-display-editor"; +import type { HomeAssistant } from "../../../../../types"; +import type { LovelaceStrategyEditor } from "../../types"; +import type { AreasDashboardStrategyConfig } from "../areas-dashboard-strategy"; +import type { AreaStrategyGroup } from "../helpers/areas-strategy-helper"; + +import "../../../../../components/ha-areas-display-editor"; import "../../../../../components/ha-entities-display-editor"; +import "../../../../../components/ha-icon"; import "../../../../../components/ha-icon-button"; import "../../../../../components/ha-icon-button-prev"; -import "../../../../../components/ha-icon"; -import type { HomeAssistant } from "../../../../../types"; -import type { AreaStrategyGroup } from "../helpers/areas-strategy-helper"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../../../../common/dom/fire_event"; import { AREA_STRATEGY_GROUP_ICONS, AREA_STRATEGY_GROUPS, getAreaGroupedEntities, } from "../helpers/areas-strategy-helper"; -import type { LovelaceStrategyEditor } from "../../types"; -import type { AreasDashboardStrategyConfig } from "../areas-dashboard-strategy"; @customElement("hui-areas-dashboard-strategy-editor") export class HuiAreasDashboardStrategyEditor diff --git a/src/panels/lovelace/strategies/areas/helpers/areas-strategy-helper.ts b/src/panels/lovelace/strategies/areas/helpers/areas-strategy-helper.ts index 2c284fcca8..0b8d061a18 100644 --- a/src/panels/lovelace/strategies/areas/helpers/areas-strategy-helper.ts +++ b/src/panels/lovelace/strategies/areas/helpers/areas-strategy-helper.ts @@ -1,20 +1,21 @@ +import type { EntityFilterFunc } from "../../../../../common/entity/entity_filter"; +import type { AreaRegistryEntry } from "../../../../../data/area_registry"; +import type { LovelaceCardConfig } from "../../../../../data/lovelace/config/card"; +import type { HomeAssistant } from "../../../../../types"; +import type { LovelaceCardFeatureConfig } from "../../../card-features/types"; +import type { TileCardConfig } from "../../../cards/types"; + import { computeDomain } from "../../../../../common/entity/compute_domain"; import { computeStateName } from "../../../../../common/entity/compute_state_name"; -import type { EntityFilterFunc } from "../../../../../common/entity/entity_filter"; import { generateEntityFilter } from "../../../../../common/entity/entity_filter"; import { stripPrefixFromEntityName } from "../../../../../common/entity/strip_prefix_from_entity_name"; import { orderCompare } from "../../../../../common/string/compare"; -import type { AreaRegistryEntry } from "../../../../../data/area_registry"; import { areaCompare } from "../../../../../data/area_registry"; -import type { LovelaceCardConfig } from "../../../../../data/lovelace/config/card"; -import type { HomeAssistant } from "../../../../../types"; import { supportsAlarmModesCardFeature } from "../../../card-features/hui-alarm-modes-card-feature"; import { supportsCoverOpenCloseCardFeature } from "../../../card-features/hui-cover-open-close-card-feature"; import { supportsLightBrightnessCardFeature } from "../../../card-features/hui-light-brightness-card-feature"; import { supportsLockCommandsCardFeature } from "../../../card-features/hui-lock-commands-card-feature"; import { supportsTargetTemperatureCardFeature } from "../../../card-features/hui-target-temperature-card-feature"; -import type { LovelaceCardFeatureConfig } from "../../../card-features/types"; -import type { TileCardConfig } from "../../../cards/types"; export const AREA_STRATEGY_GROUPS = [ "lights", diff --git a/src/panels/lovelace/strategies/get-strategy.ts b/src/panels/lovelace/strategies/get-strategy.ts index af7db8413f..4177a11f60 100644 --- a/src/panels/lovelace/strategies/get-strategy.ts +++ b/src/panels/lovelace/strategies/get-strategy.ts @@ -8,14 +8,11 @@ import type { LovelaceDashboardStrategyConfig, LovelaceRawConfig, } from "../../../data/lovelace/config/types"; -import { isStrategyDashboard } from "../../../data/lovelace/config/types"; import type { LovelaceStrategyViewConfig, LovelaceViewConfig, } from "../../../data/lovelace/config/view"; -import { isStrategyView } from "../../../data/lovelace/config/view"; import type { AsyncReturnType, HomeAssistant } from "../../../types"; -import { cleanLegacyStrategyConfig, isLegacyStrategy } from "./legacy-strategy"; import type { LovelaceDashboardStrategy, LovelaceSectionStrategy, @@ -23,6 +20,10 @@ import type { LovelaceViewStrategy, } from "./types"; +import { isStrategyDashboard } from "../../../data/lovelace/config/types"; +import { isStrategyView } from "../../../data/lovelace/config/view"; +import { cleanLegacyStrategyConfig, isLegacyStrategy } from "./legacy-strategy"; + const MAX_WAIT_STRATEGY_LOAD = 5000; const CUSTOM_PREFIX = "custom:"; diff --git a/src/panels/lovelace/strategies/iframe/iframe-dashboard-strategy.ts b/src/panels/lovelace/strategies/iframe/iframe-dashboard-strategy.ts index ddaafdd43f..0ae5e0aebe 100644 --- a/src/panels/lovelace/strategies/iframe/iframe-dashboard-strategy.ts +++ b/src/panels/lovelace/strategies/iframe/iframe-dashboard-strategy.ts @@ -1,9 +1,10 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceStrategyEditor } from "../types"; import type { IframeViewStrategyConfig } from "./iframe-view-strategy"; +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + export type IframeDashboardStrategyConfig = IframeViewStrategyConfig; @customElement("iframe-dashboard-strategy") diff --git a/src/panels/lovelace/strategies/iframe/iframe-view-strategy.ts b/src/panels/lovelace/strategies/iframe/iframe-view-strategy.ts index fa695d86d3..6c131f1028 100644 --- a/src/panels/lovelace/strategies/iframe/iframe-view-strategy.ts +++ b/src/panels/lovelace/strategies/iframe/iframe-view-strategy.ts @@ -1,8 +1,9 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { IframeCardConfig } from "../../cards/types"; +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + export interface IframeViewStrategyConfig { type: "iframe"; url: string; diff --git a/src/panels/lovelace/strategies/map/map-dashboard-strategy.ts b/src/panels/lovelace/strategies/map/map-dashboard-strategy.ts index 6e592095bf..2f77399c6f 100644 --- a/src/panels/lovelace/strategies/map/map-dashboard-strategy.ts +++ b/src/panels/lovelace/strategies/map/map-dashboard-strategy.ts @@ -1,8 +1,9 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { MapViewStrategyConfig } from "./map-view-strategy"; +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + export type MapDashboardStrategyConfig = MapViewStrategyConfig; @customElement("map-dashboard-strategy") diff --git a/src/panels/lovelace/strategies/map/map-view-strategy.ts b/src/panels/lovelace/strategies/map/map-view-strategy.ts index 7205d200fe..62efe5c178 100644 --- a/src/panels/lovelace/strategies/map/map-view-strategy.ts +++ b/src/panels/lovelace/strategies/map/map-view-strategy.ts @@ -1,9 +1,10 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../../types"; import type { MapCardConfig } from "../../cards/types"; +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + export interface MapViewStrategyConfig { type: "map"; } diff --git a/src/panels/lovelace/strategies/original-states/original-states-dashboard-strategy.ts b/src/panels/lovelace/strategies/original-states/original-states-dashboard-strategy.ts index e4e9bfb02d..0fe88cc7ca 100644 --- a/src/panels/lovelace/strategies/original-states/original-states-dashboard-strategy.ts +++ b/src/panels/lovelace/strategies/original-states/original-states-dashboard-strategy.ts @@ -1,9 +1,10 @@ -import { ReactiveElement } from "lit"; -import { customElement } from "lit/decorators"; import type { LovelaceConfig } from "../../../../data/lovelace/config/types"; import type { LovelaceStrategyEditor } from "../types"; import type { OriginalStatesViewStrategyConfig } from "./original-states-view-strategy"; +import { ReactiveElement } from "lit"; +import { customElement } from "lit/decorators"; + export type OriginalStatesDashboardStrategyConfig = OriginalStatesViewStrategyConfig; diff --git a/src/panels/lovelace/strategies/original-states/original-states-view-strategy.ts b/src/panels/lovelace/strategies/original-states/original-states-view-strategy.ts index 6336cc2611..45bd70bc46 100644 --- a/src/panels/lovelace/strategies/original-states/original-states-view-strategy.ts +++ b/src/panels/lovelace/strategies/original-states/original-states-view-strategy.ts @@ -1,11 +1,13 @@ +import type { AreasDisplayValue } from "../../../../components/ha-areas-display-editor"; +import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; +import type { HomeAssistant } from "../../../../types"; + import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; import { ReactiveElement } from "lit"; import { customElement } from "lit/decorators"; + import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; -import type { AreasDisplayValue } from "../../../../components/ha-areas-display-editor"; import { getEnergyPreferences } from "../../../../data/energy"; -import type { LovelaceViewConfig } from "../../../../data/lovelace/config/view"; -import type { HomeAssistant } from "../../../../types"; import { generateDefaultViewConfig } from "../../common/generate-lovelace-config"; export interface OriginalStatesViewStrategyConfig { diff --git a/src/panels/lovelace/types.ts b/src/panels/lovelace/types.ts index c3810265d9..0d10abd264 100644 --- a/src/panels/lovelace/types.ts +++ b/src/panels/lovelace/types.ts @@ -1,4 +1,3 @@ -import type { HassEntity } from "home-assistant-js-websocket"; import type { LocalizeFunc } from "../../common/translations/localize"; import type { HaFormSchema } from "../../components/ha-form/types"; import type { LovelaceBadgeConfig } from "../../data/lovelace/config/badge"; @@ -8,13 +7,14 @@ import type { LovelaceRawConfig, } from "../../data/lovelace/config/types"; import type { FrontendLocaleData } from "../../data/translation"; +import type { ShowToastParams } from "../../managers/notification-manager"; import type { Constructor, HomeAssistant } from "../../types"; -import type { LovelaceRow, LovelaceRowConfig } from "./entity-rows/types"; -import type { LovelaceHeaderFooterConfig } from "./header-footer/types"; import type { LovelaceCardFeatureConfig } from "./card-features/types"; import type { LovelaceElement, LovelaceElementConfig } from "./elements/types"; +import type { LovelaceRow, LovelaceRowConfig } from "./entity-rows/types"; +import type { LovelaceHeaderFooterConfig } from "./header-footer/types"; import type { LovelaceHeadingBadgeConfig } from "./heading-badges/types"; -import type { ShowToastParams } from "../../managers/notification-manager"; +import type { HassEntity } from "home-assistant-js-websocket"; declare global { interface HASSDomEvents { diff --git a/src/panels/lovelace/views/default-view-editable.ts b/src/panels/lovelace/views/default-view-editable.ts index b839edef98..7aa06025f6 100644 --- a/src/panels/lovelace/views/default-view-editable.ts +++ b/src/panels/lovelace/views/default-view-editable.ts @@ -1,6 +1,7 @@ // hui-view dependencies for when in edit mode. import "../../../components/ha-fab"; import "../components/hui-card-options"; + import { importCreateCardDialog } from "../editor/card-editor/show-create-card-dialog"; import { importDeleteCardDialog } from "../editor/card-editor/show-delete-card-dialog"; import { importEditCardDialog } from "../editor/card-editor/show-edit-card-dialog"; diff --git a/src/panels/lovelace/views/get-view-type.ts b/src/panels/lovelace/views/get-view-type.ts index 1394c82ae4..f77823c386 100644 --- a/src/panels/lovelace/views/get-view-type.ts +++ b/src/panels/lovelace/views/get-view-type.ts @@ -1,4 +1,5 @@ import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; + import { MASONRY_VIEW_LAYOUT, PANEL_VIEW_LAYOUT, diff --git a/src/panels/lovelace/views/hui-masonry-view.ts b/src/panels/lovelace/views/hui-masonry-view.ts index dc90245e1d..4f239331f5 100644 --- a/src/panels/lovelace/views/hui-masonry-view.ts +++ b/src/panels/lovelace/views/hui-masonry-view.ts @@ -1,19 +1,22 @@ -import { mdiPlus } from "@mdi/js"; -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { nextRender } from "../../../common/util/render-status"; -import "../../../components/entity/ha-state-label-badge"; -import "../../../components/ha-svg-icon"; import type { LovelaceViewElement } from "../../../data/lovelace"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../types"; import type { HuiBadge } from "../badges/hui-badge"; -import "../badges/hui-view-badges"; import type { HuiCard } from "../cards/hui-card"; -import { computeCardSize } from "../common/compute-card-size"; import type { Lovelace } from "../types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../../../components/entity/ha-state-label-badge"; +import "../../../components/ha-svg-icon"; +import "../badges/hui-view-badges"; + +import { mdiPlus } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { nextRender } from "../../../common/util/render-status"; +import { computeCardSize } from "../common/compute-card-size"; // Find column with < 5 size, else smallest column const getColumnIndex = (columnSizes: number[], size: number) => { diff --git a/src/panels/lovelace/views/hui-panel-view.ts b/src/panels/lovelace/views/hui-panel-view.ts index 17b091a3e3..2b925c845d 100644 --- a/src/panels/lovelace/views/hui-panel-view.ts +++ b/src/panels/lovelace/views/hui-panel-view.ts @@ -1,10 +1,3 @@ -import { mdiPlus } from "@mdi/js"; -import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { property, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { fireEvent } from "../../../common/dom/fire_event"; -import { computeRTL } from "../../../common/util/compute_rtl"; import type { LovelaceViewElement } from "../../../data/lovelace"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../types"; @@ -12,6 +5,15 @@ import type { HuiCard } from "../cards/hui-card"; import type { HuiCardOptions } from "../components/hui-card-options"; import type { HuiWarning } from "../components/hui-warning"; import type { Lovelace } from "../types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import { mdiPlus } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { computeRTL } from "../../../common/util/compute_rtl"; let editCodeLoaded = false; diff --git a/src/panels/lovelace/views/hui-sections-view.ts b/src/panels/lovelace/views/hui-sections-view.ts index 58d45edba8..b5965d3987 100644 --- a/src/panels/lovelace/views/hui-sections-view.ts +++ b/src/panels/lovelace/views/hui-sections-view.ts @@ -1,3 +1,22 @@ +import type { LovelaceViewElement } from "../../../data/lovelace"; +import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; +import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; +import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; +import type { HomeAssistant } from "../../../types"; +import type { HuiBadge } from "../badges/hui-badge"; +import type { HuiCard } from "../cards/hui-card"; +import type { LovelaceCardPath } from "../editor/lovelace-path"; +import type { HuiSection } from "../sections/hui-section"; +import type { Lovelace } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-icon-button"; +import "../../../components/ha-ripple"; +import "../../../components/ha-sortable"; +import "../../../components/ha-svg-icon"; +import "../components/hui-badge-edit-mode"; +import "./hui-view-header"; + import { ResizeController } from "@lit-labs/observers/resize-controller"; import { mdiDelete, @@ -6,35 +25,21 @@ import { mdiPencil, mdiViewGridPlus, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { repeat } from "lit/directives/repeat"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; + import { clamp } from "../../../common/number/clamp"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-ripple"; -import "../../../components/ha-sortable"; -import "../../../components/ha-svg-icon"; -import type { LovelaceViewElement } from "../../../data/lovelace"; -import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; -import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; -import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant } from "../../../types"; -import type { HuiBadge } from "../badges/hui-badge"; -import "./hui-view-header"; -import type { HuiCard } from "../cards/hui-card"; -import "../components/hui-badge-edit-mode"; import { addSection, deleteSection, moveCard, moveSection, } from "../editor/config-util"; -import type { LovelaceCardPath } from "../editor/lovelace-path"; import { findLovelaceContainer, findLovelaceItems, @@ -42,8 +47,6 @@ import { parseLovelaceCardPath, } from "../editor/lovelace-path"; import { showEditSectionDialog } from "../editor/section-editor/show-edit-section-dialog"; -import type { HuiSection } from "../sections/hui-section"; -import type { Lovelace } from "../types"; export const DEFAULT_MAX_COLUMNS = 4; diff --git a/src/panels/lovelace/views/hui-sidebar-view.ts b/src/panels/lovelace/views/hui-sidebar-view.ts index a445737a35..4db7f67b25 100644 --- a/src/panels/lovelace/views/hui-sidebar-view.ts +++ b/src/panels/lovelace/views/hui-sidebar-view.ts @@ -1,17 +1,20 @@ -import { mdiArrowLeft, mdiArrowRight, mdiPlus } from "@mdi/js"; -import type { PropertyValues, TemplateResult } from "lit"; -import { LitElement, css, html } from "lit"; -import { property, state } from "lit/decorators"; -import { fireEvent } from "../../../common/dom/fire_event"; import type { LovelaceViewElement } from "../../../data/lovelace"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../types"; import type { HuiBadge } from "../badges/hui-badge"; -import "../badges/hui-view-badges"; import type { HuiCard } from "../cards/hui-card"; import type { HuiCardOptions } from "../components/hui-card-options"; -import { replaceCard } from "../editor/config-util"; import type { Lovelace } from "../types"; +import type { PropertyValues, TemplateResult } from "lit"; + +import "../badges/hui-view-badges"; + +import { mdiArrowLeft, mdiArrowRight, mdiPlus } from "@mdi/js"; +import { LitElement, css, html } from "lit"; +import { property, state } from "lit/decorators"; + +import { fireEvent } from "../../../common/dom/fire_event"; +import { replaceCard } from "../editor/config-util"; export class SideBarView extends LitElement implements LovelaceViewElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/lovelace/views/hui-view-background.ts b/src/panels/lovelace/views/hui-view-background.ts index a00a7fe967..ea9a9ea7b3 100644 --- a/src/panels/lovelace/views/hui-view-background.ts +++ b/src/panels/lovelace/views/hui-view-background.ts @@ -1,8 +1,9 @@ -import { css, LitElement, nothing } from "lit"; -import type { PropertyValues } from "lit"; -import { customElement, property } from "lit/decorators"; -import type { HomeAssistant } from "../../../types"; import type { LovelaceViewBackgroundConfig } from "../../../data/lovelace/config/view"; +import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + +import { css, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; @customElement("hui-view-background") export class HUIViewBackground extends LitElement { diff --git a/src/panels/lovelace/views/hui-view-container.ts b/src/panels/lovelace/views/hui-view-container.ts index 8746d44c0d..7d19845ab3 100644 --- a/src/panels/lovelace/views/hui-view-container.ts +++ b/src/panels/lovelace/views/hui-view-container.ts @@ -1,10 +1,12 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; -import { listenMediaQuery } from "../../../common/dom/media_query"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../types"; +import type { PropertyValues } from "lit"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; +import { listenMediaQuery } from "../../../common/dom/media_query"; type BackgroundConfig = LovelaceViewConfig["background"]; diff --git a/src/panels/lovelace/views/hui-view-header.ts b/src/panels/lovelace/views/hui-view-header.ts index cf1e751a41..41ea48347e 100644 --- a/src/panels/lovelace/views/hui-view-header.ts +++ b/src/panels/lovelace/views/hui-view-header.ts @@ -1,11 +1,3 @@ -import { mdiPencil, mdiPlus } from "@mdi/js"; -import type { PropertyValues } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import "../../../components/ha-ripple"; -import "../../../components/ha-sortable"; -import "../../../components/ha-svg-icon"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceViewConfig, @@ -13,13 +5,24 @@ import type { } from "../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../types"; import type { HuiBadge } from "../badges/hui-badge"; -import "../badges/hui-view-badges"; import type { HuiCard } from "../cards/hui-card"; +import type { Lovelace } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/ha-ripple"; +import "../../../components/ha-sortable"; +import "../../../components/ha-svg-icon"; +import "../badges/hui-view-badges"; import "../components/hui-badge-edit-mode"; + +import { mdiPencil, mdiPlus } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; + +import { showEditCardDialog } from "../editor/card-editor/show-edit-card-dialog"; import { replaceView } from "../editor/config-util"; import { showEditViewHeaderDialog } from "../editor/view-header/show-edit-view-header-dialog"; -import type { Lovelace } from "../types"; -import { showEditCardDialog } from "../editor/card-editor/show-edit-card-dialog"; export const DEFAULT_VIEW_HEADER_LAYOUT = "center"; export const DEFAULT_VIEW_HEADER_BADGES_POSITION = "bottom"; diff --git a/src/panels/lovelace/views/hui-view.ts b/src/panels/lovelace/views/hui-view.ts index 12d10e3214..5a865f4aa9 100644 --- a/src/panels/lovelace/views/hui-view.ts +++ b/src/panels/lovelace/views/hui-view.ts @@ -1,23 +1,30 @@ -import deepClone from "deep-clone-simple"; -import type { PropertyValues } from "lit"; -import { ReactiveElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { storage } from "../../../common/decorators/storage"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; -import "../../../components/entity/ha-state-label-badge"; -import "../../../components/ha-svg-icon"; import type { LovelaceViewElement } from "../../../data/lovelace"; import type { LovelaceBadgeConfig } from "../../../data/lovelace/config/badge"; -import { ensureBadgeConfig } from "../../../data/lovelace/config/badge"; import type { LovelaceCardConfig } from "../../../data/lovelace/config/card"; import type { LovelaceSectionConfig } from "../../../data/lovelace/config/section"; import type { LovelaceViewConfig } from "../../../data/lovelace/config/view"; -import { isStrategyView } from "../../../data/lovelace/config/view"; import type { HomeAssistant } from "../../../types"; -import "../badges/hui-badge"; import type { HuiBadge } from "../badges/hui-badge"; -import "../cards/hui-card"; import type { HuiCard } from "../cards/hui-card"; +import type { LovelaceCardPath } from "../editor/lovelace-path"; +import type { HuiSection } from "../sections/hui-section"; +import type { Lovelace } from "../types"; +import type { PropertyValues } from "lit"; + +import "../../../components/entity/ha-state-label-badge"; +import "../../../components/ha-svg-icon"; +import "../badges/hui-badge"; +import "../cards/hui-card"; +import "../sections/hui-section"; + +import deepClone from "deep-clone-simple"; +import { ReactiveElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { storage } from "../../../common/decorators/storage"; +import { ensureBadgeConfig } from "../../../data/lovelace/config/badge"; +import { isStrategyView } from "../../../data/lovelace/config/view"; import { createViewElement } from "../create-element/create-view-element"; import { showCreateBadgeDialog } from "../editor/badge-editor/show-create-badge-dialog"; import { showEditBadgeDialog } from "../editor/badge-editor/show-edit-badge-dialog"; @@ -32,13 +39,9 @@ import { type DeleteCardParams, performDeleteCard, } from "../editor/delete-card"; -import type { LovelaceCardPath } from "../editor/lovelace-path"; import { parseLovelaceCardPath } from "../editor/lovelace-path"; import { createErrorSectionConfig } from "../sections/hui-error-section"; -import "../sections/hui-section"; -import type { HuiSection } from "../sections/hui-section"; import { generateLovelaceViewStrategy } from "../strategies/get-strategy"; -import type { Lovelace } from "../types"; import { getViewType } from "./get-view-type"; declare global { diff --git a/src/panels/map/ha-panel-map.ts b/src/panels/map/ha-panel-map.ts index 811a047c45..1a6c7de562 100644 --- a/src/panels/map/ha-panel-map.ts +++ b/src/panels/map/ha-panel-map.ts @@ -1,15 +1,18 @@ -import { mdiPencil } from "@mdi/js"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { computeStateDomain } from "../../common/entity/compute_state_domain"; -import { navigate } from "../../common/navigate"; + import "../../components/ha-icon-button"; import "../../components/ha-menu-button"; import "../../components/ha-top-app-bar-fixed"; import "../../components/map/ha-map"; + +import { mdiPencil } from "@mdi/js"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { computeStateDomain } from "../../common/entity/compute_state_domain"; +import { navigate } from "../../common/navigate"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; @customElement("ha-panel-map") class HaPanelMap extends LitElement { diff --git a/src/panels/media-browser/browser-media-player.ts b/src/panels/media-browser/browser-media-player.ts index 47de0f5969..9fc0cc4e17 100644 --- a/src/panels/media-browser/browser-media-player.ts +++ b/src/panels/media-browser/browser-media-player.ts @@ -1,13 +1,14 @@ +import type { ResolvedMediaSource } from "../../data/media_source"; import type { MediaPlayerEntity, MediaPlayerItem, } from "../../data/media-player"; +import type { HomeAssistant } from "../../types"; + import { BROWSER_PLAYER, MediaPlayerEntityFeature, } from "../../data/media-player"; -import type { ResolvedMediaSource } from "../../data/media_source"; -import type { HomeAssistant } from "../../types"; export const ERR_UNSUPPORTED_MEDIA = "Unsupported Media"; diff --git a/src/panels/media-browser/ha-bar-media-player.ts b/src/panels/media-browser/ha-bar-media-player.ts index 3add74d949..164a0eb6e0 100644 --- a/src/panels/media-browser/ha-bar-media-player.ts +++ b/src/panels/media-browser/ha-bar-media-player.ts @@ -1,5 +1,25 @@ -import "@material/mwc-linear-progress/mwc-linear-progress"; +import type { ResolvedMediaSource } from "../../data/media_source"; +import type { + ControlButton, + MediaPlayerEntity, + MediaPlayerItem, +} from "../../data/media-player"; +import type { HomeAssistant } from "../../types"; import type { LinearProgress } from "@material/mwc-linear-progress/mwc-linear-progress"; +import type { PropertyValues } from "lit"; + +import "../../components/ha-button"; +import "../../components/ha-button-menu"; +import "../../components/ha-domain-icon"; +import "../../components/ha-icon-button"; +import "../../components/ha-list-item"; +import "../../components/ha-slider"; +import "../../components/ha-spinner"; +import "../../components/ha-state-icon"; +import "../../components/ha-svg-icon"; +import "../lovelace/components/hui-marquee"; +import "@material/mwc-linear-progress/mwc-linear-progress"; + import { mdiChevronDown, mdiMonitor, @@ -9,32 +29,18 @@ import { mdiStop, mdiVolumeHigh, } from "@mdi/js"; -import type { PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { until } from "lit/directives/until"; + import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { computeStateName } from "../../common/entity/compute_state_name"; import { supportsFeature } from "../../common/entity/supports-feature"; import { debounce } from "../../common/util/debounce"; -import "../../components/ha-slider"; -import "../../components/ha-button"; -import "../../components/ha-button-menu"; -import "../../components/ha-spinner"; -import "../../components/ha-domain-icon"; -import "../../components/ha-icon-button"; -import "../../components/ha-list-item"; -import "../../components/ha-state-icon"; -import "../../components/ha-svg-icon"; import { UNAVAILABLE } from "../../data/entity"; -import type { - ControlButton, - MediaPlayerEntity, - MediaPlayerItem, -} from "../../data/media-player"; import { BROWSER_PLAYER, MediaPlayerEntityFeature, @@ -46,11 +52,8 @@ import { handleMediaControlClick, setMediaPlayerVolume, } from "../../data/media-player"; -import type { ResolvedMediaSource } from "../../data/media_source"; import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; import { SubscribeMixin } from "../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../types"; -import "../lovelace/components/hui-marquee"; import { BrowserMediaPlayer, ERR_UNSUPPORTED_MEDIA, diff --git a/src/panels/media-browser/ha-panel-media-browser.ts b/src/panels/media-browser/ha-panel-media-browser.ts index c12d5d65da..8cf05dffd0 100644 --- a/src/panels/media-browser/ha-panel-media-browser.ts +++ b/src/panels/media-browser/ha-panel-media-browser.ts @@ -1,3 +1,28 @@ +import type { HASSDomEvent } from "../../common/dom/fire_event"; +import type { + HaMediaPlayerBrowse, + MediaPlayerItemId, +} from "../../components/media-player/ha-media-player-browse"; +import type { ResolvedMediaSource } from "../../data/media_source"; +import type { + MediaPickedEvent, + MediaPlayerItem, + MediaPlayerLayoutType, +} from "../../data/media-player"; +import type { HomeAssistant, Route } from "../../types"; +import type { BarMediaPlayer } from "./ha-bar-media-player"; +import type { ActionDetail } from "@material/mwc-list"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-icon-button"; +import "../../components/ha-icon-button-arrow-prev"; +import "../../components/ha-menu-button"; +import "../../components/ha-top-app-bar-fixed"; +import "../../components/media-player/ha-media-manage-button"; +import "../../components/media-player/ha-media-player-browse"; +import "./ha-bar-media-player"; +import "@material/mwc-button"; + import { mdiGrid, mdiListBoxOutline, @@ -5,43 +30,21 @@ import { mdiAlphaABoxOutline, mdiDotsVertical, } from "@mdi/js"; -import type { ActionDetail } from "@material/mwc-list"; -import "@material/mwc-button"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { css, html, LitElement } from "lit"; import { customElement, property, query, state } from "lit/decorators"; + import { storage } from "../../common/decorators/storage"; -import type { HASSDomEvent } from "../../common/dom/fire_event"; import { fireEvent } from "../../common/dom/fire_event"; import { navigate } from "../../common/navigate"; -import "../../components/ha-menu-button"; -import "../../components/ha-icon-button"; -import "../../components/ha-icon-button-arrow-prev"; -import "../../components/media-player/ha-media-player-browse"; -import "../../components/media-player/ha-media-manage-button"; -import type { - HaMediaPlayerBrowse, - MediaPlayerItemId, -} from "../../components/media-player/ha-media-player-browse"; -import type { - MediaPickedEvent, - MediaPlayerItem, - MediaPlayerLayoutType, -} from "../../data/media-player"; -import { BROWSER_PLAYER, mediaPlayerPlayMedia } from "../../data/media-player"; -import type { ResolvedMediaSource } from "../../data/media_source"; -import { resolveMediaSource } from "../../data/media_source"; -import { haStyle } from "../../resources/styles"; -import type { HomeAssistant, Route } from "../../types"; -import "./ha-bar-media-player"; -import type { BarMediaPlayer } from "./ha-bar-media-player"; -import { showWebBrowserPlayMediaDialog } from "./show-media-player-dialog"; -import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; import { getEntityIdFromCameraMediaSource, isCameraMediaSource, } from "../../data/camera"; -import "../../components/ha-top-app-bar-fixed"; +import { resolveMediaSource } from "../../data/media_source"; +import { BROWSER_PLAYER, mediaPlayerPlayMedia } from "../../data/media-player"; +import { showAlertDialog } from "../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../resources/styles"; +import { showWebBrowserPlayMediaDialog } from "./show-media-player-dialog"; const createMediaPanelUrl = (entityId: string, items: MediaPlayerItemId[]) => { let path = `/media-browser/${entityId}`; diff --git a/src/panels/media-browser/hui-dialog-web-browser-play-media.ts b/src/panels/media-browser/hui-dialog-web-browser-play-media.ts index fef3726e27..5847fb2d07 100644 --- a/src/panels/media-browser/hui-dialog-web-browser-play-media.ts +++ b/src/panels/media-browser/hui-dialog-web-browser-play-media.ts @@ -1,12 +1,15 @@ -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import { createCloseHeading } from "../../components/ha-dialog"; -import "../../components/ha-hls-player"; -import { haStyleDialog } from "../../resources/styles"; import type { HomeAssistant } from "../../types"; import type { WebBrowserPlayMediaDialogParams } from "./show-media-player-dialog"; +import type { CSSResultGroup } from "lit"; + +import "../../components/ha-hls-player"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { createCloseHeading } from "../../components/ha-dialog"; +import { haStyleDialog } from "../../resources/styles"; @customElement("hui-dialog-web-browser-play-media") export class HuiDialogWebBrowserPlayMedia extends LitElement { diff --git a/src/panels/my/ha-panel-my.ts b/src/panels/my/ha-panel-my.ts index f8480455e4..339491df17 100644 --- a/src/panels/my/ha-panel-my.ts +++ b/src/panels/my/ha-panel-my.ts @@ -1,6 +1,11 @@ +import type { HomeAssistant, Route } from "../../types"; + +import "../../layouts/hass-error-screen"; + import { sanitizeUrl } from "@braintree/sanitize-url"; import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { protocolIntegrationPicked, @@ -12,8 +17,6 @@ import { extractSearchParamsObject, } from "../../common/url/search-params"; import { domainToName } from "../../data/integration"; -import "../../layouts/hass-error-screen"; -import type { HomeAssistant, Route } from "../../types"; import { documentationUrl } from "../../util/documentation-url"; export const getMyRedirects = (): Redirects => ({ diff --git a/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts b/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts index 4d10f8883d..563a810e8d 100644 --- a/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts +++ b/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts @@ -1,18 +1,21 @@ -import "@material/mwc-button"; -import type { CSSResultGroup } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../components/ha-spinner"; -import "../../components/ha-dialog"; -import "../../components/ha-form/ha-form"; -import "../../components/ha-markdown"; -import { autocompleteLoginFields } from "../../data/auth"; import type { DataEntryFlowStep, DataEntryFlowStepForm, } from "../../data/data_entry_flow"; -import { haStyleDialog } from "../../resources/styles"; import type { HomeAssistant } from "../../types"; +import type { CSSResultGroup } from "lit"; + +import "../../components/ha-dialog"; +import "../../components/ha-form/ha-form"; +import "../../components/ha-markdown"; +import "../../components/ha-spinner"; +import "@material/mwc-button"; + +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { autocompleteLoginFields } from "../../data/auth"; +import { haStyleDialog } from "../../resources/styles"; let instance = 0; diff --git a/src/panels/profile/ha-advanced-mode-row.ts b/src/panels/profile/ha-advanced-mode-row.ts index b67e98d26a..09bfa16fd5 100644 --- a/src/panels/profile/ha-advanced-mode-row.ts +++ b/src/panels/profile/ha-advanced-mode-row.ts @@ -1,12 +1,15 @@ +import type { CoreFrontendUserData } from "../../data/frontend"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../../components/ha-card"; import "../../components/ha-settings-row"; import "../../components/ha-switch"; -import type { CoreFrontendUserData } from "../../data/frontend"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { getOptimisticFrontendUserDataCollection } from "../../data/frontend"; -import type { HomeAssistant } from "../../types"; @customElement("ha-advanced-mode-row") class AdvancedModeRow extends LitElement { diff --git a/src/panels/profile/ha-change-password-card.ts b/src/panels/profile/ha-change-password-card.ts index d30a68b3bd..377abcb735 100644 --- a/src/panels/profile/ha-change-password-card.ts +++ b/src/panels/profile/ha-change-password-card.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button"; +import type { RefreshToken } from "../../data/refresh_token"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; + +import "../../components/ha-alert"; import "../../components/ha-card"; +import "../../components/ha-password-field"; import "../../components/ha-spinner"; import "../../components/ha-textfield"; -import "../../components/ha-password-field"; -import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../../components/ha-alert"; +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { changePassword, deleteAllRefreshTokens } from "../../data/auth"; import { showAlertDialog, showConfirmationDialog, } from "../../dialogs/generic/show-dialog-box"; -import type { RefreshToken } from "../../data/refresh_token"; -import { changePassword, deleteAllRefreshTokens } from "../../data/auth"; +import { haStyle } from "../../resources/styles"; @customElement("ha-change-password-card") class HaChangePasswordCard extends LitElement { diff --git a/src/panels/profile/ha-enable-shortcuts-row.ts b/src/panels/profile/ha-enable-shortcuts-row.ts index d85d7715b3..4bf09dbbc1 100644 --- a/src/panels/profile/ha-enable-shortcuts-row.ts +++ b/src/panels/profile/ha-enable-shortcuts-row.ts @@ -1,11 +1,14 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-settings-row"; -import "../../components/ha-switch"; import type { HaSwitch } from "../../components/ha-switch"; import type { HomeAssistant } from "../../types"; +import type { TemplateResult } from "lit"; + +import "../../components/ha-settings-row"; +import "../../components/ha-switch"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; @customElement("ha-enable-shortcuts-row") class HaEnableShortcutsRow extends LitElement { diff --git a/src/panels/profile/ha-force-narrow-row.ts b/src/panels/profile/ha-force-narrow-row.ts index d40ecc4d94..34d53fff63 100644 --- a/src/panels/profile/ha-force-narrow-row.ts +++ b/src/panels/profile/ha-force-narrow-row.ts @@ -1,11 +1,14 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-settings-row"; -import "../../components/ha-switch"; import type { HaSwitch } from "../../components/ha-switch"; import type { HomeAssistant } from "../../types"; +import type { TemplateResult } from "lit"; + +import "../../components/ha-settings-row"; +import "../../components/ha-switch"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; @customElement("ha-force-narrow-row") class HaForcedNarrowRow extends LitElement { diff --git a/src/panels/profile/ha-long-lived-access-token-dialog.ts b/src/panels/profile/ha-long-lived-access-token-dialog.ts index 018325c284..0e560fa4e9 100644 --- a/src/panels/profile/ha-long-lived-access-token-dialog.ts +++ b/src/panels/profile/ha-long-lived-access-token-dialog.ts @@ -1,17 +1,20 @@ -import "@material/mwc-button"; -import { mdiContentCopy } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import { createCloseHeading } from "../../components/ha-dialog"; -import "../../components/ha-textfield"; -import "../../components/ha-icon-button"; -import { haStyleDialog } from "../../resources/styles"; +import type { HaTextField } from "../../components/ha-textfield"; import type { HomeAssistant } from "../../types"; import type { LongLivedAccessTokenDialogParams } from "./show-long-lived-access-token-dialog"; -import type { HaTextField } from "../../components/ha-textfield"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../components/ha-icon-button"; +import "../../components/ha-textfield"; +import "@material/mwc-button"; + +import { mdiContentCopy } from "@mdi/js"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { copyToClipboard } from "../../common/util/copy-clipboard"; +import { createCloseHeading } from "../../components/ha-dialog"; +import { haStyleDialog } from "../../resources/styles"; import { showToast } from "../../util/toast"; const QR_LOGO_URL = "/static/icons/favicon-192x192.png"; diff --git a/src/panels/profile/ha-long-lived-access-tokens-card.ts b/src/panels/profile/ha-long-lived-access-tokens-card.ts index 2877db9301..4c18c0b4bb 100644 --- a/src/panels/profile/ha-long-lived-access-tokens-card.ts +++ b/src/panels/profile/ha-long-lived-access-tokens-card.ts @@ -1,22 +1,25 @@ -import "@material/mwc-button/mwc-button"; -import { mdiDelete } from "@mdi/js"; +import type { RefreshToken } from "../../data/refresh_token"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../components/ha-card"; +import "../../components/ha-icon-button"; +import "../../components/ha-settings-row"; +import "@material/mwc-button/mwc-button"; + +import { mdiDelete } from "@mdi/js"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { relativeTime } from "../../common/datetime/relative_time"; import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-card"; -import "../../components/ha-settings-row"; -import "../../components/ha-icon-button"; -import type { RefreshToken } from "../../data/refresh_token"; import { showAlertDialog, showConfirmationDialog, showPromptDialog, } from "../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; import { showLongLivedAccessTokenDialog } from "./show-long-lived-access-token-dialog"; @customElement("ha-long-lived-access-tokens-card") diff --git a/src/panels/profile/ha-mfa-modules-card.ts b/src/panels/profile/ha-mfa-modules-card.ts index 1f15f6be54..2fa6b7894c 100644 --- a/src/panels/profile/ha-mfa-modules-card.ts +++ b/src/panels/profile/ha-mfa-modules-card.ts @@ -1,11 +1,14 @@ -import "@material/mwc-button"; +import type { HomeAssistant, MFAModule } from "../../types"; import type { TemplateResult } from "lit"; + +import "../../components/ha-card"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-card"; import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; -import type { HomeAssistant, MFAModule } from "../../types"; import { showMfaModuleSetupFlowDialog } from "./show-ha-mfa-module-setup-flow-dialog"; @customElement("ha-mfa-modules-card") diff --git a/src/panels/profile/ha-panel-profile.ts b/src/panels/profile/ha-panel-profile.ts index 35e74d046e..04787078eb 100644 --- a/src/panels/profile/ha-panel-profile.ts +++ b/src/panels/profile/ha-panel-profile.ts @@ -1,12 +1,14 @@ -import { customElement, property } from "lit/decorators"; + +import type { RouterOptions } from "../../layouts/hass-router-page"; +import type { PageNavigation } from "../../layouts/hass-tabs-subpage"; +import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; import { mdiAccount, mdiLock } from "@mdi/js"; -import type { PropertyValues } from "lit"; -import type { RouterOptions } from "../../layouts/hass-router-page"; +import { customElement, property } from "lit/decorators"; + import { HassRouterPage } from "../../layouts/hass-router-page"; -import type { PageNavigation } from "../../layouts/hass-tabs-subpage"; import { SubscribeMixin } from "../../mixins/subscribe-mixin"; -import type { HomeAssistant } from "../../types"; export const profileSections: PageNavigation[] = [ { diff --git a/src/panels/profile/ha-pick-dashboard-row.ts b/src/panels/profile/ha-pick-dashboard-row.ts index c279bd4719..9ebdd9cbb5 100644 --- a/src/panels/profile/ha-pick-dashboard-row.ts +++ b/src/panels/profile/ha-pick-dashboard-row.ts @@ -1,13 +1,16 @@ -import "@material/mwc-list/mwc-list-item"; +import type { LovelaceDashboard } from "../../data/lovelace/dashboard"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../../components/ha-select"; import "../../components/ha-settings-row"; -import type { LovelaceDashboard } from "../../data/lovelace/dashboard"; +import "@material/mwc-list/mwc-list-item"; + +import { html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { fetchDashboards } from "../../data/lovelace/dashboard"; import { setDefaultPanel } from "../../data/panel"; -import type { HomeAssistant } from "../../types"; @customElement("ha-pick-dashboard-row") class HaPickDashboardRow extends LitElement { diff --git a/src/panels/profile/ha-pick-date-format-row.ts b/src/panels/profile/ha-pick-date-format-row.ts index 78ff9c1387..e3275ab28f 100644 --- a/src/panels/profile/ha-pick-date-format-row.ts +++ b/src/panels/profile/ha-pick-date-format-row.ts @@ -1,14 +1,17 @@ -import "@material/mwc-list/mwc-list-item"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { formatDateNumeric } from "../../common/datetime/format_date"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-card"; import "../../components/ha-select"; import "../../components/ha-settings-row"; +import "@material/mwc-list/mwc-list-item"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { formatDateNumeric } from "../../common/datetime/format_date"; +import { fireEvent } from "../../common/dom/fire_event"; import { DateFormat } from "../../data/translation"; -import type { HomeAssistant } from "../../types"; @customElement("ha-pick-date-format-row") class DateFormatRow extends LitElement { diff --git a/src/panels/profile/ha-pick-first-weekday-row.ts b/src/panels/profile/ha-pick-first-weekday-row.ts index 63ccb1ba11..60dc7bfa75 100644 --- a/src/panels/profile/ha-pick-first-weekday-row.ts +++ b/src/panels/profile/ha-pick-first-weekday-row.ts @@ -1,13 +1,16 @@ -import "@material/mwc-list/mwc-list-item"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { firstWeekday } from "../../common/datetime/first_weekday"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-select"; import "../../components/ha-settings-row"; +import "@material/mwc-list/mwc-list-item"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { firstWeekday } from "../../common/datetime/first_weekday"; +import { fireEvent } from "../../common/dom/fire_event"; import { FirstWeekday } from "../../data/translation"; -import type { HomeAssistant } from "../../types"; @customElement("ha-pick-first-weekday-row") class FirstWeekdayRow extends LitElement { diff --git a/src/panels/profile/ha-pick-language-row.ts b/src/panels/profile/ha-pick-language-row.ts index 09ccbb9a6f..08528e153a 100644 --- a/src/panels/profile/ha-pick-language-row.ts +++ b/src/panels/profile/ha-pick-language-row.ts @@ -1,9 +1,12 @@ -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; +import type { HomeAssistant } from "../../types"; + import "../../components/ha-language-picker"; import "../../components/ha-settings-row"; -import type { HomeAssistant } from "../../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; @customElement("ha-pick-language-row") export class HaPickLanguageRow extends LitElement { diff --git a/src/panels/profile/ha-pick-number-format-row.ts b/src/panels/profile/ha-pick-number-format-row.ts index 4e04f249c6..cc766d3fe8 100644 --- a/src/panels/profile/ha-pick-number-format-row.ts +++ b/src/panels/profile/ha-pick-number-format-row.ts @@ -1,14 +1,17 @@ -import "@material/mwc-list/mwc-list-item"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; -import { formatNumber } from "../../common/number/format_number"; + import "../../components/ha-card"; import "../../components/ha-select"; import "../../components/ha-settings-row"; +import "@material/mwc-list/mwc-list-item"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; +import { formatNumber } from "../../common/number/format_number"; import { NumberFormat } from "../../data/translation"; -import type { HomeAssistant } from "../../types"; @customElement("ha-pick-number-format-row") class NumberFormatRow extends LitElement { diff --git a/src/panels/profile/ha-pick-theme-row.ts b/src/panels/profile/ha-pick-theme-row.ts index d37471f938..79bdaff21c 100644 --- a/src/panels/profile/ha-pick-theme-row.ts +++ b/src/panels/profile/ha-pick-theme-row.ts @@ -1,20 +1,23 @@ -import "@material/mwc-button/mwc-button"; -import "@material/mwc-list/mwc-list-item"; +import type { HaRadio } from "../../components/ha-radio"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-formfield"; import "../../components/ha-radio"; -import type { HaRadio } from "../../components/ha-radio"; import "../../components/ha-select"; import "../../components/ha-settings-row"; import "../../components/ha-textfield"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { DEFAULT_ACCENT_COLOR, DEFAULT_PRIMARY_COLOR, } from "../../resources/styles-data"; -import type { HomeAssistant } from "../../types"; import { documentationUrl } from "../../util/documentation-url"; const USE_DEFAULT_THEME = "__USE_DEFAULT_THEME__"; diff --git a/src/panels/profile/ha-pick-time-format-row.ts b/src/panels/profile/ha-pick-time-format-row.ts index 1cb7d8800a..2808f8dba7 100644 --- a/src/panels/profile/ha-pick-time-format-row.ts +++ b/src/panels/profile/ha-pick-time-format-row.ts @@ -1,14 +1,17 @@ -import "@material/mwc-list/mwc-list-item"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { formatTime } from "../../common/datetime/format_time"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-card"; import "../../components/ha-select"; import "../../components/ha-settings-row"; +import "@material/mwc-list/mwc-list-item"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { formatTime } from "../../common/datetime/format_time"; +import { fireEvent } from "../../common/dom/fire_event"; import { TimeFormat } from "../../data/translation"; -import type { HomeAssistant } from "../../types"; @customElement("ha-pick-time-format-row") class TimeFormatRow extends LitElement { diff --git a/src/panels/profile/ha-pick-time-zone-row.ts b/src/panels/profile/ha-pick-time-zone-row.ts index 6698e7da4a..c322504565 100644 --- a/src/panels/profile/ha-pick-time-zone-row.ts +++ b/src/panels/profile/ha-pick-time-zone-row.ts @@ -1,15 +1,18 @@ -import "@material/mwc-list/mwc-list-item"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { formatDateTimeNumeric } from "../../common/datetime/format_date_time"; -import { resolveTimeZone } from "../../common/datetime/resolve-time-zone"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-card"; import "../../components/ha-select"; import "../../components/ha-settings-row"; +import "@material/mwc-list/mwc-list-item"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { formatDateTimeNumeric } from "../../common/datetime/format_date_time"; +import { resolveTimeZone } from "../../common/datetime/resolve-time-zone"; +import { fireEvent } from "../../common/dom/fire_event"; import { TimeZone } from "../../data/translation"; -import type { HomeAssistant } from "../../types"; @customElement("ha-pick-time-zone-row") class TimeZoneRow extends LitElement { diff --git a/src/panels/profile/ha-profile-section-general.ts b/src/panels/profile/ha-profile-section-general.ts index 3c06368a80..2eda56ac9a 100644 --- a/src/panels/profile/ha-profile-section-general.ts +++ b/src/panels/profile/ha-profile-section-general.ts @@ -1,33 +1,36 @@ -import "@material/mwc-button"; +import type { CoreFrontendUserData } from "../../data/frontend"; +import type { HomeAssistant, Route } from "../../types"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-card"; import "../../layouts/hass-tabs-subpage"; -import { profileSections } from "./ha-panel-profile"; -import { isExternal } from "../../data/external"; -import type { CoreFrontendUserData } from "../../data/frontend"; -import { getOptimisticFrontendUserDataCollection } from "../../data/frontend"; -import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; -import { haStyle } from "../../resources/styles"; -import type { HomeAssistant, Route } from "../../types"; import "./ha-advanced-mode-row"; import "./ha-enable-shortcuts-row"; import "./ha-force-narrow-row"; import "./ha-pick-dashboard-row"; +import "./ha-pick-date-format-row"; import "./ha-pick-first-weekday-row"; import "./ha-pick-language-row"; import "./ha-pick-number-format-row"; import "./ha-pick-theme-row"; import "./ha-pick-time-format-row"; -import "./ha-pick-date-format-row"; import "./ha-pick-time-zone-row"; import "./ha-push-notifications-row"; import "./ha-set-suspend-row"; import "./ha-set-vibrate-row"; +import "@material/mwc-button"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { nextRender } from "../../common/util/render-status"; +import { isExternal } from "../../data/external"; +import { getOptimisticFrontendUserDataCollection } from "../../data/frontend"; +import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; +import { haStyle } from "../../resources/styles"; +import { profileSections } from "./ha-panel-profile"; @customElement("ha-profile-section-general") class HaProfileSectionGeneral extends LitElement { diff --git a/src/panels/profile/ha-profile-section-security.ts b/src/panels/profile/ha-profile-section-security.ts index 83b2043138..342ac63ff2 100644 --- a/src/panels/profile/ha-profile-section-security.ts +++ b/src/panels/profile/ha-profile-section-security.ts @@ -1,16 +1,19 @@ -import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import "../../layouts/hass-tabs-subpage"; -import { profileSections } from "./ha-panel-profile"; import type { RefreshToken } from "../../data/refresh_token"; -import { haStyle } from "../../resources/styles"; import type { HomeAssistant, Route } from "../../types"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../layouts/hass-tabs-subpage"; import "./ha-change-password-card"; import "./ha-long-lived-access-tokens-card"; import "./ha-mfa-modules-card"; import "./ha-refresh-tokens-card"; +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + +import { haStyle } from "../../resources/styles"; +import { profileSections } from "./ha-panel-profile"; + @customElement("ha-profile-section-security") class HaProfileSectionSecurity extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/profile/ha-push-notifications-row.ts b/src/panels/profile/ha-push-notifications-row.ts index dd9abe6ef1..84ada6329f 100644 --- a/src/panels/profile/ha-push-notifications-row.ts +++ b/src/panels/profile/ha-push-notifications-row.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; + +import "../../components/ha-settings-row"; + import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { pushSupported } from "../../components/ha-push-notifications-toggle"; -import "../../components/ha-settings-row"; import { documentationUrl } from "../../util/documentation-url"; -import type { HomeAssistant } from "../../types"; @customElement("ha-push-notifications-row") class HaPushNotificationsRow extends LitElement { diff --git a/src/panels/profile/ha-refresh-tokens-card.ts b/src/panels/profile/ha-refresh-tokens-card.ts index eba7a50837..bc509c586e 100644 --- a/src/panels/profile/ha-refresh-tokens-card.ts +++ b/src/panels/profile/ha-refresh-tokens-card.ts @@ -1,4 +1,15 @@ +import type { RefreshToken } from "../../data/refresh_token"; +import type { HomeAssistant } from "../../types"; import type { ActionDetail } from "@material/mwc-list"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../components/ha-button-menu"; +import "../../components/ha-card"; +import "../../components/ha-icon-button"; +import "../../components/ha-label"; +import "../../components/ha-list-item"; +import "../../components/ha-settings-row"; + import { mdiAndroid, mdiApple, @@ -8,26 +19,18 @@ import { mdiDotsVertical, mdiWeb, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { relativeTime } from "../../common/datetime/relative_time"; import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-button-menu"; -import "../../components/ha-card"; -import "../../components/ha-icon-button"; -import "../../components/ha-label"; -import "../../components/ha-settings-row"; -import "../../components/ha-list-item"; import { deleteAllRefreshTokens } from "../../data/auth"; -import type { RefreshToken } from "../../data/refresh_token"; import { showAlertDialog, showConfirmationDialog, } from "../../dialogs/generic/show-dialog-box"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; // Client ID used by iOS app const iOSclientId = "https://home-assistant.io/iOS"; diff --git a/src/panels/profile/ha-set-suspend-row.ts b/src/panels/profile/ha-set-suspend-row.ts index 4cfd25f3ce..48cc044204 100644 --- a/src/panels/profile/ha-set-suspend-row.ts +++ b/src/panels/profile/ha-set-suspend-row.ts @@ -1,12 +1,15 @@ -import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import type { HASSDomEvent } from "../../common/dom/fire_event"; -import { fireEvent } from "../../common/dom/fire_event"; -import "../../components/ha-settings-row"; -import "../../components/ha-switch"; import type { HaSwitch } from "../../components/ha-switch"; import type { HomeAssistant } from "../../types"; +import type { TemplateResult } from "lit"; + +import "../../components/ha-settings-row"; +import "../../components/ha-switch"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; declare global { // for fire event diff --git a/src/panels/profile/ha-set-vibrate-row.ts b/src/panels/profile/ha-set-vibrate-row.ts index f269cf7381..f3c91fcc8e 100644 --- a/src/panels/profile/ha-set-vibrate-row.ts +++ b/src/panels/profile/ha-set-vibrate-row.ts @@ -1,12 +1,15 @@ +import type { HaSwitch } from "../../components/ha-switch"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { fireEvent } from "../../common/dom/fire_event"; + import "../../components/ha-settings-row"; import "../../components/ha-switch"; -import type { HaSwitch } from "../../components/ha-switch"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { fireEvent } from "../../common/dom/fire_event"; import { forwardHaptic } from "../../data/haptics"; -import type { HomeAssistant } from "../../types"; @customElement("ha-set-vibrate-row") class HaSetVibrateRow extends LitElement { diff --git a/src/panels/todo/dialog-todo-item-editor.ts b/src/panels/todo/dialog-todo-item-editor.ts index 880f74cafa..91c71702af 100644 --- a/src/panels/todo/dialog-todo-item-editor.ts +++ b/src/panels/todo/dialog-todo-item-editor.ts @@ -1,19 +1,24 @@ -import "@material/mwc-button"; -import { formatInTimeZone, toDate } from "date-fns-tz"; +import type { HomeAssistant } from "../../types"; +import type { TodoItemEditDialogParams } from "./show-dialog-todo-item-editor"; import type { CSSResultGroup } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import memoizeOne from "memoize-one"; -import { resolveTimeZone } from "../../common/datetime/resolve-time-zone"; -import { fireEvent } from "../../common/dom/fire_event"; -import { supportsFeature } from "../../common/entity/supports-feature"; + import "../../components/ha-alert"; import "../../components/ha-checkbox"; import "../../components/ha-date-input"; -import { createCloseHeading } from "../../components/ha-dialog"; import "../../components/ha-textarea"; import "../../components/ha-textfield"; import "../../components/ha-time-input"; +import "@material/mwc-button"; + +import { formatInTimeZone, toDate } from "date-fns-tz"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; + +import { resolveTimeZone } from "../../common/datetime/resolve-time-zone"; +import { fireEvent } from "../../common/dom/fire_event"; +import { supportsFeature } from "../../common/entity/supports-feature"; +import { createCloseHeading } from "../../components/ha-dialog"; import { TodoItemStatus, TodoListEntityFeature, @@ -23,8 +28,6 @@ import { } from "../../data/todo"; import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; import { haStyleDialog } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import type { TodoItemEditDialogParams } from "./show-dialog-todo-item-editor"; @customElement("dialog-todo-item-editor") class DialogTodoItemEditor extends LitElement { diff --git a/src/panels/todo/ha-panel-todo.ts b/src/panels/todo/ha-panel-todo.ts index a52780ee72..528bc44108 100644 --- a/src/panels/todo/ha-panel-todo.ts +++ b/src/panels/todo/ha-panel-todo.ts @@ -1,5 +1,19 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; +import type { LovelaceCardConfig } from "../../data/lovelace/config/card"; +import type { HomeAssistant } from "../../types"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-button"; +import "../../components/ha-fab"; +import "../../components/ha-icon-button"; +import "../../components/ha-list-item"; +import "../../components/ha-menu-button"; +import "../../components/ha-state-icon"; +import "../../components/ha-svg-icon"; +import "../../components/ha-two-pane-top-app-bar-fixed"; +import "../lovelace/cards/hui-card"; import "@material/mwc-list"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; import { mdiChevronDown, mdiCommentProcessingOutline, @@ -8,10 +22,10 @@ import { mdiInformationOutline, mdiPlus, } from "@mdi/js"; -import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; + import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { storage } from "../../common/decorators/storage"; import { fireEvent } from "../../common/dom/fire_event"; @@ -23,18 +37,9 @@ import { createSearchParam, extractSearchParam, } from "../../common/url/search-params"; -import "../../components/ha-button"; -import "../../components/ha-fab"; -import "../../components/ha-icon-button"; -import "../../components/ha-list-item"; -import "../../components/ha-menu-button"; -import "../../components/ha-state-icon"; -import "../../components/ha-svg-icon"; -import "../../components/ha-two-pane-top-app-bar-fixed"; import { deleteConfigEntry } from "../../data/config_entries"; import { getExtendedEntityRegistryEntry } from "../../data/entity_registry"; import { fetchIntegrationManifest } from "../../data/integration"; -import type { LovelaceCardConfig } from "../../data/lovelace/config/card"; import { TodoListEntityFeature, getTodoLists } from "../../data/todo"; import { showConfigFlowDialog } from "../../dialogs/config-flow/show-dialog-config-flow"; import { @@ -43,8 +48,6 @@ import { } from "../../dialogs/generic/show-dialog-box"; import { showVoiceCommandDialog } from "../../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; import { haStyle } from "../../resources/styles"; -import type { HomeAssistant } from "../../types"; -import "../lovelace/cards/hui-card"; import { showTodoItemEditDialog } from "./show-dialog-todo-item-editor"; @customElement("ha-panel-todo") diff --git a/src/panels/todo/show-dialog-todo-item-editor.ts b/src/panels/todo/show-dialog-todo-item-editor.ts index 0b3969ea1e..066339cb5a 100644 --- a/src/panels/todo/show-dialog-todo-item-editor.ts +++ b/src/panels/todo/show-dialog-todo-item-editor.ts @@ -1,6 +1,7 @@ -import { fireEvent } from "../../common/dom/fire_event"; import type { TodoItem } from "../../data/todo"; +import { fireEvent } from "../../common/dom/fire_event"; + export interface TodoItemEditDialogParams { entity: string; item?: TodoItem; diff --git a/src/resources/codemirror.ts b/src/resources/codemirror.ts index 841afdc8d8..f46ffa724c 100644 --- a/src/resources/codemirror.ts +++ b/src/resources/codemirror.ts @@ -1,3 +1,5 @@ +import type { KeyBinding } from "@codemirror/view"; + import { indentLess, indentMore } from "@codemirror/commands"; import { foldService, @@ -8,7 +10,6 @@ import { import { jinja2 } from "@codemirror/legacy-modes/mode/jinja2"; import { yaml } from "@codemirror/legacy-modes/mode/yaml"; import { Compartment } from "@codemirror/state"; -import type { KeyBinding } from "@codemirror/view"; import { EditorView } from "@codemirror/view"; import { tags } from "@lezer/highlight"; diff --git a/src/resources/echarts.ts b/src/resources/echarts.ts index 2f5c27e483..a037fb8683 100644 --- a/src/resources/echarts.ts +++ b/src/resources/echarts.ts @@ -1,27 +1,4 @@ // Import the echarts core module, which provides the necessary interfaces for using echarts. -import * as echarts from "echarts/core"; - -// Import charts, all suffixed with Chart -import { BarChart, LineChart, CustomChart } from "echarts/charts"; - -// Import the title, tooltip, rectangular coordinate system, dataset and transform components -import { - TooltipComponent, - DatasetComponent, - TransformComponent, - LegendComponent, - GridComponent, - DataZoomComponent, - VisualMapComponent, - ToolboxComponent, -} from "echarts/components"; - -// Features like Universal Transition and Label Layout -import { LabelLayout, UniversalTransition } from "echarts/features"; - -// Import the Canvas renderer -// Note that including the CanvasRenderer or SVGRenderer is a required step -import { CanvasRenderer } from "echarts/renderers"; import type { // The series option types are defined with the SeriesOption suffix @@ -30,6 +7,10 @@ import type { CustomSeriesOption, SankeySeriesOption, } from "echarts/charts"; +// Import the title, tooltip, rectangular coordinate system, dataset and transform components +// Features like Universal Transition and Label Layout +// Import the Canvas renderer +// Note that including the CanvasRenderer or SVGRenderer is a required step import type { // The component option types are defined with the ComponentOption suffix TooltipComponentOption, @@ -41,6 +22,22 @@ import type { } from "echarts/components"; import type { ComposeOption } from "echarts/core"; +// Import charts, all suffixed with Chart +import { BarChart, LineChart, CustomChart } from "echarts/charts"; +import { + TooltipComponent, + DatasetComponent, + TransformComponent, + LegendComponent, + GridComponent, + DataZoomComponent, + VisualMapComponent, + ToolboxComponent, +} from "echarts/components"; +import * as echarts from "echarts/core"; +import { LabelLayout, UniversalTransition } from "echarts/features"; +import { CanvasRenderer } from "echarts/renderers"; + // Create an Option type with only the required components and charts via ComposeOption export type ECOption = ComposeOption< | BarSeriesOption diff --git a/src/resources/ha-style.ts b/src/resources/ha-style.ts index 2fbabcfbba..2024d3a973 100644 --- a/src/resources/ha-style.ts +++ b/src/resources/ha-style.ts @@ -1,4 +1,5 @@ import { css, unsafeCSS } from "lit"; + import { fontStyles } from "./roboto"; import { DEFAULT_ACCENT_COLOR, diff --git a/src/resources/icon-metadata.ts b/src/resources/icon-metadata.ts index ce972dd0fa..4f673b234e 100644 --- a/src/resources/icon-metadata.ts +++ b/src/resources/icon-metadata.ts @@ -1,4 +1,5 @@ -import * as iconMetadata_ from "../../build/mdi/iconMetadata.json"; import type { IconMetaFile } from "../types.js"; +import * as iconMetadata_ from "../../build/mdi/iconMetadata.json"; + export const iconMetadata = (iconMetadata_ as any).default as IconMetaFile; diff --git a/src/resources/markdown-worker.ts b/src/resources/markdown-worker.ts index 1a8d3e3dc1..1f329f7901 100644 --- a/src/resources/markdown-worker.ts +++ b/src/resources/markdown-worker.ts @@ -1,7 +1,8 @@ -import { expose } from "comlink"; import type { MarkedOptions } from "marked"; -import { marked } from "marked"; import type { IWhiteList } from "xss"; + +import { expose } from "comlink"; +import { marked } from "marked"; import { filterXSS, getDefaultWhiteList } from "xss"; let whiteListNormal: IWhiteList | undefined; diff --git a/src/resources/particles.ts b/src/resources/particles.ts index 1734c99219..0ec84af9ab 100644 --- a/src/resources/particles.ts +++ b/src/resources/particles.ts @@ -1,5 +1,6 @@ import { tsParticles } from "@tsparticles/engine"; import { loadLinksPreset } from "@tsparticles/preset-links"; + import { DEFAULT_PRIMARY_COLOR } from "./styles-data"; loadLinksPreset(tsParticles).then(() => { diff --git a/src/resources/polyfills/intl-polyfill.ts b/src/resources/polyfills/intl-polyfill.ts index 97026fdbaf..4cdbc4e8e5 100644 --- a/src/resources/polyfills/intl-polyfill.ts +++ b/src/resources/polyfills/intl-polyfill.ts @@ -1,12 +1,12 @@ import { shouldPolyfill as shouldPolyfillDateTimeFormat } from "@formatjs/intl-datetimeformat/should-polyfill"; import { shouldPolyfill as shouldPolyfillDisplayNames } from "@formatjs/intl-displaynames/should-polyfill"; +import { shouldPolyfill as shouldPolyfillDurationFormat } from "@formatjs/intl-durationformat/should-polyfill"; import { shouldPolyfill as shouldPolyfillGetCanonicalLocales } from "@formatjs/intl-getcanonicallocales/should-polyfill"; import { shouldPolyfill as shouldPolyfillListFormat } from "@formatjs/intl-listformat/should-polyfill"; import { shouldPolyfill as shouldPolyfillLocale } from "@formatjs/intl-locale/should-polyfill"; import { shouldPolyfill as shouldPolyfillNumberFormat } from "@formatjs/intl-numberformat/should-polyfill"; import { shouldPolyfill as shouldPolyfillPluralRules } from "@formatjs/intl-pluralrules/should-polyfill"; import { shouldPolyfill as shouldPolyfillRelativeTimeFormat } from "@formatjs/intl-relativetimeformat/should-polyfill"; -import { shouldPolyfill as shouldPolyfillDurationFormat } from "@formatjs/intl-durationformat/should-polyfill"; import { getLocalLanguage } from "../../util/common-translation"; import { diff --git a/src/resources/render-markdown.ts b/src/resources/render-markdown.ts index 0513348afa..a203b5f499 100644 --- a/src/resources/render-markdown.ts +++ b/src/resources/render-markdown.ts @@ -1,6 +1,7 @@ -import type { Remote } from "comlink"; -import { wrap } from "comlink"; import type { Api } from "./markdown-worker"; +import type { Remote } from "comlink"; + +import { wrap } from "comlink"; type RenderMarkdownType = Api["renderMarkdown"]; type RenderMarkdownParamTypes = Parameters; diff --git a/src/resources/sortable.ts b/src/resources/sortable.ts index 6db53f0117..f180d0abe2 100644 --- a/src/resources/sortable.ts +++ b/src/resources/sortable.ts @@ -1,4 +1,5 @@ import type Sortable from "sortablejs"; + import SortableCore, { AutoScroll, OnSpill, diff --git a/src/resources/translations-metadata.ts b/src/resources/translations-metadata.ts index 9eecf235c8..5e498c2df6 100644 --- a/src/resources/translations-metadata.ts +++ b/src/resources/translations-metadata.ts @@ -1,5 +1,6 @@ -import * as translationMetadata_ from "../../build/translations/translationMetadata.json"; import type { TranslationMetadata } from "../types.js"; +import * as translationMetadata_ from "../../build/translations/translationMetadata.json"; + export const translationMetadata = (translationMetadata_ as any) .default as TranslationMetadata; diff --git a/src/state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes.ts b/src/state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes.ts index 26f58ca468..7cb0735adf 100644 --- a/src/state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes.ts +++ b/src/state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes.ts @@ -1,23 +1,26 @@ -import type { PropertyValues } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import memoizeOne from "memoize-one"; -import { stateColorCss } from "../../common/entity/state_color"; -import { supportsFeature } from "../../common/entity/supports-feature"; -import "../../components/ha-control-select"; import type { ControlSelectOption } from "../../components/ha-control-select"; -import "../../components/ha-control-slider"; import type { AlarmControlPanelEntity, AlarmMode, } from "../../data/alarm_control_panel"; +import type { HomeAssistant } from "../../types"; +import type { PropertyValues } from "lit"; + +import "../../components/ha-control-select"; +import "../../components/ha-control-slider"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import memoizeOne from "memoize-one"; + +import { stateColorCss } from "../../common/entity/state_color"; +import { supportsFeature } from "../../common/entity/supports-feature"; import { ALARM_MODES, setProtectedAlarmControlPanelMode, } from "../../data/alarm_control_panel"; import { UNAVAILABLE } from "../../data/entity"; -import type { HomeAssistant } from "../../types"; @customElement("ha-state-control-alarm_control_panel-modes") export class HaStateControlAlarmControlPanelModes extends LitElement { diff --git a/src/state-control/climate/ha-state-control-climate-humidity.ts b/src/state-control/climate/ha-state-control-climate-humidity.ts index a6bfba7daa..02e55da0c1 100644 --- a/src/state-control/climate/ha-state-control-climate-humidity.ts +++ b/src/state-control/climate/ha-state-control-climate-humidity.ts @@ -1,22 +1,25 @@ -import { mdiMinus, mdiPlus, mdiWaterPercent } from "@mdi/js"; +import type { ClimateEntity } from "../../data/climate"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../components/ha-big-number"; +import "../../components/ha-control-circular-slider"; +import "../../components/ha-outlined-icon-button"; +import "../../components/ha-svg-icon"; + +import { mdiMinus, mdiPlus, mdiWaterPercent } from "@mdi/js"; import { LitElement, html } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { stateActive } from "../../common/entity/state_active"; import { domainStateColorProperties } from "../../common/entity/state_color"; import { supportsFeature } from "../../common/entity/supports-feature"; import { clamp } from "../../common/number/clamp"; import { debounce } from "../../common/util/debounce"; -import "../../components/ha-big-number"; -import "../../components/ha-control-circular-slider"; -import "../../components/ha-outlined-icon-button"; -import "../../components/ha-svg-icon"; -import type { ClimateEntity } from "../../data/climate"; import { ClimateEntityFeature } from "../../data/climate"; import { UNAVAILABLE } from "../../data/entity"; import { computeCssVariable } from "../../resources/css-variables"; -import type { HomeAssistant } from "../../types"; import { createStateControlCircularSliderController, stateControlCircularSliderStyle, diff --git a/src/state-control/climate/ha-state-control-climate-temperature.ts b/src/state-control/climate/ha-state-control-climate-temperature.ts index 6b2000222b..24f376d742 100644 --- a/src/state-control/climate/ha-state-control-climate-temperature.ts +++ b/src/state-control/climate/ha-state-control-climate-temperature.ts @@ -1,9 +1,19 @@ -import { mdiMinus, mdiPlus, mdiThermometer, mdiThermostat } from "@mdi/js"; +import type { ControlCircularSliderMode } from "../../components/ha-control-circular-slider"; +import type { ClimateEntity, HvacMode } from "../../data/climate"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../components/ha-big-number"; +import "../../components/ha-control-circular-slider"; +import "../../components/ha-outlined-icon-button"; +import "../../components/ha-svg-icon"; + +import { mdiMinus, mdiPlus, mdiThermometer, mdiThermostat } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { UNIT_F } from "../../common/const"; import { stateActive } from "../../common/entity/state_active"; import { stateColorCss } from "../../common/entity/state_color"; @@ -12,18 +22,11 @@ import { clamp } from "../../common/number/clamp"; import { formatNumber } from "../../common/number/format_number"; import { blankBeforeUnit } from "../../common/translations/blank_before_unit"; import { debounce } from "../../common/util/debounce"; -import "../../components/ha-big-number"; -import "../../components/ha-control-circular-slider"; -import type { ControlCircularSliderMode } from "../../components/ha-control-circular-slider"; -import "../../components/ha-outlined-icon-button"; -import "../../components/ha-svg-icon"; -import type { ClimateEntity, HvacMode } from "../../data/climate"; import { CLIMATE_HVAC_ACTION_TO_MODE, ClimateEntityFeature, } from "../../data/climate"; import { UNAVAILABLE } from "../../data/entity"; -import type { HomeAssistant } from "../../types"; import { createStateControlCircularSliderController, stateControlCircularSliderStyle, diff --git a/src/state-control/cover/ha-state-control-cover-buttons.ts b/src/state-control/cover/ha-state-control-cover-buttons.ts index da0f1efffc..1c86170ad7 100644 --- a/src/state-control/cover/ha-state-control-cover-buttons.ts +++ b/src/state-control/cover/ha-state-control-cover-buttons.ts @@ -1,19 +1,23 @@ -import { mdiArrowBottomLeft, mdiArrowTopRight, mdiStop } from "@mdi/js"; +import type { CoverEntity } from "../../data/cover"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; + +import "../../components/ha-control-button"; +import "../../components/ha-control-button-group"; +import "../../components/ha-control-slider"; +import "../../components/ha-svg-icon"; + +import { mdiArrowBottomLeft, mdiArrowTopRight, mdiStop } from "@mdi/js"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; + import { computeCloseIcon, computeOpenIcon, } from "../../common/entity/cover_icon"; import { supportsFeature } from "../../common/entity/supports-feature"; -import "../../components/ha-control-button"; -import "../../components/ha-control-button-group"; -import "../../components/ha-control-slider"; -import "../../components/ha-svg-icon"; -import type { CoverEntity } from "../../data/cover"; import { CoverEntityFeature, canClose, @@ -23,7 +27,6 @@ import { canStop, canStopTilt, } from "../../data/cover"; -import type { HomeAssistant } from "../../types"; type CoverButton = | "open" diff --git a/src/state-control/cover/ha-state-control-cover-position.ts b/src/state-control/cover/ha-state-control-cover-position.ts index 5608ed92b5..8c15444bdf 100644 --- a/src/state-control/cover/ha-state-control-cover-position.ts +++ b/src/state-control/cover/ha-state-control-cover-position.ts @@ -1,14 +1,17 @@ +import type { CoverEntity } from "../../data/cover"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; + +import "../../components/ha-control-slider"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { computeAttributeNameDisplay } from "../../common/entity/compute_attribute_display"; import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-slider"; -import type { CoverEntity } from "../../data/cover"; import { UNAVAILABLE } from "../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../data/entity_attributes"; -import type { HomeAssistant } from "../../types"; @customElement("ha-state-control-cover-position") export class HaStateControlCoverPosition extends LitElement { diff --git a/src/state-control/cover/ha-state-control-cover-tilt-position.ts b/src/state-control/cover/ha-state-control-cover-tilt-position.ts index 77b6f573af..7ab75a8228 100644 --- a/src/state-control/cover/ha-state-control-cover-tilt-position.ts +++ b/src/state-control/cover/ha-state-control-cover-tilt-position.ts @@ -1,14 +1,17 @@ +import type { CoverEntity } from "../../data/cover"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../../components/ha-control-slider"; + import { css, html, LitElement, unsafeCSS } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { computeAttributeNameDisplay } from "../../common/entity/compute_attribute_display"; import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-slider"; -import type { CoverEntity } from "../../data/cover"; import { UNAVAILABLE } from "../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../data/entity_attributes"; -import type { HomeAssistant } from "../../types"; export function generateTiltSliderTrackBackgroundGradient() { const count = 24; diff --git a/src/state-control/cover/ha-state-control-cover-toggle.ts b/src/state-control/cover/ha-state-control-cover-toggle.ts index 071c15c758..a99e2b5d8c 100644 --- a/src/state-control/cover/ha-state-control-cover-toggle.ts +++ b/src/state-control/cover/ha-state-control-cover-toggle.ts @@ -1,16 +1,19 @@ +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../../components/ha-control-button"; +import "../../components/ha-control-switch"; +import "../../components/ha-state-icon"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-button"; -import "../../components/ha-control-switch"; -import "../../components/ha-state-icon"; import { UNAVAILABLE, UNKNOWN } from "../../data/entity"; import { forwardHaptic } from "../../data/haptics"; -import type { HomeAssistant } from "../../types"; @customElement("ha-state-control-cover-toggle") export class HaStateControlCoverToggle extends LitElement { diff --git a/src/state-control/fan/ha-state-control-fan-speed.ts b/src/state-control/fan/ha-state-control-fan-speed.ts index 8ed0d15baf..8bb39473fd 100644 --- a/src/state-control/fan/ha-state-control-fan-speed.ts +++ b/src/state-control/fan/ha-state-control-fan-speed.ts @@ -1,15 +1,19 @@ +import type { ControlSelectOption } from "../../components/ha-control-select"; +import type { FanEntity, FanSpeed } from "../../data/fan"; +import type { HomeAssistant } from "../../types"; + +import "../../components/ha-control-select"; +import "../../components/ha-control-slider"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { computeAttributeNameDisplay } from "../../common/entity/compute_attribute_display"; import { stateActive } from "../../common/entity/state_active"; import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-select"; -import type { ControlSelectOption } from "../../components/ha-control-select"; -import "../../components/ha-control-slider"; import { UNAVAILABLE } from "../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../data/entity_attributes"; -import type { FanEntity, FanSpeed } from "../../data/fan"; import { computeFanSpeedCount, computeFanSpeedIcon, @@ -18,7 +22,6 @@ import { fanPercentageToSpeed, fanSpeedToPercentage, } from "../../data/fan"; -import type { HomeAssistant } from "../../types"; @customElement("ha-state-control-fan-speed") export class HaStateControlFanSpeed extends LitElement { diff --git a/src/state-control/ha-state-control-toggle.ts b/src/state-control/ha-state-control-toggle.ts index 0fcf4eef38..10c54750d4 100644 --- a/src/state-control/ha-state-control-toggle.ts +++ b/src/state-control/ha-state-control-toggle.ts @@ -1,18 +1,21 @@ -import { mdiFlash, mdiFlashOff } from "@mdi/js"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../components/ha-control-button"; +import "../components/ha-control-switch"; + +import { mdiFlash, mdiFlashOff } from "@mdi/js"; import { LitElement, css, html } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { computeDomain } from "../common/entity/compute_domain"; import { stateActive } from "../common/entity/state_active"; import { stateColorCss } from "../common/entity/state_color"; -import "../components/ha-control-button"; -import "../components/ha-control-switch"; import { UNAVAILABLE, UNKNOWN } from "../data/entity"; import { forwardHaptic } from "../data/haptics"; -import type { HomeAssistant } from "../types"; @customElement("ha-state-control-toggle") export class HaStateControlToggle extends LitElement { diff --git a/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts b/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts index 3072710d2c..26b0e571a7 100644 --- a/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts +++ b/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts @@ -1,24 +1,27 @@ -import { mdiMinus, mdiPlus, mdiThermostat, mdiWaterPercent } from "@mdi/js"; +import type { HumidifierEntity } from "../../data/humidifier"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; -import { LitElement, html, nothing } from "lit"; -import { customElement, property, state } from "lit/decorators"; -import { styleMap } from "lit/directives/style-map"; -import { stateActive } from "../../common/entity/state_active"; -import { stateColorCss } from "../../common/entity/state_color"; -import { clamp } from "../../common/number/clamp"; -import { debounce } from "../../common/util/debounce"; + import "../../components/ha-big-number"; import "../../components/ha-control-circular-slider"; import "../../components/ha-outlined-icon-button"; import "../../components/ha-svg-icon"; + +import { mdiMinus, mdiPlus, mdiThermostat, mdiWaterPercent } from "@mdi/js"; +import { LitElement, html, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; + +import { stateActive } from "../../common/entity/state_active"; +import { stateColorCss } from "../../common/entity/state_color"; +import { clamp } from "../../common/number/clamp"; +import { debounce } from "../../common/util/debounce"; import { UNAVAILABLE } from "../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../data/entity_attributes"; -import type { HumidifierEntity } from "../../data/humidifier"; import { HUMIDIFIER_ACTION_MODE, HumidifierEntityDeviceClass, } from "../../data/humidifier"; -import type { HomeAssistant } from "../../types"; import { createStateControlCircularSliderController, stateControlCircularSliderStyle, diff --git a/src/state-control/light/ha-state-control-light-brightness.ts b/src/state-control/light/ha-state-control-light-brightness.ts index ce649782ea..48cc3af8e8 100644 --- a/src/state-control/light/ha-state-control-light-brightness.ts +++ b/src/state-control/light/ha-state-control-light-brightness.ts @@ -1,14 +1,17 @@ +import type { LightEntity } from "../../data/light"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; + +import "../../components/ha-control-slider"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { hsv2rgb, rgb2hex, rgb2hsv } from "../../common/color/convert-color"; import { stateActive } from "../../common/entity/state_active"; import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-slider"; import { UNAVAILABLE } from "../../data/entity"; -import type { LightEntity } from "../../data/light"; -import type { HomeAssistant } from "../../types"; @customElement("ha-state-control-light-brightness") export class HaStateControlLightBrightness extends LitElement { diff --git a/src/state-control/lock/ha-state-control-lock-toggle.ts b/src/state-control/lock/ha-state-control-lock-toggle.ts index c7cb21216b..b766db2c21 100644 --- a/src/state-control/lock/ha-state-control-lock-toggle.ts +++ b/src/state-control/lock/ha-state-control-lock-toggle.ts @@ -1,18 +1,21 @@ +import type { LockEntity } from "../../data/lock"; +import type { HomeAssistant } from "../../types"; import type { PropertyValues, TemplateResult } from "lit"; + +import "../../components/ha-control-button"; +import "../../components/ha-control-switch"; +import "../../components/ha-state-icon"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + +import { fireEvent } from "../../common/dom/fire_event"; import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-button"; -import "../../components/ha-control-switch"; -import "../../components/ha-state-icon"; import { UNAVAILABLE, UNKNOWN } from "../../data/entity"; import { forwardHaptic } from "../../data/haptics"; -import type { LockEntity } from "../../data/lock"; import { callProtectedLockService } from "../../data/lock"; -import type { HomeAssistant } from "../../types"; -import { fireEvent } from "../../common/dom/fire_event"; declare global { interface HASSDomEvents { diff --git a/src/state-control/state-control-circular-slider-style.ts b/src/state-control/state-control-circular-slider-style.ts index c0f51bb8b6..29326ad291 100644 --- a/src/state-control/state-control-circular-slider-style.ts +++ b/src/state-control/state-control-circular-slider-style.ts @@ -1,5 +1,6 @@ -import { ResizeController } from "@lit-labs/observers/resize-controller"; import type { ReactiveControllerHost } from "lit"; + +import { ResizeController } from "@lit-labs/observers/resize-controller"; import { css } from "lit"; export const stateControlCircularSliderStyle = css` diff --git a/src/state-control/valve/ha-state-control-valve-buttons.ts b/src/state-control/valve/ha-state-control-valve-buttons.ts index 897cc64ba3..214f37c7b5 100644 --- a/src/state-control/valve/ha-state-control-valve-buttons.ts +++ b/src/state-control/valve/ha-state-control-valve-buttons.ts @@ -1,22 +1,25 @@ -import { mdiStop, mdiValveClosed, mdiValveOpen } from "@mdi/js"; +import type { ValveEntity } from "../../data/valve"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { repeat } from "lit/directives/repeat"; -import memoizeOne from "memoize-one"; -import { supportsFeature } from "../../common/entity/supports-feature"; + import "../../components/ha-control-button"; import "../../components/ha-control-button-group"; import "../../components/ha-control-slider"; import "../../components/ha-svg-icon"; -import type { ValveEntity } from "../../data/valve"; + +import { mdiStop, mdiValveClosed, mdiValveOpen } from "@mdi/js"; +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; +import memoizeOne from "memoize-one"; + +import { supportsFeature } from "../../common/entity/supports-feature"; import { ValveEntityFeature, canClose, canOpen, canStop, } from "../../data/valve"; -import type { HomeAssistant } from "../../types"; type ValveButton = "open" | "close" | "stop" | "none"; diff --git a/src/state-control/valve/ha-state-control-valve-position.ts b/src/state-control/valve/ha-state-control-valve-position.ts index 45808adc61..16ac1228b5 100644 --- a/src/state-control/valve/ha-state-control-valve-position.ts +++ b/src/state-control/valve/ha-state-control-valve-position.ts @@ -1,14 +1,17 @@ +import type { CoverEntity } from "../../data/cover"; +import type { HomeAssistant } from "../../types"; import type { TemplateResult } from "lit"; + +import "../../components/ha-control-slider"; + import { css, html, LitElement } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { computeAttributeNameDisplay } from "../../common/entity/compute_attribute_display"; import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-slider"; -import type { CoverEntity } from "../../data/cover"; import { UNAVAILABLE } from "../../data/entity"; import { DOMAIN_ATTRIBUTES_UNITS } from "../../data/entity_attributes"; -import type { HomeAssistant } from "../../types"; @customElement("ha-state-control-valve-position") export class HaStateControlValvePosition extends LitElement { diff --git a/src/state-control/valve/ha-state-control-valve-toggle.ts b/src/state-control/valve/ha-state-control-valve-toggle.ts index e476b3bd58..d92bdd1ec4 100644 --- a/src/state-control/valve/ha-state-control-valve-toggle.ts +++ b/src/state-control/valve/ha-state-control-valve-toggle.ts @@ -1,16 +1,19 @@ +import type { HomeAssistant } from "../../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../../components/ha-control-button"; +import "../../components/ha-control-switch"; +import "../../components/ha-state-icon"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; + import { stateColorCss } from "../../common/entity/state_color"; -import "../../components/ha-control-button"; -import "../../components/ha-control-switch"; -import "../../components/ha-state-icon"; import { UNAVAILABLE, UNKNOWN } from "../../data/entity"; import { forwardHaptic } from "../../data/haptics"; -import type { HomeAssistant } from "../../types"; @customElement("ha-state-control-valve-toggle") export class HaStateControlValveToggle extends LitElement { diff --git a/src/state-control/water_heater/ha-state-control-water_heater-temperature.ts b/src/state-control/water_heater/ha-state-control-water_heater-temperature.ts index 0bad74a565..c6940fc8eb 100644 --- a/src/state-control/water_heater/ha-state-control-water_heater-temperature.ts +++ b/src/state-control/water_heater/ha-state-control-water_heater-temperature.ts @@ -1,22 +1,25 @@ -import { mdiMinus, mdiPlus } from "@mdi/js"; +import type { WaterHeaterEntity } from "../../data/water_heater"; +import type { HomeAssistant } from "../../types"; import type { CSSResultGroup, PropertyValues } from "lit"; + +import "../../components/ha-big-number"; +import "../../components/ha-control-circular-slider"; +import "../../components/ha-outlined-icon-button"; +import "../../components/ha-svg-icon"; + +import { mdiMinus, mdiPlus } from "@mdi/js"; import { LitElement, html } from "lit"; import { customElement, property, state } from "lit/decorators"; import { styleMap } from "lit/directives/style-map"; + import { UNIT_F } from "../../common/const"; import { stateActive } from "../../common/entity/state_active"; import { stateColorCss } from "../../common/entity/state_color"; import { supportsFeature } from "../../common/entity/supports-feature"; import { clamp } from "../../common/number/clamp"; import { debounce } from "../../common/util/debounce"; -import "../../components/ha-big-number"; -import "../../components/ha-control-circular-slider"; -import "../../components/ha-outlined-icon-button"; -import "../../components/ha-svg-icon"; import { UNAVAILABLE } from "../../data/entity"; -import type { WaterHeaterEntity } from "../../data/water_heater"; import { WaterHeaterEntityFeature } from "../../data/water_heater"; -import type { HomeAssistant } from "../../types"; import { createStateControlCircularSliderController, stateControlCircularSliderStyle, diff --git a/src/state-display/ha-timer-remaining-time.ts b/src/state-display/ha-timer-remaining-time.ts index 549152276c..1c01ff9a31 100644 --- a/src/state-display/ha-timer-remaining-time.ts +++ b/src/state-display/ha-timer-remaining-time.ts @@ -1,9 +1,11 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { PropertyValues } from "lit"; + import { ReactiveElement } from "lit"; import { customElement, property, state } from "lit/decorators"; + import { computeDisplayTimer, timerTimeRemaining } from "../data/timer"; -import type { HomeAssistant } from "../types"; @customElement("ha-timer-remaining-time") class HaTimerRemainingTime extends ReactiveElement { diff --git a/src/state-display/state-display.ts b/src/state-display/state-display.ts index ba018f0dfc..3e573e95ba 100644 --- a/src/state-display/state-display.ts +++ b/src/state-display/state-display.ts @@ -1,18 +1,21 @@ +import type { UpdateEntity } from "../data/update"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; + +import "../components/ha-relative-time"; +import "../panels/lovelace/components/hui-timestamp-display"; + import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { join } from "lit/directives/join"; + import { ensureArray } from "../common/array/ensure-array"; import { computeStateDomain } from "../common/entity/compute_state_domain"; import { computeStateName } from "../common/entity/compute_state_name"; -import "../components/ha-relative-time"; import { isUnavailableState } from "../data/entity"; import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../data/sensor"; -import type { UpdateEntity } from "../data/update"; import { computeUpdateStateDisplay } from "../data/update"; -import "../panels/lovelace/components/hui-timestamp-display"; -import type { HomeAssistant } from "../types"; const TIMESTAMP_STATE_DOMAINS = ["button", "input_button", "scene"]; diff --git a/src/state-summary/state-card-alert.ts b/src/state-summary/state-card-alert.ts index fa8af96f6e..377b17bf55 100755 --- a/src/state-summary/state-card-alert.ts +++ b/src/state-summary/state-card-alert.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { stateActive } from "../common/entity/state_active"; + import "../components/entity/ha-entity-toggle"; import "../components/entity/state-info"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { stateActive } from "../common/entity/state_active"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-alert") class StateCardAlert extends LitElement { diff --git a/src/state-summary/state-card-button.ts b/src/state-summary/state-card-button.ts index eb9203b7f8..9f7e1234fe 100644 --- a/src/state-summary/state-card-button.ts +++ b/src/state-summary/state-card-button.ts @@ -1,13 +1,16 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/ha-entity-toggle"; import "../components/entity/state-info"; +import "@material/mwc-button"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { UNAVAILABLE } from "../data/entity"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-button") class StateCardButton extends LitElement { diff --git a/src/state-summary/state-card-climate.ts b/src/state-summary/state-card-climate.ts index 8c32836566..7250ffe6a6 100644 --- a/src/state-summary/state-card-climate.ts +++ b/src/state-summary/state-card-climate.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; + import "../components/entity/state-info"; import "../components/ha-climate-state"; + +import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import type { HomeAssistant } from "../types"; + import { haStyle } from "../resources/styles"; @customElement("state-card-climate") diff --git a/src/state-summary/state-card-configurator.ts b/src/state-summary/state-card-configurator.ts index d5dacddefc..5d1e94539d 100644 --- a/src/state-summary/state-card-configurator.ts +++ b/src/state-summary/state-card-configurator.ts @@ -1,10 +1,13 @@ -import "@material/mwc-button"; -import type { HassEntity } from "home-assistant-js-websocket"; -import "../components/entity/state-info"; -import { customElement, property } from "lit/decorators"; -import type { CSSResultGroup, TemplateResult } from "lit"; -import { LitElement, css, html, nothing } from "lit"; import type { HomeAssistant } from "../types"; +import type { HassEntity } from "home-assistant-js-websocket"; +import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../components/entity/state-info"; +import "@material/mwc-button"; + +import { LitElement, css, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; @customElement("state-card-configurator") diff --git a/src/state-summary/state-card-content.ts b/src/state-summary/state-card-content.ts index b2c87e8749..c5f342c325 100644 --- a/src/state-summary/state-card-content.ts +++ b/src/state-summary/state-card-content.ts @@ -1,9 +1,6 @@ -import { LitElement, nothing } from "lit"; -import type { HassEntity } from "home-assistant-js-websocket"; -import { customElement, property } from "lit/decorators"; import type { HomeAssistant } from "../types"; -import { dynamicElement } from "../common/dom/dynamic-element-directive"; -import { stateCardType } from "../common/entity/state_card_type"; +import type { HassEntity } from "home-assistant-js-websocket"; + import "./state-card-alert"; import "./state-card-button"; import "./state-card-climate"; @@ -30,6 +27,12 @@ import "./state-card-update"; import "./state-card-vacuum"; import "./state-card-water_heater"; +import { LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { dynamicElement } from "../common/dom/dynamic-element-directive"; +import { stateCardType } from "../common/entity/state_card_type"; + @customElement("state-card-content") class StateCardContent extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/state-summary/state-card-cover.ts b/src/state-summary/state-card-cover.ts index d83737df0c..6b22d0a430 100644 --- a/src/state-summary/state-card-cover.ts +++ b/src/state-summary/state-card-cover.ts @@ -1,13 +1,16 @@ +import type { CoverEntity } from "../data/cover"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/state-info"; import "../components/ha-cover-controls"; import "../components/ha-cover-tilt-controls"; -import type { CoverEntity } from "../data/cover"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { isTiltOnly } from "../data/cover"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-cover") class StateCardCover extends LitElement { diff --git a/src/state-summary/state-card-display.ts b/src/state-summary/state-card-display.ts index 3928af0742..2dc63866e1 100755 --- a/src/state-summary/state-card-display.ts +++ b/src/state-summary/state-card-display.ts @@ -1,15 +1,18 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../components/entity/state-info"; +import "../panels/lovelace/components/hui-timestamp-display"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; + import { computeDomain } from "../common/entity/compute_domain"; -import "../components/entity/state-info"; import { isUnavailableState } from "../data/entity"; import { SENSOR_DEVICE_CLASS_TIMESTAMP } from "../data/sensor"; -import "../panels/lovelace/components/hui-timestamp-display"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-display") class StateCardDisplay extends LitElement { diff --git a/src/state-summary/state-card-event.ts b/src/state-summary/state-card-event.ts index 970bb8fe4c..d5a7c1ba1d 100644 --- a/src/state-summary/state-card-event.ts +++ b/src/state-summary/state-card-event.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/ha-entity-toggle"; import "../components/entity/state-info"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-event") class StateCardEvent extends LitElement { diff --git a/src/state-summary/state-card-humidifier.ts b/src/state-summary/state-card-humidifier.ts index e691ce7956..7fd2e7417e 100644 --- a/src/state-summary/state-card-humidifier.ts +++ b/src/state-summary/state-card-humidifier.ts @@ -1,11 +1,13 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; import "../components/entity/state-info"; import "../components/ha-humidifier-state"; -import type { HomeAssistant } from "../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; @customElement("state-card-humidifier") diff --git a/src/state-summary/state-card-input_button.ts b/src/state-summary/state-card-input_button.ts index e44c9bf576..95f5457e6b 100644 --- a/src/state-summary/state-card-input_button.ts +++ b/src/state-summary/state-card-input_button.ts @@ -1,13 +1,16 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/ha-entity-toggle"; import "../components/entity/state-info"; +import "@material/mwc-button"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { UNAVAILABLE } from "../data/entity"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-input_button") class StateCardInputButton extends LitElement { diff --git a/src/state-summary/state-card-input_number.ts b/src/state-summary/state-card-input_number.ts index 39497ead04..3b6cec730e 100644 --- a/src/state-summary/state-card-input_number.ts +++ b/src/state-summary/state-card-input_number.ts @@ -1,14 +1,17 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { debounce } from "../common/util/debounce"; + import "../components/entity/state-info"; import "../components/ha-slider"; import "../components/ha-textfield"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { debounce } from "../common/util/debounce"; import { isUnavailableState } from "../data/entity"; import { setValue } from "../data/input_text"; -import type { HomeAssistant } from "../types"; @customElement("state-card-input_number") class StateCardInputNumber extends LitElement { diff --git a/src/state-summary/state-card-input_select.ts b/src/state-summary/state-card-input_select.ts index 3ee4c92c7f..52d7a444f5 100644 --- a/src/state-summary/state-card-input_select.ts +++ b/src/state-summary/state-card-input_select.ts @@ -1,15 +1,18 @@ -import "@material/mwc-list/mwc-list-item"; -import "../components/ha-select"; +import type { InputSelectEntity } from "../data/input_select"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "../components/entity/state-badge"; +import "../components/ha-select"; +import "@material/mwc-list/mwc-list-item"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; + import { stopPropagation } from "../common/dom/stop_propagation"; import { computeStateName } from "../common/entity/compute_state_name"; -import "../components/entity/state-badge"; import { UNAVAILABLE } from "../data/entity"; -import type { InputSelectEntity } from "../data/input_select"; import { setInputSelectOption } from "../data/input_select"; -import type { HomeAssistant } from "../types"; @customElement("state-card-input_select") class StateCardInputSelect extends LitElement { diff --git a/src/state-summary/state-card-input_text.ts b/src/state-summary/state-card-input_text.ts index 29f4bf98be..e4e304cd07 100644 --- a/src/state-summary/state-card-input_text.ts +++ b/src/state-summary/state-card-input_text.ts @@ -1,12 +1,15 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property, state } from "lit/decorators"; + import "../components/entity/state-info"; import "../components/ha-textfield"; -import type { HomeAssistant } from "../types"; -import { haStyle } from "../resources/styles"; + +import { css, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; + import { stopPropagation } from "../common/dom/stop_propagation"; +import { haStyle } from "../resources/styles"; @customElement("state-card-input_text") class StateCardInputText extends LitElement { diff --git a/src/state-summary/state-card-lawn_mower.ts b/src/state-summary/state-card-lawn_mower.ts index 1a2c53d11f..ae0ca755e7 100644 --- a/src/state-summary/state-card-lawn_mower.ts +++ b/src/state-summary/state-card-lawn_mower.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { LitElement, html } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/state-info"; import "../components/ha-lawn_mower-action-button"; + +import { LitElement, html } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-lawn_mower") class StateCardLawnMower extends LitElement { diff --git a/src/state-summary/state-card-lock.ts b/src/state-summary/state-card-lock.ts index 3e73be74e5..14f2055928 100644 --- a/src/state-summary/state-card-lock.ts +++ b/src/state-summary/state-card-lock.ts @@ -1,12 +1,15 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../components/entity/state-info"; +import "@material/mwc-button"; + import { css, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; + import { supportsFeature } from "../common/entity/supports-feature"; -import "../components/entity/state-info"; import { callProtectedLockService, LockEntityFeature } from "../data/lock"; -import type { HomeAssistant } from "../types"; import { haStyle } from "../resources/styles"; @customElement("state-card-lock") diff --git a/src/state-summary/state-card-media_player.ts b/src/state-summary/state-card-media_player.ts index b5101cf28a..7adaea704b 100644 --- a/src/state-summary/state-card-media_player.ts +++ b/src/state-summary/state-card-media_player.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../components/entity/state-info"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../components/entity/state-info"; -import HassMediaPlayerEntity from "../util/hass-media-player-model"; -import type { HomeAssistant } from "../types"; + import { haStyle } from "../resources/styles"; +import HassMediaPlayerEntity from "../util/hass-media-player-model"; @customElement("state-card-media_player") class StateCardMediaPlayer extends LitElement { diff --git a/src/state-summary/state-card-number.ts b/src/state-summary/state-card-number.ts index c722127846..e0c85c8f12 100644 --- a/src/state-summary/state-card-number.ts +++ b/src/state-summary/state-card-number.ts @@ -1,14 +1,17 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/state-info"; import "../components/ha-slider"; import "../components/ha-textfield"; -import type { HomeAssistant } from "../types"; -import { haStyle } from "../resources/styles"; -import { isUnavailableState } from "../data/entity"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { debounce } from "../common/util/debounce"; +import { isUnavailableState } from "../data/entity"; +import { haStyle } from "../resources/styles"; @customElement("state-card-number") class StateCardNumber extends LitElement { diff --git a/src/state-summary/state-card-scene.ts b/src/state-summary/state-card-scene.ts index cf42b3e284..98f2380ddc 100644 --- a/src/state-summary/state-card-scene.ts +++ b/src/state-summary/state-card-scene.ts @@ -1,11 +1,14 @@ -import "@material/mwc-button"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; + +import "../components/entity/state-info"; +import "@material/mwc-button"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../components/entity/state-info"; + import { activateScene } from "../data/scene"; -import type { HomeAssistant } from "../types"; import { haStyle } from "../resources/styles"; @customElement("state-card-scene") diff --git a/src/state-summary/state-card-script.ts b/src/state-summary/state-card-script.ts index ea07602420..6043679e19 100644 --- a/src/state-summary/state-card-script.ts +++ b/src/state-summary/state-card-script.ts @@ -1,16 +1,19 @@ -import "@material/mwc-button"; +import type { ScriptEntity } from "../data/script"; +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/ha-entity-toggle"; import "../components/entity/state-info"; +import "@material/mwc-button"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { isUnavailableState } from "../data/entity"; -import type { ScriptEntity } from "../data/script"; import { canRun, hasScriptFields } from "../data/script"; -import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; import { showMoreInfoDialog } from "../dialogs/more-info/show-ha-more-info-dialog"; +import { haStyle } from "../resources/styles"; @customElement("state-card-script") class StateCardScript extends LitElement { diff --git a/src/state-summary/state-card-select.ts b/src/state-summary/state-card-select.ts index 642310e032..f734044a14 100644 --- a/src/state-summary/state-card-select.ts +++ b/src/state-summary/state-card-select.ts @@ -1,15 +1,18 @@ -import "@material/mwc-list/mwc-list-item"; +import type { SelectEntity } from "../data/select"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; -import { stopPropagation } from "../common/dom/stop_propagation"; -import { computeStateName } from "../common/entity/compute_state_name"; + import "../components/entity/state-badge"; import "../components/ha-select"; +import "@material/mwc-list/mwc-list-item"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + +import { stopPropagation } from "../common/dom/stop_propagation"; +import { computeStateName } from "../common/entity/compute_state_name"; import { UNAVAILABLE } from "../data/entity"; -import type { SelectEntity } from "../data/select"; import { setSelectOption } from "../data/select"; -import type { HomeAssistant } from "../types"; @customElement("state-card-select") class StateCardSelect extends LitElement { diff --git a/src/state-summary/state-card-text.ts b/src/state-summary/state-card-text.ts index e7b45da80f..88c76e7fca 100644 --- a/src/state-summary/state-card-text.ts +++ b/src/state-summary/state-card-text.ts @@ -1,14 +1,17 @@ -import "../components/ha-textfield"; +import type { TextEntity } from "../data/text"; +import type { HomeAssistant } from "../types"; import type { TemplateResult } from "lit"; + +import "../components/entity/state-badge"; +import "../components/ha-textfield"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import { computeStateName } from "../common/entity/compute_state_name"; + import { stopPropagation } from "../common/dom/stop_propagation"; -import "../components/entity/state-badge"; +import { computeStateName } from "../common/entity/compute_state_name"; import { isUnavailableState, UNAVAILABLE } from "../data/entity"; -import type { TextEntity } from "../data/text"; import { setValue } from "../data/text"; -import type { HomeAssistant } from "../types"; @customElement("state-card-text") class StateCardText extends LitElement { diff --git a/src/state-summary/state-card-timer.ts b/src/state-summary/state-card-timer.ts index f83fdeb33f..699a8d1b5d 100644 --- a/src/state-summary/state-card-timer.ts +++ b/src/state-summary/state-card-timer.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../components/entity/state-info"; +import "../state-display/ha-timer-remaining-time"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../components/entity/state-info"; + import { haStyle } from "../resources/styles"; -import "../state-display/ha-timer-remaining-time"; -import type { HomeAssistant } from "../types"; @customElement("state-card-timer") class StateCardTimer extends LitElement { diff --git a/src/state-summary/state-card-toggle.ts b/src/state-summary/state-card-toggle.ts index dbcd26777a..49616e5835 100644 --- a/src/state-summary/state-card-toggle.ts +++ b/src/state-summary/state-card-toggle.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/ha-entity-toggle"; import "../components/entity/state-info"; -import type { HomeAssistant } from "../types"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; @customElement("state-card-toggle") diff --git a/src/state-summary/state-card-update.ts b/src/state-summary/state-card-update.ts index baa898d6bb..8e48963f93 100755 --- a/src/state-summary/state-card-update.ts +++ b/src/state-summary/state-card-update.ts @@ -1,11 +1,14 @@ +import type { UpdateEntity } from "../data/update"; +import type { HomeAssistant } from "../types"; import type { CSSResultGroup, TemplateResult } from "lit"; + +import "../components/entity/state-info"; + import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; -import "../components/entity/state-info"; -import type { UpdateEntity } from "../data/update"; + import { computeUpdateStateDisplay } from "../data/update"; import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-update") export class StateCardUpdate extends LitElement { diff --git a/src/state-summary/state-card-vacuum.ts b/src/state-summary/state-card-vacuum.ts index 5a856000b3..a5c40f1e3b 100644 --- a/src/state-summary/state-card-vacuum.ts +++ b/src/state-summary/state-card-vacuum.ts @@ -1,10 +1,13 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/state-info"; import "../components/ha-vacuum-state"; -import type { HomeAssistant } from "../types"; + +import { html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; @customElement("state-card-vacuum") diff --git a/src/state-summary/state-card-water_heater.ts b/src/state-summary/state-card-water_heater.ts index 2fe2204b6c..cccd11d845 100644 --- a/src/state-summary/state-card-water_heater.ts +++ b/src/state-summary/state-card-water_heater.ts @@ -1,11 +1,14 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; import type { CSSResultGroup, TemplateResult } from "lit"; -import { css, html, LitElement } from "lit"; -import { customElement, property } from "lit/decorators"; + import "../components/entity/state-info"; import "../components/ha-water_heater-state"; + +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; + import { haStyle } from "../resources/styles"; -import type { HomeAssistant } from "../types"; @customElement("state-card-water_heater") class StateCardWaterHeater extends LitElement { diff --git a/src/state/action-mixin.ts b/src/state/action-mixin.ts index 976055c780..0563a29584 100644 --- a/src/state/action-mixin.ts +++ b/src/state/action-mixin.ts @@ -1,9 +1,10 @@ -import type { PropertyValues } from "lit"; import type { HASSDomEvent } from "../common/dom/fire_event"; import type { ActionConfigParams } from "../panels/lovelace/common/handle-action"; -import { handleAction } from "../panels/lovelace/common/handle-action"; import type { Constructor } from "../types"; import type { HassBaseEl } from "./hass-base-mixin"; +import type { PropertyValues } from "lit"; + +import { handleAction } from "../panels/lovelace/common/handle-action"; declare global { // for fire event diff --git a/src/state/auth-mixin.ts b/src/state/auth-mixin.ts index 4306acc588..df4de756f7 100644 --- a/src/state/auth-mixin.ts +++ b/src/state/auth-mixin.ts @@ -1,8 +1,9 @@ -import { subscribeUser, userCollection } from "../data/ws-user"; import type { Constructor } from "../types"; -import { clearState } from "../util/ha-pref-storage"; import type { HassBaseEl } from "./hass-base-mixin"; +import { subscribeUser, userCollection } from "../data/ws-user"; +import { clearState } from "../util/ha-pref-storage"; + declare global { // for fire event interface HASSDomEvents { diff --git a/src/state/connection-mixin.ts b/src/state/connection-mixin.ts index 725201f6cd..c3415087a3 100644 --- a/src/state/connection-mixin.ts +++ b/src/state/connection-mixin.ts @@ -1,4 +1,7 @@ +import type { Constructor, HomeAssistant, ServiceCallResponse } from "../types"; +import type { HassBaseEl } from "./hass-base-mixin"; import type { Auth, Connection, HassConfig } from "home-assistant-js-websocket"; + import { callService, ERR_CONNECTION_LOST, @@ -7,7 +10,9 @@ import { subscribeEntities, subscribeServices, } from "home-assistant-js-websocket"; + import { fireEvent } from "../common/dom/fire_event"; +import { promiseTimeout } from "../common/util/promise-timeout"; import { subscribeAreaRegistry } from "../data/area_registry"; import { broadcastConnectionStatus } from "../data/connection-status"; import { subscribeDeviceRegistry } from "../data/device_registry"; @@ -22,17 +27,14 @@ import { TimeFormat, TimeZone, } from "../data/translation"; +import { subscribeEntityRegistryDisplay } from "../data/ws-entity_registry_display"; +import { subscribeFloorRegistry } from "../data/ws-floor_registry"; import { subscribePanels } from "../data/ws-panels"; import { translationMetadata } from "../resources/translations-metadata"; -import type { Constructor, HomeAssistant, ServiceCallResponse } from "../types"; import { getLocalLanguage } from "../util/common-translation"; import { fetchWithAuth } from "../util/fetch-with-auth"; import { getState } from "../util/ha-pref-storage"; import hassCallApi, { hassCallApiRaw } from "../util/hass-call-api"; -import type { HassBaseEl } from "./hass-base-mixin"; -import { promiseTimeout } from "../common/util/promise-timeout"; -import { subscribeFloorRegistry } from "../data/ws-floor_registry"; -import { subscribeEntityRegistryDisplay } from "../data/ws-entity_registry_display"; export const connectionMixin = >( superClass: T diff --git a/src/state/context-mixin.ts b/src/state/context-mixin.ts index fd5bae6025..07008091c3 100644 --- a/src/state/context-mixin.ts +++ b/src/state/context-mixin.ts @@ -1,4 +1,8 @@ +import type { Constructor, HomeAssistant } from "../types"; +import type { HassBaseEl } from "./hass-base-mixin"; + import { ContextProvider } from "@lit-labs/context"; + import { areasContext, configContext, @@ -15,8 +19,6 @@ import { userContext, userDataContext, } from "../data/context"; -import type { Constructor, HomeAssistant } from "../types"; -import type { HassBaseEl } from "./hass-base-mixin"; export const contextMixin = >( superClass: T diff --git a/src/state/dialog-manager-mixin.ts b/src/state/dialog-manager-mixin.ts index 26ac3e509b..73a2568b74 100644 --- a/src/state/dialog-manager-mixin.ts +++ b/src/state/dialog-manager-mixin.ts @@ -1,8 +1,9 @@ -import type { PropertyValues } from "lit"; import type { HASSDomEvent } from "../common/dom/fire_event"; -import { makeDialogManager, showDialog } from "../dialogs/make-dialog-manager"; import type { Constructor } from "../types"; import type { HassBaseEl } from "./hass-base-mixin"; +import type { PropertyValues } from "lit"; + +import { makeDialogManager, showDialog } from "../dialogs/make-dialog-manager"; interface RegisterDialogParams { dialogShowEvent: keyof HASSDomEvents; diff --git a/src/state/disconnect-toast-mixin.ts b/src/state/disconnect-toast-mixin.ts index 8eaa814db0..20359a4678 100644 --- a/src/state/disconnect-toast-mixin.ts +++ b/src/state/disconnect-toast-mixin.ts @@ -1,16 +1,18 @@ +import type { BootstrapIntegrationsTimings } from "../data/bootstrap_integrations"; +import type { Constructor } from "../types"; +import type { HassBaseEl } from "./hass-base-mixin"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; + import { STATE_NOT_RUNNING, STATE_RUNNING, STATE_STARTING, } from "home-assistant-js-websocket"; -import type { BootstrapIntegrationsTimings } from "../data/bootstrap_integrations"; + +import { navigate } from "../common/navigate"; import { subscribeBootstrapIntegrations } from "../data/bootstrap_integrations"; import { domainToName } from "../data/integration"; -import type { Constructor } from "../types"; import { showToast } from "../util/toast"; -import type { HassBaseEl } from "./hass-base-mixin"; -import { navigate } from "../common/navigate"; export default >(superClass: T) => class extends superClass { diff --git a/src/state/haptic-mixin.ts b/src/state/haptic-mixin.ts index 1aa0fe727e..86ff63e8f8 100644 --- a/src/state/haptic-mixin.ts +++ b/src/state/haptic-mixin.ts @@ -1,9 +1,10 @@ -import type { PropertyValues } from "lit"; import type { HASSDomEvent } from "../common/dom/fire_event"; import type { HapticType } from "../data/haptics"; import type { Constructor, HomeAssistant } from "../types"; -import { storeState } from "../util/ha-pref-storage"; import type { HassBaseEl } from "./hass-base-mixin"; +import type { PropertyValues } from "lit"; + +import { storeState } from "../util/ha-pref-storage"; interface VibrateParams { vibrate: HomeAssistant["vibrate"]; diff --git a/src/state/hass-base-mixin.ts b/src/state/hass-base-mixin.ts index 977f72df9c..c9efeb87ba 100644 --- a/src/state/hass-base-mixin.ts +++ b/src/state/hass-base-mixin.ts @@ -1,7 +1,8 @@ +import type { HomeAssistant } from "../types"; import type { Auth, Connection } from "home-assistant-js-websocket"; + import { LitElement } from "lit"; import { property } from "lit/decorators"; -import type { HomeAssistant } from "../types"; export class HassBaseEl extends LitElement { @property({ attribute: false }) public hass?: HomeAssistant; diff --git a/src/state/hass-element.ts b/src/state/hass-element.ts index c0e7ca92a5..ccacf428a6 100644 --- a/src/state/hass-element.ts +++ b/src/state/hass-element.ts @@ -1,20 +1,21 @@ import type { Constructor } from "../types"; + +import ActionMixin from "./action-mixin"; import AuthMixin from "./auth-mixin"; import { connectionMixin } from "./connection-mixin"; +import { contextMixin } from "./context-mixin"; import { dialogManagerMixin } from "./dialog-manager-mixin"; import DisconnectToastMixin from "./disconnect-toast-mixin"; import { hapticMixin } from "./haptic-mixin"; import { HassBaseEl } from "./hass-base-mixin"; import { loggingMixin } from "./logging-mixin"; -import { contextMixin } from "./context-mixin"; import MoreInfoMixin from "./more-info-mixin"; -import ActionMixin from "./action-mixin"; import NotificationMixin from "./notification-mixin"; import { panelTitleMixin } from "./panel-title-mixin"; import SidebarMixin from "./sidebar-mixin"; +import StateDisplayMixin from "./state-display-mixin"; import ThemesMixin from "./themes-mixin"; import TranslationsMixin from "./translations-mixin"; -import StateDisplayMixin from "./state-display-mixin"; import { urlSyncMixin } from "./url-sync-mixin"; const ext = (baseClass: T, mixins): T => diff --git a/src/state/more-info-mixin.ts b/src/state/more-info-mixin.ts index 7b14098279..b92907c932 100644 --- a/src/state/more-info-mixin.ts +++ b/src/state/more-info-mixin.ts @@ -1,9 +1,10 @@ -import type { PropertyValues } from "lit"; import type { HASSDomEvent } from "../common/dom/fire_event"; -import { showDialog } from "../dialogs/make-dialog-manager"; import type { MoreInfoDialogParams } from "../dialogs/more-info/ha-more-info-dialog"; import type { Constructor } from "../types"; import type { HassBaseEl } from "./hass-base-mixin"; +import type { PropertyValues } from "lit"; + +import { showDialog } from "../dialogs/make-dialog-manager"; declare global { // for fire event diff --git a/src/state/panel-title-mixin.ts b/src/state/panel-title-mixin.ts index ae9a30e2a6..2d69663943 100644 --- a/src/state/panel-title-mixin.ts +++ b/src/state/panel-title-mixin.ts @@ -1,7 +1,8 @@ -import { getPanelTitleFromUrlPath } from "../data/panel"; import type { Constructor, HomeAssistant } from "../types"; import type { HassBaseEl } from "./hass-base-mixin"; +import { getPanelTitleFromUrlPath } from "../data/panel"; + const setTitle = (title: string | undefined) => { document.title = title ? `${title} – Home Assistant` : "Home Assistant"; }; diff --git a/src/state/quick-bar-mixin.ts b/src/state/quick-bar-mixin.ts index 116c9d1fbd..00900607b5 100644 --- a/src/state/quick-bar-mixin.ts +++ b/src/state/quick-bar-mixin.ts @@ -1,19 +1,21 @@ +import type { QuickBarParams } from "../dialogs/quick-bar/show-dialog-quick-bar"; +import type { Constructor, HomeAssistant } from "../types"; +import type { HassElement } from "./hass-element"; import type { PropertyValues } from "lit"; -import { tinykeys } from "tinykeys"; + import memoizeOne from "memoize-one"; +import { tinykeys } from "tinykeys"; + import { isComponentLoaded } from "../common/config/is_component_loaded"; import { mainWindow } from "../common/dom/get_main_window"; -import type { QuickBarParams } from "../dialogs/quick-bar/show-dialog-quick-bar"; +import { extractSearchParamsObject } from "../common/url/search-params"; import { QuickBarMode, showQuickBar, } from "../dialogs/quick-bar/show-dialog-quick-bar"; -import type { Constructor, HomeAssistant } from "../types"; +import { showVoiceCommandDialog } from "../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; import { storeState } from "../util/ha-pref-storage"; import { showToast } from "../util/toast"; -import type { HassElement } from "./hass-element"; -import { extractSearchParamsObject } from "../common/url/search-params"; -import { showVoiceCommandDialog } from "../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; declare global { interface HASSDomEvents { diff --git a/src/state/sidebar-mixin.ts b/src/state/sidebar-mixin.ts index 59d258da4e..c58b665d77 100644 --- a/src/state/sidebar-mixin.ts +++ b/src/state/sidebar-mixin.ts @@ -1,8 +1,9 @@ import type { HASSDomEvent } from "../common/dom/fire_event"; import type { Constructor, HomeAssistant } from "../types"; -import { storeState } from "../util/ha-pref-storage"; import type { HassBaseEl } from "./hass-base-mixin"; +import { storeState } from "../util/ha-pref-storage"; + interface DockSidebarParams { dock: HomeAssistant["dockedSidebar"]; } diff --git a/src/state/state-display-mixin.ts b/src/state/state-display-mixin.ts index 05cca8e8f7..2c3ea26458 100644 --- a/src/state/state-display-mixin.ts +++ b/src/state/state-display-mixin.ts @@ -1,8 +1,9 @@ +import type { Constructor, HomeAssistant } from "../types"; +import type { HassBaseEl } from "./hass-base-mixin"; + import { isComponentLoaded } from "../common/config/is_component_loaded"; import { computeFormatFunctions } from "../common/translations/entity-state"; import { getSensorNumericDeviceClasses } from "../data/sensor"; -import type { Constructor, HomeAssistant } from "../types"; -import type { HassBaseEl } from "./hass-base-mixin"; export default >(superClass: T) => { class StateDisplayMixin extends superClass { diff --git a/src/state/themes-mixin.ts b/src/state/themes-mixin.ts index adfa0cecb5..4d8ae16e9e 100644 --- a/src/state/themes-mixin.ts +++ b/src/state/themes-mixin.ts @@ -1,12 +1,13 @@ +import type { HASSDomEvent } from "../common/dom/fire_event"; +import type { Constructor, HomeAssistant } from "../types"; +import type { HassBaseEl } from "./hass-base-mixin"; + import { applyThemesOnElement, invalidateThemeCache, } from "../common/dom/apply_themes_on_element"; -import type { HASSDomEvent } from "../common/dom/fire_event"; import { subscribeThemes } from "../data/ws-themes"; -import type { Constructor, HomeAssistant } from "../types"; import { storeState } from "../util/ha-pref-storage"; -import type { HassBaseEl } from "./hass-base-mixin"; declare global { // for add event listener diff --git a/src/state/translations-mixin.ts b/src/state/translations-mixin.ts index 6d84bb0825..5ddb8edd1e 100644 --- a/src/state/translations-mixin.ts +++ b/src/state/translations-mixin.ts @@ -1,12 +1,4 @@ -import { atLeastVersion } from "../common/config/version"; -import { fireEvent } from "../common/dom/fire_event"; import type { LocalizeFunc } from "../common/translations/localize"; -import { computeLocalize } from "../common/translations/localize"; -import { - computeRTLDirection, - setDirectionStyles, -} from "../common/util/compute_rtl"; -import { debounce } from "../common/util/debounce"; import type { FirstWeekday, NumberFormat, @@ -15,20 +7,29 @@ import type { TranslationCategory, TimeZone, } from "../data/translation"; +import type { Constructor, HomeAssistant } from "../types"; +import type { HassBaseEl } from "./hass-base-mixin"; + +import { atLeastVersion } from "../common/config/version"; +import { fireEvent } from "../common/dom/fire_event"; +import { computeLocalize } from "../common/translations/localize"; +import { + computeRTLDirection, + setDirectionStyles, +} from "../common/util/compute_rtl"; +import { debounce } from "../common/util/debounce"; import { getHassTranslations, getHassTranslationsPre109, saveTranslationPreferences, } from "../data/translation"; import { translationMetadata } from "../resources/translations-metadata"; -import type { Constructor, HomeAssistant } from "../types"; import { getLocalLanguage, getTranslation, getUserLocale, } from "../util/common-translation"; import { storeState } from "../util/ha-pref-storage"; -import type { HassBaseEl } from "./hass-base-mixin"; declare global { // for fire event diff --git a/src/state/url-sync-mixin.ts b/src/state/url-sync-mixin.ts index 2ed322f74d..afe5bf818e 100644 --- a/src/state/url-sync-mixin.ts +++ b/src/state/url-sync-mixin.ts @@ -1,9 +1,10 @@ /* eslint-disable no-console */ -import type { PropertyValueMap, ReactiveElement } from "lit"; -import { mainWindow } from "../common/dom/get_main_window"; -import { closeLastDialog } from "../dialogs/make-dialog-manager"; import type { ProvideHassElement } from "../mixins/provide-hass-lit-mixin"; import type { Constructor } from "../types"; +import type { PropertyValueMap, ReactiveElement } from "lit"; + +import { mainWindow } from "../common/dom/get_main_window"; +import { closeLastDialog } from "../dialogs/make-dialog-manager"; const DEBUG = false; diff --git a/src/types.ts b/src/types.ts index 02d50a82ab..9a5ccd2e3b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,14 +1,3 @@ -import type { DurationFormatConstructor } from "@formatjs/intl-durationformat/src/types"; -import type { - Auth, - Connection, - HassConfig, - HassEntities, - HassEntity, - HassServices, - HassServiceTarget, - MessageBase, -} from "home-assistant-js-websocket"; import type { LocalizeFunc } from "./common/translations/localize"; import type { AreaRegistryEntry } from "./data/area_registry"; import type { DeviceRegistryEntry } from "./data/device_registry"; @@ -21,6 +10,17 @@ import type { } from "./data/translation"; import type { Themes } from "./data/ws-themes"; import type { ExternalMessaging } from "./external_app/external_messaging"; +import type { DurationFormatConstructor } from "@formatjs/intl-durationformat/src/types"; +import type { + Auth, + Connection, + HassConfig, + HassEntities, + HassEntity, + HassServices, + HassServiceTarget, + MessageBase, +} from "home-assistant-js-websocket"; declare global { /* eslint-disable no-var, @typescript-eslint/naming-convention */ diff --git a/src/util/common-translation.ts b/src/util/common-translation.ts index 263fba9bb9..bbb9135ba6 100644 --- a/src/util/common-translation.ts +++ b/src/util/common-translation.ts @@ -1,7 +1,8 @@ import type { FrontendLocaleData } from "../data/translation"; +import type { HomeAssistant } from "../types"; + import { fetchTranslationPreferences } from "../data/translation"; import { translationMetadata } from "../resources/translations-metadata"; -import type { HomeAssistant } from "../types"; const BASE_URL = `${__STATIC_PATH__}translations`; const STORAGE = window.localStorage || {}; diff --git a/src/util/custom-panel/load-custom-panel.ts b/src/util/custom-panel/load-custom-panel.ts index 235d153d6e..573ecaa370 100644 --- a/src/util/custom-panel/load-custom-panel.ts +++ b/src/util/custom-panel/load-custom-panel.ts @@ -1,6 +1,7 @@ -import { loadJS, loadModule } from "../../common/dom/load_resource"; import type { CustomPanelConfig } from "../../data/panel_custom"; +import { loadJS, loadModule } from "../../common/dom/load_resource"; + // Make sure we only import every JS-based panel once (HTML import has this built-in) const JS_CACHE = {}; diff --git a/src/util/file_download.ts b/src/util/file_download.ts index 71d9a896df..d7c975edfa 100644 --- a/src/util/file_download.ts +++ b/src/util/file_download.ts @@ -1,4 +1,5 @@ import type { HomeAssistant } from "../types"; + import { isIosApp } from "./is_ios"; export const fileDownload = (href: string, filename = ""): void => { diff --git a/src/util/hass-call-api.ts b/src/util/hass-call-api.ts index 80370abf8b..f82a7c1ad2 100644 --- a/src/util/hass-call-api.ts +++ b/src/util/hass-call-api.ts @@ -1,4 +1,5 @@ import type { Auth } from "home-assistant-js-websocket"; + import { fetchWithAuth } from "./fetch-with-auth"; export const handleFetchPromise = async ( diff --git a/src/util/hass-media-player-model.ts b/src/util/hass-media-player-model.ts index 852fe1baad..c64b06033c 100644 --- a/src/util/hass-media-player-model.ts +++ b/src/util/hass-media-player-model.ts @@ -1,7 +1,8 @@ +import type { HomeAssistant } from "../types"; import type { HassEntity } from "home-assistant-js-websocket"; + import { supportsFeature } from "../common/entity/supports-feature"; import { cleanupMediaTitle } from "../data/media-player"; -import type { HomeAssistant } from "../types"; export default class MediaPlayerEntity { public hass: HomeAssistant; diff --git a/src/util/is_ios.ts b/src/util/is_ios.ts index f685e4d3bd..9597bf3be6 100644 --- a/src/util/is_ios.ts +++ b/src/util/is_ios.ts @@ -1,4 +1,5 @@ import type { HomeAssistant } from "../types"; + import { isSafari } from "./is_safari"; export const isIosApp = (hass: HomeAssistant): boolean => diff --git a/src/util/launch-screen.ts b/src/util/launch-screen.ts index fa11828f3b..c99a2e960c 100644 --- a/src/util/launch-screen.ts +++ b/src/util/launch-screen.ts @@ -1,4 +1,5 @@ import type { TemplateResult } from "lit"; + import { render } from "lit"; export const removeLaunchScreen = () => { diff --git a/src/util/toast-saved-success.ts b/src/util/toast-saved-success.ts index 4a7ea2abcc..8f5dc93666 100644 --- a/src/util/toast-saved-success.ts +++ b/src/util/toast-saved-success.ts @@ -1,4 +1,5 @@ import type { HomeAssistant } from "../types"; + import { showToast } from "./toast"; export const showSaveSuccessToast = (el: HTMLElement, hass: HomeAssistant) => diff --git a/src/util/toast.ts b/src/util/toast.ts index 6cdaa3f709..6418a46e2c 100644 --- a/src/util/toast.ts +++ b/src/util/toast.ts @@ -1,5 +1,6 @@ -import { fireEvent } from "../common/dom/fire_event"; import type { ShowToastParams } from "../managers/notification-manager"; +import { fireEvent } from "../common/dom/fire_event"; + export const showToast = (el: HTMLElement, params: ShowToastParams) => fireEvent(el, "hass-notification", params); diff --git a/yarn.lock b/yarn.lock index b92943d863..9127850ea5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5254,6 +5254,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.29.1": + version: 8.29.1 + resolution: "@typescript-eslint/scope-manager@npm:8.29.1" + dependencies: + "@typescript-eslint/types": "npm:8.29.1" + "@typescript-eslint/visitor-keys": "npm:8.29.1" + checksum: 10/33a02f490b53436729f5ca2e6e0c5b8db72adb455274e5de43bdaada21033e7941aed1d92653321991e186af77f7794dc0ac35d2fce891cdf65a6d3fb192249e + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:8.29.0": version: 8.29.0 resolution: "@typescript-eslint/type-utils@npm:8.29.0" @@ -5276,6 +5286,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.29.1, @typescript-eslint/types@npm:^8.29.0": + version: 8.29.1 + resolution: "@typescript-eslint/types@npm:8.29.1" + checksum: 10/99ff59e7af3728858af9b7fdc0165955bcf5cd2eefeaafabfbdd7951fbc8ad869cbb7bed7bcbed6c3c50a8661333b33364dc1de0a0c8f3c64d5882339a5d30dd + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.29.0": version: 8.29.0 resolution: "@typescript-eslint/typescript-estree@npm:8.29.0" @@ -5294,6 +5311,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.29.1": + version: 8.29.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.29.1" + dependencies: + "@typescript-eslint/types": "npm:8.29.1" + "@typescript-eslint/visitor-keys": "npm:8.29.1" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: 10/dded2ebe4c3287443000e3b825e673d0eddb7c48eb2d373c5b7059ea7dbbeba488d7f1de2e42ed7a9299ccff926a65821f2b5594022b49564026ba01c0cc07ab + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:8.29.0": version: 8.29.0 resolution: "@typescript-eslint/utils@npm:8.29.0" @@ -5309,6 +5344,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:^8.29.0": + version: 8.29.1 + resolution: "@typescript-eslint/utils@npm:8.29.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.29.1" + "@typescript-eslint/types": "npm:8.29.1" + "@typescript-eslint/typescript-estree": "npm:8.29.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10/1d2c85c97a39e063fe490c0cdb6513716e4735bda0bc937475b44d9224074a5070f888dfed1e75f4a91c8f4d825b44fce90b685e07bda391dfeb2553b9b39a5a + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.29.0": version: 8.29.0 resolution: "@typescript-eslint/visitor-keys@npm:8.29.0" @@ -5319,6 +5369,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.29.1": + version: 8.29.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.29.1" + dependencies: + "@typescript-eslint/types": "npm:8.29.1" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/788290c369c13403692d857e0a464b5c2223e1fef28c717b7dbc61140d33697ce43c7d1a7cb7ac585f2012fc702ce2ec489363d34bf566303d3c48fa494803c5 + languageName: node + linkType: hard + "@vaadin/a11y-base@npm:~24.7.2": version: 24.7.2 resolution: "@vaadin/a11y-base@npm:24.7.2" @@ -8313,6 +8373,19 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-perfectionist@npm:4.11.0": + version: 4.11.0 + resolution: "eslint-plugin-perfectionist@npm:4.11.0" + dependencies: + "@typescript-eslint/types": "npm:^8.29.0" + "@typescript-eslint/utils": "npm:^8.29.0" + natural-orderby: "npm:^5.0.0" + peerDependencies: + eslint: ">=8.45.0" + checksum: 10/4f7b570c96b3fa3ce81813e7971e0f1be7707f7e9de4cc898ab81040d09f65e7b05c0964e888c27bdec0f6fa2964b3013a790d0c93e5cf9cb8ec02e3e0db60ca + languageName: node + linkType: hard + "eslint-plugin-unused-imports@npm:4.1.4": version: 4.1.4 resolution: "eslint-plugin-unused-imports@npm:4.1.4" @@ -9696,6 +9769,7 @@ __metadata: eslint-plugin-import: "npm:2.31.0" eslint-plugin-lit: "npm:2.0.0" eslint-plugin-lit-a11y: "npm:4.1.4" + eslint-plugin-perfectionist: "npm:4.11.0" eslint-plugin-unused-imports: "npm:4.1.4" eslint-plugin-wc: "npm:3.0.0" fancy-log: "npm:2.0.0" @@ -11775,6 +11849,13 @@ __metadata: languageName: node linkType: hard +"natural-orderby@npm:^5.0.0": + version: 5.0.0 + resolution: "natural-orderby@npm:5.0.0" + checksum: 10/7620051a2d79af81ac6bce96f6bdec45c291d4acc1d709d62d7a6648b01cda4e751415d63bc71060ce8ab223dbf3ce013f229ee683ea651868f36ea4008d0dbe + languageName: node + linkType: hard + "negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3"