@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
16 lines (15 loc) • 1.06 kB
JavaScript
"use client";
import { cssVariablesObjectToString } from "./css-variables-object-to-string.mjs";
//#region packages/@mantine/core/src/core/MantineProvider/convert-css-variables/convert-css-variables.ts
function convertCssVariables(input, selectorOverride) {
const selectors = selectorOverride ? [selectorOverride] : [":root", ":host"];
const sharedVariables = cssVariablesObjectToString(input.variables);
const shared = sharedVariables ? `${selectors.join(", ")}{${sharedVariables}}` : "";
const dark = cssVariablesObjectToString(input.dark);
const light = cssVariablesObjectToString(input.light);
const selectorsWithScheme = (scheme) => selectors.map((selector) => selector === ":host" ? `${selector}([data-mantine-color-scheme="${scheme}"])` : `${selector}[data-mantine-color-scheme="${scheme}"]`).join(", ");
return `${shared}\n\n${dark ? `${selectorsWithScheme("dark")}{${dark}}` : ""}\n\n${light ? `${selectorsWithScheme("light")}{${light}}` : ""}`;
}
//#endregion
export { convertCssVariables };
//# sourceMappingURL=convert-css-variables.mjs.map