@tamagui/web 1.124.3 → 1.124.5
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/helpers/insertStyleRule.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/webPropsToSkip.native.js +0 -2
- package/dist/cjs/helpers/webPropsToSkip.native.js.map +2 -2
- package/dist/cjs/hooks/getThemeProxied.cjs +21 -15
- package/dist/cjs/hooks/getThemeProxied.js +20 -12
- package/dist/cjs/hooks/getThemeProxied.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.native.js +25 -21
- package/dist/cjs/hooks/getThemeProxied.native.js.map +2 -2
- package/dist/cjs/hooks/useThemeState.cjs +76 -62
- package/dist/cjs/hooks/useThemeState.js +51 -39
- package/dist/cjs/hooks/useThemeState.js.map +2 -2
- package/dist/cjs/hooks/useThemeState.native.js +38 -30
- package/dist/cjs/hooks/useThemeState.native.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/webPropsToSkip.native.js +0 -2
- package/dist/esm/helpers/webPropsToSkip.native.js.map +2 -2
- package/dist/esm/hooks/getThemeProxied.js +20 -11
- package/dist/esm/hooks/getThemeProxied.js.map +1 -1
- package/dist/esm/hooks/getThemeProxied.mjs +20 -14
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
- package/dist/esm/hooks/getThemeProxied.native.js +26 -21
- package/dist/esm/hooks/getThemeProxied.native.js.map +2 -2
- package/dist/esm/hooks/useThemeState.js +51 -39
- package/dist/esm/hooks/useThemeState.js.map +2 -2
- package/dist/esm/hooks/useThemeState.mjs +76 -63
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +37 -30
- package/dist/esm/hooks/useThemeState.native.js.map +2 -2
- package/package.json +11 -11
- package/src/helpers/insertStyleRule.tsx +0 -1
- package/src/helpers/webPropsToSkip.native.ts +0 -2
- package/src/hooks/getThemeProxied.ts +19 -13
- package/src/hooks/useThemeState.ts +99 -57
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/webPropsToSkip.native.d.ts +0 -2
- package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
- package/types/hooks/getThemeProxied.d.ts +2 -2
- package/types/hooks/getThemeProxied.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +1 -0
- package/types/hooks/useThemeState.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","createContext","useCallback","useContext","useId","useSyncExternalStore","getConfig","ThemeStateContext","allListeners","Map","listenersByParent","states","forceUpdateThemes","forEach","cb","getThemeState","id","get","
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","createContext","useCallback","useContext","useId","useSyncExternalStore","getConfig","ThemeStateContext","keysToId","WeakMap","allListeners","Map","listenersByParent","hasRenderedOnce","pendingUpdate","states","shouldForce","forceUpdateThemes","cacheVersion","forEach","cb","getThemeState","id","get","cache","themes","rootThemeState","getRootThemeState","useThemeState","props","isRoot","keys","disable","parentId","name","theme","light","inverses","subscribe","Set","add","set","delete","propsKey","getPropsKey","getSnapshot","last","needsUpdate","current","size","parentState","cacheKey","has","next","getSnapshotFrom","process","env","NODE_ENV","debug","console","warn","globalThis","time","state","scheduleUpdate","isNew","lastState","pendingUpdate2","getNewThemeName","isSameAsParent","message","groupCollapsed","trace","groupEnd","scheme","getScheme","parentInverses","isInverse","nextState","parentName","info","Object","assign","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":[]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
2
|
import { createContext, useCallback, useContext, useId, useSyncExternalStore } from "react";
|
|
3
3
|
import { getConfig } from "../config";
|
|
4
|
-
var ThemeStateContext = createContext(""), allListeners = /* @__PURE__ */ new Map(), listenersByParent = {}, states = /* @__PURE__ */ new Map(), forceUpdateThemes = function() {
|
|
5
|
-
allListeners.forEach(function(cb) {
|
|
4
|
+
var ThemeStateContext = createContext(""), keysToId = /* @__PURE__ */ new WeakMap(), allListeners = /* @__PURE__ */ new Map(), listenersByParent = {}, hasRenderedOnce = /* @__PURE__ */ new WeakMap(), pendingUpdate = /* @__PURE__ */ new Map(), states = /* @__PURE__ */ new Map(), shouldForce = !1, forceUpdateThemes = function() {
|
|
5
|
+
cacheVersion++, shouldForce = !0, allListeners.forEach(function(cb) {
|
|
6
6
|
return cb();
|
|
7
7
|
});
|
|
8
8
|
}, getThemeState = function(id) {
|
|
9
9
|
return states.get(id);
|
|
10
|
-
}, rootThemeState = null, getRootThemeState = function() {
|
|
10
|
+
}, cache = /* @__PURE__ */ new Map(), cacheVersion = 0, themes = null, rootThemeState = null, getRootThemeState = function() {
|
|
11
11
|
return rootThemeState;
|
|
12
|
-
},
|
|
12
|
+
}, useThemeState = function(props) {
|
|
13
13
|
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);
|
|
14
14
|
if (disable)
|
|
15
15
|
return states.get(parentId) || {
|
|
@@ -20,24 +20,29 @@ var ThemeStateContext = createContext(""), allListeners = /* @__PURE__ */ new Ma
|
|
|
20
20
|
};
|
|
21
21
|
var id = useId(), subscribe = useCallback(function(cb) {
|
|
22
22
|
var _listenersByParent, _parentId;
|
|
23
|
-
return (_listenersByParent = listenersByParent)[_parentId = parentId] || (_listenersByParent[_parentId] = /* @__PURE__ */ new Set()), listenersByParent[parentId].add(id), allListeners.set(id,
|
|
23
|
+
return (_listenersByParent = listenersByParent)[_parentId = parentId] || (_listenersByParent[_parentId] = /* @__PURE__ */ new Set()), listenersByParent[parentId].add(id), allListeners.set(id, function() {
|
|
24
|
+
pendingUpdate.set(id, shouldForce ? "force" : !0), cb();
|
|
25
|
+
}), function() {
|
|
24
26
|
allListeners.delete(id), listenersByParent[parentId].delete(id);
|
|
25
27
|
};
|
|
26
28
|
}, [
|
|
27
29
|
id,
|
|
28
|
-
parentId
|
|
29
|
-
keys
|
|
30
|
+
parentId
|
|
30
31
|
]), propsKey = getPropsKey(props), getSnapshot = function() {
|
|
31
|
-
|
|
32
|
+
var _keys_current, _props_needsUpdate, last = states.get(id), needsUpdate = props.name === "light" || props.name === "dark" ? !0 : hasRenderedOnce.get(keys) ? !(keys == null || (_keys_current = keys.current) === null || _keys_current === void 0) && _keys_current.size ? !0 : (_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props) : !0, parentState = states.get(parentId), cacheKey = `${cacheVersion}${id}${propsKey}${parentState?.name || ""}${isRoot}`;
|
|
33
|
+
if (!needsUpdate && cache.has(cacheKey))
|
|
34
|
+
return cache.get(cacheKey);
|
|
35
|
+
var next = getSnapshotFrom(last, props, propsKey, isRoot, id, parentId, needsUpdate, pendingUpdate.get(id));
|
|
36
|
+
return last !== next && (pendingUpdate.delete(id), states.set(id, next), cache.set(id, next), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.warn(` \xB7 useTheme(${id}) UPDATE from`, last, "to", next)), next;
|
|
32
37
|
};
|
|
33
38
|
process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
|
|
34
39
|
var state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
35
40
|
return useIsomorphicLayoutEffect(function() {
|
|
41
|
+
if (!hasRenderedOnce.get(keys)) {
|
|
42
|
+
hasRenderedOnce.set(keys, !0);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
36
45
|
if (propsKey) {
|
|
37
|
-
if (!HasRenderedOnce.has(keys)) {
|
|
38
|
-
HasRenderedOnce.set(keys, !0);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
46
|
if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
|
|
42
47
|
var _states_get;
|
|
43
48
|
console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, (_states_get = states.get(id)) === null || _states_get === void 0 ? void 0 : _states_get.name);
|
|
@@ -47,31 +52,31 @@ var ThemeStateContext = createContext(""), allListeners = /* @__PURE__ */ new Ma
|
|
|
47
52
|
}, [
|
|
48
53
|
keys,
|
|
49
54
|
propsKey
|
|
50
|
-
]),
|
|
51
|
-
state,
|
|
52
|
-
parentId,
|
|
53
|
-
props,
|
|
54
|
-
propsKey,
|
|
55
|
-
id,
|
|
56
|
-
parentState: states.get(parentId)
|
|
57
|
-
}), console.groupEnd()), state.id === id ? {
|
|
55
|
+
]), state.id === id ? {
|
|
58
56
|
...state,
|
|
59
57
|
isNew: !0
|
|
60
58
|
} : state;
|
|
61
|
-
},
|
|
62
|
-
var isRoot = arguments.length >
|
|
59
|
+
}, getSnapshotFrom = function(lastState, props, propsKey) {
|
|
60
|
+
var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1, id = arguments.length > 4 ? arguments[4] : void 0, parentId = arguments.length > 5 ? arguments[5] : void 0, needsUpdate = arguments.length > 6 ? arguments[6] : void 0, pendingUpdate2 = arguments.length > 7 ? arguments[7] : void 0, parentState = states.get(parentId);
|
|
63
61
|
themes || (themes = getConfig().themes);
|
|
64
|
-
var
|
|
62
|
+
var name = !propsKey && pendingUpdate2 !== "force" ? null : getNewThemeName(parentState?.name, props, pendingUpdate2 === "force" ? !0 : !!needsUpdate), isSameAsParent = !!(!name && propsKey);
|
|
65
63
|
if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
|
|
66
64
|
var message = ` \xB7 useTheme(${id}) snapshot ${name}, parent ${parentState?.id} needsUpdate ${needsUpdate}`;
|
|
67
65
|
console.info(message);
|
|
68
66
|
}
|
|
69
|
-
var isSameAsParent = !name && propsKey;
|
|
70
67
|
if (parentState && isSameAsParent)
|
|
71
68
|
return parentState;
|
|
72
|
-
if (!name)
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
if (!name) {
|
|
70
|
+
var next = lastState ?? parentState;
|
|
71
|
+
if (needsUpdate && pendingUpdate2) {
|
|
72
|
+
var updated = {
|
|
73
|
+
...parentState || lastState
|
|
74
|
+
};
|
|
75
|
+
return updated;
|
|
76
|
+
}
|
|
77
|
+
return next;
|
|
78
|
+
}
|
|
79
|
+
if (pendingUpdate2 !== "force" && lastState && lastState.name === name)
|
|
75
80
|
return lastState;
|
|
76
81
|
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 = {
|
|
77
82
|
id,
|
|
@@ -83,7 +88,7 @@ var ThemeStateContext = createContext(""), allListeners = /* @__PURE__ */ new Ma
|
|
|
83
88
|
inverses,
|
|
84
89
|
isInverse
|
|
85
90
|
};
|
|
86
|
-
return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\
|
|
91
|
+
return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F2 ${name}`), console.info("state", nextState), console.groupEnd()), isRoot && (rootThemeState = nextState), pendingUpdate2 !== "force" && lastState && !needsUpdate ? (Object.assign(lastState, nextState), lastState) : nextState;
|
|
87
92
|
};
|
|
88
93
|
function scheduleUpdate(id) {
|
|
89
94
|
for (var queue = [
|
|
@@ -122,7 +127,7 @@ function getScheme(name) {
|
|
|
122
127
|
return validSchemes[name.split("_")[0]];
|
|
123
128
|
}
|
|
124
129
|
function getNewThemeName() {
|
|
125
|
-
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;
|
|
130
|
+
var parentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", { name, reset, componentName, inverse, debug } = arguments.length > 1 ? arguments[1] : void 0, forceUpdate = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
|
|
126
131
|
if (name && reset)
|
|
127
132
|
throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
|
|
128
133
|
if (reset) {
|
|
@@ -158,7 +163,8 @@ function getNewThemeName() {
|
|
|
158
163
|
}
|
|
159
164
|
if (found) break;
|
|
160
165
|
}
|
|
161
|
-
if (
|
|
166
|
+
if (inverse) {
|
|
167
|
+
found || (found = parentName);
|
|
162
168
|
var scheme = found.split("_")[0];
|
|
163
169
|
found = found.replace(new RegExp(`^${scheme}`), scheme === "light" ? "dark" : "light");
|
|
164
170
|
}
|
|
@@ -178,6 +184,7 @@ export {
|
|
|
178
184
|
getRootThemeState,
|
|
179
185
|
getThemeState,
|
|
180
186
|
hasThemeUpdatingProps,
|
|
187
|
+
keysToId,
|
|
181
188
|
useThemeState
|
|
182
189
|
};
|
|
183
190
|
//# sourceMappingURL=useThemeState.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/useThemeState.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,iCAAiC;AAC1C,SACEC,eACAC,aACAC,YACAC,OACAC,4BAEK;AACP,SAASC,iBAAiB;AAiBnB,IAAMC,oBAAoBN,cAAkB,EAAA,
|
|
5
|
-
"names": ["useIsomorphicLayoutEffect", "createContext", "useCallback", "useContext", "useId", "useSyncExternalStore", "getConfig", "ThemeStateContext", "allListeners", "Map", "listenersByParent", "states", "forceUpdateThemes", "forEach", "cb", "getThemeState", "id", "get", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["useIsomorphicLayoutEffect", "createContext", "useCallback", "useContext", "useId", "useSyncExternalStore", "getConfig", "ThemeStateContext", "keysToId", "WeakMap", "allListeners", "Map", "listenersByParent", "hasRenderedOnce", "pendingUpdate", "states", "shouldForce", "forceUpdateThemes", "cacheVersion", "forEach", "cb", "getThemeState", "id", "get", "cache", "themes", "rootThemeState", "getRootThemeState", "useThemeState", "props", "isRoot", "keys", "disable", "parentId", "name", "theme", "light", "inverses", "subscribe", "Set", "add", "set", "delete", "propsKey", "getPropsKey", "getSnapshot", "last", "needsUpdate", "current", "size", "parentState", "cacheKey", "has", "next", "getSnapshotFrom", "process", "env", "NODE_ENV", "debug", "console", "warn", "globalThis", "time", "state", "scheduleUpdate", "isNew", "lastState", "getNewThemeName", "isSameAsParent", "Boolean", "message", "info", "updated", "scheme", "getScheme", "parentInverses", "isInverse", "nextState", "parentName", "groupCollapsed", "groupEnd", "Object", "assign", "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", "found", "max", "i", "base", "join", "subName", "potential", "replace", "RegExp", "forceClassName", "hasThemeUpdatingProps"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.124.
|
|
3
|
+
"version": "1.124.5",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -27,22 +27,22 @@
|
|
|
27
27
|
"reset.css"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@tamagui/compose-refs": "1.124.
|
|
31
|
-
"@tamagui/constants": "1.124.
|
|
32
|
-
"@tamagui/helpers": "1.124.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.124.
|
|
34
|
-
"@tamagui/timer": "1.124.
|
|
35
|
-
"@tamagui/types": "1.124.
|
|
36
|
-
"@tamagui/use-did-finish-ssr": "1.124.
|
|
37
|
-
"@tamagui/use-event": "1.124.
|
|
38
|
-
"@tamagui/use-force-update": "1.124.
|
|
30
|
+
"@tamagui/compose-refs": "1.124.5",
|
|
31
|
+
"@tamagui/constants": "1.124.5",
|
|
32
|
+
"@tamagui/helpers": "1.124.5",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.124.5",
|
|
34
|
+
"@tamagui/timer": "1.124.5",
|
|
35
|
+
"@tamagui/types": "1.124.5",
|
|
36
|
+
"@tamagui/use-did-finish-ssr": "1.124.5",
|
|
37
|
+
"@tamagui/use-event": "1.124.5",
|
|
38
|
+
"@tamagui/use-force-update": "1.124.5"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"react": "*",
|
|
42
42
|
"react-dom": "*"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@tamagui/build": "1.124.
|
|
45
|
+
"@tamagui/build": "1.124.5",
|
|
46
46
|
"@testing-library/react": "^16.1.0",
|
|
47
47
|
"csstype": "^3.0.10",
|
|
48
48
|
"react": "*",
|
|
@@ -397,7 +397,6 @@ const minInsertAmt = process.env.TAMAGUI_INSERT_SELECTOR_TRIES
|
|
|
397
397
|
export function shouldInsertStyleRules(identifier: string) {
|
|
398
398
|
if (process.env.TAMAGUI_REACT_19) {
|
|
399
399
|
return true
|
|
400
|
-
// biome-ignore lint/style/noUselessElse: <explanation>
|
|
401
400
|
} else {
|
|
402
401
|
if (process.env.IS_STATIC === 'is_static') {
|
|
403
402
|
return true
|
|
@@ -7,12 +7,10 @@ export const webPropsToSkip = {
|
|
|
7
7
|
contain: 1,
|
|
8
8
|
boxSizing: 1,
|
|
9
9
|
touchAction: 1,
|
|
10
|
-
boxShadow: 1,
|
|
11
10
|
outlineStyle: 1,
|
|
12
11
|
outlineOffset: 1,
|
|
13
12
|
outlineWidth: 1,
|
|
14
13
|
outlineColor: 1,
|
|
15
|
-
filter: 1,
|
|
16
14
|
backdropFilter: 1,
|
|
17
15
|
backgroundImage: 1,
|
|
18
16
|
mixBlendMode: 1,
|
|
@@ -11,7 +11,7 @@ import type {
|
|
|
11
11
|
VariableValGeneric,
|
|
12
12
|
} from '../types'
|
|
13
13
|
import { doesRootSchemeMatchSystem } from './doesRootSchemeMatchSystem'
|
|
14
|
-
import type
|
|
14
|
+
import { keysToId, type ThemeState } from './useThemeState'
|
|
15
15
|
|
|
16
16
|
export type ThemeProxied = {
|
|
17
17
|
[Key in keyof ThemeParsed | keyof Tokens['color']]: ThemeGettable<
|
|
@@ -52,34 +52,32 @@ const cache: Map<ThemeParsed, ThemeProxied> = new Map()
|
|
|
52
52
|
|
|
53
53
|
let curKeys: MutableRefObject<Set<string> | null>
|
|
54
54
|
let curProps: UseThemeWithStateProps
|
|
55
|
+
let curState: ThemeState | null
|
|
55
56
|
|
|
56
57
|
const emptyObject = {}
|
|
57
58
|
|
|
58
59
|
export function getThemeProxied(
|
|
59
60
|
// underscore to prevent accidental usage below
|
|
60
61
|
_props: UseThemeWithStateProps,
|
|
61
|
-
|
|
62
|
+
_state: ThemeState | null,
|
|
62
63
|
_keys: MutableRefObject<Set<string> | null>
|
|
63
64
|
): ThemeProxied {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (!theme) {
|
|
65
|
+
if (!_state?.theme) {
|
|
67
66
|
return emptyObject
|
|
68
67
|
}
|
|
69
68
|
|
|
70
69
|
curKeys = _keys
|
|
71
70
|
curProps = _props
|
|
71
|
+
curState = _state
|
|
72
72
|
|
|
73
|
-
if (cache.has(theme)) {
|
|
74
|
-
const proxied = cache.get(theme)!
|
|
73
|
+
if (cache.has(curState.theme)) {
|
|
74
|
+
const proxied = cache.get(curState.theme)!
|
|
75
75
|
return proxied
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
// first time running on this theme, create:
|
|
79
79
|
// from here on only use current*
|
|
80
80
|
|
|
81
|
-
const { name, scheme } = state
|
|
82
|
-
|
|
83
81
|
const config = getConfig()
|
|
84
82
|
|
|
85
83
|
function track(key: string) {
|
|
@@ -89,12 +87,17 @@ export function getThemeProxied(
|
|
|
89
87
|
}
|
|
90
88
|
curKeys.current.add(key)
|
|
91
89
|
if (process.env.NODE_ENV === 'development' && curProps.debug) {
|
|
92
|
-
|
|
90
|
+
const realId = keysToId.get(curKeys)
|
|
91
|
+
console.info(
|
|
92
|
+
` 🎨 useTheme(${realId}) tracking new key: ${key}`,
|
|
93
|
+
curKeys,
|
|
94
|
+
globalThis['states']?.get(realId + 1)
|
|
95
|
+
)
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
|
|
96
99
|
const proxied = Object.fromEntries(
|
|
97
|
-
Object.entries(theme).flatMap(([key, value]) => {
|
|
100
|
+
Object.entries(_state.theme).flatMap(([key, value]) => {
|
|
98
101
|
const proxied = {
|
|
99
102
|
...value,
|
|
100
103
|
get val() {
|
|
@@ -106,7 +109,10 @@ export function getThemeProxied(
|
|
|
106
109
|
return value.val
|
|
107
110
|
},
|
|
108
111
|
get(platform?: 'web') {
|
|
112
|
+
if (!curState) return
|
|
113
|
+
|
|
109
114
|
const outVal = getVariable(value)
|
|
115
|
+
const { name, scheme, inverses } = curState
|
|
110
116
|
|
|
111
117
|
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
112
118
|
// ios can avoid re-rendering in some cases when we are using a root light/dark
|
|
@@ -117,7 +123,7 @@ export function getThemeProxied(
|
|
|
117
123
|
isIos &&
|
|
118
124
|
!curProps.deopt &&
|
|
119
125
|
getSetting('fastSchemeChange') &&
|
|
120
|
-
|
|
126
|
+
inverses === 0 &&
|
|
121
127
|
doesRootSchemeMatchSystem()
|
|
122
128
|
|
|
123
129
|
if (shouldOptimize) {
|
|
@@ -159,7 +165,7 @@ export function getThemeProxied(
|
|
|
159
165
|
})
|
|
160
166
|
) as ThemeProxied
|
|
161
167
|
|
|
162
|
-
cache.set(theme, proxied)
|
|
168
|
+
cache.set(_state.theme, proxied)
|
|
163
169
|
|
|
164
170
|
return proxied
|
|
165
171
|
}
|