tamagui 1.129.12-1751386794649 → 1.129.12-1751449245669

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.
@@ -3285,6 +3285,80 @@ var require_index_native11 = __commonJS({
3285
3285
  }
3286
3286
  });
3287
3287
 
3288
+ // ../../packages/is-equal-shallow/dist/cjs/index.native.js
3289
+ var require_index_native12 = __commonJS({
3290
+ "../../packages/is-equal-shallow/dist/cjs/index.native.js"(exports2, module2) {
3291
+ "use strict";
3292
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
3293
+ for (var name in all) __defProp2(target, name, {
3294
+ get: all[name],
3295
+ enumerable: !0
3296
+ });
3297
+ }, __copyProps2 = function(to, from, except, desc) {
3298
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
3299
+ if (from && typeof from == "object" || typeof from == "function") try {
3300
+ for (var _loop = function() {
3301
+ var key = _step.value;
3302
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, {
3303
+ get: function() {
3304
+ return from[key];
3305
+ },
3306
+ enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
3307
+ });
3308
+ }, _iterator = __getOwnPropNames2(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
3309
+ } catch (err) {
3310
+ _didIteratorError = !0, _iteratorError = err;
3311
+ } finally {
3312
+ try {
3313
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
3314
+ } finally {
3315
+ if (_didIteratorError)
3316
+ throw _iteratorError;
3317
+ }
3318
+ }
3319
+ return to;
3320
+ }, __toCommonJS2 = function(mod) {
3321
+ return __copyProps2(__defProp2({}, "__esModule", {
3322
+ value: !0
3323
+ }), mod);
3324
+ }, index_exports2 = {};
3325
+ __export2(index_exports2, {
3326
+ isEqualShallow: function() {
3327
+ return isEqualShallow;
3328
+ },
3329
+ mergeIfNotShallowEqual: function() {
3330
+ return mergeIfNotShallowEqual;
3331
+ },
3332
+ useCreateShallowSetState: function() {
3333
+ return useCreateShallowSetState;
3334
+ }
3335
+ });
3336
+ module2.exports = __toCommonJS2(index_exports2);
3337
+ var import_react3 = require("react");
3338
+ function useCreateShallowSetState(setter, debug) {
3339
+ return (0, import_react3.useCallback)(function(stateOrGetState) {
3340
+ setter(function(prev) {
3341
+ var next = typeof stateOrGetState == "function" ? stateOrGetState(prev) : stateOrGetState, update = mergeIfNotShallowEqual(prev, next);
3342
+ return update;
3343
+ });
3344
+ }, [
3345
+ setter,
3346
+ debug
3347
+ ]);
3348
+ }
3349
+ function mergeIfNotShallowEqual(prev, next) {
3350
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : {
3351
+ ...prev,
3352
+ ...next
3353
+ };
3354
+ }
3355
+ function isEqualShallow(prev, next) {
3356
+ for (var key in next) if (prev[key] !== next[key]) return !1;
3357
+ return !0;
3358
+ }
3359
+ }
3360
+ });
3361
+
3288
3362
  // ../../core/web/dist/cjs/constants/isDevTools.native.js
