UNPKG

@revenuecat/purchases-ui-js

Version:

Web components for Paywalls. Powered by RevenueCat

16 lines (15 loc) 674 B
import { DEFAULT_COLOR_MODE } from "../utils/constants"; import { getContext, setContext } from "svelte"; import { MediaQuery } from "svelte/reactivity"; const key = Symbol("color-mode"); export function setColorModeContext(colorModeOverride) { const prefersDarkMode = new MediaQuery("prefers-color-scheme: dark", (colorModeOverride?.() ?? DEFAULT_COLOR_MODE) === "dark"); const context = () => colorModeOverride?.() ?? (prefersDarkMode.current ? "dark" : DEFAULT_COLOR_MODE); setContext(key, context); return context; } export function getColorModeContext() { const context = getContext(key); return context ?? (() => DEFAULT_COLOR_MODE); }