import { DEFAULT_THEME } from "../../constants.js";
import { generateBorderRadii } from "./generateBorderRadii.js";
import { generateFont } from "./generateFont.js";
import { generatePalette } from "./generatePalette.js";
/**
 * Generates css theme variables.
 * @returns @boolean Whether background is dark or not.
 */
export const generateTheme = ({ foregroundColor = DEFAULT_THEME.foregroundColor, backgroundColor = DEFAULT_THEME.backgroundColor, accentColor, darkForegroundColor, darkBackgroundColor, darkAccentColor, mode = 'light', font, customPalette, borderRadius, customFontSizes, customBorderRadii, overlayBackground, }) => {
    const isDarkTheme = mode === 'dark';
    generatePalette({
        foregroundColor: isDarkTheme ? (darkForegroundColor !== null && darkForegroundColor !== void 0 ? darkForegroundColor : foregroundColor) : foregroundColor,
        backgroundColor: isDarkTheme ? (darkBackgroundColor !== null && darkBackgroundColor !== void 0 ? darkBackgroundColor : backgroundColor) : backgroundColor,
        accentColor: isDarkTheme ? (darkAccentColor !== null && darkAccentColor !== void 0 ? darkAccentColor : accentColor) : accentColor,
        customPalette,
        isDarkTheme,
        overlayBackground,
    });
    generateFont({ font, customFontSizes });
    generateBorderRadii({ borderRadius, customBorderRadii });
};
//# sourceMappingURL=generateTheme.js.map
