Skip to content

refactor: migrate Dialog wrapper to slotted content#391

Open
web-padawan wants to merge 1 commit into
mainfrom
refactor/dialog-renderer
Open

refactor: migrate Dialog wrapper to slotted content#391
web-padawan wants to merge 1 commit into
mainfrom
refactor/dialog-renderer

Conversation

@web-padawan

Copy link
Copy Markdown
Member

Description

Render header/footer/children as light-DOM slotted content instead of deprecated renderer properties.

  • header -> <div slot="header-content">, footer -> <div slot="footer">, children -> default slot;
  • wrappers rendered only when content is set to avoid setting has-header / has-footer incorrectly;
  • deprecated renderer / headerRenderer/ footerRenderer props and function children still work.

Type of change

  • Refactor

Render header/footer/children as light-DOM slotted content instead of
routing through the web component's renderer/headerRenderer/footerRenderer
properties (deprecated in Vaadin 25, removed in Vaadin 26).

- header -> <div slot="header-content">, footer -> <div slot="footer">,
  children -> default slot; wrappers rendered only when content is present
  so the web component never derives has-header/has-footer from empty slots.
- Deprecated renderer/headerRenderer/footerRenderer props and function
  children still work, rendered into the slotted wrapper with the dialog
  element passed as `original` (tracked via useMergedRefs so it is never
  null when the renderer runs).
- Drop useSimpleOrChildrenRenderer usage; no portal-into-renderer-root.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@web-padawan
web-padawan requested a review from sissbruecker July 17, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant