Source code

Revision control

Copy as Markdown

Other Tools

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { OVERRIDE_IDENTIFIERS } from "../general/override-identifiers.mjs";
export const getLayerString = () => {
const themeLayers = [
"tokens-foundation",
"tokens-browser-theme",
"tokens-foundation-brand",
];
const accessibilityLayers = [
"tokens-prefers-contrast",
"tokens-forced-colors",
];
const themeLayersWithOverrides = [
...themeLayers,
...OVERRIDE_IDENTIFIERS.flatMap(({ id }) =>
themeLayers.map(layer => `${layer}-${id}`)
),
];
const accessibilityLayersWithOverrides = accessibilityLayers.flatMap(
layer => [layer, ...OVERRIDE_IDENTIFIERS.map(({ id }) => `${layer}-${id}`)]
);
const layers = [
...themeLayersWithOverrides,
...accessibilityLayersWithOverrides,
];
return `@layer ${layers.join(", ")};\n\n`;
};