@tamagui/core 1.129.3 → 1.129.5-1751174117974

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.
@@ -1895,7 +1895,7 @@ var require_useMedia_native = __commonJS({
1895
1895
  };
1896
1896
  }
1897
1897
  function useMedia2(cc, debug) {
1898
- var componentState = cc ? States.get(cc) : null, internalRef = (0, import_react3.useRef)();
1898
+ var componentState = cc ? States.get(cc) : null, internalRef = (0, import_react3.useRef)(null);
1899
1899
  internalRef.current || (internalRef.current = {
1900
1900
  keys: /* @__PURE__ */ new Set()
1901
1901
  });
@@ -2495,57 +2495,6 @@ var require_defaultComponentState_native = __commonJS({
2495
2495
  }
2496
2496
  });
2497
2497
 
2498
- // ../web/dist/cjs/helpers/consoleLog.native.js
2499
- var require_consoleLog_native = __commonJS({
2500
- "../web/dist/cjs/helpers/consoleLog.native.js"(exports2, module2) {
2501
- "use strict";
2502
- var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
2503
- for (var name in all) __defProp2(target, name, {
2504
- get: all[name],
2505
- enumerable: !0
2506
- });
2507
- }, __copyProps2 = function(to, from, except, desc) {
2508
- var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
2509
- if (from && typeof from == "object" || typeof from == "function") try {
2510
- for (var _loop = function() {
2511
- var key = _step.value;
2512
- !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, {
2513
- get: function() {
2514
- return from[key];
2515
- },
2516
- enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
2517
- });
2518
- }, _iterator = __getOwnPropNames2(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
2519
- } catch (err) {
2520
- _didIteratorError = !0, _iteratorError = err;
2521
- } finally {
2522
- try {
2523
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
2524
- } finally {
2525
- if (_didIteratorError)
2526
- throw _iteratorError;
2527
- }
2528
- }
2529
- return to;
2530
- }, __toCommonJS2 = function(mod) {
2531
- return __copyProps2(__defProp2({}, "__esModule", {
2532
- value: !0
2533
- }), mod);
2534
- }, consoleLog_native_exports = {};
2535
- __export2(consoleLog_native_exports, {
2536
- groupCollapsed: function() {
2537
- return groupCollapsed;
2538
- },
2539
- groupEnd: function() {
2540
- return groupEnd;
2541
- }
2542
- });
2543
- module2.exports = __toCommonJS2(consoleLog_native_exports);
2544
- var groupEnd = function() {
2545
- }, groupCollapsed = console.info;
2546
- }
2547
- });
2548
-
2549
2498
  // ../web/dist/cjs/helpers/getShorthandValue.native.js
