UNPKG

1.06 kBTypeScriptView Raw
1import { data_fr_scheme, data_fr_theme } from "../useIsDark/constants";
2import type { ColorScheme } from "../useIsDark";
3import {
4 type DefaultColorScheme,
5 setDefaultColorSchemeServerSide
6} from "./zz_internal/defaultColorScheme";
7import { setUseLang } from "../i18n";
8
9const suppressHydrationWarning = true;
10
11export function getHtmlAttributes(params: {
12 defaultColorScheme: DefaultColorScheme;
13 lang?: string;
14}): { suppressHydrationWarning: true; lang?: string } & (
15 | Record<typeof data_fr_scheme | typeof data_fr_theme, ColorScheme>
16 | {}
17) {
18 const { defaultColorScheme, lang } = params;
19
20 setDefaultColorSchemeServerSide({ defaultColorScheme });
21
22 if (lang !== undefined) {
23 setUseLang({ "useLang": () => lang });
24 }
25
26 if (defaultColorScheme === "system") {
27 return {
28 lang,
29 suppressHydrationWarning
30 };
31 }
32
33 return {
34 lang,
35 suppressHydrationWarning,
36 [data_fr_scheme]: defaultColorScheme,
37 [data_fr_theme]: defaultColorScheme
38 };
39}