From a69771c1f866adf1812d838c99a6d69827588a06 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 22:33:57 -0400 Subject: [PATCH 01/16] Update dependency @bundle-stats/plugin-webpack-filter to v4.15.0 (#21837) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 38c7ae5a3377..49b6c4c0cd1e 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,7 @@ "@babel/plugin-transform-runtime": "7.25.4", "@babel/preset-env": "7.25.4", "@babel/preset-typescript": "7.24.7", - "@bundle-stats/plugin-webpack-filter": "4.14.2", + "@bundle-stats/plugin-webpack-filter": "4.15.0", "@koa/cors": "5.0.0", "@lokalise/node-api": "12.7.0", "@octokit/auth-oauth-device": "7.1.1", diff --git a/yarn.lock b/yarn.lock index a630b71858f9..cfe58a167487 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1432,12 +1432,12 @@ __metadata: languageName: node linkType: hard -"@bundle-stats/plugin-webpack-filter@npm:4.14.2": - version: 4.14.2 - resolution: "@bundle-stats/plugin-webpack-filter@npm:4.14.2" +"@bundle-stats/plugin-webpack-filter@npm:4.15.0": + version: 4.15.0 + resolution: "@bundle-stats/plugin-webpack-filter@npm:4.15.0" peerDependencies: core-js: ^3.0.0 - checksum: 10/5024a0babd398e66f4a973f41ee521ab756bdb3d35ea994c2a6e4bf9e6fca28715a53e1431e1acd5837debc129ea9e784509d8afafb3ba082a397caaed570225 + checksum: 10/5b3bbc133ccc50a4f2e6e8c7e6e10dacc1c85cb176e934965777a8f1ca7b137707b704b77858d8c4fa9d665a92e0cfc99b1d07791d08c522e023fb3c39d8a705 languageName: node linkType: hard @@ -8920,7 +8920,7 @@ __metadata: "@babel/preset-typescript": "npm:7.24.7" "@babel/runtime": "npm:7.25.4" "@braintree/sanitize-url": "npm:7.1.0" - "@bundle-stats/plugin-webpack-filter": "npm:4.14.2" + "@bundle-stats/plugin-webpack-filter": "npm:4.15.0" "@codemirror/autocomplete": "npm:6.18.0" "@codemirror/commands": "npm:6.6.0" "@codemirror/language": "npm:6.10.2" From 682f5345cc93a61574c52135d6c374224082a031 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 22:35:42 -0400 Subject: [PATCH 02/16] Update dependency marked to v14.1.0 (#21829) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 49b6c4c0cd1e..259a19d81522 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "leaflet-draw": "1.0.4", "lit": "2.8.0", "luxon": "3.5.0", - "marked": "14.0.0", + "marked": "14.1.0", "memoize-one": "6.0.0", "node-vibrant": "3.2.1-alpha.1", "proxy-polyfill": "0.3.2", diff --git a/yarn.lock b/yarn.lock index cfe58a167487..0d2e5b0db9bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9078,7 +9078,7 @@ __metadata: luxon: "npm:3.5.0" magic-string: "npm:0.30.11" map-stream: "npm:0.0.7" - marked: "npm:14.0.0" + marked: "npm:14.1.0" memoize-one: "npm:6.0.0" mocha: "npm:10.5.0" node-vibrant: "npm:3.2.1-alpha.1" @@ -10858,12 +10858,12 @@ __metadata: languageName: node linkType: hard -"marked@npm:14.0.0": - version: 14.0.0 - resolution: "marked@npm:14.0.0" +"marked@npm:14.1.0": + version: 14.1.0 + resolution: "marked@npm:14.1.0" bin: marked: bin/marked.js - checksum: 10/5f69e58e177bde75fb6145127c939c096d05494c5dff92d73af8a550097d6631c82e919f8a375e3743379a2623418151086b925a902a2be123590b887716f2bb + checksum: 10/1a930dd87a3994cc4fcc72c4668c548429d0e6363b8f7660193c106fa1cadcde5c813cfc3fe4be42b9f18b3652ba73469fb6c718215b0dbf8ddb9de2d1f5ab38 languageName: node linkType: hard From f58d3ad6701203d66b16809f346b8814832fc742 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 12:00:26 +0200 Subject: [PATCH 03/16] Bump actions/upload-artifact from 4.3.6 to 4.4.0 (#21850) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.3.6...v4.4.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yaml | 4 ++-- .github/workflows/nightly.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7fb68b29a02c..84d8995cc546 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -89,7 +89,7 @@ jobs: env: IS_TEST: "true" - name: Upload bundle stats - uses: actions/upload-artifact@v4.3.6 + uses: actions/upload-artifact@v4.4.0 with: name: frontend-bundle-stats path: build/stats/*.json @@ -113,7 +113,7 @@ jobs: env: IS_TEST: "true" - name: Upload bundle stats - uses: actions/upload-artifact@v4.3.6 + uses: actions/upload-artifact@v4.4.0 with: name: supervisor-bundle-stats path: build/stats/*.json diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 530361e404f7..805f7c5e94dc 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -57,14 +57,14 @@ jobs: run: tar -czvf translations.tar.gz translations - name: Upload build artifacts - uses: actions/upload-artifact@v4.3.6 + uses: actions/upload-artifact@v4.4.0 with: name: wheels path: dist/home_assistant_frontend*.whl if-no-files-found: error - name: Upload translations - uses: actions/upload-artifact@v4.3.6 + uses: actions/upload-artifact@v4.4.0 with: name: translations path: translations.tar.gz From c40751dadd15f806aa635f070e72caebda86eec4 Mon Sep 17 00:00:00 2001 From: Simon Lamon <32477463+silamon@users.noreply.github.com> Date: Mon, 2 Sep 2024 12:35:28 +0200 Subject: [PATCH 04/16] Add padding to no info badge (#21844) * Add padding to no info badge * Update src/panels/lovelace/badges/hui-entity-badge.ts Co-authored-by: Paul Bottein --------- Co-authored-by: Paul Bottein --- src/panels/lovelace/badges/hui-entity-badge.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/lovelace/badges/hui-entity-badge.ts b/src/panels/lovelace/badges/hui-entity-badge.ts index af5b05e3e9dc..39aa9a193f52 100644 --- a/src/panels/lovelace/badges/hui-entity-badge.ts +++ b/src/panels/lovelace/badges/hui-entity-badge.ts @@ -351,7 +351,7 @@ export class HuiEntityBadge extends LitElement implements LovelaceBadge { .badge.no-info { padding: 0; } - .badge:not(.no-icon) img { + .badge:not(.no-icon):not(.no-info) img { margin-left: -6px; margin-inline-start: -6px; margin-inline-end: initial; From 216dbc4d41830ac9bfde5655b2d0fbfff4c2d917 Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Mon, 2 Sep 2024 13:21:13 +0200 Subject: [PATCH 05/16] Fix section not displayed when empty and string config (#21852) --- src/panels/lovelace/sections/hui-grid-section.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/panels/lovelace/sections/hui-grid-section.ts b/src/panels/lovelace/sections/hui-grid-section.ts index 349521228bc7..fdf9317d7350 100644 --- a/src/panels/lovelace/sections/hui-grid-section.ts +++ b/src/panels/lovelace/sections/hui-grid-section.ts @@ -48,7 +48,10 @@ export class GridSection extends LitElement implements LovelaceSectionElement { private _cardConfigKeys = new WeakMap(); private _getKey(cardConfig: LovelaceCardConfig) { - if (!this._cardConfigKeys.has(cardConfig)) { + if ( + !this._cardConfigKeys.has(cardConfig) && + typeof cardConfig === "object" + ) { this._cardConfigKeys.set(cardConfig, Math.random().toString()); } return this._cardConfigKeys.get(cardConfig)!; From d8013a4db9bdf5ac1dc6dbbe28c21fa84190cc49 Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Mon, 2 Sep 2024 13:21:24 +0200 Subject: [PATCH 06/16] Move edit mode actions next to section block (#21840) --- .../lovelace/sections/hui-grid-section.ts | 38 +---- .../lovelace/views/hui-sections-view.ts | 141 ++++++++++++------ 2 files changed, 97 insertions(+), 82 deletions(-) diff --git a/src/panels/lovelace/sections/hui-grid-section.ts b/src/panels/lovelace/sections/hui-grid-section.ts index fdf9317d7350..8378b3e1736f 100644 --- a/src/panels/lovelace/sections/hui-grid-section.ts +++ b/src/panels/lovelace/sections/hui-grid-section.ts @@ -65,20 +65,6 @@ export class GridSection extends LitElement implements LovelaceSectionElement { const editMode = Boolean(this.lovelace?.editMode && !this.isStrategy); return html` - ${this._config.title || this.lovelace?.editMode - ? html` -

- ${this._config.title || - this.hass.localize( - "ui.panel.lovelace.editor.section.unnamed_section" - )} -

- ` - : nothing} - ${editMode - ? html` -
-
- - - -
-
- ` - : nothing} - ${section} + ${ + sectionConfig?.title || this.lovelace?.editMode + ? html` +
+

+ ${sectionConfig?.title || + this.hass.localize( + "ui.panel.lovelace.editor.section.unnamed_section" + )} +

+ ${editMode + ? html` +
+ + + +
+ ` + : nothing} +
+ ` + : nothing + } + ${section} + `; } @@ -346,25 +367,6 @@ export class SectionsView extends LitElement implements LovelaceViewElement { } } - .section-actions { - position: absolute; - top: 0; - right: 0; - inset-inline-end: 0; - inset-inline-start: initial; - opacity: 1; - display: flex; - align-items: center; - justify-content: center; - transition: opacity 0.2s ease-in-out; - background-color: rgba(var(--rgb-card-background-color), 0.3); - border-radius: 18px; - background: var(--secondary-background-color); - --mdc-icon-button-size: 36px; - --mdc-icon-size: 20px; - color: var(--primary-text-color); - } - .handle { cursor: grab; padding: 8px; @@ -396,6 +398,55 @@ export class SectionsView extends LitElement implements LovelaceViewElement { margin: 16px 8px; text-align: center; } + + .section-header { + position: relative; + height: var(--row-height); + margin-bottom: var(--row-gap); + display: flex; + flex-direction: column; + justify-content: flex-end; + } + + .section-title { + color: var(--primary-text-color); + font-size: 20px; + font-weight: normal; + margin: 0px; + letter-spacing: 0.1px; + line-height: 32px; + text-align: var(--ha-view-sections-title-text-align, start); + min-height: 32px; + box-sizing: border-box; + padding: 0 10px 10px; + } + + .section-title.placeholder { + color: var(--secondary-text-color); + font-style: italic; + } + + .section-actions { + position: absolute; + height: 36px; + bottom: calc(-1 * var(--row-gap) - 2px); + right: 0; + inset-inline-end: 0; + inset-inline-start: initial; + opacity: 1; + display: flex; + align-items: center; + justify-content: center; + transition: opacity 0.2s ease-in-out; + background-color: rgba(var(--rgb-card-background-color), 0.3); + border-radius: var(--ha-card-border-radius, 12px); + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + background: var(--secondary-background-color); + --mdc-icon-button-size: 36px; + --mdc-icon-size: 20px; + color: var(--primary-text-color); + } `; } } From 5613df1d0141adcc102bf3cb26fb6b2c974cef89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 2 Sep 2024 17:21:58 +0200 Subject: [PATCH 07/16] Fix rendering of alerts in markdown when not breaking (#21856) --- gallery/src/pages/misc/ha-markdown.markdown | 3 + gallery/src/pages/misc/ha-markdown.ts | 93 +++++++++++++++++++++ src/components/ha-markdown-element.ts | 20 ++++- 3 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 gallery/src/pages/misc/ha-markdown.markdown create mode 100644 gallery/src/pages/misc/ha-markdown.ts diff --git a/gallery/src/pages/misc/ha-markdown.markdown b/gallery/src/pages/misc/ha-markdown.markdown new file mode 100644 index 000000000000..4e1bd1b6089f --- /dev/null +++ b/gallery/src/pages/misc/ha-markdown.markdown @@ -0,0 +1,3 @@ +--- +title: Markdown +--- diff --git a/gallery/src/pages/misc/ha-markdown.ts b/gallery/src/pages/misc/ha-markdown.ts new file mode 100644 index 000000000000..600a9a4f0229 --- /dev/null +++ b/gallery/src/pages/misc/ha-markdown.ts @@ -0,0 +1,93 @@ +import { css, html, LitElement } from "lit"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-markdown"; + +import { customElement } from "lit/decorators"; + +interface MarkdownContent { + content: string; + breaks: boolean; + allowSvg: boolean; + lazyImages: boolean; +} + +const mdContentwithDefaults = (md: Partial) => + ({ + breaks: false, + allowSvg: false, + lazyImages: false, + ...md, + }) as MarkdownContent; + +const generateContent = (md) => ` +\`\`\`json +${JSON.stringify({ ...md, content: undefined })} +\`\`\` + +--- + +${md.content} +`; + +const markdownContents: MarkdownContent[] = [ + mdContentwithDefaults({ + content: "_Hello_ **there** 👋, ~~nice~~ of you ||to|| show up.", + }), + ...[true, false].map((breaks) => + mdContentwithDefaults({ + breaks, + content: ` +![image](https://img.shields.io/badge/markdown-rendering-brightgreen) +![image](https://img.shields.io/badge/markdown-rendering-blue) + +> [!TIP] +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dictum quis ante eu eleifend. Integer sed [consectetur est, nec elementum magna](#). Fusce lobortis lectus ac rutrum tincidunt. Quisque suscipit gravida ante, in convallis risus vulputate non. + +key | description +-- | -- +lorem | ipsum + +- list item 1 +- list item 2 + + + `, + }) + ), +]; + +@customElement("demo-misc-ha-markdown") +export class DemoMiscMarkdown extends LitElement { + protected render() { + return html` +
+ ${markdownContents.map( + (md) => + html` + + ` + )} +
+ `; + } + + static get styles() { + return css` + ha-card { + margin: 12px; + padding: 12px; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "demo-misc-ha-markdown": DemoMiscMarkdown; + } +} diff --git a/src/components/ha-markdown-element.ts b/src/components/ha-markdown-element.ts index 5ca7fa66b262..e291a54cce35 100644 --- a/src/components/ha-markdown-element.ts +++ b/src/components/ha-markdown-element.ts @@ -96,7 +96,25 @@ class HaMarkdownElement extends ReactiveElement { haAlertNode.append( ...Array.from(node.childNodes) - .map((child) => Array.from(child.childNodes)) + .map((child) => { + const arr = Array.from(child.childNodes); + if (!this.breaks && arr.length) { + // When we are not breaking, the first line of the blockquote is not considered, + // so we need to adjust the first child text content + const firstChild = arr[0]; + if ( + firstChild.nodeType === Node.TEXT_NODE && + firstChild.textContent === gitHubAlertMatch.input && + firstChild.textContent?.includes("\n") + ) { + firstChild.textContent = firstChild.textContent + .split("\n") + .slice(1) + .join("\n"); + } + } + return arr; + }) .reduce((acc, val) => acc.concat(val), []) .filter( (childNode) => From c709059c00e76e279bd53f700e72f1ba0cfdd9fb Mon Sep 17 00:00:00 2001 From: Simon Lamon <32477463+silamon@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:23:46 +0200 Subject: [PATCH 08/16] Perform action on every entity (#21845) --- src/data/script_i18n.ts | 6 ++++++ src/translations/en.json | 1 + 2 files changed, 7 insertions(+) diff --git a/src/data/script_i18n.ts b/src/data/script_i18n.ts index 150afc42206a..64852bc6e779 100644 --- a/src/data/script_i18n.ts +++ b/src/data/script_i18n.ts @@ -127,6 +127,12 @@ const tryDescribeAction = ( targets.push( computeEntityRegistryName(hass, entityReg) || targetThing ); + } else if (targetThing === "all") { + targets.push( + hass.localize( + `${actionTranslationBaseKey}.service.description.target_every_entity` + ) + ); } else { targets.push( hass.localize( diff --git a/src/translations/en.json b/src/translations/en.json index 97fd46952ddb..19e2c300ffd7 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -3311,6 +3311,7 @@ "service_name_no_targets": "{domain} ''{name}''", "service": "Perform an action", "target_template": "templated {name}", + "target_every_entity": "every entity", "target_unknown_entity": "unknown entity", "target_unknown_device": "unknown device", "target_unknown_area": "unknown area", From a09f44dcd2b887b3a40116caa4705045dae005ab Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Mon, 2 Sep 2024 17:29:27 +0200 Subject: [PATCH 09/16] Bumped version to 20240902.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7bcb25bd936a..51e7b1af1429 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20240829.0" +version = "20240902.0" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md" From fa8b3f006dae6def842fcb603e278441e2fb8066 Mon Sep 17 00:00:00 2001 From: Wendelin <12148533+wendevlin@users.noreply.github.com> Date: Tue, 3 Sep 2024 09:35:17 +0200 Subject: [PATCH 10/16] Fix autofill for ha-selector-text (#21861) --- src/components/ha-selector/ha-selector-text.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/ha-selector/ha-selector-text.ts b/src/components/ha-selector/ha-selector-text.ts index 89d336c10274..8e76aa6bbdc3 100644 --- a/src/components/ha-selector/ha-selector-text.ts +++ b/src/components/ha-selector/ha-selector-text.ts @@ -82,6 +82,7 @@ export class HaTextSelector extends LitElement { .disabled=${this.disabled} .type=${this._unmaskedPassword ? "text" : this.selector.text?.type} @input=${this._handleChange} + @change=${this._handleChange} .label=${this.label || ""} .prefix=${this.selector.text?.prefix} .suffix=${this.selector.text?.type === "password" From 020904f8f6eb709b6c0d098ec9dc6f70c638c974 Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Tue, 3 Sep 2024 10:41:15 +0200 Subject: [PATCH 11/16] Hide section title when the section is hidden (#21862) --- src/panels/lovelace/views/hui-sections-view.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/lovelace/views/hui-sections-view.ts b/src/panels/lovelace/views/hui-sections-view.ts index a1053fe35e14..eb806b625fa2 100644 --- a/src/panels/lovelace/views/hui-sections-view.ts +++ b/src/panels/lovelace/views/hui-sections-view.ts @@ -334,7 +334,7 @@ export class SectionsView extends LitElement implements LovelaceViewElement { grid-column: span var(--column-span); } - .section:not(:has(> *:not([hidden]))) { + .section:has(hui-section[hidden]) { display: none; } From e353aaa3397de0b5ec2e8653afda5e54386a5aae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:35:44 -0400 Subject: [PATCH 12/16] Update vaadinWebComponents monorepo to v24.4.7 (#21854) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- yarn.lock | 170 +++++++++++++++++++++++++-------------------------- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/package.json b/package.json index 259a19d81522..2f9680b8ca9c 100644 --- a/package.json +++ b/package.json @@ -88,8 +88,8 @@ "@polymer/paper-tabs": "3.1.0", "@polymer/polymer": "3.5.1", "@thomasloven/round-slider": "0.6.0", - "@vaadin/combo-box": "24.4.6", - "@vaadin/vaadin-themable-mixin": "24.4.6", + "@vaadin/combo-box": "24.4.7", + "@vaadin/vaadin-themable-mixin": "24.4.7", "@vibrant/color": "3.2.1-alpha.1", "@vibrant/core": "3.2.1-alpha.1", "@vibrant/quantizer-mmcq": "3.2.1-alpha.1", diff --git a/yarn.lock b/yarn.lock index 0d2e5b0db9bf..a0977d9d61c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4661,129 +4661,129 @@ __metadata: languageName: node linkType: hard -"@vaadin/a11y-base@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/a11y-base@npm:24.4.6" +"@vaadin/a11y-base@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/a11y-base@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" "@polymer/polymer": "npm:^3.0.0" - "@vaadin/component-base": "npm:~24.4.6" + "@vaadin/component-base": "npm:~24.4.7" lit: "npm:^3.0.0" - checksum: 10/46acdd62f5485b7b3dce8e746123a58fe4c6c619d51d6fdf5c3d1be52eb5939b22161c1fc321f2c69682950c79326f97ec5684dfd83b3ab09b7d65a16035647f + checksum: 10/a6b73c3ad697c5b511e0695004f1a1d1bcea025be77f277a5b1a525c686f8b91d1b02930d4318283d30849c4afdedf57b955540f43c80ff43a4392460b3603dd languageName: node linkType: hard -"@vaadin/combo-box@npm:24.4.6": - version: 24.4.6 - resolution: "@vaadin/combo-box@npm:24.4.6" +"@vaadin/combo-box@npm:24.4.7": + version: 24.4.7 + resolution: "@vaadin/combo-box@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" "@polymer/polymer": "npm:^3.0.0" - "@vaadin/a11y-base": "npm:~24.4.6" - "@vaadin/component-base": "npm:~24.4.6" - "@vaadin/field-base": "npm:~24.4.6" - "@vaadin/input-container": "npm:~24.4.6" - "@vaadin/item": "npm:~24.4.6" - "@vaadin/lit-renderer": "npm:~24.4.6" - "@vaadin/overlay": "npm:~24.4.6" - "@vaadin/vaadin-lumo-styles": "npm:~24.4.6" - "@vaadin/vaadin-material-styles": "npm:~24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:~24.4.6" - checksum: 10/437cf54c1198f347786ef864cd77a52ac9bc9f4dba527c25c678c5a5ca5c0c41e8359db1d24430a053cb70b69fde68a061112247ed6b8ee1ffb8859937624a28 + "@vaadin/a11y-base": "npm:~24.4.7" + "@vaadin/component-base": "npm:~24.4.7" + "@vaadin/field-base": "npm:~24.4.7" + "@vaadin/input-container": "npm:~24.4.7" + "@vaadin/item": "npm:~24.4.7" + "@vaadin/lit-renderer": "npm:~24.4.7" + "@vaadin/overlay": "npm:~24.4.7" + "@vaadin/vaadin-lumo-styles": "npm:~24.4.7" + "@vaadin/vaadin-material-styles": "npm:~24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:~24.4.7" + checksum: 10/d99b9f7261279b75493de192c555e2125edd22544bbe5d4acdd1859c4f0b942848c9655b72dab8e5d85e5103b3c72425a43482acbfc75be70a20dd00908281a4 languageName: node linkType: hard -"@vaadin/component-base@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/component-base@npm:24.4.6" +"@vaadin/component-base@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/component-base@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" "@polymer/polymer": "npm:^3.0.0" "@vaadin/vaadin-development-mode-detector": "npm:^2.0.0" "@vaadin/vaadin-usage-statistics": "npm:^2.1.0" lit: "npm:^3.0.0" - checksum: 10/3849183ed62c6742cba4923ecc6d49edede0d85b5d4edd7c9efb37ee260468072065d9cf3e66b741de01f53662e0551049069ee79caf65b220d5db1e932ebe5e + checksum: 10/c84bdcdf85ec46717e575af1c6d570cd81bbc22524024d769fc427df79cad603b1c3aca8015ff0c764a61ed3da274242da3c100d2dfc1529e065fa35af389daa languageName: node linkType: hard -"@vaadin/field-base@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/field-base@npm:24.4.6" +"@vaadin/field-base@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/field-base@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" "@polymer/polymer": "npm:^3.0.0" - "@vaadin/a11y-base": "npm:~24.4.6" - "@vaadin/component-base": "npm:~24.4.6" + "@vaadin/a11y-base": "npm:~24.4.7" + "@vaadin/component-base": "npm:~24.4.7" lit: "npm:^3.0.0" - checksum: 10/27fb01628a3ef83142c4de854e92940e8edcb136af9e75c4687fa627a017f6a36861069a22306581019b3ee9dce133e7b38b991886755f83ed0a359cebb51ab1 + checksum: 10/8e83d40ef8d2ddd2171a3cb6426554043cd7ac5937643cfc63f6386b80cb84fe2610282d37b62a71c4f6957860d6baa24a08f201b740bd887eabf0c61e310178 languageName: node linkType: hard -"@vaadin/icon@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/icon@npm:24.4.6" +"@vaadin/icon@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/icon@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" "@polymer/polymer": "npm:^3.0.0" - "@vaadin/component-base": "npm:~24.4.6" - "@vaadin/vaadin-lumo-styles": "npm:~24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:~24.4.6" + "@vaadin/component-base": "npm:~24.4.7" + "@vaadin/vaadin-lumo-styles": "npm:~24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:~24.4.7" lit: "npm:^3.0.0" - checksum: 10/4baa72e80f6dd9c12e8c6a3681a90eb602289a5f3f1c90bd921a0c6904f5406abdc2034ef1fad66d7ddfbd8789ab66c26d4d43aedfbd135a97da09e3e5914fcf + checksum: 10/f094ad8137e63df193bdf3952d7419ac68bf02d2b0777598062a4e609568bffa931af5a16b07566b1ef09f88ba99e1b9d72d94cb13c04f69a4079c0a296fd684 languageName: node linkType: hard -"@vaadin/input-container@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/input-container@npm:24.4.6" +"@vaadin/input-container@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/input-container@npm:24.4.7" dependencies: "@polymer/polymer": "npm:^3.0.0" - "@vaadin/component-base": "npm:~24.4.6" - "@vaadin/vaadin-lumo-styles": "npm:~24.4.6" - "@vaadin/vaadin-material-styles": "npm:~24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:~24.4.6" + "@vaadin/component-base": "npm:~24.4.7" + "@vaadin/vaadin-lumo-styles": "npm:~24.4.7" + "@vaadin/vaadin-material-styles": "npm:~24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:~24.4.7" lit: "npm:^3.0.0" - checksum: 10/5ae6a9e951e7423127443dd5b1c990cc78be581c067787839dceb58927abac3a4615f8b9cf15b61d4b7f50d4ae603be5e402f943b21930d734d66e4924f869c4 + checksum: 10/55e5e695724a5a1456fbfb8060dd855d82723d5bf22356e2387d7b88ad2f5778b5a84f3fbae144a6568922eb0476d7b972ee6dac0a635e64874fa50281766685 languageName: node linkType: hard -"@vaadin/item@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/item@npm:24.4.6" +"@vaadin/item@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/item@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" "@polymer/polymer": "npm:^3.0.0" - "@vaadin/a11y-base": "npm:~24.4.6" - "@vaadin/component-base": "npm:~24.4.6" - "@vaadin/vaadin-lumo-styles": "npm:~24.4.6" - "@vaadin/vaadin-material-styles": "npm:~24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:~24.4.6" - checksum: 10/628757ac9c28f6440dec7a73143e2bce5ae8b59d7840b3a8219d107eab3e835a5ae2725e0c957e922582d9566c760bc7360a5ebdad459a74added914c072a9ec + "@vaadin/a11y-base": "npm:~24.4.7" + "@vaadin/component-base": "npm:~24.4.7" + "@vaadin/vaadin-lumo-styles": "npm:~24.4.7" + "@vaadin/vaadin-material-styles": "npm:~24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:~24.4.7" + checksum: 10/4f08a165ac81c065d4f2a305ee4d89d35a33fa30f584266ff2f230936bf3b75e144530a6ee9667be8a5325cd945bfd55fb2a36c28fd77baca4a656420206eb15 languageName: node linkType: hard -"@vaadin/lit-renderer@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/lit-renderer@npm:24.4.6" +"@vaadin/lit-renderer@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/lit-renderer@npm:24.4.7" dependencies: lit: "npm:^3.0.0" - checksum: 10/e0063bf2a31caab3ff55414fa6937a864b494e6efe1178a24d17f7196d71e137fddf8adf458523f534f707f17f5e51b16b449b79c27c38b865c5c4eec97b5805 + checksum: 10/1548e54ededd4c26aa0eef27c460c44379b1e6497571e157a1d8e2a58bb645a638d7a7952375848f977181bbcedfec115ba893181f87b7431d031c7d64c3db4b languageName: node linkType: hard -"@vaadin/overlay@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/overlay@npm:24.4.6" +"@vaadin/overlay@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/overlay@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" "@polymer/polymer": "npm:^3.0.0" - "@vaadin/a11y-base": "npm:~24.4.6" - "@vaadin/component-base": "npm:~24.4.6" - "@vaadin/vaadin-lumo-styles": "npm:~24.4.6" - "@vaadin/vaadin-material-styles": "npm:~24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:~24.4.6" + "@vaadin/a11y-base": "npm:~24.4.7" + "@vaadin/component-base": "npm:~24.4.7" + "@vaadin/vaadin-lumo-styles": "npm:~24.4.7" + "@vaadin/vaadin-material-styles": "npm:~24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:~24.4.7" lit: "npm:^3.0.0" - checksum: 10/cdd92fd6b01e643e638b03072fffa8542ee1f00ef3966e9b2c3fdc34309a94451dfeeac72c611356a1a63f2f0398ea7f6da2902afd095668001161d77fa0cd46 + checksum: 10/761edb1b1defb30fd32132847a60b6fffc9673956a2344480a9b73c954477fce6e3689866c9998d8e6d52cd91db345fd0ff1e18e39c8cb79697b4f285a7cf68f languageName: node linkType: hard @@ -4794,36 +4794,36 @@ __metadata: languageName: node linkType: hard -"@vaadin/vaadin-lumo-styles@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/vaadin-lumo-styles@npm:24.4.6" +"@vaadin/vaadin-lumo-styles@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/vaadin-lumo-styles@npm:24.4.7" dependencies: "@polymer/polymer": "npm:^3.0.0" - "@vaadin/component-base": "npm:~24.4.6" - "@vaadin/icon": "npm:~24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:~24.4.6" - checksum: 10/f1dd83c36850ecf3951e484e9d57b192b56a55c78e978f587ea5fb16607d4ef257013b04793a90791f85cf66b7bfa613edb208826a607fe1afb21fd39eb5491d + "@vaadin/component-base": "npm:~24.4.7" + "@vaadin/icon": "npm:~24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:~24.4.7" + checksum: 10/e792225fdf37a440c864158263df4b1a8315ddc7fce7d983bc74aeaf0a726b046e5688866d80c860936c64554c2ddb446de44242a65ebf1f27248e0a338bf02c languageName: node linkType: hard -"@vaadin/vaadin-material-styles@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/vaadin-material-styles@npm:24.4.6" +"@vaadin/vaadin-material-styles@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/vaadin-material-styles@npm:24.4.7" dependencies: "@polymer/polymer": "npm:^3.0.0" - "@vaadin/component-base": "npm:~24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:~24.4.6" - checksum: 10/c1add552163cf7e67633722d2eb9df48dce68b5519587befd84a3678e5f1972b5286f065613015c7b11961e96cf8b41266f0e1b0e63a2648df18ec14179f51aa + "@vaadin/component-base": "npm:~24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:~24.4.7" + checksum: 10/2de8ba3be9def3c63c4d25dfec07db4df7efcab5155601788204a443762d78729218b37eb18854933a60d27981affd5f87168f82e3e6a6533db96e147a367f1f languageName: node linkType: hard -"@vaadin/vaadin-themable-mixin@npm:24.4.6, @vaadin/vaadin-themable-mixin@npm:~24.4.6": - version: 24.4.6 - resolution: "@vaadin/vaadin-themable-mixin@npm:24.4.6" +"@vaadin/vaadin-themable-mixin@npm:24.4.7, @vaadin/vaadin-themable-mixin@npm:~24.4.7": + version: 24.4.7 + resolution: "@vaadin/vaadin-themable-mixin@npm:24.4.7" dependencies: "@open-wc/dedupe-mixin": "npm:^1.3.0" lit: "npm:^3.0.0" - checksum: 10/ae91d1f870e16f4296d8a7dee2ee6765a1e2036a4eb8e5189e86ec20307d9cf196eb7bb50c1f220450a2d74e67fe4899d1ce940c320ea5957164c4f27546c52b + checksum: 10/aef690ca7d4ab90da0e0e3b0cb4e12a03a27b93e13481023394c118d64388e44606072bd640beece35ba21dddd2b8417261ca1ab05934a270c7facf7f0827e54 languageName: node linkType: hard @@ -9013,8 +9013,8 @@ __metadata: "@types/webspeechapi": "npm:0.0.29" "@typescript-eslint/eslint-plugin": "npm:7.18.0" "@typescript-eslint/parser": "npm:7.18.0" - "@vaadin/combo-box": "npm:24.4.6" - "@vaadin/vaadin-themable-mixin": "npm:24.4.6" + "@vaadin/combo-box": "npm:24.4.7" + "@vaadin/vaadin-themable-mixin": "npm:24.4.7" "@vibrant/color": "npm:3.2.1-alpha.1" "@vibrant/core": "npm:3.2.1-alpha.1" "@vibrant/quantizer-mmcq": "npm:3.2.1-alpha.1" From ab534933fc5de572ce917fe20a6e76f4f87f1bb1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:37:28 -0400 Subject: [PATCH 13/16] Update dependency @babel/runtime to v7.25.6 (#21847) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 2f9680b8ca9c..a9e4c71f018d 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "license": "Apache-2.0", "type": "module", "dependencies": { - "@babel/runtime": "7.25.4", + "@babel/runtime": "7.25.6", "@braintree/sanitize-url": "7.1.0", "@codemirror/autocomplete": "6.18.0", "@codemirror/commands": "6.6.0", diff --git a/yarn.lock b/yarn.lock index a0977d9d61c7..ca63111cf016 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1379,12 +1379,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:7.25.4, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4": - version: 7.25.4 - resolution: "@babel/runtime@npm:7.25.4" +"@babel/runtime@npm:7.25.6, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4": + version: 7.25.6 + resolution: "@babel/runtime@npm:7.25.6" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10/70d2a420c24a3289ea6c4addaf3a1c4186bc3d001c92445faa3cd7601d7d2fbdb32c63b3a26b9771e20ff2f511fa76b726bf256f823cdb95bc37b8eadbd02f70 + checksum: 10/0c4134734deb20e1005ffb9165bf342e1074576621b246d8e5e41cc7cb315a885b7d98950fbf5c63619a2990a56ae82f444d35fe8c4691a0b70c2fe5673667dc languageName: node linkType: hard @@ -8918,7 +8918,7 @@ __metadata: "@babel/plugin-transform-runtime": "npm:7.25.4" "@babel/preset-env": "npm:7.25.4" "@babel/preset-typescript": "npm:7.24.7" - "@babel/runtime": "npm:7.25.4" + "@babel/runtime": "npm:7.25.6" "@braintree/sanitize-url": "npm:7.1.0" "@bundle-stats/plugin-webpack-filter": "npm:4.15.0" "@codemirror/autocomplete": "npm:6.18.0" From 2c975d4f41ed7a70f9762abee528ef443e4683c9 Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Tue, 3 Sep 2024 18:20:55 +0200 Subject: [PATCH 14/16] Add advanced yaml only row_span option for sections (#21833) --- src/data/lovelace/config/section.ts | 1 + src/panels/lovelace/views/hui-sections-view.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/data/lovelace/config/section.ts b/src/data/lovelace/config/section.ts index 4c57cc63e42a..d9f10655307b 100644 --- a/src/data/lovelace/config/section.ts +++ b/src/data/lovelace/config/section.ts @@ -6,6 +6,7 @@ export interface LovelaceBaseSectionConfig { title?: string; visibility?: Condition[]; column_span?: number; + row_span?: number; } export interface LovelaceSectionConfig extends LovelaceBaseSectionConfig { diff --git a/src/panels/lovelace/views/hui-sections-view.ts b/src/panels/lovelace/views/hui-sections-view.ts index eb806b625fa2..6a4851ab0e9c 100644 --- a/src/panels/lovelace/views/hui-sections-view.ts +++ b/src/panels/lovelace/views/hui-sections-view.ts @@ -166,6 +166,8 @@ export class SectionsView extends LitElement implements LovelaceViewElement { maxColumnCount ); + const rowSpan = sectionConfig?.row_span || 1; + (section as any).itemPath = [idx]; return html` @@ -173,6 +175,7 @@ export class SectionsView extends LitElement implements LovelaceViewElement { class="section" style=${styleMap({ "--column-span": columnSpan, + "--row-span": rowSpan, })} > ${ @@ -332,6 +335,7 @@ export class SectionsView extends LitElement implements LovelaceViewElement { .section { border-radius: var(--ha-card-border-radius, 12px); grid-column: span var(--column-span); + grid-row: span var(--row-span); } .section:has(hui-section[hidden]) { From 91a2f2cf244dcc4523787a1c3f3282bddc5fc6d5 Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Tue, 3 Sep 2024 18:37:42 +0200 Subject: [PATCH 15/16] Bumped version to 20240903.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 51e7b1af1429..c8df9f064293 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20240902.0" +version = "20240903.0" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md" From 94f186c4364a565ec692e0dad4dd34a8a6a5c9e2 Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Tue, 3 Sep 2024 18:51:49 +0200 Subject: [PATCH 16/16] Bumped version to 20240903.1 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c8df9f064293..8b0f85c49551 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20240903.0" +version = "20240903.1" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md"