2550
2499
  var require_getShorthandValue_native = __commonJS({
2551
2500
  "../web/dist/cjs/helpers/getShorthandValue.native.js"(exports2, module2) {
@@ -5063,7 +5012,7 @@ var require_getSplitStyles_native = __commonJS({
5063
5012
  }
5064
5013
  });
5065
5014
  module2.exports = __toCommonJS2(getSplitStyles_exports);
5066
- var import_constants2 = require_index_native2(), import_helpers2 = require_index_native3(), import_react3 = __toESM2(require("react")), import_getDynamicVal = require_getDynamicVal_native(), import_config = require_config_native(), import_accessibilityDirectMap = require_accessibilityDirectMap_native(), import_constants22 = require_constants_native2(), import_isDevTools = require_isDevTools_native(), import_useMedia = require_useMedia_native(), import_consoleLog = require_consoleLog_native(), import_createMediaStyle = require_createMediaStyle_native(), import_expandStyles = require_expandStyles_native(), import_getCSSStylesAtomic = require_getCSSStylesAtomic_native(), import_getGroupPropParts = require_getGroupPropParts_native(), import_insertStyleRule = require_insertStyleRule_native(), import_isActivePlatform = require_isActivePlatform_native(), import_isActiveTheme = require_isActiveTheme_native(), import_log = require_log_native(), import_normalizeValueWithProperty = require_normalizeValueWithProperty_native(), import_propMapper = require_propMapper_native(), import_pseudoDescriptors = require_pseudoDescriptors_native(), import_skipProps = require_skipProps_native(), import_sortString = require_sortString_native(), import_transformsToString = require_transformsToString_native(), conf, PROP_SPLIT = "-";
5015
+ var import_constants2 = require_index_native2(), import_helpers2 = require_index_native3(), import_react3 = __toESM2(require("react")), import_getDynamicVal = require_getDynamicVal_native(), import_config = require_config_native(), import_accessibilityDirectMap = require_accessibilityDirectMap_native(), import_constants22 = require_constants_native2(), import_isDevTools = require_isDevTools_native(), import_useMedia = require_useMedia_native(), import_createMediaStyle = require_createMediaStyle_native(), import_expandStyles = require_expandStyles_native(), import_getCSSStylesAtomic = require_getCSSStylesAtomic_native(), import_getGroupPropParts = require_getGroupPropParts_native(), import_insertStyleRule = require_insertStyleRule_native(), import_isActivePlatform = require_isActivePlatform_native(), import_isActiveTheme = require_isActiveTheme_native(), import_log = require_log_native(), import_normalizeValueWithProperty = require_normalizeValueWithProperty_native(), import_propMapper = require_propMapper_native(), import_pseudoDescriptors = require_pseudoDescriptors_native(), import_skipProps = require_skipProps_native(), import_sortString = require_sortString_native(), import_transformsToString = require_transformsToString_native(), conf, PROP_SPLIT = "-";
5067
5016
  function isValidStyleKey(key, validStyles2, accept) {
5068
5017
  return key in validStyles2 ? !0 : accept && key in accept;
5069
5018
  }
@@ -5291,7 +5240,7 @@ var require_getSplitStyles_native = __commonJS({
5291
5240
  conf = conf || (0, import_config.getConfig)();
5292
5241
  var animationDriver = (componentContext == null ? void 0 : componentContext.animationDriver) || conf.animations;
5293
5242
  import_constants2.isWeb && styleProps.isAnimated && animationDriver.isReactNative && !styleProps.noNormalize && (styleProps.noNormalize = "values");
5294
- var { shorthands } = conf, { isHOC, isText, isInput, variants, isReactNative, inlineProps, inlineWhenUnflattened, parentStaticConfig, acceptsClassName } = staticConfig, viewProps = {}, mediaState2 = styleProps.mediaState || import_useMedia.mediaState, usedKeys = {}, shouldDoClasses = acceptsClassName && import_constants2.isWeb && !styleProps.noClass, rulesToInsert = void 0, classNames = {}, pseudos = null, space = props.space, hasMedia = !1, dynamicThemeAccess, pseudoGroups, mediaGroups, className = props.className || "", mediaStylesSeen = 0, validStyles2 = staticConfig.validStyles || (staticConfig.isText || staticConfig.isInput ? import_helpers2.stylePropsText : import_helpers2.validStyles), styleState = {
5243
+ var { shorthands } = conf, { isHOC, isText, isInput, variants, isReactNative, inlineProps, inlineWhenUnflattened, parentStaticConfig, acceptsClassName } = staticConfig, viewProps = {}, mediaState2 = styleProps.mediaState || import_useMedia.mediaState, usedKeys = {}, shouldDoClasses = acceptsClassName && import_constants2.isWeb && !styleProps.noClass && !styleProps.isAnimated, rulesToInsert = void 0, classNames = {}, pseudos = null, space = props.space, hasMedia = !1, dynamicThemeAccess, pseudoGroups, mediaGroups, className = props.className || "", mediaStylesSeen = 0, validStyles2 = staticConfig.validStyles || (staticConfig.isText || staticConfig.isInput ? import_helpers2.stylePropsText : import_helpers2.validStyles), styleState = {
5295
5244
  classNames,
5296
5245
  conf,
5297
5246
  props,
@@ -5381,7 +5330,7 @@ var require_getSplitStyles_native = __commonJS({
5381
5330
  var style2 = styleState.style;
5382
5331
  if (0) {
5383
5332
  var _staticConfig_defaultProps, fontFamily, fontFamilyClassName, groupClassName, componentNameFinal, componentClassName, classList, finalClassName;
5384
- if (!(styleProps.isAnimated && !animationDriver.supportsCSSVars && isReactNative) && isReactNative) {
5333
+ if (!styleProps.isAnimated && isReactNative) {
5385
5334
  var cnStyles, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1;
5386
5335
  try {
5387
5336
  for (var _iterator1, _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) var name;
@@ -5453,7 +5402,6 @@ var require_getSplitStyles_native = __commonJS({
5453
5402
  return styleProps.noNormalize || (0, import_expandStyles.fixStyles)(styleOut), styleOut;
5454
5403
  }, useInsertEffectCompat = import_constants2.isWeb ? import_react3.default.useInsertionEffect || import_constants2.useIsomorphicLayoutEffect : function() {
5455
5404
  }, useSplitStyles = function(a, b, c, d, e, f, g, h, i, j, k) {
5456
- conf = conf || (0, import_config.getConfig)();
5457
5405
  var res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k);
5458
5406
  return res;
5459
5407
  };
@@ -5641,9 +5589,9 @@ var require_setElementProps_native = __commonJS({
5641
5589
  }
5642
5590
  });
5643
5591
 
5644
- // ../web/dist/cjs/helpers/createShallowSetState.native.js
5645
- var require_createShallowSetState_native = __commonJS({
5646
- "../web/dist/cjs/helpers/createShallowSetState.native.js"(exports2, module2) {
5592
+ // ../web/dist/cjs/helpers/useCreateShallowSetState.native.js
5593
+ var require_useCreateShallowSetState_native = __commonJS({
5594
+ "../web/dist/cjs/helpers/useCreateShallowSetState.native.js"(exports2, module2) {
5647
5595
  "use strict";
5648
5596
  var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
5649
5597
  for (var name in all) __defProp2(target, name, {
@@ -5677,43 +5625,31 @@ var require_createShallowSetState_native = __commonJS({
5677
5625
  return __copyProps2(__defProp2({}, "__esModule", {
5678
5626
  value: !0
5679
5627
  }), mod);
5680
- }, createShallowSetState_exports = {};
5681
- __export2(createShallowSetState_exports, {
5682
- createShallowSetState: function() {
5683
- return createShallowSetState;
5684
- },
5628
+ }, useCreateShallowSetState_exports = {};
5629
+ __export2(useCreateShallowSetState_exports, {
5685
5630
  isEqualShallow: function() {
5686
5631
  return isEqualShallow2;
5687
5632
  },
5688
5633
  mergeIfNotShallowEqual: function() {
5689
5634
  return mergeIfNotShallowEqual;
5635
+ },
5636
+ useCreateShallowSetState: function() {
5637
+ return useCreateShallowSetState;
5690
5638
  }
5691
5639
  });
5692
- module2.exports = __toCommonJS2(createShallowSetState_exports);
5693
- var import_react3 = require("react"), callImmediate = function(cb) {
5694
- return cb();
5695
- };
5696
- function createShallowSetState(setter, onlyAllow, transition, debugIn) {
5640
+ module2.exports = __toCommonJS2(useCreateShallowSetState_exports);
5641
+ var import_react3 = require("react");
5642
+ function useCreateShallowSetState(setter, debugIn) {
5697
5643
  return (0, import_react3.useCallback)(function(next) {
5698
- var wrap = transition ? import_react3.startTransition : callImmediate;
5699
- wrap(function() {
5700
- setter(function(prev) {
5701
- return mergeIfNotShallowEqual(prev, next, onlyAllow, debugIn);
5702
- });
5644
+ setter(function(prev) {
5645
+ return mergeIfNotShallowEqual(prev, next, debugIn);
5703
5646
  });
5704
5647
  }, [
5705
5648
  setter,
5706
- onlyAllow ? onlyAllow.join("") : "",
5707
- transition,
5708
5649
  debugIn
5709
5650
  ]);
5710
5651
  }
5711
- function mergeIfNotShallowEqual(prev, next, onlyAllow, debug) {
5712
- if (onlyAllow) {
5713
- var allowed = {};
5714
- for (var key in next) onlyAllow.includes(key) && (allowed[key] = next[key]);
5715
- next = allowed;
5716
- }
5652
+ function mergeIfNotShallowEqual(prev, next, debug) {
5717
5653
  return !prev || !next || isEqualShallow2(prev, next) ? prev || next : {
5718
5654
  ...prev,
5719
5655
  ...next
@@ -5769,7 +5705,7 @@ var require_subscribeToContextGroup_native = __commonJS({
5769
5705
  }
5770
5706
  });
5771
5707
  module2.exports = __toCommonJS2(subscribeToContextGroup_exports);
5772
- var import_useMedia = require_useMedia_native(), import_createShallowSetState = require_createShallowSetState_native(), subscribeToContextGroup = function(param) {
5708
+ var import_useMedia = require_useMedia_native(), import_useCreateShallowSetState = require_useCreateShallowSetState_native(), subscribeToContextGroup = function(param) {
5773
5709
  var { setStateShallow, pseudoGroups, mediaGroups, componentContext, state } = param;
5774
5710
  if (pseudoGroups || mediaGroups) {
5775
5711
  var _componentContext_groups_subscribe, _componentContext_groups;
@@ -5780,7 +5716,7 @@ var require_subscribeToContextGroup_native = __commonJS({
5780
5716
  };
5781
5717
  if (pseudo && pseudoGroups != null && pseudoGroups.has(String(name))) Object.assign(current.pseudo, pseudo), persist();
5782
5718
  else if (layout && mediaGroups) {
5783
- var mediaState2 = (0, import_useMedia.getMediaState)(mediaGroups, layout), next = (0, import_createShallowSetState.mergeIfNotShallowEqual)(current.media, mediaState2);
5719
+ var mediaState2 = (0, import_useMedia.getMediaState)(mediaGroups, layout), next = (0, import_useCreateShallowSetState.mergeIfNotShallowEqual)(current.media || {}, mediaState2);
5784
5720
  next !== current.media && (Object.assign(current.media, next), persist());
5785
5721
  }
5786
5722
  function persist() {
@@ -6574,6 +6510,62 @@ var require_wrapStyleTags_native = __commonJS({
6574
6510
  }
6575
6511
  });
6576
6512
 
6513
+ // ../use-did-finish-ssr/dist/cjs/ClientOnly.native.js
6514
+ var require_ClientOnly_native = __commonJS({
6515
+ "../use-did-finish-ssr/dist/cjs/ClientOnly.native.js"(exports2, module2) {
6516
+ "use strict";
6517
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
6518
+ for (var name in all) __defProp2(target, name, {
6519
+ get: all[name],
6520
+ enumerable: !0
6521
+ });
6522
+ }, __copyProps2 = function(to, from, except, desc) {
6523
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
6524
+ if (from && typeof from == "object" || typeof from == "function") try {
6525
+ for (var _loop = function() {
6526
+ var key = _step.value;
6527
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, {
6528
+ get: function() {
6529
+ return from[key];
6530
+ },
6531
+ enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
6532
+ });
6533
+ }, _iterator = __getOwnPropNames2(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
6534
+ } catch (err) {
6535
+ _didIteratorError = !0, _iteratorError = err;
6536
+ } finally {
6537
+ try {
6538
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
6539
+ } finally {
6540
+ if (_didIteratorError)
6541
+ throw _iteratorError;
6542
+ }
6543
+ }
6544
+ return to;
6545
+ }, __toCommonJS2 = function(mod) {
6546
+ return __copyProps2(__defProp2({}, "__esModule", {
6547
+ value: !0
6548
+ }), mod);
6549
+ }, ClientOnly_exports = {};
6550
+ __export2(ClientOnly_exports, {
6551
+ ClientOnly: function() {
6552
+ return ClientOnly2;
6553
+ },
6554
+ ClientOnlyContext: function() {
6555
+ return ClientOnlyContext2;
6556
+ }
6557
+ });
6558
+ module2.exports = __toCommonJS2(ClientOnly_exports);
6559
+ var import_jsx_runtime = require("react/jsx-runtime"), import_react3 = require("react"), ClientOnlyContext2 = /* @__PURE__ */ (0, import_react3.createContext)(!1), ClientOnly2 = function(param) {
6560
+ var { children } = param;
6561
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ClientOnlyContext2.Provider, {
6562
+ value: !0,
6563
+ children
6564
+ });
6565
+ };
6566
+ }
6567
+ });
6568
+
6577
6569
  // ../use-did-finish-ssr/dist/cjs/index.native.js
6578
6570
  var require_index_native6 = __commonJS({
6579
6571
  "../use-did-finish-ssr/dist/cjs/index.native.js"(exports2, module2) {
@@ -6624,16 +6616,28 @@ var require_index_native6 = __commonJS({
6624
6616
  }), mod);
6625
6617
  }, index_exports2 = {};
6626
6618
  __export2(index_exports2, {
6619
+ ClientOnly: function() {
6620
+ return import_ClientOnly2.ClientOnly;
6621
+ },
6622
+ ClientOnlyContext: function() {
6623
+ return import_ClientOnly2.ClientOnlyContext;
6624
+ },
6627
6625
  useClientValue: function() {
6628
6626
  return useClientValue;
6629
6627
  },
6630
6628
  useDidFinishSSR: function() {
6631
6629
  return useDidFinishSSR;
6630
+ },
6631
+ useIsClientOnly: function() {
6632
+ return useIsClientOnly;
6632
6633
  }
6633
6634
  });
6634
6635
  module2.exports = __toCommonJS2(index_exports2);
6635
- var React3 = __toESM2(require("react"));
6636
+ var React3 = __toESM2(require("react")), import_ClientOnly = require_ClientOnly_native(), import_ClientOnly2 = require_ClientOnly_native(), useIsClientOnly = function() {
6637
+ return React3.useContext(import_ClientOnly.ClientOnlyContext);
6638
+ };
6636
6639
  function useDidFinishSSR(value) {
6640
+ var clientOnly = React3.useContext(import_ClientOnly.ClientOnlyContext);
6637
6641
  return value ?? !0;
6638
6642
  }
6639
6643
  function useClientValue(value) {
@@ -6686,10 +6690,12 @@ var require_useComponentState_native = __commonJS({
6686
6690
  }
6687
6691
  });
6688
6692
  module2.exports = __toCommonJS2(useComponentState_exports);
6689
- var import_constants2 = require_index_native2(), import_use_did_finish_ssr = require_index_native6(), import_react3 = require("react"), import_defaultComponentState = require_defaultComponentState_native(), import_createShallowSetState = require_createShallowSetState_native(), import_isObj = require_isObj_native(), import_log = require_log_native(), useComponentState = function(props, param, staticConfig, config) {
6690
- var { animationDriver } = param, _animationDriver_usePresence, isHydrated = (0, import_use_did_finish_ssr.useDidFinishSSR)(), [startedUnhydrated] = (0, import_react3.useState)(import_constants2.IS_REACT_19 ? !isHydrated : !1), useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, stateRef = (0, import_react3.useRef)(void 0);
6693
+ var import_constants2 = require_index_native2(), import_use_did_finish_ssr = require_index_native6(), import_react3 = require("react"), import_defaultComponentState = require_defaultComponentState_native(), import_isObj = require_isObj_native(), import_log = require_log_native(), import_useCreateShallowSetState = require_useCreateShallowSetState_native(), useComponentState = function(props, param, staticConfig, config) {
6694
+ var { animationDriver } = param, _animationDriver_usePresence, isHydrated = (0, import_use_did_finish_ssr.useDidFinishSSR)(), needsHydration = !(0, import_use_did_finish_ssr.useIsClientOnly)(), [startedUnhydrated] = (0, import_react3.useState)(import_constants2.IS_REACT_19 ? !isHydrated : !1), useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, stateRef = (0, import_react3.useRef)(void 0);
6691
6695
  stateRef.current || (stateRef.current = {});
6692
- var hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSSVars = animationDriver == null ? void 0 : animationDriver.supportsCSSVars, curStateRef = stateRef.current, willBeAnimatedClient = function() {
6696
+ var hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSSVars = animationDriver == null ? void 0 : animationDriver.supportsCSSVars, curStateRef = stateRef.current;
6697
+ !needsHydration && hasAnimationProp && (curStateRef.hasAnimated = !0);
6698
+ var willBeAnimatedClient = function() {
6693
6699
  var next = !!(hasAnimationProp && !staticConfig.isHOC && useAnimations);
6694
6700
  return !!(next || curStateRef.hasAnimated);
6695
6701
  }(), willBeAnimated = !import_constants2.isServer && willBeAnimatedClient;
@@ -6709,23 +6715,19 @@ var require_useComponentState_native = __commonJS({
6709
6715
  ...states[0],
6710
6716
  [props.forceStyle]: !0
6711
6717
  } : states[0], setState = states[1], isAnimated = willBeAnimated;
6712
- import_constants2.isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (disabled && Object.assign(state, import_defaultComponentState.defaultComponentStateMounted), state.disabled = disabled, setState({
6713
- ...state
6718
+ import_constants2.isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (disabled && Object.assign(state, import_defaultComponentState.defaultComponentStateMounted), state.disabled = disabled, setState(function(_) {
6719
+ return {
6720
+ ...state
6721
+ };
6714
6722
  }));
6715
- var groupName = props.group, setStateShallow = (0, import_createShallowSetState.createShallowSetState)(
6716
- setState,
6717
- void 0,
6718
- // note: allows all state updates even when disabled for the enterStyle animation to work
6719
- !1,
6720
- props.debug
6721
- );
6723
+ var groupName = props.group, setStateShallow = (0, import_useCreateShallowSetState.useCreateShallowSetState)(setState, props.debug);
6722
6724
  if (presenceState && isAnimated && isHydrated && staticConfig.variants) {
6723
6725
  var { enterVariant, exitVariant, enterExitVariant, custom } = presenceState;
6724
6726
  (0, import_isObj.isObj)(custom) && Object.assign(props, custom);
6725
6727
  var exv = exitVariant ?? enterExitVariant, env = enterVariant ?? enterExitVariant;
6726
6728
  state.unmounted && env && staticConfig.variants[env] ? props[env] = !0 : isExiting && exv && (props[exv] = exitVariant !== enterExitVariant);
6727
6729
  }
6728
- var noClass = !import_constants2.isWeb || !!props.forceStyle;
6730
+ var noClass = !import_constants2.isWeb || !!props.forceStyle || isAnimated && (animationDriver == null ? void 0 : animationDriver.needsWebStyles);
6729
6731
  if (import_constants2.isWeb && (!import_constants2.isServer || isHydrated)) {
6730
6732
  var isAnimatedAndHydrated = isAnimated && !supportsCSSVars, isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted), isDisabledManually = disableClassName && !state.unmounted;
6731
6733
  (isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (noClass = !0);
@@ -6750,6 +6752,26 @@ var require_useComponentState_native = __commonJS({
6750
6752
  }
6751
6753
  };
6752
6754
  }
6755
+ if (!curStateRef.stateEmitter && hasAnimationProp) {
6756
+ var listeners1 = /* @__PURE__ */ new Set();
6757
+ curStateRef.stateEmitter = {
6758
+ listeners: listeners1,
6759
+ emit(state2) {
6760
+ listeners1.forEach(function(l) {
6761
+ return l(state2);
6762
+ });
6763
+ },
6764
+ subscribe(cb) {
6765
+ return listeners1.add(cb), setStateShallow({
6766
+ hasDynGroupChildren: !0
6767
+ }), function() {
6768
+ listeners1.delete(cb), listeners1.size === 0 && setStateShallow({
6769
+ hasDynGroupChildren: !1
6770
+ });
6771
+ };
6772
+ }
6773
+ };
6774
+ }
6753
6775
  return {
6754
6776
  startedUnhydrated,
6755
6777
  curStateRef,
@@ -6999,7 +7021,7 @@ var require_createComponent_native = __commonJS({
6999
7021
  }
7000
7022
  });
7001
7023
  module2.exports = __toCommonJS2(createComponent_exports);
7002
- var import_jsx_runtime = require("react/jsx-runtime"), import_compose_refs = require_index_native4(), import_constants2 = require_index_native2(), import_helpers2 = require_index_native3(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_constants22 = require_constants_native2(), import_isDevTools = require_isDevTools_native(), import_ComponentContext = require_ComponentContext_native(), import_createVariable = require_createVariable_native(), import_defaultComponentState = require_defaultComponentState_native(), import_consoleLog = require_consoleLog_native(), import_getShorthandValue = require_getShorthandValue_native(), import_getSplitStyles = require_getSplitStyles_native(), import_log = require_log_native(), import_mergeProps = require_mergeProps_native(), import_setElementProps = require_setElementProps_native(), import_subscribeToContextGroup = require_subscribeToContextGroup_native(), import_themeable = require_themeable_native(), import_wrapStyleTags = require_wrapStyleTags_native(), import_useComponentState = require_useComponentState_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(), componentSetStates = /* @__PURE__ */ new Set();
7024
+ var import_jsx_runtime = require("react/jsx-runtime"), import_compose_refs = require_index_native4(), import_constants2 = require_index_native2(), import_helpers2 = require_index_native3(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_constants22 = require_constants_native2(), import_isDevTools = require_isDevTools_native(), import_ComponentContext = require_ComponentContext_native(), import_createVariable = require_createVariable_native(), import_defaultComponentState = require_defaultComponentState_native(), import_getShorthandValue = require_getShorthandValue_native(), import_getSplitStyles = require_getSplitStyles_native(), import_log = require_log_native(), import_mergeProps = require_mergeProps_native(), import_setElementProps = require_setElementProps_native(), import_subscribeToContextGroup = require_subscribeToContextGroup_native(), import_themeable = require_themeable_native(), import_wrapStyleTags = require_wrapStyleTags_native(), import_useComponentState = require_useComponentState_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(), componentSetStates = /* @__PURE__ */ new Set();
7003
7025
  typeof document < "u" && (cancelTouches = function() {
7004
7026
  componentSetStates.forEach(function(setState) {
7005
7027
  return setState(function(prev) {
@@ -7063,8 +7085,12 @@ var require_createComponent_native = __commonJS({
7063
7085
  ...styledContextProps
7064
7086
  } : defaultProps, props = propsIn;
7065
7087
  curDefaultProps && (props = (0, import_mergeProps.mergeProps)(curDefaultProps, propsIn));
7066
- var componentName2 = props.componentName || staticConfig.componentName, animationDriver = componentContext.animationDriver, useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, { curStateRef, disabled, groupName, hasAnimationProp, hasEnterStyle, isAnimated, isExiting, isHydrated, presence, presenceState, setState, setStateShallow, noClass, state, stateRef, supportsCSSVars, willBeAnimated, willBeAnimatedClient, startedUnhydrated } = (0, import_useComponentState.useComponentState)(props, componentContext, staticConfig, config), hasTextAncestor = !!(import_constants2.isWeb && isText && componentContext.inText), isTaggable = !Component || typeof Component == "string", tagProp = props.tag, element = import_constants2.isWeb && isTaggable && tagProp || Component, BaseTextComponent = BaseText || element || "span", BaseViewComponent = BaseView || element || (hasTextAncestor ? "span" : "div"), elementType = isText ? BaseTextComponent : BaseViewComponent;
7067
- animationDriver && isAnimated && (elementType = animationDriver[isText ? "Text" : "View"] || elementType);
7088
+ var componentName2 = props.componentName || staticConfig.componentName, animationDriver = componentContext.animationDriver, useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, componentState = (0, import_useComponentState.useComponentState)(props, componentContext, staticConfig, config), { curStateRef, disabled, groupName, hasAnimationProp, hasEnterStyle, isAnimated, isExiting, isHydrated, presence, presenceState, setState, noClass, state, stateRef, supportsCSSVars, willBeAnimated, willBeAnimatedClient, startedUnhydrated } = componentState, setStateShallow = componentState.setStateShallow, hasTextAncestor = !!(import_constants2.isWeb && isText && componentContext.inText), isTaggable = !Component || typeof Component == "string", tagProp = props.tag, element = import_constants2.isWeb && isTaggable && tagProp || Component, BaseTextComponent = BaseText || element || "span", BaseViewComponent = BaseView || element || (hasTextAncestor ? "span" : "div"), elementType = isText ? BaseTextComponent : BaseViewComponent;
7089
+ animationDriver && isAnimated && // this should really be behind another prop as it's not really related to
7090
+ // "needsWebStyles" basically with motion we just animate a plain div, but
7091
+ // we still have animated.View/Text for Sheet which wants to control
7092
+ // things declaratively
7093
+ !animationDriver.needsWebStyles && (elementType = animationDriver[isText ? "Text" : "View"] || elementType);
7068
7094
  var disableThemeProp = !1, disableTheme = disableThemeProp || isHOC;
7069
7095
  props.themeShallow && (curStateRef.themeShallow = !0);
7070
7096
  var themeStateProps = {
@@ -7093,8 +7119,28 @@ var require_createComponent_native = __commonJS({
7093
7119
  isExiting,
7094
7120
  isAnimated,
7095
7121
  willBeAnimated,
7096
- styledContextProps
7122
+ styledContextProps,
7123
+ noMergeStyle: isAnimated && (animationDriver == null ? void 0 : animationDriver.needsWebStyles)
7097
7124
  }, themeName = (themeState == null ? void 0 : themeState.name) || "", splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, elementType, startedUnhydrated, debugProp);
7125
+ if (hasAnimationProp && animationDriver != null && animationDriver.avoidReRenders) {
7126
+ var styleListener = stateRef.current.useStyleListener, ogSetStateShallow = setStateShallow;
7127
+ setStateShallow = function(next) {
7128
+ var avoidReRenderKeys = /* @__PURE__ */ new Set([
7129
+ "hover",
7130
+ "press",
7131
+ "pressIn"
7132
+ ]), canAvoidReRender = Object.keys(next).every(function(key3) {
7133
+ return avoidReRenderKeys.has(key3);
7134
+ });
7135
+ if (canAvoidReRender) {
7136
+ var updatedState = {
7137
+ ...state,
7138
+ ...next
7139
+ }, nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, styleProps, null, componentContext, elementType, startedUnhydrated, debugProp);
7140
+ styleListener(nextStyles.style);
7141
+ } else ogSetStateShallow(next);
7142
+ };
7143
+ }
7098
7144
  if (props.group && props.untilMeasured === "hide" && !curStateRef.hasMeasured) {
7099
7145
  var _splitStyles;
7100
7146
  (_splitStyles = splitStyles).style || (_splitStyles.style = {}), splitStyles.style.opacity = 0;
@@ -7133,10 +7179,15 @@ var require_createComponent_native = __commonJS({
7133
7179
  (supportsCSSVars ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
7134
7180
  );
7135
7181
  if (shouldUseAnimation) {
7136
- var animations = useAnimations({
7182
+ var useStyleEmitter = animationDriver != null && animationDriver.avoidReRenders ? function(listener) {
7183
+ stateRef.current.useStyleListener = listener;
7184
+ } : void 0, animations = useAnimations({
7137
7185
  props: propsWithAnimation,
7138
7186
  // if hydrating, send empty style
7139
7187
  style: splitStylesStyle || {},
7188
+ // @ts-ignore
7189
+ styleState: splitStyles,
7190
+ useStyleEmitter,
7140
7191
  presence,
7141
7192
  componentState: state,
7142
7193
  styleProps,
@@ -7145,7 +7196,7 @@ var require_createComponent_native = __commonJS({
7145
7196
  staticConfig,
7146
7197
  stateRef
7147
7198
  });
7148
- (isAnimated || supportsCSSVars) && animations && (animationStyles = animations.style, viewProps.style = animationStyles, animations.className && (viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`));
7199
+ animations && (animationStyles = animations.style, viewProps.style = animationStyles, animations.className && (viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`));
7149
7200
  }
7150
7201
  groupName && (nonTamaguiProps.onLayout = (0, import_helpers2.composeEventHandlers)(nonTamaguiProps.onLayout, function(e) {
7151
7202
  var layout = e.nativeEvent.layout;
@@ -8633,9 +8684,9 @@ var require_styled_native = __commonJS({
8633
8684
  });
8634
8685
  module2.exports = __toCommonJS2(styled_exports);
8635
8686
  var import_createComponent = require_createComponent_native(), import_mergeVariants = require_mergeVariants_native(), import_setupReactNative = require_setupReactNative_native();
8636
- function styled(ComponentIn, options, staticExtractionOptions) {
8687
+ function styled(ComponentIn, options, config) {
8637
8688
  if (!ComponentIn) throw new Error("No component given to styled()");
8638
- var parentStaticConfig = ComponentIn.staticConfig, isPlainStyledComponent = !!parentStaticConfig && !(parentStaticConfig.isReactNative || parentStaticConfig.isHOC), isNonStyledHOC = (parentStaticConfig == null ? void 0 : parentStaticConfig.isHOC) && !(parentStaticConfig != null && parentStaticConfig.isStyledHOC), Component = isNonStyledHOC || isPlainStyledComponent ? ComponentIn : (parentStaticConfig == null ? void 0 : parentStaticConfig.Component) || ComponentIn, reactNativeConfig = parentStaticConfig ? void 0 : (0, import_setupReactNative.getReactNativeConfig)(Component), isReactNative = !!(reactNativeConfig || staticExtractionOptions != null && staticExtractionOptions.isReactNative || parentStaticConfig != null && parentStaticConfig.isReactNative), staticConfigProps = function() {
8689
+ var parentStaticConfig = ComponentIn.staticConfig, isPlainStyledComponent = !!parentStaticConfig && !(parentStaticConfig.isReactNative || parentStaticConfig.isHOC), isNonStyledHOC = (parentStaticConfig == null ? void 0 : parentStaticConfig.isHOC) && !(parentStaticConfig != null && parentStaticConfig.isStyledHOC), Component = isNonStyledHOC || isPlainStyledComponent ? ComponentIn : (parentStaticConfig == null ? void 0 : parentStaticConfig.Component) || ComponentIn, reactNativeConfig = parentStaticConfig ? void 0 : (0, import_setupReactNative.getReactNativeConfig)(Component), isReactNative = !!(reactNativeConfig || config != null && config.isReactNative || parentStaticConfig != null && parentStaticConfig.isReactNative), staticConfigProps = function() {
8639
8690
  var { variants, name, defaultVariants, acceptsClassName: acceptsClassNameProp, context, ...defaultProps } = options || {}, parentDefaultVariants, parentDefaultProps;
8640
8691
  if (parentStaticConfig) {
8641
8692
  var avoid = parentStaticConfig.isHOC && !parentStaticConfig.isStyledHOC;
@@ -8654,9 +8705,9 @@ var require_styled_native = __commonJS({
8654
8705
  ...defaultProps,
8655
8706
  ...defaultVariants
8656
8707
  }), parentStaticConfig != null && parentStaticConfig.isHOC && name && (defaultProps.componentName = name);
8657
- var isText = !!(staticExtractionOptions != null && staticExtractionOptions.isText || parentStaticConfig != null && parentStaticConfig.isText), _staticExtractionOptions_acceptsClassName, _ref, acceptsClassName = (_ref = (_staticExtractionOptions_acceptsClassName = staticExtractionOptions == null ? void 0 : staticExtractionOptions.acceptsClassName) !== null && _staticExtractionOptions_acceptsClassName !== void 0 ? _staticExtractionOptions_acceptsClassName : acceptsClassNameProp) !== null && _ref !== void 0 ? _ref : isPlainStyledComponent || isReactNative || (parentStaticConfig == null ? void 0 : parentStaticConfig.isHOC) && (parentStaticConfig == null ? void 0 : parentStaticConfig.acceptsClassName), conf = {
8708
+ var isText = !!(config != null && config.isText || parentStaticConfig != null && parentStaticConfig.isText), _config_acceptsClassName, _ref, acceptsClassName = (_ref = (_config_acceptsClassName = config == null ? void 0 : config.acceptsClassName) !== null && _config_acceptsClassName !== void 0 ? _config_acceptsClassName : acceptsClassNameProp) !== null && _ref !== void 0 ? _ref : isPlainStyledComponent || isReactNative || (parentStaticConfig == null ? void 0 : parentStaticConfig.isHOC) && (parentStaticConfig == null ? void 0 : parentStaticConfig.acceptsClassName), conf = {
8658
8709
  ...parentStaticConfig,
8659
- ...staticExtractionOptions,
8710
+ ...config,
8660
8711
  ...!isPlainStyledComponent && {
8661
8712
  Component
8662
8713
  },
@@ -9699,13 +9750,13 @@ var require_TamaguiProvider_native = __commonJS({
9699
9750
  }
9700
9751
  });
9701
9752
  module2.exports = __toCommonJS2(TamaguiProvider_exports);
9702
- var import_jsx_runtime = require("react/jsx-runtime"), import_constants2 = require_index_native2(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), import_ThemeProvider = require_ThemeProvider_native(), import_useMedia = require_useMedia_native(), listeners = /* @__PURE__ */ new Set(), didRender = !1;
9753
+ var import_jsx_runtime = require("react/jsx-runtime"), import_constants2 = require_index_native2(), import_use_did_finish_ssr = require_index_native6(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), import_useMedia = require_useMedia_native(), import_ThemeProvider = require_ThemeProvider_native(), listeners = /* @__PURE__ */ new Set(), didRender = !1;
9703
9754
  function ___onDidFinishClientRender2(cb) {
9704
9755
  didRender ? cb() : listeners.add(cb);
9705
9756
  }
9706
9757
  function TamaguiProvider(param) {
9707
9758
  var { children, disableInjectCSS, config, className, defaultTheme, disableRootThemeClass, reset, themeClassNameOnRoot } = param;
9708
- return (0, import_react3.useEffect)(function() {
9759
+ (0, import_react3.useEffect)(function() {
9709
9760
  return listeners.forEach(function(cb) {
9710
9761
  return cb();
9711
9762
  }), didRender = !0, function() {
@@ -9723,21 +9774,25 @@ var require_TamaguiProvider_native = __commonJS({
9723
9774
  disableInjectCSS
9724
9775
  ]), (0, import_constants2.useIsomorphicLayoutEffect)(function() {
9725
9776
  (0, import_useMedia.updateMediaListeners)();
9726
- }, []), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
9777
+ }, []);
9778
+ var contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnmountedClassName, {
9779
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
9780
+ animationDriver: config == null ? void 0 : config.animations,
9781
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeProvider.ThemeProvider, {
9782
+ themeClassNameOnRoot: themeClassNameOnRoot ?? (0, import_config.getSetting)("themeClassNameOnRoot"),
9783
+ disableRootThemeClass: disableRootThemeClass ?? (0, import_config.getSetting)("disableRootThemeClass"),
9784
+ defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
9785
+ reset,
9786
+ className,
9787
+ children
9788
+ })
9789
+ })
9790
+ });
9791
+ return (0, import_config.getSetting)("disableSSR") && (contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_did_finish_ssr.ClientOnly, {
9792
+ children: contents
9793
+ })), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
9727
9794
  children: [
9728
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnmountedClassName, {
9729
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
9730
- animationDriver: config == null ? void 0 : config.animations,
9731
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeProvider.ThemeProvider, {
9732
- themeClassNameOnRoot: themeClassNameOnRoot ?? (0, import_config.getSetting)("themeClassNameOnRoot"),
9733
- disableRootThemeClass: disableRootThemeClass ?? (0, import_config.getSetting)("disableRootThemeClass"),
9734
- defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
9735
- reset,
9736
- className,
9737
- children
9738
- })
9739
- })
9740
- }),
9795
+ contents,
9741
9796
  !1
9742
9797
  ]
9743
9798
  });
@@ -9813,12 +9868,14 @@ var require_Configuration_native = __commonJS({
9813
9868
  }
9814
9869
  });
9815
9870
  module2.exports = __toCommonJS2(Configuration_exports);
9816
- var import_jsx_runtime = require("react/jsx-runtime"), import_react3 = __toESM2(require("react")), import_ComponentContext = require_ComponentContext_native(), Configuration = function(props) {
9817
- var current = import_react3.default.useContext(import_ComponentContext.ComponentContext);
9818
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
9871
+ var import_jsx_runtime = require("react/jsx-runtime"), import_use_did_finish_ssr = require_index_native6(), import_react3 = __toESM2(require("react")), import_ComponentContext = require_ComponentContext_native(), Configuration = function(props) {
9872
+ var current = import_react3.default.useContext(import_ComponentContext.ComponentContext), clientOnly = (0, import_react3.useContext)(import_use_did_finish_ssr.ClientOnlyContext), children = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
9819
9873
  ...current,
9820
9874
  ...props
9821
9875
  });
9876
+ return clientOnly ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_did_finish_ssr.ClientOnly, {
9877
+ children
9878
+ }) : children;
9822
9879
  };
9823
9880
  Configuration.displayName = "Configuration";
9824
9881
  }
@@ -10106,7 +10163,7 @@ var require_index_native8 = __commonJS({
10106
10163
  __reExport2(index_exports2, require_withStableStyle_native(), module2.exports);
10107
10164
  __reExport2(index_exports2, require_createMediaStyle_native(), module2.exports);
10108
10165
  __reExport2(index_exports2, require_getShorthandValue_native(), module2.exports);
10109
- __reExport2(index_exports2, require_createShallowSetState_native(), module2.exports);
10166
+ __reExport2(index_exports2, require_useCreateShallowSetState_native(), module2.exports);
10110
10167
  __reExport2(index_exports2, require_createStyledContext_native(), module2.exports);
10111
10168
  __reExport2(index_exports2, require_expandStyles_native(), module2.exports);
10112
10169
  __reExport2(index_exports2, require_getExpandedShorthands_native(), module2.exports);