tamagui 1.85.3 → 1.85.5

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 CHANGED
@@ -1366,7 +1366,7 @@ var require_insertStyleRule_native = __commonJS({
1366
1366
  theme: values
1367
1367
  };
1368
1368
  for (let selector of selectors) {
1369
- let scheme = selector.includes("t_dark") ? "dark" : selector.includes("t_light") ? "light" : "", name = selector.slice(selector.lastIndexOf(".t_") + 3);
1369
+ let di = selector.indexOf("t_dark"), li = selector.indexOf("t_light"), scheme = di && li ? di < li ? "dark" : "light" : "", name = selector.slice(selector.lastIndexOf(".t_") + 3);
1370
1370
  name.startsWith(scheme) && (name = name.slice(scheme.length + 1)), scheme === name && (scheme = "");
1371
1371
  let themeName = `${scheme}${scheme && name ? "_" : ""}${name}`;
1372
1372
  dedupedEntry.names.includes(themeName) || dedupedEntry.names.push(themeName);
@@ -1506,7 +1506,7 @@ var require_pseudoDescriptors_native = __commonJS({
1506
1506
  ...pseudoDescriptorsBase,
1507
1507
  enterStyle: {
1508
1508
  name: "enter",
1509
- stateKey: "unmounted",
1509
+ selector: ".t_unmounted",
1510
1510
  priority: 4
1511
1511
  },
1512
1512
  exitStyle: {
@@ -2009,11 +2009,11 @@ var require_createShallowSetState_native = __commonJS({
2009
2009
  mergeIfNotShallowEqual: () => mergeIfNotShallowEqual
2010
2010
  });
2011
2011
  module2.exports = __toCommonJS2(createShallowSetState_exports);
2012
- function createShallowSetState(setter) {
2013
- return (next) => setter((prev) => mergeIfNotShallowEqual(prev, next));
2012
+ function createShallowSetState(setter, debug) {
2013
+ return (next) => setter((prev) => mergeIfNotShallowEqual(prev, next, debug));
2014
2014
  }
2015
- function mergeIfNotShallowEqual(prev, next) {
2016
- return isEqualShallow(prev, next) ? prev : { ...prev, ...next };
2015
+ function mergeIfNotShallowEqual(prev, next, debug) {
2016
+ return isEqualShallow(prev, next) ? prev : (process.env.NODE_ENV === "development" && debug && console.warn("setStateShallow CHANGE", { prev, next }), { ...prev, ...next });
2017
2017
  }
2018
2018
  function isEqualShallow(prev, next) {
2019
2019
  for (let key in next)
@@ -3383,7 +3383,7 @@ var require_getSplitStyles_native = __commonJS({
3383
3383
  inlineWhenUnflattened,
3384
3384
  parentStaticConfig,
3385
3385
  acceptsClassName
3386
- } = staticConfig, viewProps = {}, mediaState3 = styleProps.mediaState || import_useMedia.mediaState, usedKeys = {}, shouldDoClasses = acceptsClassName && import_constants4.isWeb && !styleProps.noClassNames, rulesToInsert = [], classNames = {}, transforms = {}, pseudos = null, space = props.space, hasMedia = !1, dynamicThemeAccess, pseudoGroups, mediaGroups, style = {}, className = "", mediaStylesSeen = 0, styleState = {
3386
+ } = staticConfig, viewProps = {}, mediaState3 = styleProps.mediaState || import_useMedia.mediaState, usedKeys = {}, shouldDoClasses = acceptsClassName && import_constants4.isWeb && !styleProps.noClassNames, rulesToInsert = [], classNames = {}, transforms = {}, pseudos = null, space = props.space, hasMedia = !1, dynamicThemeAccess, pseudoGroups, mediaGroups, style = {}, className = props.className ?? "", mediaStylesSeen = 0, styleState = {
3387
3387
  curProps: { ...props },
3388
3388
  classNames,
3389
3389
  conf,
@@ -3527,20 +3527,15 @@ current`, {
3527
3527
  Object.assign(pseudos[key], pseudoStyleObject);
3528
3528
  continue;
3529
3529
  }
3530
- if (shouldDoClasses && !isEnter && !isExit) {
3530
+ if (shouldDoClasses && !isExit) {
3531
3531
  let pseudoStyles = (0, import_getStylesAtomic.generateAtomicStyles)(pseudoStyleObject, descriptor);
3532
3532
  process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed("pseudo (classes)", key), (0, import_log.log)({ pseudoStyleObject, pseudoStyles }), console.groupEnd());
3533
3533
  for (let psuedoStyle of pseudoStyles)
3534
3534
  `${psuedoStyle.property}${PROP_SPLIT}${descriptor.name}` in usedKeys || psuedoStyle.identifier;
3535
- } else {
3536
- let descriptorKey = descriptor.stateKey || descriptor.name, pseudoState = componentState[descriptorKey], isDisabled = isExit ? !styleProps.isExiting : !pseudoState;
3537
- import_constants4.isWeb && !import_constants4.isClient && isEnter && (isDisabled = !1), process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed("pseudo", key, { isDisabled }), (0, import_log.log)(pseudoStyleObject, {
3538
- isDisabled,
3539
- descriptorKey,
3540
- descriptor,
3541
- pseudoState,
3542
- state: { ...componentState }
3543
- }), console.groupEnd());
3535
+ }
3536
+ if (!shouldDoClasses || isExit || isEnter) {
3537
+ let descriptorKey = descriptor.stateKey || descriptor.name, isDisabled = componentState[descriptorKey] === !1;
3538
+ isExit && (isDisabled = !styleProps.isExiting), isEnter && (isDisabled = componentState.unmounted === "should-enter" ? !0 : !componentState.unmounted), process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed("pseudo", key, { isDisabled }), (0, import_log.log)({ pseudoStyleObject, isDisabled, descriptor, componentState }), console.groupEnd());
3544
3539
  let importance = descriptor.priority;
3545
3540
  for (let pkey in pseudoStyleObject) {
3546
3541
  let val2 = pseudoStyleObject[pkey];
@@ -3882,37 +3877,6 @@ var require_mergeProps_native = __commonJS({
3882
3877
  }
3883
3878
  });
3884
3879
 
3885
- // ../web/dist/cjs/helpers/proxyThemeVariables.native.js
3886
- var require_proxyThemeVariables_native = __commonJS({
3887
- "../web/dist/cjs/helpers/proxyThemeVariables.native.js"(exports2, module2) {
3888
- "use strict";
3889
- var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
3890
- for (var name in all)
3891
- __defProp2(target, name, { get: all[name], enumerable: !0 });
3892
- }, __copyProps2 = (to, from, except, desc) => {
3893
- if (from && typeof from == "object" || typeof from == "function")
3894
- for (let key of __getOwnPropNames2(from))
3895
- !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
3896
- return to;
3897
- }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), proxyThemeVariables_exports = {};
3898
- __export2(proxyThemeVariables_exports, {
3899
- proxyThemeVariables: () => proxyThemeVariables
3900
- });
3901
- module2.exports = __toCommonJS2(proxyThemeVariables_exports);
3902
- function proxyThemeVariables(obj) {
3903
- return new Proxy(obj || {}, {
3904
- has(target, key) {
3905
- return Reflect.has(target, removeStarting$(key));
3906
- },
3907
- get(target, key) {
3908
- return Reflect.get(target, removeStarting$(key));
3909
- }
3910
- });
3911
- }
3912
- var removeStarting$ = (str) => typeof str == "string" && str[0] === "$" ? str.slice(1) : str;
3913
- }
3914
- });
3915
-
3916
3880
  // ../web/dist/cjs/helpers/ThemeManagerContext.native.js
3917
3881
  var require_ThemeManagerContext_native = __commonJS({
3918
3882
  "../web/dist/cjs/helpers/ThemeManagerContext.native.js"(exports2, module2) {
@@ -3966,7 +3930,7 @@ var require_ThemeManager_native = __commonJS({
3966
3930
  if (!parentManager)
3967
3931
  throw process.env.NODE_ENV !== "production" ? new Error(
3968
3932
  "No parent manager given, this is likely due to duplicated Tamagui dependencies. Check your lockfile for mis-matched versions. It could also be from an error somewhere else in your stack causing Tamagui to recieve undefined context, you can try putting some ErrorBoundary components around other areas of your app, or a Suspense boundary."
3969
- ) : "\u274C 0";
3933
+ ) : "\u274C 000";
3970
3934
  if (this.parentManager = parentManager, !this.updateStateFromProps(props, !1))
3971
3935
  return parentManager;
3972
3936
  }
@@ -4025,7 +3989,6 @@ var require_ThemeManager_native = __commonJS({
4025
3989
  let nextName = props.reset ? baseName : props.name || "", allComponentThemes = componentManagers.map((x) => (x == null ? void 0 : x.state.name) || "");
4026
3990
  isDirectParentAComponentTheme && allComponentThemes.shift();
4027
3991
  let base = baseName.split(import_constants22.THEME_NAME_SEPARATOR), max2 = base.length, min2 = props.componentName && !nextName ? max2 : 0;
4028
- process.env.NODE_ENV !== "production" && props.debug && typeof window < "u" && (console.groupCollapsed("ThemeManager.getState()"), console.info({ props, baseName, base, min: min2, max: max2 }));
4029
3992
  for (let i = max2; i >= min2; i--) {
4030
3993
  let prefix = base.slice(0, i).join(import_constants22.THEME_NAME_SEPARATOR);
4031
3994
  props.inverse && (prefix = inverseThemeName(prefix));
@@ -4075,7 +4038,7 @@ var require_ThemeManager_native = __commonJS({
4075
4038
  break;
4076
4039
  }
4077
4040
  }
4078
- return process.env.NODE_ENV !== "production" && typeof props.debug == "string" && typeof window < "u" && (console.warn("ThemeManager.getState():", { result }), console.trace(), console.groupEnd()), result;
4041
+ return process.env.NODE_ENV !== "production" && props.debug === "verbose" && typeof window < "u" && (console.groupCollapsed("ThemeManager.getState()"), console.info({ props, baseName, base, min: min2, max: max2 }), console.warn("result", { result }), console.trace(), console.groupEnd()), result;
4079
4042
  }
4080
4043
  var inverseThemeName = (themeName) => themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
4081
4044
  function getManagers(themeManager) {
@@ -4127,7 +4090,7 @@ var require_useTheme_native = __commonJS({
4127
4090
  import_constants4.isServer ? void 0 : () => {
4128
4091
  var _a, _b;
4129
4092
  let next = ((_a = props.shouldUpdate) == null ? void 0 : _a.call(props)) ?? (keys.current.length > 0 ? !0 : void 0);
4130
- return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info(" \u{1F3A8} useTheme() shouldUpdate?", next, {
4093
+ return process.env.NODE_ENV === "development" && typeof props.debug == "string" && props.debug !== "profile" && console.info(" \u{1F3A8} useTheme() shouldUpdate?", next, {
4131
4094
  shouldUpdateProp: (_b = props.shouldUpdate) == null ? void 0 : _b.call(props),
4132
4095
  keys: [...keys.current]
4133
4096
  }), next;
@@ -4421,7 +4384,7 @@ var require_Theme_native = __commonJS({
4421
4384
  let { themeManager, isNewTheme } = themeState;
4422
4385
  if (!themeManager)
4423
4386
  throw new Error(
4424
- process.env.NODE_ENV === "development" ? "\u274C No theme found, either incorrect name, potential duplicate tamagui deps, or TamaguiProvider not providing themes." : "\u274C"
4387
+ process.env.NODE_ENV === "development" ? "\u274C No theme found, either incorrect name, potential duplicate tamagui deps, or TamaguiProvider not providing themes." : "\u274C 005"
4425
4388
  );
4426
4389
  let { shallow, forceClassName } = props, hasEverThemed = (0, import_react2.useRef)(!1), shouldRenderChildrenWithTheme = isNewTheme || props.inverse || hasEverThemed.current || forceClassName || isRoot;
4427
4390
  if (shouldRenderChildrenWithTheme && (hasEverThemed.current = !0), !shouldRenderChildrenWithTheme)
@@ -4619,7 +4582,7 @@ var require_createComponent_native = __commonJS({
4619
4582
  spacedChildren: () => spacedChildren2
4620
4583
  });
4621
4584
  module2.exports = __toCommonJS2(createComponent_exports);
4622
- var import_compose_refs = require_index_native10(), import_constants4 = require_index_native(), import_helpers = require_index_native7(), import_use_did_finish_ssr = require_index_native2(), import_react2 = __toESM2(require("react")), import_config = require_config_native(), import_constants22 = require_constants_native2(), 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_log = require_log_native(), import_mergeProps = require_mergeProps_native(), import_proxyThemeVariables = require_proxyThemeVariables_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_jsx_runtime6 = require("react/jsx-runtime"), tamaguiConfig, initialTheme, time, debugKeyListeners, startVisualizer, mouseUps = /* @__PURE__ */ new Set();
4585
+ var import_compose_refs = require_index_native10(), import_constants4 = require_index_native(), import_helpers = require_index_native7(), import_use_did_finish_ssr = require_index_native2(), import_react2 = __toESM2(require("react")), import_config = require_config_native(), import_constants22 = require_constants_native2(), 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_log = require_log_native(), import_mergeProps = require_mergeProps_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_jsx_runtime6 = require("react/jsx-runtime"), tamaguiConfig, time, debugKeyListeners, startVisualizer, mouseUps = /* @__PURE__ */ new Set();
4623
4586
  if (typeof document < "u") {
4624
4587
  let cancelTouches = () => {
4625
4588
  mouseUps.forEach((x) => x()), mouseUps.clear();
@@ -4649,17 +4612,13 @@ var require_createComponent_native = __commonJS({
4649
4612
  var BaseText, BaseView, hasSetupBaseViews = !1;
4650
4613
  function createComponent2(staticConfig) {
4651
4614
  var _a;
4652
- let config = null, defaultProps = staticConfig.defaultProps;
4615
+ let { componentName } = staticConfig, config = null, defaultProps = staticConfig.defaultProps;
4653
4616
  (0, import_config.onConfiguredOnce)((conf) => {
4654
4617
  var _a2;
4655
- if (config = conf, staticConfig.componentName) {
4656
- let defaultForComponent = (_a2 = conf.defaultProps) == null ? void 0 : _a2[staticConfig.componentName];
4618
+ if (config = conf, componentName) {
4619
+ let defaultForComponent = (_a2 = conf.defaultProps) == null ? void 0 : _a2[componentName];
4657
4620
  defaultForComponent && (defaultProps = { ...defaultForComponent, ...defaultProps });
4658
4621
  }
4659
- if (!tamaguiConfig && (tamaguiConfig = conf, !initialTheme)) {
4660
- let next = conf.themes[Object.keys(conf.themes)[0]];
4661
- initialTheme = (0, import_proxyThemeVariables.proxyThemeVariables)(next), process.env.NODE_ENV === "development" && (initialTheme || (0, import_log.log)("Warning: Missing theme"));
4662
- }
4663
4622
  });
4664
4623
  let {
4665
4624
  Component,
@@ -4668,14 +4627,14 @@ var require_createComponent_native = __commonJS({
4668
4627
  isHOC,
4669
4628
  validStyles: validStyles2 = {},
4670
4629
  variants = {}
4671
- } = staticConfig, defaultComponentClassName = `is_${staticConfig.componentName}`;
4672
- process.env.NODE_ENV === "development" && (_a = staticConfig.defaultProps) != null && _a.debug && process.env.IS_STATIC !== "is_static" && (0, import_log.log)(`\u{1F41B} [${staticConfig.componentName || "Component"}]`, {
4630
+ } = staticConfig;
4631
+ process.env.NODE_ENV === "development" && (_a = staticConfig.defaultProps) != null && _a.debug && process.env.IS_STATIC !== "is_static" && (0, import_log.log)(`\u{1F41B} [${componentName || "Component"}]`, {
4673
4632
  staticConfig,
4674
4633
  defaultProps,
4675
4634
  defaultPropsKeyOrder: defaultProps ? Object.keys(defaultProps) : []
4676
4635
  });
4677
4636
  let component = (0, import_react2.forwardRef)((propsIn, forwardedRef) => {
4678
- var _a2, _b, _c, _d, _e, _f, _i, _j, _k, _l, _m, _n;
4637
+ var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
4679
4638
  let internalID = process.env.NODE_ENV === "development" ? (0, import_react2.useId)() : "";
4680
4639
  if (process.env.NODE_ENV === "development" && startVisualizer && (startVisualizer(), startVisualizer = void 0), !hasSetupBaseViews) {
4681
4640
  hasSetupBaseViews = !0;
@@ -4697,7 +4656,7 @@ var require_createComponent_native = __commonJS({
4697
4656
  }
4698
4657
  let curDefaultProps = styledContextProps ? { ...defaultProps, ...styledContextProps } : defaultProps, props = propsIn;
4699
4658
  curDefaultProps && (props = (0, import_mergeProps.mergeProps)(curDefaultProps, propsIn));
4700
- let debugProp = props.debug, componentName = props.componentName || staticConfig.componentName;
4659
+ let debugProp = props.debug, componentName2 = props.componentName || staticConfig.componentName;
4701
4660
  process.env.NODE_ENV === "development" && import_constants4.isClient && (0, import_react2.useEffect)(() => {
4702
4661
  let overlay = null, debugVisualizerHandler = (show = !1) => {
4703
4662
  let node = hostRef.current;
@@ -4705,31 +4664,31 @@ var require_createComponent_native = __commonJS({
4705
4664
  if (show) {
4706
4665
  overlay = document.createElement("span"), overlay.style.inset = "0px", overlay.style.zIndex = "1000000", overlay.style.position = "absolute", overlay.style.borderColor = "red", overlay.style.borderWidth = "1px", overlay.style.borderStyle = "dotted";
4707
4666
  let dataAt = node.getAttribute("data-at") || "", dataIn = node.getAttribute("data-in") || "", tooltip = document.createElement("span");
4708
- tooltip.style.position = "absolute", tooltip.style.top = "0px", tooltip.style.left = "0px", tooltip.style.padding = "3px", tooltip.style.background = "rgba(0,0,0,0.75)", tooltip.style.color = "rgba(255,255,255,1)", tooltip.style.fontSize = "12px", tooltip.style.lineHeight = "12px", tooltip.style.fontFamily = "monospace", tooltip.style.webkitFontSmoothing = "none", tooltip.innerText = `${componentName || ""} ${dataAt} ${dataIn}`.trim(), overlay.appendChild(tooltip), node.appendChild(overlay);
4667
+ tooltip.style.position = "absolute", tooltip.style.top = "0px", tooltip.style.left = "0px", tooltip.style.padding = "3px", tooltip.style.background = "rgba(0,0,0,0.75)", tooltip.style.color = "rgba(255,255,255,1)", tooltip.style.fontSize = "12px", tooltip.style.lineHeight = "12px", tooltip.style.fontFamily = "monospace", tooltip.style.webkitFontSmoothing = "none", tooltip.innerText = `${componentName2 || ""} ${dataAt} ${dataIn}`.trim(), overlay.appendChild(tooltip), node.appendChild(overlay);
4709
4668
  } else
4710
4669
  overlay && node.removeChild(overlay);
4711
4670
  };
4712
4671
  return debugKeyListeners ||= /* @__PURE__ */ new Set(), debugKeyListeners.add(debugVisualizerHandler), () => {
4713
4672
  debugKeyListeners == null || debugKeyListeners.delete(debugVisualizerHandler);
4714
4673
  };
4715
- }, [componentName]), process.env.NODE_ENV === "development" && time && time`start (ignore)`;
4716
- let isHydrated = config != null && config.disableSSR ? !0 : (0, import_use_did_finish_ssr.useDidFinishSSR)();
4717
- process.env.NODE_ENV === "development" && time && time`did-finish-ssr`;
4674
+ }, [componentName2]), process.env.NODE_ENV === "development" && time && time`start (ignore)`, process.env.NODE_ENV === "development" && time && time`did-finish-ssr`;
4718
4675
  let stateRef = (0, import_react2.useRef)(
4719
4676
  {}
4720
4677
  );
4721
4678
  process.env.NODE_ENV === "development" && time && time`stateref`;
4722
- let hostRef = (0, import_react2.useRef)(null), animationsConfig = componentContext.animationDriver, useAnimations = animationsConfig == null ? void 0 : animationsConfig.useAnimations, hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSSVars = animationsConfig == null ? void 0 : animationsConfig.supportsCSSVars, willBeAnimated = (() => {
4723
- if (import_constants4.isServer && !supportsCSSVars)
4724
- return !1;
4725
- let curState = stateRef.current;
4726
- return !!(hasAnimationProp && !isHOC && useAnimations || curState.hasAnimated);
4727
- })(), usePresence = animationsConfig == null ? void 0 : animationsConfig.usePresence, presence = willBeAnimated && (usePresence == null ? void 0 : usePresence()) || null, hasEnterStyle = !!props.enterStyle, needsMount = !!((!import_constants4.isWeb || import_constants4.isClient) && willBeAnimated);
4728
- process.env.NODE_ENV === "development" && time && time`pre-use-state`;
4729
- let initialState = willBeAnimated ? supportsCSSVars ? import_defaultComponentState.defaultComponentStateShouldEnter : import_defaultComponentState.defaultComponentState : import_defaultComponentState.defaultComponentStateMounted, states = (0, import_react2.useState)(initialState), state = propsIn.forceStyle ? { ...states[0], [propsIn.forceStyle]: !0 } : states[0], setState = states[1], setStateShallow = (0, import_createShallowSetState.createShallowSetState)(setState), groupName = props.group, groupClassName = groupName ? `t_group_${props.group}` : "";
4730
- if (groupName && !stateRef.current.group) {
4679
+ let hostRef = (0, import_react2.useRef)(null), animationsConfig = componentContext.animationDriver, useAnimations = animationsConfig == null ? void 0 : animationsConfig.useAnimations, hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSSVars = animationsConfig == null ? void 0 : animationsConfig.supportsCSSVars, curState = stateRef.current, willBeAnimatedClient = !!(hasAnimationProp && !isHOC && useAnimations || curState.hasAnimated), willBeAnimated = !import_constants4.isServer && willBeAnimatedClient;
4680
+ willBeAnimated && !curState.hasAnimated && (curState.hasAnimated = !0);
4681
+ let isHydrated = config != null && config.disableSSR ? !0 : (0, import_use_did_finish_ssr.useDidFinishSSR)(), presence = willBeAnimated && ((_c = animationsConfig == null ? void 0 : animationsConfig.usePresence) == null ? void 0 : _c.call(animationsConfig)) || null, presenceState = presence == null ? void 0 : presence[2], enterExitVariant = presenceState == null ? void 0 : presenceState.enterExitVariant, enterVariant = enterExitVariant ?? (presenceState == null ? void 0 : presenceState.enterVariant), hasEnterStyle = !!props.enterStyle, hasRNAnimation = hasAnimationProp && (animationsConfig == null ? void 0 : animationsConfig.isReactNative), isReactNative = staticConfig.isReactNative, isAnimated = willBeAnimated;
4682
+ !isReactNative && hasRNAnimation && !isHOC && !isHydrated && (isAnimated = !1, curState.willHydrate = !0), process.env.NODE_ENV === "development" && time && time`pre-use-state`;
4683
+ let initialState = hasEnterStyle || enterVariant ? isHydrated ? import_defaultComponentState.defaultComponentState : import_defaultComponentState.defaultComponentStateShouldEnter : import_defaultComponentState.defaultComponentStateMounted, states = (0, import_react2.useState)(initialState), state = props.forceStyle ? { ...states[0], [props.forceStyle]: !0 } : states[0], setState = states[1], setStateShallow = (0, import_createShallowSetState.createShallowSetState)(setState, debugProp);
4684
+ if (isHydrated && state.unmounted === "should-enter" && (state.unmounted = !0), presenceState && isAnimated && isHydrated) {
4685
+ let isExiting2 = !presenceState.isPresent, exitVariant = enterExitVariant ?? presenceState.exitVariant;
4686
+ state.unmounted && enterVariant ? (process.env.NODE_ENV === "development" && debugProp === "verbose" && console.warn(`Animating presence ENTER "${enterVariant}"`), props[enterVariant] = !0) : isExiting2 && exitVariant && (process.env.NODE_ENV === "development" && debugProp === "verbose" && console.warn(`Animating presence EXIT "${enterVariant}"`), props[exitVariant] = !enterExitVariant);
4687
+ }
4688
+ let shouldAvoidClasses = !!(!import_constants4.isWeb || isAnimated && !supportsCSSVars || !staticConfig.acceptsClassName || propsIn.disableClassName), shouldForcePseudo = !!propsIn.forceStyle, noClassNames = shouldAvoidClasses || shouldForcePseudo, groupName = props.group, groupClassName = groupName ? `t_group_${props.group}` : "";
4689
+ if (groupName && !curState.group) {
4731
4690
  let listeners = /* @__PURE__ */ new Set();
4732
- stateRef.current.group = {
4691
+ curState.group = {
4733
4692
  listeners,
4734
4693
  emit(name, state2) {
4735
4694
  listeners.forEach((l) => l(name, state2));
@@ -4744,7 +4703,7 @@ var require_createComponent_native = __commonJS({
4744
4703
  if (groupName) {
4745
4704
  let groupContextState = componentContext.groups.state, og = setStateShallow;
4746
4705
  setStateShallow = (state2) => {
4747
- og(state2), stateRef.current.group.emit(groupName, {
4706
+ og(state2), curState.group.emit(groupName, {
4748
4707
  pseudo: state2
4749
4708
  });
4750
4709
  let next = {
@@ -4755,53 +4714,30 @@ var require_createComponent_native = __commonJS({
4755
4714
  };
4756
4715
  }
4757
4716
  process.env.NODE_ENV === "development" && time && time`use-state`;
4758
- let isAnimated = willBeAnimated;
4759
- willBeAnimated && !supportsCSSVars && !presence && isHydrated && (import_constants4.isServer || state.unmounted === !0) && (isAnimated = !1), willBeAnimated && !stateRef.current.hasAnimated && (stateRef.current.hasAnimated = !0);
4760
- let componentClassName = props.asChild ? "" : props.componentName ? `is_${props.componentName}` : defaultComponentClassName, hasTextAncestor = !!(import_constants4.isWeb && isText && componentContext.inText), isDisabled = props.disabled ?? ((_c = props.accessibilityState) == null ? void 0 : _c.disabled);
4717
+ let componentNameFinal = props.componentName || componentName2, componentClassName = props.asChild || !componentNameFinal ? "" : `is_${componentNameFinal}`, hasTextAncestor = !!(import_constants4.isWeb && isText && componentContext.inText), isDisabled = props.disabled ?? ((_d = props.accessibilityState) == null ? void 0 : _d.disabled);
4761
4718
  process.env.NODE_ENV === "development" && time && time`use-context`;
4762
4719
  let element = import_constants4.isWeb && (!Component || typeof Component == "string") && props.tag || Component, elementType = isText ? BaseText || element || "span" : BaseView || element || (hasTextAncestor ? "span" : "div");
4763
- if (animationsConfig && willBeAnimated && (elementType = animationsConfig[isText ? "Text" : "View"] || elementType), isAnimated && presence) {
4764
- let presenceState = presence[2];
4765
- if (presenceState) {
4766
- let isEntering = state.unmounted, isExiting2 = !presenceState.isPresent, enterExitVariant = presenceState.enterExitVariant, enterVariant = enterExitVariant ?? presenceState.enterVariant, exitVariant = enterExitVariant ?? presenceState.exitVariant;
4767
- isEntering && enterVariant ? (process.env.NODE_ENV === "development" && debugProp === "verbose" && console.warn(`Animating presence ENTER "${enterVariant}"`), props[enterVariant] = !0) : isExiting2 && exitVariant && (process.env.NODE_ENV === "development" && debugProp === "verbose" && console.warn(`Animating presence EXIT "${enterVariant}"`), props[exitVariant] = !enterExitVariant);
4768
- }
4769
- }
4770
- let isAnimatedReactNative = hasAnimationProp && (animationsConfig == null ? void 0 : animationsConfig.isReactNative), isReactNative = !!(staticConfig.isReactNative || isAnimatedReactNative), shouldAvoidClasses = !!(!import_constants4.isWeb || isAnimated || !staticConfig.acceptsClassName || propsIn.disableClassName), shouldForcePseudo = !!propsIn.forceStyle, noClassNames = shouldAvoidClasses || shouldForcePseudo, disableTheme = isHOC;
4771
- process.env.NODE_ENV === "development" && time && time`theme-props`, props.themeShallow && (stateRef.current.themeShallow = !0);
4720
+ animationsConfig && isAnimated && (elementType = animationsConfig[isText ? "Text" : "View"] || elementType);
4721
+ let disableTheme = isHOC;
4722
+ process.env.NODE_ENV === "development" && time && time`theme-props`, props.themeShallow && (curState.themeShallow = !0);
4772
4723
  let themeStateProps = {
4773
4724
  name: props.theme,
4774
- componentName,
4725
+ componentName: componentName2,
4775
4726
  disable: disableTheme,
4776
- shallow: stateRef.current.themeShallow,
4727
+ shallow: curState.themeShallow,
4777
4728
  inverse: props.themeInverse,
4778
4729
  debug: debugProp
4779
4730
  };
4780
- typeof stateRef.current.isListeningToTheme == "boolean" && (themeStateProps.shouldUpdate = () => stateRef.current.isListeningToTheme), themeStateProps.deopt = willBeAnimated;
4731
+ typeof curState.isListeningToTheme == "boolean" && (themeStateProps.shouldUpdate = () => stateRef.current.isListeningToTheme), themeStateProps.deopt = willBeAnimated;
4781
4732
  let isExiting = !state.unmounted && (presence == null ? void 0 : presence[0]) === !1;
4782
4733
  if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
4783
- let name = `${componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]"}`, type = isAnimatedReactNative ? "(animated)" : isReactNative ? "(rnw)" : "", dataIs = propsIn["data-is"] || "", banner = `${name}${dataIs ? ` ${dataIs}` : ""} ${type} id ${internalID}`;
4734
+ let name = `${componentName2 || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]"}`, type = (hasEnterStyle ? "(hasEnter)" : "") + (isAnimated ? "(animated)" : "") + (isReactNative ? "(rnw)" : ""), dataIs = propsIn["data-is"] || "", banner = `${internalID} ${name}${dataIs ? ` ${dataIs}` : ""} ${type}`;
4784
4735
  console.group(
4785
- `%c ${banner} (unmounted: ${state.unmounted})${presence ? ` (presence: ${presence[0]})` : ""} ${isHydrated ? "\u{1F4A6}" : "\u{1F3DC}\uFE0F"}`,
4736
+ `%c ${banner} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`,
4786
4737
  "background: green; color: white;"
4787
- ), import_constants4.isServer || (console.groupCollapsed(
4738
+ ), import_constants4.isServer || (console.groupEnd(), console.groupEnd(), console.groupCollapsed(
4788
4739
  `Info (collapsed): ${state.press || state.pressIn ? "PRESSED " : ""}${state.hover ? "HOVERED " : ""}${state.focus ? "FOCUSED" : " "}`
4789
- ), (0, import_log.log)({
4790
- propsIn,
4791
- props,
4792
- state,
4793
- staticConfig,
4794
- elementType,
4795
- themeStateProps,
4796
- styledContext: { contextProps: styledContextProps, overriddenContextProps },
4797
- presence,
4798
- isAnimated,
4799
- isHOC,
4800
- hasAnimationProp,
4801
- useAnimations,
4802
- propsInOrder: Object.keys(propsIn),
4803
- propsOrder: Object.keys(props)
4804
- }), console.groupEnd());
4740
+ ), (0, import_log.log)({ propsIn, props, state, staticConfig, elementType, themeStateProps }), (0, import_log.log)({ contextProps: styledContextProps, overriddenContextProps }), (0, import_log.log)({ presence, isAnimated, isHOC, hasAnimationProp, useAnimations }), console.groupEnd());
4805
4741
  }
4806
4742
  process.env.NODE_ENV === "development" && time && time`pre-theme-media`;
4807
4743
  let [themeState, theme] = (0, import_useTheme.useThemeWithState)(themeStateProps);
@@ -4813,18 +4749,17 @@ var require_createComponent_native = __commonJS({
4813
4749
  let resolveValues = (
4814
4750
  // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child
4815
4751
  isAnimated && !supportsCSSVars || isHOC && state.unmounted == !1 && hasAnimationProp ? "value" : "auto"
4816
- ), keepStyleSSR = willBeAnimated && (animationsConfig == null ? void 0 : animationsConfig.keepStyleSSR), styleProps = {
4752
+ ), styleProps = {
4817
4753
  mediaState: mediaState3,
4818
4754
  noClassNames,
4819
4755
  resolveValues,
4820
4756
  isExiting,
4821
- isAnimated,
4822
- keepStyleSSR
4757
+ isAnimated
4823
4758
  }, splitStyles = (0, import_getSplitStyles.useSplitStyles)(
4824
4759
  props,
4825
4760
  staticConfig,
4826
4761
  theme,
4827
- ((_d = themeState == null ? void 0 : themeState.state) == null ? void 0 : _d.name) || "",
4762
+ ((_e = themeState == null ? void 0 : themeState.state) == null ? void 0 : _e.name) || "",
4828
4763
  state,
4829
4764
  styleProps,
4830
4765
  null,
@@ -4832,15 +4767,12 @@ var require_createComponent_native = __commonJS({
4832
4767
  elementType,
4833
4768
  debugProp
4834
4769
  );
4835
- props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured && (splitStyles.style.opacity = 0), process.env.NODE_ENV === "development" && time && time`split-styles`, stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess;
4770
+ props.group && props.untilMeasured === "hide" && !curState.hasMeasured && (splitStyles.style.opacity = 0), process.env.NODE_ENV === "development" && time && time`split-styles`, curState.isListeningToTheme = splitStyles.dynamicThemeAccess;
4836
4771
  let isMediaArray = splitStyles.hasMedia && Array.isArray(splitStyles.hasMedia), shouldListenForMedia = (0, import_createVariable.didGetVariableValue)() || isMediaArray || noClassNames && splitStyles.hasMedia === !0, mediaListeningKeys = isMediaArray ? splitStyles.hasMedia : null;
4837
4772
  (0, import_useMedia.setMediaShouldUpdate)(stateRef, {
4838
4773
  enabled: shouldListenForMedia,
4839
4774
  keys: mediaListeningKeys
4840
4775
  });
4841
- let isAnimatedReactNativeWeb = hasAnimationProp && isReactNative;
4842
- if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile" && (console.groupCollapsed(">>>"), (0, import_log.log)("props in", propsIn, "mapped to", props, "in order", Object.keys(props)), (0, import_log.log)("splitStyles", splitStyles), (0, import_log.log)("media", { shouldListenForMedia, isMediaArray, mediaListeningKeys }), (0, import_log.log)("className", Object.values(splitStyles.classNames)), import_constants4.isClient && (0, import_log.log)("ref", hostRef, "(click to view)"), console.groupEnd(), debugProp === "break"))
4843
- debugger;
4844
4776
  let {
4845
4777
  viewProps: viewPropsIn,
4846
4778
  pseudos,
@@ -4848,21 +4780,23 @@ var require_createComponent_native = __commonJS({
4848
4780
  classNames,
4849
4781
  space
4850
4782
  } = splitStyles, propsWithAnimation = props, animationStyles;
4851
- if (willBeAnimated && useAnimations && !isHOC) {
4783
+ if (
4784
+ // if it supports css vars we run it on server too to get matching initial style
4785
+ (supportsCSSVars ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
4786
+ ) {
4852
4787
  let animations = useAnimations({
4853
4788
  props: propsWithAnimation,
4854
4789
  // if hydrating, send empty style
4855
4790
  style: splitStylesStyle,
4856
- // style: splitStylesStyle,
4857
4791
  presence,
4858
4792
  componentState: state,
4859
4793
  styleProps,
4860
- theme: (_e = themeState.state) == null ? void 0 : _e.theme,
4794
+ theme: (_f = themeState.state) == null ? void 0 : _f.theme,
4861
4795
  pseudos: pseudos || null,
4862
4796
  hostRef,
4863
4797
  staticConfig
4864
4798
  });
4865
- isAnimated && animations && (animationStyles = animations.style), process.env.NODE_ENV === "development" && time && time`animations`;
4799
+ (isAnimated || supportsCSSVars) && animations && (animationStyles = animations.style), process.env.NODE_ENV === "development" && time && time`animations`;
4866
4800
  }
4867
4801
  let {
4868
4802
  asChild,
@@ -4897,7 +4831,7 @@ var require_createComponent_native = __commonJS({
4897
4831
 
4898
4832
  If you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`
4899
4833
  ), process.env.NODE_ENV === "development" && time && time`destructure`;
4900
- let disabled = ((_f = props.accessibilityState) == null ? void 0 : _f.disabled) || // @ts-expect-error (comes from core)
4834
+ let disabled = ((_g = props.accessibilityState) == null ? void 0 : _g.disabled) || // @ts-expect-error (comes from core)
4901
4835
  props.accessibilityDisabled, viewProps = nonTamaguiProps;
4902
4836
  hasAnimationProp && props.tag && !props.role && !props.accessibilityRole && (viewProps.role = props.tag), isHOC && _themeProp && (viewProps.theme = _themeProp), groupName && (nonTamaguiProps.onLayout = (0, import_helpers.composeEventHandlers)(
4903
4837
  nonTamaguiProps.onLayout,
@@ -4906,7 +4840,13 @@ If you meant to do this, you can disable this warning - either change untilMeasu
4906
4840
  layout: e.nativeEvent.layout
4907
4841
  }), !stateRef.current.hasMeasured && props.untilMeasured === "hide" && setState((prev) => ({ ...prev })), stateRef.current.hasMeasured = !0;
4908
4842
  }
4909
- )), viewProps = nonTamaguiProps;
4843
+ )), viewProps = ((_i = (_h = import_setupHooks.hooks).usePropsTransform) == null ? void 0 : _i.call(
4844
+ _h,
4845
+ elementType,
4846
+ nonTamaguiProps,
4847
+ hostRef,
4848
+ curState.willHydrate
4849
+ )) ?? nonTamaguiProps;
4910
4850
  let composedRef = (0, import_compose_refs.useComposedRefs)(hostRef, forwardedRef);
4911
4851
  viewProps.ref = composedRef, process.env.NODE_ENV === "development" && !isReactNative && !isText && import_constants4.isWeb && !isHOC && import_react2.Children.toArray(props.children).forEach((item) => {
4912
4852
  typeof item == "string" && item !== `
@@ -4914,16 +4854,12 @@ If you meant to do this, you can disable this warning - either change untilMeasu
4914
4854
  `Unexpected text node: ${item}. A text node cannot be a child of a <View>.`
4915
4855
  );
4916
4856
  }), process.env.NODE_ENV === "development" && time && time`events-hooks`;
4917
- let unPress = () => setStateShallow({
4918
- press: !1,
4919
- pressIn: !1
4920
- }), shouldSetMounted = needsMount && state.unmounted, { pseudoGroups, mediaGroups } = splitStyles;
4857
+ let { pseudoGroups, mediaGroups } = splitStyles;
4858
+ curState.unPress || (curState.unPress = () => setStateShallow({ press: !1, pressIn: !1 }));
4859
+ let unPress = curState.unPress, shouldEnter = state.unmounted;
4921
4860
  (0, import_react2.useEffect)(() => {
4922
- if (shouldSetMounted) {
4923
- let unmounted = state.unmounted === !0 && hasEnterStyle ? "should-enter" : !1;
4924
- setStateShallow({
4925
- unmounted
4926
- });
4861
+ if (shouldEnter) {
4862
+ setStateShallow({ unmounted: !1 });
4927
4863
  return;
4928
4864
  }
4929
4865
  let disposeGroupsListener;
@@ -4956,14 +4892,13 @@ If you meant to do this, you can disable this warning - either change untilMeasu
4956
4892
  disposeGroupsListener == null || disposeGroupsListener(), mouseUps.delete(unPress);
4957
4893
  };
4958
4894
  }, [
4959
- shouldSetMounted,
4960
- state.unmounted,
4895
+ shouldEnter,
4961
4896
  pseudoGroups ? Object.keys([...pseudoGroups]).join("") : 0,
4962
4897
  mediaGroups ? Object.keys([...mediaGroups]).join("") : 0
4963
4898
  ]);
4964
- let avoidAnimationStyle = keepStyleSSR && state.unmounted === !0, fontFamily = isText ? splitStyles.fontFamily || ((_i = staticConfig.defaultProps) == null ? void 0 : _i.fontFamily) : null;
4899
+ let fontFamily = isText ? splitStyles.fontFamily || ((_j = staticConfig.defaultProps) == null ? void 0 : _j.fontFamily) : null;
4965
4900
  fontFamily && fontFamily[0] === "$" && (fontFamily = fontFamily.slice(1));
4966
- let fontFamilyClassName = fontFamily ? `font_${fontFamily}` : "", style = avoidAnimationStyle ? splitStyles.style : animationStyles || splitStyles.style, className;
4901
+ let fontFamilyClassName = fontFamily ? `font_${fontFamily}` : "", style = animationStyles || splitStyles.style, className;
4967
4902
  asChild === "except-style" || asChild === "except-style-web" || (viewProps.style = style);
4968
4903
  let runtimePressStyle = !disabled && noClassNames && (pseudos == null ? void 0 : pseudos.pressStyle), runtimeFocusStyle = !disabled && noClassNames && (pseudos == null ? void 0 : pseudos.focusStyle), attachFocus = !!(runtimePressStyle || runtimeFocusStyle || onFocus || onBlur), attachPress = !!(groupName || runtimePressStyle || onPress || onPressOut || onPressIn || onLongPress || onClick), runtimeHoverStyle = !disabled && noClassNames && (pseudos == null ? void 0 : pseudos.hoverStyle), needsHoverState = runtimeHoverStyle || onHoverIn || onHoverOut, isHoverable = import_constants4.isWeb && !!(groupName || needsHoverState || onMouseEnter || onMouseLeave), shouldAttach = !!(attachFocus || attachPress || isHoverable || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle);
4969
4904
  process.env.NODE_ENV === "development" && time && time`events-setup`;
@@ -5017,7 +4952,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5017
4952
  delayPressOut: viewProps.delayPressOut,
5018
4953
  focusable: viewProps.focusable ?? !0,
5019
4954
  minPressDuration: 0
5020
- }), process.env.NODE_ENV === "development" && time && time`events`, process.env.NODE_ENV === "development" && debugProp === "verbose" && (0, import_log.log)("events", { events, isHoverable, attachPress }), (_k = (_j = import_setupHooks.hooks).useEvents) == null || _k.call(_j, viewProps, events, splitStyles, setStateShallow, staticConfig);
4955
+ }), process.env.NODE_ENV === "development" && time && time`events`, process.env.NODE_ENV === "development" && debugProp === "verbose" && (0, import_log.log)("events", { events, isHoverable, attachPress }), (_l = (_k = import_setupHooks.hooks).useEvents) == null || _l.call(_k, viewProps, events, splitStyles, setStateShallow, staticConfig);
5021
4956
  let direction = props.spaceDirection || "both";
5022
4957
  process.env.NODE_ENV === "development" && time && time`hooks`;
5023
4958
  let content = !children || asChild ? children : spacedChildren2({
@@ -5037,9 +4972,9 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5037
4972
  events,
5038
4973
  staticConfig
5039
4974
  )), useChildrenResult ? content = useChildrenResult : content = (0, import_react2.createElement)(elementType, viewProps, content);
5040
- let ResetPresence = (_l = config == null ? void 0 : config.animations) == null ? void 0 : _l.ResetPresence;
5041
- willBeAnimated && presence && ResetPresence && typeof content != "string" && (content = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ResetPresence, { children: content })), process.env.NODE_ENV === "development" && time && time`create-element`;
5042
- let groupState = stateRef.current.group, subGroupContext = (0, import_react2.useMemo)(() => {
4975
+ let ResetPresence = (_m = config == null ? void 0 : config.animations) == null ? void 0 : _m.ResetPresence;
4976
+ willBeAnimated && hasEnterStyle && ResetPresence && content && typeof content != "string" && (content = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ResetPresence, { children: content })), process.env.NODE_ENV === "development" && time && time`create-element`;
4977
+ let groupState = curState.group, subGroupContext = (0, import_react2.useMemo)(() => {
5043
4978
  if (!(!groupState || !groupName))
5044
4979
  return groupState.listeners.clear(), {
5045
4980
  ...componentContext.groups,
@@ -5047,7 +4982,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5047
4982
  state: {
5048
4983
  ...componentContext.groups.state,
5049
4984
  [groupName]: {
5050
- pseudo: initialState,
4985
+ pseudo: import_defaultComponentState.defaultComponentStateMounted,
5051
4986
  // capture just initial width and height if they exist
5052
4987
  // will have top, left, width, height (not x, y)
5053
4988
  layout: {
@@ -5072,23 +5007,23 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5072
5007
  if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
5073
5008
  console.groupCollapsed(`render <${typeof elementType == "string" ? elementType : "Component"} /> (${internalID}) with props`);
5074
5009
  try {
5075
- (0, import_log.log)("viewProps", viewProps), (0, import_log.log)("viewPropsOrder", Object.keys(viewProps));
5076
- for (let key in viewProps)
5077
- (0, import_log.log)(" - ", key, viewProps[key]);
5078
- (0, import_log.log)("children", content), typeof window < "u" && (0, import_log.log)({
5010
+ (0, import_log.log)("viewProps", viewProps), (0, import_log.log)("children", content), typeof window < "u" && ((0, import_log.log)("props in", propsIn, "mapped to", props, "in order", Object.keys(props)), (0, import_log.log)({
5011
+ shouldListenForMedia,
5012
+ mediaListeningKeys,
5013
+ isMediaArray,
5079
5014
  viewProps,
5015
+ hostRef,
5080
5016
  state,
5081
5017
  styleProps,
5082
5018
  themeState,
5083
5019
  isAnimated,
5084
- isAnimatedReactNativeWeb,
5085
5020
  defaultProps,
5086
5021
  splitStyles,
5087
5022
  animationStyles,
5088
5023
  willBeAnimated,
5089
5024
  isStringElement,
5090
- classNamesIn: (_m = props.className) == null ? void 0 : _m.split(" "),
5091
- classNamesOut: (_n = viewProps.className) == null ? void 0 : _n.split(" "),
5025
+ classNamesIn: (_n = props.className) == null ? void 0 : _n.split(" "),
5026
+ classNamesOut: (_o = viewProps.className) == null ? void 0 : _o.split(" "),
5092
5027
  events,
5093
5028
  shouldAttach,
5094
5029
  pseudos,
@@ -5102,10 +5037,11 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5102
5037
  elementType,
5103
5038
  initialState,
5104
5039
  classNames
5105
- });
5040
+ }));
5106
5041
  } catch {
5107
5042
  }
5108
- console.groupEnd(), console.groupEnd();
5043
+ if (console.groupEnd(), debugProp === "break")
5044
+ debugger;
5109
5045
  }
5110
5046
  return process.env.NODE_ENV === "development" && time && (time`rest`, globalThis.willPrint || (globalThis.willPrint = !0, setTimeout(() => {
5111
5047
  delete globalThis.willPrint, time.print(), time = null;
@@ -6075,6 +6011,37 @@ var require_isTamaguiElement_native = __commonJS({
6075
6011
  }
6076
6012
  });
6077
6013
 
6014
+ // ../web/dist/cjs/helpers/proxyThemeVariables.native.js
6015
+ var require_proxyThemeVariables_native = __commonJS({
6016
+ "../web/dist/cjs/helpers/proxyThemeVariables.native.js"(exports2, module2) {
6017
+ "use strict";
6018
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
6019
+ for (var name in all)
6020
+ __defProp2(target, name, { get: all[name], enumerable: !0 });
6021
+ }, __copyProps2 = (to, from, except, desc) => {
6022
+ if (from && typeof from == "object" || typeof from == "function")
6023
+ for (let key of __getOwnPropNames2(from))
6024
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
6025
+ return to;
6026
+ }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), proxyThemeVariables_exports = {};
6027
+ __export2(proxyThemeVariables_exports, {
6028
+ proxyThemeVariables: () => proxyThemeVariables
6029
+ });
6030
+ module2.exports = __toCommonJS2(proxyThemeVariables_exports);
6031
+ function proxyThemeVariables(obj) {
6032
+ return new Proxy(obj || {}, {
6033
+ has(target, key) {
6034
+ return Reflect.has(target, removeStarting$(key));
6035
+ },
6036
+ get(target, key) {
6037
+ return Reflect.get(target, removeStarting$(key));
6038
+ }
6039
+ });
6040
+ }
6041
+ var removeStarting$ = (str) => typeof str == "string" && str[0] === "$" ? str.slice(1) : str;
6042
+ }
6043
+ });
6044
+
6078
6045
  // ../web/dist/cjs/internalWithTheme.native.js
6079
6046
  var require_internalWithTheme_native = __commonJS({
6080
6047
  "../web/dist/cjs/internalWithTheme.native.js"(exports2, module2) {
@@ -6437,12 +6404,12 @@ var require_TamaguiProvider_native = __commonJS({
6437
6404
  ...themePropsProvider
6438
6405
  }) {
6439
6406
  return (0, import_useMedia.setupMediaListeners)(), import_constants4.isClient && React2.useLayoutEffect(() => {
6440
- if (document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), disableInjectCSS)
6441
- return;
6442
- let style = document.createElement("style");
6443
- return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
6444
- document.head.removeChild(style);
6445
- };
6407
+ if (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS) {
6408
+ let style = document.createElement("style");
6409
+ return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
6410
+ document.head.removeChild(style);
6411
+ };
6412
+ }
6446
6413
  }, [config, disableInjectCSS]), /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: config.animations, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
6447
6414
  import_ThemeProvider.ThemeProvider,
6448
6415
  {
@@ -7756,7 +7723,7 @@ var require_usePlatformMethods_native = __commonJS({
7756
7723
  function usePlatformMethods(hostRef) {
7757
7724
  (0, import_constants4.useIsomorphicLayoutEffect)(() => {
7758
7725
  let node = hostRef.current;
7759
- node && (node.measure = (callback) => (0, import_useElementLayout.measureLayout)(node, null, callback), node.measureLayout = (relativeToNode, success) => (0, import_useElementLayout.measureLayout)(node, relativeToNode, success), node.measureInWindow = (callback) => {
7726
+ !node || node.measure || (node.measure = (callback) => (0, import_useElementLayout.measureLayout)(node, null, callback), node.measureLayout = (relativeToNode, success) => (0, import_useElementLayout.measureLayout)(node, relativeToNode, success), node.measureInWindow = (callback) => {
7760
7727
  node && setTimeout(() => {
7761
7728
  let { height, left, top, width } = (0, import_getRect.getRect)(node);
7762
7729
  callback(left, top, width, height);
@@ -7878,57 +7845,7 @@ var require_index_native15 = __commonJS({
7878
7845
  var baseViews = (0, import_getBaseViews.getBaseViews)();
7879
7846
  (0, import_web.setupHooks)({
7880
7847
  getBaseViews: import_getBaseViews.getBaseViews,
7881
- usePropsTransform(elementType, propsIn, hostRef) {
7882
- let {
7883
- // event props
7884
- onMoveShouldSetResponder,
7885
- onMoveShouldSetResponderCapture,
7886
- onResponderEnd,
7887
- onResponderGrant,
7888
- onResponderMove,
7889
- onResponderReject,
7890
- onResponderRelease,
7891
- onResponderStart,
7892
- onResponderTerminate,
7893
- onResponderTerminationRequest,
7894
- onScrollShouldSetResponder,
7895
- onScrollShouldSetResponderCapture,
7896
- onSelectionChangeShouldSetResponder,
7897
- onSelectionChangeShouldSetResponderCapture,
7898
- onStartShouldSetResponder,
7899
- onStartShouldSetResponderCapture,
7900
- // android
7901
- collapsable,
7902
- focusable,
7903
- // deprecated,
7904
- accessible,
7905
- accessibilityDisabled,
7906
- onLayout,
7907
- hrefAttrs,
7908
- ...viewProps
7909
- } = propsIn;
7910
- if ((0, import_usePlatformMethods.usePlatformMethods)(hostRef), (0, import_useElementLayout.useElementLayout)(hostRef, onLayout), (0, import_react_native_use_responder_events.useResponderEvents)(hostRef, {
7911
- onMoveShouldSetResponder,
7912
- onMoveShouldSetResponderCapture,
7913
- onResponderEnd,
7914
- onResponderGrant,
7915
- onResponderMove,
7916
- onResponderReject,
7917
- onResponderRelease,
7918
- onResponderStart,
7919
- onResponderTerminate,
7920
- onResponderTerminationRequest,
7921
- onScrollShouldSetResponder,
7922
- onScrollShouldSetResponderCapture,
7923
- onSelectionChangeShouldSetResponder,
7924
- onSelectionChangeShouldSetResponderCapture,
7925
- onStartShouldSetResponder,
7926
- onStartShouldSetResponderCapture
7927
- }), viewProps.href && hrefAttrs) {
7928
- let { download, rel, target } = hrefAttrs;
7929
- download != null && (viewProps.download = download), rel && (viewProps.rel = rel), typeof target == "string" && (viewProps.target = target.charAt(0) !== "_" ? `_${target}` : target);
7930
- }
7931
- return viewProps;
7848
+ usePropsTransform(elementType, propsIn, hostRef, willHydrate) {
7932
7849
  },
7933
7850
  useEvents(viewProps, events, { pseudos }, setStateShallow, staticConfig) {
7934
7851
  if (events && (events.onFocus && (viewProps.onFocus = events.onFocus), events.onBlur && (viewProps.onBlur = events.onBlur)), staticConfig.isInput) {