Constructable stylesheets
API для создания CSS-таблиц стилей в JavaScript как объектов (new CSSStyleSheet()) и для использования одного экземпляра сразу в нескольких shadow root через adoptedStyleSheets. Решает проблему производительности: иначе каждый веб-компонент дублирует свой CSS.
Проблема: в веб-компонентах CSS инкапсулирован в каждом shadow root, и если у вас сто экземпляров одного компонента, у каждого традиционно была бы своя копия таблицы стилей (через тег <style> в каждом shadow root) — лишний расход памяти и стократный разбор одного и того же CSS. Constructable stylesheets позволяют создать таблицу ОДИН раз как разделяемый объект и «усыновить» один и тот же экземпляр во всех shadow root → CSS разбирается один раз и используется совместно, что экономит память и ускоряет работу. Общую таблицу можно ещё и менять программно, и обновятся все, кто её использует. Применение: производительность в библиотеках компонентов с большим числом экземпляров, динамические темы. Нишевый, но важный инструмент для эффективных веб-компонентов. Связано с веб-компонентами и CSS custom properties.