@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,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
-
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
return to;
|
|
14
|
-
};
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
|
-
var shouldDeoptDueToParentScheme_native_exports = {};
|
|
17
|
-
__export(shouldDeoptDueToParentScheme_native_exports, {
|
|
18
|
-
shouldDeoptDueToParentScheme: () => shouldDeoptDueToParentScheme
|
|
19
|
-
});
|
|
20
|
-
module.exports = __toCommonJS(shouldDeoptDueToParentScheme_native_exports);
|
|
21
|
-
var import_react_native = require("react-native");
|
|
22
|
-
function shouldDeoptDueToParentScheme(manager) {
|
|
23
|
-
var _parents_, parents = ((manager == null ? void 0 : manager.getParents()) || []).reverse(), rootScheme = (_parents_ = parents[0]) === null || _parents_ === void 0 ? void 0 : _parents_.state.scheme;
|
|
24
|
-
if (!rootScheme || import_react_native.Appearance.getColorScheme() !== rootScheme)
|
|
25
|
-
return !0;
|
|
26
|
-
var lastParentScheme = rootScheme, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
27
|
-
try {
|
|
28
|
-
for (var _iterator = parents[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
29
|
-
var parent = _step.value;
|
|
30
|
-
if (parent.state.scheme !== lastParentScheme)
|
|
31
|
-
return !0;
|
|
32
|
-
lastParentScheme = parent.state.scheme;
|
|
33
|
-
}
|
|
34
|
-
} catch (err) {
|
|
35
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
36
|
-
} finally {
|
|
37
|
-
try {
|
|
38
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
39
|
-
} finally {
|
|
40
|
-
if (_didIteratorError)
|
|
41
|
-
throw _iteratorError;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return !1;
|
|
45
|
-
}
|
|
46
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
-
0 && (module.exports = {
|
|
48
|
-
shouldDeoptDueToParentScheme
|
|
49
|
-
});
|
|
50
|
-
//# sourceMappingURL=shouldDeoptDueToParentScheme.native.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/shouldDeoptDueToParentScheme.native.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;0BAA2B;AAOpB,SAASA,6BAA6BC,SAAsB;MAG9CC,WADbA,YAAWD,WAAAA,OAAAA,SAAAA,QAASE,WAAU,MAAM,CAAA,GAAIC,QAAO,GAC/CC,cAAaH,YAAAA,QAAQ,CAAA,OAAE,QAAVA,cAAAA,SAAAA,SAAAA,UAAYI,MAAMC;AAUrC,MAPI,CAACF,cAODG,+BAAWC,eAAc,MAAOJ;AAClC,WAAO;AAIT,MAAIK,mBAAmBL,YAGlB,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,aAAK,YAAgBH,QAAAA,OAAAA,QAAAA,EAAAA,GAAhB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAyB;AAAzB,UAAMS,SAAN,MAAA;AACH,UAAIA,OAAOL,MAAMC,WAAWG;AAC1B,eAAO;AAETA,yBAAmBC,OAAOL,MAAMC;IAClC;;AALK,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAOL,SAAO;AACT;",
|
|
5
|
-
"names": ["shouldDeoptDueToParentScheme", "manager", "parents", "getParents", "reverse", "rootScheme", "state", "scheme", "Appearance", "getColorScheme", "lastParentScheme", "parent"]
|
|
6
|
-
}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { isClient, isWeb } from "@tamagui/constants";
|
|
2
|
-
import { getThemes } from "../config";
|
|
3
|
-
import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from "../constants/constants";
|
|
4
|
-
const emptyState = { name: "" };
|
|
5
|
-
function getHasThemeUpdatingProps(props) {
|
|
6
|
-
return !!(props.name || props.componentName || props.inverse || props.reset);
|
|
7
|
-
}
|
|
8
|
-
let uid = 0;
|
|
9
|
-
class ThemeManager {
|
|
10
|
-
constructor(props = {}, parentManager) {
|
|
11
|
-
this.props = props;
|
|
12
|
-
if (uid = (uid + 1) % Number.MAX_VALUE, this.id = uid, parentManager === "root") {
|
|
13
|
-
this.updateStateFromProps(props, !1);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
if (!parentManager)
|
|
17
|
-
throw process.env.NODE_ENV !== "production" ? new Error(
|
|
18
|
-
"No parent manager given, this is likely due to duplicated Tamagui dependencies. Check your lockfile for mis-matched versions. It could also be from an error somewhere else in your stack causing Tamagui to recieve undefined context, you can try putting some ErrorBoundary components around other areas of your app, or a Suspense boundary."
|
|
19
|
-
) : "\u274C 000";
|
|
20
|
-
if (this.parentManager = parentManager, !this.updateStateFromProps(props, !1))
|
|
21
|
-
return parentManager;
|
|
22
|
-
}
|
|
23
|
-
id = 0;
|
|
24
|
-
themeListeners = /* @__PURE__ */ new Set();
|
|
25
|
-
parentManager = null;
|
|
26
|
-
state = emptyState;
|
|
27
|
-
updateStateFromProps(props = this.props || {}, shouldNotify = !0) {
|
|
28
|
-
if (this.props = props, props.forceTheme)
|
|
29
|
-
return this.state.theme = props.forceTheme, this.state.name = props.name || "", this.updateState(this.state, !0), this.state;
|
|
30
|
-
const nextState = this.getStateIfChanged(props);
|
|
31
|
-
if (nextState)
|
|
32
|
-
return this.updateState(nextState, shouldNotify), nextState;
|
|
33
|
-
}
|
|
34
|
-
getParents() {
|
|
35
|
-
const parents = [];
|
|
36
|
-
let current = this;
|
|
37
|
-
for (; current; )
|
|
38
|
-
parents.push(current), current = current.parentManager;
|
|
39
|
-
return parents;
|
|
40
|
-
}
|
|
41
|
-
updateState(nextState, shouldNotify = !0) {
|
|
42
|
-
this.state = nextState, this._allKeys = null;
|
|
43
|
-
}
|
|
44
|
-
getStateIfChanged(props = this.props, state = this.state, parentManager = this.parentManager) {
|
|
45
|
-
const _ = this.getState(props, parentManager);
|
|
46
|
-
if (state && state !== emptyState && !_)
|
|
47
|
-
return parentManager?.state;
|
|
48
|
-
if (this.getStateShouldChange(_, state))
|
|
49
|
-
return _;
|
|
50
|
-
}
|
|
51
|
-
getStateShouldChange(nextState, state = this.state) {
|
|
52
|
-
return !(!nextState?.theme || nextState.theme === state?.theme);
|
|
53
|
-
}
|
|
54
|
-
getState(props = this.props, parentManager = this.parentManager) {
|
|
55
|
-
return getState(props, parentManager) || null;
|
|
56
|
-
}
|
|
57
|
-
_allKeys = null;
|
|
58
|
-
get allKeys() {
|
|
59
|
-
return this._allKeys ||= /* @__PURE__ */ new Set([
|
|
60
|
-
...this.parentManager?.allKeys || [],
|
|
61
|
-
...Object.keys(this.state.theme || {})
|
|
62
|
-
]), this._allKeys;
|
|
63
|
-
}
|
|
64
|
-
notify(forced = !1) {
|
|
65
|
-
this.themeListeners.forEach((cb) => cb(this.state.name, this, forced)), process.env.NODE_ENV !== "production" && (this._numChangeEventsSent ??= 0, this._numChangeEventsSent++);
|
|
66
|
-
}
|
|
67
|
-
_selfListener;
|
|
68
|
-
selfUpdate() {
|
|
69
|
-
this._selfListener?.(this.state.name, this, "self");
|
|
70
|
-
}
|
|
71
|
-
onChangeTheme(cb, debugId) {
|
|
72
|
-
return process.env.NODE_ENV !== "production" && debugId && (this._listeningIds ??= /* @__PURE__ */ new Set(), this._listeningIds.add(debugId)), debugId === !0 && (this._selfListener = cb), this.themeListeners.add(cb), () => {
|
|
73
|
-
this.themeListeners.delete(cb);
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
const cache = {};
|
|
78
|
-
function getState(props, manager) {
|
|
79
|
-
if (!getHasThemeUpdatingProps(props))
|
|
80
|
-
return null;
|
|
81
|
-
const [allManagers] = getManagers(manager), cacheKey = `${props.name || ""}${props.componentName || ""}${props.inverse || ""}${props.reset || ""}${allManagers.map((x) => x?.state.name || ".").join("")}`, cached = cache[cacheKey];
|
|
82
|
-
if (!cached) {
|
|
83
|
-
const res = getStateUncached(props, manager);
|
|
84
|
-
return cache[cacheKey] = res, res;
|
|
85
|
-
}
|
|
86
|
-
return cached;
|
|
87
|
-
}
|
|
88
|
-
function getStateUncached(props, manager) {
|
|
89
|
-
if (props.name && props.reset)
|
|
90
|
-
throw new Error(
|
|
91
|
-
process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time."
|
|
92
|
-
);
|
|
93
|
-
const themes = getThemes(), [allManagers, componentManagers] = getManagers(manager), isDirectParentAComponentTheme = !!manager?.state.isComponent, startIndex = props.reset && !isDirectParentAComponentTheme ? 1 : 0;
|
|
94
|
-
let baseManager = allManagers[startIndex], parentManager = allManagers[startIndex + 1];
|
|
95
|
-
if (!baseManager && props.reset)
|
|
96
|
-
return process.env.NODE_ENV !== "production" && console.warn("Cannot reset, no parent theme exists"), null;
|
|
97
|
-
const { componentName } = props;
|
|
98
|
-
let result = null, baseName = baseManager?.state.name || "";
|
|
99
|
-
baseManager?.state.isComponent && (baseName = baseName.replace(/_[A-Z][A-Za-z]+/, ""));
|
|
100
|
-
const nextName = props.reset ? baseName : props.name || "", allComponentThemes = componentManagers.map((x) => x?.state.name || "");
|
|
101
|
-
isDirectParentAComponentTheme && allComponentThemes.shift();
|
|
102
|
-
const base = baseName.split(THEME_NAME_SEPARATOR), max = base.length, min = props.componentName && !nextName ? max : 0;
|
|
103
|
-
for (let i = max; i >= min; i--) {
|
|
104
|
-
let prefix = base.slice(0, i).join(THEME_NAME_SEPARATOR);
|
|
105
|
-
props.inverse && (prefix = inverseThemeName(prefix));
|
|
106
|
-
let potentials = [];
|
|
107
|
-
if (prefix && prefix !== baseName && prefix.includes(nextName) && potentials.push(prefix), nextName && potentials.unshift(prefix ? `${prefix}_${nextName}` : nextName), i === 1) {
|
|
108
|
-
const lastSegment = potentials.findIndex((x) => !x.includes("_"));
|
|
109
|
-
lastSegment > 0 && potentials.splice(lastSegment, 0, nextName);
|
|
110
|
-
}
|
|
111
|
-
if (componentName && !props.reset) {
|
|
112
|
-
const baseLen = base.length;
|
|
113
|
-
let componentPotentials = [];
|
|
114
|
-
if (nextName && baseLen > 1) {
|
|
115
|
-
const beforeSeparator = base[0];
|
|
116
|
-
componentPotentials.push(`${beforeSeparator}_${nextName}_${componentName}`);
|
|
117
|
-
}
|
|
118
|
-
if (componentPotentials.push(`${prefix}_${componentName}`), nextName) {
|
|
119
|
-
if (i > baseLen) {
|
|
120
|
-
const prefixLessOne = base.slice(0, i - 1).join(THEME_NAME_SEPARATOR);
|
|
121
|
-
if (prefixLessOne) {
|
|
122
|
-
const lessSpecific = `${prefixLessOne}_${nextName}_${componentName}`;
|
|
123
|
-
componentPotentials.unshift(lessSpecific);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
const moreSpecific = `${prefix}_${nextName}_${componentName}`;
|
|
127
|
-
componentPotentials.unshift(moreSpecific);
|
|
128
|
-
}
|
|
129
|
-
potentials = [...componentPotentials, ...potentials, ...allComponentThemes];
|
|
130
|
-
}
|
|
131
|
-
const found = potentials.find((t) => t in themes);
|
|
132
|
-
if (process.env.NODE_ENV !== "production" && typeof props.debug == "string" && isClient && console.info(` \u{1F537} [${manager?.id}] getState`, {
|
|
133
|
-
props,
|
|
134
|
-
found,
|
|
135
|
-
potentials,
|
|
136
|
-
baseManager,
|
|
137
|
-
nextName,
|
|
138
|
-
baseName,
|
|
139
|
-
prefix
|
|
140
|
-
}), found) {
|
|
141
|
-
const names = found.split("_"), [firstName, ...restNames] = names, lastName = names[names.length - 1], isComponent = lastName[0] === lastName[0].toUpperCase(), scheme = firstName === "light" ? "light" : firstName === "dark" ? "dark" : void 0, pre = THEME_CLASSNAME_PREFIX, className = isWeb ? `${pre}sub_theme ${pre}${!scheme || !restNames.length ? firstName : restNames.join("_")}` : "", parentName = (baseManager || parentManager)?.state?.name;
|
|
142
|
-
result = {
|
|
143
|
-
name: found,
|
|
144
|
-
parentName,
|
|
145
|
-
theme: themes[found],
|
|
146
|
-
className,
|
|
147
|
-
isComponent,
|
|
148
|
-
isSchemeFixed: props.name === "light" || props.name === "dark",
|
|
149
|
-
scheme
|
|
150
|
-
};
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return process.env.NODE_ENV !== "production" && props.debug === "verbose" && isClient && (console.groupCollapsed("ThemeManager.getState()"), console.info({ props, baseName, base, min, max }), console.warn("result", { result }), console.trace(), console.groupEnd()), result;
|
|
155
|
-
}
|
|
156
|
-
const inverseThemeName = (themeName) => themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
|
|
157
|
-
function getManagers(themeManager) {
|
|
158
|
-
const comp = [], all = [];
|
|
159
|
-
let cur = themeManager;
|
|
160
|
-
for (; cur; )
|
|
161
|
-
all.push(cur), cur.state.isComponent && comp.push(cur), cur = cur.parentManager;
|
|
162
|
-
return [all, comp];
|
|
163
|
-
}
|
|
164
|
-
export {
|
|
165
|
-
ThemeManager,
|
|
166
|
-
getHasThemeUpdatingProps,
|
|
167
|
-
getManagers
|
|
168
|
-
};
|
|
169
|
-
//# sourceMappingURL=ThemeManager.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/ThemeManager.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,UAAU,aAAa;AAEhC,SAAS,iBAAiB;AAC1B,SAAS,wBAAwB,4BAA4B;AA+B7D,MAAM,aAAgC,EAAE,MAAM,GAAG;AAE1C,SAAS,yBAAyB,OAAmB;AAC1D,SAAO,GAAQ,MAAM,QAAQ,MAAM,iBAAiB,MAAM,WAAW,MAAM;AAC7E;AAEA,IAAI,MAAM;AAEH,MAAM,aAAa;AAAA,EAMxB,YACS,QAAoB,CAAC,GAC5B,eACA;AAFO;AAMP,QAHA,OAAO,MAAM,KAAK,OAAO,WACzB,KAAK,KAAK,KAEN,kBAAkB,QAAQ;AAC5B,WAAK,qBAAqB,OAAO,EAAK;AACtC;AAAA,IACF;AAEA,QAAI,CAAC;AACH,YAAI,QAAQ,IAAI,aAAa,eACrB,IAAI;AAAA,QACR;AAAA,MACF,IAEI;AAMR,QAFA,KAAK,gBAAgB,eAEjB,MAAK,qBAAqB,OAAO,EAAK;AAI1C,aAAO;AAAA,EACT;AAAA,EAlCA,KAAK;AAAA,EACL,iBAAiB,oBAAI,IAAmB;AAAA,EACxC,gBAAqC;AAAA,EACrC,QAA2B;AAAA,EAiC3B,qBACE,QAAmD,KAAK,SAAS,CAAC,GAClE,eAAe,IACf;AAGA,QAFA,KAAK,QAAQ,OAET,MAAM;AACR,kBAAK,MAAM,QAAQ,MAAM,YACzB,KAAK,MAAM,OAAO,MAAM,QAAQ,IAChC,KAAK,YAAY,KAAK,OAAO,EAAI,GAC1B,KAAK;AAGd,UAAM,YAAY,KAAK,kBAAkB,KAAK;AAC9C,QAAI;AACF,kBAAK,YAAY,WAAW,YAAY,GACjC;AAAA,EAEX;AAAA,EAEA,aAAa;AACX,UAAM,UAA0B,CAAC;AACjC,QAAI,UAA+B;AACnC,WAAO;AACL,cAAQ,KAAK,OAAO,GACpB,UAAU,QAAQ;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,WAA8B,eAAe,IAAM;AAC7D,SAAK,QAAQ,WACb,KAAK,WAAW;AAAA,EAYlB;AAAA,EAEA,kBACE,QAAQ,KAAK,OACb,QAAkC,KAAK,OACvC,gBAAgB,KAAK,eACrB;AACA,UAAM,IAAI,KAAK,SAAS,OAAO,aAAa;AAG5C,QAAI,SAAS,UAAU,cAAc,CAAC;AACpC,aAAO,eAAe;AAExB,QAAI,KAAK,qBAAqB,GAAG,KAAK;AACpC,aAAO;AAAA,EAEX;AAAA,EAEA,qBACE,WACA,QAAkC,KAAK,OACvC;AACA,WAAI,GAAC,WAAW,SAAS,UAAU,UAAU,OAAO;AAAA,EAItD;AAAA,EAEA,SAAS,QAAQ,KAAK,OAAO,gBAAgB,KAAK,eAAe;AAI/D,WAFE,SAAS,OAAO,aAAa,KAC6C;AAAA,EAE9E;AAAA,EAEA,WAA+B;AAAA,EAC/B,IAAI,UAAU;AACZ,gBAAK,aAAa,oBAAI,IAAI;AAAA,MACxB,GAAI,KAAK,eAAe,WAAW,CAAC;AAAA,MACpC,GAAG,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC,CAAC;AAAA,IACvC,CAAC,GACM,KAAK;AAAA,EACd;AAAA,EAEA,OAAO,SAAS,IAAO;AACrB,SAAK,eAAe,QAAQ,CAAC,OAAO,GAAG,KAAK,MAAM,MAAM,MAAM,MAAM,CAAC,GACjE,QAAQ,IAAI,aAAa,iBAC3B,KAAK,yBAA4B,GACjC,KAAK;AAAA,EAET;AAAA,EAEA;AAAA,EAEA,aAAa;AACX,SAAK,gBAAgB,KAAK,MAAM,MAAM,MAAM,MAAM;AAAA,EACpD;AAAA,EAEA,cAAc,IAAmB,SAAyB;AACxD,WAAI,QAAQ,IAAI,aAAa,gBAAgB,YAE3C,KAAK,kBAAkB,oBAAI,IAAI,GAE/B,KAAK,cAAc,IAAI,OAAO,IAG5B,YAAY,OACd,KAAK,gBAAgB,KAGvB,KAAK,eAAe,IAAI,EAAE,GACnB,MAAM;AACX,WAAK,eAAe,OAAO,EAAE;AAAA,IAC/B;AAAA,EACF;AACF;AAEA,MAAM,QAAkD,CAAC;AAEzD,SAAS,SACP,OACA,SAC0B;AAC1B,MAAI,CAAC,yBAAyB,KAAK;AACjC,WAAO;AAET,QAAM,CAAC,WAAW,IAAI,YAAY,OAAO,GACnC,WAAW,GAAG,MAAM,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,GAAG,MAAM,WAAW,EAAE,GAAG,MAAM,SAAS,EAAE,GAAG,YAAY,IAAI,CAAC,MAAM,GAAG,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,IAC5J,SAAS,MAAM,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,UAAM,MAAM,iBAAiB,OAAO,OAAO;AAC3C,iBAAM,QAAQ,IAAI,KACX;AAAA,EACT;AACA,SAAO;AACT;AAEA,SAAS,iBACP,OACA,SAC0B;AAC1B,MAAI,MAAM,QAAQ,MAAM;AACtB,UAAM,IAAI;AAAA,MACR,QAAQ,IAAI,aAAa,eACrB,cACA;AAAA,IACN;AAGF,QAAM,SAAS,UAAU,GAEnB,CAAC,aAAa,iBAAiB,IAAI,YAAY,OAAO,GAEtD,gCAAgC,CAAC,CAAC,SAAS,MAAM,aACjD,aAAa,MAAM,SAAS,CAAC,gCAAgC,IAAI;AACvE,MAAI,cAAc,YAAY,UAAU,GACpC,gBAAgB,YAAY,aAAa,CAAC;AAE9C,MAAI,CAAC,eAAe,MAAM;AACxB,WAAI,QAAQ,IAAI,aAAa,gBAC3B,QAAQ,KAAK,sCAAsC,GAE9C;AAGT,QAAM,EAAE,cAAc,IAAI;AAC1B,MAAI,SAAmC,MAEnC,WAAW,aAAa,MAAM,QAAQ;AAE1C,EAAI,aAAa,MAAM,gBAErB,WAAW,SAAS,QAAQ,mBAAmB,EAAE;AAGnD,QAAM,WAAW,MAAM,QAAQ,WAAW,MAAM,QAAQ,IAElD,qBAAqB,kBAAkB,IAAI,CAAC,MAAM,GAAG,MAAM,QAAQ,EAAE;AAC3E,EAAI,iCACF,mBAAmB,MAAM;AAI3B,QAAM,OAAO,SAAS,MAAM,oBAAoB,GAC1C,MAAM,KAAK,QACX,MACJ,MAAM,iBAAiB,CAAC,WACpB,MACA;AAEN,WAAS,IAAI,KAAK,KAAK,KAAK,KAAK;AAC/B,QAAI,SAAS,KAAK,MAAM,GAAG,CAAC,EAAE,KAAK,oBAAoB;AAEvD,IAAI,MAAM,YACR,SAAS,iBAAiB,MAAM;AAGlC,QAAI,aAAuB,CAAC;AAQ5B,QANI,UAAU,WAAW,YAAY,OAAO,SAAS,QAAQ,KAC3D,WAAW,KAAK,MAAM,GAEpB,YACF,WAAW,QAAQ,SAAS,GAAG,MAAM,IAAI,QAAQ,KAAK,QAAQ,GAE5D,MAAM,GAAG;AACX,YAAM,cAAc,WAAW,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC;AAChE,MAAI,cAAc,KAChB,WAAW,OAAO,aAAa,GAAG,QAAQ;AAAA,IAE9C;AAEA,QAAI,iBAAiB,CAAC,MAAM,OAAO;AACjC,YAAM,UAAU,KAAK;AACrB,UAAI,sBAAgC,CAAC;AAErC,UAAI,YAAY,UAAU,GAAG;AAC3B,cAAM,kBAAkB,KAAK,CAAC;AAC9B,4BAAoB,KAAK,GAAG,eAAe,IAAI,QAAQ,IAAI,aAAa,EAAE;AAAA,MAC5E;AAEA,UADA,oBAAoB,KAAK,GAAG,MAAM,IAAI,aAAa,EAAE,GACjD,UAAU;AAEZ,YAAI,IAAI,SAAS;AACf,gBAAM,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,oBAAoB;AACpE,cAAI,eAAe;AACjB,kBAAM,eAAe,GAAG,aAAa,IAAI,QAAQ,IAAI,aAAa;AAClE,gCAAoB,QAAQ,YAAY;AAAA,UAC1C;AAAA,QACF;AACA,cAAM,eAAe,GAAG,MAAM,IAAI,QAAQ,IAAI,aAAa;AAC3D,4BAAoB,QAAQ,YAAY;AAAA,MAC1C;AAEA,mBAAa,CAAC,GAAG,qBAAqB,GAAG,YAAY,GAAG,kBAAkB;AAAA,IAC5E;AAEA,UAAM,QAAQ,WAAW,KAAK,CAAC,MAAM,KAAK,MAAM;AAkBhD,QAfE,QAAQ,IAAI,aAAa,gBACzB,OAAO,MAAM,SAAU,YACvB,YAEA,QAAQ,KAAK,eAAQ,SAAS,EAAE,cAAc;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,GAGC,OAAO;AACT,YAAM,QAAQ,MAAM,MAAM,GAAG,GACvB,CAAC,WAAW,GAAG,SAAS,IAAI,OAC5B,WAAW,MAAM,MAAM,SAAS,CAAC,GACjC,cAAc,SAAS,CAAC,MAAM,SAAS,CAAC,EAAE,YAAY,GACtD,SACJ,cAAc,UAAU,UAAU,cAAc,SAAS,SAAS,QAC9D,MAAM,wBACN,YAAa,QAEf,GAAG,GAAG,aAAa,GAAG,GACpB,CAAC,UAAU,CAAC,UAAU,SAAS,YAAY,UAAU,KAAK,GAAG,CAC/D,KAHA,IAOE,cADe,eAAe,gBAAgB,OACpB;AAEhC,eAAS;AAAA,QACP,MAAM;AAAA,QACN;AAAA,QACA,OAAO,OAAO,KAAK;AAAA,QACnB;AAAA,QACA;AAAA,QACA,eAAe,MAAM,SAAS,WAAW,MAAM,SAAS;AAAA,QACxD;AAAA,MACF;AAEA;AAAA,IACF;AAAA,EACF;AAEA,SAAI,QAAQ,IAAI,aAAa,gBAAgB,MAAM,UAAU,aAAa,aACxE,QAAQ,eAAe,yBAAyB,GAChD,QAAQ,KAAK,EAAE,OAAO,UAAU,MAAM,KAAK,IAAI,CAAC,GAChD,QAAQ,KAAK,UAAU,EAAE,OAAO,CAAC,GACjC,QAAQ,MAAM,GACd,QAAQ,SAAS,IAGZ;AACT;AAEA,MAAM,mBAAmB,CAAC,cACjB,UAAU,WAAW,OAAO,IAC/B,UAAU,QAAQ,UAAU,MAAM,IAClC,UAAU,QAAQ,SAAS,OAAO;AAQjC,SAAS,YAAY,cAAoC;AAC9D,QAAM,OAA4B,CAAC,GAC7B,MAA2B,CAAC;AAClC,MAAI,MAAM;AACV,SAAO;AACL,QAAI,KAAK,GAAG,GACR,IAAI,MAAM,eACZ,KAAK,KAAK,GAAG,GAEf,MAAM,IAAI;AAEZ,SAAO,CAAC,KAAK,IAAI;AACnB;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { isClient, isWeb } from "@tamagui/constants";
|
|
2
|
-
import { getThemes } from "../config.mjs";
|
|
3
|
-
import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from "../constants/constants.mjs";
|
|
4
|
-
const emptyState = {
|
|
5
|
-
name: ""
|
|
6
|
-
};
|
|
7
|
-
function getHasThemeUpdatingProps(props) {
|
|
8
|
-
return !!(props.name || props.componentName || props.inverse || props.reset);
|
|
9
|
-
}
|
|
10
|
-
let uid = 0;
|
|
11
|
-
class ThemeManager {
|
|
12
|
-
constructor(props = {}, parentManager) {
|
|
13
|
-
this.props = props;
|
|
14
|
-
if (uid = (uid + 1) % Number.MAX_VALUE, this.id = uid, parentManager === "root") {
|
|
15
|
-
this.updateStateFromProps(props, !1);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (!parentManager) throw process.env.NODE_ENV !== "production" ? new Error("No parent manager given, this is likely due to duplicated Tamagui dependencies. Check your lockfile for mis-matched versions. It could also be from an error somewhere else in your stack causing Tamagui to recieve undefined context, you can try putting some ErrorBoundary components around other areas of your app, or a Suspense boundary.") : "\u274C 000";
|
|
19
|
-
if (this.parentManager = parentManager, !this.updateStateFromProps(props, !1)) return parentManager;
|
|
20
|
-
}
|
|
21
|
-
id = 0;
|
|
22
|
-
themeListeners = /* @__PURE__ */new Set();
|
|
23
|
-
parentManager = null;
|
|
24
|
-
state = emptyState;
|
|
25
|
-
updateStateFromProps(props = this.props || {}, shouldNotify = !0) {
|
|
26
|
-
if (this.props = props, props.forceTheme) return this.state.theme = props.forceTheme, this.state.name = props.name || "", this.updateState(this.state, !0), this.state;
|
|
27
|
-
const nextState = this.getStateIfChanged(props);
|
|
28
|
-
if (nextState) return this.updateState(nextState, shouldNotify), nextState;
|
|
29
|
-
}
|
|
30
|
-
getParents() {
|
|
31
|
-
const parents = [];
|
|
32
|
-
let current = this;
|
|
33
|
-
for (; current;) parents.push(current), current = current.parentManager;
|
|
34
|
-
return parents;
|
|
35
|
-
}
|
|
36
|
-
updateState(nextState, shouldNotify = !0) {
|
|
37
|
-
this.state = nextState, this._allKeys = null;
|
|
38
|
-
}
|
|
39
|
-
getStateIfChanged(props = this.props, state = this.state, parentManager = this.parentManager) {
|
|
40
|
-
const _ = this.getState(props, parentManager);
|
|
41
|
-
if (state && state !== emptyState && !_) return parentManager?.state;
|
|
42
|
-
if (this.getStateShouldChange(_, state)) return _;
|
|
43
|
-
}
|
|
44
|
-
getStateShouldChange(nextState, state = this.state) {
|
|
45
|
-
return !(!nextState?.theme || nextState.theme === state?.theme);
|
|
46
|
-
}
|
|
47
|
-
getState(props = this.props, parentManager = this.parentManager) {
|
|
48
|
-
return getState(props, parentManager) || null;
|
|
49
|
-
}
|
|
50
|
-
_allKeys = null;
|
|
51
|
-
get allKeys() {
|
|
52
|
-
return this._allKeys ||= /* @__PURE__ */new Set([...(this.parentManager?.allKeys || []), ...Object.keys(this.state.theme || {})]), this._allKeys;
|
|
53
|
-
}
|
|
54
|
-
notify(forced = !1) {
|
|
55
|
-
this.themeListeners.forEach(cb => cb(this.state.name, this, forced)), process.env.NODE_ENV !== "production" && (this._numChangeEventsSent ??= 0, this._numChangeEventsSent++);
|
|
56
|
-
}
|
|
57
|
-
_selfListener;
|
|
58
|
-
selfUpdate() {
|
|
59
|
-
this._selfListener?.(this.state.name, this, "self");
|
|
60
|
-
}
|
|
61
|
-
onChangeTheme(cb, debugId) {
|
|
62
|
-
return process.env.NODE_ENV !== "production" && debugId && (this._listeningIds ??= /* @__PURE__ */new Set(), this._listeningIds.add(debugId)), debugId === !0 && (this._selfListener = cb), this.themeListeners.add(cb), () => {
|
|
63
|
-
this.themeListeners.delete(cb);
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const cache = {};
|
|
68
|
-
function getState(props, manager) {
|
|
69
|
-
if (!getHasThemeUpdatingProps(props)) return null;
|
|
70
|
-
const [allManagers] = getManagers(manager),
|
|
71
|
-
cacheKey = `${props.name || ""}${props.componentName || ""}${props.inverse || ""}${props.reset || ""}${allManagers.map(x => x?.state.name || ".").join("")}`,
|
|
72
|
-
cached = cache[cacheKey];
|
|
73
|
-
if (!cached) {
|
|
74
|
-
const res = getStateUncached(props, manager);
|
|
75
|
-
return cache[cacheKey] = res, res;
|
|
76
|
-
}
|
|
77
|
-
return cached;
|
|
78
|
-
}
|
|
79
|
-
function getStateUncached(props, manager) {
|
|
80
|
-
if (props.name && props.reset) throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
|
|
81
|
-
const themes = getThemes(),
|
|
82
|
-
[allManagers, componentManagers] = getManagers(manager),
|
|
83
|
-
isDirectParentAComponentTheme = !!manager?.state.isComponent,
|
|
84
|
-
startIndex = props.reset && !isDirectParentAComponentTheme ? 1 : 0;
|
|
85
|
-
let baseManager = allManagers[startIndex],
|
|
86
|
-
parentManager = allManagers[startIndex + 1];
|
|
87
|
-
if (!baseManager && props.reset) return process.env.NODE_ENV !== "production" && console.warn("Cannot reset, no parent theme exists"), null;
|
|
88
|
-
const {
|
|
89
|
-
componentName
|
|
90
|
-
} = props;
|
|
91
|
-
let result = null,
|
|
92
|
-
baseName = baseManager?.state.name || "";
|
|
93
|
-
baseManager?.state.isComponent && (baseName = baseName.replace(/_[A-Z][A-Za-z]+/, ""));
|
|
94
|
-
const nextName = props.reset ? baseName : props.name || "",
|
|
95
|
-
allComponentThemes = componentManagers.map(x => x?.state.name || "");
|
|
96
|
-
isDirectParentAComponentTheme && allComponentThemes.shift();
|
|
97
|
-
const base = baseName.split(THEME_NAME_SEPARATOR),
|
|
98
|
-
max = base.length,
|
|
99
|
-
min = props.componentName && !nextName ? max : 0;
|
|
100
|
-
for (let i = max; i >= min; i--) {
|
|
101
|
-
let prefix = base.slice(0, i).join(THEME_NAME_SEPARATOR);
|
|
102
|
-
props.inverse && (prefix = inverseThemeName(prefix));
|
|
103
|
-
let potentials = [];
|
|
104
|
-
if (prefix && prefix !== baseName && prefix.includes(nextName) && potentials.push(prefix), nextName && potentials.unshift(prefix ? `${prefix}_${nextName}` : nextName), i === 1) {
|
|
105
|
-
const lastSegment = potentials.findIndex(x => !x.includes("_"));
|
|
106
|
-
lastSegment > 0 && potentials.splice(lastSegment, 0, nextName);
|
|
107
|
-
}
|
|
108
|
-
if (componentName && !props.reset) {
|
|
109
|
-
const baseLen = base.length;
|
|
110
|
-
let componentPotentials = [];
|
|
111
|
-
if (nextName && baseLen > 1) {
|
|
112
|
-
const beforeSeparator = base[0];
|
|
113
|
-
componentPotentials.push(`${beforeSeparator}_${nextName}_${componentName}`);
|
|
114
|
-
}
|
|
115
|
-
if (componentPotentials.push(`${prefix}_${componentName}`), nextName) {
|
|
116
|
-
if (i > baseLen) {
|
|
117
|
-
const prefixLessOne = base.slice(0, i - 1).join(THEME_NAME_SEPARATOR);
|
|
118
|
-
if (prefixLessOne) {
|
|
119
|
-
const lessSpecific = `${prefixLessOne}_${nextName}_${componentName}`;
|
|
120
|
-
componentPotentials.unshift(lessSpecific);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
const moreSpecific = `${prefix}_${nextName}_${componentName}`;
|
|
124
|
-
componentPotentials.unshift(moreSpecific);
|
|
125
|
-
}
|
|
126
|
-
potentials = [...componentPotentials, ...potentials, ...allComponentThemes];
|
|
127
|
-
}
|
|
128
|
-
const found = potentials.find(t => t in themes);
|
|
129
|
-
if (process.env.NODE_ENV !== "production" && typeof props.debug == "string" && isClient && console.info(` \u{1F537} [${manager?.id}] getState`, {
|
|
130
|
-
props,
|
|
131
|
-
found,
|
|
132
|
-
potentials,
|
|
133
|
-
baseManager,
|
|
134
|
-
nextName,
|
|
135
|
-
baseName,
|
|
136
|
-
prefix
|
|
137
|
-
}), found) {
|
|
138
|
-
const names = found.split("_"),
|
|
139
|
-
[firstName, ...restNames] = names,
|
|
140
|
-
lastName = names[names.length - 1],
|
|
141
|
-
isComponent = lastName[0] === lastName[0].toUpperCase(),
|
|
142
|
-
scheme = firstName === "light" ? "light" : firstName === "dark" ? "dark" : void 0,
|
|
143
|
-
pre = THEME_CLASSNAME_PREFIX,
|
|
144
|
-
className = isWeb ? `${pre}sub_theme ${pre}${!scheme || !restNames.length ? firstName : restNames.join("_")}` : "",
|
|
145
|
-
parentName = (baseManager || parentManager)?.state?.name;
|
|
146
|
-
result = {
|
|
147
|
-
name: found,
|
|
148
|
-
parentName,
|
|
149
|
-
theme: themes[found],
|
|
150
|
-
className,
|
|
151
|
-
isComponent,
|
|
152
|
-
isSchemeFixed: props.name === "light" || props.name === "dark",
|
|
153
|
-
scheme
|
|
154
|
-
};
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return process.env.NODE_ENV !== "production" && props.debug === "verbose" && isClient && (console.groupCollapsed("ThemeManager.getState()"), console.info({
|
|
159
|
-
props,
|
|
160
|
-
baseName,
|
|
161
|
-
base,
|
|
162
|
-
min,
|
|
163
|
-
max
|
|
164
|
-
}), console.warn("result", {
|
|
165
|
-
result
|
|
166
|
-
}), console.trace(), console.groupEnd()), result;
|
|
167
|
-
}
|
|
168
|
-
const inverseThemeName = themeName => themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
|
|
169
|
-
function getManagers(themeManager) {
|
|
170
|
-
const comp = [],
|
|
171
|
-
all = [];
|
|
172
|
-
let cur = themeManager;
|
|
173
|
-
for (; cur;) all.push(cur), cur.state.isComponent && comp.push(cur), cur = cur.parentManager;
|
|
174
|
-
return [all, comp];
|
|
175
|
-
}
|
|
176
|
-
export { ThemeManager, getHasThemeUpdatingProps, getManagers };
|
|
177
|
-
//# sourceMappingURL=ThemeManager.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isClient","isWeb","getThemes","THEME_CLASSNAME_PREFIX","THEME_NAME_SEPARATOR","emptyState","name","getHasThemeUpdatingProps","props","componentName","inverse","reset","uid","ThemeManager","constructor","parentManager","Number","MAX_VALUE","id","updateStateFromProps","process","env","NODE_ENV","Error","themeListeners","Set","state","shouldNotify","forceTheme","theme","updateState","nextState","getStateIfChanged","getParents","parents","current","push","_allKeys","_","getState","getStateShouldChange","allKeys","Object","keys","notify","forced","forEach","cb","_numChangeEventsSent","_selfListener","selfUpdate","onChangeTheme","debugId","_listeningIds","add","delete","cache","manager","allManagers","getManagers","cacheKey","map","x","join","cached","res","getStateUncached","themes","componentManagers","isDirectParentAComponentTheme","isComponent","startIndex","baseManager","console","warn","result","baseName","replace","nextName","allComponentThemes","shift","base","split","max","length","min","i","prefix","slice","inverseThemeName","potentials","includes","unshift","lastSegment","findIndex","splice","baseLen","componentPotentials","beforeSeparator","prefixLessOne","lessSpecific","moreSpecific","found","find","t","debug","info","names","firstName","restNames","lastName","toUpperCase","scheme","pre","className","parentName","isSchemeFixed","groupCollapsed","trace","groupEnd","themeName","startsWith","themeManager","comp","all","cur"],"sources":["../../../src/helpers/ThemeManager.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|