From 8ae9edb1ef01f2359225813c8851c4ea46cfde1a Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Wed, 8 Oct 2025 17:39:15 +0200 Subject: [PATCH] Fix ha dialog default size (#27415) * Don't hardcode width height on mobile for all dialogs * Don't set min width on desktop --- src/components/ha-dialog.ts | 16 ++-------------- src/resources/styles.ts | 3 +++ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/components/ha-dialog.ts b/src/components/ha-dialog.ts index e20c2214b2..5d7f6e2d3c 100644 --- a/src/components/ha-dialog.ts +++ b/src/components/ha-dialog.ts @@ -121,7 +121,7 @@ export class HaDialog extends DialogBase { position: var(--dialog-surface-position, relative); top: var(--dialog-surface-top); margin-top: var(--dialog-surface-margin-top); - min-width: var(--mdc-dialog-min-width, 100vw); + min-width: var(--mdc-dialog-min-width, auto); min-height: var(--mdc-dialog-min-height, auto); border-radius: var(--ha-dialog-border-radius, 24px); -webkit-backdrop-filter: var(--ha-dialog-surface-backdrop-filter, none); @@ -130,25 +130,13 @@ export class HaDialog extends DialogBase { --ha-dialog-surface-background, var(--mdc-theme-surface, #fff) ); + padding: var(--dialog-surface-padding); } :host([flexContent]) .mdc-dialog .mdc-dialog__content { display: flex; flex-direction: column; } - @media all and (max-width: 450px), all and (max-height: 500px) { - .mdc-dialog .mdc-dialog__surface { - min-height: 100vh; - min-height: 100svh; - max-height: 100vh; - max-height: 100svh; - padding-top: var(--safe-area-inset-top); - padding-bottom: var(--safe-area-inset-bottom); - padding-left: var(--safe-area-inset-left); - padding-right: var(--safe-area-inset-right); - } - } - .header_title { display: flex; align-items: center; diff --git a/src/resources/styles.ts b/src/resources/styles.ts index 31b4fa899e..5456267fea 100644 --- a/src/resources/styles.ts +++ b/src/resources/styles.ts @@ -161,6 +161,9 @@ export const haStyleDialog = css` --mdc-dialog-min-height: 100svh; --mdc-dialog-max-height: 100vh; --mdc-dialog-max-height: 100svh; + --dialog-surface-padding: var(--safe-area-inset-top) + var(--safe-area-inset-right) var(--safe-area-inset-bottom) + var(--safe-area-inset-left); --vertical-align-dialog: flex-end; --ha-dialog-border-radius: 0; }