diff --git a/packages/dialog/src/vaadin-dialog.js b/packages/dialog/src/vaadin-dialog.js index 1576a8808ff..1e70919c2a2 100644 --- a/packages/dialog/src/vaadin-dialog.js +++ b/packages/dialog/src/vaadin-dialog.js @@ -26,6 +26,10 @@ registerStyles( z-index: 1; } + [part='header'] { + flex-wrap: nowrap; + } + ::slotted([slot='header-content']), ::slotted([slot='title']), ::slotted([slot='footer']) { @@ -33,6 +37,10 @@ registerStyles( pointer-events: auto; } + ::slotted([slot='title']) { + overflow-wrap: anywhere; + } + [part='header-content'] { flex: 1; } diff --git a/packages/dialog/test/visual/lumo/dialog.test.js b/packages/dialog/test/visual/lumo/dialog.test.js index 079b0ea3b49..c4734b5bf01 100644 --- a/packages/dialog/test/visual/lumo/dialog.test.js +++ b/packages/dialog/test/visual/lumo/dialog.test.js @@ -51,4 +51,18 @@ describe('dialog', () => { element.footerRenderer = createRenderer('Footer'); await visualDiff(div, 'header-footer-renderer'); }); + + it('long title and header renderer', async () => { + element.$.overlay.style.maxWidth = '20rem'; + element.headerTitle = 'Long title that wraps in multiple lines'; + element.headerRenderer = createRenderer('Header'); + await visualDiff(div, 'header-title-multiple-lines'); + }); + + it('long single word title and header renderer', async () => { + element.$.overlay.style.maxWidth = '20rem'; + element.headerTitle = 'InternationalizationConfigurationHelper'; + element.headerRenderer = createRenderer('Header'); + await visualDiff(div, 'header-title-long-single-word'); + }); }); diff --git a/packages/dialog/test/visual/lumo/screenshots/dialog/baseline/header-title-long-single-word.png b/packages/dialog/test/visual/lumo/screenshots/dialog/baseline/header-title-long-single-word.png new file mode 100644 index 00000000000..94ecb8fe021 Binary files /dev/null and b/packages/dialog/test/visual/lumo/screenshots/dialog/baseline/header-title-long-single-word.png differ diff --git a/packages/dialog/test/visual/lumo/screenshots/dialog/baseline/header-title-multiple-lines.png b/packages/dialog/test/visual/lumo/screenshots/dialog/baseline/header-title-multiple-lines.png new file mode 100644 index 00000000000..dcdf72556a4 Binary files /dev/null and b/packages/dialog/test/visual/lumo/screenshots/dialog/baseline/header-title-multiple-lines.png differ diff --git a/packages/dialog/test/visual/material/dialog.test.js b/packages/dialog/test/visual/material/dialog.test.js index 1896e6e0fe9..f1bc1a316d7 100644 --- a/packages/dialog/test/visual/material/dialog.test.js +++ b/packages/dialog/test/visual/material/dialog.test.js @@ -51,4 +51,18 @@ describe('dialog', () => { element.footerRenderer = createRenderer('Footer'); await visualDiff(div, 'header-footer-renderer'); }); + + it('long title and header renderer', async () => { + element.$.overlay.style.maxWidth = '20rem'; + element.headerTitle = 'Long title that wraps in multiple lines'; + element.headerRenderer = createRenderer('Header'); + await visualDiff(div, 'header-title-multiple-lines'); + }); + + it('long single word title and header renderer', async () => { + element.$.overlay.style.maxWidth = '20rem'; + element.headerTitle = 'InternationalizationConfigurationHelper'; + element.headerRenderer = createRenderer('Header'); + await visualDiff(div, 'header-title-long-single-word'); + }); }); diff --git a/packages/dialog/test/visual/material/screenshots/dialog/baseline/header-title-long-single-word.png b/packages/dialog/test/visual/material/screenshots/dialog/baseline/header-title-long-single-word.png new file mode 100644 index 00000000000..9f4e8447a2c Binary files /dev/null and b/packages/dialog/test/visual/material/screenshots/dialog/baseline/header-title-long-single-word.png differ diff --git a/packages/dialog/test/visual/material/screenshots/dialog/baseline/header-title-multiple-lines.png b/packages/dialog/test/visual/material/screenshots/dialog/baseline/header-title-multiple-lines.png new file mode 100644 index 00000000000..6da2f9bc46b Binary files /dev/null and b/packages/dialog/test/visual/material/screenshots/dialog/baseline/header-title-multiple-lines.png differ