@tamagui/web 1.123.17 → 1.124.0
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/Tamagui.cjs +1 -6
- package/dist/cjs/Tamagui.js +1 -5
- package/dist/cjs/Tamagui.js.map +1 -1
- package/dist/cjs/Tamagui.native.js +2 -8
- package/dist/cjs/Tamagui.native.js.map +2 -2
- package/dist/cjs/createComponent.cjs +9 -13
- package/dist/cjs/createComponent.js +10 -8
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/createComponent.native.js +17 -19
- package/dist/cjs/createComponent.native.js.map +2 -2
- package/dist/cjs/helpers/createShallowSetState.cjs +7 -4
- package/dist/cjs/helpers/createShallowSetState.js +12 -6
- package/dist/cjs/helpers/createShallowSetState.js.map +1 -1
- package/dist/cjs/helpers/createShallowSetState.native.js +10 -4
- package/dist/cjs/helpers/createShallowSetState.native.js.map +2 -2
- package/dist/cjs/hooks/{shouldDeoptDueToParentScheme.cjs → doesRootSchemeMatchSystem.cjs} +5 -5
- package/dist/cjs/hooks/{shouldDeoptDueToParentScheme.js → doesRootSchemeMatchSystem.js} +6 -6
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.js.map +6 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +30 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +6 -0
- package/dist/cjs/hooks/getThemeProxied.cjs +58 -0
- package/dist/cjs/hooks/getThemeProxied.js +53 -0
- package/dist/cjs/hooks/getThemeProxied.js.map +6 -0
- package/dist/cjs/hooks/getThemeProxied.native.js +76 -0
- package/dist/cjs/hooks/getThemeProxied.native.js.map +6 -0
- package/dist/cjs/hooks/useComponentState.cjs +16 -16
- package/dist/cjs/hooks/useComponentState.js +22 -15
- package/dist/cjs/hooks/useComponentState.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.native.js +15 -15
- package/dist/cjs/hooks/useComponentState.native.js.map +2 -2
- package/dist/cjs/hooks/useProps.cjs +2 -2
- package/dist/cjs/hooks/useProps.js +2 -2
- package/dist/cjs/hooks/useProps.js.map +1 -1
- package/dist/cjs/hooks/useProps.native.js +2 -2
- package/dist/cjs/hooks/useProps.native.js.map +2 -2
- package/dist/cjs/hooks/useTheme.cjs +10 -208
- package/dist/cjs/hooks/useTheme.js +7 -207
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useTheme.native.js +8 -252
- package/dist/cjs/hooks/useTheme.native.js.map +2 -2
- package/dist/cjs/hooks/useThemeName.cjs +15 -27
- package/dist/cjs/hooks/useThemeName.js +6 -20
- package/dist/cjs/hooks/useThemeName.js.map +2 -2
- package/dist/cjs/hooks/useThemeName.native.js +16 -22
- package/dist/cjs/hooks/useThemeName.native.js.map +2 -2
- package/dist/cjs/hooks/useThemeState.cjs +187 -0
- package/dist/cjs/hooks/useThemeState.js +159 -0
- package/dist/cjs/hooks/useThemeState.js.map +6 -0
- package/dist/cjs/hooks/useThemeState.native.js +206 -0
- package/dist/cjs/hooks/useThemeState.native.js.map +6 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +3 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +81 -85
- package/dist/cjs/views/Theme.js +44 -51
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/Theme.native.js +58 -58
- package/dist/cjs/views/Theme.native.js.map +2 -2
- package/dist/cjs/views/ThemeDebug.cjs +21 -43
- package/dist/cjs/views/ThemeDebug.js +18 -38
- package/dist/cjs/views/ThemeDebug.js.map +2 -2
- package/dist/cjs/views/ThemeProvider.cjs +1 -1
- package/dist/cjs/views/ThemeProvider.js +1 -1
- package/dist/cjs/views/ThemeProvider.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.native.js +1 -1
- package/dist/cjs/views/ThemeProvider.native.js.map +2 -2
- package/dist/esm/Tamagui.js +0 -5
- package/dist/esm/Tamagui.js.map +1 -1
- package/dist/esm/Tamagui.mjs +0 -5
- package/dist/esm/Tamagui.mjs.map +1 -1
- package/dist/esm/Tamagui.native.js +1 -8
- package/dist/esm/Tamagui.native.js.map +2 -2
- package/dist/esm/createComponent.js +9 -8
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.mjs +9 -13
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +16 -19
- package/dist/esm/createComponent.native.js.map +2 -2
- package/dist/esm/helpers/createShallowSetState.js +13 -7
- package/dist/esm/helpers/createShallowSetState.js.map +1 -1
- package/dist/esm/helpers/createShallowSetState.mjs +8 -5
- package/dist/esm/helpers/createShallowSetState.mjs.map +1 -1
- package/dist/esm/helpers/createShallowSetState.native.js +11 -5
- package/dist/esm/helpers/createShallowSetState.native.js.map +2 -2
- package/dist/esm/hooks/doesRootSchemeMatchSystem.js +7 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.js.map +6 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +5 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +10 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +6 -0
- package/dist/esm/hooks/getThemeProxied.js +40 -0
- package/dist/esm/hooks/getThemeProxied.js.map +6 -0
- package/dist/esm/hooks/getThemeProxied.mjs +35 -0
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -0
- package/dist/esm/hooks/getThemeProxied.native.js +59 -0
- package/dist/esm/hooks/getThemeProxied.native.js.map +6 -0
- package/dist/esm/hooks/useComponentState.js +22 -15
- package/dist/esm/hooks/useComponentState.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +16 -16
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +15 -15
- package/dist/esm/hooks/useComponentState.native.js.map +2 -2
- package/dist/esm/hooks/useProps.js +2 -2
- package/dist/esm/hooks/useProps.js.map +1 -1
- package/dist/esm/hooks/useProps.mjs +2 -2
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +2 -2
- package/dist/esm/hooks/useProps.native.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +9 -220
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/hooks/useTheme.mjs +10 -205
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +11 -257
- package/dist/esm/hooks/useTheme.native.js.map +2 -2
- package/dist/esm/hooks/useThemeName.js +4 -12
- package/dist/esm/hooks/useThemeName.js.map +2 -2
- package/dist/esm/hooks/useThemeName.mjs +11 -12
- package/dist/esm/hooks/useThemeName.mjs.map +1 -1
- package/dist/esm/hooks/useThemeName.native.js +15 -14
- package/dist/esm/hooks/useThemeName.native.js.map +2 -2
- package/dist/esm/hooks/useThemeState.js +151 -0
- package/dist/esm/hooks/useThemeState.js.map +6 -0
- package/dist/esm/hooks/useThemeState.mjs +159 -0
- package/dist/esm/hooks/useThemeState.mjs.map +1 -0
- package/dist/esm/hooks/useThemeState.native.js +182 -0
- package/dist/esm/hooks/useThemeState.native.js.map +6 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -0
- package/dist/esm/index.native.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/Theme.js +57 -54
- package/dist/esm/views/Theme.js.map +2 -2
- package/dist/esm/views/Theme.mjs +81 -85
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +61 -61
- package/dist/esm/views/Theme.native.js.map +2 -2
- package/dist/esm/views/ThemeDebug.js +16 -29
- package/dist/esm/views/ThemeDebug.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +16 -27
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.js +2 -2
- package/dist/esm/views/ThemeProvider.js.map +1 -1
- package/dist/esm/views/ThemeProvider.mjs +2 -2
- package/dist/esm/views/ThemeProvider.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.native.js +2 -2
- package/dist/esm/views/ThemeProvider.native.js.map +2 -2
- package/package.json +11 -11
- package/src/Tamagui.ts +0 -6
- package/src/createComponent.tsx +19 -28
- package/src/helpers/createShallowSetState.tsx +17 -8
- package/src/hooks/doesRootSchemeMatchSystem.native.ts +7 -0
- package/src/hooks/doesRootSchemeMatchSystem.ts +4 -0
- package/src/hooks/getThemeProxied.ts +165 -0
- package/src/hooks/useComponentState.ts +26 -21
- package/src/hooks/useProps.tsx +2 -2
- package/src/hooks/useTheme.tsx +22 -633
- package/src/hooks/useThemeName.tsx +6 -18
- package/src/hooks/useThemeState.ts +341 -0
- package/src/index.ts +1 -0
- package/src/types.tsx +2 -2
- package/src/views/TamaguiProvider.tsx +1 -1
- package/src/views/Theme.tsx +129 -132
- package/src/views/ThemeDebug.native.tsx +2 -2
- package/src/views/ThemeDebug.tsx +17 -39
- package/src/views/ThemeProvider.tsx +2 -2
- package/types/Tamagui.d.ts +0 -2
- package/types/Tamagui.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/createShallowSetState.d.ts +1 -1
- package/types/helpers/createShallowSetState.d.ts.map +1 -1
- package/types/hooks/doesRootSchemeMatchSystem.d.ts +2 -0
- package/types/hooks/doesRootSchemeMatchSystem.d.ts.map +1 -0
- package/types/hooks/doesRootSchemeMatchSystem.native.d.ts +2 -0
- package/types/hooks/doesRootSchemeMatchSystem.native.d.ts.map +1 -0
- package/types/hooks/getThemeProxied.d.ts +25 -0
- package/types/hooks/getThemeProxied.d.ts.map +1 -0
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useConfiguration.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +9 -36
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeName.d.ts +1 -3
- package/types/hooks/useThemeName.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +22 -0
- package/types/hooks/useThemeState.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +2 -2
- package/types/types.d.ts.map +1 -1
- package/types/views/Theme.d.ts +3 -3
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts +2 -2
- package/types/views/ThemeDebug.d.ts.map +1 -1
- package/types/views/ThemeDebug.native.d.ts +2 -2
- package/types/views/ThemeDebug.native.d.ts.map +1 -1
- package/dist/cjs/helpers/ThemeManager.cjs +0 -202
- package/dist/cjs/helpers/ThemeManager.js +0 -183
- package/dist/cjs/helpers/ThemeManager.js.map +0 -6
- package/dist/cjs/helpers/ThemeManager.native.js +0 -282
- package/dist/cjs/helpers/ThemeManager.native.js.map +0 -6
- package/dist/cjs/helpers/ThemeManagerContext.cjs +0 -38
- package/dist/cjs/helpers/ThemeManagerContext.js +0 -30
- package/dist/cjs/helpers/ThemeManagerContext.js.map +0 -6
- package/dist/cjs/helpers/ThemeManagerContext.native.js +0 -34
- package/dist/cjs/helpers/ThemeManagerContext.native.js.map +0 -6
- package/dist/cjs/hooks/shouldDeoptDueToParentScheme.js.map +0 -6
- package/dist/cjs/hooks/shouldDeoptDueToParentScheme.native.js +0 -50
- package/dist/cjs/hooks/shouldDeoptDueToParentScheme.native.js.map +0 -6
- package/dist/esm/helpers/ThemeManager.js +0 -169
- package/dist/esm/helpers/ThemeManager.js.map +0 -6
- package/dist/esm/helpers/ThemeManager.mjs +0 -177
- package/dist/esm/helpers/ThemeManager.mjs.map +0 -1
- package/dist/esm/helpers/ThemeManager.native.js +0 -261
- package/dist/esm/helpers/ThemeManager.native.js.map +0 -6
- package/dist/esm/helpers/ThemeManagerContext.js +0 -6
- package/dist/esm/helpers/ThemeManagerContext.js.map +0 -6
- package/dist/esm/helpers/ThemeManagerContext.mjs +0 -4
- package/dist/esm/helpers/ThemeManagerContext.mjs.map +0 -1
- package/dist/esm/helpers/ThemeManagerContext.native.js +0 -6
- package/dist/esm/helpers/ThemeManagerContext.native.js.map +0 -6
- package/dist/esm/hooks/shouldDeoptDueToParentScheme.js +0 -7
- package/dist/esm/hooks/shouldDeoptDueToParentScheme.js.map +0 -6
- package/dist/esm/hooks/shouldDeoptDueToParentScheme.mjs +0 -5
- package/dist/esm/hooks/shouldDeoptDueToParentScheme.mjs.map +0 -1
- package/dist/esm/hooks/shouldDeoptDueToParentScheme.native.js +0 -29
- package/dist/esm/hooks/shouldDeoptDueToParentScheme.native.js.map +0 -6
- package/src/helpers/ThemeManager.tsx +0 -405
- package/src/helpers/ThemeManagerContext.tsx +0 -4
- package/src/hooks/shouldDeoptDueToParentScheme.native.tsx +0 -37
- package/src/hooks/shouldDeoptDueToParentScheme.tsx +0 -6
- package/types/helpers/ThemeManager.d.ts +0 -45
- package/types/helpers/ThemeManager.d.ts.map +0 -1
- package/types/helpers/ThemeManagerContext.d.ts +0 -4
- package/types/helpers/ThemeManagerContext.d.ts.map +0 -1
- package/types/hooks/shouldDeoptDueToParentScheme.d.ts +0 -3
- package/types/hooks/shouldDeoptDueToParentScheme.d.ts.map +0 -1
- package/types/hooks/shouldDeoptDueToParentScheme.native.d.ts +0 -3
- package/types/hooks/shouldDeoptDueToParentScheme.native.d.ts.map +0 -1
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { useThemeState } from "./useThemeState";
|
|
2
|
+
var forceUpdateState = {
|
|
3
|
+
forceClassName: !0,
|
|
4
|
+
deopt: !0,
|
|
5
|
+
needsUpdate: function() {
|
|
6
|
+
return !0;
|
|
7
|
+
}
|
|
8
|
+
}, forceKeys = {
|
|
9
|
+
current: /* @__PURE__ */ new Set([
|
|
10
|
+
""
|
|
11
|
+
])
|
|
12
|
+
};
|
|
13
|
+
function useThemeName() {
|
|
14
|
+
var _useThemeState;
|
|
15
|
+
return ((_useThemeState = useThemeState(forceUpdateState, !1, forceKeys)) === null || _useThemeState === void 0 ? void 0 : _useThemeState.name) || "";
|
|
15
16
|
}
|
|
16
17
|
export {
|
|
17
18
|
useThemeName
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/useThemeName.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "AACA,SAASA,qBAAqB;AAG9B,IAAMC,mBAAmB;EAAEC,gBAAgB;EAAMC,OAAO;EAAMC,aAAa,WAAA;WAAM;;AAAK,GAChFC,YAAY;EAAEC,SAAS,oBAAIC,IAAI;IAAC;GAAG;AAAE;AAEpC,SAASC,eAAAA;MACPR;AAAP,WAAOA,iBAAAA,cAAcC,kBAAkB,IAAOI,SAAAA,OAAAA,QAAvCL,mBAAAA,SAAAA,SAAAA,eAAmDS,SAAQ;AACpE;",
|
|
5
|
+
"names": ["useThemeState", "forceUpdateState", "forceClassName", "deopt", "needsUpdate", "forceKeys", "current", "Set", "useThemeName", "name"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createContext,
|
|
3
|
+
useCallback,
|
|
4
|
+
useContext,
|
|
5
|
+
useId,
|
|
6
|
+
useLayoutEffect,
|
|
7
|
+
useSyncExternalStore
|
|
8
|
+
} from "react";
|
|
9
|
+
import { getConfig } from "../config";
|
|
10
|
+
const ThemeStateContext = createContext(""), allListeners = /* @__PURE__ */ new Map(), listenersByParent = {}, states = /* @__PURE__ */ new Map(), forceUpdateThemes = () => {
|
|
11
|
+
allListeners.forEach((cb) => cb());
|
|
12
|
+
}, getThemeState = (id) => states.get(id);
|
|
13
|
+
let rootThemeState = null;
|
|
14
|
+
const getRootThemeState = () => rootThemeState, HasRenderedOnce = /* @__PURE__ */ new WeakMap(), useThemeState = (props, isRoot = !1, keys) => {
|
|
15
|
+
const { disable } = props, parentId = useContext(ThemeStateContext);
|
|
16
|
+
if (disable)
|
|
17
|
+
return states.get(parentId) || {
|
|
18
|
+
id: "",
|
|
19
|
+
name: "light",
|
|
20
|
+
theme: getConfig().themes.light,
|
|
21
|
+
inverses: 0
|
|
22
|
+
};
|
|
23
|
+
const id = useId(), subscribe = useCallback(
|
|
24
|
+
(cb) => (listenersByParent[parentId] ||= /* @__PURE__ */ new Set(), listenersByParent[parentId].add(id), allListeners.set(id, cb), () => {
|
|
25
|
+
allListeners.delete(id), listenersByParent[parentId].delete(id);
|
|
26
|
+
}),
|
|
27
|
+
[id, parentId, keys]
|
|
28
|
+
), propsKey = getPropsKey(props), getSnapshot = () => getSnapshotFrom(props, propsKey, isRoot, id, parentId, keys);
|
|
29
|
+
process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
|
|
30
|
+
const state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
31
|
+
return useLayoutEffect(() => {
|
|
32
|
+
if (propsKey) {
|
|
33
|
+
if (!HasRenderedOnce.has(keys)) {
|
|
34
|
+
HasRenderedOnce.set(keys, !0);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name), scheduleUpdate(id);
|
|
38
|
+
}
|
|
39
|
+
}, [keys, propsKey]), process.env.NODE_ENV === "development" && props.debug && (console.groupCollapsed(
|
|
40
|
+
` \xB7 useTheme(${id}) =>`,
|
|
41
|
+
state.name,
|
|
42
|
+
id === state.id ? "\u{1F389}" : "\u23ED\uFE0F"
|
|
43
|
+
), console.info({
|
|
44
|
+
state,
|
|
45
|
+
parentId,
|
|
46
|
+
props,
|
|
47
|
+
propsKey,
|
|
48
|
+
id,
|
|
49
|
+
parentState: states.get(parentId)
|
|
50
|
+
}), console.groupEnd()), state.id === id ? { ...state, isNew: !0 } : state;
|
|
51
|
+
};
|
|
52
|
+
let themes = null;
|
|
53
|
+
const getSnapshotFrom = (props, propsKey, isRoot = !1, id, parentId, keys) => {
|
|
54
|
+
const needsUpdate = keys?.current?.size || props.needsUpdate?.(), parentState = states.get(parentId);
|
|
55
|
+
themes || (themes = getConfig().themes);
|
|
56
|
+
const lastState = states.get(id), name = propsKey ? getNewThemeName(parentState?.name, props, !!needsUpdate) : null;
|
|
57
|
+
if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
|
|
58
|
+
const message = ` \xB7 useTheme(${id}) snapshot ${name}, parent ${parentState?.id} needsUpdate ${needsUpdate}`;
|
|
59
|
+
console.groupCollapsed(message), console.info({ lastState, parentState, props, propsKey, id, keys }), console.groupEnd();
|
|
60
|
+
}
|
|
61
|
+
if (parentState && (!name && propsKey))
|
|
62
|
+
return parentState;
|
|
63
|
+
if (!name)
|
|
64
|
+
return lastState && !needsUpdate ? lastState : (states.set(id, parentState), parentState);
|
|
65
|
+
if (lastState && lastState.name === name)
|
|
66
|
+
return lastState;
|
|
67
|
+
const scheme = getScheme(name), parentInverses = parentState?.inverses ?? 0, isInverse = parentState && scheme !== parentState.scheme, inverses = parentInverses + (isInverse ? 1 : 0), nextState = {
|
|
68
|
+
id,
|
|
69
|
+
name,
|
|
70
|
+
theme: themes[name],
|
|
71
|
+
scheme,
|
|
72
|
+
parentId,
|
|
73
|
+
parentName: parentState?.name,
|
|
74
|
+
inverses,
|
|
75
|
+
isInverse
|
|
76
|
+
};
|
|
77
|
+
return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F ${name}`), console.info("state", nextState), console.groupEnd()), states.set(id, nextState), isRoot && (rootThemeState = nextState), nextState;
|
|
78
|
+
};
|
|
79
|
+
function scheduleUpdate(id) {
|
|
80
|
+
const queue = [id], visited = /* @__PURE__ */ new Set();
|
|
81
|
+
for (; queue.length; ) {
|
|
82
|
+
const parent = queue.shift(), children = listenersByParent[parent];
|
|
83
|
+
if (children)
|
|
84
|
+
for (const childId of children)
|
|
85
|
+
visited.has(childId) || (visited.add(childId), queue.push(childId));
|
|
86
|
+
}
|
|
87
|
+
visited.forEach((childId) => {
|
|
88
|
+
allListeners.get(childId)?.();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
const validSchemes = {
|
|
92
|
+
light: "light",
|
|
93
|
+
dark: "dark"
|
|
94
|
+
};
|
|
95
|
+
function getScheme(name) {
|
|
96
|
+
return validSchemes[name.split("_")[0]];
|
|
97
|
+
}
|
|
98
|
+
function getNewThemeName(parentName = "", { name, reset, componentName, inverse }, forceUpdate = !1) {
|
|
99
|
+
if (name && reset)
|
|
100
|
+
throw new Error(
|
|
101
|
+
process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time."
|
|
102
|
+
);
|
|
103
|
+
if (reset) {
|
|
104
|
+
if (!parentName) throw new Error("\u203C\uFE0F");
|
|
105
|
+
const lastPartIndex = parentName.lastIndexOf("_");
|
|
106
|
+
return lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
|
|
107
|
+
}
|
|
108
|
+
const { themes: themes2 } = getConfig(), parentParts = parentName.split("_"), lastName = parentParts[parentParts.length - 1];
|
|
109
|
+
lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();
|
|
110
|
+
const subNames = [
|
|
111
|
+
name && componentName ? `${name}_${componentName}` : void 0,
|
|
112
|
+
name,
|
|
113
|
+
componentName
|
|
114
|
+
].filter(Boolean);
|
|
115
|
+
let found = null;
|
|
116
|
+
const max = parentParts.length;
|
|
117
|
+
for (let i = 0; i <= max; i++) {
|
|
118
|
+
const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_");
|
|
119
|
+
for (const subName of subNames) {
|
|
120
|
+
const potential = base ? `${base}_${subName}` : subName;
|
|
121
|
+
if (potential in themes2) {
|
|
122
|
+
found = potential;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (found) break;
|
|
127
|
+
}
|
|
128
|
+
if (found && inverse) {
|
|
129
|
+
const scheme = found.split("_")[0];
|
|
130
|
+
found = found.replace(new RegExp(`^${scheme}`), scheme === "light" ? "dark" : "light");
|
|
131
|
+
}
|
|
132
|
+
return !forceUpdate && found === parentName && // if its a scheme only sub-theme, we always consider it "new" because it likely inverses
|
|
133
|
+
// and we want to avoid reparenting
|
|
134
|
+
!validSchemes[found] ? null : found;
|
|
135
|
+
}
|
|
136
|
+
const getPropsKey = ({
|
|
137
|
+
name,
|
|
138
|
+
reset,
|
|
139
|
+
inverse,
|
|
140
|
+
forceClassName,
|
|
141
|
+
componentName
|
|
142
|
+
}) => `${name || ""}${inverse || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`, hasThemeUpdatingProps = (props) => "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props;
|
|
143
|
+
export {
|
|
144
|
+
ThemeStateContext,
|
|
145
|
+
forceUpdateThemes,
|
|
146
|
+
getRootThemeState,
|
|
147
|
+
getThemeState,
|
|
148
|
+
hasThemeUpdatingProps,
|
|
149
|
+
useThemeState
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=useThemeState.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useThemeState.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["themes"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { createContext, useCallback, useContext, useId, useLayoutEffect, useSyncExternalStore } from "react";
|
|
2
|
+
import { getConfig } from "../config.mjs";
|
|
3
|
+
const ThemeStateContext = createContext(""),
|
|
4
|
+
allListeners = /* @__PURE__ */new Map(),
|
|
5
|
+
listenersByParent = {},
|
|
6
|
+
states = /* @__PURE__ */new Map(),
|
|
7
|
+
forceUpdateThemes = () => {
|
|
8
|
+
allListeners.forEach(cb => cb());
|
|
9
|
+
},
|
|
10
|
+
getThemeState = id => states.get(id);
|
|
11
|
+
let rootThemeState = null;
|
|
12
|
+
const getRootThemeState = () => rootThemeState,
|
|
13
|
+
HasRenderedOnce = /* @__PURE__ */new WeakMap(),
|
|
14
|
+
useThemeState = (props, isRoot = !1, keys) => {
|
|
15
|
+
const {
|
|
16
|
+
disable
|
|
17
|
+
} = props,
|
|
18
|
+
parentId = useContext(ThemeStateContext);
|
|
19
|
+
if (disable) return states.get(parentId) || {
|
|
20
|
+
id: "",
|
|
21
|
+
name: "light",
|
|
22
|
+
theme: getConfig().themes.light,
|
|
23
|
+
inverses: 0
|
|
24
|
+
};
|
|
25
|
+
const id = useId(),
|
|
26
|
+
subscribe = useCallback(cb => (listenersByParent[parentId] ||= /* @__PURE__ */new Set(), listenersByParent[parentId].add(id), allListeners.set(id, cb), () => {
|
|
27
|
+
allListeners.delete(id), listenersByParent[parentId].delete(id);
|
|
28
|
+
}), [id, parentId, keys]),
|
|
29
|
+
propsKey = getPropsKey(props),
|
|
30
|
+
getSnapshot = () => getSnapshotFrom(props, propsKey, isRoot, id, parentId, keys);
|
|
31
|
+
process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
|
|
32
|
+
const state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
33
|
+
return useLayoutEffect(() => {
|
|
34
|
+
if (propsKey) {
|
|
35
|
+
if (!HasRenderedOnce.has(keys)) {
|
|
36
|
+
HasRenderedOnce.set(keys, !0);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name), scheduleUpdate(id);
|
|
40
|
+
}
|
|
41
|
+
}, [keys, propsKey]), process.env.NODE_ENV === "development" && props.debug && (console.groupCollapsed(` \xB7 useTheme(${id}) =>`, state.name, id === state.id ? "\u{1F389}" : "\u23ED\uFE0F"), console.info({
|
|
42
|
+
state,
|
|
43
|
+
parentId,
|
|
44
|
+
props,
|
|
45
|
+
propsKey,
|
|
46
|
+
id,
|
|
47
|
+
parentState: states.get(parentId)
|
|
48
|
+
}), console.groupEnd()), state.id === id ? {
|
|
49
|
+
...state,
|
|
50
|
+
isNew: !0
|
|
51
|
+
} : state;
|
|
52
|
+
};
|
|
53
|
+
let themes = null;
|
|
54
|
+
const getSnapshotFrom = (props, propsKey, isRoot = !1, id, parentId, keys) => {
|
|
55
|
+
const needsUpdate = keys?.current?.size || props.needsUpdate?.(),
|
|
56
|
+
parentState = states.get(parentId);
|
|
57
|
+
themes || (themes = getConfig().themes);
|
|
58
|
+
const lastState = states.get(id),
|
|
59
|
+
name = propsKey ? getNewThemeName(parentState?.name, props, !!needsUpdate) : null;
|
|
60
|
+
if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
|
|
61
|
+
const message = ` \xB7 useTheme(${id}) snapshot ${name}, parent ${parentState?.id} needsUpdate ${needsUpdate}`;
|
|
62
|
+
console.groupCollapsed(message), console.info({
|
|
63
|
+
lastState,
|
|
64
|
+
parentState,
|
|
65
|
+
props,
|
|
66
|
+
propsKey,
|
|
67
|
+
id,
|
|
68
|
+
keys
|
|
69
|
+
}), console.groupEnd();
|
|
70
|
+
}
|
|
71
|
+
if (parentState && !name && propsKey) return parentState;
|
|
72
|
+
if (!name) return lastState && !needsUpdate ? lastState : (states.set(id, parentState), parentState);
|
|
73
|
+
if (lastState && lastState.name === name) return lastState;
|
|
74
|
+
const scheme = getScheme(name),
|
|
75
|
+
parentInverses = parentState?.inverses ?? 0,
|
|
76
|
+
isInverse = parentState && scheme !== parentState.scheme,
|
|
77
|
+
inverses = parentInverses + (isInverse ? 1 : 0),
|
|
78
|
+
nextState = {
|
|
79
|
+
id,
|
|
80
|
+
name,
|
|
81
|
+
theme: themes[name],
|
|
82
|
+
scheme,
|
|
83
|
+
parentId,
|
|
84
|
+
parentName: parentState?.name,
|
|
85
|
+
inverses,
|
|
86
|
+
isInverse
|
|
87
|
+
};
|
|
88
|
+
return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F ${name}`), console.info("state", nextState), console.groupEnd()), states.set(id, nextState), isRoot && (rootThemeState = nextState), nextState;
|
|
89
|
+
};
|
|
90
|
+
function scheduleUpdate(id) {
|
|
91
|
+
const queue = [id],
|
|
92
|
+
visited = /* @__PURE__ */new Set();
|
|
93
|
+
for (; queue.length;) {
|
|
94
|
+
const parent = queue.shift(),
|
|
95
|
+
children = listenersByParent[parent];
|
|
96
|
+
if (children) for (const childId of children) visited.has(childId) || (visited.add(childId), queue.push(childId));
|
|
97
|
+
}
|
|
98
|
+
visited.forEach(childId => {
|
|
99
|
+
allListeners.get(childId)?.();
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
const validSchemes = {
|
|
103
|
+
light: "light",
|
|
104
|
+
dark: "dark"
|
|
105
|
+
};
|
|
106
|
+
function getScheme(name) {
|
|
107
|
+
return validSchemes[name.split("_")[0]];
|
|
108
|
+
}
|
|
109
|
+
function getNewThemeName(parentName = "", {
|
|
110
|
+
name,
|
|
111
|
+
reset,
|
|
112
|
+
componentName,
|
|
113
|
+
inverse
|
|
114
|
+
}, forceUpdate = !1) {
|
|
115
|
+
if (name && reset) throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
|
|
116
|
+
if (reset) {
|
|
117
|
+
if (!parentName) throw new Error("\u203C\uFE0F");
|
|
118
|
+
const lastPartIndex = parentName.lastIndexOf("_");
|
|
119
|
+
return lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
|
|
120
|
+
}
|
|
121
|
+
const {
|
|
122
|
+
themes: themes2
|
|
123
|
+
} = getConfig(),
|
|
124
|
+
parentParts = parentName.split("_"),
|
|
125
|
+
lastName = parentParts[parentParts.length - 1];
|
|
126
|
+
lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();
|
|
127
|
+
const subNames = [name && componentName ? `${name}_${componentName}` : void 0, name, componentName].filter(Boolean);
|
|
128
|
+
let found = null;
|
|
129
|
+
const max = parentParts.length;
|
|
130
|
+
for (let i = 0; i <= max; i++) {
|
|
131
|
+
const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_");
|
|
132
|
+
for (const subName of subNames) {
|
|
133
|
+
const potential = base ? `${base}_${subName}` : subName;
|
|
134
|
+
if (potential in themes2) {
|
|
135
|
+
found = potential;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (found) break;
|
|
140
|
+
}
|
|
141
|
+
if (found && inverse) {
|
|
142
|
+
const scheme = found.split("_")[0];
|
|
143
|
+
found = found.replace(new RegExp(`^${scheme}`), scheme === "light" ? "dark" : "light");
|
|
144
|
+
}
|
|
145
|
+
return !forceUpdate && found === parentName &&
|
|
146
|
+
// if its a scheme only sub-theme, we always consider it "new" because it likely inverses
|
|
147
|
+
// and we want to avoid reparenting
|
|
148
|
+
!validSchemes[found] ? null : found;
|
|
149
|
+
}
|
|
150
|
+
const getPropsKey = ({
|
|
151
|
+
name,
|
|
152
|
+
reset,
|
|
153
|
+
inverse,
|
|
154
|
+
forceClassName,
|
|
155
|
+
componentName
|
|
156
|
+
}) => `${name || ""}${inverse || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`,
|
|
157
|
+
hasThemeUpdatingProps = props => "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props;
|
|
158
|
+
export { ThemeStateContext, forceUpdateThemes, getRootThemeState, getThemeState, hasThemeUpdatingProps, useThemeState };
|
|
159
|
+
//# sourceMappingURL=useThemeState.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useId","useLayoutEffect","useSyncExternalStore","getConfig","ThemeStateContext","allListeners","Map","listenersByParent","states","forceUpdateThemes","forEach","cb","getThemeState","id","get","rootThemeState","getRootThemeState","HasRenderedOnce","WeakMap","useThemeState","props","isRoot","keys","disable","parentId","name","theme","themes","light","inverses","subscribe","Set","add","set","delete","propsKey","getPropsKey","getSnapshot","getSnapshotFrom","process","env","NODE_ENV","globalThis","time","state","has","debug","console","warn","scheduleUpdate","groupCollapsed","info","parentState","groupEnd","isNew","needsUpdate","current","size","lastState","getNewThemeName","message","scheme","getScheme","parentInverses","isInverse","nextState","parentName","queue","visited","length","parent","shift","children","childId","push","validSchemes","dark","split","reset","componentName","inverse","forceUpdate","Error","lastPartIndex","lastIndexOf","slice","themes2","parentParts","lastName","toLowerCase","pop","subNames","filter","Boolean","found","max","i","base","join","subName","potential","replace","RegExp","forceClassName","hasThemeUpdatingProps"],"sources":["../../../src/hooks/useThemeState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { createContext, useCallback, useContext, useId, useLayoutEffect, useSyncExternalStore } from "react";
|
|
2
|
+
import { getConfig } from "../config";
|
|
3
|
+
var ThemeStateContext = createContext(""), allListeners = /* @__PURE__ */ new Map(), listenersByParent = {}, states = /* @__PURE__ */ new Map(), forceUpdateThemes = function() {
|
|
4
|
+
allListeners.forEach(function(cb) {
|
|
5
|
+
return cb();
|
|
6
|
+
});
|
|
7
|
+
}, getThemeState = function(id) {
|
|
8
|
+
return states.get(id);
|
|
9
|
+
}, rootThemeState = null, getRootThemeState = function() {
|
|
10
|
+
return rootThemeState;
|
|
11
|
+
}, HasRenderedOnce = /* @__PURE__ */ new WeakMap(), useThemeState = function(props) {
|
|
12
|
+
var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, keys = arguments.length > 2 ? arguments[2] : void 0, { disable } = props, parentId = useContext(ThemeStateContext);
|
|
13
|
+
if (disable)
|
|
14
|
+
return states.get(parentId) || {
|
|
15
|
+
id: "",
|
|
16
|
+
name: "light",
|
|
17
|
+
theme: getConfig().themes.light,
|
|
18
|
+
inverses: 0
|
|
19
|
+
};
|
|
20
|
+
var id = useId(), subscribe = useCallback(function(cb) {
|
|
21
|
+
var _listenersByParent, _parentId;
|
|
22
|
+
return (_listenersByParent = listenersByParent)[_parentId = parentId] || (_listenersByParent[_parentId] = /* @__PURE__ */ new Set()), listenersByParent[parentId].add(id), allListeners.set(id, cb), function() {
|
|
23
|
+
allListeners.delete(id), listenersByParent[parentId].delete(id);
|
|
24
|
+
};
|
|
25
|
+
}, [
|
|
26
|
+
id,
|
|
27
|
+
parentId,
|
|
28
|
+
keys
|
|
29
|
+
]), propsKey = getPropsKey(props), getSnapshot = function() {
|
|
30
|
+
return getSnapshotFrom(props, propsKey, isRoot, id, parentId, keys);
|
|
31
|
+
};
|
|
32
|
+
process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
|
|
33
|
+
var state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
34
|
+
return useLayoutEffect(function() {
|
|
35
|
+
if (propsKey) {
|
|
36
|
+
if (!HasRenderedOnce.has(keys)) {
|
|
37
|
+
HasRenderedOnce.set(keys, !0);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
|
|
41
|
+
var _states_get;
|
|
42
|
+
console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, (_states_get = states.get(id)) === null || _states_get === void 0 ? void 0 : _states_get.name);
|
|
43
|
+
}
|
|
44
|
+
scheduleUpdate(id);
|
|
45
|
+
}
|
|
46
|
+
}, [
|
|
47
|
+
keys,
|
|
48
|
+
propsKey
|
|
49
|
+
]), process.env.NODE_ENV === "development" && props.debug && (console.groupCollapsed(` \xB7 useTheme(${id}) =>`, state.name, id === state.id ? "\u{1F389}" : "\u23ED\uFE0F"), console.info({
|
|
50
|
+
state,
|
|
51
|
+
parentId,
|
|
52
|
+
props,
|
|
53
|
+
propsKey,
|
|
54
|
+
id,
|
|
55
|
+
parentState: states.get(parentId)
|
|
56
|
+
}), console.groupEnd()), state.id === id ? {
|
|
57
|
+
...state,
|
|
58
|
+
isNew: !0
|
|
59
|
+
} : state;
|
|
60
|
+
}, themes = null, getSnapshotFrom = function(props, propsKey) {
|
|
61
|
+
var isRoot = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, id = arguments.length > 3 ? arguments[3] : void 0, parentId = arguments.length > 4 ? arguments[4] : void 0, keys = arguments.length > 5 ? arguments[5] : void 0, _keys_current, _props_needsUpdate, needsUpdate = (keys == null || (_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) || ((_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props)), parentState = states.get(parentId);
|
|
62
|
+
themes || (themes = getConfig().themes);
|
|
63
|
+
var lastState = states.get(id), name = propsKey ? getNewThemeName(parentState?.name, props, !!needsUpdate) : null;
|
|
64
|
+
if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
|
|
65
|
+
var message = ` \xB7 useTheme(${id}) snapshot ${name}, parent ${parentState?.id} needsUpdate ${needsUpdate}`;
|
|
66
|
+
console.info(message);
|
|
67
|
+
}
|
|
68
|
+
var isSameAsParent = !name && propsKey;
|
|
69
|
+
if (parentState && isSameAsParent)
|
|
70
|
+
return parentState;
|
|
71
|
+
if (!name)
|
|
72
|
+
return lastState && !needsUpdate ? lastState : (states.set(id, parentState), parentState);
|
|
73
|
+
if (lastState && lastState.name === name)
|
|
74
|
+
return lastState;
|
|
75
|
+
var scheme = getScheme(name), _parentState_inverses, parentInverses = (_parentState_inverses = parentState?.inverses) !== null && _parentState_inverses !== void 0 ? _parentState_inverses : 0, isInverse = parentState && scheme !== parentState.scheme, inverses = parentInverses + (isInverse ? 1 : 0), nextState = {
|
|
76
|
+
id,
|
|
77
|
+
name,
|
|
78
|
+
theme: themes[name],
|
|
79
|
+
scheme,
|
|
80
|
+
parentId,
|
|
81
|
+
parentName: parentState?.name,
|
|
82
|
+
inverses,
|
|
83
|
+
isInverse
|
|
84
|
+
};
|
|
85
|
+
return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F ${name}`), console.info("state", nextState), console.groupEnd()), states.set(id, nextState), isRoot && (rootThemeState = nextState), nextState;
|
|
86
|
+
};
|
|
87
|
+
function scheduleUpdate(id) {
|
|
88
|
+
for (var queue = [
|
|
89
|
+
id
|
|
90
|
+
], visited = /* @__PURE__ */ new Set(); queue.length; ) {
|
|
91
|
+
var parent = queue.shift(), children = listenersByParent[parent];
|
|
92
|
+
if (children) {
|
|
93
|
+
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
94
|
+
try {
|
|
95
|
+
for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
96
|
+
var childId = _step.value;
|
|
97
|
+
visited.has(childId) || (visited.add(childId), queue.push(childId));
|
|
98
|
+
}
|
|
99
|
+
} catch (err) {
|
|
100
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
101
|
+
} finally {
|
|
102
|
+
try {
|
|
103
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
104
|
+
} finally {
|
|
105
|
+
if (_didIteratorError)
|
|
106
|
+
throw _iteratorError;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
visited.forEach(function(childId2) {
|
|
112
|
+
var cb = allListeners.get(childId2);
|
|
113
|
+
cb?.();
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
var validSchemes = {
|
|
117
|
+
light: "light",
|
|
118
|
+
dark: "dark"
|
|
119
|
+
};
|
|
120
|
+
function getScheme(name) {
|
|
121
|
+
return validSchemes[name.split("_")[0]];
|
|
122
|
+
}
|
|
123
|
+
function getNewThemeName() {
|
|
124
|
+
var parentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", { name, reset, componentName, inverse } = arguments.length > 1 ? arguments[1] : void 0, forceUpdate = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
|
|
125
|
+
if (name && reset)
|
|
126
|
+
throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
|
|
127
|
+
if (reset) {
|
|
128
|
+
if (!parentName) throw new Error("\u203C\uFE0F");
|
|
129
|
+
var lastPartIndex = parentName.lastIndexOf("_");
|
|
130
|
+
return lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
|
|
131
|
+
}
|
|
132
|
+
var { themes: themes2 } = getConfig(), parentParts = parentName.split("_"), lastName = parentParts[parentParts.length - 1];
|
|
133
|
+
lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();
|
|
134
|
+
for (var subNames = [
|
|
135
|
+
name && componentName ? `${name}_${componentName}` : void 0,
|
|
136
|
+
name,
|
|
137
|
+
componentName
|
|
138
|
+
].filter(Boolean), found = null, max = parentParts.length, i = 0; i <= max; i++) {
|
|
139
|
+
var base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_"), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
140
|
+
try {
|
|
141
|
+
for (var _iterator = subNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
142
|
+
var subName = _step.value, potential = base ? `${base}_${subName}` : subName;
|
|
143
|
+
if (potential in themes2) {
|
|
144
|
+
found = potential;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
} catch (err) {
|
|
149
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
150
|
+
} finally {
|
|
151
|
+
try {
|
|
152
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
153
|
+
} finally {
|
|
154
|
+
if (_didIteratorError)
|
|
155
|
+
throw _iteratorError;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (found) break;
|
|
159
|
+
}
|
|
160
|
+
if (found && inverse) {
|
|
161
|
+
var scheme = found.split("_")[0];
|
|
162
|
+
found = found.replace(new RegExp(`^${scheme}`), scheme === "light" ? "dark" : "light");
|
|
163
|
+
}
|
|
164
|
+
return !forceUpdate && found === parentName && // if its a scheme only sub-theme, we always consider it "new" because it likely inverses
|
|
165
|
+
// and we want to avoid reparenting
|
|
166
|
+
!validSchemes[found] ? null : found;
|
|
167
|
+
}
|
|
168
|
+
var getPropsKey = function(param) {
|
|
169
|
+
var { name, reset, inverse, forceClassName, componentName } = param;
|
|
170
|
+
return `${name || ""}${inverse || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`;
|
|
171
|
+
}, hasThemeUpdatingProps = function(props) {
|
|
172
|
+
return "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props;
|
|
173
|
+
};
|
|
174
|
+
export {
|
|
175
|
+
ThemeStateContext,
|
|
176
|
+
forceUpdateThemes,
|
|
177
|
+
getRootThemeState,
|
|
178
|
+
getThemeState,
|
|
179
|
+
hasThemeUpdatingProps,
|
|
180
|
+
useThemeState
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=useThemeState.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/useThemeState.ts"],
|
|
4
|
+
"mappings": "AAAA,SACEA,eACAC,aACAC,YACAC,OACAC,iBACAC,4BAEK;AACP,SAASC,iBAAiB;AAiBnB,IAAMC,oBAAoBP,cAAkB,EAAA,GAE7CQ,eAAe,oBAAIC,IAAAA,GACnBC,oBAAyC,CAAC,GAG1CC,SAA0C,oBAAIF,IAAAA,GAEvCG,oBAAoB,WAAA;AAC/BJ,eAAaK,QAAQ,SAACC,IAAAA;WAAOA,GAAAA;;AAC/B,GAEaC,gBAAgB,SAACC,IAAAA;SAAWL,OAAOM,IAAID,EAAAA;GAEhDE,iBAAoC,MAC3BC,oBAAoB,WAAA;SAAMD;GAEjCE,kBAAkB,oBAAIC,QAAAA,GAEfC,gBAAgB,SAC3BC,OAAAA;MACAC,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS,IACTC,OAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QAEM,EAAEC,QAAO,IAAKH,OACdI,WAAWzB,WAAWK,iBAAAA;AAE5B,MAAImB;AACF,WACEf,OAAOM,IAAIU,QAAAA,KAAa;MACtBX,IAAI;MACJY,MAAM;MACNC,OAAOvB,UAAAA,EAAYwB,OAAOC;MAC1BC,UAAU;IACZ;AAIJ,MAAMhB,KAAKb,MAAAA,GACL8B,YAAYhC,YAChB,SAACa,IAAAA;QACCJ,oBAAkBiB;AAAlBjB,YAAAA,qBAAAA,mBAAkBiB,YAAAA,QAAAA,MAAlBjB,mBAAkBiB,SAAAA,IAAc,oBAAIO,IAAAA,IACpCxB,kBAAkBiB,QAAAA,EAAUQ,IAAInB,EAAAA,GAChCR,aAAa4B,IAAIpB,IAAIF,EAAAA,GACd,WAAA;AACLN,mBAAa6B,OAAOrB,EAAAA,GACpBN,kBAAkBiB,QAAAA,EAAUU,OAAOrB,EAAAA;IACrC;EACF,GACA;IAACA;IAAIW;IAAUF;GAAK,GAGhBa,WAAWC,YAAYhB,KAAAA,GAEvBiB,cAAc,WAAA;AAClB,WAAOC,gBAAgBlB,OAAOe,UAAUd,QAAQR,IAAIW,UAAUF,IAAAA;EAChE;AAEA,EAAIiB,QAAQC,IAAIC,aAAa,iBAAiBC,WAAWC,QACvDD,WAAWC;AAEb,MAAMC,QAAQ1C,qBAAqB4B,WAAWO,aAAaA,WAAAA;AAE3DpC,yBAAgB,WAAA;AACd,QAAKkC,UACL;UAAI,CAAClB,gBAAgB4B,IAAIvB,IAAAA,GAAO;AAC9BL,wBAAgBgB,IAAIX,MAAM,EAAA;AAC1B;MACF;AACA,UACEiB,QAAQC,IAAIC,aAAa,iBACzBrB,MAAM0B,SACN1B,MAAM0B,UAAU,WAChB;YAC4DtC;AAA5DuC,gBAAQC,KAAK,kBAAenC,EAAAA,oBAAsBsB,WAAU3B,cAAAA,OAAOM,IAAID,EAAAA,OAAAA,QAAXL,gBAAAA,SAAAA,SAAAA,YAAgBiB,IAAI;MAClF;AACAwB,qBAAepC,EAAAA;;EACjB,GAAG;IAACS;IAAMa;GAAS,GAEfI,QAAQC,IAAIC,aAAa,iBAAiBrB,MAAM0B,UAClDC,QAAQG,eACN,kBAAerC,EAAAA,QACf+B,MAAMnB,MACNZ,OAAO+B,MAAM/B,KAAK,cAAO,cAAA,GAE3BkC,QAAQI,KAAK;IACXP;IACApB;IACAJ;IACAe;IACAtB;IACAuC,aAAa5C,OAAOM,IAAIU,QAAAA;EAC1B,CAAA,GACAuB,QAAQM,SAAQ,IAGXT,MAAM/B,OAAOA,KAAK;IAAE,GAAG+B;IAAOU,OAAO;EAAK,IAAIV;AACvD,GAGIjB,SAA6C,MAE3CW,kBAAkB,SACtBlB,OACAe,UAAAA;MACAd,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS,IACTR,KAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QACAW,WAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QACAF,OAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QAEoBA,eAAuBF,oBAArCmC,eAAcjC,QAAAA,SAAAA,gBAAAA,KAAMkC,aAAO,QAAblC,kBAAAA,SAAAA,SAAAA,cAAemC,WAAQrC,qBAAAA,MAAMmC,iBAAW,QAAjBnC,uBAAAA,SAAAA,SAAAA,mBAAAA,KAAAA,KAAAA,IACrCgC,cAAc5C,OAAOM,IAAIU,QAAAA;AAO/B,EAAKG,WACHA,SAASxB,UAAAA,EAAYwB;AAGvB,MAAM+B,YAAYlD,OAAOM,IAAID,EAAAA,GAEvBY,OAAQU,WAAkBwB,gBAAgBP,aAAa3B,MAAML,OAAO,CAAC,CAACmC,WAAAA,IAAnD;AAEzB,MACEhB,QAAQC,IAAIC,aAAa,iBACzBrB,MAAM0B,SACN1B,MAAM0B,UAAU,WAChB;AACA,QAAMc,UAAU,kBAAe/C,EAAAA,cAAgBY,IAAAA,YAAgB2B,aAAavC,EAAE,gBAAgB0C,WAAAA;AAE5FR,YAAQI,KAAKS,OAAAA;EAMjB;AAEA,MAAMC,iBAAiB,CAACpC,QAAQU;AAChC,MAAIiB,eAAeS;AACjB,WAAOT;AAGT,MAAI,CAAC3B;AACH,WAAIiC,aAAa,CAACH,cACTG,aAETlD,OAAOyB,IAAIpB,IAAIuC,WAAAA,GAERA;AAGT,MACEM,aACAA,UAAUjC,SAASA;AAKnB,WAAOiC;AAGT,MAAMI,SAASC,UAAUtC,IAAAA,GACF2B,uBAAjBY,kBAAiBZ,wBAAAA,aAAavB,cAAQ,QAArBuB,0BAAAA,SAAAA,wBAAyB,GAC1Ca,YAAYb,eAAeU,WAAWV,YAAYU,QAClDjC,WAAWmC,kBAAkBC,YAAY,IAAI,IAE7CC,YAAY;IAChBrD;IACAY;IACAC,OAAOC,OAAOF,IAAAA;IACdqC;IACAtC;IACA2C,YAAYf,aAAa3B;IACzBI;IACAoC;EACF;AAEA,SACE1B,QAAQC,IAAIC,aAAa,iBACzBrB,MAAM0B,SACN1B,MAAM0B,UAAU,cAEhBC,QAAQG,eAAe,kBAAerC,EAAAA,kBAAUY,IAAAA,EAAM,GACtDsB,QAAQI,KAAK,SAASe,SAAAA,GACtBnB,QAAQM,SAAQ,IAGlB7C,OAAOyB,IAAIpB,IAAIqD,SAAAA,GAGX7C,WACFN,iBAAiBmD,YAGZA;AACT;AAEA,SAASjB,eAAepC,IAAU;AAIhC,WAHMuD,QAAQ;IAACvD;KACTwD,UAAU,oBAAItC,IAAAA,GAEbqC,MAAME,UAAQ;AACnB,QAAMC,SAASH,MAAMI,MAAK,GACpBC,WAAWlE,kBAAkBgE,MAAAA;AACnC,QAAIE,UAAU;UACP,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,iBAAK,YAAiBA,SAAAA,OAAAA,QAAAA,EAAAA,GAAjB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAA2B;AAA3B,cAAMC,UAAN,MAAA;AACH,UAAKL,QAAQxB,IAAI6B,OAAAA,MACfL,QAAQrC,IAAI0C,OAAAA,GACZN,MAAMO,KAAKD,OAAAA;QAEf;;AALK,4BAAA,IAAA,iBAAA;;;WAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;cAAA;kBAAA;;;IAMP;EACF;AAEAL,UAAQ3D,QAAQ,SAACgE,UAAAA;AACf,QAAM/D,KAAKN,aAAaS,IAAI4D,QAAAA;AAC5B/D,IAAAA,KAAAA;EACF,CAAA;AACF;AAEA,IAAMiE,eAAe;EACnBhD,OAAO;EACPiD,MAAM;AACR;AAEA,SAASd,UAAUtC,MAAY;AAC7B,SAAOmD,aAAanD,KAAKqD,MAAM,GAAA,EAAK,CAAA,CAAE;AACxC;AAEA,SAASnB,kBAAAA;MACPQ,aAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAa,IACb,EAAE1C,MAAMsD,OAAOC,eAAeC,QAAO,IAA0B,UAAA,SAAA,IAAA,UAAA,CAAA,IAAA,QAC/DC,cAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAc;AAEd,MAAIzD,QAAQsD;AACV,UAAM,IAAII,MACR5C,QAAQC,IAAIC,aAAa,eACrB,cACA,mDAAA;AAIR,MAAIsC,OAAO;AACT,QAAI,CAACZ,WAAY,OAAM,IAAIgB,MAAM,cAAI;AACrC,QAAMC,gBAAgBjB,WAAWkB,YAAY,GAAA;AAC7C,WAAOD,iBAAiB,IAAIjB,aAAaA,WAAWmB,MAAMF,aAAAA;EAC5D;AAEA,MAAM,EAAEzD,QAAAA,QAAM,IAAKxB,UAAAA,GACboF,cAAcpB,WAAWW,MAAM,GAAA,GAG/BU,WAAWD,YAAYA,YAAYjB,SAAS,CAAA;AAClD,EAAIkB,YAAYA,SAAS,CAAA,EAAGC,YAAW,MAAOD,SAAS,CAAA,KACrDD,YAAYG,IAAG;AAajB,WAVMC,WAAW;IACflE,QAAQuD,gBAAgB,GAAGvD,IAAAA,IAAQuD,aAAAA,KAAkBY;IACrDnE;IACAuD;IACAa,OAAOC,OAAAA,GAELC,QAAuB,MAErBC,MAAMT,YAAYjB,QAEf2B,IAAI,GAAGA,KAAKD,KAAKC,KAAK;AAC7B,QAAMC,QAAQD,MAAM,IAAIV,cAAcA,YAAYD,MAAM,GAAG,CAACW,CAAAA,GAAIE,KAAK,GAAA,GAEhE,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,eAAK,YAAiBR,SAAAA,OAAAA,QAAAA,EAAAA,GAAjB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAA2B;AAA3B,YAAMS,UAAN,MAAA,OACGC,YAAYH,OAAO,GAAGA,IAAAA,IAAQE,OAAAA,KAAYA;AAEhD,YAAIC,aAAa1E,SAAQ;AACvBoE,kBAAQM;AACR;QACF;MACF;;AAPK,0BAAA,IAAA,iBAAA;;;SAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;YAAA;gBAAA;;;AASL,QAAIN,MAAO;EACb;AAEA,MAAIA,SAASd,SAAS;AACpB,QAAMnB,SAASiC,MAAMjB,MAAM,GAAA,EAAK,CAAA;AAChCiB,YAAQA,MAAMO,QAAQ,IAAIC,OAAO,IAAIzC,MAAAA,EAAQ,GAAGA,WAAW,UAAU,SAAS,OAAA;EAChF;AAEA,SACE,CAACoB,eACDa,UAAU5B;;EAGV,CAACS,aAAamB,KAAAA,IAEP,OAGFA;AACT;AAEA,IAAM3D,cAAc,SAAA,OAAA;MAAC,EACnBX,MACAsD,OACAE,SACAuB,gBACAxB,cAAa,IACF;SACX,GAAGvD,QAAQ,EAAA,GAAKwD,WAAW,EAAA,GAAKF,SAAS,EAAA,GAAKyB,kBAAkB,EAAA,GAAKxB,iBAAiB,EAAA;GAE3EyB,wBAAwB,SAACrF,OAAAA;SACpC,aAAaA,SAAS,UAAUA,SAAS,WAAWA,SAAS,oBAAoBA;;",
|
|
5
|
+
"names": ["createContext", "useCallback", "useContext", "useId", "useLayoutEffect", "useSyncExternalStore", "getConfig", "ThemeStateContext", "allListeners", "Map", "listenersByParent", "states", "forceUpdateThemes", "forEach", "cb", "getThemeState", "id", "get", "rootThemeState", "getRootThemeState", "HasRenderedOnce", "WeakMap", "useThemeState", "props", "isRoot", "keys", "disable", "parentId", "name", "theme", "themes", "light", "inverses", "subscribe", "Set", "add", "set", "delete", "propsKey", "getPropsKey", "getSnapshot", "getSnapshotFrom", "process", "env", "NODE_ENV", "globalThis", "time", "state", "has", "debug", "console", "warn", "scheduleUpdate", "groupCollapsed", "info", "parentState", "groupEnd", "isNew", "needsUpdate", "current", "size", "lastState", "getNewThemeName", "message", "isSameAsParent", "scheme", "getScheme", "parentInverses", "isInverse", "nextState", "parentName", "queue", "visited", "length", "parent", "shift", "children", "childId", "push", "validSchemes", "dark", "split", "reset", "componentName", "inverse", "forceUpdate", "Error", "lastPartIndex", "lastIndexOf", "slice", "parentParts", "lastName", "toLowerCase", "pop", "subNames", "undefined", "filter", "Boolean", "found", "max", "i", "base", "join", "subName", "potential", "replace", "RegExp", "forceClassName", "hasThemeUpdatingProps"]
|
|
6
|
+
}
|
package/dist/esm/index.js
CHANGED
|
@@ -63,6 +63,7 @@ import {
|
|
|
63
63
|
mediaQueryConfig
|
|
64
64
|
} from "./hooks/useMedia";
|
|
65
65
|
export * from "./hooks/useTheme";
|
|
66
|
+
import { forceUpdateThemes } from "./hooks/useThemeState";
|
|
66
67
|
export * from "./hooks/useThemeName";
|
|
67
68
|
export * from "./hooks/useConfiguration";
|
|
68
69
|
export * from "./hooks/useIsTouchDevice";
|
|
@@ -86,6 +87,7 @@ export * from "./setupHooks";
|
|
|
86
87
|
export {
|
|
87
88
|
_disableMediaTouch,
|
|
88
89
|
configureMedia,
|
|
90
|
+
forceUpdateThemes,
|
|
89
91
|
getConfig,
|
|
90
92
|
getMedia,
|
|
91
93
|
getSetting,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AASd,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,gBAAgB;AAEzB,cAAc;AAEd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;",
|
|
4
|
+
"mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AASd,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,gBAAgB;AAEzB,cAAc;AAEd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,cAAc;AACd,SAAS,yBAAyB;AAClC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -44,6 +44,7 @@ export * from "./helpers/transformsToString.mjs";
|
|
|
44
44
|
export * from "./helpers/wrapStyleTags.mjs";
|
|
45
45
|
import { configureMedia, mediaState, mediaKeyMatch, useMedia, _disableMediaTouch, getMedia, mediaObjectToString, mediaQueryConfig } from "./hooks/useMedia.mjs";
|
|
46
46
|
export * from "./hooks/useTheme.mjs";
|
|
47
|
+
import { forceUpdateThemes } from "./hooks/useThemeState.mjs";
|
|
47
48
|
export * from "./hooks/useThemeName.mjs";
|
|
48
49
|
export * from "./hooks/useConfiguration.mjs";
|
|
49
50
|
export * from "./hooks/useIsTouchDevice.mjs";
|
|
@@ -64,5 +65,5 @@ export * from "@tamagui/compose-refs";
|
|
|
64
65
|
export * from "@tamagui/helpers";
|
|
65
66
|
export * from "@tamagui/constants";
|
|
66
67
|
export * from "./setupHooks.mjs";
|
|
67
|
-
export { _disableMediaTouch, configureMedia, getConfig, getMedia, getSetting, getThemes, getToken, getTokenValue, getTokens, mediaKeyMatch, mediaObjectToString, mediaQueryConfig, mediaState, setConfig, setNonce, setupDev, updateConfig, useMedia };
|
|
68
|
+
export { _disableMediaTouch, configureMedia, forceUpdateThemes, getConfig, getMedia, getSetting, getThemes, getToken, getTokenValue, getTokens, mediaKeyMatch, mediaObjectToString, mediaQueryConfig, mediaState, setConfig, setNonce, setupDev, updateConfig, useMedia };
|
|
68
69
|
//# sourceMappingURL=index.mjs.map
|