Constructable Stylesheets: стили виджета без дублирования
adoptedStyleSheets в Shadow DOM.
`const sheet = new CSSStyleSheet(); await sheet.replace(cssText)` создаёт таблицу стилей один раз — `shadowRoot.adoptedStyleSheets = [sheet]` переиспользует её на десятках экземпляров виджета.
Подходит для embed-формы брифа на чужих сайтах, если используете custom elements.
- CSSStyleSheet — MDN — Constructable stylesheets.
- Constructable stylesheets — web.dev — Туториал.
CSP
Inline в shadow не проходит через `style-src` страницы — constructable sheet снижает нужду в `<style>` в light DOM.