tamagui 1.130.6 → 1.130.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/native.js CHANGED
@@ -8910,13 +8910,14 @@ var require_createComponent_native = __commonJS({
8910
8910
  onBlur,
8911
8911
  separator,
8912
8912
  // ignore from here on out
8913
+ passThrough,
8913
8914
  forceStyle: _forceStyle,
8914
8915
  // @ts-ignore for next/link compat etc
8915
8916
  onClick,
8916
8917
  theme: _themeProp,
8917
8918
  ...nonTamaguiProps
8918
8919
  } = viewPropsIn || {}, viewProps = nonTamaguiProps;
8919
- !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && _themeProp && (viewProps.theme = _themeProp), tagProp && elementType.acceptTagProp && (viewProps.tag = tagProp);
8920
+ !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < "u" && (viewProps.theme = _themeProp), typeof passThrough < "u" && (viewProps.passThrough = passThrough)), tagProp && elementType.acceptTagProp && (viewProps.tag = tagProp);
8920
8921
  var animationStyles, shouldUseAnimation = (
8921
8922
  // if it supports css vars we run it on server too to get matching initial style
8922
8923
  (supportsCSS ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
@@ -13444,23 +13445,35 @@ var require_index_native19 = __commonJS({
13444
13445
  }), mod);
13445
13446
  }, index_exports2 = {};
