UNPKG

@codegouvfr/react-dsfr

Version:

French State Design System React integration library

26 lines 969 B
"use client"; import React, { useMemo, useEffect } from "react"; import { isBrowser } from "../tools/isBrowser"; import { SsrIsDarkProvider } from "../useIsDark/server"; import { dsfrEffect } from "./zz_internal/start"; import { getDefaultColorSchemeClientSide } from "./zz_internal/defaultColorScheme"; import { setUseLang } from "../i18n"; export function DsfrProvider(props) { const { children, lang } = props; useEffect(() => { dsfrEffect(); }, []); useMemo(() => { if (lang === undefined) { return; } setUseLang({ "useLang": () => lang }); }, [lang]); if (isBrowser) { return React.createElement(React.Fragment, null, children); } const defaultColorScheme = getDefaultColorSchemeClientSide(); const isDark = defaultColorScheme === "dark" ? true : false; return React.createElement(SsrIsDarkProvider, { value: isDark }, children); } //# sourceMappingURL=DsfrProvider.js.map