@tamagui/web 1.124.10 → 1.124.12
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/hooks/useThemeState.cjs +47 -26
- package/dist/cjs/hooks/useThemeState.js +31 -22
- package/dist/cjs/hooks/useThemeState.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.native.js +69 -25
- package/dist/cjs/hooks/useThemeState.native.js.map +2 -2
- package/dist/cjs/views/Theme.cjs +11 -7
- package/dist/cjs/views/Theme.js +15 -4
- package/dist/cjs/views/Theme.js.map +1 -1
- package/dist/cjs/views/Theme.native.js +10 -7
- package/dist/cjs/views/Theme.native.js.map +2 -2
- package/dist/esm/hooks/useThemeState.js +31 -22
- package/dist/esm/hooks/useThemeState.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +47 -26
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +69 -25
- package/dist/esm/hooks/useThemeState.native.js.map +2 -2
- package/dist/esm/views/Theme.js +16 -11
- package/dist/esm/views/Theme.js.map +1 -1
- package/dist/esm/views/Theme.mjs +11 -7
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +10 -7
- package/dist/esm/views/Theme.native.js.map +2 -2
- package/package.json +11 -11
- package/src/hooks/useThemeState.ts +87 -44
- package/src/views/Theme.tsx +17 -15
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
|
@@ -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,
|
|
5
|
-
"names": ["useIsomorphicLayoutEffect", "createContext", "useCallback", "useContext", "useId", "useSyncExternalStore", "getConfig", "ThemeStateContext", "keysToId", "WeakMap", "allListeners", "Map", "listenersByParent", "hasRenderedOnce", "pendingUpdate", "states", "
|
|
4
|
+
"mappings": "AAAA,SAASA,iCAAiC;AAC1C,SACEC,eACAC,aACAC,YACAC,OACAC,4BAEK;AACP,SAASC,iBAAiB;AAiBnB,IAAMC,oBAAoBN,cAAkB,EAAA,GAEtCO,WAAW,oBAAIC,QAAAA,GAEtBC,eAAe,oBAAIC,IAAAA,GACnBC,oBAAyC,CAAC,GAC1CC,kBAAkB,oBAAIJ,QAAAA,GACtBK,gBAAgB,oBAAIH,IAAAA,GAGpBI,SAA0C,oBAAIJ,IAAAA,GAC9CK,cAA+C,oBAAIL,IAAAA;AAErDM,QAAQC,IAAIC,aAAa,kBAC3BC,WAAWC,mBAAmB,WAAA;AAC5B,WAASC,UAAUC,IAAM;AACvB,QAAMC,OAAOT,OAAOU,IAAIF,EAAAA;AACxB,QAAI,CAACC,KAAM,QAAO;AAClB,QAAME,WAAWC,MAAMC,KAAKb,OAAOc,OAAM,CAAA,EACtCC,OAAO,SAACC,OAAAA;aAAUA,OAAOC,aAAaT;OACtCU,IAAI,SAACF,OAAAA;aAAUT,UAAUS,MAAOR,EAAE;OAClCO,OAAOI,OAAAA;AACV,WAAO;MAAE,GAAGV;MAAME;IAAS;EAC7B;AAEA,EAAIS,kBACFC,QAAQC,KAAKf,UAAUa,eAAeZ,EAAE,CAAA;AAE5C;AAGF,IAAIe,cAAc,IACLC,oBAAoB,WAAA;AAC/BC,kBACAF,cAAc,IACd5B,aAAa+B,QAAQ,SAACC,IAAAA;WAAOA,GAAAA;;AAC/B,GAEaC,gBAAgB,SAACpB,IAAAA;SAAWR,OAAOU,IAAIF,EAAAA;GAGhDiB,eAAe,GAEfI,SAA6C,MAE7CT,iBAAoC,MAC3BU,oBAAoB,WAAA;SAAMV;GAE1BW,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,OACdf,WAAW7B,WAAWI,iBAAAA;AAE5B,MAAI,CAACyB,YAAY,CAACgB;AAChB,UAAM,IAAIG,MAAM,YAAY;AAG9B,MAAID;AACF,WACEnC,OAAOU,IAAIO,QAAAA,KAAa;MACtBT,IAAI;MACJ6B,MAAM;MACNC,OAAO/C,UAAAA,EAAYsC,OAAOU;MAC1BC,UAAU;IACZ;AAIJ,MAAMhC,KAAKnB,MAAAA,GAELoD,YAAYtD,YAChB,SAACwC,IAAAA;QACC9B,oBAAkBoB;AAAlBpB,YAAAA,qBAAAA,mBAAkBoB,YAAAA,QAAAA,MAAlBpB,mBAAkBoB,SAAAA,IAAc,oBAAIyB,IAAAA,IACpC7C,kBAAkBoB,QAAAA,EAAU0B,IAAInC,EAAAA,GAChCb,aAAaiD,IAAIpC,IAAI,WAAA;AACnBT,oBAAc6C,IAAIpC,IAAIe,cAAc,UAAU,EAAA,GAC9CI,GAAAA;IACF,CAAA,GACO,WAAA;AACLhC,mBAAakD,OAAOrC,EAAAA,GACpBX,kBAAkBoB,QAAAA,EAAU4B,OAAOrC,EAAAA,GACnCP,YAAY4C,OAAOrC,EAAAA,GACnBR,OAAO6C,OAAOrC,EAAAA,GACdT,cAAc8C,OAAOrC,EAAAA;IACvB;EACF,GACA;IAACA;IAAIS;GAAS,GAGV6B,WAAWC,YAAYf,KAAAA,GAEvBgB,cAAc,WAAA;QAQVd,eAEEF,oBATNiB,QAAQhD,YAAYS,IAAIF,EAAAA,GAEtB0C,cACJjB,UAAUD,MAAMK,SAAS,WAAWL,MAAMK,SAAS,UAAUL,MAAMK,SAAS,OACxE,KACCvC,gBAAgBY,IAAIwB,IAAAA,IAEnBA,UAAAA,SAAAA,gBAAAA,KAAMiB,aAAO,QAAbjB,kBAAAA,WAAAA,cAAekB,OACb,MACApB,qBAAAA,MAAMkB,iBAAW,QAAjBlB,uBAAAA,SAAAA,SAAAA,mBAAAA,KAAAA,KAAAA,IAHF,IAaF,CAACqB,UAAUC,IAAAA,IAAQC,aACvBN,OACAjB,OACAc,UACAb,QACAzB,IACAS,UACAiC,aACAnD,cAAcW,IAAIF,EAAAA,CAAAA;AAGpBT,yBAAc8C,OAAOrC,EAAAA,IAMjB,CAACyC,SAASI,cACZJ,QAAQ;MAAE,GAAGK;IAAK,GAClBrD,YAAY2C,IAAIpC,IAAIyC,KAAAA,IAIpB/C,QAAQC,IAAIC,aAAa,iBACzB4B,MAAMwB,SACNxB,MAAMwB,UAAU,cAEhBnC,QAAQoC,eAAe,IAAIjD,EAAAA,cAAS6C,QAAAA,IAAYJ,MAAMZ,MAAM,KAAKiB,KAAKjB,IAAI,GAC1EhB,QAAQC,KAAK;MAAEU;MAAOc;MAAUb;MAAQhB;MAAUgC;MAAOK;MAAMJ;IAAY,CAAA,GAC3E7B,QAAQqC,SAAQ,IAGlBC,OAAOC,OAAOX,OAAOK,IAAAA,GACrBL,MAAMzC,KAAKA,IACXR,OAAO4C,IAAIpC,IAAI8C,IAAAA,GAERL;EACT;AAEA,EAAI/C,QAAQC,IAAIC,aAAa,iBAAiBC,WAAWwD,QACvDxD,WAAWwD;AAEb,MAAMC,QAAQxE,qBAAqBmD,WAAWO,aAAaA,WAAAA;AAE3D/D,mCAA0B,WAAA;AACxB,QAAI,CAACa,gBAAgBY,IAAIwB,IAAAA,GAAO;AAC9BpC,sBAAgB8C,IAAIV,MAAM,EAAA;AAC1B;IACF;AACA,QAAKY,UACL;UACE5C,QAAQC,IAAIC,aAAa,iBACzB4B,MAAMwB,SACNxB,MAAMwB,UAAU,WAChB;YAC4DxD;AAA5DqB,gBAAQ0C,KAAK,kBAAevD,EAAAA,oBAAsBsC,WAAU9C,cAAAA,OAAOU,IAAIF,EAAAA,OAAAA,QAAXR,gBAAAA,SAAAA,SAAAA,YAAgBqC,IAAI;MAClF;AACA2B,qBAAexD,EAAAA;;EACjB,GAAG;IAAC0B;IAAMY;GAAS,GAEZgB;AACT,GAEMP,eAAe,SACnBU,WACAjC,OACAc,UAAAA;MACAb,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS,IACTzB,KAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QACAS,WAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QACAiC,cAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QACAnD,iBAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QAEM,EAAEyD,MAAK,IAAKxB,OACZkC,cAAclE,OAAOU,IAAIO,QAAAA;AAE/B,EAAKY,WACHA,SAAStC,UAAAA,EAAYsC;AAGvB,MAAMQ,OACJ,CAACS,aAAa,CAACmB,aAAa,CAACA,WAAWE,SACpC,OACAC,gBACEF,aAAa7B,MACbL,OACAjC,mBAAkB,UAAU,KAAO,CAAC,CAACmD,WAAAA,GAGvCmB,iBAAiBH,gBAAgB,CAAC7B,QAAQA,SAAS6B,YAAY7B,OAC/DiC,iBAAiBnD,GACrB+B,gBAAgBnD,kBAAiBkE,WAAW5B,SAAS6B,aAAa7B;AAGpE,MAAInC,QAAQC,IAAIC,aAAa,iBAAiBoD,SAASA,UAAU,WAAW;AAC1E,QAAMe,UAAU,kBAAe/D,EAAAA,QAAU6B,IAAAA,gBAAoBa,WAAAA,mBAA8BoB,cAAAA;AAEzFjD,YAAQC,KAAKiD,OAAAA;EAMjB;AAEA,MAAIF;AACF,WAAO;MAACC;MAAgB;QAAE,GAAGJ;QAAaC,OAAO;MAAM;;AAGzD,MAAI,CAAC9B,MAAM;AACT,QAAMiB,OAAOW,aAAaC;AAE1B,QAAI,CAACZ;AACH,YAAM,IAAIlB,MAAM,yBAAyB;AAG3C,QAAIkC,gBAAgB;AAClB,UAAME,UAAU;QAAE,GAAIN,eAAeD;MAAY;AACjD,aAAO;QAAC;QAAMO;;IAChB;AAEA,WAAO;MAAC;MAAOlB;;EACjB;AAEA,MAAMmB,SAASC,UAAUrC,IAAAA,GACF6B,uBAAjBS,kBAAiBT,wBAAAA,aAAa1B,cAAQ,QAArB0B,0BAAAA,SAAAA,wBAAyB,GAC1CU,YAAYV,eAAeO,WAAWP,YAAYO,QAClDjC,WAAWmC,kBAAkBC,YAAY,IAAI,IAE7CC,YAAY;IAChBrE;IACA6B;IACAC,OAAOT,OAAOQ,IAAAA;IACdoC;IACAxD;IACA6D,YAAYZ,aAAa7B;IACzBG;IACAoC;IACAT,OAAO;EACT;AAMA,MAJIlC,WACFb,iBAAiByD,YAGf9E,mBAAkB,WAAWkE,aAAaA,UAAU5B,SAASA;AAC/D,WAAO;MAAC;MAAOwC;;AAGjB,MAAME,sBACJhF,mBAAkB,WAClBkE,aACA,CAACf,eACD2B,UAAUxC,SAAS4B,UAAU5B;AAY/B,SAVInC,QAAQC,IAAIC,aAAa,iBAAiBoD,SAASA,UAAU,cAC/DnC,QAAQoC,eACN,kBAAejD,EAAAA,kBAAU6B,IAAAA,yBAA6B0C,mBAAAA,EAAqB,GAE7E1D,QAAQC,KAAK;IAAE2C;IAAWf;IAAa2B;IAAW9E,eAAAA;EAAc,CAAA,GAChEsB,QAAQqC,SAAQ,IAKdqB,sBACK;IAAC;IAAOF;MAGV;IAAC;IAAMA;;AAChB;AAIA,SAASG,eAAeC,IAAU;AAIhC,WAHMC,QAAQ;IAACD;KACTE,UAAU,oBAAIC,IAAAA,GAEbF,MAAMG,UAAQ;AACnB,QAAMC,SAASJ,MAAMK,MAAK,GACpBC,WAAWC,kBAAkBH,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,cAAME,UAAN,MAAA;AACH,UAAKP,QAAQQ,IAAID,OAAAA,MACfP,QAAQS,IAAIF,OAAAA,GACZR,MAAMW,KAAKH,OAAAA;QAEf;;AALK,4BAAA,IAAA,iBAAA;;;WAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;cAAA;kBAAA;;;IAMP;EACF;AAEAP,UAAQW,QAAQ,SAACJ,UAAAA;AACf,QAAMK,KAAKC,aAAaC,IAAIP,QAAAA;AAC5BK,IAAAA,KAAAA;EACF,CAAA;AACF;AAEA,IAAMG,eAAe;EACnBC,OAAO;EACPC,MAAM;AACR;AAEA,SAASC,UAAUC,MAAY;AAC7B,SAAOJ,aAAaI,KAAKC,MAAM,GAAA,EAAK,CAAA,CAAE;AACxC;AAEA,SAASC,kBAAAA;MACPC,aAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAa,IACb,EAAEH,MAAMI,OAAOC,eAAeC,SAASC,MAAK,IAA0B,UAAA,SAAA,IAAA,UAAA,CAAA,IAAA,QACtEC,cAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAc;AAEd,MAAIR,QAAQI;AACV,UAAM,IAAIK,MACRC,QAAQC,IAAIC,aAAa,eACrB,cACA,mDAAA;AAIR,MAAIR,OAAO;AACT,QAAI,CAACD,WAAY,OAAM,IAAIM,MAAM,cAAI;AACrC,QAAMI,gBAAgBV,WAAWW,YAAY,GAAA;AAC7C,WAAOD,iBAAiB,IAAIV,aAAaA,WAAWY,MAAMF,aAAAA;EAC5D;AAEA,MAAM,EAAEG,QAAAA,QAAM,IAAKC,UAAAA,GACbC,cAAcf,WAAWF,MAAM,GAAA,GAG/BkB,WAAWD,YAAYA,YAAYnC,SAAS,CAAA;AAClD,EAAIoC,YAAYA,SAAS,CAAA,EAAGC,YAAW,MAAOD,SAAS,CAAA,KACrDD,YAAYG,IAAG;AAajB,WAVMC,WAAW;IACftB,QAAQK,gBAAgB,GAAGL,IAAAA,IAAQK,aAAAA,KAAkBkB;IACrDvB;IACAK;IACAmB,OAAOC,OAAAA,GAELC,QAAuB,MAErBC,MAAMT,YAAYnC,QAEf6C,IAAI,GAAGA,KAAKD,KAAKC,KAAK;AAC7B,QAAMC,QAAQD,MAAM,IAAIV,cAAcA,YAAYH,MAAM,GAAG,CAACa,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,aAAahB,SAAQ;AACvBU,kBAAQM;AACR;QACF;MACF;;AAPK,0BAAA,IAAA,iBAAA;;;SAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;YAAA;gBAAA;;;AASL,QAAIN,MAAO;EACb;AAEA,MAAIpB,SAAS;AACXoB,cAAAA,QAAUvB;AACV,QAAM8B,SAASP,MAAMzB,MAAM,GAAA,EAAK,CAAA;AAChCyB,YAAQA,MAAMQ,QAAQ,IAAIC,OAAO,IAAIF,MAAAA,EAAQ,GAAGA,WAAW,UAAU,SAAS,OAAA;EAChF;AAEA,SACE,CAACzB,eACDkB,UAAUvB;;EAGV,CAACP,aAAa8B,KAAAA,IAEP,OAGFA;AACT;AAEA,IAAMU,cAAc,SAAA,OAAA;MAAC,EACnBpC,MACAI,OACAE,SACA+B,gBACAhC,cAAa,IACF;SACX,GAAGL,QAAQ,EAAA,GAAKM,WAAW,EAAA,GAAKF,SAAS,EAAA,GAAKiC,kBAAkB,EAAA,GAAKhC,iBAAiB,EAAA;GAE3EiC,wBAAwB,SAACC,OAAAA;SACpC,aAAaA,SAAS,UAAUA,SAAS,WAAWA,SAAS,oBAAoBA;;",
|
|
5
|
+
"names": ["useIsomorphicLayoutEffect", "createContext", "useCallback", "useContext", "useId", "useSyncExternalStore", "getConfig", "ThemeStateContext", "keysToId", "WeakMap", "allListeners", "Map", "listenersByParent", "hasRenderedOnce", "pendingUpdate", "states", "localStates", "process", "env", "NODE_ENV", "globalThis", "getTamaguiThemes", "buildTree", "id", "node", "get", "children", "Array", "from", "values", "filter", "child", "parentId", "map", "Boolean", "rootThemeState", "console", "info", "shouldForce", "forceUpdateThemes", "cacheVersion", "forEach", "cb", "getThemeState", "themes", "getRootThemeState", "useThemeState", "props", "isRoot", "keys", "disable", "Error", "name", "theme", "light", "inverses", "subscribe", "Set", "add", "set", "delete", "propsKey", "getPropsKey", "getSnapshot", "local", "needsUpdate", "current", "size", "rerender", "next", "getNextState", "debug", "groupCollapsed", "groupEnd", "Object", "assign", "time", "state", "warn", "scheduleUpdate", "lastState", "parentState", "isNew", "getNewThemeName", "isSameAsParent", "shouldRerender", "message", "updated", "scheme", "getScheme", "parentInverses", "isInverse", "nextState", "parentName", "shouldAvoidRerender", "scheduleUpdate", "id", "queue", "visited", "Set", "length", "parent", "shift", "children", "listenersByParent", "childId", "has", "add", "push", "forEach", "cb", "allListeners", "get", "validSchemes", "light", "dark", "getScheme", "name", "split", "getNewThemeName", "parentName", "reset", "componentName", "inverse", "debug", "forceUpdate", "Error", "process", "env", "NODE_ENV", "lastPartIndex", "lastIndexOf", "slice", "themes", "getConfig", "parentParts", "lastName", "toLowerCase", "pop", "subNames", "undefined", "filter", "Boolean", "found", "max", "i", "base", "join", "subName", "potential", "scheme", "replace", "RegExp", "getPropsKey", "forceClassName", "hasThemeUpdatingProps", "props"]
|
|
6
6
|
}
|
package/dist/esm/views/Theme.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { isWeb } from "@tamagui/constants";
|
|
2
|
-
import React, {
|
|
3
|
-
Children,
|
|
4
|
-
cloneElement,
|
|
5
|
-
forwardRef,
|
|
6
|
-
isValidElement,
|
|
7
|
-
useRef
|
|
8
|
-
} from "react";
|
|
2
|
+
import React, { Children, cloneElement, forwardRef, isValidElement, useRef } from "react";
|
|
9
3
|
import { getSetting } from "../config";
|
|
10
4
|
import { variableToString } from "../createVariable";
|
|
11
5
|
import { useThemeWithState } from "../hooks/useTheme";
|
|
@@ -37,7 +31,8 @@ const empty = { className: "", style: {} }, Theme = forwardRef(function(props, r
|
|
|
37
31
|
Theme.avoidForwardRef = !0;
|
|
38
32
|
function getThemedChildren(themeState, children, props, isRoot = !1, stateRef) {
|
|
39
33
|
const { shallow, forceClassName } = props, state = stateRef.current;
|
|
40
|
-
|
|
34
|
+
let shouldRenderChildrenWithTheme = state.hasEverThemed || themeState.isNew || isRoot || hasThemeUpdatingProps(props);
|
|
35
|
+
if (process.env.NODE_ENV === "development" && props.debug && (children = /* @__PURE__ */ jsx(ThemeDebug, { themeState, themeProps: props, children })), !shouldRenderChildrenWithTheme)
|
|
41
36
|
return children;
|
|
42
37
|
children = /* @__PURE__ */ jsx(ThemeStateContext.Provider, { value: themeState.id, children });
|
|
43
38
|
const { isInverse, name } = themeState, requiresExtraWrapper = isInverse || forceClassName;
|
|
@@ -54,17 +49,27 @@ function getThemedChildren(themeState, children, props, isRoot = !1, stateRef) {
|
|
|
54
49
|
/* @__PURE__ */ jsx(Theme, { name: parentState.name, children: child.props.children })
|
|
55
50
|
) : child);
|
|
56
51
|
}
|
|
57
|
-
if (process.env.NODE_ENV === "development" && props.debug &&
|
|
52
|
+
if (process.env.NODE_ENV === "development" && props.debug && console.warn(" getThemedChildren", {
|
|
58
53
|
requiresExtraWrapper,
|
|
59
54
|
forceClassName,
|
|
60
55
|
themeState,
|
|
61
56
|
state,
|
|
62
57
|
...getThemeClassNameAndStyle(themeState, props, isRoot)
|
|
63
|
-
}),
|
|
58
|
+
}), forceClassName === !1)
|
|
64
59
|
return children;
|
|
65
60
|
if (isWeb) {
|
|
66
61
|
const { className, style } = getThemeClassNameAndStyle(themeState, props, isRoot);
|
|
67
|
-
if (children = /* @__PURE__ */ jsx(
|
|
62
|
+
if (children = /* @__PURE__ */ jsx(
|
|
63
|
+
"span",
|
|
64
|
+
{
|
|
65
|
+
...process.env.NODE_ENV === "development" && {
|
|
66
|
+
"data-theme-id": themeState.id
|
|
67
|
+
},
|
|
68
|
+
className: `${className} _dsp_contents is_Theme`,
|
|
69
|
+
style,
|
|
70
|
+
children
|
|
71
|
+
}
|
|
72
|
+
), state.hasEverThemed === "wrapped") {
|
|
68
73
|
const className2 = requiresExtraWrapper ? `${isInverse ? name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "" : ""} _dsp_contents` : "_dsp_contents";
|
|
69
74
|
children = /* @__PURE__ */ jsx("span", { className: className2, children });
|
|
70
75
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,aAAa;AAEtB,OAAO
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["className"]
|
|
6
6
|
}
|
package/dist/esm/views/Theme.mjs
CHANGED
|
@@ -34,7 +34,12 @@ function getThemedChildren(themeState, children, props, isRoot = !1, stateRef) {
|
|
|
34
34
|
forceClassName
|
|
35
35
|
} = props,
|
|
36
36
|
state = stateRef.current;
|
|
37
|
-
|
|
37
|
+
let shouldRenderChildrenWithTheme = state.hasEverThemed || themeState.isNew || isRoot || hasThemeUpdatingProps(props);
|
|
38
|
+
if (process.env.NODE_ENV === "development" && props.debug && (children = /* @__PURE__ */jsx(ThemeDebug, {
|
|
39
|
+
themeState,
|
|
40
|
+
themeProps: props,
|
|
41
|
+
children
|
|
42
|
+
})), !shouldRenderChildrenWithTheme) return children;
|
|
38
43
|
children = /* @__PURE__ */jsx(ThemeStateContext.Provider, {
|
|
39
44
|
value: themeState.id,
|
|
40
45
|
children
|
|
@@ -55,23 +60,22 @@ function getThemedChildren(themeState, children, props, isRoot = !1, stateRef) {
|
|
|
55
60
|
children: child.props.children
|
|
56
61
|
})) : child);
|
|
57
62
|
}
|
|
58
|
-
if (process.env.NODE_ENV === "development" && props.debug &&
|
|
63
|
+
if (process.env.NODE_ENV === "development" && props.debug && console.warn(" getThemedChildren", {
|
|
59
64
|
requiresExtraWrapper,
|
|
60
65
|
forceClassName,
|
|
61
66
|
themeState,
|
|
62
67
|
state,
|
|
63
68
|
...getThemeClassNameAndStyle(themeState, props, isRoot)
|
|
64
|
-
}),
|
|
65
|
-
themeState,
|
|
66
|
-
themeProps: props,
|
|
67
|
-
children
|
|
68
|
-
})), forceClassName === !1) return children;
|
|
69
|
+
}), forceClassName === !1) return children;
|
|
69
70
|
if (isWeb) {
|
|
70
71
|
const {
|
|
71
72
|
className,
|
|
72
73
|
style
|
|
73
74
|
} = getThemeClassNameAndStyle(themeState, props, isRoot);
|
|
74
75
|
if (children = /* @__PURE__ */jsx("span", {
|
|
76
|
+
...(process.env.NODE_ENV === "development" && {
|
|
77
|
+
"data-theme-id": themeState.id
|
|
78
|
+
}),
|
|
75
79
|
className: `${className} _dsp_contents is_Theme`,
|
|
76
80
|
style,
|
|
77
81
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","getSetting","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","jsx","empty","className","style","Theme","props","ref","disable","children","isRoot","_isRoot","_","themeState","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","avoidForwardRef","shallow","forceClassName","state","current","isNew","
|
|
1
|
+
{"version":3,"names":["isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","getSetting","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","jsx","empty","className","style","Theme","props","ref","disable","children","isRoot","_isRoot","_","themeState","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","avoidForwardRef","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","getThemeClassNameAndStyle","className2","startsWith","themeColor","theme","color","maxInverses","themeClassName","inverses","replace","schemePrefix"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAEtB,OAAOC,KAAA,IAASC,QAAA,EAAUC,YAAA,EAAcC,UAAA,EAAYC,cAAA,EAAgBC,MAAA,QAAc;AAClF,SAASC,UAAA,QAAkB;AAC3B,SAASC,gBAAA,QAAwB;AACjC,SAASC,iBAAA,QAAyB;AAClC,SACEC,aAAA,EACAC,qBAAA,EACAC,iBAAA,QAEK;AAEP,SAASC,UAAA,QAAkB;AA2DrB,SAAAC,GAAA;AAzDN,MAAMC,KAAA,GAAQ;IAAEC,SAAA,EAAW;IAAIC,KAAA,EAAO,CAAC;EAAE;EAE5BC,KAAA,GAAQd,UAAA,CAAW,UAAee,KAAA,EAAmBC,GAAA,EAAK;IAErE,IAAID,KAAA,CAAME,OAAA,EACR,OAAOF,KAAA,CAAMG,QAAA;IAGf,MAAMC,MAAA,GAAS,CAAC,CAACJ,KAAA,CAAMK,OAAA;MAEjB,CAACC,CAAA,EAAGC,UAAU,IAAIjB,iBAAA,CAAkBU,KAAA,EAAOI,MAAM;IAIvD,IAAII,aAAA,GAF4BR,KAAA,CAAM,qBAAqB,IAGvDjB,QAAA,CAAS0B,GAAA,CAAIT,KAAA,CAAMG,QAAA,EAAWO,KAAA,IAC5B1B,YAAA,CAAa0B,KAAA,EAAO;MAAG,sBAAuB;IAAK,CAAC,CACtD,IACAV,KAAA,CAAMG,QAAA;IAEV,IAAIF,GAAA,EACF,IAAI;MACFnB,KAAA,CAAMC,QAAA,CAAS4B,IAAA,CAAKH,aAAa,GAEjCA,aAAA,GAAgBxB,YAAA,CAAawB,aAAA,EAAe;QAAEP;MAAI,CAAC;IACrD,QAAQ,CAER;IAGF,MAAMW,QAAA,GAAWzB,MAAA,CAAO;MACtB0B,aAAA,EAAe;IACjB,CAAC;IAED,OAAOC,iBAAA,CAAkBP,UAAA,EAAYC,aAAA,EAAeR,KAAA,EAAOI,MAAA,EAAQQ,QAAQ;EAC7E,CAAC;AAEDb,KAAA,CAAMgB,eAAA,GAAqB;AAEpB,SAASD,kBACdP,UAAA,EACAJ,QAAA,EACAH,KAAA,EACAI,MAAA,GAAS,IACTQ,QAAA,EACA;EACA,MAAM;MAAEI,OAAA;MAASC;IAAe,IAAIjB,KAAA;IAG9BkB,KAAA,GAAQN,QAAA,CAASO,OAAA;EAGvB,IAAIC,6BAAA,GAFgBF,KAAA,CAAML,aAAA,IAGPN,UAAA,CAAWc,KAAA,IAASjB,MAAA,IAAUZ,qBAAA,CAAsBQ,KAAK;EAU5E,IARIsB,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiBxB,KAAA,CAAMyB,KAAA,KAClDtB,QAAA,GACE,eAAAR,GAAA,CAACD,UAAA;IAAWa,UAAA;IAAwBmB,UAAA,EAAY1B,KAAA;IAC7CG;EAAA,CACH,IAIA,CAACiB,6BAAA,EACH,OAAOjB,QAAA;EAITA,QAAA,GACE,eAAAR,GAAA,CAACF,iBAAA,CAAkBkC,QAAA,EAAlB;IAA2BC,KAAA,EAAOrB,UAAA,CAAWsB,EAAA;IAC3C1B;EAAA,CACH;EAGF,MAAM;MAAE2B,SAAA;MAAWC;IAAK,IAAIxB,UAAA;IACtByB,oBAAA,GAAuBF,SAAA,IAAab,cAAA;EAiB1C,IAdKC,KAAA,CAAML,aAAA,KACTK,KAAA,CAAML,aAAA,GAAgB,MAGtBmB,oBAAA;EAAA;EAAA;EAGAzB,UAAA,CAAWwB,IAAA,KAAS,UACpBxB,UAAA,CAAWwB,IAAA,KAAS,aAEpBb,KAAA,CAAML,aAAA,GAAgB,YAIpBG,OAAA,IACGT,UAAA,CAAW0B,QAAA,EAET;IACL,MAAMC,WAAA,GAAc3C,aAAA,CAClBgB,UAAA,CAAWc,KAAA,GAAQd,UAAA,CAAWsB,EAAA,GAAKtB,UAAA,CAAW0B,QAChD;IACA,IAAI,CAACC,WAAA,EAAa,MAAM,IAAIC,KAAA,CAAM,iBAAO;IACzChC,QAAA,GAAWpB,QAAA,CAASqD,OAAA,CAAQjC,QAAQ,EAAEM,GAAA,CAAKC,KAAA,IAClCxB,cAAA,CAAewB,KAAK,IACvB1B,YAAA,CACE0B,KAAA,EACA,QACA,eAAAf,GAAA,CAACI,KAAA;MAAMgC,IAAA,EAAMG,WAAA,CAAYH,IAAA;MAAQ5B,QAAA,EAAAO,KAAA,CAAcV,KAAA,CAAMG;IAAA,CAAS,CAChE,IACAO,KACL;EACH;EAeF,IAZIY,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvBxB,KAAA,CAAMyB,KAAA,IACRY,OAAA,CAAQC,IAAA,CAAK,sBAAsB;IACjCN,oBAAA;IACAf,cAAA;IACAV,UAAA;IACAW,KAAA;IACA,GAAGqB,yBAAA,CAA0BhC,UAAA,EAAYP,KAAA,EAAOI,MAAM;EACxD,CAAC,GAIDa,cAAA,KAAmB,IACrB,OAAOd,QAAA;EAGT,IAAItB,KAAA,EAAO;IACT,MAAM;MAAEgB,SAAA;MAAWC;IAAM,IAAIyC,yBAAA,CAA0BhC,UAAA,EAAYP,KAAA,EAAOI,MAAM;IAehF,IAbAD,QAAA,GACE,eAAAR,GAAA,CAAC;MACE,IAAI2B,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiB;QAC7C,iBAAiBjB,UAAA,CAAWsB;MAC9B;MACAhC,SAAA,EAAW,GAAGA,SAAS;MACvBC,KAAA;MAECK;IAAA,CACH,GAIEe,KAAA,CAAML,aAAA,KAAkB,WAAW;MAErC,MAAM2B,UAAA,GAAYR,oBAAA,GACd,GACEF,SAAA,GACIC,IAAA,CAAKU,UAAA,CAAW,OAAO,IACrB,wBACAV,IAAA,CAAKU,UAAA,CAAW,MAAM,IACpB,uBACA,KACJ,EACN,mBACA;MACJtC,QAAA,GAAW,eAAAR,GAAA,CAAC;QAAKE,SAAA,EAAW2C,UAAA;QAAYrC;MAAA,CAAS;IACnD;IAEA,OAAOA,QAAA;EACT;EAEA,OAAOA,QAAA;AACT;AAEA,SAASoC,0BACPhC,UAAA,EACAP,KAAA,EACAI,MAAA,GAAS,IACT;EACA,IAAI,CAACG,UAAA,CAAWc,KAAA,IAAS,CAACrB,KAAA,CAAMiB,cAAA,EAC9B,OAAOrB,KAAA;EAIT,MAAM8C,UAAA,GACJnC,UAAA,EAAYoC,KAAA,IAASpC,UAAA,CAAWc,KAAA,GAAQhC,gBAAA,CAAiBkB,UAAA,CAAWoC,KAAA,CAAMC,KAAK,IAAI;IAE/E9C,KAAA,GAAQ4C,UAAA,GACV;MACEE,KAAA,EAAOF;IACT,IACA;IAEEG,WAAA,GAAczD,UAAA,CAAW,qBAAqB,KAAK;IACnD0D,cAAA,GACJvC,UAAA,CAAWwC,QAAA,IAAYF,WAAA,GACnBtC,UAAA,CAAWwB,IAAA,GACXxB,UAAA,CAAWwB,IAAA,CAAKiB,OAAA,CAAQC,YAAA,EAAc,EAAE;IAExCpD,SAAA,GAAY,GAAGO,MAAA,GAAS,KAAK,aAAa,MAAM0C,cAAc;EAEpE,OAAO;IAAEhD,KAAA;IAAOD;EAAU;AAC5B;AAEA,MAAMoD,YAAA,GAAe","ignoreList":[]}
|
|
@@ -32,7 +32,11 @@ var empty = {
|
|
|
32
32
|
Theme.avoidForwardRef = !0;
|
|
33
33
|
function getThemedChildren(themeState, children, props) {
|
|
34
34
|
var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1, stateRef = arguments.length > 4 ? arguments[4] : void 0, { shallow, forceClassName } = props, state = stateRef.current, hasEverThemed = state.hasEverThemed, shouldRenderChildrenWithTheme = hasEverThemed || themeState.isNew || isRoot || hasThemeUpdatingProps(props);
|
|
35
|
-
if (
|
|
35
|
+
if (process.env.NODE_ENV === "development" && props.debug && (children = /* @__PURE__ */ _jsx(ThemeDebug, {
|
|
36
|
+
themeState,
|
|
37
|
+
themeProps: props,
|
|
38
|
+
children
|
|
39
|
+
})), !shouldRenderChildrenWithTheme)
|
|
36
40
|
return children;
|
|
37
41
|
children = /* @__PURE__ */ _jsx(ThemeStateContext.Provider, {
|
|
38
42
|
value: themeState.id,
|
|
@@ -51,21 +55,20 @@ function getThemedChildren(themeState, children, props) {
|
|
|
51
55
|
})) : child;
|
|
52
56
|
});
|
|
53
57
|
}
|
|
54
|
-
if (process.env.NODE_ENV === "development" && props.debug &&
|
|
58
|
+
if (process.env.NODE_ENV === "development" && props.debug && console.warn(" getThemedChildren", {
|
|
55
59
|
requiresExtraWrapper,
|
|
56
60
|
forceClassName,
|
|
57
61
|
themeState,
|
|
58
62
|
state,
|
|
59
63
|
...getThemeClassNameAndStyle(themeState, props, isRoot)
|
|
60
|
-
}),
|
|
61
|
-
themeState,
|
|
62
|
-
themeProps: props,
|
|
63
|
-
children
|
|
64
|
-
})), forceClassName === !1)
|
|
64
|
+
}), forceClassName === !1)
|
|
65
65
|
return children;
|
|
66
66
|
if (isWeb) {
|
|
67
67
|
var { className, style } = getThemeClassNameAndStyle(themeState, props, isRoot);
|
|
68
68
|
if (children = /* @__PURE__ */ _jsx("span", {
|
|
69
|
+
...process.env.NODE_ENV === "development" && {
|
|
70
|
+
"data-theme-id": themeState.id
|
|
71
|
+
},
|
|
69
72
|
className: `${className} _dsp_contents is_Theme`,
|
|
70
73
|
style,
|
|
71
74
|
children
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Users/n8/tamagui/code/core/web/src/views/Theme.tsx"],
|
|
4
|
-
"mappings": ";AAAA,SAASA,aAAa;AAEtB,OAAOC,
|
|
5
|
-
"names": ["isWeb", "React", "Children", "cloneElement", "forwardRef", "isValidElement", "useRef", "getSetting", "variableToString", "useThemeWithState", "getThemeState", "hasThemeUpdatingProps", "ThemeStateContext", "ThemeDebug", "empty", "className", "style", "Theme", "props", "ref", "disable", "children", "isRoot", "_", "themeState", "disableDirectChildTheme", "finalChildren", "map", "child", "only", "stateRef", "hasEverThemed", "getThemedChildren", "shallow", "forceClassName", "state", "current", "shouldRenderChildrenWithTheme", "isNew", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["isWeb", "React", "Children", "cloneElement", "forwardRef", "isValidElement", "useRef", "getSetting", "variableToString", "useThemeWithState", "getThemeState", "hasThemeUpdatingProps", "ThemeStateContext", "ThemeDebug", "empty", "className", "style", "Theme", "props", "ref", "disable", "children", "isRoot", "_", "themeState", "disableDirectChildTheme", "finalChildren", "map", "child", "only", "stateRef", "hasEverThemed", "getThemedChildren", "shallow", "forceClassName", "state", "current", "shouldRenderChildrenWithTheme", "isNew", "process", "env", "NODE_ENV", "debug", "themeProps", "Provider", "value", "id", "isInverse", "name", "requiresExtraWrapper", "parentId", "parentState", "Error", "toArray", "undefined", "console", "warn", "getThemeClassNameAndStyle", "span", "startsWith", "themeColor", "theme", "color", "maxInverses", "themeClassName", "inverses", "replace", "schemePrefix"]
|
|
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.12",
|
|
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.12",
|
|
31
|
+
"@tamagui/constants": "1.124.12",
|
|
32
|
+
"@tamagui/helpers": "1.124.12",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.124.12",
|
|
34
|
+
"@tamagui/timer": "1.124.12",
|
|
35
|
+
"@tamagui/types": "1.124.12",
|
|
36
|
+
"@tamagui/use-did-finish-ssr": "1.124.12",
|
|
37
|
+
"@tamagui/use-event": "1.124.12",
|
|
38
|
+
"@tamagui/use-force-update": "1.124.12"
|
|
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.12",
|
|
46
46
|
"@testing-library/react": "^16.1.0",
|
|
47
47
|
"csstype": "^3.0.10",
|
|
48
48
|
"react": "*",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useIsomorphicLayoutEffect } from '@tamagui/constants'
|
|
2
2
|
import {
|
|
3
3
|
createContext,
|
|
4
4
|
useCallback,
|
|
@@ -35,6 +35,25 @@ const pendingUpdate = new Map<any, boolean | 'force'>()
|
|
|
35
35
|
|
|
36
36
|
// TODO this will gain memory over time but its not going to be a ton
|
|
37
37
|
const states: Map<ID, ThemeState | undefined> = new Map()
|
|
38
|
+
const localStates: Map<ID, ThemeState | undefined> = new Map()
|
|
39
|
+
|
|
40
|
+
if (process.env.NODE_ENV === 'development') {
|
|
41
|
+
globalThis.getTamaguiThemes = () => {
|
|
42
|
+
function buildTree(id: ID) {
|
|
43
|
+
const node = states.get(id)
|
|
44
|
+
if (!node) return null
|
|
45
|
+
const children = Array.from(states.values())
|
|
46
|
+
.filter((child) => child?.parentId === id)
|
|
47
|
+
.map((child) => buildTree(child!.id))
|
|
48
|
+
.filter(Boolean)
|
|
49
|
+
return { ...node, children }
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (rootThemeState) {
|
|
53
|
+
console.info(buildTree(rootThemeState.id))
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
38
57
|
|
|
39
58
|
let shouldForce = false
|
|
40
59
|
export const forceUpdateThemes = () => {
|
|
@@ -45,7 +64,7 @@ export const forceUpdateThemes = () => {
|
|
|
45
64
|
|
|
46
65
|
export const getThemeState = (id: ID) => states.get(id)
|
|
47
66
|
|
|
48
|
-
const cache = new Map<string, ThemeState>()
|
|
67
|
+
// const cache = new Map<string, ThemeState>()
|
|
49
68
|
let cacheVersion = 0
|
|
50
69
|
|
|
51
70
|
let themes: Record<string, ThemeParsed> | null = null
|
|
@@ -61,6 +80,10 @@ export const useThemeState = (
|
|
|
61
80
|
const { disable } = props
|
|
62
81
|
const parentId = useContext(ThemeStateContext)
|
|
63
82
|
|
|
83
|
+
if (!parentId && !isRoot) {
|
|
84
|
+
throw new Error(`No parent?`)
|
|
85
|
+
}
|
|
86
|
+
|
|
64
87
|
if (disable) {
|
|
65
88
|
return (
|
|
66
89
|
states.get(parentId) || {
|
|
@@ -85,6 +108,9 @@ export const useThemeState = (
|
|
|
85
108
|
return () => {
|
|
86
109
|
allListeners.delete(id)
|
|
87
110
|
listenersByParent[parentId].delete(id)
|
|
111
|
+
localStates.delete(id)
|
|
112
|
+
states.delete(id)
|
|
113
|
+
pendingUpdate.delete(id)
|
|
88
114
|
}
|
|
89
115
|
},
|
|
90
116
|
[id, parentId]
|
|
@@ -93,9 +119,10 @@ export const useThemeState = (
|
|
|
93
119
|
const propsKey = getPropsKey(props)
|
|
94
120
|
|
|
95
121
|
const getSnapshot = () => {
|
|
96
|
-
|
|
122
|
+
let local = localStates.get(id)
|
|
123
|
+
|
|
97
124
|
const needsUpdate =
|
|
98
|
-
props.name === 'light' || props.name === 'dark'
|
|
125
|
+
isRoot || props.name === 'light' || props.name === 'dark' || props.name === null
|
|
99
126
|
? true
|
|
100
127
|
: !hasRenderedOnce.get(keys)
|
|
101
128
|
? true
|
|
@@ -103,17 +130,16 @@ export const useThemeState = (
|
|
|
103
130
|
? true
|
|
104
131
|
: props.needsUpdate?.()
|
|
105
132
|
|
|
106
|
-
const parentState = states.get(parentId)
|
|
107
|
-
const cacheKey = `${cacheVersion}${id}${propsKey}${parentState?.name || ''}${isRoot}`
|
|
133
|
+
// const parentState = states.get(parentId)
|
|
134
|
+
// const cacheKey = `${cacheVersion}${id}${propsKey}${parentState?.name || ''}${isRoot}`
|
|
135
|
+
// if (!needsUpdate) {
|
|
136
|
+
// if (cache.has(cacheKey)) {
|
|
137
|
+
// return cache.get(cacheKey)!
|
|
138
|
+
// }
|
|
139
|
+
// }
|
|
108
140
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
return cache.get(cacheKey)!
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const next = getSnapshotFrom(
|
|
116
|
-
last,
|
|
141
|
+
const [rerender, next] = getNextState(
|
|
142
|
+
local,
|
|
117
143
|
props,
|
|
118
144
|
propsKey,
|
|
119
145
|
isRoot,
|
|
@@ -123,20 +149,32 @@ export const useThemeState = (
|
|
|
123
149
|
pendingUpdate.get(id)
|
|
124
150
|
)
|
|
125
151
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
)
|
|
135
|
-
console.warn(` · useTheme(${id}) UPDATE from`, last, 'to', next)
|
|
136
|
-
}
|
|
152
|
+
pendingUpdate.delete(id)
|
|
153
|
+
|
|
154
|
+
// we always create a new localState for every component
|
|
155
|
+
// that way we can use it to de-opt and avoid renders granularly
|
|
156
|
+
// we always return the localState object in each component
|
|
157
|
+
// the global state (states) should always be up to date with the latest
|
|
158
|
+
if (!local || rerender) {
|
|
159
|
+
local = { ...next }
|
|
160
|
+
localStates.set(id, local)
|
|
137
161
|
}
|
|
138
162
|
|
|
139
|
-
|
|
163
|
+
if (
|
|
164
|
+
process.env.NODE_ENV === 'development' &&
|
|
165
|
+
props.debug &&
|
|
166
|
+
props.debug !== 'profile'
|
|
167
|
+
) {
|
|
168
|
+
console.groupCollapsed(` ${id} 🪄 ${rerender}`, local.name, '>', next.name)
|
|
169
|
+
console.info({ props, propsKey, isRoot, parentId, local, next, needsUpdate })
|
|
170
|
+
console.groupEnd()
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
Object.assign(local, next)
|
|
174
|
+
local.id = id
|
|
175
|
+
states.set(id, next)
|
|
176
|
+
|
|
177
|
+
return local
|
|
140
178
|
}
|
|
141
179
|
|
|
142
180
|
if (process.env.NODE_ENV === 'development' && globalThis.time)
|
|
@@ -160,10 +198,10 @@ export const useThemeState = (
|
|
|
160
198
|
scheduleUpdate(id)
|
|
161
199
|
}, [keys, propsKey])
|
|
162
200
|
|
|
163
|
-
return state
|
|
201
|
+
return state
|
|
164
202
|
}
|
|
165
203
|
|
|
166
|
-
const
|
|
204
|
+
const getNextState = (
|
|
167
205
|
lastState: ThemeState | undefined,
|
|
168
206
|
props: UseThemeWithStateProps,
|
|
169
207
|
propsKey: string,
|
|
@@ -172,7 +210,7 @@ const getSnapshotFrom = (
|
|
|
172
210
|
parentId: string,
|
|
173
211
|
needsUpdate: boolean | undefined,
|
|
174
212
|
pendingUpdate: boolean | 'force' | undefined
|
|
175
|
-
): ThemeState => {
|
|
213
|
+
): [boolean, ThemeState] => {
|
|
176
214
|
const { debug } = props
|
|
177
215
|
const parentState = states.get(parentId)
|
|
178
216
|
|
|
@@ -181,7 +219,7 @@ const getSnapshotFrom = (
|
|
|
181
219
|
}
|
|
182
220
|
|
|
183
221
|
const name =
|
|
184
|
-
!propsKey &&
|
|
222
|
+
!propsKey && (!lastState || !lastState?.isNew)
|
|
185
223
|
? null
|
|
186
224
|
: getNewThemeName(
|
|
187
225
|
parentState?.name,
|
|
@@ -189,10 +227,13 @@ const getSnapshotFrom = (
|
|
|
189
227
|
pendingUpdate === 'force' ? true : !!needsUpdate
|
|
190
228
|
)
|
|
191
229
|
|
|
192
|
-
const isSameAsParent =
|
|
230
|
+
const isSameAsParent = parentState && (!name || name === parentState.name)
|
|
231
|
+
const shouldRerender = Boolean(
|
|
232
|
+
needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name)
|
|
233
|
+
)
|
|
193
234
|
|
|
194
235
|
if (process.env.NODE_ENV === 'development' && debug && debug !== 'profile') {
|
|
195
|
-
const message = ` · useTheme(${id})
|
|
236
|
+
const message = ` · useTheme(${id}) => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`
|
|
196
237
|
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
197
238
|
console.info(message)
|
|
198
239
|
} else {
|
|
@@ -202,8 +243,8 @@ const getSnapshotFrom = (
|
|
|
202
243
|
}
|
|
203
244
|
}
|
|
204
245
|
|
|
205
|
-
if (
|
|
206
|
-
return parentState
|
|
246
|
+
if (isSameAsParent) {
|
|
247
|
+
return [shouldRerender, { ...parentState, isNew: false }]
|
|
207
248
|
}
|
|
208
249
|
|
|
209
250
|
if (!name) {
|
|
@@ -213,16 +254,12 @@ const getSnapshotFrom = (
|
|
|
213
254
|
throw new Error(`No theme and no parent?`)
|
|
214
255
|
}
|
|
215
256
|
|
|
216
|
-
if (
|
|
257
|
+
if (shouldRerender) {
|
|
217
258
|
const updated = { ...(parentState || lastState)! }
|
|
218
|
-
return updated
|
|
259
|
+
return [true, updated]
|
|
219
260
|
}
|
|
220
261
|
|
|
221
|
-
return next
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
if (pendingUpdate !== 'force' && lastState && lastState.name === name) {
|
|
225
|
-
return lastState
|
|
262
|
+
return [false, next]
|
|
226
263
|
}
|
|
227
264
|
|
|
228
265
|
const scheme = getScheme(name)
|
|
@@ -239,12 +276,17 @@ const getSnapshotFrom = (
|
|
|
239
276
|
parentName: parentState?.name,
|
|
240
277
|
inverses,
|
|
241
278
|
isInverse,
|
|
279
|
+
isNew: true,
|
|
242
280
|
} satisfies ThemeState
|
|
243
281
|
|
|
244
282
|
if (isRoot) {
|
|
245
283
|
rootThemeState = nextState
|
|
246
284
|
}
|
|
247
285
|
|
|
286
|
+
if (pendingUpdate !== 'force' && lastState && lastState.name === name) {
|
|
287
|
+
return [false, nextState]
|
|
288
|
+
}
|
|
289
|
+
|
|
248
290
|
const shouldAvoidRerender =
|
|
249
291
|
pendingUpdate !== 'force' &&
|
|
250
292
|
lastState &&
|
|
@@ -262,13 +304,14 @@ const getSnapshotFrom = (
|
|
|
262
304
|
// we still update the state (not changing identity), that way children can properly resolve the right state
|
|
263
305
|
// but this one wont trigger an update
|
|
264
306
|
if (shouldAvoidRerender) {
|
|
265
|
-
|
|
266
|
-
return lastState
|
|
307
|
+
return [false, nextState]
|
|
267
308
|
}
|
|
268
309
|
|
|
269
|
-
return nextState
|
|
310
|
+
return [true, nextState]
|
|
270
311
|
}
|
|
271
312
|
|
|
313
|
+
const regexParentScheme = /^(light|dark)_/
|
|
314
|
+
|
|
272
315
|
function scheduleUpdate(id: string) {
|
|
273
316
|
const queue = [id]
|
|
274
317
|
const visited = new Set<string>()
|