diff --git a/package.json b/package.json index 9a3d97508a..2a2a12d83b 100644 --- a/package.json +++ b/package.json @@ -195,7 +195,7 @@ "eslint": "8.55.0", "eslint-config-airbnb-base": "15.0.0", "eslint-config-airbnb-typescript": "17.1.0", - "eslint-config-prettier": "9.0.0", + "eslint-config-prettier": "9.1.0", "eslint-import-resolver-webpack": "0.13.8", "eslint-plugin-disable": "2.0.3", "eslint-plugin-import": "2.29.0", diff --git a/pyproject.toml b/pyproject.toml index ef6f7a2408..72f8dec3af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20231205.0" +version = "20231206.0" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md" diff --git a/src/auth/ha-authorize.ts b/src/auth/ha-authorize.ts index 24ae1f190c..6af166f067 100644 --- a/src/auth/ha-authorize.ts +++ b/src/auth/ha-authorize.ts @@ -63,6 +63,7 @@ export class HaAuthorize extends litLocalizeLiteMixin(LitElement) { ha-authorize ha-alert { display: block; margin: 16px 0; + background-color: var(--primary-background-color, #fafafa); } { + e.srcEvent.stopPropagation(); + e.srcEvent.preventDefault(); + if (this.disabled || this.readonly) return; + const percentage = this._getPercentageFromEvent(e); + const raw = this._percentageToValue(percentage); + this._activeSlider = this._findActiveSlider(raw); + const bounded = this._boundedValue(raw); + this._setActiveValue(bounded); + const stepped = this._steppedValue(bounded); + if (this._activeSlider) { + fireEvent(this, `${this._activeSlider}-changing`, { value: stepped }); + } + panRecognizer.set({ enable: true }); + }); + + this._mc.on("pressup", (e) => { + e.srcEvent.stopPropagation(); + e.srcEvent.preventDefault(); + const percentage = this._getPercentageFromEvent(e); + const raw = this._percentageToValue(percentage); + const bounded = this._boundedValue(raw); + const stepped = this._steppedValue(bounded); + this._setActiveValue(stepped); + if (this._activeSlider) { + fireEvent(this, `${this._activeSlider}-changing`, { + value: undefined, + }); + fireEvent(this, `${this._activeSlider}-changed`, { value: stepped }); + } + this._activeSlider = undefined; + }); + this._mc.on("pan", (e) => { e.srcEvent.stopPropagation(); e.srcEvent.preventDefault(); @@ -271,6 +321,9 @@ export class HaControlCircularSlider extends LitElement { this._mc.on("pancancel", () => { if (this.disabled || this.readonly) return; this._activeSlider = undefined; + if (pressToActivate) { + panRecognizer.set({ enable: false }); + } }); this._mc.on("panmove", (e) => { if (this.disabled || this.readonly) return; @@ -297,6 +350,9 @@ export class HaControlCircularSlider extends LitElement { fireEvent(this, `${this._activeSlider}-changed`, { value: stepped }); } this._activeSlider = undefined; + if (pressToActivate) { + panRecognizer.set({ enable: false }); + } }); this._mc.on("singletap", (e) => { if (this.disabled || this.readonly) return; @@ -315,6 +371,9 @@ export class HaControlCircularSlider extends LitElement { this._lastSlider = this._activeSlider; this.shadowRoot?.getElementById("#slider")?.focus(); this._activeSlider = undefined; + if (pressToActivate) { + panRecognizer.set({ enable: false }); + } }); } } diff --git a/src/components/media-player/dialog-media-player-browse.ts b/src/components/media-player/dialog-media-player-browse.ts index 47df56ca4c..fd8bdba673 100644 --- a/src/components/media-player/dialog-media-player-browse.ts +++ b/src/components/media-player/dialog-media-player-browse.ts @@ -58,6 +58,7 @@ class DialogMediaPlayerBrowse extends LitElement { this._navigateIds = undefined; this._currentItem = undefined; this._preferredLayout = "auto"; + this.classList.remove("opened"); fireEvent(this, "dialog-closed", { dialog: this.localName }); } @@ -79,6 +80,7 @@ class DialogMediaPlayerBrowse extends LitElement { ) : this._currentItem.title} @closed=${this.closeDialog} + @opened=${this._dialogOpened} > ${this._navigateIds.length > 1 @@ -167,6 +169,10 @@ class DialogMediaPlayerBrowse extends LitElement { `; } + private _dialogOpened() { + this.classList.add("opened"); + } + private async _handleMenuAction(ev: CustomEvent) { switch (ev.detail.index) { case 0: @@ -217,10 +223,13 @@ class DialogMediaPlayerBrowse extends LitElement { ha-media-player-browse { --media-browser-max-height: calc(100vh - 65px); - height: calc(100vh - 65px); direction: ltr; } + :host(.opened) ha-media-player-browse { + height: calc(100vh - 65px); + } + @media (min-width: 800px) { ha-dialog { --mdc-dialog-max-width: 800px; @@ -231,7 +240,6 @@ class DialogMediaPlayerBrowse extends LitElement { ha-media-player-browse { position: initial; --media-browser-max-height: 100vh - 137px; - height: 100vh - 137px; width: 700px; } } diff --git a/src/dialogs/more-info/controls/more-info-update.ts b/src/dialogs/more-info/controls/more-info-update.ts index 9da33d5780..cb62294078 100644 --- a/src/dialogs/more-info/controls/more-info-update.ts +++ b/src/dialogs/more-info/controls/more-info-update.ts @@ -103,8 +103,10 @@ class MoreInfoUpdate extends LitElement { : ""} ${supportsFeature(this.stateObj!, UPDATE_SUPPORT_RELEASE_NOTES) && !this._error - ? this._releaseNotes === undefined - ? html`` + ? !this._releaseNotes + ? html`
+ +
` : html`
@@ -254,9 +256,10 @@ class MoreInfoUpdate extends LitElement { a { color: var(--primary-color); } - ha-circular-progress { - width: 100%; + .flex.center { + display: flex; justify-content: center; + align-items: center; } mwc-linear-progress { margin-bottom: -8px; diff --git a/src/panels/config/integrations/dialog-add-integration.ts b/src/panels/config/integrations/dialog-add-integration.ts index f2c70e90d6..14b1ed581c 100644 --- a/src/panels/config/integrations/dialog-add-integration.ts +++ b/src/panels/config/integrations/dialog-add-integration.ts @@ -449,7 +449,9 @@ class AddIntegrationDialog extends LitElement { > ` - : html``} `; + : html`
+ +
`} `; } private _keyFunction = (integration: IntegrationListItem) => @@ -682,10 +684,12 @@ class AddIntegrationDialog extends LitElement { p > a { color: var(--primary-color); } - ha-circular-progress { - width: 100%; + .flex.center { display: flex; justify-content: center; + align-items: center; + } + ha-circular-progress { margin: 24px 0; } mwc-list { 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 05095473fc..0201e8e4fc 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 @@ -236,7 +236,7 @@ class ZHAAddDevicesPage extends LitElement { color: var(--error-color); } ha-circular-progress { - padding: 20px; + margin: 20px; } .searching { margin-top: 20px; diff --git a/src/panels/lovelace/cards/hui-humidifier-card.ts b/src/panels/lovelace/cards/hui-humidifier-card.ts index 54264b7908..445f02c935 100644 --- a/src/panels/lovelace/cards/hui-humidifier-card.ts +++ b/src/panels/lovelace/cards/hui-humidifier-card.ts @@ -127,6 +127,7 @@ export class HuiHumidifierCard extends LitElement implements LovelaceCard {

${name}

${name}

+
> = {}; @state() private _selectTargetTemperature: Target = "low"; @@ -291,8 +294,8 @@ export class HaStateControlClimateTemperature extends LitElement { } const containerSizeClass = this._sizeController.value - ? { [this._sizeController.value]: true } - : {}; + ? ` ${this._sizeController.value}` + : ""; if ( supportsTargetTemperature && @@ -311,13 +314,14 @@ export class HaStateControlClimateTemperature extends LitElement { return html`
=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 276b0b5b5b19066962a9ff3a16a553bdad28e1c0a2ea33a1d75d65c0428bb7b37f6e85ac111ebefcc9bdefb544385856dbe6eaeda5279c639e5549c113d27dda + checksum: 411e3b3b1c7aa04e3e0f20d561271b3b909014956c4dba51c878bf1a23dbb8c800a3be235c46c4732c70827276e540b6eed4636d9b09b444fd0a8e07f0fcd830 languageName: node linkType: hard @@ -9712,7 +9712,7 @@ __metadata: eslint: "npm:8.55.0" eslint-config-airbnb-base: "npm:15.0.0" eslint-config-airbnb-typescript: "npm:17.1.0" - eslint-config-prettier: "npm:9.0.0" + eslint-config-prettier: "npm:9.1.0" eslint-import-resolver-webpack: "npm:0.13.8" eslint-plugin-disable: "npm:2.0.3" eslint-plugin-import: "npm:2.29.0"