Есть ли способ установить fillColor с помощью атрибута HTML? (Свободное владение веб-компонентами пользовательского интерфейса)
При использовании веб-компонентов Fluent UI из CDN я узнал, что можно предоставлять некоторые значения адаптивной цветовой системе в качестве атрибутов на<fluent-design-system-provider>
элемент. Например:<fluent-design-system-provider base-layer-luminance=".15">
Вопрос. Есть ли аналогичный способ установить fillColor элементов в HTML, чтобы соответствующие значения токенов дизайна были пересчитаны для дочерних элементов?
Например, я хочу сделать что-то вроде этого:
<div id="myCardContainer" fill-color="neutralLayer2">
<fluent-button appearance="accent">Hello</fluent-button>
</div>
...и иметь стили<div>
дочерние элементы пересчитываются так же, как если бы я использовал метод JavaScript:
const layer = document.getElementById('myCardContainer');
fillColor.setValueFor(layer, neutralLayer2);
1 ответ
Не сейчас.
Это отслеживается на https://github.com/microsoft/fast/issues/5286 . Сейчас ведутся некоторые работы над базовой инфраструктурой, которые должны упростить решение этой проблемы в ближайшее время.
Также есть компонент, который делает это в Color Explorer по адресу https://github.com/microsoft/fast/blob/5ba576ffb833ec7d705175608394860888963721/sites/fast-color-explorer/app/components/layer-background/index.ts.
А пока используйте код, который вы разместили, или включите компонент слоя выше. Обратите внимание, что скоро мы переработаем систему слоев, чтобы сделать ее более гибкой. Эта работа будет выполняться в пакете адаптивного пользовательского интерфейса .