@codegouvfr/react-dsfr
Version:
French State Design System React integration library
37 lines (30 loc) • 964 B
text/typescript
import type { ReactNode } from "react";
import { start } from "./start";
import type { RegisterLink, RegisteredLinkProps } from "./link";
import { setLink } from "./link";
import { setUseLang } from "./i18n";
import type { ColorScheme } from "./useIsDark";
export type { RegisterLink, RegisteredLinkProps };
export function startReactDsfr(params: {
defaultColorScheme: ColorScheme | "system";
/** Default: false */
verbose?: boolean;
/** Default: <a /> */
Link?: (props: RegisteredLinkProps & { children: ReactNode }) => ReturnType<React.FC>;
/** Default: ()=> "fr" */
useLang?: () => string;
}) {
const { defaultColorScheme, verbose = false, Link, useLang } = params;
if (Link !== undefined) {
setLink({ Link });
}
if (useLang !== undefined) {
setUseLang({ useLang });
}
start({
defaultColorScheme,
verbose,
"nextParams": undefined
});
}
export { setUseLang };