tamagui 1.134.4 → 1.135.0

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.
Files changed (41) hide show
  1. package/dist/cjs/createTamagui.native.js.map +3 -3
  2. package/dist/cjs/helpers/inputHelpers.native.js.map +3 -3
  3. package/dist/cjs/index.native.js.map +2 -2
  4. package/dist/cjs/lib/linear-gradient.native.js.map +2 -2
  5. package/dist/cjs/linear-gradient.native.js.map +2 -2
  6. package/dist/cjs/react-native-web/Dimensions.native.js.map +3 -3
  7. package/dist/cjs/setup.native.js.map +3 -3
  8. package/dist/cjs/viewTypes.native.js.map +2 -2
  9. package/dist/cjs/views/Anchor.native.js.map +3 -3
  10. package/dist/cjs/views/EnsureFlexed.native.js.map +3 -3
  11. package/dist/cjs/views/Fieldset.native.js.map +3 -3
  12. package/dist/cjs/views/Input.native.js.map +3 -3
  13. package/dist/cjs/views/Spinner.native.js.map +3 -3
  14. package/dist/cjs/views/TamaguiProvider.native.js.map +3 -3
  15. package/dist/cjs/views/TamaguiProvider.server.native.js.map +3 -3
  16. package/dist/cjs/views/Text.native.js.map +3 -3
  17. package/dist/cjs/views/TextArea.native.js.map +3 -3
  18. package/dist/cjs/views/VisuallyHidden.native.js.map +3 -3
  19. package/dist/esm/lib/linear-gradient.native.js.map +1 -1
  20. package/dist/jsx/createTamagui.native.js.map +3 -3
  21. package/dist/jsx/helpers/inputHelpers.native.js.map +3 -3
  22. package/dist/jsx/index.native.js.map +3 -3
  23. package/dist/jsx/lib/linear-gradient.native.js.map +1 -1
  24. package/dist/jsx/linear-gradient.native.js.map +3 -3
  25. package/dist/jsx/react-native-web/Dimensions.native.js.map +3 -3
  26. package/dist/jsx/setup.native.js.map +3 -3
  27. package/dist/jsx/views/Anchor.native.js.map +3 -3
  28. package/dist/jsx/views/EnsureFlexed.native.js.map +3 -3
  29. package/dist/jsx/views/Fieldset.native.js.map +3 -3
  30. package/dist/jsx/views/Input.native.js.map +3 -3
  31. package/dist/jsx/views/Spinner.native.js.map +3 -3
  32. package/dist/jsx/views/TamaguiProvider.native.js.map +3 -3
  33. package/dist/jsx/views/TamaguiProvider.server.native.js.map +3 -3
  34. package/dist/jsx/views/Text.native.js.map +3 -3
  35. package/dist/jsx/views/TextArea.native.js.map +3 -3
  36. package/dist/jsx/views/VisuallyHidden.native.js.map +3 -3
  37. package/dist/native.js +134 -106
  38. package/dist/native.js.map +3 -3
  39. package/dist/test.native.js +133 -105
  40. package/dist/test.native.js.map +3 -3
  41. package/package.json +55 -55
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/Users/n8/tamagui/code/ui/tamagui/src/views/VisuallyHidden.tsx"],
4
- "mappings": "AAAA,SAASA,OAAOC,cAAc;AAEvB,IAAMC,iBAAiBD,OAAOD,OAAO;EAC1CG,UAAU;EACVC,OAAO;EACPC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,UAAU;EACVC,SAAS;EACTC,eAAe;EAEfC,UAAU;IACRC,oBAAoB;MAClBC,MAAM;QACJV,UAAU;QACVC,OAAO;QACPC,QAAQ;MACV;IACF;IAEAS,SAAS;MACPD,MAAM;QACJV,UAAU;QACVC,OAAO;QACPC,QAAQ;QACRC,QAAQ;QACRC,QAAQ;QACRC,UAAU;QACVC,SAAS;QACTC,eAAe;MACjB;IACF;EACF;AACF,CAAA;AAGAR,eAAe,mBAAsB;",
5
- "names": ["Stack", "styled", "VisuallyHidden", "position", "width", "height", "margin", "zIndex", "overflow", "opacity", "pointerEvents", "variants", "preserveDimensions", "true", "visible"]
3
+ "sources": ["../../../src/views/VisuallyHidden.tsx"],
4
+ "mappings": "AAAA,SAAS,OAAO,cAAc;AACvB,IAAI,iBAAiB,OAAO,OAAO;AAAA,EACtC,UAAU;AAAA,EACV,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EACT,eAAe;AAAA,EACf,UAAU;AAAA,IACN,oBAAoB;AAAA,MAChB,MAAM;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,eAAe;AAAA,MACnB;AAAA,IACJ;AAAA,EACJ;AACJ,CAAC;AAED,eAAe,mBAAsB;",
5
+ "names": []
6
6
  }