3289
3363
  var require_isDevTools_native = __commonJS({
3290
3364
  "../../core/web/dist/cjs/constants/isDevTools.native.js"(exports2, module2) {
@@ -3528,13 +3602,55 @@ var require_ComponentContext_native = __commonJS({
3528
3602
  inText: !1,
3529
3603
  language: null,
3530
3604
  animationDriver: null,
3531
- setParentFocusState: null,
3532
- groups: {
3533
- emit: null,
3534
- subscribe: null,
3535
- state: {}
3605
+ setParentFocusState: null
3606
+ });
3607
+ }
3608
+ });
3609
+
3610
+ // ../../core/web/dist/cjs/contexts/GroupContext.native.js
3611
+ var require_GroupContext_native = __commonJS({
3612
+ "../../core/web/dist/cjs/contexts/GroupContext.native.js"(exports2, module2) {
3613
+ "use strict";
3614
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
3615
+ for (var name in all) __defProp2(target, name, {
3616
+ get: all[name],
3617
+ enumerable: !0
3618
+ });
3619
+ }, __copyProps2 = function(to, from, except, desc) {
3620
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
3621
+ if (from && typeof from == "object" || typeof from == "function") try {
3622
+ for (var _loop = function() {
3623
+ var key = _step.value;
3624
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, {
3625
+ get: function() {
3626
+ return from[key];
3627
+ },
3628
+ enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
3629
+ });
3630
+ }, _iterator = __getOwnPropNames2(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
3631
+ } catch (err) {
3632
+ _didIteratorError = !0, _iteratorError = err;
3633
+ } finally {
3634
+ try {
3635
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
3636
+ } finally {
3637
+ if (_didIteratorError)
3638
+ throw _iteratorError;
3639
+ }
3640
+ }
3641
+ return to;
3642
+ }, __toCommonJS2 = function(mod) {
3643
+ return __copyProps2(__defProp2({}, "__esModule", {
3644
+ value: !0
3645
+ }), mod);
3646
+ }, GroupContext_exports = {};
3647
+ __export2(GroupContext_exports, {
3648
+ GroupContext: function() {
3649
+ return GroupContext;
3536
3650
  }
3537
3651
  });
3652
+ module2.exports = __toCommonJS2(GroupContext_exports);
3653
+ var import_react3 = require("react"), GroupContext = /* @__PURE__ */ (0, import_react3.createContext)(null);
3538
3654
  }
3539
3655
  });
3540
3656
 
@@ -4443,7 +4559,7 @@ var require_normalize_color = __commonJS({
4443
4559
  });
4444
4560
 
4445
4561
  // ../../core/normalize-css-color/dist/cjs/index.native.js
4446
- var require_index_native12 = __commonJS({
4562
+ var require_index_native13 = __commonJS({
4447
4563
  "../../core/normalize-css-color/dist/cjs/index.native.js"(exports2, module2) {
4448
4564
  "use strict";
4449
4565
  var __create2 = Object.create, __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __getProtoOf2 = Object.getPrototypeOf, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
@@ -4566,7 +4682,7 @@ var require_normalizeColor_native = __commonJS({
4566
4682
  }
4567
4683
  });
4568
4684
  module2.exports = __toCommonJS2(normalizeColor_exports);
4569
- var import_normalize_css_color = require_index_native12(), import_normalize_css_color2 = require_index_native12(), normalizeColor = function(color, opacity) {
4685
+ var import_normalize_css_color = require_index_native13(), import_normalize_css_color2 = require_index_native13(), normalizeColor = function(color, opacity) {
4570
4686
  if (color) {
4571
4687
  if (color[0] === "$") return color;
4572
4688
  if (color.startsWith("var(")) {
@@ -6127,7 +6243,7 @@ var require_getSplitStyles_native = __commonJS({
6127
6243
  function isValidStyleKey(key, validStyles, accept) {
6128
6244
  return key in validStyles ? !0 : accept && key in accept;
6129
6245
  }
6130
- var getSplitStyles = function(props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, componentContext, elementType, startedUnhydrated, debug) {
6246
+ var getSplitStyles = function(props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, componentContext, groupContext, elementType, startedUnhydrated, debug) {
6131
6247
  var _loop = function(keyOg2) {
6132
6248
  var keyInit = keyOg2, valInit = props[keyInit];
6133
6249
  if (keyInit === "children") return viewProps[keyInit] = valInit, "continue";
@@ -6136,7 +6252,7 @@ var require_getSplitStyles_native = __commonJS({
6136
6252
  var accepted = accept[keyInit];
6137
6253
  if ((accepted === "style" || accepted === "textStyle") && valInit && typeof valInit == "object") return viewProps[keyInit] = getSubStyle(styleState, keyInit, valInit, styleProps.noClass), "continue";
6138
6254
  }
6139
- if (disableExpandShorthands || keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === "className" || keyInit in usedKeys) return "continue";
6255
+ if (disableExpandShorthands || keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === "className") return "continue";
6140
6256
  if (keyInit in import_skipProps.skipProps && !noSkip && !isHOC) {
6141
6257
  if (keyInit === "group" && !1) var identifier2, containerType, containerCSS;
6142
6258
  return "continue";
@@ -6161,7 +6277,7 @@ var require_getSplitStyles_native = __commonJS({
6161
6277
  parts.length === 2 || parts.length === 3 && import_pseudoDescriptors.pseudoPriorities[parts[parts.length - 1]]
6162
6278
  ) {
6163
6279
  var name2 = parts[1];
6164
- componentContext != null && componentContext.groups.subscribe && !(componentContext != null && componentContext.groups.state[name2]) && (keyInit = keyInit.replace("$group-", "$group-true-"));
6280
+ groupContext != null && groupContext[name2] || (keyInit = keyInit.replace("$group-", "$group-true-"));
6165
6281
  }
6166
6282
  }
6167
6283
  var isStyleProp = isValidStyleKeyInit || isMediaOrPseudo || isVariant && !noExpand;
@@ -6177,13 +6293,13 @@ var require_getSplitStyles_native = __commonJS({
6177
6293
  viewProps[key4] = val2;
6178
6294
  return;
6179
6295
  }
6180
- if (val2 != null && !(key4 in usedKeys)) {
6296
+ if (val2 != null) {
6181
6297
  if (key4 === "pointerEvents") {
6182
6298
  viewProps[key4] = val2;
6183
6299
  return;
6184
6300
  }
6185
6301
  if (!isHOC && isValidStyleKey(key4, validStyles, accept) || import_constants4.isAndroid && key4 === "elevation") {
6186
- mergeStyle(styleState, key4, val2);
6302
+ mergeStyle(styleState, key4, val2, 1);
6187
6303
  return;
6188
6304
  }
6189
6305
  if (isPseudo = key4 in import_helpers.validPseudoKeys, isMedia = !isPseudo && (0, import_useMedia.isMediaKey)(key4), isMediaOrPseudo = !!(isMedia || isPseudo), isVariant = variants && key4 in variants, inlineProps != null && inlineProps.has(key4) || process.env.IS_STATIC === "is_static" && inlineWhenUnflattened != null && inlineWhenUnflattened.has(key4)) {
@@ -6212,7 +6328,7 @@ var require_getSplitStyles_native = __commonJS({
6212
6328
  try {
6213
6329
  for (var _iterator2 = pseudoStyles[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
6214
6330
  var psuedoStyle = _step2.value, fullKey = `${psuedoStyle[import_helpers.StyleObjectProperty]}${PROP_SPLIT}${descriptor.name}`;
6215
- fullKey in usedKeys || (addStyleToInsertRules(rulesToInsert, psuedoStyle), classNames[fullKey] = psuedoStyle[import_helpers.StyleObjectIdentifier]);
6331
+ addStyleToInsertRules(rulesToInsert, psuedoStyle), classNames[fullKey] = psuedoStyle[import_helpers.StyleObjectIdentifier];
6216
6332
  }
6217
6333
  } catch (err) {
6218
6334
  _didIteratorError2 = !0, _iteratorError2 = err;
@@ -6238,7 +6354,7 @@ var require_getSplitStyles_native = __commonJS({
6238
6354
  var _pseudos1, _key1;
6239
6355
  pseudos || (pseudos = {}), (_pseudos1 = pseudos)[_key1 = key4] || (_pseudos1[_key1] = {}), pseudos[key4][pkey] = _$val;
6240
6356
  }
6241
- mergeStyle(styleState, pkey, _$val);
6357
+ mergeStyle(styleState, pkey, _$val, importance);
6242
6358
  }
6243
6359
  }
6244
6360
  }
@@ -6253,21 +6369,20 @@ var require_getSplitStyles_native = __commonJS({
6253
6369
  if (!val2) return;
6254
6370
  var hasSpace = val2.space, mediaKeyShort = key4.slice(isMedia == "theme" ? 7 : 1);
6255
6371
  if (hasMedia || (hasMedia = !0), (hasSpace || !shouldDoClasses || styleProps.willBeAnimated) && ((!hasMedia || typeof hasMedia == "boolean") && (hasMedia = /* @__PURE__ */ new Set()), hasMedia.add(mediaKeyShort)), isMedia === "platform" && !(0, import_isActivePlatform.isActivePlatform)(key4)) return;
6256
- if (shouldDoClasses) {
6372
+ var priority = mediaStylesSeen;
6373
+ if (mediaStylesSeen += 1, shouldDoClasses) {
6257
6374
  var mediaStyle = getSubStyle(styleState, key4, val2, !1);
6258
6375
  if (hasSpace && (delete mediaStyle.space, mediaState3[mediaKeyShort])) {
6259
6376
  var importance1 = (0, import_useMedia.getMediaImportanceIfMoreImportant)(mediaKeyShort, "space", usedKeys, !0);
6260
6377
  importance1 && (space = val2.space, usedKeys.space = importance1);
6261
6378
  }
6262
- var mediaStyles = (0, import_getCSSStylesAtomic.getCSSStylesAtomic)(mediaStyle), priority = mediaStylesSeen;
6263
- mediaStylesSeen += 1;
6264
- var _iteratorNormalCompletion12 = !0, _didIteratorError12 = !1, _iteratorError12 = void 0;
6379
+ var mediaStyles = (0, import_getCSSStylesAtomic.getCSSStylesAtomic)(mediaStyle), _iteratorNormalCompletion12 = !0, _didIteratorError12 = !1, _iteratorError12 = void 0;
6265
6380
  try {
6266
6381
  for (var _iterator12 = mediaStyles[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = !0) {
6267
6382
  var style3 = _step12.value, property = style3[import_helpers.StyleObjectProperty], isSubStyle = property[0] === "$";
6268
6383
  if (!(isSubStyle && !(0, import_isActivePlatform.isActivePlatform)(property))) {
6269
6384
  var out = (0, import_createMediaStyle.createMediaStyle)(style3, mediaKeyShort, import_useMedia.mediaQueryConfig, isMedia, !1, priority), subKey = isSubStyle ? style3[2] : "", fullKey1 = `${style3[import_helpers.StyleObjectProperty]}${subKey}${PROP_SPLIT}${mediaKeyShort}${style3[import_helpers.StyleObjectPseudo] || ""}`;
6270
- fullKey1 in usedKeys || (addStyleToInsertRules(rulesToInsert, out), classNames[fullKey1] = out[import_helpers.StyleObjectIdentifier]);
6385
+ addStyleToInsertRules(rulesToInsert, out), classNames[fullKey1] = out[import_helpers.StyleObjectIdentifier];
6271
6386
  }
6272
6387
  }
6273
6388
  } catch (err) {
@@ -6300,27 +6415,28 @@ var require_getSplitStyles_native = __commonJS({
6300
6415
  scheme,
6301
6416
  val: _$val1,
6302
6417
  oppositeVal
6303
- }), mergeStyle(styleState, subKey1, mediaStyle1[subKey1]);
6418
+ }), mergeStyle(styleState, subKey1, mediaStyle1[subKey1], priority);
6304
6419
  }
6305
6420
  } else if (!(themeName === mediaKeyShort || themeName.startsWith(mediaKeyShort))) return;
6306
6421
  } else if (isGroupMedia) {
6307
- var _componentState_group, groupInfo = (0, import_getGroupPropParts.getGroupPropParts)(mediaKeyShort), groupName = groupInfo.name, groupContext = componentContext == null ? void 0 : componentContext.groups.state[groupName];
6308
- if (!groupContext)
6422
+ var _groupContext_groupName, _componentState_group, groupInfo = (0, import_getGroupPropParts.getGroupPropParts)(mediaKeyShort), groupName = groupInfo.name, groupState = groupContext == null || (_groupContext_groupName = groupContext[groupName]) === null || _groupContext_groupName === void 0 ? void 0 : _groupContext_groupName.state;
6423
+ if (!groupState)
6309
6424
  return;
6310
6425
  var groupPseudoKey = groupInfo.pseudo, groupMediaKey = groupInfo.media, componentGroupState = (_componentState_group = componentState.group) === null || _componentState_group === void 0 ? void 0 : _componentState_group[groupName];
6311
6426
  if (groupMediaKey) {
6312
6427
  mediaGroups || (mediaGroups = /* @__PURE__ */ new Set()), mediaGroups.add(groupMediaKey);
6313
6428
  var mediaState1 = componentGroupState == null ? void 0 : componentGroupState.media, isActive = mediaState1 == null ? void 0 : mediaState1[groupMediaKey];
6314
- if (!mediaState1 && groupContext.layout && (isActive = (0, import_useMedia.mediaKeyMatch)(groupMediaKey, groupContext.layout)), !isActive) {
6429
+ if (!mediaState1 && groupState.layout && (isActive = (0, import_useMedia.mediaKeyMatch)(groupMediaKey, groupState.layout)), !isActive) {
6315
6430
  for (var pkey1 in mediaStyle1) applyDefaultStyle(pkey1, styleState);
6316
6431
  return;
6317
6432
  }
6318
6433
  importanceBump = 2;
6319
6434
  }
6320
6435
  if (groupPseudoKey) {
6436
+ var _this;
6321
6437
  pseudoGroups || (pseudoGroups = /* @__PURE__ */ new Set()), pseudoGroups.add(groupName);
6322
- var componentGroupPseudoState = (componentGroupState || // fallback to context initially
6323
- componentContext.groups.state[groupName]).pseudo, isActive1 = componentGroupPseudoState == null ? void 0 : componentGroupPseudoState[groupPseudoKey], priority1 = import_pseudoDescriptors.pseudoPriorities[groupPseudoKey];
6438
+ var componentGroupPseudoState = (_this = componentGroupState || // fallback to context initially
6439
+ (groupContext == null ? void 0 : groupContext[groupName].state)) === null || _this === void 0 ? void 0 : _this.pseudo, isActive1 = componentGroupPseudoState == null ? void 0 : componentGroupPseudoState[groupPseudoKey], priority1 = import_pseudoDescriptors.pseudoPriorities[groupPseudoKey];
6324
6440
  if (!isActive1) {
6325
6441
  for (var pkey2 in mediaStyle1) applyDefaultStyle(pkey2, styleState);
6326
6442
  return;
@@ -6468,11 +6584,11 @@ var require_getSplitStyles_native = __commonJS({
6468
6584
  mergeTransform(target, key, val, !0);
6469
6585
  });
6470
6586
  }
6471
- function mergeStyle(styleState, key, val) {
6472
- var disableNormalize = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1, { viewProps, styleProps, staticConfig } = styleState;
6473
- if (key in import_helpers.stylePropsTransform) {
6474
- var _styleState;
6475
- (_styleState = styleState).flatTransforms || (_styleState.flatTransforms = {}), styleState.flatTransforms[key] = val;
6587
+ function mergeStyle(styleState, key, val, importance) {
6588
+ var disableNormalize = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !1, { viewProps, styleProps, staticConfig } = styleState, existingImportance = styleState.usedKeys[key];
6589
+ if (!(importance < existingImportance)) if (key in import_helpers.stylePropsTransform) {
6590
+ var _styleState, _styleState_usedKeys, _key;
6591
+ (_styleState = styleState).flatTransforms || (_styleState.flatTransforms = {}), (_styleState_usedKeys = styleState.usedKeys)[_key = key] || (_styleState_usedKeys[_key] = 1), styleState.flatTransforms[key] = val;
6476
6592
  } else {
6477
6593
  var shouldNormalize = import_constants4.isWeb && !disableNormalize && !styleProps.noNormalize, out = shouldNormalize ? (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(val, key) : val;
6478
6594
  if (
@@ -6480,8 +6596,8 @@ var require_getSplitStyles_native = __commonJS({
6480
6596
  staticConfig.accept && key in staticConfig.accept
6481
6597
  ) viewProps[key] = out;
6482
6598
  else {
6483
- var _styleState1;
6484
- (_styleState1 = styleState).style || (_styleState1.style = {}), styleState.style[key] = // if you dont do this you'll be passing props.transform arrays directly here and then mutating them
6599
+ var _styleState1, _styleState_usedKeys1, _key1;
6600
+ (_styleState1 = styleState).style || (_styleState1.style = {}), (_styleState_usedKeys1 = styleState.usedKeys)[_key1 = key] || (_styleState_usedKeys1[_key1] = 1), styleState.style[key] = // if you dont do this you'll be passing props.transform arrays directly here and then mutating them
6485
6601
  // if theres any flatTransforms later, causing issues (mutating props is bad, in strict mode styles get borked)
6486
6602
  key === "transform" && Array.isArray(out) ? [
6487
6603
  ...out
@@ -6512,8 +6628,8 @@ var require_getSplitStyles_native = __commonJS({
6512
6628
  }
6513
6629
  return styleProps.noNormalize || (0, import_expandStyles.fixStyles)(styleOut), styleOut;
6514
6630
  }, useInsertEffectCompat = import_constants4.isWeb ? import_react3.default.useInsertionEffect || import_constants4.useIsomorphicLayoutEffect : function() {
6515
- }, useSplitStyles = function(a, b, c, d, e, f, g, h, i, j, k) {
6516
- var res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k);
6631
+ }, useSplitStyles = function(a, b, c, d, e, f, g, h, i, j, k, l) {
6632
+ var res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l);
6517
6633
  return res;
6518
6634
  };
6519
6635
  function addStyleToInsertRules(rulesToInsert, styleObject) {
@@ -6558,14 +6674,14 @@ var require_getSplitStyles_native = __commonJS({
6558
6674
  delete viewProps[key], viewProps[key] = next;
6559
6675
  } else viewProps[key] = val;
6560
6676
  }
6561
- function mergeMediaByImportance(styleState, mediaKey, key, value, importancesUsed, isSizeMedia, importanceBump, debugProp) {
6562
- var importance = (0, import_useMedia.getMediaImportanceIfMoreImportant)(mediaKey, key, importancesUsed, isSizeMedia);
6677
+ function mergeMediaByImportance(styleState, mediaKey, key, value, usedKeys, isSizeMedia, importanceBump, debugProp) {
6678
+ var importance = (0, import_useMedia.getMediaImportanceIfMoreImportant)(mediaKey, key, usedKeys, isSizeMedia);
6563
6679
  if (importanceBump && (importance = (importance || 0) + importanceBump), importance === null) return !1;
6564
- if (importancesUsed[key] = importance, key in import_pseudoDescriptors.pseudoDescriptors) {
6680
+ if (usedKeys[key] = importance, key in import_pseudoDescriptors.pseudoDescriptors) {
6565
6681
  var descriptor = import_pseudoDescriptors.pseudoDescriptors[key], descriptorKey = descriptor.stateKey || descriptor.name, isDisabled = styleState.componentState[descriptorKey] === !1;
6566
6682
  if (isDisabled) return !1;
6567
- for (var subKey in value) mergeStyle(styleState, subKey, value[subKey]);
6568
- } else mergeStyle(styleState, key, value);
6683
+ for (var subKey in value) mergeStyle(styleState, subKey, value[subKey], importance);
6684
+ } else mergeStyle(styleState, key, value, importance);
6569
6685
  return !0;
6570
6686
  }
6571
6687
  function normalizeStyle(style) {
@@ -6578,7 +6694,7 @@ var require_getSplitStyles_native = __commonJS({
6578
6694
  }
6579
6695
  function applyDefaultStyle(pkey, styleState) {
6580
6696
  var defaultValues = animatableDefaults[pkey];
6581
- defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style)) && mergeStyle(styleState, pkey, defaultValues);
6697
+ defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style)) && mergeStyle(styleState, pkey, defaultValues, 1);
6582
6698
  }
6583
6699
  }
6584
6700
  });
@@ -6699,80 +6815,6 @@ var require_setElementProps_native = __commonJS({
6699
6815
  }
6700
6816
  });
6701
6817
 
6702
- // ../../packages/is-equal-shallow/dist/cjs/index.native.js
6703
- var require_index_native13 = __commonJS({
6704
- "../../packages/is-equal-shallow/dist/cjs/index.native.js"(exports2, module2) {
6705
- "use strict";
6706
- var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = function(target, all) {
6707
- for (var name in all) __defProp2(target, name, {
6708
- get: all[name],
6709
- enumerable: !0
6710
- });
6711
- }, __copyProps2 = function(to, from, except, desc) {
6712
- var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
6713
- if (from && typeof from == "object" || typeof from == "function") try {
6714
- for (var _loop = function() {
6715
- var key = _step.value;
6716
- !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, {
6717
- get: function() {
6718
- return from[key];
6719
- },
6720
- enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
6721
- });
6722
- }, _iterator = __getOwnPropNames2(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
6723
- } catch (err) {
6724
- _didIteratorError = !0, _iteratorError = err;
6725
- } finally {
6726
- try {
6727
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
6728
- } finally {
6729
- if (_didIteratorError)
6730
- throw _iteratorError;
6731
- }
6732
- }
6733
- return to;
6734
- }, __toCommonJS2 = function(mod) {
6735
- return __copyProps2(__defProp2({}, "__esModule", {
6736
- value: !0
6737
- }), mod);
6738
- }, index_exports2 = {};
6739
- __export2(index_exports2, {
6740
- isEqualShallow: function() {
6741
- return isEqualShallow;
6742
- },
6743
- mergeIfNotShallowEqual: function() {
6744
- return mergeIfNotShallowEqual;
6745
- },
6746
- useCreateShallowSetState: function() {
6747
- return useCreateShallowSetState;
6748
- }
6749
- });
6750
- module2.exports = __toCommonJS2(index_exports2);
6751
- var import_react3 = require("react");
6752
- function useCreateShallowSetState(setter, debug) {
6753
- return (0, import_react3.useCallback)(function(next) {
6754
- setter(function(prev) {
6755
- var update = mergeIfNotShallowEqual(prev, next);
6756
- return update;
6757
- });
6758
- }, [
6759
- setter,
6760
- debug
6761
- ]);
6762
- }
6763
- function mergeIfNotShallowEqual(prev, next) {
6764
- return !prev || !next || isEqualShallow(prev, next) ? prev || next : {
6765
- ...prev,
6766
- ...next
6767
- };
6768
- }
6769
- function isEqualShallow(prev, next) {
6770
- for (var key in next) if (prev[key] !== next[key]) return !1;
6771
- return !0;
6772
- }
6773
- }
6774
- });
6775
-
6776
6818
  // ../../core/web/dist/cjs/helpers/subscribeToContextGroup.native.js
6777
6819
  var require_subscribeToContextGroup_native = __commonJS({
6778
6820
  "../../core/web/dist/cjs/helpers/subscribeToContextGroup.native.js"(exports2, module2) {
@@ -6816,31 +6858,57 @@ var require_subscribeToContextGroup_native = __commonJS({
6816
6858
  }
6817
6859
  });
6818
6860
  module2.exports = __toCommonJS2(subscribeToContextGroup_exports);
6819
- var import_useMedia = require_useMedia_native(), import_is_equal_shallow = require_index_native13(), subscribeToContextGroup = function(param) {
6820
- var { setStateShallow, pseudoGroups, mediaGroups, componentContext, state } = param;
6861
+ var import_is_equal_shallow = require_index_native12(), import_useMedia = require_useMedia_native(), subscribeToContextGroup = function(props) {
6862
+ var { pseudoGroups, mediaGroups, groupContext } = props;
6821
6863
  if (pseudoGroups || mediaGroups) {
6822
- var _componentContext_groups_subscribe, _componentContext_groups;
6823
- return (_componentContext_groups = componentContext.groups) === null || _componentContext_groups === void 0 || (_componentContext_groups_subscribe = _componentContext_groups.subscribe) === null || _componentContext_groups_subscribe === void 0 ? void 0 : _componentContext_groups_subscribe.call(_componentContext_groups, function(name, param2) {
6824
- var { layout, pseudo } = param2, _state_group, current = ((_state_group = state.group) === null || _state_group === void 0 ? void 0 : _state_group[name]) || {
6864
+ var disposables = /* @__PURE__ */ new Set();
6865
+ if (pseudoGroups) for (var _i = 0, _iter = [
6866
+ ...pseudoGroups
6867
+ ]; _i < _iter.length; _i++) {
6868
+ var name = _iter[_i];
6869
+ disposables.add(createGroupListener(name, props));
6870
+ }
6871
+ if (mediaGroups) for (var _i1 = 0, _iter1 = [
6872
+ ...mediaGroups
6873
+ ]; _i1 < _iter1.length; _i1++) {
6874
+ var name1 = _iter1[_i1];
6875
+ disposables.add(createGroupListener(name1, props));
6876
+ }
6877
+ return function() {
6878
+ disposables.forEach(function(d) {
6879
+ return d();
6880
+ });
6881
+ };
6882
+ }
6883
+ }, createGroupListener = function(name, param) {
6884
+ var { setStateShallow, pseudoGroups, mediaGroups, groupContext } = param, parent = groupContext == null ? void 0 : groupContext[name];
6885
+ return parent ? parent.subscribe(function(param2) {
6886
+ var { layout, pseudo } = param2;
6887
+ setStateShallow(function(prev) {
6888
+ var _prev_group, didChange = !1, group = ((_prev_group = prev.group) === null || _prev_group === void 0 ? void 0 : _prev_group[name]) || {
6825
6889
  pseudo: {},
6826
6890
  media: {}
6827
6891
  };
6828
- if (pseudo && pseudoGroups != null && pseudoGroups.has(String(name))) Object.assign(current.pseudo, pseudo), persist();
6829
- else if (layout && mediaGroups) {
6830
- var mediaState3 = (0, import_useMedia.getMediaState)(mediaGroups, layout), next = (0, import_is_equal_shallow.mergeIfNotShallowEqual)(current.media || {}, mediaState3);
6831
- next !== current.media && (Object.assign(current.media, next), persist());
6832
- }
6833
- function persist() {
6834
- var group = {
6835
- ...state.group,
6836
- [name]: current
6837
- };
6838
- setStateShallow({
6839
- group
6840
- });
6892
+ if (pseudo && pseudoGroups != null && pseudoGroups.has(name)) {
6893
+ var _group;
6894
+ (_group = group).pseudo || (_group.pseudo = {});
6895
+ var next = (0, import_is_equal_shallow.mergeIfNotShallowEqual)(group.pseudo, pseudo);
6896
+ next !== group.pseudo && (Object.assign(group.pseudo, pseudo), didChange = !0);
6897
+ } else if (layout && mediaGroups) {
6898
+ var _group1;
6899
+ (_group1 = group).media || (_group1.media = {});
6900
+ var mediaState3 = (0, import_useMedia.getMediaState)(mediaGroups, layout), next1 = (0, import_is_equal_shallow.mergeIfNotShallowEqual)(group.media, mediaState3);
6901
+ next1 !== group.media && (Object.assign(group.media, next1), didChange = !0);
6841
6902
  }
6903
+ return didChange ? {
6904
+ group: {
6905
+ ...prev.group,
6906
+ [name]: group
6907
+ }
6908
+ } : prev;
6842
6909
  });
6843
- }
6910
+ }) : function() {
6911
+ };
6844
6912
  };
6845
6913
  }
6846
6914
  });
@@ -7801,8 +7869,8 @@ var require_useComponentState_native = __commonJS({
7801
7869
  }
7802
7870
  });
7803
7871
  module2.exports = __toCommonJS2(useComponentState_exports);
7804
- 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) {
7805
- 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);
7872
+ var import_constants4 = require_index_native6(), import_is_equal_shallow = require_index_native12(), 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, animationDriver, staticConfig, config) {
7873
+ var _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);
7806
7874
  stateRef.current || (stateRef.current = {});
7807
7875
  var hasAnimationProp = !!("animation" in props || props.style && hasAnimatedStyleValue(props.style)), supportsCSS = animationDriver == null ? void 0 : animationDriver.supportsCSS, curStateRef = stateRef.current;
7808
7876
  !needsHydration && hasAnimationProp && (curStateRef.hasAnimated = !0);
@@ -7845,26 +7913,6 @@ var require_useComponentState_native = __commonJS({
7845
7913
  var isAnimatedAndHydrated = isAnimated && !supportsCSS, isClassNameDisabled = !staticConfig.acceptsClassName && (config.disableSSR || !state.unmounted), isDisabledManually = disableClassName && !state.unmounted;
7846
7914
  (isAnimatedAndHydrated || isDisabledManually || isClassNameDisabled) && (noClass = !0);
7847
7915
  }
7848
- if (groupName && !curStateRef.group) {
7849
- var listeners = /* @__PURE__ */ new Set();
7850
- curStateRef.group = {
7851
- listeners,
7852
- emit(name, state2) {
7853
- listeners.forEach(function(l) {
7854
- return l(name, state2);
7855
- });
7856
- },
7857
- subscribe(cb) {
7858
- return listeners.add(cb), setStateShallow({
7859
- hasDynGroupChildren: !0
7860
- }), function() {
7861
- listeners.delete(cb), listeners.size === 0 && setStateShallow({
7862
- hasDynGroupChildren: !1
7863
- });
7864
- };
7865
- }
7866
- };
7867
- }
7868
7916
  return {
7869
7917
  startedUnhydrated,
7870
7918
  curStateRef,
@@ -8114,23 +8162,26 @@ var require_createComponent_native = __commonJS({
8114
8162
  }
8115
8163
  });
8116
8164
  module2.exports = __toCommonJS2(createComponent_exports);
8117
- 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(), componentSetStates = /* @__PURE__ */ new Set(), avoidReRenderKeys = /* @__PURE__ */ new Set([
8165
+ 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_is_equal_shallow = require_index_native12(), 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_GroupContext = require_GroupContext_native(), import_createVariable = require_createVariable_native(), import_defaultComponentState = require_defaultComponentState_native(), import_getShorthandValue = require_getShorthandValue_native(), import_getSplitStyles = require_getSplitStyles_native(), import_log = require_log_native(), import_mergeProps = require_mergeProps_native(), import_setElementProps = require_setElementProps_native(), import_subscribeToContextGroup = require_subscribeToContextGroup_native(), import_themeable = require_themeable_native(), import_wrapStyleTags = require_wrapStyleTags_native(), import_useComponentState = require_useComponentState_native(), import_useMedia = require_useMedia_native(), import_useTheme = require_useTheme_native(), import_setupHooks = require_setupHooks_native(), import_Slot = require_Slot_native(), import_Theme = require_Theme_native(), componentSetStates = /* @__PURE__ */ new Set(), avoidReRenderKeys = /* @__PURE__ */ new Set([
8118
8166
  "hover",
8119
8167
  "press",
8120
8168
  "pressIn",
8121
8169
  "group",
8122
- "media"
8170
+ "focus",
8171
+ "focusWithin",
8172
+ "media",
8173
+ "group"
8123
8174
  ]);
8124
8175
  if (0) var cancelTouches;
8125
8176
  var BaseText, BaseView, hasSetupBaseViews = !1, lastInteractionWasKeyboard = {
8126
8177
  value: !1
8127
8178
  };
8128
8179
  import_constants4.isWeb && globalThis.document && (document.addEventListener("keydown", function() {
8129
- lastInteractionWasKeyboard.value = !0;
8180
+ lastInteractionWasKeyboard.value || (lastInteractionWasKeyboard.value = !0);
8130
8181
  }), document.addEventListener("mousedown", function() {
8131
- lastInteractionWasKeyboard.value = !1;
8182
+ lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1);
8132
8183
  }), document.addEventListener("mousemove", function() {
8133
- lastInteractionWasKeyboard.value = !1;
8184
+ lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1);
8134
8185
  }));
8135
8186
  function createComponent2(staticConfig) {
8136
8187
  var _staticConfig_defaultProps, { componentName } = staticConfig, config = null, defaultProps = staticConfig.defaultProps;
@@ -8155,7 +8206,7 @@ var require_createComponent_native = __commonJS({
8155
8206
  var _propsIn_datatestrenders, _current, _;
8156
8207
  (_ = (_propsIn_datatestrenders = propsIn["data-test-renders"])[_current = "current"]) !== null && _ !== void 0 || (_propsIn_datatestrenders[_current] = 0), propsIn["data-test-renders"].current += 1;
8157
8208
  }
8158
- var componentContext = import_react3.default.useContext(import_ComponentContext.ComponentContext), styledContextProps, overriddenContextProps, contextValue, { context, isReactNative } = staticConfig;
8209
+ var styledContextProps, overriddenContextProps, contextValue, { context, isReactNative } = staticConfig;
8159
8210
  if (context && (contextValue = import_react3.default.useContext(context), contextValue))
8160
8211
  for (var key in context.props) {
8161
8212
  var propVal = (0, import_getShorthandValue.getShorthandValue)(propsIn, key);
@@ -8174,21 +8225,67 @@ var require_createComponent_native = __commonJS({
8174
8225
  ...styledContextProps
8175
8226
  } : defaultProps, props = propsIn;
8176
8227
  curDefaultProps && (props = (0, import_mergeProps.mergeProps)(curDefaultProps, propsIn));
8177
- var componentName2 = props.componentName || staticConfig.componentName, animationDriver = componentContext.animationDriver, useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, componentState = (0, import_useComponentState.useComponentState)(props, componentContext, staticConfig, config), { curStateRef, disabled, groupName, hasAnimationProp, hasEnterStyle, isAnimated, isExiting, isHydrated, presence, presenceState, setState, noClass, state, stateRef, supportsCSS, willBeAnimated, willBeAnimatedClient, startedUnhydrated } = componentState, setStateShallow = componentState.setStateShallow, 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;
8228
+ var componentName2 = props.componentName || staticConfig.componentName, componentContext = import_react3.default.useContext(import_ComponentContext.ComponentContext), groupContextParent = import_react3.default.useContext(import_GroupContext.GroupContext), animationDriver = componentContext.animationDriver, useAnimations = animationDriver == null ? void 0 : animationDriver.useAnimations, componentState = (0, import_useComponentState.useComponentState)(props, animationDriver, staticConfig, config), { disabled, groupName, hasAnimationProp, hasEnterStyle, isAnimated, isExiting, isHydrated, presence, presenceState, setState, noClass, state, stateRef, supportsCSS, willBeAnimated, willBeAnimatedClient, startedUnhydrated } = componentState, allGroupContexts = (0, import_react3.useMemo)(function() {
8229
+ var _stateRef_current_group;
8230
+ if (!groupName) return groupContextParent;
8231
+ (_stateRef_current_group = stateRef.current.group) === null || _stateRef_current_group === void 0 || _stateRef_current_group.listeners.clear();
8232
+ var listeners = /* @__PURE__ */ new Set();
8233
+ return stateRef.current.group = {
8234
+ listeners,
8235
+ emit(state2) {
8236
+ listeners.forEach(function(l) {
8237
+ return l(state2);
8238
+ });
8239
+ },
8240
+ subscribe(cb) {
8241
+ return listeners.add(cb), listeners.size === 1 && setStateShallow({
8242
+ hasDynGroupChildren: !0
8243
+ }), function() {
8244
+ listeners.delete(cb), listeners.size === 0 && setStateShallow({
8245
+ hasDynGroupChildren: !1
8246
+ });
8247
+ };
8248
+ }
8249
+ }, {
8250
+ ...groupContextParent,
8251
+ [groupName]: {
8252
+ state: {
8253
+ pseudo: import_defaultComponentState.defaultComponentStateMounted
8254
+ },
8255
+ subscribe: function(listener) {
8256
+ var _stateRef_current_group2, dispose = (_stateRef_current_group2 = stateRef.current.group) === null || _stateRef_current_group2 === void 0 ? void 0 : _stateRef_current_group2.subscribe(listener);
8257
+ return function() {
8258
+ dispose == null || dispose();
8259
+ };
8260
+ }
8261
+ }
8262
+ };
8263
+ }, [
8264
+ stateRef,
8265
+ groupName,
8266
+ groupContextParent
8267
+ ]), setStateShallow = componentState.setStateShallow, pendingState = stateRef.current.nextComponentState;
8268
+ pendingState && (stateRef.current.nextComponentState = void 0, componentState.setState(function(prev) {
8269
+ return {
8270
+ ...prev,
8271
+ ...pendingState
8272
+ };
8273
+ }));
8274
+ 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;
8178
8275
  animationDriver && isAnimated && // this should really be behind another prop as it's not really related to
8179
8276
  // "needsWebStyles" basically with motion we just animate a plain div, but
8180
8277
  // we still have animated.View/Text for Sheet which wants to control
8181
8278
  // things declaratively
8182
8279
  !animationDriver.needsWebStyles && (elementType = animationDriver[isText ? "Text" : "View"] || elementType);
8183
8280
  var disableThemeProp = !1, disableTheme = disableThemeProp || isHOC;
8184
- props.themeShallow && (curStateRef.themeShallow = !0);
8281
+ props.themeShallow && (stateRef.current.themeShallow = !0);
8185
8282
  var themeStateProps = {
8186
8283
  componentName: componentName2,
8187
8284
  disable: disableTheme,
8188
- shallow: curStateRef.themeShallow,
8285
+ shallow: stateRef.current.themeShallow,
8189
8286
  debug: debugProp
8190
8287
  };
8191
- if ("themeInverse" in props && (themeStateProps.inverse = props.themeInverse), "theme" in props && (themeStateProps.name = props.theme), typeof curStateRef.isListeningToTheme == "boolean" && (themeStateProps.needsUpdate = function() {
8288
+ if ("themeInverse" in props && (themeStateProps.inverse = props.themeInverse), "theme" in props && (themeStateProps.name = props.theme), typeof stateRef.current.isListeningToTheme == "boolean" && (themeStateProps.needsUpdate = function() {
8192
8289
  return !!stateRef.current.isListeningToTheme;
8193
8290
  }), themeStateProps.deopt = willBeAnimated, !1) {
8194
8291
  var name, type, dataIs, banner;
@@ -8210,32 +8307,47 @@ var require_createComponent_native = __commonJS({
8210
8307
  willBeAnimated,
8211
8308
  styledContextProps,
8212
8309
  noMergeStyle: isAnimated && (animationDriver == null ? void 0 : animationDriver.needsWebStyles)
8213
- }, themeName = (themeState == null ? void 0 : themeState.name) || "", splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, elementType, startedUnhydrated, debugProp);
8214
- if (hasAnimationProp && animationDriver != null && animationDriver.avoidReRenders) {
8215
- var styleListener = stateRef.current.useStyleListener, ogSetStateShallow = setStateShallow;
8216
- setStateShallow = function(next) {
8217
- var canAvoidReRender = Object.keys(next).every(function(key3) {
8218
- return avoidReRenderKeys.has(key3);
8310
+ }, themeName = (themeState == null ? void 0 : themeState.name) || "", splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp), groupContext = groupName && (allGroupContexts == null ? void 0 : allGroupContexts[groupName]) || null;
8311
+ if (groupContext) {
8312
+ var groupState = groupContext == null ? void 0 : groupContext.state;
8313
+ if (groupState && groupState.layout === void 0) {
8314
+ var _splitStyles_style, _splitStyles_style1;
8315
+ (!((_splitStyles_style = splitStyles.style) === null || _splitStyles_style === void 0) && _splitStyles_style.width || !((_splitStyles_style1 = splitStyles.style) === null || _splitStyles_style1 === void 0) && _splitStyles_style1.height) && (groupState.layout = {
8316
+ width: fromPx(splitStyles.style.width),
8317
+ height: fromPx(splitStyles.style.height)
8219
8318
  });
8220
- if (canAvoidReRender && styleListener) {
8221
- var _curStateRef_group, _curStateRef_group1, updatedState = {
8222
- ...state,
8223
- ...next
8224
- };
8225
- (_curStateRef_group1 = curStateRef.group) === null || _curStateRef_group1 === void 0 || _curStateRef_group1.emit(groupName, {
8226
- pseudo: updatedState,
8227
- layout: (_curStateRef_group = curStateRef.group) === null || _curStateRef_group === void 0 ? void 0 : _curStateRef_group.layout
8228
- }), stateRef.current.nextComponentState = updatedState;
8229
- var nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, styleProps, null, componentContext, elementType, startedUnhydrated, debugProp);
8230
- styleListener(nextStyles.style);
8231
- } else ogSetStateShallow(next);
8319
+ }
8320
+ }
8321
+ if ((hasAnimationProp || groupName) && animationDriver != null && animationDriver.avoidReRenders) {
8322
+ var styleListener = stateRef.current.useStyleListener, ogSetStateShallow = setStateShallow;
8323
+ stateRef.current.setStateShallow = function(nextOrGetNext) {
8324
+ var prev = stateRef.current.nextComponentState || state, next = typeof nextOrGetNext == "function" ? nextOrGetNext(prev) : nextOrGetNext;
8325
+ if (!(next === prev || (0, import_is_equal_shallow.isEqualShallow)(prev, next))) {
8326
+ var canAvoidReRender = Object.keys(next).every(function(key3) {
8327
+ return avoidReRenderKeys.has(key3);
8328
+ });
8329
+ if (canAvoidReRender) {
8330
+ var updatedState = {
8331
+ ...prev,
8332
+ ...next
8333
+ };
8334
+ stateRef.current.nextComponentState = updatedState;
8335
+ var { group, hasDynGroupChildren, unmounted, animation, ...childrenGroupState } = updatedState;
8336
+ if (groupContext && notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState), !hasAnimationProp || !styleListener) return;
8337
+ var nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp);
8338
+ styleListener(nextStyles.style);
8339
+ } else ogSetStateShallow(next);
8340
+ }
8341
+ }, setStateShallow = function(state2) {
8342
+ var _stateRef_current_setStateShallow, _stateRef_current;
8343
+ (_stateRef_current_setStateShallow = (_stateRef_current = stateRef.current).setStateShallow) === null || _stateRef_current_setStateShallow === void 0 || _stateRef_current_setStateShallow.call(_stateRef_current, state2);
8232
8344
  };
8233
8345
  }
8234
- if (props.group && props.untilMeasured === "hide" && !curStateRef.hasMeasured) {
8346
+ if (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured) {
8235
8347
  var _splitStyles;
8236
8348
  (_splitStyles = splitStyles).style || (_splitStyles.style = {}), splitStyles.style.opacity = 0;
8237
8349
  }
8238
- curStateRef.isListeningToTheme = splitStyles.dynamicThemeAccess;
8350
+ splitStyles.dynamicThemeAccess != null && (stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess);
8239
8351
  var hasRuntimeMediaKeys = splitStyles.hasMedia && splitStyles.hasMedia !== !0, shouldListenForMedia = (0, import_createVariable.didGetVariableValue)() || hasRuntimeMediaKeys || noClass && splitStyles.hasMedia === !0, mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;
8240
8352
  (0, import_useMedia.setMediaShouldUpdate)(componentContext, shouldListenForMedia, mediaListeningKeys);
8241
8353
  var { viewProps: viewPropsIn, pseudos, style: splitStylesStyle, classNames, space } = splitStyles, propsWithAnimation = props, {
@@ -8288,18 +8400,18 @@ var require_createComponent_native = __commonJS({
8288
8400
  });
8289
8401
  animations && (animationStyles = animations.style, viewProps.style = animationStyles, animations.className && (viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`), animations.ref && (animatedRef = animations.ref));
8290
8402
  }
8291
- groupName && (nonTamaguiProps.onLayout = (0, import_helpers.composeEventHandlers)(nonTamaguiProps.onLayout, function(e) {
8292
- var layout = e.nativeEvent.layout;
8293
- stateRef.current.group.layout = layout, stateRef.current.group.emit(groupName, {
8403
+ groupContext && (nonTamaguiProps.onLayout = (0, import_helpers.composeEventHandlers)(nonTamaguiProps.onLayout, function(e) {
8404
+ var _stateRef_current_group, layout = e.nativeEvent.layout;
8405
+ groupContext.state.layout = layout, (_stateRef_current_group = stateRef.current.group) === null || _stateRef_current_group === void 0 || _stateRef_current_group.emit({
8294
8406
  layout
8295
8407
  }), !stateRef.current.hasMeasured && props.untilMeasured === "hide" && setState(function(prev) {
8296
8408
  return {
8297
8409
  ...prev
8298
8410
  };
8299
8411
  }), stateRef.current.hasMeasured = !0;
8300
- })), viewProps = ((_hooks_usePropsTransform = import_setupHooks.hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(import_setupHooks.hooks, elementType, nonTamaguiProps, stateRef, curStateRef.willHydrate)) || nonTamaguiProps, curStateRef.composedRef || (curStateRef.composedRef = (0, import_compose_refs.composeRefs)(function(x) {
8412
+ })), viewProps = ((_hooks_usePropsTransform = import_setupHooks.hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(import_setupHooks.hooks, elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate)) || nonTamaguiProps, stateRef.current.composedRef || (stateRef.current.composedRef = (0, import_compose_refs.composeRefs)(function(x) {
8301
8413
  return stateRef.current.host = x;
8302
- }, forwardedRef, import_setElementProps.setElementProps, animatedRef)), viewProps.ref = curStateRef.composedRef;
8414
+ }, forwardedRef, import_setElementProps.setElementProps, animatedRef)), viewProps.ref = stateRef.current.composedRef;
8303
8415
  var { pseudoGroups, mediaGroups } = splitStyles, unPress = function() {
8304
8416
  setStateShallow({
8305
8417
  press: !1,
@@ -8307,7 +8419,7 @@ var require_createComponent_native = __commonJS({
8307
8419
  });
8308
8420
  };
8309
8421
  (0, import_constants4.useIsomorphicLayoutEffect)(function() {
8310
- if (stateRef.current.nextComponentState = void 0, state.unmounted === !0 && hasEnterStyle) {
8422
+ if (state.unmounted === !0 && hasEnterStyle) {
8311
8423
  setStateShallow({
8312
8424
  unmounted: "should-enter"
8313
8425
  });
@@ -8327,18 +8439,21 @@ var require_createComponent_native = __commonJS({
8327
8439
  });
8328
8440
  return;
8329
8441
  }
8330
- var dispose = !disabled && (pseudoGroups || mediaGroups) ? (0, import_subscribeToContextGroup.subscribeToContextGroup)({
8331
- componentContext,
8332
- setStateShallow,
8333
- state,
8334
- mediaGroups,
8335
- pseudoGroups
8336
- }) : null;
8337
8442
  return function() {
8338
- dispose == null || dispose(), componentSetStates.delete(setState);
8443
+ componentSetStates.delete(setState);
8339
8444
  };
8340
8445
  }, [
8341
8446
  state.unmounted,
8447
+ disabled
8448
+ ]), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
8449
+ if (!disabled && !(!pseudoGroups && !mediaGroups) && allGroupContexts) return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
8450
+ groupContext: allGroupContexts,
8451
+ setStateShallow,
8452
+ mediaGroups,
8453
+ pseudoGroups
8454
+ });
8455
+ }, [
8456
+ allGroupContexts,
8342
8457
  disabled,
8343
8458
  pseudoGroups ? Object.keys([
8344
8459
  ...pseudoGroups
@@ -8346,24 +8461,15 @@ var require_createComponent_native = __commonJS({
8346
8461
  mediaGroups ? Object.keys([
8347
8462
  ...mediaGroups
8348
8463
  ]).join("") : 0
8349
- ]), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
8350
- var _curStateRef_group;
8351
- if (groupName) {
8352
- curStateRef.group.emit(groupName, {
8353
- pseudo: state,
8354
- layout: (_curStateRef_group = curStateRef.group) === null || _curStateRef_group === void 0 ? void 0 : _curStateRef_group.layout
8355
- });
8356
- var groupContextState = componentContext == null ? void 0 : componentContext.groups;
8357
- if (groupContextState) {
8358
- var next = {
8359
- ...groupContextState[groupName],
8360
- ...state
8361
- };
8362
- groupContextState[groupName] = next;
8363
- }
8364
- }
8464
+ ]), hasAnimationProp && animationDriver != null && animationDriver.avoidReRenders && (0, import_react3.useEffect)(function() {
8465
+ stateRef.current.nextComponentState = void 0;
8466
+ });
8467
+ var groupEmitter = stateRef.current.group;
8468
+ (0, import_constants4.useIsomorphicLayoutEffect)(function() {
8469
+ !groupContext || !groupEmitter || notifyGroupSubscribers(groupContext, groupEmitter, state);
8365
8470
  }, [
8366
- groupName,
8471
+ groupContext,
8472
+ groupEmitter,
8367
8473
  state
8368
8474
  ]);
8369
8475
  var runtimePressStyle = !disabled && noClass && (pseudos == null ? void 0 : pseudos.pressStyle), runtimeFocusStyle = !disabled && noClass && (pseudos == null ? void 0 : pseudos.focusStyle), runtimeFocusVisibleStyle = !disabled && noClass && (pseudos == null ? void 0 : pseudos.focusVisibleStyle), attachFocus = !!(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || componentContext.setParentFocusState), hasDynamicGroupChildren = !!(groupName && state.hasDynGroupChildren), attachPress = !!(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || pseudos != null && pseudos.focusVisibleStyle), runtimeHoverStyle = !disabled && noClass && (pseudos == null ? void 0 : pseudos.hoverStyle), needsHoverState = !!(hasDynamicGroupChildren || runtimeHoverStyle), attachHover = import_constants4.isWeb && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave), shouldAttach = !disabled && !props.asChild && !!(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle), needsPressState = !!(hasDynamicGroupChildren || runtimePressStyle), events = shouldAttach ? {
@@ -8377,7 +8483,7 @@ var require_createComponent_native = __commonJS({
8377
8483
  },
8378
8484
  onMouseLeave: function(e) {
8379
8485
  var next = {};
8380
- needsHoverState && (next.hover = !1), needsPressState && state.pressIn && (next.press = !1, next.pressIn = !1), setStateShallow(next), onHoverOut == null || onHoverOut(e), onMouseLeave == null || onMouseLeave(e);
8486
+ needsHoverState && (next.hover = !1), needsPressState && (next.press = !1, next.pressIn = !1), setStateShallow(next), onHoverOut == null || onHoverOut(e), onMouseLeave == null || onMouseLeave(e);
8381
8487
  }
8382
8488
  },
8383
8489
  onPressIn: attachPress ? function(e) {
@@ -8448,37 +8554,15 @@ var require_createComponent_native = __commonJS({
8448
8554
  var useChildrenResult;
8449
8555
  import_setupHooks.hooks.useChildren && (useChildrenResult = import_setupHooks.hooks.useChildren(elementType, content, viewProps)), useChildrenResult ? content = useChildrenResult : content = /* @__PURE__ */ import_react3.default.createElement(elementType, viewProps, content);
8450
8556
  var ResetPresence2 = config == null || (_config_animations = config.animations) === null || _config_animations === void 0 ? void 0 : _config_animations.ResetPresence;
8451
- ResetPresence2 && willBeAnimated && (hasEnterStyle || presenceState) && content && typeof content != "string" && (content = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ResetPresence2, {
8557
+ if (ResetPresence2 && willBeAnimated && (hasEnterStyle || presenceState) && content && typeof content != "string" && (content = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ResetPresence2, {
8452
8558
  children: content
8453
- }));
8454
- var groupState = curStateRef.group, subGroupContext = import_react3.default.useMemo(function() {
8455
- var _splitStyles_style, _splitStyles_style1;
8456
- if (!(!groupState || !groupName)) return groupState.listeners.clear(), {
8457
- ...componentContext.groups,
8458
- // change reference so as we mutate it doesn't affect siblings etc
8459
- state: {
8460
- ...componentContext.groups.state,
8461
- [groupName]: {
8462
- pseudo: import_defaultComponentState.defaultComponentStateMounted,
8463
- // capture just initial width and height if they exist
8464
- // will have top, left, width, height (not x, y)
8465
- layout: {
8466
- width: fromPx((_splitStyles_style = splitStyles.style) === null || _splitStyles_style === void 0 ? void 0 : _splitStyles_style.width),
8467
- height: fromPx((_splitStyles_style1 = splitStyles.style) === null || _splitStyles_style1 === void 0 ? void 0 : _splitStyles_style1.height)
8468
- }
8469
- }
8470
- },
8471
- emit: groupState.emit,
8472
- subscribe: groupState.subscribe
8473
- };
8474
- }, [
8475
- groupName
8476
- ]);
8477
- if (("group" in props || propsIn.focusWithinStyle) && (content = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_ComponentContext.ComponentContext.Provider, {
8559
+ })), "focusWithinStyle" in propsIn && (content = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_ComponentContext.ComponentContext.Provider, {
8478
8560
  ...componentContext,
8479
- groups: subGroupContext,
8480
8561
  setParentFocusState: setStateShallow,
8481
8562
  children: content
8563
+ })), "group" in propsIn && (content = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_GroupContext.GroupContext.Provider, {
8564
+ value: allGroupContexts,
8565
+ children: content
8482
8566
  })), content = disableTheme ? content : (0, import_Theme.getThemedChildren)(themeState, content, themeStateProps, !1, stateRef), staticConfig.context) {
8483
8567
  var contextProps = staticConfig.context.props;
8484
8568
  for (var key1 in contextProps) if (viewProps.style && key1 in viewProps.style || key1 in viewProps) {
@@ -8504,6 +8588,15 @@ var require_createComponent_native = __commonJS({
8504
8588
  }
8505
8589
  return content;
8506
8590
  });
8591
+ function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {
8592
+ if (!(!groupContext || !groupEmitter)) {
8593
+ var nextState = {
8594
+ ...groupContext.state,
8595
+ pseudo
8596
+ };
8597
+ groupEmitter.emit(nextState), groupContext.state = nextState;
8598
+ }
8599
+ }
8507
8600
  staticConfig.componentName && (component.displayName = staticConfig.componentName);
8508
8601
  var res = component;
8509
8602
  (process.env.TAMAGUI_FORCE_MEMO || staticConfig.memo) && (res = /* @__PURE__ */ import_react3.default.memo(res)), res.staticConfig = staticConfig;
@@ -10273,13 +10366,8 @@ var require_useConfiguration_native = __commonJS({
10273
10366
  }
10274
10367
  });
10275
10368
  module2.exports = __toCommonJS2(useConfiguration_exports);
10276
- var import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), useConfiguration2 = function() {
10277
- var { groups, animationDriver, ...restComponentConfig } = import_react3.default.useContext(import_ComponentContext.ComponentContext), { animations, ...restConfig } = (0, import_config.getConfig)();
10278
- return {
10279
- ...restConfig,
10280
- ...restComponentConfig,
10281
- animationDriver: animationDriver ?? (0, import_config.getConfig)().animations
10282
- };
10369
+ var import_react3 = __toESM2(require("react")), import_ComponentContext = require_ComponentContext_native(), useConfiguration2 = function() {
10370
+ return import_react3.default.useContext(import_ComponentContext.ComponentContext);
10283
10371
  };
10284
10372
  }
10285
10373
  });
@@ -10446,7 +10534,7 @@ var require_useProps_native = __commonJS({
10446
10534
  }
10447
10535
  });
10448
10536
  module2.exports = __toCommonJS2(useProps_exports);
10449
- var import_constants4 = require_index_native6(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), import_getSplitStyles = require_getSplitStyles_native(), import_subscribeToContextGroup = require_subscribeToContextGroup_native(), import_Stack = require_Stack_native(), import_useComponentState = require_useComponentState_native(), import_useMedia = require_useMedia_native(), import_useTheme = require_useTheme_native();
10537
+ var import_constants4 = require_index_native6(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), import_GroupContext = require_GroupContext_native(), import_getSplitStyles = require_getSplitStyles_native(), import_subscribeToContextGroup = require_subscribeToContextGroup_native(), import_Stack = require_Stack_native(), import_useComponentState = require_useComponentState_native(), import_useMedia = require_useMedia_native(), import_useTheme = require_useTheme_native();
10450
10538
  function useProps2(props, opts) {
10451
10539
  var [propsOut, styleOut] = usePropsAndStyle2(props, {
10452
10540
  ...opts,
@@ -10470,7 +10558,7 @@ var require_useProps_native = __commonJS({
10470
10558
  needsUpdate() {
10471
10559
  return !0;
10472
10560
  }
10473
- }), componentContext = import_react3.default.useContext(import_ComponentContext.ComponentContext), { state, disabled, setStateShallow } = (0, import_useComponentState.useComponentState)(props, componentContext, staticConfig, (0, import_config.getConfig)()), mediaStateNow = opts != null && opts.noMedia ? (
10561
+ }), componentContext = import_react3.default.useContext(import_ComponentContext.ComponentContext), groupContext = import_react3.default.useContext(import_GroupContext.GroupContext), { state, disabled, setStateShallow } = (0, import_useComponentState.useComponentState)(props, componentContext.animationDriver, staticConfig, (0, import_config.getConfig)()), mediaStateNow = opts != null && opts.noMedia ? (
10474
10562
  // not safe to use mediaState but really marginal to hit this
10475
10563
  import_useMedia.mediaState
10476
10564
  ) : (0, import_useMedia.useMedia)(), splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, (themeState == null ? void 0 : themeState.name) || "", state, {
@@ -10481,7 +10569,7 @@ var require_useProps_native = __commonJS({
10481
10569
  noClass: !0,
10482
10570
  resolveValues: "auto",
10483
10571
  ...opts
10484
- }, null, componentContext), { mediaGroups, pseudoGroups } = splitStyles;
10572
+ }, null, componentContext, groupContext), { mediaGroups, pseudoGroups } = splitStyles;
10485
10573
  return (0, import_constants4.useIsomorphicLayoutEffect)(function() {
10486
10574
  if (!disabled) {
10487
10575
  if (state.unmounted) {
@@ -10490,16 +10578,16 @@ var require_useProps_native = __commonJS({
10490
10578
  });
10491
10579
  return;
10492
10580
  }
10493
- return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
10494
- componentContext,
10581
+ if (groupContext) return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
10582
+ groupContext,
10495
10583
  setStateShallow,
10496
- state,
10497
10584
  mediaGroups,
10498
10585
  pseudoGroups
10499
10586
  });
10500
10587
  }
10501
10588
  }, [
10502
10589
  disabled,
10590
+ groupContext,
10503
10591
  pseudoGroups ? Object.keys([
10504
10592
  ...pseudoGroups
10505
10593
  ]).join("") : 0,
@@ -11080,7 +11168,7 @@ var require_index_native15 = __commonJS({
11080
11168
  __reExport2(index_exports2, require_withStableStyle_native(), module2.exports);
11081
11169
  __reExport2(index_exports2, require_createMediaStyle_native(), module2.exports);
11082
11170
  __reExport2(index_exports2, require_getShorthandValue_native(), module2.exports);
11083
- __reExport2(index_exports2, require_index_native13(), module2.exports);
11171
+ __reExport2(index_exports2, require_index_native12(), module2.exports);
11084
11172
  var import_insertStyleRule2 = require_insertStyleRule_native();
11085
11173
  __reExport2(index_exports2, require_createStyledContext_native(), module2.exports);
11086
11174
  __reExport2(index_exports2, require_expandStyles_native(), module2.exports);
@@ -12757,7 +12845,7 @@ var require_index_native19 = __commonJS({
12757
12845
  }
12758
12846
  });
12759
12847
  module2.exports = __toCommonJS2(index_exports2);
12760
- var import_constants4 = require_index_native6(), import_is_equal_shallow = require_index_native13(), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), strategy = "async";
12848
+ var import_constants4 = require_index_native6(), import_is_equal_shallow = require_index_native12(), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), strategy = "async";
12761
12849
  function setOnLayoutStrategy3(state) {
12762
12850
  strategy = state;
12763
12851
  }
@@ -12799,7 +12887,9 @@ var require_index_native19 = __commonJS({
12799
12887
  } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
12800
12888
  var cachedRect = NodeRectCache.get(node), cachedParentRect = NodeRectCache.get(parentNode);
12801
12889
  if (!cachedRect || // has changed one rect
12802
- !(0, import_is_equal_shallow.isEqualShallow)(cachedRect, nodeRect) && (!cachedParentRect || !(0, import_is_equal_shallow.isEqualShallow)(cachedParentRect, parentRect))) {
12890
+ // @ts-expect-error DOMRectReadOnly can go into object
12891
+ !(0, import_is_equal_shallow.isEqualShallow)(cachedRect, nodeRect) && // @ts-expect-error DOMRectReadOnly can go into object
12892
+ (!cachedParentRect || !(0, import_is_equal_shallow.isEqualShallow)(cachedParentRect, parentRect))) {
12803
12893
  NodeRectCache.set(node, nodeRect), ParentRectCache.set(parentNode, parentRect);
12804
12894
  var event = getElementLayoutEvent(nodeRect, parentRect);
12805
12895
  avoidUpdates ? queuedUpdates.set(node, function() {
@@ -17852,7 +17942,9 @@ var require_SheetImplementationCustom_native = __commonJS({
17852
17942
  var import_jsx_runtime6 = require("react/jsx-runtime"), import_adapt = require_index_native31(), import_animate_presence = require_index_native4(), import_compose_refs = require_index_native11(), import_constants4 = require_index_native6(), import_core12 = require_index_native20(), import_portal2 = require_index_native30(), import_react3 = __toESM2(require("react")), import_react_native4 = require_fake_react_native(), import_contexts = require_contexts_native(), import_helpers = require_helpers_native2(), import_SheetContext = require_SheetContext_native(), import_useSheetOpenState = require_useSheetOpenState_native(), import_useSheetProviderProps = require_useSheetProviderProps_native(), hiddenSize = 10000.1, sheetHiddenStyleSheet = null, relativeDimensionTo = import_constants4.isWeb ? "window" : "screen", SheetImplementationCustom = /* @__PURE__ */ import_react3.default.forwardRef(function(props, forwardedRef) {
17853
17943
  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, {
17854
17944
  onOverlayComponent: setOverlayComponent
17855
- }), { 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() {
17945
+ }), { 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)();
17946
+ if (!animationDriver) throw new Error("Sheet reqiures an animation driver to be set");
17947
+ var animationConfig = function() {
17856
17948
  if (animationDriver.supportsCSS) return {};
17857
17949
  var [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [
17858
17950
  animation