@tamagui/web 1.115.4 → 1.116.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/createComponent.cjs +16 -25
- package/dist/cjs/createComponent.cjs.map +1 -1
- package/dist/cjs/createComponent.native.js +14 -18
- package/dist/cjs/createComponent.native.js.map +2 -2
- package/dist/cjs/defaultComponentState.cjs +1 -6
- package/dist/cjs/defaultComponentState.cjs.map +1 -1
- package/dist/cjs/defaultComponentState.native.js +2 -7
- package/dist/cjs/defaultComponentState.native.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.cjs +13 -14
- package/dist/cjs/helpers/getSplitStyles.cjs.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.native.js +7 -10
- package/dist/cjs/helpers/getSplitStyles.native.js.map +2 -2
- package/dist/cjs/helpers/isActivePlatform.cjs +1 -0
- package/dist/cjs/helpers/isActivePlatform.cjs.map +1 -1
- package/dist/cjs/helpers/isActivePlatform.native.js +2 -0
- package/dist/cjs/helpers/isActivePlatform.native.js.map +2 -2
- package/dist/cjs/helpers/isActiveTheme.cjs +28 -0
- package/dist/cjs/helpers/isActiveTheme.cjs.map +6 -0
- package/dist/cjs/helpers/isActiveTheme.native.js +29 -0
- package/dist/cjs/helpers/isActiveTheme.native.js.map +6 -0
- package/dist/cjs/helpers/log.cjs +2 -2
- package/dist/cjs/helpers/log.cjs.map +1 -1
- package/dist/cjs/helpers/log.native.js +2 -2
- package/dist/cjs/helpers/log.native.js.map +2 -2
- package/dist/cjs/helpers/themeable.cjs +9 -9
- package/dist/cjs/helpers/themeable.cjs.map +1 -1
- package/dist/cjs/helpers/themeable.native.js +6 -6
- package/dist/cjs/helpers/themeable.native.js.map +2 -2
- package/dist/cjs/hooks/useComponentState.cjs +21 -21
- package/dist/cjs/hooks/useComponentState.cjs.map +1 -1
- package/dist/cjs/hooks/useComponentState.native.js +12 -10
- package/dist/cjs/hooks/useComponentState.native.js.map +2 -2
- package/dist/cjs/hooks/useMedia.cjs +34 -37
- package/dist/cjs/hooks/useMedia.cjs.map +1 -1
- package/dist/cjs/hooks/useMedia.native.js +55 -40
- package/dist/cjs/hooks/useMedia.native.js.map +2 -2
- package/dist/cjs/hooks/useProps.cjs +1 -1
- package/dist/cjs/hooks/useProps.cjs.map +1 -1
- package/dist/cjs/hooks/useProps.native.js +1 -1
- package/dist/cjs/hooks/useProps.native.js.map +2 -2
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +1 -2
- package/dist/cjs/views/TamaguiProvider.cjs.map +1 -1
- package/dist/cjs/views/TamaguiProvider.native.js +2 -2
- package/dist/cjs/views/TamaguiProvider.native.js.map +2 -2
- package/dist/cjs/views/Theme.cjs +2 -2
- package/dist/cjs/views/Theme.cjs.map +1 -1
- package/dist/cjs/views/Theme.native.js +2 -2
- package/dist/cjs/views/Theme.native.js.map +2 -2
- package/dist/cjs/views/ThemeDebug.cjs.map +1 -1
- package/dist/esm/createComponent.js +13 -16
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.mjs +16 -25
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +14 -18
- package/dist/esm/createComponent.native.js.map +2 -2
- package/dist/esm/defaultComponentState.js +1 -5
- package/dist/esm/defaultComponentState.js.map +1 -1
- package/dist/esm/defaultComponentState.mjs +1 -5
- package/dist/esm/defaultComponentState.mjs.map +1 -1
- package/dist/esm/defaultComponentState.native.js +1 -5
- package/dist/esm/defaultComponentState.native.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js +11 -23
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +11 -12
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +10 -12
- package/dist/esm/helpers/getSplitStyles.native.js.map +2 -2
- package/dist/esm/helpers/isActivePlatform.js +2 -0
- package/dist/esm/helpers/isActivePlatform.js.map +1 -1
- package/dist/esm/helpers/isActivePlatform.mjs +1 -0
- package/dist/esm/helpers/isActivePlatform.mjs.map +1 -1
- package/dist/esm/helpers/isActivePlatform.native.js +2 -0
- package/dist/esm/helpers/isActivePlatform.native.js.map +2 -2
- package/dist/esm/helpers/isActiveTheme.js +8 -0
- package/dist/esm/helpers/isActiveTheme.js.map +6 -0
- package/dist/esm/helpers/isActiveTheme.mjs +5 -0
- package/dist/esm/helpers/isActiveTheme.mjs.map +1 -0
- package/dist/esm/helpers/isActiveTheme.native.js +8 -0
- package/dist/esm/helpers/isActiveTheme.native.js.map +6 -0
- package/dist/esm/helpers/log.js +3 -3
- package/dist/esm/helpers/log.js.map +1 -1
- package/dist/esm/helpers/log.mjs +3 -3
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +3 -3
- package/dist/esm/helpers/log.native.js.map +2 -2
- package/dist/esm/helpers/themeable.js +5 -13
- package/dist/esm/helpers/themeable.js.map +1 -1
- package/dist/esm/helpers/themeable.mjs +12 -12
- package/dist/esm/helpers/themeable.mjs.map +1 -1
- package/dist/esm/helpers/themeable.native.js +6 -6
- package/dist/esm/helpers/themeable.native.js.map +2 -2
- package/dist/esm/hooks/useComponentState.js +14 -14
- package/dist/esm/hooks/useComponentState.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +21 -21
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +13 -12
- package/dist/esm/hooks/useComponentState.native.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +38 -37
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +33 -36
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +54 -39
- package/dist/esm/hooks/useMedia.native.js.map +2 -2
- package/dist/esm/hooks/useProps.js +1 -1
- package/dist/esm/hooks/useProps.js.map +1 -1
- package/dist/esm/hooks/useProps.mjs +1 -1
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +1 -1
- package/dist/esm/hooks/useProps.native.js.map +2 -2
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.js +1 -2
- package/dist/esm/views/TamaguiProvider.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +1 -2
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +1 -2
- package/dist/esm/views/TamaguiProvider.native.js.map +2 -2
- package/dist/esm/views/Theme.js +2 -2
- package/dist/esm/views/Theme.js.map +1 -1
- package/dist/esm/views/Theme.mjs +2 -2
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +2 -2
- package/dist/esm/views/Theme.native.js.map +2 -2
- package/dist/esm/views/ThemeDebug.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/package.json +13 -11
- package/src/createComponent.tsx +19 -26
- package/src/defaultComponentState.tsx +0 -5
- package/src/helpers/getSplitStyles.tsx +15 -27
- package/src/helpers/isActivePlatform.ts +3 -0
- package/src/helpers/isActiveTheme.ts +4 -0
- package/src/helpers/log.ts +3 -3
- package/src/helpers/themeable.tsx +27 -9
- package/src/hooks/useComponentState.ts +47 -39
- package/src/hooks/useMedia.tsx +67 -75
- package/src/hooks/useProps.tsx +3 -3
- package/src/index.ts +1 -0
- package/src/types.tsx +1 -1
- package/src/views/TamaguiProvider.tsx +0 -4
- package/src/views/Theme.tsx +7 -3
- package/src/views/ThemeDebug.tsx +0 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/defaultComponentState.d.ts +0 -1
- package/types/defaultComponentState.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/isActivePlatform.d.ts.map +1 -1
- package/types/helpers/isActiveTheme.d.ts +2 -0
- package/types/helpers/isActiveTheme.d.ts.map +1 -0
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts +1 -1
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +2 -2
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useProps.d.ts +2 -2
- package/types/hooks/useProps.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +1 -1
- package/types/types.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts.map +1 -1
- package/dist/cjs/hooks/useDidHydrateOnce.cjs +0 -50
- package/dist/cjs/hooks/useDidHydrateOnce.cjs.map +0 -6
- package/dist/cjs/hooks/useDidHydrateOnce.native.js +0 -53
- package/dist/cjs/hooks/useDidHydrateOnce.native.js.map +0 -6
- package/dist/esm/hooks/useDidHydrateOnce.js +0 -16
- package/dist/esm/hooks/useDidHydrateOnce.js.map +0 -6
- package/dist/esm/hooks/useDidHydrateOnce.mjs +0 -15
- package/dist/esm/hooks/useDidHydrateOnce.mjs.map +0 -1
- package/dist/esm/hooks/useDidHydrateOnce.native.js +0 -24
- package/dist/esm/hooks/useDidHydrateOnce.native.js.map +0 -6
- package/src/hooks/useDidHydrateOnce.tsx +0 -42
- package/types/hooks/useDidHydrateOnce.d.ts +0 -3
- package/types/hooks/useDidHydrateOnce.d.ts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/themeable.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,2BAGlB,eAAsB,2BA0BhB;AAAA;AAAA;AAAA;AAxBC,SAAS,UACd,WACA,cACA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,2BAGlB,eAAsB,2BA0BhB;AAAA;AAAA;AAAA;AAxBC,SAAS,UACd,WACA,cACA;AAoEA,QAAM,YAnEqB,aAAAA,QAAM,WAAW,SAC1C,OACA,KACA;AACA,UAAM,EAAE,cAAc,OAAO,eAAe,YAAY,GAAG,KAAK,IAAI;AAEpE,QAAI;AACJ,UAAM,UAAU,cAAc;AAC9B,QAAI;AACF,iBAAW,OAAO,QAAQ,OAAO;AAC/B,cAAM,MAAM,MAAM,GAAG;AACrB,QAAI,QAAQ,WACV,2BAA2B,CAAC,GAC5B,uBAAuB,GAAG,IAAI;AAAA,MAElC;AAGF,UAAM,UAEJ,4CAAC,aAAU,KAAW,GAAG,MAAM,sBAAkB,IAAC,GAY9C,gBAAqC;AAAA,MACzC,eAAe,iBAAiB,cAAc;AAAA,IAChD;AACA,IAAI,WAAW,UACb,cAAc,QAAQ,MAAM,QAE1B,WAAW,UACb,cAAc,OAAO,MAAM,QAEzB,kBAAkB,UACpB,cAAc,UAAU,MAAM,eAE5B,gBAAgB,UAClB,cAAc,QAAQ;AAGxB,QAAI,WACF,4CAAC,sBAAM,uBAAmB,IAAE,GAAG,eAC5B,mBACH;AAGF,QAAI,SAAS;AACX,YAAM,WAAW,QAAQ,UACnB,eAAe,aAAAA,QAAM,WAAW,OAAO;AAC7C,iBACE,4CAAC,YAAU,GAAG,cAAe,GAAG,wBAC7B,oBACH;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT,CAAC;AAGD,mBAAU,cAAc,UACrB,WAAmB,eAAgB,WAAmB,QAAQ,WACjE,KAEO;AAGT;",
|
|
5
5
|
"names": ["React"]
|
|
6
6
|
}
|
|
@@ -42,13 +42,13 @@ function themeable(Component, staticConfig) {
|
|
|
42
42
|
...rest,
|
|
43
43
|
"data-disable-theme": !0
|
|
44
44
|
})
|
|
45
|
-
),
|
|
46
|
-
componentName: componentName || (staticConfig == null ? void 0 : staticConfig.componentName)
|
|
47
|
-
|
|
45
|
+
), filteredProps = {
|
|
46
|
+
componentName: componentName || (staticConfig == null ? void 0 : staticConfig.componentName)
|
|
47
|
+
};
|
|
48
|
+
"debug" in props && (filteredProps.debug = props.debug), "theme" in props && (filteredProps.name = props.theme), "themeInverse" in props && (filteredProps.inverse = props.themeInverse), "themeReset" in props && (filteredProps.reset = themeReset);
|
|
49
|
+
var contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Theme.Theme, {
|
|
48
50
|
"disable-child-theme": !0,
|
|
49
|
-
|
|
50
|
-
inverse: themeInverse,
|
|
51
|
-
reset: themeReset,
|
|
51
|
+
...filteredProps,
|
|
52
52
|
children: element
|
|
53
53
|
});
|
|
54
54
|
if (context) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/Users/n8/tamagui/code/core/web/src/helpers/themeable.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,eAAkB,2BAGlB,eAAsB;AAEf,SAASA,UACdC,WACAC,cAAoC;AAEpC,MAAMC,qBAAqBC,6BAAAA,QAAMC,WAAW,SAC1CC,OACAC,KAAG;AAEH,QAAM,EAAEC,cAAcC,OAAOC,eAAeC,YAAY,GAAGC,KAAAA,IAASN,OAEhEO,wBACEC,UAAUZ,gBAAAA,OAAAA,SAAAA,aAAcY;AAC9B,QAAIA;AACF,eAAWC,OAAOD,QAAQR,OAAO;AAC/B,YAAMU,MAAMV,MAAMS,GAAAA;AAClB,QAAIC,QAAQC,WACVJ,2BAAAA,yBAA2B,CAAC,IAC5BA,uBAAuBE,GAAAA,IAAOC;MAElC;AAGF,QAAME;;MAEJ,uCAAAC,KAAClB,WAAAA;QAAUM;QAAW,GAAGK;QAAMQ,sBAAkB;;
|
|
5
|
-
"names": ["themeable", "Component", "staticConfig", "withThemeComponent", "React", "forwardRef", "props", "ref", "themeInverse", "theme", "componentName", "themeReset", "rest", "overriddenContextProps", "context", "key", "val", "undefined", "element", "_jsx", "data-disable-theme", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,eAAkB,2BAGlB,eAAsB;AAEf,SAASA,UACdC,WACAC,cAAoC;AAEpC,MAAMC,qBAAqBC,6BAAAA,QAAMC,WAAW,SAC1CC,OACAC,KAAG;AAEH,QAAM,EAAEC,cAAcC,OAAOC,eAAeC,YAAY,GAAGC,KAAAA,IAASN,OAEhEO,wBACEC,UAAUZ,gBAAAA,OAAAA,SAAAA,aAAcY;AAC9B,QAAIA;AACF,eAAWC,OAAOD,QAAQR,OAAO;AAC/B,YAAMU,MAAMV,MAAMS,GAAAA;AAClB,QAAIC,QAAQC,WACVJ,2BAAAA,yBAA2B,CAAC,IAC5BA,uBAAuBE,GAAAA,IAAOC;MAElC;AAGF,QAAME;;MAEJ,uCAAAC,KAAClB,WAAAA;QAAUM;QAAW,GAAGK;QAAMQ,sBAAkB;;OAY7CC,gBAAqC;MACzCX,eAAeA,kBAAiBR,gBAAAA,OAAAA,SAAAA,aAAcQ;IAChD;AACA,IAAI,WAAWJ,UACbe,cAAcC,QAAQhB,MAAMgB,QAE1B,WAAWhB,UACbe,cAAcE,OAAOjB,MAAMG,QAEzB,kBAAkBH,UACpBe,cAAcG,UAAUlB,MAAME,eAE5B,gBAAgBF,UAClBe,cAAcI,QAAQd;AAGxB,QAAIe,WACF,uCAAAP,KAACQ,oBAAAA;MAAMC,uBAAmB;MAAE,GAAGP;gBAC5BH;;AAIL,QAAIJ,SAAS;AACX,UAAMe,WAAWf,QAAQe,UACnBC,eAAe1B,aAAAA,QAAM2B,WAAWjB,OAAAA;AACtCY,iBACE,uCAAAP,KAACU,UAAAA;QAAU,GAAGC;QAAe,GAAGjB;kBAC7Ba;;IAGP;AAEA,WAAOA;EACT,CAAA,GAEMM,YAAiB7B;AACvB6B,mBAAUC,cAAc,WACrBhC,aAAAA,OAAAA,SAAAA,UAAmBgC,iBAAgBhC,aAAAA,OAAAA,SAAAA,UAAmBsB,SAAQ,WAAA,KAG1DS;AAGT;",
|
|
5
|
+
"names": ["themeable", "Component", "staticConfig", "withThemeComponent", "React", "forwardRef", "props", "ref", "themeInverse", "theme", "componentName", "themeReset", "rest", "overriddenContextProps", "context", "key", "val", "undefined", "element", "_jsx", "data-disable-theme", "filteredProps", "debug", "name", "inverse", "reset", "contents", "Theme", "disable-child-theme", "Provider", "contextValue", "useContext", "withTheme", "displayName"]
|
|
6
6
|
}
|
|
@@ -23,10 +23,9 @@ __export(useComponentState_exports, {
|
|
|
23
23
|
useComponentState: () => useComponentState
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(useComponentState_exports);
|
|
26
|
-
var
|
|
27
|
-
import_useDidHydrateOnce = require("../hooks/useDidHydrateOnce.cjs"),
|
|
26
|
+
var import_constants = require("@tamagui/constants"),
|
|
28
27
|
import_react = require("react"),
|
|
29
|
-
|
|
28
|
+
import_defaultComponentState = require("../defaultComponentState.cjs"),
|
|
30
29
|
import_createShallowSetState = require("../helpers/createShallowSetState.cjs"),
|
|
31
30
|
import_isObj = require("../helpers/isObj.cjs"),
|
|
32
31
|
import_log = require("../helpers/log.cjs");
|
|
@@ -43,21 +42,25 @@ const useComponentState = (props, {
|
|
|
43
42
|
willBeAnimatedClient = !!(!!(hasAnimationProp && !staticConfig.isHOC && useAnimations) || curStateRef.hasAnimated),
|
|
44
43
|
willBeAnimated = !import_constants.isServer && willBeAnimatedClient;
|
|
45
44
|
willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);
|
|
46
|
-
const
|
|
45
|
+
const {
|
|
46
|
+
disableClassName
|
|
47
|
+
} = props,
|
|
48
|
+
presence = willBeAnimated && props.animatePresence !== !1 && animationDriver?.usePresence?.() || null,
|
|
47
49
|
presenceState = presence?.[2],
|
|
48
50
|
isExiting = presenceState?.isPresent === !1,
|
|
49
51
|
isEntering = presenceState?.isPresent === !0 && presenceState.initial !== !1,
|
|
50
52
|
hasEnterStyle = !!props.enterStyle,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
hasAnimationThatNeedsHydrate = hasAnimationProp && (animationDriver?.isReactNative || !supportsCSSVars),
|
|
54
|
+
initialState = hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate ||
|
|
55
|
+
// disableClassName doesnt work server side, only client, so needs hydrate
|
|
56
|
+
// this is just for a better ux, supports css variables for light/dark, media queries, etc
|
|
57
|
+
disableClassName ?
|
|
55
58
|
// on the very first render we switch all spring animation drivers to css rendering
|
|
56
59
|
// this is because we need to use css variables, which they don't support to do proper SSR
|
|
57
60
|
// without flickers of the wrong colors.
|
|
58
61
|
// but once we do that initial hydration and we are in client side rendering mode,
|
|
59
62
|
// we can avoid the extra re-render on mount
|
|
60
|
-
|
|
63
|
+
import_defaultComponentState.defaultComponentState : import_defaultComponentState.defaultComponentStateMounted,
|
|
61
64
|
disabled = isDisabled(props);
|
|
62
65
|
disabled != null && (initialState.disabled = disabled);
|
|
63
66
|
const states = (0, import_react.useState)(initialState),
|
|
@@ -66,9 +69,9 @@ const useComponentState = (props, {
|
|
|
66
69
|
[props.forceStyle]: !0
|
|
67
70
|
} : states[0],
|
|
68
71
|
setState = states[1],
|
|
69
|
-
isHydrated = state.unmounted === !1
|
|
72
|
+
isHydrated = state.unmounted === !1;
|
|
70
73
|
let isAnimated = willBeAnimated;
|
|
71
|
-
import_constants.isWeb &&
|
|
74
|
+
import_constants.isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && state.unmounted === !0 && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (state.disabled = disabled, disabled && Object.assign(state, import_defaultComponentState.defaultComponentStateMounted), setState({
|
|
72
75
|
...state
|
|
73
76
|
}));
|
|
74
77
|
let setStateShallow = (0, import_createShallowSetState.createShallowSetState)(setState, disabled, !1, props.debug);
|
|
@@ -85,15 +88,12 @@ const useComponentState = (props, {
|
|
|
85
88
|
env = enterVariant ?? enterExitVariant;
|
|
86
89
|
state.unmounted && env && staticConfig.variants[env] ? (process.env.NODE_ENV === "development" && props.debug === "verbose" && console.warn(`Animating presence ENTER "${env}"`), props[env] = !0) : isExiting && exv && (process.env.NODE_ENV === "development" && props.debug === "verbose" && console.warn(`Animating presence EXIT "${exv}"`), props[exv] = exitVariant !== enterExitVariant);
|
|
87
90
|
}
|
|
88
|
-
let
|
|
89
|
-
if (import_constants.isWeb) {
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || didHydrateOnce),
|
|
95
|
-
isDisabledManually = disableClassName && !import_constants.isServer && didHydrateOnce && state.unmounted === !0;
|
|
96
|
-
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (shouldAvoidClasses = !0, process.env.NODE_ENV === "development" && props.debug && (0, import_log.log)("avoiding className", {
|
|
91
|
+
let noClass = !import_constants.isWeb || !!props.forceStyle;
|
|
92
|
+
if (import_constants.isWeb && (!import_constants.isServer || isHydrated)) {
|
|
93
|
+
const isAnimatedAndHydrated = isAnimated && !supportsCSSVars,
|
|
94
|
+
isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted),
|
|
95
|
+
isDisabledManually = disableClassName && !state.unmounted;
|
|
96
|
+
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (noClass = !0, process.env.NODE_ENV === "development" && props.debug && (0, import_log.log)("avoiding className", {
|
|
97
97
|
isAnimatedAndHydrated,
|
|
98
98
|
isDisabledManually,
|
|
99
99
|
isClassNameDisabled
|
|
@@ -141,7 +141,7 @@ const useComponentState = (props, {
|
|
|
141
141
|
presenceState,
|
|
142
142
|
setState,
|
|
143
143
|
setStateShallow,
|
|
144
|
-
|
|
144
|
+
noClass,
|
|
145
145
|
state,
|
|
146
146
|
stateRef,
|
|
147
147
|
supportsCSSVars,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useComponentState.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["state"]
|
|
6
6
|
}
|
|
@@ -18,7 +18,7 @@ __export(useComponentState_exports, {
|
|
|
18
18
|
useComponentState: () => useComponentState
|
|
19
19
|
});
|
|
20
20
|
module.exports = __toCommonJS(useComponentState_exports);
|
|
21
|
-
var
|
|
21
|
+
var import_constants = require("@tamagui/constants"), import_react = require("react"), import_defaultComponentState = require("../defaultComponentState"), import_createShallowSetState = require("../helpers/createShallowSetState"), import_isObj = require("../helpers/isObj"), import_log = require("../helpers/log"), useComponentState = function(props, param, staticConfig, config) {
|
|
22
22
|
var { animationDriver, groups } = param, _animationDriver_usePresence, useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, stateRef = (0, import_react.useRef)(void 0);
|
|
23
23
|
stateRef.current || (stateRef.current = {});
|
|
24
24
|
var hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSSVars = animationDriver == null ? void 0 : animationDriver.supportsCSSVars, curStateRef = stateRef.current, willBeAnimatedClient = function() {
|
|
@@ -26,20 +26,22 @@ var import_defaultComponentState = require("../defaultComponentState"), import_u
|
|
|
26
26
|
return !!(next || curStateRef.hasAnimated);
|
|
27
27
|
}(), willBeAnimated = !import_constants.isServer && willBeAnimatedClient;
|
|
28
28
|
willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);
|
|
29
|
-
var presence = willBeAnimated && props.animatePresence !== !1 && (animationDriver == null || (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver)) || null, presenceState = presence == null ? void 0 : presence[2], isExiting = (presenceState == null ? void 0 : presenceState.isPresent) === !1, isEntering = (presenceState == null ? void 0 : presenceState.isPresent) === !0 && presenceState.initial !== !1, hasEnterStyle = !!props.enterStyle,
|
|
29
|
+
var { disableClassName } = props, presence = willBeAnimated && props.animatePresence !== !1 && (animationDriver == null || (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver)) || null, presenceState = presence == null ? void 0 : presence[2], isExiting = (presenceState == null ? void 0 : presenceState.isPresent) === !1, isEntering = (presenceState == null ? void 0 : presenceState.isPresent) === !0 && presenceState.initial !== !1, hasEnterStyle = !!props.enterStyle, hasAnimationThatNeedsHydrate = hasAnimationProp && ((animationDriver == null ? void 0 : animationDriver.isReactNative) || !supportsCSSVars), hasEnterState = hasEnterStyle || isEntering, shouldEnter = hasEnterState || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate
|
|
30
|
+
// this is just for a better ux, supports css variables for light/dark, media queries, etc
|
|
31
|
+
disableClassName, initialState = shouldEnter ? (
|
|
30
32
|
// on the very first render we switch all spring animation drivers to css rendering
|
|
31
33
|
// this is because we need to use css variables, which they don't support to do proper SSR
|
|
32
34
|
// without flickers of the wrong colors.
|
|
33
35
|
// but once we do that initial hydration and we are in client side rendering mode,
|
|
34
36
|
// we can avoid the extra re-render on mount
|
|
35
|
-
|
|
37
|
+
import_defaultComponentState.defaultComponentState
|
|
36
38
|
) : import_defaultComponentState.defaultComponentStateMounted, disabled = isDisabled(props);
|
|
37
39
|
disabled != null && (initialState.disabled = disabled);
|
|
38
40
|
var states = (0, import_react.useState)(initialState), state = props.forceStyle ? {
|
|
39
41
|
...states[0],
|
|
40
42
|
[props.forceStyle]: !0
|
|
41
|
-
} : states[0], setState = states[1], isHydrated = state.unmounted === !1
|
|
42
|
-
import_constants.isWeb &&
|
|
43
|
+
} : states[0], setState = states[1], isHydrated = state.unmounted === !1, isAnimated = willBeAnimated;
|
|
44
|
+
import_constants.isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && state.unmounted === !0 && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (state.disabled = disabled, disabled && Object.assign(state, import_defaultComponentState.defaultComponentStateMounted), setState({
|
|
43
45
|
...state
|
|
44
46
|
}));
|
|
45
47
|
var setStateShallow = (0, import_createShallowSetState.createShallowSetState)(setState, disabled, !1, props.debug);
|
|
@@ -50,10 +52,10 @@ var import_defaultComponentState = require("../defaultComponentState"), import_u
|
|
|
50
52
|
var exv = exitVariant ?? enterExitVariant, env = enterVariant ?? enterExitVariant;
|
|
51
53
|
state.unmounted && env && staticConfig.variants[env] ? (process.env.NODE_ENV === "development" && props.debug === "verbose" && console.warn(`Animating presence ENTER "${env}"`), props[env] = !0) : isExiting && exv && (process.env.NODE_ENV === "development" && props.debug === "verbose" && console.warn(`Animating presence EXIT "${exv}"`), props[exv] = exitVariant !== enterExitVariant);
|
|
52
54
|
}
|
|
53
|
-
var
|
|
54
|
-
if (import_constants.isWeb) {
|
|
55
|
-
var
|
|
56
|
-
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (
|
|
55
|
+
var noClass = !import_constants.isWeb || !!props.forceStyle;
|
|
56
|
+
if (import_constants.isWeb && (!import_constants.isServer || isHydrated)) {
|
|
57
|
+
var isAnimatedAndHydrated = isAnimated && !supportsCSSVars, isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted), isDisabledManually = disableClassName && !state.unmounted;
|
|
58
|
+
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (noClass = !0, process.env.NODE_ENV === "development" && props.debug && (0, import_log.log)("avoiding className", {
|
|
57
59
|
isAnimatedAndHydrated,
|
|
58
60
|
isDisabledManually,
|
|
59
61
|
isClassNameDisabled
|
|
@@ -102,7 +104,7 @@ var import_defaultComponentState = require("../defaultComponentState"), import_u
|
|
|
102
104
|
presenceState,
|
|
103
105
|
setState,
|
|
104
106
|
setStateShallow,
|
|
105
|
-
|
|
107
|
+
noClass,
|
|
106
108
|
state,
|
|
107
109
|
stateRef,
|
|
108
110
|
supportsCSSVars,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/useComponentState.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;
|
|
5
|
-
"names": ["useComponentState", "props", "staticConfig", "config", "animationDriver", "groups", "useAnimations", "stateRef", "useRef", "undefined", "current", "hasAnimationProp", "Boolean", "style", "hasAnimatedStyleValue", "supportsCSSVars", "curStateRef", "willBeAnimatedClient", "next", "isHOC", "hasAnimated", "willBeAnimated", "isServer", "presence", "usePresence", "presenceState", "isExiting", "isPresent", "isEntering", "initial", "hasEnterStyle", "enterStyle", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["useComponentState", "props", "staticConfig", "config", "animationDriver", "groups", "useAnimations", "stateRef", "useRef", "undefined", "current", "hasAnimationProp", "Boolean", "style", "hasAnimatedStyleValue", "supportsCSSVars", "curStateRef", "willBeAnimatedClient", "next", "isHOC", "hasAnimated", "willBeAnimated", "isServer", "disableClassName", "presence", "usePresence", "presenceState", "isExiting", "isPresent", "isEntering", "initial", "hasEnterStyle", "enterStyle", "hasAnimationThatNeedsHydrate", "isReactNative", "hasEnterState", "shouldEnter", "initialState", "defaultComponentState", "defaultComponentStateMounted", "disabled", "isDisabled", "states", "useState", "state", "forceStyle", "setState", "isHydrated", "unmounted", "isAnimated", "isWeb", "willHydrate", "Object", "assign", "setStateShallow", "createShallowSetState", "debug", "variants", "process", "env", "NODE_ENV", "console", "warn", "JSON", "stringify", "enterVariant", "exitVariant", "enterExitVariant", "custom", "isObj", "exv", "noClass", "isAnimatedAndHydrated", "isClassNameDisabled", "acceptsClassName", "disableSSR", "isDisabledManually", "log", "groupName", "group", "listeners", "Set", "emit", "name", "forEach", "l", "subscribe", "cb", "add", "delete", "groupContextState", "og", "pseudo", "keys", "some", "k", "val", "accessibilityState", "accessibilityDisabled"]
|
|
6
6
|
}
|
|
@@ -31,7 +31,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
31
31
|
}), mod);
|
|
32
32
|
var useMedia_exports = {};
|
|
33
33
|
__export(useMedia_exports, {
|
|
34
|
-
|
|
34
|
+
_disableMediaTouch: () => _disableMediaTouch,
|
|
35
35
|
configureMedia: () => configureMedia,
|
|
36
36
|
getMedia: () => getMedia,
|
|
37
37
|
getMediaImportanceIfMoreImportant: () => getMediaImportanceIfMoreImportant,
|
|
@@ -49,8 +49,8 @@ __export(useMedia_exports, {
|
|
|
49
49
|
useMedia: () => useMedia
|
|
50
50
|
});
|
|
51
51
|
module.exports = __toCommonJS(useMedia_exports);
|
|
52
|
-
var
|
|
53
|
-
|
|
52
|
+
var import_constants = require("@tamagui/constants"),
|
|
53
|
+
import_react = __toESM(require("react")),
|
|
54
54
|
import_config = require("../config.cjs"),
|
|
55
55
|
import_matchMedia = require("../helpers/matchMedia.cjs"),
|
|
56
56
|
import_pseudoDescriptors = require("../helpers/pseudoDescriptors.cjs"),
|
|
@@ -96,7 +96,7 @@ const configureMedia = config => {
|
|
|
96
96
|
for (const key in media) mediaState[key] = mediaQueryDefaultActive?.[key] || !1, mediaKeys.add(`$${key}`);
|
|
97
97
|
Object.assign(mediaQueryConfig, media), initState = {
|
|
98
98
|
...mediaState
|
|
99
|
-
}, mediaKeysOrdered = Object.keys(media),
|
|
99
|
+
}, mediaKeysOrdered = Object.keys(media), setupMediaListeners();
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
102
|
function unlisten() {
|
|
@@ -146,45 +146,42 @@ function subscribe(subscriber) {
|
|
|
146
146
|
listeners.delete(subscriber);
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
-
function useMedia(
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
keys,
|
|
162
|
-
prev = initialState
|
|
163
|
-
} = componentState;
|
|
164
|
-
if (enabled === !1) return prev;
|
|
165
|
-
const testKeys = keys ?? (enabled && keys) ?? null;
|
|
166
|
-
return !testKeys || Object.keys(testKeys).every(key => mediaState[key] === prev[key]) ? prev : (componentState.prev = mediaState, mediaState);
|
|
167
|
-
};
|
|
168
|
-
let state;
|
|
169
|
-
if (process.env.TAMAGUI_SYNC_MEDIA_QUERY) state = import_react.default.useSyncExternalStore(subscribe, getSnapshot, () => initialState);else {
|
|
170
|
-
const [_state, setState] = import_react.default.useState(initialState);
|
|
171
|
-
state = _state, (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
172
|
-
function update() {
|
|
173
|
-
setState(getSnapshot);
|
|
174
|
-
}
|
|
175
|
-
return update(), disableSSR || Promise.resolve().then(() => {
|
|
176
|
-
update();
|
|
177
|
-
}), subscribe(update);
|
|
178
|
-
}, []);
|
|
149
|
+
function useMedia(cc, debug) {
|
|
150
|
+
const initialState = (0, import_config.getSetting)("disableSSR") || (0, import_useDisableSSR.getDisableSSR)(cc) || !import_constants.isWeb ? mediaState : initState,
|
|
151
|
+
[state, setState] = import_react.default.useState(initialState);
|
|
152
|
+
let currentKeys;
|
|
153
|
+
const getCurrentKeys = () => currentKeys;
|
|
154
|
+
function getSnapshot(cur, keys = cur.lastKeys) {
|
|
155
|
+
if (!keys) return cur;
|
|
156
|
+
for (const key of keys) if (mediaState[key] !== cur[key]) return process.env.NODE_ENV === "development" && debug && console.warn("useMedia()\u270D\uFE0F", key, cur[key], ">", mediaState[key]), {
|
|
157
|
+
...mediaState,
|
|
158
|
+
lastKeys: new Set(keys)
|
|
159
|
+
};
|
|
160
|
+
return cur;
|
|
179
161
|
}
|
|
180
|
-
|
|
162
|
+
let isRendering = !0;
|
|
163
|
+
const isInitialState = state === initialState;
|
|
164
|
+
return (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
165
|
+
isRendering = !1;
|
|
166
|
+
}), (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
167
|
+
const update = () => setState(prev => getSnapshot(prev,
|
|
168
|
+
// because the !didHydrateOnce logic we can't update as we render
|
|
169
|
+
// we need to get the current keys in case we added
|
|
170
|
+
// these only ever add keys so likely ok?
|
|
171
|
+
getCurrentKeys()));
|
|
172
|
+
return update(), subscribe(update);
|
|
173
|
+
}, []), new Proxy(state, {
|
|
181
174
|
get(_, key) {
|
|
182
|
-
if (!disableMediaTouch
|
|
175
|
+
if (isRendering && !disableMediaTouch && typeof key == "string" && (!state.lastKeys || !state.lastKeys.has(key) || state[key] !== mediaState[key]) && (process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key), currentKeys ||= /* @__PURE__ */new Set(), currentKeys.add(key), !isInitialState)) {
|
|
176
|
+
const next = getSnapshot(state, currentKeys);
|
|
177
|
+
next !== state && setState(next);
|
|
178
|
+
}
|
|
179
|
+
return Reflect.get(state, key);
|
|
183
180
|
}
|
|
184
181
|
});
|
|
185
182
|
}
|
|
186
183
|
let disableMediaTouch = !1;
|
|
187
|
-
function
|
|
184
|
+
function _disableMediaTouch(val) {
|
|
188
185
|
disableMediaTouch = val;
|
|
189
186
|
}
|
|
190
187
|
function getMediaState(mediaGroups, layout) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useMedia.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2D,+BAC3D,eAAqC,2BACrC,gBAAsC,sBACtC,oBAA2B,kCAC3B,2BAAkC,yCAYlC,uBAA8B;AAEvB,IAAI;AAAA;AAAA,EAET,QAAQ,IAAI,aAAa,gBACrB,IAAI;AAAA,IACF,CAAC;AAAA,IACD;AAAA,MACE,IAAI,QAAQ,KAAK;AACf,YACE,OAAO,OAAQ,YACf,IAAI,CAAC,MAAM;AAAA,QAEX,IAAI,CAAC,MAAM;AAEX,gBAAM,IAAI,MAAM,yCAAyC,GAAG,EAAE;AAEhE,eAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,MAChC;AAAA,IACF;AAAA,EACF,IACC,CAAC;AAAA;AAED,MAAM,mBAAiC,CAAC,GAElC,WAAW,MAAM,YAEjB,YAAY,oBAAI,IAAY,GAEnC,gBAAgB,6BAET,aAAa,CAAC,QAA6B;AACtD,MAAI,UAAU,IAAI,GAAG,EAAG,QAAO;AAC/B,MAAI,IAAI,CAAC,MAAM,KAAK;AAClB,UAAM,QAAQ,IAAI,MAAM,aAAa;AACrC,QAAI,MAAO,QAAO,MAAM,CAAC;AAAA,EAC3B;AACA,SAAO;AACT;AAGA,IAAI;AAGJ,MAAM,yBAAyB,OAAO,KAAK,0CAAiB,EAAE;AAE9D,IAAI;AAEG,MAAM,wBAAwB,CAAC,QAAgB;AACpD,MAAI,QAAQ,IAAI,aAAa,iBAAiB,IAAI,CAAC,MAAM;AACvD,UAAM,IAAI,MAAM,eAAe;AAIjC,aADa,yBAAU,EACd,SAAS,iBACT,yBAMF,iBAAiB,QAAQ,GAAG,IAAI;AACzC,GAEM,UAAU,oBAAI,IAAc;AAElC,IAAI,eAAe;AAEZ,MAAM,iBAAiB,CAAC,WAAkC;AAC/D,QAAM,EAAE,MAAM,IAAI,QACZ,8BAA0B,0BAAW,yBAAyB;AACpE,MAAK,OACL;AAAA;AACA,eAAW,OAAO;AAChB,iBAAW,GAAG,IAAI,0BAA0B,GAAG,KAAK,IACpD,UAAU,IAAI,IAAI,GAAG,EAAE;AAEzB,WAAO,OAAO,kBAAkB,KAAK,GACrC,YAAY,EAAE,GAAG,WAAW,GAC5B,mBAAmB,OAAO,KAAK,KAAK,GACpC,oBAAoB;AAAA;AACtB;AAEA,SAAS,WAAW;AAClB,UAAQ,QAAQ,CAAC,OAAO,GAAG,CAAC,GAC5B,QAAQ,MAAM;AAChB;AAOA,IAAI,eAAe;AACZ,SAAS,sBAAsB;AACpC,MAAI,4BAAS,8BAGT,iBAAiB,cACrB;AAAA,mBAAe,cAGf,SAAS;AAET,eAAW,OAAO,kBAAkB;AAgBlC,UAAS,SAAT,WAAkB;AAChB,cAAM,OAAO,CAAC,CAAC,SAAS,EAAE;AAC1B,QAAI,SAAS,WAAW,GAAG,MAC3B,aAAa,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,KAAK,GAC1C,mBAAmB;AAAA,MACrB;AApBA,YAAM,MAAM,oBAAoB,iBAAiB,GAAG,GAAG,GAAG,GACpD,WAAW,UAAM,8BAAW,GAAG,GAC/B,QAAQ,SAAS;AACvB,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,uBAAa;AAI/B,YAAM,YAAY,MAAM,GACxB,QAAQ,IAAI,MAAM;AAChB,cAAM,eAAe,MAAM;AAAA,MAC7B,CAAC,GAED,OAAO;AAAA,IAQT;AAAA;AACF;AAEA,MAAM,YAAY,oBAAI,IAAS;AAC/B,IAAI,WAAW,IACX,eAAe;AACnB,SAAS,qBAAqB;AAE5B,EAAI,YAAY,iBAAiB,iBAGjC,eAAe,cACf,WAAW,IACX,QAAQ,QAAQ,EAAE,KAAK,MAAM;AAC3B,eAAW,IACX,UAAU,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;AAAA,EAC1C,CAAC;AACH;AAYA,MAAM,SAAS,oBAAI,QAAyB;AAErC,SAAS,qBACd,KACA,SACA,MACA;AACA,QAAM,MAAM,OAAO,IAAI,GAAG;AAE1B,GAAI,CAAC,OAAO,IAAI,YAAY,WAAW,SACrC,OAAO,IAAI,KAAK;AAAA,IACd,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACF,CAAC;AAEL;AAEA,SAAS,UAAU,YAAiB;AAClC,mBAAU,IAAI,UAAU,GACjB,MAAM;AACX,cAAU,OAAO,UAAU;AAAA,EAC7B;AACF;AAQO,SAAS,SAAS,IAAwB,OAAkC;AAGjF,QAAM,mBADa,0BAAW,YAAY,SAAK,oCAAc,EAAE,KAC5B,CAAC,yBAAQ,aAAa,WACnD,CAAC,OAAO,QAAQ,IAAI,aAAAA,QAAM,SAAmC,YAAY;AAE/E,MAAI;AACJ,QAAM,iBAAiB,MAAM;AAE7B,WAAS,YACP,KACA,OAAuC,IAAI,UAC3C;AACA,QAAI,CAAC,KAAM,QAAO;AAElB,eAAW,OAAO;AAChB,UAAI,WAAW,GAAG,MAAM,IAAI,GAAG;AAC7B,eAAI,QAAQ,IAAI,aAAa,iBAAiB,SAC5C,QAAQ,KAAK,0BAAgB,KAAK,IAAI,GAAG,GAAG,KAAK,WAAW,GAAG,CAAC,GAG3D;AAAA,UACL,GAAG;AAAA,UACH,UAAU,IAAI,IAAI,IAAI;AAAA,QACxB;AAIJ,WAAO;AAAA,EACT;AAEA,MAAI,cAAc;AAClB,QAAM,iBAAiB,UAAU;AAEjC,yDAA0B,MAAM;AAC9B,kBAAc;AAAA,EAChB,CAAC,OAED,4CAA0B,MAAM;AAC9B,UAAM,SAAS,MACb;AAAA,MAAS,CAAC,SACR;AAAA,QACE;AAAA;AAAA;AAAA;AAAA,QAIA,eAAe;AAAA,MACjB;AAAA,IACF;AAEF,kBAAO,GAEA,UAAU,MAAM;AAAA,EACzB,GAAG,CAAC,CAAC,GAEE,IAAI,MAAM,OAAO;AAAA,IACtB,IAAI,GAAG,KAAK;AACV,UAAI,eAAe,CAAC,qBAAqB,OAAO,OAAQ,aAC9B,CAAC,MAAM,YAAY,CAAC,MAAM,SAAS,IAAI,GAAG,KAE3C,MAAM,GAAG,MAAM,WAAW,GAAG,OAC9C,QAAQ,IAAI,aAAa,iBAAiB,SAC5C,QAAQ,KAAK,oBAAoB,GAAG,GAGtC,gBAAgB,oBAAI,IAAY,GAChC,YAAY,IAAI,GAAG,GAGf,CAAC,iBAAgB;AACnB,cAAM,OAAO,YAAY,OAAO,WAAY;AAC5C,QAAI,SAAS,SACX,SAAS,IAAI;AAAA,MAEjB;AAGJ,aAAO,QAAQ,IAAI,OAAO,GAAG;AAAA,IAC/B;AAAA,EACF,CAAC;AACH;AAEA,IAAI,oBAAoB;AACjB,SAAS,mBAAmB,KAAc;AAC/C,sBAAoB;AACtB;AAEO,SAAS,cACd,aACA,QACA;AACA,sBAAoB;AACpB,MAAI;AACJ,MAAI;AACF,UAAM,OAAO;AAAA,MACX,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,aACb,CAAC,UAAU,cAAc,UAAU,MAAa,CAAC,CACzD;AAAA,IACH;AAAA,EACF,UAAE;AACA,wBAAoB;AAAA,EACtB;AACA,SAAO;AACT;AAEO,MAAM,oCAAoC,CAC/C,UACA,KACA,iBACA,gBACG;AACH,QAAM,aACJ,eAAe,KAAC,0BAAW,gBAAgB,IACvC,sBAAsB,QAAQ,IAC9B;AACN,SAAO,CAAC,gBAAgB,GAAG,KAAK,aAAa,gBAAgB,GAAG,IAAI,aAAa;AACnF;AAEA,SAAS,cAAc,KAAa;AAClC,SAAO,IAAI,QAAQ,UAAU,CAAC,MAAM,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,YAAY;AACzE;AAEA,MAAM,QAAQ,oBAAI,QAAqB,GACjC,wBAAgD,CAAC;AAEhD,SAAS,oBAAoB,OAAkC,KAAc;AAClF,MAAI,OAAO,SAAU;AACnB,WAAO;AAET,MAAI,MAAM,IAAI,KAAK;AACjB,WAAO,MAAM,IAAI,KAAK;AAExB,QAAM,MAAM,OAAO,QAAQ,KAAK,EAC7B,IAAI,CAAC,CAAC,SAAS,KAAK,OACnB,UAAU,cAAc,OAAO,GAC3B,OAAO,SAAU,WACZ,IAAI,OAAO,KAAK,KAAK,OAE1B,OAAO,SAAU,YAAY,kBAAkB,KAAK,OAAO,MAC7D,QAAQ,GAAG,KAAK,OAEX,IAAI,OAAO,KAAK,KAAK,KAC7B,EACA,KAAK,OAAO;AACf,SAAI,QACF,sBAAsB,GAAG,IAAI,MAE/B,MAAM,IAAI,OAAO,GAAG,GACb;AACT;AAEO,SAAS,gBAAgB,KAAa;AAC3C,SAAO,sBAAsB,GAAG,KAAK,oBAAoB,iBAAiB,GAAG,GAAG,GAAG;AACrF;AAEO,SAAS,cACd,KACA,YACA;AACA,QAAM,eAAe,iBAAiB,GAAG;AASzC,SARe,OAAO,KAAK,YAAY,EAAE,MAAM,CAAC,UAAU;AACxD,UAAM,cAAc,CAAC,aAAa,KAAK,GACjC,QAAQ,MAAM,WAAW,KAAK,GAC9B,UAAU,MAAM,SAAS,OAAO,GAChC,WAAW,WAAW,UAAU,UAAU,QAAQ;AAExD,WAAO,QAAQ,WAAW,cAAc,WAAW;AAAA,EACrD,CAAC;AAEH;",
|
|
5
5
|
"names": ["React"]
|
|
6
6
|
}
|
|
@@ -23,7 +23,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
23
|
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
24
24
|
var useMedia_exports = {};
|
|
25
25
|
__export(useMedia_exports, {
|
|
26
|
-
|
|
26
|
+
_disableMediaTouch: () => _disableMediaTouch,
|
|
27
27
|
configureMedia: () => configureMedia,
|
|
28
28
|
getMedia: () => getMedia,
|
|
29
29
|
getMediaImportanceIfMoreImportant: () => getMediaImportanceIfMoreImportant,
|
|
@@ -41,7 +41,7 @@ __export(useMedia_exports, {
|
|
|
41
41
|
useMedia: () => useMedia
|
|
42
42
|
});
|
|
43
43
|
module.exports = __toCommonJS(useMedia_exports);
|
|
44
|
-
var
|
|
44
|
+
var import_constants = require("@tamagui/constants"), import_react = __toESM(require("react")), import_config = require("../config"), import_matchMedia = require("../helpers/matchMedia"), import_pseudoDescriptors = require("../helpers/pseudoDescriptors"), import_useDisableSSR = require("./useDisableSSR"), mediaState = (
|
|
45
45
|
// development only safeguard
|
|
46
46
|
process.env.NODE_ENV === "development" ? new Proxy({}, {
|
|
47
47
|
get(target, key) {
|
|
@@ -73,7 +73,7 @@ var import_react = __toESM(require("react")), import_constants = require("@tamag
|
|
|
73
73
|
mediaState[key] = (mediaQueryDefaultActive == null ? void 0 : mediaQueryDefaultActive[key]) || !1, mediaKeys.add(`$${key}`);
|
|
74
74
|
Object.assign(mediaQueryConfig, media), initState = {
|
|
75
75
|
...mediaState
|
|
76
|
-
}, mediaKeysOrdered = Object.keys(media),
|
|
76
|
+
}, mediaKeysOrdered = Object.keys(media), setupMediaListeners();
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
function unlisten() {
|
|
@@ -127,51 +127,66 @@ function subscribe(subscriber) {
|
|
|
127
127
|
listeners.delete(subscriber);
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
|
-
function useMedia(
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (!
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (process.env.TAMAGUI_SYNC_MEDIA_QUERY)
|
|
147
|
-
state = import_react.default.useSyncExternalStore(subscribe, getSnapshot, function() {
|
|
148
|
-
return initialState;
|
|
149
|
-
});
|
|
150
|
-
else {
|
|
151
|
-
var [_state, setState] = import_react.default.useState(initialState);
|
|
152
|
-
state = _state, (0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
153
|
-
function update() {
|
|
154
|
-
setState(getSnapshot);
|
|
130
|
+
function useMedia(cc, debug) {
|
|
131
|
+
var disableSSR = (0, import_config.getSetting)("disableSSR") || (0, import_useDisableSSR.getDisableSSR)(cc), initialState = disableSSR || !import_constants.isWeb ? mediaState : initState, [state, setState] = import_react.default.useState(initialState), currentKeys, getCurrentKeys = function() {
|
|
132
|
+
return currentKeys;
|
|
133
|
+
};
|
|
134
|
+
function getSnapshot(cur) {
|
|
135
|
+
var keys = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : cur.lastKeys;
|
|
136
|
+
if (!keys) return cur;
|
|
137
|
+
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
138
|
+
try {
|
|
139
|
+
for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
140
|
+
var key = _step.value;
|
|
141
|
+
if (mediaState[key] !== cur[key])
|
|
142
|
+
return process.env.NODE_ENV === "development" && debug && console.warn("useMedia()\u270D\uFE0F", key, cur[key], ">", mediaState[key]), {
|
|
143
|
+
...mediaState,
|
|
144
|
+
lastKeys: new Set(keys)
|
|
145
|
+
};
|
|
155
146
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
147
|
+
} catch (err) {
|
|
148
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
149
|
+
} finally {
|
|
150
|
+
try {
|
|
151
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
152
|
+
} finally {
|
|
153
|
+
if (_didIteratorError)
|
|
154
|
+
throw _iteratorError;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return cur;
|
|
160
158
|
}
|
|
161
|
-
|
|
159
|
+
var isRendering = !0, isInitialState = state === initialState;
|
|
160
|
+
return (0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
161
|
+
isRendering = !1;
|
|
162
|
+
}), (0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
163
|
+
var update = function() {
|
|
164
|
+
return setState(function(prev) {
|
|
165
|
+
return getSnapshot(
|
|
166
|
+
prev,
|
|
167
|
+
// because the !didHydrateOnce logic we can't update as we render
|
|
168
|
+
// we need to get the current keys in case we added
|
|
169
|
+
// these only ever add keys so likely ok?
|
|
170
|
+
getCurrentKeys()
|
|
171
|
+
);
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
return update(), subscribe(update);
|
|
175
|
+
}, []), new Proxy(state, {
|
|
162
176
|
get(_, key) {
|
|
163
|
-
if (!disableMediaTouch) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
177
|
+
if (isRendering && !disableMediaTouch && typeof key == "string") {
|
|
178
|
+
var needsUpdateKeys = !state.lastKeys || !state.lastKeys.has(key);
|
|
179
|
+
if ((needsUpdateKeys || state[key] !== mediaState[key]) && (process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key), currentKeys || (currentKeys = /* @__PURE__ */ new Set()), currentKeys.add(key), !isInitialState)) {
|
|
180
|
+
var next = getSnapshot(state, currentKeys);
|
|
181
|
+
next !== state && setState(next);
|
|
167
182
|
}
|
|
168
|
-
return Reflect.get(state, key);
|
|
169
183
|
}
|
|
184
|
+
return Reflect.get(state, key);
|
|
170
185
|
}
|
|
171
186
|
});
|
|
172
187
|
}
|
|
173
188
|
var disableMediaTouch = !1;
|
|
174
|
-
function
|
|
189
|
+
function _disableMediaTouch(val) {
|
|
175
190
|
disableMediaTouch = val;
|
|
176
191
|
}
|
|
177
192
|
function getMediaState(mediaGroups, layout) {
|
|
@@ -224,7 +239,7 @@ function mediaKeyMatch(key, dimensions) {
|
|
|
224
239
|
}
|
|
225
240
|
// Annotate the CommonJS export names for ESM import in node:
|
|
226
241
|
0 && (module.exports = {
|
|
227
|
-
|
|
242
|
+
_disableMediaTouch,
|
|
228
243
|
configureMedia,
|
|
229
244
|
getMedia,
|
|
230
245
|
getMediaImportanceIfMoreImportant,
|