package/dist/native.js CHANGED
@@ -13354,6 +13354,9 @@ var require_index_native19 = __commonJS({
13354
13354
  }), mod);
13355
13355
  }, index_exports2 = {};
13356
13356
  __export2(index_exports2, {
13357
+ LayoutMeasurementController: function() {
13358
+ return LayoutMeasurementController2;
13359
+ },
13357
13360
  createMeasure: function() {
13358
13361
  return createMeasure;
13359
13362
  },
@@ -13392,18 +13395,29 @@ var require_index_native19 = __commonJS({
13392
13395
  }
13393
13396
  });
13394
13397
  module2.exports = __toCommonJS2(index_exports2);
13395
- var import_constants4 = require_index_native(), import_is_equal_shallow = require_index_native12(), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), IntersectionState = /* @__PURE__ */ new WeakMap(), globalIntersectionObserver = null, strategy = "async";
13398
+ var import_jsx_runtime6 = require("react/jsx-runtime"), import_constants4 = require_index_native(), import_is_equal_shallow = require_index_native12(), import_react3 = require("react"), LayoutHandlers = /* @__PURE__ */ new WeakMap(), LayoutDisableKey = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), IntersectionState = /* @__PURE__ */ new WeakMap(), DisableLayoutContextValues = {}, DisableLayoutContextKey = /* @__PURE__ */ (0, import_react3.createContext)(""), ENABLE = import_constants4.isClient && typeof IntersectionObserver < "u", LayoutMeasurementController2 = function(param) {
13399
+ var { disable, children } = param, id = (0, import_react3.useId)();
13400
+ return (0, import_constants4.useIsomorphicLayoutEffect)(function() {
13401
+ DisableLayoutContextValues[id] = disable;
13402
+ }, [
13403
+ disable,
13404
+ id
13405
+ ]), /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DisableLayoutContextKey.Provider, {
13406
+ value: id,
13407
+ children
13408
+ });
13409
+ }, globalIntersectionObserver = null, strategy = "async";
13396
13410
  function setOnLayoutStrategy3(state) {
13397
13411
  strategy = state;
13398
13412
  }
13399
- var NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), LastChangeTime = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0, avoidUpdates = !0, queuedUpdates = /* @__PURE__ */ new Map();
13413
+ var NodeRectCache = /* @__PURE__ */ new WeakMap(), LastChangeTime = /* @__PURE__ */ new WeakMap(), avoidUpdates = !0, queuedUpdates = /* @__PURE__ */ new Map();
13400
13414
  function enable() {
13401
13415
  avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(function(cb) {
13402
13416
  return cb();
13403
13417
  }), queuedUpdates.clear()));
13404
13418
  }
