diff --git a/src/components/ha-dialog.ts b/src/components/ha-dialog.ts index 080dc647d9..76007a3cc1 100644 --- a/src/components/ha-dialog.ts +++ b/src/components/ha-dialog.ts @@ -40,6 +40,21 @@ export class HaDialog extends DialogBase { this.suppressDefaultPressSelector, SUPPRESS_DEFAULT_PRESS_SELECTOR, ].join(", "); + this._updateScrolledAttribute(); + this.contentElement?.addEventListener("scroll", this._onScroll); + } + + disconnectedCallback(): void { + this.contentElement.removeEventListener("scroll", this._onScroll); + } + + private _onScroll = () => { + this._updateScrolledAttribute(); + }; + + private _updateScrolledAttribute() { + if (!this.contentElement) return; + this.toggleAttribute("scrolled", this.contentElement.scrollTop !== 0); } static override styles = [ diff --git a/src/dialogs/more-info/ha-more-info-dialog.ts b/src/dialogs/more-info/ha-more-info-dialog.ts index 30beffa90b..a3cae303a4 100644 --- a/src/dialogs/more-info/ha-more-info-dialog.ts +++ b/src/dialogs/more-info/ha-more-info-dialog.ts @@ -421,7 +421,7 @@ export class MoreInfoDialog extends LitElement { outline: none; } - .heading { + ha-dialog[scrolled] .heading { border-bottom: 1px solid var(--mdc-dialog-scroll-divider-color, rgba(0, 0, 0, 0.12)); }