summaryrefslogtreecommitdiff
path: root/packages/integrations/lit/server.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/lit/server.js')
-rw-r--r--packages/integrations/lit/server.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/packages/integrations/lit/server.js b/packages/integrations/lit/server.js
index da571466f..aa91d1ea8 100644
--- a/packages/integrations/lit/server.js
+++ b/packages/integrations/lit/server.js
@@ -62,7 +62,11 @@ function* render(Component, attrs, slots) {
yield `>`;
const shadowContents = instance.renderShadow({});
if (shadowContents !== undefined) {
- yield '<template shadowroot="open" shadowrootmode="open">';
+ const { mode = 'open', delegatesFocus } = instance.shadowRootOptions ?? {};
+ // `delegatesFocus` is intentionally allowed to coerce to boolean to
+ // match web platform behavior.
+ const delegatesfocusAttr = delegatesFocus ? ' shadowrootdelegatesfocus' : '';
+ yield `<template shadowroot="${mode}" shadowrootmode="${mode}"${delegatesfocusAttr}>`;
yield* shadowContents;
yield '</template>';
}