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.
@@ -8422,13 +8422,14 @@ var require_createComponent_native = __commonJS({
8422
8422
  onBlur,
8423
8423
  separator,
8424
8424
  // ignore from here on out
8425
+ passThrough,
8425
8426
  forceStyle: _forceStyle,
8426
8427
  // @ts-ignore for next/link compat etc
8427
8428
  onClick,
8428
8429
  theme: _themeProp,
8429
8430
  ...nonTamaguiProps
8430
8431
  } = viewPropsIn || {}, viewProps = nonTamaguiProps;
8431
- !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && _themeProp && (viewProps.theme = _themeProp), tagProp && elementType.acceptTagProp && (viewProps.tag = tagProp);
8432
+ !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);
8432
8433
  var animationStyles, shouldUseAnimation = (
8433
8434
  // if it supports css vars we run it on server too to get matching initial style
8434
8435
  (supportsCSS ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
@@ -12873,23 +12874,35 @@ var require_index_native19 = __commonJS({
12873
12874
  }), mod);
12874
12875
  }, index_exports2 = {};
12875
12876
  __export2(index_exports2, {
12877
+ createMeasure: function() {
12878
+ return createMeasure;
12879
+ },
12880
+ createMeasureInWindow: function() {
12881
+ return createMeasureInWindow;
12882
+ },
12883
+ createMeasureLayout: function() {
12884
+ return createMeasureLayout;
12885
+ },
12876
12886
  enable: function() {
12877
12887
  return enable;
12878
12888
  },
12889
+ getBoundingClientRectAsync: function() {
12890
+ return getBoundingClientRectAsync;
12891
+ },
12879
12892
  getElementLayoutEvent: function() {
12880
12893
  return getElementLayoutEvent;
12881
12894
  },
12882
- getElementLayoutEventAsync: function() {
12883
- return getElementLayoutEventAsync;
12895
+ measure: function() {
12896
+ return measure;
12884
12897
  },
12885
- getRect: function() {
12886
- return getRect;
12898
+ measureInWindow: function() {
12899
+ return measureInWindow;
12887
12900
  },
12888
12901
  measureLayout: function() {
12889
12902
  return measureLayout;
12890
12903
  },
12891
- measureLayoutAsync: function() {
12892
- return measureLayoutAsync;
12904
+ measureNode: function() {
12905
+ return measureNode;
12893
12906
  },
12894
12907
  setOnLayoutStrategy: function() {
12895
12908
  return setOnLayoutStrategy3;
@@ -12909,7 +12922,7 @@ var require_index_native19 = __commonJS({
12909
12922
  return cb();
12910
12923
  }), queuedUpdates.clear()));
12911
12924
  }
12912
- function startGlobalIntersectionObserver() {
12925
+ function startGlobalObservers() {
12913
12926
  !import_constants4.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(function(entries) {
12914
12927
  entries.forEach(function(entry) {
12915
12928
  var node = entry.target;
@@ -12962,9 +12975,9 @@ var require_index_native19 = __commonJS({
12962
12975
  }
12963
12976
  }
12964
12977
  }
12965
- rAF(layoutOnAnimationFrame), frameCount = 0, RUN_EVERY_X_FRAMES = 8;
12978
+ rAF(layoutOnAnimationFrame), frameCount = 0, userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
12966
12979
  }
12967
- var layoutOnAnimationFrame, layoutOnAnimationFrame2, supportsCheckVisibility, frameCount, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
12980
+ var layoutOnAnimationFrame, layoutOnAnimationFrame2, supportsCheckVisibility, frameCount, userSkipVal, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
12968
12981
  return {
12969
12982
  nativeEvent: {
12970
12983
  layout: getRelativeDimensions(nodeRect, parentRect),
@@ -12972,45 +12985,6 @@ var require_index_native19 = __commonJS({
12972
12985
  },
12973
12986
  timeStamp: Date.now()
12974
12987
  };
12975
- }, measureLayout = function(node, relativeTo, callback) {
12976
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
12977
- if (relativeNode instanceof HTMLElement) {
12978
- var nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
12979
- if (relativeNodeDim && nodeDim) {
12980
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
12981
- callback(x, y, width, height, left, top);
12982
- }
12983
- }
12984
- }, getElementLayoutEventAsync = async function(target) {
12985
- var layout = await measureLayoutAsync(target);
12986
- if (!layout) throw new Error("\u203C\uFE0F");
12987
- return {
12988
- nativeEvent: {
12989
- layout,
12990
- target
12991
- },
12992
- timeStamp: Date.now()
12993
- };
12994
- }, measureLayoutAsync = async function(node, relativeTo) {
12995
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
12996
- if (relativeNode instanceof HTMLElement) {
12997
- var [nodeDim, relativeNodeDim] = await Promise.all([
12998
- getBoundingClientRectAsync(node),
12999
- getBoundingClientRectAsync(relativeNode)
13000
- ]);
13001
- if (relativeNodeDim && nodeDim) {
13002
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
13003
- return {
13004
- x,
13005
- y,
13006
- width,
13007
- height,
13008
- left,
13009
- top
13010
- };
13011
- }
13012
- }
13013
- return null;
13014
12988
  }, getRelativeDimensions = function(a, b) {
13015
12989
  var { height, left, top, width } = a, x = left - b.left, y = top - b.top;
13016
12990
  return {
@@ -13018,8 +12992,8 @@ var require_index_native19 = __commonJS({
13018
12992
  y,
13019
12993
  width,
13020
12994
  height,
13021
- left,
13022
- top
12995
+ pageX: a.left,
12996
+ pageY: a.top
13023
12997
  };
13024
12998
  };
13025
12999
  function useElementLayout(ref, onLayout) {
@@ -13029,7 +13003,7 @@ var require_index_native19 = __commonJS({
13029
13003
  if (onLayout) {
13030
13004
  var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
13031
13005
  if (node2) {
13032
- Nodes.add(node2), startGlobalIntersectionObserver(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
13006
+ Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
13033
13007
  var parentNode = node2.parentNode;
13034
13008
  return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect())), function() {
13035
13009
  Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
@@ -13054,23 +13028,41 @@ var require_index_native19 = __commonJS({
13054
13028
  });
13055
13029
  io.observe(node);
13056
13030
  });
13057
- }, getBoundingClientRect = function(node) {
13058
- var _node_getBoundingClientRect;
13059
- if (!(!node || node.nodeType !== 1)) return (_node_getBoundingClientRect = node.getBoundingClientRect) === null || _node_getBoundingClientRect === void 0 ? void 0 : _node_getBoundingClientRect.call(node);
13060
- }, getRect = function(node) {
13061
- var rect = getBoundingClientRect(node);
13062
- if (rect) {
13063
- var { x, y, top, left } = rect;
13064
- return {
13065
- x,
13066
- y,
13067
- width: node.offsetWidth,
13068
- height: node.offsetHeight,
13069
- top,
13070
- left
13071
- };
13031
+ }, measureNode = async function(node, relativeTo) {
13032
+ var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
13033
+ if (relativeNode instanceof HTMLElement) {
13034
+ var [nodeDim, relativeNodeDim] = await Promise.all([
13035
+ getBoundingClientRectAsync(node),
13036
+ getBoundingClientRectAsync(relativeNode)
13037
+ ]);
13038
+ if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim);
13072
13039
  }
13040
+ return null;
13041
+ }, measure = async function(node, callback) {
13042
+ var out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
13043
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
13073
13044
  };
13045
+ function createMeasure(node) {
13046
+ return function(callback) {
13047
+ return measure(node, callback);
13048
+ };
13049
+ }
13050
+ var measureInWindow = async function(node, callback) {
13051
+ var out = await measureNode(node, null);
13052
+ return out && (callback == null || callback(out.pageX, out.pageY, out.width, out.height)), out;
13053
+ }, createMeasureInWindow = function(node) {
13054
+ return function(callback) {
13055
+ return measureInWindow(node, callback);
13056
+ };
13057
+ }, measureLayout = async function(node, relativeNode, callback) {
13058
+ var out = await measureNode(node, relativeNode);
13059
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
13060
+ };
13061
+ function createMeasureLayout(node) {
13062
+ return function(relativeTo, callback) {
13063
+ return measureLayout(node, relativeTo, callback);
13064
+ };
13065
+ }
13074
13066
  }
13075
13067
  });
13076
13068
 
@@ -13633,19 +13625,7 @@ var require_index_native20 = __commonJS({
13633
13625
  (0, import_web.setupHooks)({
13634
13626
  getBaseViews: import_getBaseViews.getBaseViews,
13635
13627
  setElementProps: function(node) {
13636
- if (node && !node.measure) {
13637
- var _node, _node1, _node2;
13638
- (_node = node).measure || (_node.measure = function(callback) {
13639
- return (0, import_use_element_layout.measureLayout)(node, null, callback);
13640
- }), (_node1 = node).measureLayout || (_node1.measureLayout = function(relativeToNode, success) {
13641
- return (0, import_use_element_layout.measureLayout)(node, relativeToNode, success);
13642
- }), (_node2 = node).measureInWindow || (_node2.measureInWindow = function(callback) {
13643
- setTimeout(function() {
13644
- var { height, left, top, width } = (0, import_use_element_layout.getRect)(node);
13645
- callback(left, top, width, height);
13646
- }, 0);
13647
- });
13648
- }
13628
+ if (0) var _node, _node1, _node2;
13649
13629
  },
13650
13630
  usePropsTransform(elementType, propsIn, stateRef, willHydrate) {
13651
13631
  if (0) {
@@ -17679,6 +17659,7 @@ var require_useSheetProviderProps_native = __commonJS({
17679
17659
  if (!animationDriver) throw new Error("Must set animations in tamagui.config.ts");
17680
17660
  var scrollBridge = (0, import_use_constant.useConstant)(function() {
17681
17661
  var parentDragListeners = /* @__PURE__ */ new Set(), bridge = {
17662
+ hasScrollableContent: !1,
17682
17663
  enabled: !1,
17683
17664
  y: 0,
17684
17665
  paneY: 0,
@@ -18093,7 +18074,7 @@ var require_SheetImplementationCustom_native = __commonJS({
18093
18074
  screenSize,
18094
18075
  frameSize
18095
18076
  ]), (0, import_constants4.useIsomorphicLayoutEffect)(function() {
18096
- isAbleToPosition && animateTo(position);
18077
+ isAbleToPosition && (animateTo(position), position === -1 && (scrollBridge.scrollLock = !1, scrollBridge.scrollStartY = -1));
18097
18078
  }, [
18098
18079
  isAbleToPosition,
18099
18080
  position
@@ -18125,9 +18106,13 @@ var require_SheetImplementationCustom_native = __commonJS({
18125
18106
  var { dy } = param;
18126
18107
  function getShouldSet() {
18127
18108
  if (e.target === providerProps.handleRef.current) return !0;
18128
- if (scrollBridge.scrollLock) return !1;
18129
- var isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
18130
- return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && hasScrollView.current && isDraggingUp ? !1 : Math.abs(dy) > 5;
18109
+ if (scrollBridge.hasScrollableContent === !0) {
18110
+ if (scrollBridge.scrollLock) return !1;
18111
+ var isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
18112
+ if (isScrolled) return previouslyScrolling = !0, !1;
18113
+ if (isNearTop && hasScrollView.current && isDraggingUp) return !1;
18114
+ }
18115
+ return Math.abs(dy) > 5;
18131
18116
  }
18132
18117
  var granted = getShouldSet();
18133
18118
  return granted && scrollBridge.setParentDragging(!0), granted;
@@ -18548,9 +18533,13 @@ var require_SheetScrollView_native = __commonJS({
18548
18533
  var [hasScrollableContent, setHasScrollableContent] = (0, import_react3.useState)(!0), parentHeight = (0, import_react3.useRef)(0), contentHeight = (0, import_react3.useRef)(0), setIsScrollable = function() {
18549
18534
  parentHeight.current && contentHeight.current && setHasScrollableContent(contentHeight.current > parentHeight.current);
18550
18535
  };
18551
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_scroll_view.ScrollView, {
18536
+ return (0, import_react3.useEffect)(function() {
18537
+ scrollBridge.hasScrollableContent = hasScrollableContent;
18538
+ }, [
18539
+ hasScrollableContent
18540
+ ]), /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_scroll_view.ScrollView, {
18552
18541
  onLayout: function(e) {
18553
- parentHeight.current = e.nativeEvent.layout.height, setIsScrollable();
18542
+ parentHeight.current = Math.ceil(e.nativeEvent.layout.height), setIsScrollable();
18554
18543
  },
18555
18544
  ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),
18556
18545
  flex: 1,
@@ -18605,7 +18594,7 @@ var require_SheetScrollView_native = __commonJS({
18605
18594
  pointerEvents: "none",
18606
18595
  zIndex: -1,
18607
18596
  onLayout: function(e) {
18608
- contentHeight.current = e.nativeEvent.layout.height, setIsScrollable();
18597
+ contentHeight.current = Math.floor(e.nativeEvent.layout.height), setIsScrollable();
18609
18598
  }
18610
18599
  }),
18611
18600
  children