13405
13419
  function startGlobalObservers() {
13406
- !import_constants4.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(function(entries) {
13420
+ !ENABLE || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(function(entries) {
13407
13421
  entries.forEach(function(entry) {
13408
13422
  var node = entry.target;
13409
13423
  IntersectionState.get(node) !== entry.isIntersecting && IntersectionState.set(node, entry.isIntersecting);
@@ -13412,29 +13426,29 @@ var require_index_native19 = __commonJS({
13412
13426
  threshold: 0
13413
13427
  }));
13414
13428
  }
13415
- if (import_constants4.isClient) if (rAF) {
13416
- supportsCheckVisibility = "checkVisibility" in document.body, BoundingRects = /* @__PURE__ */ new WeakMap();
13429
+ if (ENABLE) {
13430
+ BoundingRects = /* @__PURE__ */ new WeakMap();
13417
13431
  async function updateLayoutIfChanged(node) {
13418
- if (IntersectionState.get(node) !== !1 && !(process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility())) {
13419
- var onLayout = LayoutHandlers.get(node);
13420
- if (typeof onLayout == "function") {
13421
- var parentNode = node.parentElement;
13422
- if (parentNode) {
13423
- var nodeRect, parentRect;
13424
- if (strategy === "async") {
13425
- var [nr, pr] = await Promise.all([
13426
- BoundingRects.get(node) || getBoundingClientRectAsync(node),
13427
- BoundingRects.get(parentNode) || getBoundingClientRectAsync(parentNode)
13428
- ]);
13429
- if (nr === !1 || pr === !1) return;
13430
- nodeRect = nr, parentRect = pr;
13431
- } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
13432
+ var onLayout = LayoutHandlers.get(node);
13433
+ if (typeof onLayout == "function") {
13434
+ var parentNode = node.parentElement;
13435
+ if (parentNode) {
13436
+ var nodeRect, parentRect;
13437
+ if (strategy === "async") {
13438
+ var [nr, pr] = await Promise.all([
13439
+ BoundingRects.get(node),
13440
+ BoundingRects.get(parentNode)
13441
+ ]);
13442
+ if (!nr || !pr) return;
13443
+ nodeRect = nr, parentRect = pr;
13444
+ } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
13445
+ if (!(!nodeRect || !parentRect)) {
13432
13446
  var cachedRect = NodeRectCache.get(node), cachedParentRect = NodeRectCache.get(parentNode);
13433
- if (!cachedRect || // has changed one rect
13447
+ if (!cachedRect || !cachedParentRect || // has changed one rect
13434
13448
  // @ts-expect-error DOMRectReadOnly can go into object
13435
- !(0, import_is_equal_shallow.isEqualShallow)(cachedRect, nodeRect) && // @ts-expect-error DOMRectReadOnly can go into object
13436
- (!cachedParentRect || !(0, import_is_equal_shallow.isEqualShallow)(cachedParentRect, parentRect))) {
13437
- NodeRectCache.set(node, nodeRect), ParentRectCache.set(parentNode, parentRect);
13449
+ !(0, import_is_equal_shallow.isEqualShallow)(cachedRect, nodeRect) || // @ts-expect-error DOMRectReadOnly can go into object
13450
+ !(0, import_is_equal_shallow.isEqualShallow)(cachedParentRect, parentRect)) {
13451
+ NodeRectCache.set(node, nodeRect), NodeRectCache.set(parentNode, parentRect);
13438
13452
  var event = getElementLayoutEvent(nodeRect, parentRect);
13439
13453
  avoidUpdates ? queuedUpdates.set(node, function() {
13440
13454
  return onLayout(event);
@@ -13444,14 +13458,10 @@ var require_index_native19 = __commonJS({
13444
13458
  }
13445
13459
  }
13446
13460
  }
13447
- rAF(layoutOnAnimationFrame), frameCount = 0, userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
13461
+ userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 14;
13448
13462
  async function layoutOnAnimationFrame() {
13449
13463
  if (strategy !== "off") {
13450
- if (!Nodes.size || frameCount++ % RUN_EVERY_X_FRAMES !== 0) {
13451
- rAF(layoutOnAnimationFrame);
13452
- return;
13453
- }
13454
- frameCount === Number.MAX_SAFE_INTEGER && (frameCount = 0), await new Promise(function(res) {
13464
+ var visibleNodes = [], didRun = await new Promise(function(res) {
13455
13465
  var io = new IntersectionObserver(function(entries) {
13456
13466
  io.disconnect();
13457
13467
  var _iteratorNormalCompletion2 = !0, _didIteratorError2 = !1, _iteratorError2 = void 0;
@@ -13469,14 +13479,17 @@ var require_index_native19 = __commonJS({
13469
13479
  if (_didIteratorError2) throw _iteratorError2;
13470
13480
  }
13471
13481
  }
13472
- res();
13482
+ res(!0);
13473
13483
  }, {
13474
13484
  threshold: 0
13475
- }), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
13485
+ }), didObserve = !1, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
13476
13486
  try {
13477
13487
  for (var _iterator = Nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
13478
13488
  var node = _step.value;
13479
- node.parentElement instanceof HTMLElement && (io.observe(node), io.observe(node.parentElement));
13489
+ if (node.parentElement instanceof HTMLElement) {
13490
+ var disableKey = LayoutDisableKey.get(node);
13491
+ disableKey && DisableLayoutContextValues[disableKey] === !0 || IntersectionState.get(node) !== !1 && (didObserve = !0, io.observe(node), io.observe(node.parentElement), visibleNodes.push(node));
13492
+ }
13480
13493
  }
13481
13494
  } catch (err) {
13482
13495
  _didIteratorError = !0, _iteratorError = err;
@@ -13487,14 +13500,17 @@ var require_index_native19 = __commonJS({
13487
13500
  if (_didIteratorError) throw _iteratorError;
13488
13501
  }
13489
13502
  }
13490
- }), Nodes.forEach(function(node) {
13503
+ didObserve || res(!1);
13504
+ });
13505
+ didRun && visibleNodes.forEach(function(node) {
13491
13506
  updateLayoutIfChanged(node);
13492
13507
  });
13493
13508
  }
13494
- rAF(layoutOnAnimationFrame);
13509
+ setTimeout(layoutOnAnimationFrame, 16.6667 * RUN_EVERY_X_FRAMES);
13495
13510
  }
13496
- } else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
13497
- var supportsCheckVisibility, BoundingRects, frameCount, userSkipVal, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
13511
+ layoutOnAnimationFrame();
13512
+ }
13513
+ var BoundingRects, userSkipVal, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
13498
13514
  return {
13499
13515
  nativeEvent: {
13500
13516
  layout: getRelativeDimensions(nodeRect, parentRect),
@@ -13514,8 +13530,8 @@ var require_index_native19 = __commonJS({
13514
13530
  };
13515
13531
  };
13516
13532
  function useElementLayout(ref, onLayout) {
13517
- var _ref_current, node = ensureWebElement((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.host);
13518
- node && onLayout && LayoutHandlers.set(node, onLayout), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
13533
+ var _ref_current, disableKey = (0, import_react3.useContext)(DisableLayoutContextKey), node = ensureWebElement((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.host);
13534
+ node && onLayout && (LayoutHandlers.set(node, onLayout), LayoutDisableKey.set(node, disableKey)), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
13519
13535
  var _ref_current2;
13520
13536
  if (onLayout) {
13521
13537
  var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
@@ -14109,6 +14125,9 @@ var require_index_native20 = __commonJS({
14109
14125
  }), mod);
14110
14126
  }, index_exports2 = {};
14111
14127
  __export2(index_exports2, {
14128
+ LayoutMeasurementController: function() {
14129
+ return import_use_element_layout2.LayoutMeasurementController;
14130
+ },
14112
14131
  Stack: function() {
14113
14132
  return Stack2;
14114
14133
  },
@@ -18670,59 +18689,62 @@ var require_SheetImplementationCustom_native = __commonJS({
18670
18689
  ]);
18671
18690
  var forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${import_constants4.isWeb ? "dvh" : "%"}` : maxSnapPoint, setHasScrollView = import_react3.default.useCallback(function(val) {
18672
18691
  hasScrollView.current = val;
18673
- }, []), contents = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_contexts.ParentSheetContext.Provider, {
18674
- value: nextParentContext,
18675
- children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_SheetContext.SheetProvider, {
18676
- ...providerProps,
18677
- setHasScrollView,
18678
- children: [
18679
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_animate_presence.AnimatePresence, {
18680
- custom: {
18681
- open
18682
- },
18683
- children: shouldHideParentSheet || !open ? null : overlayComponent
18684
- }),
18685
- snapPointsMode !== "percent" && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native4.View, {
18686
- style: {
18687
- opacity: 0,
18688
- position: "absolute",
18689
- top: 0,
18690
- left: 0,
18691
- right: 0,
18692
- bottom: 0,
18693
- pointerEvents: "none"
18694
- },
18695
- onLayout: handleMaxContentViewLayout
18696
- }),
18697
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AnimatedView, {
18698
- ref,
18699
- ...panResponder == null ? void 0 : panResponder.panHandlers,
18700
- onLayout: handleAnimationViewLayout,
18701
- // @ts-ignore for CSS driver this is necessary to attach the transition
18702
- // also motion driver at least though i suspect all drivers?
18703
- animation: isDragging || disableAnimation ? null : animation,
18704
- // @ts-ignore
18705
- disableClassName: !0,
18706
- style: [
18707
- {
18692
+ }, []), contents = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_core12.LayoutMeasurementController, {
18693
+ disable: !open,
18694
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_contexts.ParentSheetContext.Provider, {
18695
+ value: nextParentContext,
18696
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_SheetContext.SheetProvider, {
18697
+ ...providerProps,
18698
+ setHasScrollView,
18699
+ children: [
18700
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_animate_presence.AnimatePresence, {
18701
+ custom: {
18702
+ open
18703
+ },
18704
+ children: shouldHideParentSheet || !open ? null : overlayComponent
18705
+ }),
18706
+ snapPointsMode !== "percent" && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native4.View, {
18707
+ style: {
18708
+ opacity: 0,
18708
18709
  position: "absolute",
18709
- zIndex,
18710
- width: "100%",
18711
- height: forcedContentHeight,
18712
- minHeight: forcedContentHeight,
18713
- opacity: shouldHideParentSheet ? 0 : opacity,
18714
- ...(shouldHideParentSheet || !open) && {
18715
- pointerEvents: "none"
18716
- }
18710
+ top: 0,
18711
+ left: 0,
18712
+ right: 0,
18713
+ bottom: 0,
18714
+ pointerEvents: "none"
18717
18715
  },
18718
- animatedStyle
18719
- ],
18720
- children: (
18721
- /* <AdaptProvider>{props.children}</AdaptProvider> */
18722
- props.children
18723
- )
18724
- })
18725
- ]
18716
+ onLayout: handleMaxContentViewLayout
18717
+ }),
18718
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AnimatedView, {
18719
+ ref,
18720
+ ...panResponder == null ? void 0 : panResponder.panHandlers,
18721
+ onLayout: handleAnimationViewLayout,
18722
+ // @ts-ignore for CSS driver this is necessary to attach the transition
18723
+ // also motion driver at least though i suspect all drivers?
18724
+ animation: isDragging || disableAnimation ? null : animation,
18725
+ // @ts-ignore
18726
+ disableClassName: !0,
18727
+ style: [
18728
+ {
18729
+ position: "absolute",
18730
+ zIndex,
18731
+ width: "100%",
18732
+ height: forcedContentHeight,
18733
+ minHeight: forcedContentHeight,
18734
+ opacity: shouldHideParentSheet ? 0 : opacity,
18735
+ ...(shouldHideParentSheet || !open) && {
18736
+ pointerEvents: "none"
18737
+ }
18738
+ },
18739
+ animatedStyle
18740
+ ],
18741
+ children: (
18742
+ /* <AdaptProvider>{props.children}</AdaptProvider> */
18743
+ props.children
18744
+ )
18745
+ })
18746
+ ]
18747
+ })
18726
18748
  })
18727
18749
  });
18728
18750
  if (!import_portal2.USE_NATIVE_PORTAL) {
@@ -19841,16 +19863,19 @@ var require_Dialog_native = __commonJS({
19841
19863
  // NOTE: we remove the inner frame, but not the portal itself
19842
19864
  // saw a bug when we removed and re-added portals that caused stale inner contents of the portal
19843
19865
  // seems like a React bug itself but leaving this for now as it fixes
19844
- isFullyHidden && !isAdapted ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DialogPortalFrame, {
19845
- ref,
19846
- ...import_constants4.isWeb && isMountedOrOpen && {
19847
- "aria-modal": !0
19848
- },
19849
- // passThrough={isAdapted}
19850
- pointerEvents: isMountedOrOpen ? "auto" : "none",
19851
- ...frameProps,
19852
- className: "_no_backdrop " + (frameProps.className || ""),
19853
- children: contents
19866
+ isFullyHidden && !isAdapted ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_core12.LayoutMeasurementController, {
19867
+ disable: !isMountedOrOpen,
19868
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DialogPortalFrame, {
19869
+ ref,
19870
+ ...import_constants4.isWeb && isMountedOrOpen && {
19871
+ "aria-modal": !0
19872
+ },
19873
+ // passThrough={isAdapted}
19874
+ pointerEvents: isMountedOrOpen ? "auto" : "none",
19875
+ ...frameProps,
19876
+ className: "_no_backdrop " + (frameProps.className || ""),
19877
+ children: contents
19878
+ })
19854
19879
  })
19855
19880
  );
19856
19881
  return import_constants4.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_portal2.Portal, {
@@ -24478,13 +24503,13 @@ var require_Popper_native = __commonJS({
24478
24503
  Object.assign(setupOptions, options);
24479
24504
  }
24480
24505
  function Popper(props) {
24481
- var { children, size: size2, strategy = "absolute", placement = "bottom", stayInFrame, allowFlip, offset: offset2, disableRTL, resize, passThrough, open, scope } = props, [arrowEl, setArrow] = React4.useState(null), [arrowSize, setArrowSize] = React4.useState(0), offsetOptions = offset2 ?? arrowSize, floatingStyle = React4.useRef({}), floating = (0, import_floating.useFloating)({
24482
- open: passThrough ? !1 : open || !0,
24506
+ var { children, size: size2, strategy = "absolute", placement = "bottom", stayInFrame, allowFlip, offset: offset2, disableRTL, resize, passThrough, open, scope } = props, [arrowEl, setArrow] = React4.useState(null), [arrowSize, setArrowSize] = React4.useState(0), offsetOptions = offset2 ?? arrowSize, floatingStyle = React4.useRef({}), isOpen = passThrough ? !1 : open || !0, floating = (0, import_floating.useFloating)({
24507
+ open: isOpen,
24483
24508
  strategy,
24484
24509
  placement,
24485
24510
  sameScrollView: !1,
24486
24511
  // this only takes effect on native
24487
- whileElementsMounted: passThrough || !open ? void 0 : import_floating.autoUpdate,
24512
+ whileElementsMounted: isOpen ? import_floating.autoUpdate : void 0,
24488
24513
  platform: disableRTL ?? setupOptions.disableRTL ? {
24489
24514
  ...import_floating.platform,
24490
24515
  isRTL(element) {
@@ -24542,10 +24567,13 @@ var require_Popper_native = __commonJS({
24542
24567
  JSON.stringify(middlewareData.arrow || null),
24543
24568
  floating.isPositioned
24544
24569
  ]);
24545
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(PopperProvider, {
24546
- scope,
24547
- ...popperContext,
24548
- children
24570
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_core12.LayoutMeasurementController, {
24571
+ disable: !isOpen,
24572
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(PopperProvider, {
24573
+ scope,
24574
+ ...popperContext,
24575
+ children
24576
+ })
24549
24577
  });
24550
24578
  }
24551
24579
  var PopperAnchor = import_stacks3.YStack.extractable(/* @__PURE__ */ React4.forwardRef(function(props, forwardedRef) {