@tamagui/next-theme 2.0.0-rc.8 → 2.0.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/NextThemeProvider.cjs +1 -1
- package/dist/cjs/NextThemeProvider.js +1 -1
- package/dist/cjs/NextThemeProvider.js.map +1 -1
- package/dist/esm/NextThemeProvider.js +1 -1
- package/dist/esm/NextThemeProvider.js.map +1 -1
- package/dist/esm/NextThemeProvider.mjs +1 -1
- package/dist/esm/NextThemeProvider.mjs.map +1 -1
- package/package.json +4 -4
- package/src/NextThemeProvider.tsx +3 -3
- package/types/NextThemeProvider.d.ts.map +1 -1
|
@@ -89,7 +89,7 @@ const NextThemeProvider = (0, import_react.memo)(({
|
|
|
89
89
|
};
|
|
90
90
|
}, []);
|
|
91
91
|
const set = (0, import_use_event.useEvent)(newTheme => {
|
|
92
|
-
forcedTheme
|
|
92
|
+
forcedTheme || (handleChangeTheme(newTheme), setThemeState(newTheme));
|
|
93
93
|
});
|
|
94
94
|
(0, import_react.useEffect)(() => {
|
|
95
95
|
const handleStorage = e => {
|
|
@@ -72,7 +72,7 @@ const NextThemeProvider = (0, import_react.memo)(
|
|
|
72
72
|
};
|
|
73
73
|
}, []);
|
|
74
74
|
const set = (0, import_use_event.useEvent)((newTheme) => {
|
|
75
|
-
forcedTheme
|
|
75
|
+
forcedTheme || (handleChangeTheme(newTheme), setThemeState(newTheme));
|
|
76
76
|
});
|
|
77
77
|
(0, import_react.useEffect)(() => {
|
|
78
78
|
const handleStorage = (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NextThemeProvider.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C,+BAC1C,mBAAyB,+BACzB,gBAAmB,oCACnB,QAAuB,8BACvB,eAAmD,kBAEnDA,oBAAoC,wBACpC,iBAAyC,sBACzC,6BAAoC,kCAiL9B;AA7KC,MAAM,wBAAiE;AAAA,EAC5E,CAAC;AAAA,IACC;AAAA,IACA,4BAA4B;AAAA,IAC5B,eAAe;AAAA,IACf,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,SAAS;AAAA,IACT,eAAe,eAAe,WAAW;AAAA,IACzC,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA;AAAA,EACF,MAAM;AACJ,UAAM,CAAC,OAAO,aAAa,QAAI,uBAAS,UAAM,yBAAS,YAAY,YAAY,CAAC,GAC1E,CAAC,eAAe,gBAAgB,QAAI,uBAAS,UAAM,yBAAS,UAAU,CAAC,GACvE,QAAS,QAAiB,OAAO,OAAO,KAAK,IAA5B,QAEjB,uBAAmB,2BAAS,CAAC,MAAO;AACxC,YAAM,QAAI,+BAAe,CAAC,GACpB,SAAS,MAAM,iBAAiB,CAAC;AACvC,MAAI,4BACF,OAAO,IAEP,MAAM,gBAAgB,MAAM,OAAO,CAAC,GAElC,UAAU,YAAY,CAAC,eACzB,kBAAkB,GAAG,EAAK;AAAA,IAE9B,CAAC,GAEK,wBAAoB;AAAA,MACxB,CAACC,QAAO,gBAAgB,IAAM,YAAY,OAAS;AACjD,YAAI,OAAO,QAAQA,MAAK,KAAKA;AAE7B,YAAI;AACF,cAAI;AACF,yBAAa,QAAQ,YAAYA,MAAK;AAAA,UACxC,QAAY;AAAA,UAEZ;AAGF,YAAIA,WAAU,YAAY,cAAc;AACtC,gBAAM,eAAW,+BAAe;AAChC,iBAAO,QAAQ,QAAQ,KAAK;AAAA,QAC9B;AAIA,YAFA,gBAAgB,KAAK,QAAQ,MAAM,EAAE,CAAC,GAElC,WAAW;AACb,gBAAM,IAAI,SAAS;AACnB,UAAI,cAAc,WAChB,EAAE,UAAU,OAAO,GAAG,KAAK,GAC3B,EAAE,UAAU,IAAI,IAAI,KAEpB,EAAE,aAAa,WAAW,IAAI;AAAA,QAElC;AAAA,MACF;AAAA,IACF;AAEA,oDAA0B,MAAM;AAE9B,YAAM,QAAQ,OAAO,WAAW,uBAAK;AAErC,mBAAM,YAAY,gBAAgB,GAClC,iBAAiB,KAAK,GACf,MAAM;AACX,cAAM,eAAe,gBAAgB;AAAA,MACvC;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,UAAM,UAAM,2BAAS,CAAC,aAAa;AACjC,MAAI,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_constants", "theme", "Script"]
|
|
6
6
|
}
|
|
@@ -53,7 +53,7 @@ const NextThemeProvider = memo(
|
|
|
53
53
|
};
|
|
54
54
|
}, []);
|
|
55
55
|
const set = useEvent((newTheme) => {
|
|
56
|
-
forcedTheme
|
|
56
|
+
forcedTheme || (handleChangeTheme(newTheme), setThemeState(newTheme));
|
|
57
57
|
});
|
|
58
58
|
useEffect(() => {
|
|
59
59
|
const handleStorage = (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NextThemeProvider.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,iCAAiC;AAC1C,SAAS,gBAAgB;AACzB,OAAO,YAAY;AACnB,YAAY,WAAW;AACvB,SAAS,MAAM,WAAW,SAAS,gBAAgB;AAEnD,SAAS,OAAO,oBAAoB;AACpC,SAAS,gBAAgB,gBAAgB;AACzC,SAAS,2BAA2B;AAiL9B,SACE,KADF;AA7KC,MAAM,oBAAiE;AAAA,EAC5E,CAAC;AAAA,IACC;AAAA,IACA,4BAA4B;AAAA,IAC5B,eAAe;AAAA,IACf,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,SAAS;AAAA,IACT,eAAe,eAAe,WAAW;AAAA,IACzC,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA;AAAA,EACF,MAAM;AACJ,UAAM,CAAC,OAAO,aAAa,IAAI,SAAS,MAAM,SAAS,YAAY,YAAY,CAAC,GAC1E,CAAC,eAAe,gBAAgB,IAAI,SAAS,MAAM,SAAS,UAAU,CAAC,GACvE,QAAS,QAAiB,OAAO,OAAO,KAAK,IAA5B,QAEjB,mBAAmB,SAAS,CAAC,MAAO;AACxC,YAAM,IAAI,eAAe,CAAC,GACpB,SAAS,MAAM,iBAAiB,CAAC;AACvC,MAAI,4BACF,OAAO,IAEP,MAAM,gBAAgB,MAAM,OAAO,CAAC,GAElC,UAAU,YAAY,CAAC,eACzB,kBAAkB,GAAG,EAAK;AAAA,IAE9B,CAAC,GAEK,oBAAoB;AAAA,MACxB,CAACA,QAAO,gBAAgB,IAAM,YAAY,OAAS;AACjD,YAAI,OAAO,QAAQA,MAAK,KAAKA;AAE7B,YAAI;AACF,cAAI;AACF,yBAAa,QAAQ,YAAYA,MAAK;AAAA,UACxC,QAAY;AAAA,UAEZ;AAGF,YAAIA,WAAU,YAAY,cAAc;AACtC,gBAAM,WAAW,eAAe;AAChC,iBAAO,QAAQ,QAAQ,KAAK;AAAA,QAC9B;AAIA,YAFA,gBAAgB,KAAK,QAAQ,MAAM,EAAE,CAAC,GAElC,WAAW;AACb,gBAAM,IAAI,SAAS;AACnB,UAAI,cAAc,WAChB,EAAE,UAAU,OAAO,GAAG,KAAK,GAC3B,EAAE,UAAU,IAAI,IAAI,KAEpB,EAAE,aAAa,WAAW,IAAI;AAAA,QAElC;AAAA,MACF;AAAA,IACF;AAEA,8BAA0B,MAAM;AAE9B,YAAM,QAAQ,OAAO,WAAW,KAAK;AAErC,mBAAM,YAAY,gBAAgB,GAClC,iBAAiB,KAAK,GACf,MAAM;AACX,cAAM,eAAe,gBAAgB;AAAA,MACvC;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,UAAM,MAAM,SAAS,CAAC,aAAa;AACjC,MAAI,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["theme"]
|
|
6
6
|
}
|
|
@@ -53,7 +53,7 @@ const NextThemeProvider = memo(({
|
|
|
53
53
|
};
|
|
54
54
|
}, []);
|
|
55
55
|
const set = useEvent(newTheme => {
|
|
56
|
-
forcedTheme
|
|
56
|
+
forcedTheme || (handleChangeTheme(newTheme), setThemeState(newTheme));
|
|
57
57
|
});
|
|
58
58
|
useEffect(() => {
|
|
59
59
|
const handleStorage = e => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","useEvent","Script","React","memo","useEffect","useMemo","useState","MEDIA","colorSchemes","getSystemTheme","getTheme","ThemeSettingContext","jsx","jsxs","NextThemeProvider","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","themes","defaultTheme","attribute","skipNextHead","onChangeTheme","value","dark","light","children","theme","setThemeState","resolvedTheme","setResolvedTheme","attrs","Object","values","handleMediaQuery","e","_","update","startTransition","handleChangeTheme","theme2","updateStorage","updateDOM","name","localStorage","setItem","resolved","replace","d","document","documentElement","classList","remove","add","setAttribute","media","window","matchMedia","addListener","removeListener","set","newTheme","handleStorage","key","newValue","addEventListener","removeEventListener","colorScheme","includes","matches","style","setProperty","toggle","order","next","indexOf","length","systemTheme","contextValue","current","Provider","ThemeScript","optimization","map","t","join","literal","val","defaultSystem","scriptContent","JSON","stringify","dangerouslySetInnerHTML","__html","id","strategy","prevProps","nextProps"],"sources":["../../src/NextThemeProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AACzB,OAAOC,MAAA,MAAY;AACnB,YAAYC,KAAA,MAAW;AACvB,SAASC,IAAA,EAAMC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAEnD,SAASC,KAAA,EAAOC,YAAA,QAAoB;AACpC,SAASC,cAAA,EAAgBC,QAAA,QAAgB;AACzC,SAASC,mBAAA,QAA2B;AAiL9B,SACEC,GAAA,EADFC,IAAA;AA7KC,MAAMC,iBAAA,GAAiEX,IAAA,CAC5E,CAAC;IACCY,WAAA;IACAC,yBAAA,GAA4B;IAC5BC,YAAA,GAAe;IACfC,iBAAA,GAAoB;IACpBC,UAAA,GAAa;IACbC,MAAA,GAASZ,YAAA;IACTa,YAAA,GAAeJ,YAAA,GAAe,WAAW;IACzCK,SAAA,GAAY;IACZC,YAAA;IACAC,aAAA;IACAC,KAAA,GAAQ;MACNC,IAAA,EAAM;MACNC,KAAA,EAAO;IACT;IACAC;EACF,MAAM;IACJ,MAAM,CAACC,KAAA,EAAOC,aAAa,IAAIxB,QAAA,CAAS,MAAMI,QAAA,CAASS,UAAA,EAAYE,YAAY,CAAC;MAC1E,CAACU,aAAA,EAAeC,gBAAgB,IAAI1B,QAAA,CAAS,MAAMI,QAAA,CAASS,UAAU,CAAC;MACvEc,KAAA,GAASR,KAAA,GAAiBS,MAAA,CAAOC,MAAA,CAAOV,KAAK,IAA5BL,MAAA;MAEjBgB,gBAAA,GAAmBpC,QAAA,CAAUqC,CAAA,IAAO;QACxC,MAAMC,CAAA,GAAI7B,cAAA,CAAe4B,CAAC;UACpBE,MAAA,GAASA,CAAA,KAAMP,gBAAA,CAAiBM,CAAC;QACnCtB,yBAAA,GACFuB,MAAA,CAAO,IAEPrC,KAAA,CAAMsC,eAAA,CAAgB,MAAMD,MAAA,CAAO,CAAC,GAElCV,KAAA,KAAU,YAAY,CAACd,WAAA,IACzB0B,iBAAA,CAAkBH,CAAA,EAAG,EAAK;MAE9B,CAAC;MAEKG,iBAAA,GAAoBzC,QAAA,CACxB,CAAC0C,MAAA,EAAOC,aAAA,GAAgB,IAAMC,SAAA,GAAY,OAAS;QACjD,IAAIC,IAAA,GAAOpB,KAAA,GAAQiB,MAAK,KAAKA,MAAA;QAE7B,IAAIC,aAAA,EACF,IAAI;UACFG,YAAA,CAAaC,OAAA,CAAQ5B,UAAA,EAAYuB,MAAK;QACxC,QAAY,CAEZ;QAGF,IAAIA,MAAA,KAAU,YAAYzB,YAAA,EAAc;UACtC,MAAM+B,QAAA,GAAWvC,cAAA,CAAe;UAChCoC,IAAA,GAAOpB,KAAA,GAAQuB,QAAQ,KAAKA,QAAA;QAC9B;QAIA,IAFAxB,aAAA,GAAgBqB,IAAA,CAAKI,OAAA,CAAQ,MAAM,EAAE,CAAC,GAElCL,SAAA,EAAW;UACb,MAAMM,CAAA,GAAIC,QAAA,CAASC,eAAA;UACf9B,SAAA,KAAc,WAChB4B,CAAA,CAAEG,SAAA,CAAUC,MAAA,CAAO,GAAGrB,KAAK,GAC3BiB,CAAA,CAAEG,SAAA,CAAUE,GAAA,CAAIV,IAAI,KAEpBK,CAAA,CAAEM,YAAA,CAAalC,SAAA,EAAWuB,IAAI;QAElC;MACF,CACF;IAEA9C,yBAAA,CAA0B,MAAM;MAE9B,MAAM0D,KAAA,GAAQC,MAAA,CAAOC,UAAA,CAAWpD,KAAK;MAErC,OAAAkD,KAAA,CAAMG,WAAA,CAAYxB,gBAAgB,GAClCA,gBAAA,CAAiBqB,KAAK,GACf,MAAM;QACXA,KAAA,CAAMI,cAAA,CAAezB,gBAAgB;MACvC;IACF,GAAG,EAAE;IAEL,MAAM0B,GAAA,GAAM9D,QAAA,CAAU+D,QAAA,IAAa;MAC7BhD,WAAA,
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","useEvent","Script","React","memo","useEffect","useMemo","useState","MEDIA","colorSchemes","getSystemTheme","getTheme","ThemeSettingContext","jsx","jsxs","NextThemeProvider","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","themes","defaultTheme","attribute","skipNextHead","onChangeTheme","value","dark","light","children","theme","setThemeState","resolvedTheme","setResolvedTheme","attrs","Object","values","handleMediaQuery","e","_","update","startTransition","handleChangeTheme","theme2","updateStorage","updateDOM","name","localStorage","setItem","resolved","replace","d","document","documentElement","classList","remove","add","setAttribute","media","window","matchMedia","addListener","removeListener","set","newTheme","handleStorage","key","newValue","addEventListener","removeEventListener","colorScheme","includes","matches","style","setProperty","toggle","order","next","indexOf","length","systemTheme","contextValue","current","Provider","ThemeScript","optimization","map","t","join","literal","val","defaultSystem","scriptContent","JSON","stringify","dangerouslySetInnerHTML","__html","id","strategy","prevProps","nextProps"],"sources":["../../src/NextThemeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/next-theme",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.9",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"clean:build": "tamagui-build clean:build"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@tamagui/constants": "2.0.0-rc.
|
|
35
|
-
"@tamagui/use-event": "2.0.0-rc.
|
|
34
|
+
"@tamagui/constants": "2.0.0-rc.9",
|
|
35
|
+
"@tamagui/use-event": "2.0.0-rc.9"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@tamagui/build": "2.0.0-rc.
|
|
38
|
+
"@tamagui/build": "2.0.0-rc.9",
|
|
39
39
|
"next": "16.1.1",
|
|
40
40
|
"react": ">=19"
|
|
41
41
|
},
|
|
@@ -89,10 +89,10 @@ export const NextThemeProvider: React.FunctionComponent<ThemeProviderProps> = me
|
|
|
89
89
|
|
|
90
90
|
const set = useEvent((newTheme) => {
|
|
91
91
|
if (forcedTheme) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
handleChangeTheme(newTheme)
|
|
92
|
+
// when forcedTheme is active, block all updates to avoid desync
|
|
93
|
+
return
|
|
95
94
|
}
|
|
95
|
+
handleChangeTheme(newTheme)
|
|
96
96
|
setThemeState(newTheme)
|
|
97
97
|
})
|
|
98
98
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"src/NextThemeProvider.tsx"
|
|
8
8
|
],
|
|
9
9
|
"sourcesContent": [
|
|
10
|
-
"import { useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { useEvent } from '@tamagui/use-event'\nimport Script from 'next/script'\nimport * as React from 'react'\nimport { memo, useEffect, useMemo, useState } from 'react'\n\nimport { MEDIA, colorSchemes } from './constants'\nimport { getSystemTheme, getTheme } from './helpers'\nimport { ThemeSettingContext } from './ThemeSettingContext'\nimport type { ValueObject } from './types'\nimport type { ThemeProviderProps, UseThemeProps } from './UseThemeProps'\n\nexport const NextThemeProvider: React.FunctionComponent<ThemeProviderProps> = memo(\n ({\n forcedTheme,\n disableTransitionOnChange = false,\n enableSystem = true,\n enableColorScheme = true,\n storageKey = 'theme',\n themes = colorSchemes,\n defaultTheme = enableSystem ? 'system' : 'light',\n attribute = 'class',\n skipNextHead,\n onChangeTheme,\n value = {\n dark: 't_dark',\n light: 't_light',\n },\n children,\n }) => {\n const [theme, setThemeState] = useState(() => getTheme(storageKey, defaultTheme))\n const [resolvedTheme, setResolvedTheme] = useState(() => getTheme(storageKey))\n const attrs = !value ? themes : Object.values(value)\n\n const handleMediaQuery = useEvent((e?) => {\n const _ = getSystemTheme(e)\n const update = () => setResolvedTheme(_)\n if (disableTransitionOnChange) {\n update()\n } else {\n React.startTransition(() => update())\n }\n if (theme === 'system' && !forcedTheme) {\n handleChangeTheme(_, false)\n }\n })\n\n const handleChangeTheme = useEvent(\n (theme, updateStorage = true, updateDOM = true) => {\n let name = value?.[theme] || theme\n\n if (updateStorage) {\n try {\n localStorage.setItem(storageKey, theme)\n } catch (e) {\n // Unsupported\n }\n }\n\n if (theme === 'system' && enableSystem) {\n const resolved = getSystemTheme()\n name = value?.[resolved] || resolved\n }\n\n onChangeTheme?.(name.replace('t_', ''))\n\n if (updateDOM) {\n const d = document.documentElement\n if (attribute === 'class') {\n d.classList.remove(...attrs)\n d.classList.add(name)\n } else {\n d.setAttribute(attribute, name)\n }\n }\n }\n )\n\n useIsomorphicLayoutEffect(() => {\n // Always listen to System preference\n const media = window.matchMedia(MEDIA)\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery)\n handleMediaQuery(media)\n return () => {\n media.removeListener(handleMediaQuery)\n }\n }, [])\n\n const set = useEvent((newTheme) => {\n if (forcedTheme) {\n
|
|
10
|
+
"import { useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { useEvent } from '@tamagui/use-event'\nimport Script from 'next/script'\nimport * as React from 'react'\nimport { memo, useEffect, useMemo, useState } from 'react'\n\nimport { MEDIA, colorSchemes } from './constants'\nimport { getSystemTheme, getTheme } from './helpers'\nimport { ThemeSettingContext } from './ThemeSettingContext'\nimport type { ValueObject } from './types'\nimport type { ThemeProviderProps, UseThemeProps } from './UseThemeProps'\n\nexport const NextThemeProvider: React.FunctionComponent<ThemeProviderProps> = memo(\n ({\n forcedTheme,\n disableTransitionOnChange = false,\n enableSystem = true,\n enableColorScheme = true,\n storageKey = 'theme',\n themes = colorSchemes,\n defaultTheme = enableSystem ? 'system' : 'light',\n attribute = 'class',\n skipNextHead,\n onChangeTheme,\n value = {\n dark: 't_dark',\n light: 't_light',\n },\n children,\n }) => {\n const [theme, setThemeState] = useState(() => getTheme(storageKey, defaultTheme))\n const [resolvedTheme, setResolvedTheme] = useState(() => getTheme(storageKey))\n const attrs = !value ? themes : Object.values(value)\n\n const handleMediaQuery = useEvent((e?) => {\n const _ = getSystemTheme(e)\n const update = () => setResolvedTheme(_)\n if (disableTransitionOnChange) {\n update()\n } else {\n React.startTransition(() => update())\n }\n if (theme === 'system' && !forcedTheme) {\n handleChangeTheme(_, false)\n }\n })\n\n const handleChangeTheme = useEvent(\n (theme, updateStorage = true, updateDOM = true) => {\n let name = value?.[theme] || theme\n\n if (updateStorage) {\n try {\n localStorage.setItem(storageKey, theme)\n } catch (e) {\n // Unsupported\n }\n }\n\n if (theme === 'system' && enableSystem) {\n const resolved = getSystemTheme()\n name = value?.[resolved] || resolved\n }\n\n onChangeTheme?.(name.replace('t_', ''))\n\n if (updateDOM) {\n const d = document.documentElement\n if (attribute === 'class') {\n d.classList.remove(...attrs)\n d.classList.add(name)\n } else {\n d.setAttribute(attribute, name)\n }\n }\n }\n )\n\n useIsomorphicLayoutEffect(() => {\n // Always listen to System preference\n const media = window.matchMedia(MEDIA)\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery)\n handleMediaQuery(media)\n return () => {\n media.removeListener(handleMediaQuery)\n }\n }, [])\n\n const set = useEvent((newTheme) => {\n if (forcedTheme) {\n // when forcedTheme is active, block all updates to avoid desync\n return\n }\n handleChangeTheme(newTheme)\n setThemeState(newTheme)\n })\n\n // localStorage event handling\n useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return\n }\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n const theme = e.newValue || defaultTheme\n set(theme)\n }\n window.addEventListener('storage', handleStorage)\n return () => {\n window.removeEventListener('storage', handleStorage)\n }\n }, [defaultTheme, set, storageKey])\n\n // color-scheme handling\n useIsomorphicLayoutEffect(() => {\n if (!enableColorScheme) return\n\n const colorScheme =\n // If theme is forced to light or dark, use that\n forcedTheme && colorSchemes.includes(forcedTheme as 'light' | 'dark')\n ? forcedTheme\n : // If regular theme is light or dark\n theme && colorSchemes.includes(theme)\n ? theme\n : // If theme is system, use the resolved version\n theme === 'system'\n ? resolvedTheme || null\n : null\n\n // color-scheme tells browser how to render built-in elements like forms, scrollbars, etc.\n // if color-scheme is null, this will remove the property\n const userPrefers =\n typeof window !== 'undefined' &&\n window.matchMedia &&\n window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n const wePrefer = colorScheme || 'light'\n\n // avoid running this because it causes full page reflow\n if (userPrefers !== wePrefer) {\n document.documentElement.style.setProperty('color-scheme', colorScheme)\n }\n }, [enableColorScheme, theme, resolvedTheme, forcedTheme])\n\n const toggle = useEvent(() => {\n const order =\n resolvedTheme === 'dark'\n ? ['system', 'light', 'dark']\n : ['system', 'dark', 'light']\n const next = order[(order.indexOf(theme) + 1) % order.length]\n set(next)\n })\n\n const systemTheme = (enableSystem ? resolvedTheme : undefined) as\n | 'light'\n | 'dark'\n | undefined\n\n const contextValue = useMemo(() => {\n const value: UseThemeProps = {\n theme,\n current: theme,\n set,\n toggle,\n forcedTheme,\n resolvedTheme: theme === 'system' ? resolvedTheme : theme,\n themes: enableSystem ? [...themes, 'system'] : (themes as string[]),\n systemTheme,\n } as const\n return value\n }, [\n theme,\n set,\n toggle,\n forcedTheme,\n resolvedTheme,\n enableSystem,\n themes,\n systemTheme,\n ])\n\n return (\n <ThemeSettingContext.Provider value={contextValue}>\n <ThemeScript\n {...{\n forcedTheme,\n storageKey,\n systemTheme: resolvedTheme,\n attribute,\n value,\n enableSystem,\n defaultTheme,\n attrs,\n skipNextHead,\n }}\n />\n {children}\n </ThemeSettingContext.Provider>\n )\n }\n)\n\nconst ThemeScript = memo(\n ({\n forcedTheme,\n storageKey,\n attribute,\n enableSystem,\n defaultTheme,\n value,\n attrs,\n skipNextHead,\n }: {\n forcedTheme?: string\n storageKey: string\n attribute?: string\n enableSystem?: boolean\n defaultTheme: string\n value?: ValueObject\n attrs: any\n skipNextHead?: boolean\n }) => {\n // Code-golfing the amount of characters in the script\n const optimization = (() => {\n if (attribute === 'class') {\n const removeClasses = attrs.map((t: string) => `d.remove('${t}')`).join(';')\n return `var d=document.documentElement.classList;${removeClasses};`\n }\n return `var d=document.documentElement;`\n })()\n\n const updateDOM = (name: string, literal?: boolean) => {\n name = value?.[name] || name\n const val = literal ? name : `'${name}'`\n\n if (attribute === 'class') {\n return `d.add(${val})`\n }\n\n return `d.setAttribute('${attribute}', ${val})`\n }\n\n const defaultSystem = defaultTheme === 'system'\n\n const scriptContent = forcedTheme\n ? `!function(){${optimization}${updateDOM(forcedTheme)}}()`\n : enableSystem\n ? `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');if(\"system\"===e||(!e&&${defaultSystem})){var t=\"${MEDIA}\",m=window.matchMedia(t);m.media!==t||m.matches?${updateDOM(\n 'dark'\n )}:${updateDOM('light')}}else if(e){${\n value ? `var x=${JSON.stringify(value)};` : ''\n }${updateDOM(value ? 'x[e]' : 'e', true)}}${\n !defaultSystem ? `else{${updateDOM(defaultTheme)}}` : ''\n }}catch(e){}}()`\n : `!function(){try{${optimization}var e=localStorage.getItem(\"${storageKey}\");if(e){${\n value ? `var x=${JSON.stringify(value)};` : ''\n }${updateDOM(value ? 'x[e]' : 'e', true)}}else{${updateDOM(\n defaultTheme\n )};}}catch(t){}}();`\n\n // skipNextHead returns raw script for useServerInsertedHTML usage\n if (skipNextHead) {\n return (\n <script\n key=\"next-themes-script\"\n dangerouslySetInnerHTML={{ __html: scriptContent }}\n />\n )\n }\n\n return (\n <Script\n id=\"next-themes-script\"\n strategy=\"beforeInteractive\"\n dangerouslySetInnerHTML={{ __html: scriptContent }}\n />\n )\n },\n (prevProps, nextProps) => {\n // Only re-render when forcedTheme changes\n // the rest of the props should be completely stable\n if (prevProps.forcedTheme !== nextProps.forcedTheme) return false\n return true\n }\n)\n"
|
|
11
11
|
],
|
|
12
12
|
"version": 3
|
|
13
13
|
}
|