export const COLOR_SCHEME_PREFERENCES = Object.freeze([ "system", "light", "dark", ]); /** @param {unknown} value */ export function normalizeColorSchemePreference(value) { return COLOR_SCHEME_PREFERENCES.includes(/** @type {string} */ (value)) ? /** @type {"system" | "light" | "dark"} */ (value) : "system"; } /** * @param {"system" | "light" | "dark"} preference * @param {boolean} systemPrefersDark */ export function resolveColorScheme(preference, systemPrefersDark) { if (preference === "system") return systemPrefersDark ? "dark" : "light"; return preference; }