@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,7 +1,6 @@
|
|
|
1
|
-
import { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter } from "../defaultComponentState.mjs";
|
|
2
|
-
import { useDidHydrateOnce } from "../hooks/useDidHydrateOnce.mjs";
|
|
3
|
-
import { useRef, useState } from "react";
|
|
4
1
|
import { isServer, isWeb } from "@tamagui/constants";
|
|
2
|
+
import { useRef, useState } from "react";
|
|
3
|
+
import { defaultComponentState, defaultComponentStateMounted } from "../defaultComponentState.mjs";
|
|
5
4
|
import { createShallowSetState } from "../helpers/createShallowSetState.mjs";
|
|
6
5
|
import { isObj } from "../helpers/isObj.mjs";
|
|
7
6
|
import { log } from "../helpers/log.mjs";
|
|
@@ -18,21 +17,25 @@ const useComponentState = (props, {
|
|
|
18
17
|
willBeAnimatedClient = !!(!!(hasAnimationProp && !staticConfig.isHOC && useAnimations) || curStateRef.hasAnimated),
|
|
19
18
|
willBeAnimated = !isServer && willBeAnimatedClient;
|
|
20
19
|
willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);
|
|
21
|
-
const
|
|
20
|
+
const {
|
|
21
|
+
disableClassName
|
|
22
|
+
} = props,
|
|
23
|
+
presence = willBeAnimated && props.animatePresence !== !1 && animationDriver?.usePresence?.() || null,
|
|
22
24
|
presenceState = presence?.[2],
|
|
23
25
|
isExiting = presenceState?.isPresent === !1,
|
|
24
26
|
isEntering = presenceState?.isPresent === !0 && presenceState.initial !== !1,
|
|
25
27
|
hasEnterStyle = !!props.enterStyle,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
hasAnimationThatNeedsHydrate = hasAnimationProp && (animationDriver?.isReactNative || !supportsCSSVars),
|
|
29
|
+
initialState = hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate ||
|
|
30
|
+
// disableClassName doesnt work server side, only client, so needs hydrate
|
|
31
|
+
// this is just for a better ux, supports css variables for light/dark, media queries, etc
|
|
32
|
+
disableClassName ?
|
|
30
33
|
// on the very first render we switch all spring animation drivers to css rendering
|
|
31
34
|
// this is because we need to use css variables, which they don't support to do proper SSR
|
|
32
35
|
// without flickers of the wrong colors.
|
|
33
36
|
// but once we do that initial hydration and we are in client side rendering mode,
|
|
34
37
|
// we can avoid the extra re-render on mount
|
|
35
|
-
|
|
38
|
+
defaultComponentState : defaultComponentStateMounted,
|
|
36
39
|
disabled = isDisabled(props);
|
|
37
40
|
disabled != null && (initialState.disabled = disabled);
|
|
38
41
|
const states = useState(initialState),
|
|
@@ -41,9 +44,9 @@ const useComponentState = (props, {
|
|
|
41
44
|
[props.forceStyle]: !0
|
|
42
45
|
} : states[0],
|
|
43
46
|
setState = states[1],
|
|
44
|
-
isHydrated = state.unmounted === !1
|
|
47
|
+
isHydrated = state.unmounted === !1;
|
|
45
48
|
let isAnimated = willBeAnimated;
|
|
46
|
-
isWeb &&
|
|
49
|
+
isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && state.unmounted === !0 && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (state.disabled = disabled, disabled && Object.assign(state, defaultComponentStateMounted), setState({
|
|
47
50
|
...state
|
|
48
51
|
}));
|
|
49
52
|
let setStateShallow = createShallowSetState(setState, disabled, !1, props.debug);
|
|
@@ -60,15 +63,12 @@ const useComponentState = (props, {
|
|
|
60
63
|
env = enterVariant ?? enterExitVariant;
|
|
61
64
|
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);
|
|
62
65
|
}
|
|
63
|
-
let
|
|
64
|
-
if (isWeb) {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || didHydrateOnce),
|
|
70
|
-
isDisabledManually = disableClassName && !isServer && didHydrateOnce && state.unmounted === !0;
|
|
71
|
-
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (shouldAvoidClasses = !0, process.env.NODE_ENV === "development" && props.debug && log("avoiding className", {
|
|
66
|
+
let noClass = !isWeb || !!props.forceStyle;
|
|
67
|
+
if (isWeb && (!isServer || isHydrated)) {
|
|
68
|
+
const isAnimatedAndHydrated = isAnimated && !supportsCSSVars,
|
|
69
|
+
isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted),
|
|
70
|
+
isDisabledManually = disableClassName && !state.unmounted;
|
|
71
|
+
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (noClass = !0, process.env.NODE_ENV === "development" && props.debug && log("avoiding className", {
|
|
72
72
|
isAnimatedAndHydrated,
|
|
73
73
|
isDisabledManually,
|
|
74
74
|
isClassNameDisabled
|
|
@@ -116,7 +116,7 @@ const useComponentState = (props, {
|
|
|
116
116
|
presenceState,
|
|
117
117
|
setState,
|
|
118
118
|
setStateShallow,
|
|
119
|
-
|
|
119
|
+
noClass,
|
|
120
120
|
state,
|
|
121
121
|
stateRef,
|
|
122
122
|
supportsCSSVars,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["isServer","isWeb","useRef","useState","defaultComponentState","defaultComponentStateMounted","createShallowSetState","isObj","log","useComponentState","props","animationDriver","groups","staticConfig","config","useAnimations","stateRef","current","hasAnimationProp","style","hasAnimatedStyleValue","supportsCSSVars","curStateRef","willBeAnimatedClient","isHOC","hasAnimated","willBeAnimated","disableClassName","presence","animatePresence","usePresence","presenceState","isExiting","isPresent","isEntering","initial","hasEnterStyle","enterStyle","hasAnimationThatNeedsHydrate","isReactNative","initialState","disabled","isDisabled","states","state","forceStyle","setState","isHydrated","unmounted","isAnimated","willHydrate","Object","assign","setStateShallow","debug","variants","process","env","NODE_ENV","console","warn","JSON","stringify","enterVariant","exitVariant","enterExitVariant","custom","exv","noClass","isAnimatedAndHydrated","isClassNameDisabled","acceptsClassName","disableSSR","isDisabledManually","groupName","group","listeners","Set","emit","name","state2","forEach","l","subscribe","cb","add","delete","groupContextState","og","pseudo","next","keys","some","k","val","accessibilityState","accessibilityDisabled"],"sources":["../../../src/hooks/useComponentState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter } from "../defaultComponentState";
|
|
2
|
-
import { useDidHydrateOnce } from "../hooks/useDidHydrateOnce";
|
|
3
|
-
import { useRef, useState } from "react";
|
|
4
1
|
import { isServer, isWeb } from "@tamagui/constants";
|
|
2
|
+
import { useRef, useState } from "react";
|
|
3
|
+
import { defaultComponentState, defaultComponentStateMounted } from "../defaultComponentState";
|
|
5
4
|
import { createShallowSetState } from "../helpers/createShallowSetState";
|
|
6
5
|
import { isObj } from "../helpers/isObj";
|
|
7
6
|
import { log } from "../helpers/log";
|
|
@@ -13,20 +12,22 @@ var useComponentState = function(props, param, staticConfig, config) {
|
|
|
13
12
|
return !!(next || curStateRef.hasAnimated);
|
|
14
13
|
}(), willBeAnimated = !isServer && willBeAnimatedClient;
|
|
15
14
|
willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);
|
|
16
|
-
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?.[2], isExiting = presenceState?.isPresent === !1, isEntering = presenceState?.isPresent === !0 && presenceState.initial !== !1, hasEnterStyle = !!props.enterStyle,
|
|
15
|
+
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?.[2], isExiting = presenceState?.isPresent === !1, isEntering = presenceState?.isPresent === !0 && presenceState.initial !== !1, hasEnterStyle = !!props.enterStyle, hasAnimationThatNeedsHydrate = hasAnimationProp && (animationDriver?.isReactNative || !supportsCSSVars), hasEnterState = hasEnterStyle || isEntering, shouldEnter = hasEnterState || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate
|
|
16
|
+
// this is just for a better ux, supports css variables for light/dark, media queries, etc
|
|
17
|
+
disableClassName, initialState = shouldEnter ? (
|
|
17
18
|
// on the very first render we switch all spring animation drivers to css rendering
|
|
18
19
|
// this is because we need to use css variables, which they don't support to do proper SSR
|
|
19
20
|
// without flickers of the wrong colors.
|
|
20
21
|
// but once we do that initial hydration and we are in client side rendering mode,
|
|
21
22
|
// we can avoid the extra re-render on mount
|
|
22
|
-
|
|
23
|
+
defaultComponentState
|
|
23
24
|
) : defaultComponentStateMounted, disabled = isDisabled(props);
|
|
24
25
|
disabled != null && (initialState.disabled = disabled);
|
|
25
26
|
var states = useState(initialState), state = props.forceStyle ? {
|
|
26
27
|
...states[0],
|
|
27
28
|
[props.forceStyle]: !0
|
|
28
|
-
} : states[0], setState = states[1], isHydrated = state.unmounted === !1
|
|
29
|
-
isWeb &&
|
|
29
|
+
} : states[0], setState = states[1], isHydrated = state.unmounted === !1, isAnimated = willBeAnimated;
|
|
30
|
+
isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && state.unmounted === !0 && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (state.disabled = disabled, disabled && Object.assign(state, defaultComponentStateMounted), setState({
|
|
30
31
|
...state
|
|
31
32
|
}));
|
|
32
33
|
var setStateShallow = createShallowSetState(setState, disabled, !1, props.debug);
|
|
@@ -37,10 +38,10 @@ var useComponentState = function(props, param, staticConfig, config) {
|
|
|
37
38
|
var exv = exitVariant ?? enterExitVariant, env = enterVariant ?? enterExitVariant;
|
|
38
39
|
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);
|
|
39
40
|
}
|
|
40
|
-
var
|
|
41
|
-
if (isWeb) {
|
|
42
|
-
var
|
|
43
|
-
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (
|
|
41
|
+
var noClass = !isWeb || !!props.forceStyle;
|
|
42
|
+
if (isWeb && (!isServer || isHydrated)) {
|
|
43
|
+
var isAnimatedAndHydrated = isAnimated && !supportsCSSVars, isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted), isDisabledManually = disableClassName && !state.unmounted;
|
|
44
|
+
(isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (noClass = !0, process.env.NODE_ENV === "development" && props.debug && log("avoiding className", {
|
|
44
45
|
isAnimatedAndHydrated,
|
|
45
46
|
isDisabledManually,
|
|
46
47
|
isClassNameDisabled
|
|
@@ -89,7 +90,7 @@ var useComponentState = function(props, param, staticConfig, config) {
|
|
|
89
90
|
presenceState,
|
|
90
91
|
setState,
|
|
91
92
|
setStateShallow,
|
|
92
|
-
|
|
93
|
+
noClass,
|
|
93
94
|
state,
|
|
94
95
|
stateRef,
|
|
95
96
|
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": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["isServer", "isWeb", "useRef", "useState", "defaultComponentState", "defaultComponentStateMounted", "createShallowSetState", "isObj", "log", "useComponentState", "props", "staticConfig", "config", "animationDriver", "groups", "useAnimations", "stateRef", "undefined", "current", "hasAnimationProp", "Boolean", "style", "hasAnimatedStyleValue", "supportsCSSVars", "curStateRef", "willBeAnimatedClient", "next", "isHOC", "hasAnimated", "willBeAnimated", "disableClassName", "presence", "usePresence", "presenceState", "isExiting", "isPresent", "isEntering", "initial", "hasEnterStyle", "enterStyle", "hasAnimationThatNeedsHydrate", "isReactNative", "hasEnterState", "shouldEnter", "initialState", "disabled", "isDisabled", "states", "state", "forceStyle", "setState", "isHydrated", "unmounted", "isAnimated", "willHydrate", "Object", "assign", "setStateShallow", "debug", "variants", "process", "env", "NODE_ENV", "console", "warn", "JSON", "stringify", "enterVariant", "exitVariant", "enterExitVariant", "custom", "exv", "noClass", "isAnimatedAndHydrated", "isClassNameDisabled", "acceptsClassName", "disableSSR", "isDisabledManually", "groupName", "group", "listeners", "Set", "emit", "name", "forEach", "l", "subscribe", "cb", "add", "delete", "groupContextState", "og", "pseudo", "keys", "some", "k", "val", "accessibilityState", "accessibilityDisabled"]
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { isServer, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
|
+
import React from "react";
|
|
3
3
|
import { getConfig, getSetting } from "../config";
|
|
4
4
|
import { matchMedia } from "../helpers/matchMedia";
|
|
5
5
|
import { pseudoDescriptors } from "../helpers/pseudoDescriptors";
|
|
@@ -41,7 +41,7 @@ const configureMedia = (config) => {
|
|
|
41
41
|
mediaVersion++;
|
|
42
42
|
for (const key in media)
|
|
43
43
|
mediaState[key] = mediaQueryDefaultActive?.[key] || !1, mediaKeys.add(`$${key}`);
|
|
44
|
-
Object.assign(mediaQueryConfig, media), initState = { ...mediaState }, mediaKeysOrdered = Object.keys(media),
|
|
44
|
+
Object.assign(mediaQueryConfig, media), initState = { ...mediaState }, mediaKeysOrdered = Object.keys(media), setupMediaListeners();
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
function unlisten() {
|
|
@@ -86,46 +86,47 @@ function subscribe(subscriber) {
|
|
|
86
86
|
listeners.delete(subscriber);
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
|
-
function useMedia(
|
|
90
|
-
const
|
|
91
|
-
let
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (!
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
let state;
|
|
103
|
-
if (process.env.TAMAGUI_SYNC_MEDIA_QUERY)
|
|
104
|
-
state = React.useSyncExternalStore(
|
|
105
|
-
subscribe,
|
|
106
|
-
getSnapshot,
|
|
107
|
-
() => initialState
|
|
108
|
-
);
|
|
109
|
-
else {
|
|
110
|
-
const [_state, setState] = React.useState(initialState);
|
|
111
|
-
state = _state, useIsomorphicLayoutEffect(() => {
|
|
112
|
-
function update() {
|
|
113
|
-
setState(getSnapshot);
|
|
114
|
-
}
|
|
115
|
-
return update(), disableSSR || Promise.resolve().then(() => {
|
|
116
|
-
update();
|
|
117
|
-
}), subscribe(update);
|
|
118
|
-
}, []);
|
|
89
|
+
function useMedia(cc, debug) {
|
|
90
|
+
const initialState = getSetting("disableSSR") || getDisableSSR(cc) || !isWeb ? mediaState : initState, [state, setState] = React.useState(initialState);
|
|
91
|
+
let currentKeys;
|
|
92
|
+
const getCurrentKeys = () => currentKeys;
|
|
93
|
+
function getSnapshot(cur, keys = cur.lastKeys) {
|
|
94
|
+
if (!keys) return cur;
|
|
95
|
+
for (const key of keys)
|
|
96
|
+
if (mediaState[key] !== cur[key])
|
|
97
|
+
return process.env.NODE_ENV === "development" && debug && console.warn("useMedia()\u270D\uFE0F", key, cur[key], ">", mediaState[key]), {
|
|
98
|
+
...mediaState,
|
|
99
|
+
lastKeys: new Set(keys)
|
|
100
|
+
};
|
|
101
|
+
return cur;
|
|
119
102
|
}
|
|
120
|
-
|
|
103
|
+
let isRendering = !0;
|
|
104
|
+
const isInitialState = state === initialState;
|
|
105
|
+
return useIsomorphicLayoutEffect(() => {
|
|
106
|
+
isRendering = !1;
|
|
107
|
+
}), useIsomorphicLayoutEffect(() => {
|
|
108
|
+
const update = () => setState(
|
|
109
|
+
(prev) => getSnapshot(
|
|
110
|
+
prev,
|
|
111
|
+
// because the !didHydrateOnce logic we can't update as we render
|
|
112
|
+
// we need to get the current keys in case we added
|
|
113
|
+
// these only ever add keys so likely ok?
|
|
114
|
+
getCurrentKeys()
|
|
115
|
+
)
|
|
116
|
+
);
|
|
117
|
+
return update(), subscribe(update);
|
|
118
|
+
}, []), new Proxy(state, {
|
|
121
119
|
get(_, key) {
|
|
122
|
-
if (!disableMediaTouch)
|
|
123
|
-
|
|
120
|
+
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)) {
|
|
121
|
+
const next = getSnapshot(state, currentKeys);
|
|
122
|
+
next !== state && setState(next);
|
|
123
|
+
}
|
|
124
|
+
return Reflect.get(state, key);
|
|
124
125
|
}
|
|
125
126
|
});
|
|
126
127
|
}
|
|
127
128
|
let disableMediaTouch = !1;
|
|
128
|
-
function
|
|
129
|
+
function _disableMediaTouch(val) {
|
|
129
130
|
disableMediaTouch = val;
|
|
130
131
|
}
|
|
131
132
|
function getMediaState(mediaGroups, layout) {
|
|
@@ -167,7 +168,7 @@ function mediaKeyMatch(key, dimensions) {
|
|
|
167
168
|
});
|
|
168
169
|
}
|
|
169
170
|
export {
|
|
170
|
-
|
|
171
|
+
_disableMediaTouch,
|
|
171
172
|
configureMedia,
|
|
172
173
|
getMedia,
|
|
173
174
|
getMediaImportanceIfMoreImportant,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useMedia.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { isServer, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
|
+
import React from "react";
|
|
3
3
|
import { getConfig, getSetting } from "../config.mjs";
|
|
4
4
|
import { matchMedia } from "../helpers/matchMedia.mjs";
|
|
5
5
|
import { pseudoDescriptors } from "../helpers/pseudoDescriptors.mjs";
|
|
@@ -45,7 +45,7 @@ const configureMedia = config => {
|
|
|
45
45
|
for (const key in media) mediaState[key] = mediaQueryDefaultActive?.[key] || !1, mediaKeys.add(`$${key}`);
|
|
46
46
|
Object.assign(mediaQueryConfig, media), initState = {
|
|
47
47
|
...mediaState
|
|
48
|
-
}, mediaKeysOrdered = Object.keys(media),
|
|
48
|
+
}, mediaKeysOrdered = Object.keys(media), setupMediaListeners();
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
51
|
function unlisten() {
|
|
@@ -95,45 +95,42 @@ function subscribe(subscriber) {
|
|
|
95
95
|
listeners.delete(subscriber);
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
-
function useMedia(
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
keys,
|
|
111
|
-
prev = initialState
|
|
112
|
-
} = componentState;
|
|
113
|
-
if (enabled === !1) return prev;
|
|
114
|
-
const testKeys = keys ?? (enabled && keys) ?? null;
|
|
115
|
-
return !testKeys || Object.keys(testKeys).every(key => mediaState[key] === prev[key]) ? prev : (componentState.prev = mediaState, mediaState);
|
|
116
|
-
};
|
|
117
|
-
let state;
|
|
118
|
-
if (process.env.TAMAGUI_SYNC_MEDIA_QUERY) state = React.useSyncExternalStore(subscribe, getSnapshot, () => initialState);else {
|
|
119
|
-
const [_state, setState] = React.useState(initialState);
|
|
120
|
-
state = _state, useIsomorphicLayoutEffect(() => {
|
|
121
|
-
function update() {
|
|
122
|
-
setState(getSnapshot);
|
|
123
|
-
}
|
|
124
|
-
return update(), disableSSR || Promise.resolve().then(() => {
|
|
125
|
-
update();
|
|
126
|
-
}), subscribe(update);
|
|
127
|
-
}, []);
|
|
98
|
+
function useMedia(cc, debug) {
|
|
99
|
+
const initialState = getSetting("disableSSR") || getDisableSSR(cc) || !isWeb ? mediaState : initState,
|
|
100
|
+
[state, setState] = React.useState(initialState);
|
|
101
|
+
let currentKeys;
|
|
102
|
+
const getCurrentKeys = () => currentKeys;
|
|
103
|
+
function getSnapshot(cur, keys = cur.lastKeys) {
|
|
104
|
+
if (!keys) return cur;
|
|
105
|
+
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]), {
|
|
106
|
+
...mediaState,
|
|
107
|
+
lastKeys: new Set(keys)
|
|
108
|
+
};
|
|
109
|
+
return cur;
|
|
128
110
|
}
|
|
129
|
-
|
|
111
|
+
let isRendering = !0;
|
|
112
|
+
const isInitialState = state === initialState;
|
|
113
|
+
return useIsomorphicLayoutEffect(() => {
|
|
114
|
+
isRendering = !1;
|
|
115
|
+
}), useIsomorphicLayoutEffect(() => {
|
|
116
|
+
const update = () => setState(prev => getSnapshot(prev,
|
|
117
|
+
// because the !didHydrateOnce logic we can't update as we render
|
|
118
|
+
// we need to get the current keys in case we added
|
|
119
|
+
// these only ever add keys so likely ok?
|
|
120
|
+
getCurrentKeys()));
|
|
121
|
+
return update(), subscribe(update);
|
|
122
|
+
}, []), new Proxy(state, {
|
|
130
123
|
get(_, key) {
|
|
131
|
-
if (!disableMediaTouch
|
|
124
|
+
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)) {
|
|
125
|
+
const next = getSnapshot(state, currentKeys);
|
|
126
|
+
next !== state && setState(next);
|
|
127
|
+
}
|
|
128
|
+
return Reflect.get(state, key);
|
|
132
129
|
}
|
|
133
130
|
});
|
|
134
131
|
}
|
|
135
132
|
let disableMediaTouch = !1;
|
|
136
|
-
function
|
|
133
|
+
function _disableMediaTouch(val) {
|
|
137
134
|
disableMediaTouch = val;
|
|
138
135
|
}
|
|
139
136
|
function getMediaState(mediaGroups, layout) {
|
|
@@ -174,5 +171,5 @@ function mediaKeyMatch(key, dimensions) {
|
|
|
174
171
|
return isMax ? givenVal < expectedVal : givenVal > expectedVal;
|
|
175
172
|
});
|
|
176
173
|
}
|
|
177
|
-
export {
|
|
174
|
+
export { _disableMediaTouch, configureMedia, getMedia, getMediaImportanceIfMoreImportant, getMediaKeyImportance, getMediaState, isMediaKey, mediaKeyMatch, mediaKeyToQuery, mediaKeys, mediaObjectToString, mediaQueryConfig, mediaState, setMediaShouldUpdate, setupMediaListeners, useMedia };
|
|
178
175
|
//# sourceMappingURL=useMedia.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["isServer","isWeb","useIsomorphicLayoutEffect","React","getConfig","getSetting","matchMedia","pseudoDescriptors","getDisableSSR","mediaState","process","env","NODE_ENV","Proxy","get","target","key","Error","Reflect","mediaQueryConfig","getMedia","mediaKeys","Set","mediaKeyRegex","isMediaKey","has","match","initState","defaultMediaImportance","Object","keys","length","mediaKeysOrdered","getMediaKeyImportance","settings","mediaPropOrder","indexOf","dispose","mediaVersion","configureMedia","config","media","mediaQueryDefaultActive","add","assign","setupMediaListeners","unlisten","forEach","cb","clear","setupVersion","update","next","getMatch","matches","updateCurrentState","str","mediaObjectToString","addListener","removeListener","listeners","flushing","flushVersion","Promise","resolve","then","States","WeakMap","setMediaShouldUpdate","ref","enabled","cur","set","subscribe","subscriber","delete","useMedia","cc","debug","initialState","state","setState","useState","currentKeys","getCurrentKeys","getSnapshot","lastKeys","console","warn","isRendering","isInitialState","prev","_","disableMediaTouch","info","_disableMediaTouch","val","getMediaState","mediaGroups","layout","res","fromEntries","map","mediaKey","mediaKeyMatch","getMediaImportanceIfMoreImportant","importancesUsed","isSizeMedia","importance","camelToHyphen","replace","m","toLowerCase","cache","cachedMediaKeyToQuery","query","entries","feature","value","test","join","mediaKeyToQuery","dimensions","mediaQueries","every","expectedVal","isMax","startsWith","isWidth","endsWith","givenVal"],"sources":["../../../src/hooks/useMedia.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|