UNPKG

@codegouvfr/react-dsfr

Version:

French State Design System React integration library

36 lines 1.29 kB
import { isBrowser } from "./tools/isBrowser"; import { assert } from "tsafe/assert"; import { startClientSideIsDarkLogic } from "./useIsDark/client"; import { Deferred } from "./tools/Deferred"; let isStarted = false; export async function start(params) { const { defaultColorScheme, verbose, nextParams, doCheckNonce, trustedTypesPolicyName } = params; assert(isBrowser); if (isStarted) { return; } isStarted = true; const registerEffectAction = nextParams === undefined ? action => action() : nextParams.registerEffectAction; startClientSideIsDarkLogic({ "colorSchemeExplicitlyProvidedAsParameter": defaultColorScheme, "doPersistDarkModePreferenceWithCookie": nextParams === undefined ? false : nextParams.doPersistDarkModePreferenceWithCookie, registerEffectAction, doCheckNonce, trustedTypesPolicyName }); // @ts-expect-error window.dsfr = { verbose, "mode": "react" }; // @ts-expect-error await import("./dsfr/dsfr.module"); dDsfrLoaded.resolve(); registerEffectAction(() => { // @ts-expect-error window.dsfr.start(); }); } const dDsfrLoaded = new Deferred(); export const prDsfrLoaded = dDsfrLoaded.pr; //# sourceMappingURL=start.js.map