tamagui 1.129.11 → 1.129.12-1751386794649

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
@@ -2559,6 +2559,9 @@ var require_insertStyleRule_native = __commonJS({
2559
2559
  shouldInsertStyleRules: function() {
2560
2560
  return shouldInsertStyleRules;
2561
2561
  },
2562
+ stopAccumulatingRules: function() {
2563
+ return stopAccumulatingRules;
2564
+ },
2562
2565
  updateRules: function() {
2563
2566
  return updateRules;
2564
2567
  }
@@ -2649,7 +2652,7 @@ var require_insertStyleRule_native = __commonJS({
2649
2652
  return themes;
2650
2653
  }
2651
2654
  }
2652
- function track(id) {
2655
+ function trackInsertedStyle(id) {
2653
2656
  var remove = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, next = (totalSelectorsInserted.get(id) || 0) + (remove ? -1 : 1);
2654
2657
  return totalSelectorsInserted.set(id, next), next;
2655
2658
  }
@@ -2697,7 +2700,7 @@ var require_insertStyleRule_native = __commonJS({
2697
2700
  }
2698
2701
  continue;
2699
2702
  }
2700
- var total = track(identifier, remove);
2703
+ var total = trackInsertedStyle(identifier, remove);
2701
2704
  if (remove) total === 0 && delete allSelectors[identifier];
2702
2705
  else if (!(identifier in allSelectors)) {
2703
2706
  var isTransform = identifier.startsWith("_transform-"), shouldInsert = isTransform ? addTransform(identifier, cssRule.cssText, cssRule) : !0;
@@ -2797,53 +2800,62 @@ var require_insertStyleRule_native = __commonJS({
2797
2800
  var getIdentifierFromTamaguiSelector = function(selector) {
2798
2801
  var dotIndex = selector.indexOf(":");
2799
2802
  return dotIndex > -1 ? selector.slice(7, dotIndex) : selector.slice(7);
2800
- }, sheet = null;
2803
+ }, sheet = null, trackAllRules = !0;
2804
+ function stopAccumulatingRules() {
2805
+ trackAllRules = !0;
2806
+ }
2801
2807
  function updateRules(identifier, rules) {
2802
- return identifier in allRules ? !1 : (allRules[identifier] = rules.join(" "), identifier.startsWith("_transform-") ? addTransform(identifier, rules[0]) : !0);
2808
+ return trackAllRules && (allRules[identifier] = rules.join(" ")), identifier.startsWith("_transform-") ? addTransform(identifier, rules[0]) : !0;
2803
2809
  }
2804
2810
  var nonce = "";
2805
2811
  function setNonce2(_) {
2806
2812
  nonce = _;
2807
2813
  }
2808
2814
  function insertStyleRules2(rulesToInsert) {
2809
- if (!sheet && import_constants4.isClient && document.head) {
2810
- var styleTag = document.createElement("style");
2811
- nonce && (styleTag.nonce = nonce), sheet = document.head.appendChild(styleTag).sheet;
2812
- }
2813
- if (sheet) for (var key in rulesToInsert) {
2814
- var styleObject = rulesToInsert[key], identifier = styleObject[import_helpers.StyleObjectIdentifier];
2815
- if (shouldInsertStyleRules(identifier)) {
2816
- var rules = styleObject[import_helpers.StyleObjectRules];
2817
- allSelectors[identifier] = rules.join(`
2818
- `), track(identifier), updateRules(identifier, rules);
2819
- var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
2820
- try {
2821
- for (var _iterator = rules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
2822
- var rule = _step.value;
2823
- if (process.env.NODE_ENV === "production") try {
2824
- sheet.insertRule(rule, sheet.cssRules.length);
2825
- } catch (err) {
2826
- console.error("Error inserting CSS", err);
2827
- }
2828
- else sheet.insertRule(rule, sheet.cssRules.length);
2829
- }
2830
- } catch (err) {
2831
- _didIteratorError = !0, _iteratorError = err;
2832
- } finally {
2815
+ if (import_constants4.isClient) {
2816
+ if (!sheet && document.head) {
2817
+ var styleTag = document.createElement("style");
2818
+ nonce && (styleTag.nonce = nonce), sheet = document.head.appendChild(styleTag).sheet;
2819
+ }
2820
+ if (!sheet) {
2821
+ console.warn("[tamagui] no sheet");
2822
+ return;
2823
+ }
2824
+ for (var key in rulesToInsert) {
2825
+ var styleObject = rulesToInsert[key], identifier = styleObject[import_helpers.StyleObjectIdentifier];
2826
+ if (shouldInsertStyleRules(identifier)) {
2827
+ var rules = styleObject[import_helpers.StyleObjectRules];
2828
+ allSelectors[identifier] = rules.join(`
2829
+ `), updateRules(identifier, rules), trackInsertedStyle(identifier);
2830
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
2833
2831
  try {
2834
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
2832
+ for (var _iterator = rules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
2833
+ var rule = _step.value;
2834
+ if (process.env.NODE_ENV === "production") try {
2835
+ sheet.insertRule(rule, sheet.cssRules.length);
2836
+ } catch (err) {
2837
+ console.error("Error inserting CSS", err);
2838
+ }
2839
+ else sheet.insertRule(rule, sheet.cssRules.length);
2840
+ }
2841
+ } catch (err) {
2842
+ _didIteratorError = !0, _iteratorError = err;
2835
2843
  } finally {
2836
- if (_didIteratorError) throw _iteratorError;
2844
+ try {
2845
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
2846
+ } finally {
2847
+ if (_didIteratorError) throw _iteratorError;
2848
+ }
2837
2849
  }
2838
2850
  }
2839
2851
  }
2840
2852
  }
2841
2853
  }
2842
- var minInsertAmt = process.env.TAMAGUI_INSERT_SELECTOR_TRIES ? +process.env.TAMAGUI_INSERT_SELECTOR_TRIES : 1;
2854
+ var maxToInsert = process.env.TAMAGUI_INSERT_SELECTOR_TRIES ? +process.env.TAMAGUI_INSERT_SELECTOR_TRIES : 1;
2843
2855
  function shouldInsertStyleRules(identifier) {
2844
2856
  if (process.env.IS_STATIC === "is_static") return !0;
2845
- var total = totalSelectorsInserted.get(identifier);
2846
- return process.env.NODE_ENV === "development" && totalSelectorsInserted.size > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 1e4) && console.warn('Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the "disableClassName" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher'), total === void 0 || total < minInsertAmt;
2857
+ var total = totalSelectorsInserted.get(identifier) || 0;
2858
+ return process.env.NODE_ENV === "development" && total > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 10) && console.warn('Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the "disableClassName" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher'), total < maxToInsert;
2847
2859
  }
2848
2860
  }
2849
2861
  });
@@ -6500,7 +6512,7 @@ var require_getSplitStyles_native = __commonJS({
6500
6512
  try {
6501
6513
  for (var _iterator2 = pseudoStyles[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
6502
6514
  var psuedoStyle = _step2.value, fullKey = `${psuedoStyle[import_helpers.StyleObjectProperty]}${PROP_SPLIT}${descriptor.name}`;
6503
- fullKey in usedKeys || (addStyleToInsertRules(rulesToInsert, psuedoStyle, startedUnhydrated), classNames[fullKey] = psuedoStyle[import_helpers.StyleObjectIdentifier]);
6515
+ fullKey in usedKeys || (addStyleToInsertRules(rulesToInsert, psuedoStyle), classNames[fullKey] = psuedoStyle[import_helpers.StyleObjectIdentifier]);
6504
6516
  }
6505
6517
  } catch (err) {
6506
6518
  _didIteratorError2 = !0, _iteratorError2 = err;
@@ -6578,7 +6590,7 @@ var require_getSplitStyles_native = __commonJS({
6578
6590
  var out = (0, import_createMediaStyle.createMediaStyle)(style3, mediaKeyShort, import_useMedia.mediaQueryConfig, isMedia, !1, priority);
6579
6591
  process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)("\u{1F4FA} media style:", out);
6580
6592
  var subKey = isSubStyle ? style3[2] : "", fullKey1 = `${style3[import_helpers.StyleObjectProperty]}${subKey}${PROP_SPLIT}${mediaKeyShort}${style3[import_helpers.StyleObjectPseudo] || ""}`;
6581
- fullKey1 in usedKeys || (addStyleToInsertRules(rulesToInsert, out, startedUnhydrated), classNames[fullKey1] = out[import_helpers.StyleObjectIdentifier]);
6593
+ fullKey1 in usedKeys || (addStyleToInsertRules(rulesToInsert, out), classNames[fullKey1] = out[import_helpers.StyleObjectIdentifier]);
6582
6594
  }
6583
6595
  }
6584
6596
  } catch (err) {
@@ -6629,7 +6641,9 @@ var require_getSplitStyles_native = __commonJS({
6629
6641
  if (groupMediaKey) {
6630
6642
  mediaGroups || (mediaGroups = /* @__PURE__ */ new Set()), mediaGroups.add(groupMediaKey);
6631
6643
  var mediaState1 = componentGroupState == null ? void 0 : componentGroupState.media, isActive = mediaState1 == null ? void 0 : mediaState1[groupMediaKey];
6632
- if (!mediaState1 && groupContext.layout && (isActive = (0, import_useMedia.mediaKeyMatch)(groupMediaKey, groupContext.layout)), process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(` \u{1F3D8}\uFE0F GROUP media ${groupMediaKey} active? ${isActive}`), !isActive) {
6644
+ if (!mediaState1 && groupContext.layout && (isActive = (0, import_useMedia.mediaKeyMatch)(groupMediaKey, groupContext.layout)), process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(` \u{1F3D8}\uFE0F GROUP media ${groupMediaKey} active? ${isActive}`, {
6645
+ ...mediaState1
6646
+ }), !isActive) {
6633
6647
  for (var pkey1 in mediaStyle1) applyDefaultStyle(pkey1, styleState);
6634
6648
  return;
6635
6649
  }
@@ -6639,7 +6653,9 @@ var require_getSplitStyles_native = __commonJS({
6639
6653
  pseudoGroups || (pseudoGroups = /* @__PURE__ */ new Set()), pseudoGroups.add(groupName);
6640
6654
  var componentGroupPseudoState = (componentGroupState || // fallback to context initially
6641
6655
  componentContext.groups.state[groupName]).pseudo, isActive1 = componentGroupPseudoState == null ? void 0 : componentGroupPseudoState[groupPseudoKey], priority1 = import_pseudoDescriptors.pseudoPriorities[groupPseudoKey];
6642
- if (process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(` \u{1F3D8}\uFE0F GROUP pseudo ${groupMediaKey} active? ${isActive1}, priority ${priority1}`), !isActive1) {
6656
+ if (process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(` \u{1F3D8}\uFE0F GROUP pseudo ${groupMediaKey} active? ${isActive1}, priority ${priority1}`, {
6657
+ ...componentGroupPseudoState
6658
+ }), !isActive1) {
6643
6659
  for (var pkey2 in mediaStyle1) applyDefaultStyle(pkey2, styleState);
6644
6660
  return;
6645
6661
  }
@@ -6872,7 +6888,6 @@ var require_getSplitStyles_native = __commonJS({
6872
6888
  return res;
6873
6889
  };
6874
6890
  function addStyleToInsertRules(rulesToInsert, styleObject) {
6875
- var startedUnhydrated = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
6876
6891
  if (0) var identifier;
6877
6892
  }
6878
6893
  var defaultColor = process.env.TAMAGUI_DEFAULT_COLOR || "rgba(0,0,0,0)", animatableDefaults = {
@@ -7105,23 +7120,20 @@ var require_index_native13 = __commonJS({
7105
7120
  });
7106
7121
  module2.exports = __toCommonJS2(index_exports2);
7107
7122
  var import_react3 = require("react");
7108
- function useCreateShallowSetState(setter, debugIn) {
7123
+ function useCreateShallowSetState(setter, debug) {
7109
7124
  return (0, import_react3.useCallback)(function(next) {
7110
7125
  setter(function(prev) {
7111
- return mergeIfNotShallowEqual(prev, next, debugIn);
7126
+ var update = mergeIfNotShallowEqual(prev, next);
7127
+ if (process.env.NODE_ENV === "development" && debug && update !== prev && (console.groupCollapsed("setStateShallow CHANGE", prev, "=>", update), console.trace(), console.groupEnd(), debug === "break")) debugger;
7128
+ return update;
7112
7129
  });
7113
7130
  }, [
7114
7131
  setter,
7115
- debugIn
7132
+ debug
7116
7133
  ]);
7117
7134
  }
7118
- function mergeIfNotShallowEqual(prev, next, debug) {
7119
- if (!prev || !next || isEqualShallow(prev, next)) return prev || next;
7120
- if (process.env.NODE_ENV === "development" && debug && (console.info("setStateShallow CHANGE", {
7121
- prev,
7122
- next
7123
- }), debug === "break")) debugger;
7124
- return {
7135
+ function mergeIfNotShallowEqual(prev, next) {
7136
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : {
7125
7137
  ...prev,
7126
7138
  ...next
7127
7139
  };
@@ -7294,7 +7306,7 @@ var require_useThemeState_native = __commonJS({
7294
7306
  var _keys_current, _props_needsUpdate, local = localStates.get(id), needsUpdate = isRoot || props.name === "light" || props.name === "dark" || props.name === null ? !0 : HasRenderedOnce.get(keys) ? !(keys == null || (_keys_current = keys.current) === null || _keys_current === void 0) && _keys_current.size ? !0 : (_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props) : !0, [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
7295
7307
  return PendingUpdate.delete(id), (!local || rerender) && (local = {
7296
7308
  ...next
7297
- }, localStates.set(id, local)), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` ${id} \u{1FA84} ${rerender}`, local.name, ">", next.name), console.info({
7309
+ }, localStates.set(id, local)), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name), console.info({
7298
7310
  props,
7299
7311
  propsKey,
7300
7312
  isRoot,
@@ -7329,7 +7341,7 @@ var require_useThemeState_native = __commonJS({
7329
7341
  themes || (themes = (0, import_config.getConfig)().themes);
7330
7342
  var name = !propsKey && (!lastState || !(lastState != null && lastState.isNew)) ? null : getNewThemeName(parentState == null ? void 0 : parentState.name, props, pendingUpdate === "force" ? !0 : !!needsUpdate), isSameAsParent = parentState && (!name || name === parentState.name), shouldRerender = !!(needsUpdate && (pendingUpdate || (lastState == null ? void 0 : lastState.name) !== (parentState == null ? void 0 : parentState.name)));
7331
7343
  if (process.env.NODE_ENV === "development" && debug && debug !== "profile") {
7332
- var message = ` \xB7 useTheme(${id}) => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;
7344
+ var message = ` \xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;
7333
7345
  console.info(message);
7334
7346
  }
7335
7347
  if (isSameAsParent) return [
@@ -8013,7 +8025,7 @@ var require_wrapStyleTags_native = __commonJS({
8013
8025
  });
8014
8026
  module2.exports = __toCommonJS2(wrapStyleTags_exports);
8015
8027
  var import_jsx_runtime6 = require("react/jsx-runtime"), import_constants4 = require_index_native6(), import_helpers = require_index_native7();
8016
- function getStyleTags(styles, content) {
8028
+ function getStyleTags(styles) {
8017
8029
  import_constants4.IS_REACT_19;
8018
8030
  }
8019
8031
  }
@@ -8202,14 +8214,14 @@ var require_useComponentState_native = __commonJS({
8202
8214
  var import_constants4 = require_index_native6(), import_is_equal_shallow = require_index_native13(), import_use_did_finish_ssr = require_index_native14(), import_react3 = require("react"), import_defaultComponentState = require_defaultComponentState_native(), import_isObj = require_isObj_native(), import_log = require_log_native(), useComponentState = function(props, param, staticConfig, config) {
8203
8215
  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)(needsHydration && !isHydrated), useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, stateRef = (0, import_react3.useRef)(void 0);
8204
8216
  stateRef.current || (stateRef.current = {});
8205
- var hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSSVars = animationDriver == null ? void 0 : animationDriver.supportsCSSVars, curStateRef = stateRef.current;
8217
+ var hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSS = animationDriver == null ? void 0 : animationDriver.supportsCSS, curStateRef = stateRef.current;
8206
8218
  !needsHydration && hasAnimationProp && (curStateRef.hasAnimated = !0);
8207
8219
  var willBeAnimatedClient = function() {
8208
8220
  var next = !!(hasAnimationProp && !staticConfig.isHOC && useAnimations);
8209
8221
  return !!(next || curStateRef.hasAnimated);
8210
8222
  }(), willBeAnimated = !import_constants4.isServer && willBeAnimatedClient;
8211
8223
  willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);
8212
- var { disableClassName } = props, presence = willBeAnimated && props.animatePresence !== !1 && (animationDriver == null || (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver)) || null, presenceState = presence == null ? void 0 : presence[2], isExiting = (presenceState == null ? void 0 : presenceState.isPresent) === !1, isEntering = (presenceState == null ? void 0 : presenceState.isPresent) === !0 && presenceState.initial !== !1, hasEnterStyle = !!props.enterStyle, hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && ((animationDriver == null ? void 0 : animationDriver.isReactNative) || !supportsCSSVars), hasEnterState = hasEnterStyle || isEntering, shouldEnter = hasEnterState || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate
8224
+ var { disableClassName } = props, presence = willBeAnimated && props.animatePresence !== !1 && (animationDriver == null || (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver)) || null, presenceState = presence == null ? void 0 : presence[2], isExiting = (presenceState == null ? void 0 : presenceState.isPresent) === !1, isEntering = (presenceState == null ? void 0 : presenceState.isPresent) === !0 && presenceState.initial !== !1, hasEnterStyle = !!props.enterStyle, hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && ((animationDriver == null ? void 0 : animationDriver.isReactNative) || !supportsCSS), hasEnterState = hasEnterStyle || isEntering, shouldEnter = hasEnterState || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate
8213
8225
  // this is just for a better ux, supports css variables for light/dark, media queries, etc
8214
8226
  disableClassName, initialState = shouldEnter ? (
8215
8227
  // on the very first render we switch all spring animation drivers to css rendering
@@ -8223,7 +8235,9 @@ var require_useComponentState_native = __commonJS({
8223
8235
  var states = (0, import_react3.useState)(initialState), state = props.forceStyle ? {
8224
8236
  ...states[0],
8225
8237
  [props.forceStyle]: !0
8226
- } : states[0], setState = states[1], isAnimated = willBeAnimated;
8238
+ } : states[0], setState = states[1];
8239
+ stateRef.current.nextComponentState && Object.assign(state, stateRef.current.nextComponentState);
8240
+ var isAnimated = willBeAnimated;
8227
8241
  import_constants4.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(_) {
8228
8242
  return {
8229
8243
  ...state
@@ -8239,7 +8253,7 @@ var require_useComponentState_native = __commonJS({
8239
8253
  }
8240
8254
  var noClass = !import_constants4.isWeb || !!props.forceStyle || isAnimated && (animationDriver == null ? void 0 : animationDriver.needsWebStyles);
8241
8255
  if (import_constants4.isWeb && (!import_constants4.isServer || isHydrated)) {
8242
- var isAnimatedAndHydrated = isAnimated && !supportsCSSVars, isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted), isDisabledManually = disableClassName && !state.unmounted;
8256
+ var isAnimatedAndHydrated = isAnimated && !supportsCSS, isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted), isDisabledManually = disableClassName && !state.unmounted;
8243
8257
  (isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (noClass = !0, process.env.NODE_ENV === "development" && props.debug && (0, import_log.log)("avoiding className", {
8244
8258
  isAnimatedAndHydrated,
8245
8259
  isDisabledManually,
@@ -8266,26 +8280,6 @@ var require_useComponentState_native = __commonJS({
8266
8280
  }
8267
8281
  };
8268
8282
  }
8269
- if (!curStateRef.stateEmitter && hasAnimationProp) {
8270
- var listeners1 = /* @__PURE__ */ new Set();
8271
- curStateRef.stateEmitter = {
8272
- listeners: listeners1,
8273
- emit(state2) {
8274
- listeners1.forEach(function(l) {
8275
- return l(state2);
8276
- });
8277
- },
8278
- subscribe(cb) {
8279
- return listeners1.add(cb), setStateShallow({
8280
- hasDynGroupChildren: !0
8281
- }), function() {
8282
- listeners1.delete(cb), listeners1.size === 0 && setStateShallow({
8283
- hasDynGroupChildren: !1
8284
- });
8285
- };
8286
- }
8287
- };
8288
- }
8289
8283
  return {
8290
8284
  startedUnhydrated,
8291
8285
  curStateRef,
@@ -8303,7 +8297,7 @@ var require_useComponentState_native = __commonJS({
8303
8297
  noClass,
8304
8298
  state,
8305
8299
  stateRef,
8306
- supportsCSSVars,
8300
+ supportsCSS,
8307
8301
  willBeAnimated,
8308
8302
  willBeAnimatedClient
8309
8303
  };
@@ -8535,45 +8529,15 @@ var require_createComponent_native = __commonJS({
8535
8529
  }
8536
8530
  });
8537
8531
  module2.exports = __toCommonJS2(createComponent_exports);
8538
- var import_jsx_runtime6 = require("react/jsx-runtime"), import_compose_refs = require_index_native11(), import_constants4 = require_index_native6(), import_helpers = require_index_native7(), 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(), time2, debugKeyListeners, startVisualizer, componentSetStates = /* @__PURE__ */ new Set();
8539
- typeof window < "u" && (cancelTouches = function() {
8540
- componentSetStates.forEach(function(setState) {
8541
- return setState(function(prev) {
8542
- return prev.press || prev.pressIn ? {
8543
- ...prev,
8544
- press: !1,
8545
- pressIn: !1
8546
- } : prev;
8547
- });
8548
- }), componentSetStates.clear();
8549
- }, addEventListener("mouseup", cancelTouches), addEventListener("touchend", cancelTouches), addEventListener("touchcancel", cancelTouches), process.env.NODE_ENV === "development" && (startVisualizer = function() {
8550
- var devVisualizerConfig = import_config.devConfig === null || import_config.devConfig === void 0 ? void 0 : import_config.devConfig.visualizer;
8551
- if (devVisualizerConfig) {
8552
- var show2 = function(val) {
8553
- clearTimeout(tm), isShowing = val, debugKeyListeners == null || debugKeyListeners.forEach(function(l) {
8554
- return l(val);
8555
- });
8556
- }, show = show2;
8557
- debugKeyListeners = /* @__PURE__ */ new Set();
8558
- var tm, isShowing = !1, options = {
8559
- key: "Alt",
8560
- delay: 800,
8561
- ...typeof devVisualizerConfig == "object" ? devVisualizerConfig : {}
8562
- };
8563
- window.addEventListener("blur", function() {
8564
- show2(!1);
8565
- }), window.addEventListener("keydown", function(param) {
8566
- var { key, defaultPrevented } = param;
8567
- defaultPrevented || (clearTimeout(tm), key === options.key && (tm = setTimeout(function() {
8568
- show2(!0);
8569
- }, options.delay)));
8570
- }), window.addEventListener("keyup", function(param) {
8571
- var { key, defaultPrevented } = param;
8572
- defaultPrevented || key === options.key && isShowing && show2(!1);
8573
- });
8574
- }
8575
- }));
8576
- var cancelTouches, BaseText, BaseView, hasSetupBaseViews = !1, lastInteractionWasKeyboard = {
8532
+ var import_jsx_runtime6 = require("react/jsx-runtime"), import_compose_refs = require_index_native11(), import_constants4 = require_index_native6(), import_helpers = require_index_native7(), 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(), time2, debugKeyListeners, startVisualizer, componentSetStates = /* @__PURE__ */ new Set(), avoidReRenderKeys = /* @__PURE__ */ new Set([
8533
+ "hover",
8534
+ "press",
8535
+ "pressIn",
8536
+ "group",
8537
+ "media"
8538
+ ]);
8539
+ if (0) var cancelTouches;
8540
+ var BaseText, BaseView, hasSetupBaseViews = !1, lastInteractionWasKeyboard = {
8577
8541
  value: !1
8578
8542
  };
8579
8543
  import_constants4.isWeb && globalThis.document && (document.addEventListener("keydown", function() {
@@ -8650,7 +8614,7 @@ var require_createComponent_native = __commonJS({
8650
8614
  }, [
8651
8615
  componentName2
8652
8616
  ]);
8653
- var 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;
8617
+ var 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, supportsCSS, willBeAnimated, willBeAnimatedClient, startedUnhydrated } = componentState, setStateShallow = componentState.setStateShallow;
8654
8618
  process.env.NODE_ENV === "development" && time2 && time2`use-state`;
8655
8619
  var hasTextAncestor = !!(import_constants4.isWeb && isText && componentContext.inText), isTaggable = !Component || typeof Component == "string", tagProp = props.tag, element = import_constants4.isWeb && isTaggable && tagProp || Component, BaseTextComponent = BaseText || element || "span", BaseViewComponent = BaseView || element || (hasTextAncestor ? "span" : "div"), elementType = isText ? BaseTextComponent : BaseViewComponent;
8656
8620
  animationDriver && isAnimated && // this should really be behind another prop as it's not really related to
@@ -8674,7 +8638,7 @@ var require_createComponent_native = __commonJS({
8674
8638
  noClass,
8675
8639
  isAnimated,
8676
8640
  isWeb: import_constants4.isWeb,
8677
- supportsCSSVars
8641
+ supportsCSS
8678
8642
  });
8679
8643
  else {
8680
8644
  console.groupEnd();
@@ -8703,7 +8667,7 @@ var require_createComponent_native = __commonJS({
8703
8667
  (0, import_createVariable.setDidGetVariableValue)(!1), process.env.NODE_ENV === "development" && time2 && time2`media`;
8704
8668
  var resolveValues = (
8705
8669
  // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child
8706
- isAnimated && !supportsCSSVars || isHOC && state.unmounted == !1 && hasAnimationProp ? "value" : "auto"
8670
+ isAnimated && !supportsCSS || isHOC && state.unmounted == !1 && hasAnimationProp ? "value" : "auto"
8707
8671
  ), styleProps = {
8708
8672
  mediaState: mediaState3,
8709
8673
  noClass,
@@ -8719,18 +8683,19 @@ var require_createComponent_native = __commonJS({
8719
8683
  if (hasAnimationProp && animationDriver != null && animationDriver.avoidReRenders) {
8720
8684
  var styleListener = stateRef.current.useStyleListener, ogSetStateShallow = setStateShallow;
8721
8685
  setStateShallow = function(next) {
8722
- var avoidReRenderKeys = /* @__PURE__ */ new Set([
8723
- "hover",
8724
- "press",
8725
- "pressIn"
8726
- ]), canAvoidReRender = Object.keys(next).every(function(key3) {
8686
+ var canAvoidReRender = Object.keys(next).every(function(key3) {
8727
8687
  return avoidReRenderKeys.has(key3);
8728
8688
  });
8729
8689
  if (canAvoidReRender && styleListener) {
8730
- var updatedState = {
8690
+ var _curStateRef_group, _curStateRef_group1, updatedState = {
8731
8691
  ...state,
8732
8692
  ...next
8733
- }, nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, styleProps, null, componentContext, elementType, startedUnhydrated, debugProp);
8693
+ };
8694
+ (_curStateRef_group1 = curStateRef.group) === null || _curStateRef_group1 === void 0 || _curStateRef_group1.emit(groupName, {
8695
+ pseudo: updatedState,
8696
+ layout: (_curStateRef_group = curStateRef.group) === null || _curStateRef_group === void 0 ? void 0 : _curStateRef_group.layout
8697
+ }), stateRef.current.nextComponentState = updatedState;
8698
+ var nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, styleProps, null, componentContext, elementType, startedUnhydrated, debugProp);
8734
8699
  styleListener(nextStyles.style);
8735
8700
  } else ogSetStateShallow(next);
8736
8701
  };
@@ -8770,7 +8735,7 @@ var require_createComponent_native = __commonJS({
8770
8735
  !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && _themeProp && (viewProps.theme = _themeProp), tagProp && elementType.acceptTagProp && (viewProps.tag = tagProp);
8771
8736
  var animationStyles, shouldUseAnimation = (
8772
8737
  // if it supports css vars we run it on server too to get matching initial style
8773
- (supportsCSSVars ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
8738
+ (supportsCSS ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
8774
8739
  ), animatedRef;
8775
8740
  if (shouldUseAnimation) {
8776
8741
  var useStyleEmitter = animationDriver != null && animationDriver.avoidReRenders ? function(listener) {
@@ -8827,7 +8792,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
8827
8792
  console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`), console.warn(stateRef.current.host), console.warn(computed), console.groupEnd();
8828
8793
  }
8829
8794
  }), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
8830
- if (state.unmounted === !0 && hasEnterStyle) {
8795
+ if (stateRef.current.nextComponentState = void 0, state.unmounted === !0 && hasEnterStyle) {
8831
8796
  setStateShallow({
8832
8797
  unmounted: "should-enter"
8833
8798
  });
@@ -8835,8 +8800,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
8835
8800
  }
8836
8801
  var tm;
8837
8802
  if (state.unmounted) {
8838
- var _config_animations2, _animationDriver_supportsCSSVars;
8839
- if (((_animationDriver_supportsCSSVars = animationDriver == null ? void 0 : animationDriver.supportsCSSVars) !== null && _animationDriver_supportsCSSVars !== void 0 ? _animationDriver_supportsCSSVars : !(config == null || (_config_animations2 = config.animations) === null || _config_animations2 === void 0) && _config_animations2.supportsCSSVars) || import_constants4.isAndroid) return tm = setTimeout(function() {
8803
+ if (animationDriver != null && animationDriver.supportsCSS || import_constants4.isAndroid) return tm = setTimeout(function() {
8840
8804
  setStateShallow({
8841
8805
  unmounted: !1
8842
8806
  });
@@ -11421,7 +11385,7 @@ var require_TamaguiProvider_native = __commonJS({
11421
11385
  }
11422
11386
  });
11423
11387
  module2.exports = __toCommonJS2(TamaguiProvider_exports);
11424
- var import_jsx_runtime6 = require("react/jsx-runtime"), import_constants4 = require_index_native6(), import_use_did_finish_ssr = require_index_native14(), 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();
11388
+ var import_jsx_runtime6 = require("react/jsx-runtime"), import_constants4 = require_index_native6(), import_use_did_finish_ssr = require_index_native14(), 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(), import_insertStyleRule = require_insertStyleRule_native();
11425
11389
  function TamaguiProvider2(param) {
11426
11390
  var { children, disableInjectCSS, config, className, defaultTheme, disableRootThemeClass, reset, themeClassNameOnRoot } = param;
11427
11391
  import_constants4.IS_REACT_19 || import_constants4.isClient && (0, import_constants4.useIsomorphicLayoutEffect)(function() {
@@ -11435,7 +11399,7 @@ var require_TamaguiProvider_native = __commonJS({
11435
11399
  config,
11436
11400
  disableInjectCSS
11437
11401
  ]), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
11438
- (0, import_useMedia.updateMediaListeners)();
11402
+ (0, import_insertStyleRule.stopAccumulatingRules)(), (0, import_useMedia.updateMediaListeners)();
11439
11403
  }, []);
11440
11404
  var contents = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(UnmountedClassName, {
11441
11405
  children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_ComponentContext.ComponentContext.Provider, {
@@ -13355,49 +13319,51 @@ var require_index_native19 = __commonJS({
13355
13319
  return cb();
13356
13320
  }), queuedUpdates.clear()));
13357
13321
  }
13322
+ var expectedFrameTime = 16.67, numDroppedFramesUntilPause = 10;
13358
13323
  if (import_constants4.isClient) if (rAF) {
13359
13324
  layoutOnAnimationFrame = function() {
13360
13325
  var now = Date.now(), timeSinceLastFrame = now - lastFrameAt;
13361
- if (lastFrameAt = now, strategy !== "off") {
13362
- var expectedFrameTime = 16.67, hasRecentSyncWork = timeSinceLastFrame > expectedFrameTime * numDroppedFramesUntilPause;
13326
+ if (lastFrameAt = now, frameCount < runEveryXFrames) {
13327
+ frameCount++, rAF(layoutOnAnimationFrame);
13328
+ return;
13329
+ }
13330
+ if (frameCount = 0, strategy !== "off") {
13331
+ var hasRecentSyncWork = timeSinceLastFrame > expectedFrameTime * numDroppedFramesUntilPause;
13363
13332
  hasRecentSyncWork || Nodes.forEach(function(node) {
13364
13333
  updateLayoutIfChanged(node, lastFrameAt);
13365
13334
  });
13366
13335
  }
13367
13336
  rAF(layoutOnAnimationFrame);
13368
- }, layoutOnAnimationFrame2 = layoutOnAnimationFrame, lastFrameAt = Date.now(), numDroppedFramesUntilPause = 2;
13337
+ }, layoutOnAnimationFrame2 = layoutOnAnimationFrame, lastFrameAt = Date.now();
13369
13338
  async function updateLayoutIfChanged(node, frameId) {
13370
- var parentNode = node.parentElement, nodeRect, parentRect;
13371
- if (strategy === "async") {
13372
- var [nr, pr] = await Promise.all([
13373
- getBoundingClientRectAsync(node),
13374
- getBoundingClientRectAsync(parentNode)
13375
- ]);
13376
- if (frameId !== lastFrameAt) return;
13377
- nodeRect = nr, parentRect = pr;
13378
- } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode == null ? void 0 : parentNode.getBoundingClientRect();
13379
- if (parentRect) {
13380
- var onLayout = LayoutHandlers.get(node);
13381
- if (typeof onLayout == "function") {
13382
- var cachedRect = NodeRectCache.get(node), cachedParentRect = parentNode ? NodeRectCache.get(parentNode) : null;
13339
+ var onLayout = LayoutHandlers.get(node);
13340
+ if (typeof onLayout == "function") {
13341
+ var parentNode = node.parentElement;
13342
+ if (parentNode) {
13343
+ var nodeRect, parentRect;
13344
+ if (strategy === "async") {
13345
+ var [nr, pr] = await Promise.all([
13346
+ getBoundingClientRectAsync(node),
13347
+ getBoundingClientRectAsync(parentNode)
13348
+ ]);
13349
+ if (frameId !== lastFrameAt) return;
13350
+ nodeRect = nr, parentRect = pr;
13351
+ } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
13352
+ var cachedRect = NodeRectCache.get(node), cachedParentRect = NodeRectCache.get(parentNode);
13383
13353
  if (!cachedRect || // has changed one rect
13384
13354
  !(0, import_is_equal_shallow.isEqualShallow)(cachedRect, nodeRect) && (!cachedParentRect || !(0, import_is_equal_shallow.isEqualShallow)(cachedParentRect, parentRect))) {
13385
- if (NodeRectCache.set(node, nodeRect), parentRect && parentNode && ParentRectCache.set(parentNode, parentRect), avoidUpdates) {
13386
- var event = getElementLayoutEvent(nodeRect, parentRect);
13387
- queuedUpdates.set(node, function() {
13388
- return onLayout(event);
13389
- });
13390
- } else if (strategy !== "async") {
13391
- var event1 = getElementLayoutEvent(nodeRect, parentRect);
13392
- onLayout(event1);
13393
- }
13355
+ NodeRectCache.set(node, nodeRect), ParentRectCache.set(parentNode, parentRect);
13356
+ var event = getElementLayoutEvent(nodeRect, parentRect);
13357
+ avoidUpdates ? queuedUpdates.set(node, function() {
13358
+ return onLayout(event);
13359
+ }) : onLayout(event);
13394
13360
  }
13395
13361
  }
13396
13362
  }
13397
13363
  }
13398
- rAF(layoutOnAnimationFrame);
13364
+ rAF(layoutOnAnimationFrame), frameCount = 0, runEveryXFrames = 6;
13399
13365
  } else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
13400
- var layoutOnAnimationFrame, layoutOnAnimationFrame2, lastFrameAt, numDroppedFramesUntilPause, getElementLayoutEvent = function(nodeRect, parentRect) {
13366
+ var layoutOnAnimationFrame, layoutOnAnimationFrame2, lastFrameAt, frameCount, runEveryXFrames, getElementLayoutEvent = function(nodeRect, parentRect) {
13401
13367
  return {
13402
13368
  nativeEvent: {
13403
13369
  layout: getRelativeDimensions(nodeRect, parentRect),
@@ -18467,7 +18433,7 @@ var require_SheetImplementationCustom_native = __commonJS({
18467
18433
  var parentSheet = import_react3.default.useContext(import_contexts.ParentSheetContext), { animation, animationConfig: animationConfigProp, modal = !1, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = !1, unmountChildrenWhenHidden = !1, portalProps, containerComponent: ContainerComponent = import_react3.default.Fragment } = props, state = (0, import_useSheetOpenState.useSheetOpenState)(props), [overlayComponent, setOverlayComponent] = import_react3.default.useState(null), providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state, {
18468
18434
  onOverlayComponent: setOverlayComponent
18469
18435
  }), { frameSize, setFrameSize, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps, { open, controller, isHidden } = state, sheetRef = import_react3.default.useRef(void 0), ref = (0, import_compose_refs.useComposedRefs)(forwardedRef, sheetRef, providerProps.contentRef), { animationDriver } = (0, import_core12.useConfiguration)(), animationConfig = function() {
18470
- if (animationDriver.supportsCSSVars) return {};
18436
+ if (animationDriver.supportsCSS) return {};
18471
18437
  var [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [
18472
18438
  animation
18473
18439
  ] : [];
@@ -30941,6 +30907,8 @@ EnsureFlexed.isVisuallyHidden = !0;
30941
30907
  var import_core5 = __toESM(require_index_native20()), import_stacks = __toESM(require_index_native24()), Fieldset = (0, import_core5.styled)(import_stacks.YStack, {
30942
30908
  name: "Fieldset",
30943
30909
  tag: "fieldset",
30910
+ // remove browser default styling
30911
+ borderWidth: 0,
30944
30912
  variants: {
30945
30913
  horizontal: {
30946
30914
  true: {