13446
13447
  __export2(index_exports2, {
13448
+ createMeasure: function() {
13449
+ return createMeasure;
13450
+ },
13451
+ createMeasureInWindow: function() {
13452
+ return createMeasureInWindow;
13453
+ },
13454
+ createMeasureLayout: function() {
13455
+ return createMeasureLayout;
13456
+ },
13447
13457
  enable: function() {
13448
13458
  return enable;
13449
13459
  },
13460
+ getBoundingClientRectAsync: function() {
13461
+ return getBoundingClientRectAsync;
13462
+ },
13450
13463
  getElementLayoutEvent: function() {
13451
13464
  return getElementLayoutEvent;
13452
13465
  },
13453
- getElementLayoutEventAsync: function() {
13454
- return getElementLayoutEventAsync;
13466
+ measure: function() {
13467
+ return measure;
13455
13468
  },
13456
- getRect: function() {
13457
- return getRect;
13469
+ measureInWindow: function() {
13470
+ return measureInWindow;
13458
13471
  },
13459
13472
  measureLayout: function() {
13460
13473
  return measureLayout;
13461
13474
  },
13462
- measureLayoutAsync: function() {
13463
- return measureLayoutAsync;
13475
+ measureNode: function() {
13476
+ return measureNode;
13464
13477
  },
13465
13478
  setOnLayoutStrategy: function() {
13466
13479
  return setOnLayoutStrategy3;
@@ -13480,7 +13493,7 @@ var require_index_native19 = __commonJS({
13480
13493
  return cb();
13481
13494
  }), queuedUpdates.clear()));
13482
13495
  }
13483
- function startGlobalIntersectionObserver() {
13496
+ function startGlobalObservers() {
13484
13497
  !import_constants4.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(function(entries) {
13485
13498
  entries.forEach(function(entry) {
13486
13499
  var node = entry.target;
@@ -13533,9 +13546,9 @@ var require_index_native19 = __commonJS({
13533
13546
  }
13534
13547
  }
13535
13548
  }
13536
- rAF(layoutOnAnimationFrame), frameCount = 0, RUN_EVERY_X_FRAMES = 8;
13549
+ rAF(layoutOnAnimationFrame), frameCount = 0, userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
13537
13550
  } else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
13538
- var layoutOnAnimationFrame, layoutOnAnimationFrame2, supportsCheckVisibility, frameCount, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
13551
+ var layoutOnAnimationFrame, layoutOnAnimationFrame2, supportsCheckVisibility, frameCount, userSkipVal, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
13539
13552
  return {
13540
13553
  nativeEvent: {
13541
13554
  layout: getRelativeDimensions(nodeRect, parentRect),
@@ -13543,45 +13556,6 @@ var require_index_native19 = __commonJS({
13543
13556
  },
13544
13557
  timeStamp: Date.now()
13545
13558
  };
13546
- }, measureLayout = function(node, relativeTo, callback) {
13547
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
13548
- if (relativeNode instanceof HTMLElement) {
13549
- var nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
13550
- if (relativeNodeDim && nodeDim) {
13551
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
13552
- callback(x, y, width, height, left, top);
13553
- }
13554
- }
13555
- }, getElementLayoutEventAsync = async function(target) {
13556
- var layout = await measureLayoutAsync(target);
13557
- if (!layout) throw new Error("\u203C\uFE0F");
13558
- return {
13559
- nativeEvent: {
13560
- layout,
13561
- target
13562
- },
13563
- timeStamp: Date.now()
13564
- };
13565
- }, measureLayoutAsync = async function(node, relativeTo) {
13566
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
13567
- if (relativeNode instanceof HTMLElement) {
13568
- var [nodeDim, relativeNodeDim] = await Promise.all([
13569
- getBoundingClientRectAsync(node),
13570
- getBoundingClientRectAsync(relativeNode)
13571
- ]);
13572
- if (relativeNodeDim && nodeDim) {
13573
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
13574
- return {
13575
- x,
13576
- y,
13577
- width,
13578
- height,
13579
- left,
13580
- top
13581
- };
13582
- }
13583
- }
13584
- return null;
13585
13559
  }, getRelativeDimensions = function(a, b) {
13586
13560
  var { height, left, top, width } = a, x = left - b.left, y = top - b.top;
13587
13561
  return {
@@ -13589,8 +13563,8 @@ var require_index_native19 = __commonJS({
13589
13563
  y,
13590
13564
  width,
13591
13565
  height,
13592
- left,
13593
- top
13566
+ pageX: a.left,
13567
+ pageY: a.top
13594
13568
  };
13595
13569
  };
13596
13570
  function useElementLayout(ref, onLayout) {
@@ -13600,7 +13574,7 @@ var require_index_native19 = __commonJS({
13600
13574
  if (onLayout) {
13601
13575
  var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
13602
13576
  if (node2) {
13603
- Nodes.add(node2), startGlobalIntersectionObserver(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
13577
+ Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
13604
13578
  var parentNode = node2.parentNode;
13605
13579
  return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect())), function() {
13606
13580
  Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
@@ -13625,23 +13599,41 @@ var require_index_native19 = __commonJS({
13625
13599
  });
13626
13600
  io.observe(node);
13627
13601
  });
13628
- }, getBoundingClientRect = function(node) {
13629
- var _node_getBoundingClientRect;
13630
- if (!(!node || node.nodeType !== 1)) return (_node_getBoundingClientRect = node.getBoundingClientRect) === null || _node_getBoundingClientRect === void 0 ? void 0 : _node_getBoundingClientRect.call(node);
13631
- }, getRect = function(node) {
13632
- var rect = getBoundingClientRect(node);
13633
- if (rect) {
13634
- var { x, y, top, left } = rect;
13635
- return {
13636
- x,
13637
- y,
13638
- width: node.offsetWidth,
13639
- height: node.offsetHeight,
13640
- top,
13641
- left
13642
- };
13602
+ }, measureNode = async function(node, relativeTo) {
13603
+ var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
13604
+ if (relativeNode instanceof HTMLElement) {
13605
+ var [nodeDim, relativeNodeDim] = await Promise.all([
13606
+ getBoundingClientRectAsync(node),
13607
+ getBoundingClientRectAsync(relativeNode)
13608
+ ]);
13609
+ if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim);
13643
13610
  }
13611
+ return null;
13612
+ }, measure = async function(node, callback) {
13613
+ var out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
13614
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
13644
13615
  };
13616
+ function createMeasure(node) {
13617
+ return function(callback) {
13618
+ return measure(node, callback);
13619
+ };
13620
+ }
13621
+ var measureInWindow = async function(node, callback) {
13622
+ var out = await measureNode(node, null);
13623
+ return out && (callback == null || callback(out.pageX, out.pageY, out.width, out.height)), out;
13624
+ }, createMeasureInWindow = function(node) {
13625
+ return function(callback) {
13626
+ return measureInWindow(node, callback);
13627
+ };
13628
+ }, measureLayout = async function(node, relativeNode, callback) {
13629
+ var out = await measureNode(node, relativeNode);
13630
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
13631
+ };
13632
+ function createMeasureLayout(node) {
13633
+ return function(relativeTo, callback) {
13634
+ return measureLayout(node, relativeTo, callback);
13635
+ };
13636
+ }
13645
13637
  }
13646
13638
  });
13647
13639
 
@@ -14207,19 +14199,7 @@ var require_index_native20 = __commonJS({
14207
14199
  (0, import_web.setupHooks)({
14208
14200
  getBaseViews: import_getBaseViews.getBaseViews,
14209
14201
  setElementProps: function(node) {
14210
- if (node && !node.measure) {
14211
- var _node, _node1, _node2;
14212
- (_node = node).measure || (_node.measure = function(callback) {
14213
- return (0, import_use_element_layout.measureLayout)(node, null, callback);
14214
- }), (_node1 = node).measureLayout || (_node1.measureLayout = function(relativeToNode, success) {
14215
- return (0, import_use_element_layout.measureLayout)(node, relativeToNode, success);
14216
- }), (_node2 = node).measureInWindow || (_node2.measureInWindow = function(callback) {
14217
- setTimeout(function() {
14218
- var { height, left, top, width } = (0, import_use_element_layout.getRect)(node);
14219
- callback(left, top, width, height);
14220
- }, 0);
14221
- });
14222
- }
14202
+ if (0) var _node, _node1, _node2;
14223
14203
  },
14224
14204
  usePropsTransform(elementType, propsIn, stateRef, willHydrate) {
14225
14205
  if (0) {
@@ -18278,6 +18258,7 @@ var require_useSheetProviderProps_native = __commonJS({
18278
18258
  if (!animationDriver) throw new Error(process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts");
18279
18259
  var scrollBridge = (0, import_use_constant.useConstant)(function() {
18280
18260
  var parentDragListeners = /* @__PURE__ */ new Set(), bridge = {
18261
+ hasScrollableContent: !1,
18281
18262
  enabled: !1,
18282
18263
  y: 0,
18283
18264
  paneY: 0,
@@ -18692,7 +18673,7 @@ var require_SheetImplementationCustom_native = __commonJS({
18692
18673
  screenSize,
18693
18674
  frameSize
18694
18675
  ]), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
18695
- isAbleToPosition && animateTo(position);
18676
+ isAbleToPosition && (animateTo(position), position === -1 && (scrollBridge.scrollLock = !1, scrollBridge.scrollStartY = -1));
18696
18677
  }, [
18697
18678
  isAbleToPosition,
18698
18679
  position
@@ -18724,9 +18705,13 @@ var require_SheetImplementationCustom_native = __commonJS({
18724
18705
  var { dy } = param;
18725
18706
  function getShouldSet() {
18726
18707
  if (e.target === providerProps.handleRef.current) return !0;
18727
- if (scrollBridge.scrollLock) return !1;
18728
- var isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
18729
- return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && hasScrollView.current && isDraggingUp ? !1 : Math.abs(dy) > 5;
18708
+ if (scrollBridge.hasScrollableContent === !0) {
18709
+ if (scrollBridge.scrollLock) return !1;
18710
+ var isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
18711
+ if (isScrolled) return previouslyScrolling = !0, !1;
18712
+ if (isNearTop && hasScrollView.current && isDraggingUp) return !1;
18713
+ }
18714
+ return Math.abs(dy) > 5;
18730
18715
  }
18731
18716
  var granted = getShouldSet();
18732
18717
  return granted && scrollBridge.setParentDragging(!0), granted;
@@ -19147,9 +19132,13 @@ var require_SheetScrollView_native = __commonJS({
19147
19132
  var [hasScrollableContent, setHasScrollableContent] = (0, import_react3.useState)(!0), parentHeight = (0, import_react3.useRef)(0), contentHeight = (0, import_react3.useRef)(0), setIsScrollable = function() {
19148
19133
  parentHeight.current && contentHeight.current && setHasScrollableContent(contentHeight.current > parentHeight.current);
19149
19134
  };
19150
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_scroll_view.ScrollView, {
19135
+ return (0, import_react3.useEffect)(function() {
19136
+ scrollBridge.hasScrollableContent = hasScrollableContent;
19137
+ }, [
19138
+ hasScrollableContent
19139
+ ]), /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_scroll_view.ScrollView, {
19151
19140
  onLayout: function(e) {
19152
- parentHeight.current = e.nativeEvent.layout.height, setIsScrollable();
19141
+ parentHeight.current = Math.ceil(e.nativeEvent.layout.height), setIsScrollable();
19153
19142
  },
19154
19143
  ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),
19155
19144
  flex: 1,
@@ -19204,7 +19193,7 @@ var require_SheetScrollView_native = __commonJS({
19204
19193
  pointerEvents: "none",
19205
19194
  zIndex: -1,
19206
19195
  onLayout: function(e) {
19207
- contentHeight.current = e.nativeEvent.layout.height, setIsScrollable();
19196
+ contentHeight.current = Math.floor(e.nativeEvent.layout.height), setIsScrollable();
19208
19197
  }
19209
19198
  }),
19210
19199
  children