@tamagui/core 1.100.0 → 1.100.2
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/native.js +92 -9
- package/dist/native.js.map +3 -3
- package/dist/test.native.js +92 -9
- package/dist/test.native.js.map +3 -3
- package/package.json +6 -6
package/dist/native.js
CHANGED
|
@@ -2974,6 +2974,70 @@ var require_useDisableSSR_native = __commonJS({
|
|
|
2974
2974
|
}
|
|
2975
2975
|
});
|
|
2976
2976
|
|
|
2977
|
+
// ../web/dist/cjs/hooks/useDidHydrateOnce.native.js
|
|
2978
|
+
var require_useDidHydrateOnce_native = __commonJS({
|
|
2979
|
+
"../web/dist/cjs/hooks/useDidHydrateOnce.native.js"(exports2, module2) {
|
|
2980
|
+
"use strict";
|
|
2981
|
+
var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
|
|
2982
|
+
for (var name in all) __defProp2(target, name, {
|
|
2983
|
+
get: all[name],
|
|
2984
|
+
enumerable: !0
|
|
2985
|
+
});
|
|
2986
|
+
}, __copyProps2 = function(to, from, except, desc) {
|
|
2987
|
+
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
2988
|
+
if (from && typeof from == "object" || typeof from == "function") try {
|
|
2989
|
+
for (var _loop = function() {
|
|
2990
|
+
var key = _step.value;
|
|
2991
|
+
!__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, {
|
|
2992
|
+
get: function() {
|
|
2993
|
+
return from[key];
|
|
2994
|
+
},
|
|
2995
|
+
enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
|
|
2996
|
+
});
|
|
2997
|
+
}, _iterator = __getOwnPropNames2(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
|
|
2998
|
+
} catch (err) {
|
|
2999
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
3000
|
+
} finally {
|
|
3001
|
+
try {
|
|
3002
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
3003
|
+
} finally {
|
|
3004
|
+
if (_didIteratorError)
|
|
3005
|
+
throw _iteratorError;
|
|
3006
|
+
}
|
|
3007
|
+
}
|
|
3008
|
+
return to;
|
|
3009
|
+
}, __toCommonJS2 = function(mod) {
|
|
3010
|
+
return __copyProps2(__defProp2({}, "__esModule", {
|
|
3011
|
+
value: !0
|
|
3012
|
+
}), mod);
|
|
3013
|
+
}, useDidHydrateOnce_exports = {};
|
|
3014
|
+
__export2(useDidHydrateOnce_exports, {
|
|
3015
|
+
useDidHydrateOnce: function() {
|
|
3016
|
+
return useDidHydrateOnce;
|
|
3017
|
+
},
|
|
3018
|
+
useDidHydrateOnceRoot: function() {
|
|
3019
|
+
return useDidHydrateOnceRoot;
|
|
3020
|
+
}
|
|
3021
|
+
});
|
|
3022
|
+
module2.exports = __toCommonJS2(useDidHydrateOnce_exports);
|
|
3023
|
+
var import_react3 = require("react"), didHydrateOnce = !1;
|
|
3024
|
+
function useDidHydrateOnceRoot() {
|
|
3025
|
+
(0, import_react3.useEffect)(function() {
|
|
3026
|
+
var tm = setInterval(function() {
|
|
3027
|
+
Date.now() - last > 32 && (didHydrateOnce = !0, clearInterval(tm));
|
|
3028
|
+
}, 16);
|
|
3029
|
+
return function() {
|
|
3030
|
+
clearInterval(tm);
|
|
3031
|
+
};
|
|
3032
|
+
}, []);
|
|
3033
|
+
}
|
|
3034
|
+
var last = Date.now();
|
|
3035
|
+
function useDidHydrateOnce() {
|
|
3036
|
+
return didHydrateOnce || (last = Date.now()), didHydrateOnce;
|
|
3037
|
+
}
|
|
3038
|
+
}
|
|
3039
|
+
});
|
|
3040
|
+
|
|
2977
3041
|
// ../web/dist/cjs/hooks/useMedia.native.js
|
|
2978
3042
|
var require_useMedia_native = __commonJS({
|
|
2979
3043
|
"../web/dist/cjs/hooks/useMedia.native.js"(exports2, module2) {
|
|
@@ -3060,7 +3124,7 @@ var require_useMedia_native = __commonJS({
|
|
|
3060
3124
|
}
|
|
3061
3125
|
});
|
|
3062
3126
|
module2.exports = __toCommonJS2(useMedia_exports);
|
|
3063
|
-
var import_constants = require_index_native3(), import_react3 = require("react"), import_config = require_config_native(), import_matchMedia = require_matchMedia_native(), import_pseudoDescriptors = require_pseudoDescriptors_native(), import_useDisableSSR = require_useDisableSSR_native();
|
|
3127
|
+
var import_constants = require_index_native3(), import_react3 = require("react"), import_config = require_config_native(), import_matchMedia = require_matchMedia_native(), import_pseudoDescriptors = require_pseudoDescriptors_native(), import_useDisableSSR = require_useDisableSSR_native(), import_useDidHydrateOnce = require_useDidHydrateOnce_native();
|
|
3064
3128
|
function _array_like_to_array(arr, len) {
|
|
3065
3129
|
(len == null || len > arr.length) && (len = arr.length);
|
|
3066
3130
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
@@ -3219,9 +3283,21 @@ var require_useMedia_native = __commonJS({
|
|
|
3219
3283
|
return listeners.delete(subscriber);
|
|
3220
3284
|
};
|
|
3221
3285
|
}
|
|
3286
|
+
function useLayoutExternalStore(subscriber, getSnapshot, getServerSnapshot) {
|
|
3287
|
+
var hasHydrated = (0, import_useDidHydrateOnce.useDidHydrateOnce)(), _useState = _sliced_to_array((0, import_react3.useState)(hasHydrated ? mediaState2 : getServerSnapshot), 2), state = _useState[0], setState = _useState[1];
|
|
3288
|
+
return (0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
3289
|
+
var update = function() {
|
|
3290
|
+
setState(function(prev) {
|
|
3291
|
+
var next = getSnapshot();
|
|
3292
|
+
return next !== prev ? next : prev;
|
|
3293
|
+
});
|
|
3294
|
+
};
|
|
3295
|
+
return update(), subscriber(update);
|
|
3296
|
+
}, []), state;
|
|
3297
|
+
}
|
|
3222
3298
|
function useMedia2(uid, componentContext) {
|
|
3223
|
-
var internal = (0, import_react3.useRef)(), disableSSR = (0, import_useDisableSSR.getDisableSSR)(componentContext), initialState = (disableSSR || !import_constants.isWeb ? mediaState2 : initState) || {}, state = (
|
|
3224
|
-
if (!internal.current) return
|
|
3299
|
+
var internal = (0, import_react3.useRef)(), disableSSR = (0, import_useDisableSSR.getDisableSSR)(componentContext), initialState = (disableSSR || !import_constants.isWeb ? mediaState2 : initState) || {}, state = useLayoutExternalStore(subscribe, function() {
|
|
3300
|
+
if (!internal.current) return mediaState2;
|
|
3225
3301
|
var _internal_current = internal.current, touched = _internal_current.touched, prev = _internal_current.prev, componentState = uid ? shouldUpdate.get(uid) : void 0;
|
|
3226
3302
|
if (componentState && componentState.enabled === !1) return prev;
|
|
3227
3303
|
var _componentState_keys, testKeys = (_componentState_keys = componentState == null ? void 0 : componentState.keys) !== null && _componentState_keys !== void 0 ? _componentState_keys : (!componentState || componentState.enabled) && touched ? _to_consumable_array(touched) : null, hasntUpdated = !testKeys || (testKeys == null ? void 0 : testKeys.every(function(key) {
|
|
@@ -8743,7 +8819,7 @@ var require_createComponent_native = __commonJS({
|
|
|
8743
8819
|
}
|
|
8744
8820
|
});
|
|
8745
8821
|
module2.exports = __toCommonJS2(createComponent_exports);
|
|
8746
|
-
var import_jsx_runtime = require("react/jsx-runtime"), import_compose_refs = require_index_native5(), import_constants = require_index_native3(), import_helpers = require_index_native4(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_constants2 = require_constants_native2(), import_isDevTools = require_isDevTools_native(), import_ComponentContext = require_ComponentContext_native(), import_createVariable = require_createVariable_native(), import_defaultComponentState = require_defaultComponentState_native(), import_createShallowSetState = require_createShallowSetState_native(), import_getSplitStyles = require_getSplitStyles_native(), import_isObj = require_isObj_native(), import_log = require_log_native(), import_mergeProps = require_mergeProps_native(), import_setElementProps = require_setElementProps_native(), import_themeable = require_themeable_native(), import_useMedia = require_useMedia_native(), import_useTheme = require_useTheme_native(), import_setupHooks = require_setupHooks_native(), import_Slot = require_Slot_native(), import_Theme = require_Theme_native(), import_ThemeDebug = require_ThemeDebug_native();
|
|
8822
|
+
var import_jsx_runtime = require("react/jsx-runtime"), import_compose_refs = require_index_native5(), import_constants = require_index_native3(), import_helpers = require_index_native4(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_constants2 = require_constants_native2(), import_isDevTools = require_isDevTools_native(), import_ComponentContext = require_ComponentContext_native(), import_createVariable = require_createVariable_native(), import_defaultComponentState = require_defaultComponentState_native(), import_createShallowSetState = require_createShallowSetState_native(), import_getSplitStyles = require_getSplitStyles_native(), import_isObj = require_isObj_native(), import_log = require_log_native(), import_mergeProps = require_mergeProps_native(), import_setElementProps = require_setElementProps_native(), import_themeable = require_themeable_native(), import_useMedia = require_useMedia_native(), import_useTheme = require_useTheme_native(), import_setupHooks = require_setupHooks_native(), import_Slot = require_Slot_native(), import_Theme = require_Theme_native(), import_ThemeDebug = require_ThemeDebug_native(), import_useDidHydrateOnce = require_useDidHydrateOnce_native();
|
|
8747
8823
|
function _array_like_to_array(arr, len) {
|
|
8748
8824
|
(len == null || len > arr.length) && (len = arr.length);
|
|
8749
8825
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
@@ -9071,7 +9147,14 @@ var require_createComponent_native = __commonJS({
|
|
|
9071
9147
|
willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);
|
|
9072
9148
|
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, hasRNAnimation = hasAnimationProp && (animationDriver == null ? void 0 : animationDriver.isReactNative);
|
|
9073
9149
|
process.env.NODE_ENV === "development" && time && time(_templateObject());
|
|
9074
|
-
var hasEnterState = hasEnterStyle || isEntering,
|
|
9150
|
+
var hasEnterState = hasEnterStyle || isEntering, didHydrateOnce = (0, import_useDidHydrateOnce.useDidHydrateOnce)(), initialState = hasEnterState || !didHydrateOnce && hasRNAnimation ? (
|
|
9151
|
+
// on the very first render we switch all spring animation drivers to css rendering
|
|
9152
|
+
// this is because we need to use css variables, which they don't support to do proper SSR
|
|
9153
|
+
// without flickers of the wrong colors.
|
|
9154
|
+
// but once we do that initial hydration and we are in client side rendering mode,
|
|
9155
|
+
// we can avoid the extra re-render on mount
|
|
9156
|
+
import_constants.isWeb && !didHydrateOnce ? import_defaultComponentState.defaultComponentState : import_defaultComponentState.defaultComponentStateShouldEnter
|
|
9157
|
+
) : import_defaultComponentState.defaultComponentStateMounted, disabled = isDisabled(props);
|
|
9075
9158
|
disabled != null && (initialState.disabled = disabled);
|
|
9076
9159
|
var states = (0, import_react3.useState)(initialState), state = props.forceStyle ? _object_spread_props(_object_spread2({}, states[0]), _define_property2({}, props.forceStyle, !0)) : states[0], setState = states[1], isHydrated = state.unmounted === !1 || state.unmounted === "should-enter", isAnimated = willBeAnimated;
|
|
9077
9160
|
import_constants.isWeb && hasRNAnimation && !staticConfig.isHOC && state.unmounted === !0 && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (state.disabled = disabled, disabled && Object.assign(state, import_defaultComponentState.defaultComponentStateMounted), setState(_object_spread2({}, state)));
|
|
@@ -9341,7 +9424,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
|
|
|
9341
9424
|
};
|
|
9342
9425
|
(0, import_react3.useEffect)(function() {
|
|
9343
9426
|
if (!disabled) {
|
|
9344
|
-
if (state.unmounted === !0) {
|
|
9427
|
+
if (state.unmounted === !0 && hasEnterStyle) {
|
|
9345
9428
|
setStateShallow({
|
|
9346
9429
|
unmounted: "should-enter"
|
|
9347
9430
|
});
|
|
@@ -12362,7 +12445,7 @@ var require_TamaguiProvider_native = __commonJS({
|
|
|
12362
12445
|
}
|
|
12363
12446
|
});
|
|
12364
12447
|
module2.exports = __toCommonJS2(TamaguiProvider_exports);
|
|
12365
|
-
var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require_index_native3(), React = __toESM2(require("react")), import_ComponentContext = require_ComponentContext_native(), import_useMedia = require_useMedia_native(), import_ThemeProvider = require_ThemeProvider_native();
|
|
12448
|
+
var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require_index_native3(), React = __toESM2(require("react")), import_ComponentContext = require_ComponentContext_native(), import_useMedia = require_useMedia_native(), import_ThemeProvider = require_ThemeProvider_native(), import_useDidHydrateOnce = require_useDidHydrateOnce_native();
|
|
12366
12449
|
function _define_property2(obj, key, value) {
|
|
12367
12450
|
return key in obj ? Object.defineProperty(obj, key, {
|
|
12368
12451
|
value,
|
|
@@ -12418,7 +12501,7 @@ var require_TamaguiProvider_native = __commonJS({
|
|
|
12418
12501
|
"disableInjectCSS",
|
|
12419
12502
|
"config"
|
|
12420
12503
|
]);
|
|
12421
|
-
(0, import_useMedia.setupMediaListeners)(), import_constants.isClient && React.useInsertionEffect(function() {
|
|
12504
|
+
(0, import_useMedia.setupMediaListeners)(), import_constants.isClient && ((0, import_useDidHydrateOnce.useDidHydrateOnceRoot)(), React.useInsertionEffect(function() {
|
|
12422
12505
|
if (config && (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS)) {
|
|
12423
12506
|
var style = document.createElement("style");
|
|
12424
12507
|
return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), function() {
|
|
@@ -12428,7 +12511,7 @@ var require_TamaguiProvider_native = __commonJS({
|
|
|
12428
12511
|
}, [
|
|
12429
12512
|
config,
|
|
12430
12513
|
disableInjectCSS
|
|
12431
|
-
]);
|
|
12514
|
+
]));
|
|
12432
12515
|
var _themePropsProvider_defaultTheme;
|
|
12433
12516
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
|
|
12434
12517
|
animationDriver: config == null ? void 0 : config.animations,
|