@tamagui/core 1.130.7 → 1.131.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.
@@ -1938,7 +1938,7 @@ var require_useMedia_native = __commonJS({
1938
1938
  internalRef.current || (internalRef.current = {
1939
1939
  keys: /* @__PURE__ */ new Set()
1940
1940
  });
1941
- var { keys, lastState = (0, import_config.getSetting)("disableSSR") ? mediaState2 : initState } = internalRef.current;
1941
+ var { keys, lastState = mediaState2 } = internalRef.current;
1942
1942
  keys.size && keys.clear();
1943
1943
  var state = (0, import_react3.useSyncExternalStore)(subscribe, function() {
1944
1944
  if (componentState != null && componentState.enabled) return internalRef.current.lastState = mediaState2, mediaState2;
@@ -2454,13 +2454,15 @@ var require_createStyledContext_native = __commonJS({
2454
2454
  module2.exports = __toCommonJS2(createStyledContext_exports);
2455
2455
  var import_jsx_runtime2 = require("react/jsx-runtime"), import_react3 = __toESM2(require("react")), import_objectIdentityKey = require_objectIdentityKey_native(), createReactContext = import_react3.default[Math.random(), "createContext"];
2456
2456
  function createStyledContext(defaultValues) {
2457
- var OGContext = createReactContext(defaultValues), OGProvider = OGContext.Provider, Context = OGContext, scopedContexts = /* @__PURE__ */ new Map();
2457
+ var namespace = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", OGContext = createReactContext(defaultValues), OGProvider = OGContext.Provider, Context = OGContext, scopedContexts = /* @__PURE__ */ new Map(), LastScopeInNamespace = createReactContext(namespace);
2458
2458
  function getOrCreateScopedContext(scope) {
2459
2459
  var ScopedContext = scopedContexts.get(scope);
2460
2460
  return ScopedContext || (ScopedContext = createReactContext(defaultValues), scopedContexts.set(scope, ScopedContext)), ScopedContext;
2461
2461
  }
2462
- var Provider = function(param) {
2463
- var { children, scope, ...values } = param, next = import_react3.default.useMemo(function() {
2462
+ var getNamespacedScope = function(scope) {
2463
+ return namespace ? `${namespace}--${scope}` : scope;
2464
+ }, Provider = function(param) {
2465
+ var { children, scope: scopeIn, ...values } = param, scope = getNamespacedScope(scopeIn), next = import_react3.default.useMemo(function() {
2464
2466
  return {
2465
2467
  // this ! is a workaround for ts error
2466
2468
  ...defaultValues,
@@ -2469,13 +2471,16 @@ var require_createStyledContext_native = __commonJS({
2469
2471
  }, [
2470
2472
  (0, import_objectIdentityKey.objectIdentityKey)(values)
2471
2473
  ]), Provider22 = OGProvider;
2472
- return scope && (Provider22 = getOrCreateScopedContext(scope).Provider), /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Provider22, {
2473
- value: next,
2474
- children
2474
+ return scope && (Provider22 = getOrCreateScopedContext(scope).Provider), /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(LastScopeInNamespace.Provider, {
2475
+ value: scope,
2476
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Provider22, {
2477
+ value: next,
2478
+ children
2479
+ })
2475
2480
  });
2476
- }, useStyledContext = function(scope) {
2477
- var context = scope ? getOrCreateScopedContext(scope) : OGContext;
2478
- return import_react3.default.useContext(context);
2481
+ }, useStyledContext = function() {
2482
+ var scopeIn = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", lastScopeInNamespace = (0, import_react3.useContext)(LastScopeInNamespace), scope = namespace ? scopeIn ? getNamespacedScope(scopeIn) : lastScopeInNamespace : scopeIn, context = scope ? getOrCreateScopedContext(scope) : OGContext, value = import_react3.default.useContext(context);
2483
+ return value;
2479
2484
  };
2480
2485
  return Context.Provider = Provider, Context.props = defaultValues, Context.context = OGContext, Context.useStyledContext = useStyledContext, Context;
2481
2486
  }
@@ -7319,13 +7324,14 @@ var require_createComponent_native = __commonJS({
7319
7324
  onBlur,
7320
7325
  separator,
7321
7326
  // ignore from here on out
7327
+ passThrough,
7322
7328
  forceStyle: _forceStyle,
7323
7329
  // @ts-ignore for next/link compat etc
7324
7330
  onClick,
7325
7331
  theme: _themeProp,
7326
7332
  ...nonTamaguiProps
7327
7333
  } = viewPropsIn || {}, viewProps = nonTamaguiProps;
7328
- !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && _themeProp && (viewProps.theme = _themeProp), tagProp && elementType.acceptTagProp && (viewProps.tag = tagProp);
7334
+ !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);
7329
7335
  var animationStyles, shouldUseAnimation = (
7330
7336
  // if it supports css vars we run it on server too to get matching initial style
7331
7337
  (supportsCSS ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
@@ -11749,23 +11755,35 @@ var require_index_native12 = __commonJS({
11749
11755
  }), mod);
11750
11756
  }, index_exports2 = {};
11751
11757
  __export2(index_exports2, {
11758
+ createMeasure: function() {
11759
+ return createMeasure2;
11760
+ },
11761
+ createMeasureInWindow: function() {
11762
+ return createMeasureInWindow2;
11763
+ },
11764
+ createMeasureLayout: function() {
11765
+ return createMeasureLayout2;
11766
+ },
11752
11767
  enable: function() {
11753
11768
  return enable2;
11754
11769
  },
11770
+ getBoundingClientRectAsync: function() {
11771
+ return getBoundingClientRectAsync;
11772
+ },
11755
11773
  getElementLayoutEvent: function() {
11756
11774
  return getElementLayoutEvent;
11757
11775
  },
11758
- getElementLayoutEventAsync: function() {
11759
- return getElementLayoutEventAsync;
11776
+ measure: function() {
11777
+ return measure;
11760
11778
  },
11761
- getRect: function() {
11762
- return getRect2;
11779
+ measureInWindow: function() {
11780
+ return measureInWindow;
11763
11781
  },
11764
11782
  measureLayout: function() {
11765
- return measureLayout2;
11783
+ return measureLayout;
11766
11784
  },
11767
- measureLayoutAsync: function() {
11768
- return measureLayoutAsync;
11785
+ measureNode: function() {
11786
+ return measureNode;
11769
11787
  },
11770
11788
  setOnLayoutStrategy: function() {
11771
11789
  return setOnLayoutStrategy2;
@@ -11785,7 +11803,7 @@ var require_index_native12 = __commonJS({
11785
11803
  return cb();
11786
11804
  }), queuedUpdates.clear()));
11787
11805
  }
11788
- function startGlobalIntersectionObserver() {
11806
+ function startGlobalObservers() {
11789
11807
  !import_constants.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(function(entries) {
11790
11808
  entries.forEach(function(entry) {
11791
11809
  var node = entry.target;
@@ -11838,9 +11856,9 @@ var require_index_native12 = __commonJS({
11838
11856
  }
11839
11857
  }
11840
11858
  }
11841
- rAF(layoutOnAnimationFrame), frameCount = 0, RUN_EVERY_X_FRAMES = 8;
11859
+ rAF(layoutOnAnimationFrame), frameCount = 0, userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
11842
11860
  }
11843
- var layoutOnAnimationFrame, layoutOnAnimationFrame2, supportsCheckVisibility, frameCount, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
11861
+ var layoutOnAnimationFrame, layoutOnAnimationFrame2, supportsCheckVisibility, frameCount, userSkipVal, RUN_EVERY_X_FRAMES, getElementLayoutEvent = function(nodeRect, parentRect) {
11844
11862
  return {
11845
11863
  nativeEvent: {
11846
11864
  layout: getRelativeDimensions(nodeRect, parentRect),
@@ -11848,45 +11866,6 @@ var require_index_native12 = __commonJS({
11848
11866
  },
11849
11867
  timeStamp: Date.now()
11850
11868
  };
11851
- }, measureLayout2 = function(node, relativeTo, callback) {
11852
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
11853
- if (relativeNode instanceof HTMLElement) {
11854
- var nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
11855
- if (relativeNodeDim && nodeDim) {
11856
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
11857
- callback(x, y, width, height, left, top);
11858
- }
11859
- }
11860
- }, getElementLayoutEventAsync = async function(target) {
11861
- var layout = await measureLayoutAsync(target);
11862
- if (!layout) throw new Error("\u203C\uFE0F");
11863
- return {
11864
- nativeEvent: {
11865
- layout,
11866
- target
11867
- },
11868
- timeStamp: Date.now()
11869
- };
11870
- }, measureLayoutAsync = async function(node, relativeTo) {
11871
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
11872
- if (relativeNode instanceof HTMLElement) {
11873
- var [nodeDim, relativeNodeDim] = await Promise.all([
11874
- getBoundingClientRectAsync(node),
11875
- getBoundingClientRectAsync(relativeNode)
11876
- ]);
11877
- if (relativeNodeDim && nodeDim) {
11878
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
11879
- return {
11880
- x,
11881
- y,
11882
- width,
11883
- height,
11884
- left,
11885
- top
11886
- };
11887
- }
11888
- }
11889
- return null;
11890
11869
  }, getRelativeDimensions = function(a, b) {
11891
11870
  var { height, left, top, width } = a, x = left - b.left, y = top - b.top;
11892
11871
  return {
@@ -11894,8 +11873,8 @@ var require_index_native12 = __commonJS({
11894
11873
  y,
11895
11874
  width,
11896
11875
  height,
11897
- left,
11898
- top
11876
+ pageX: a.left,
11877
+ pageY: a.top
11899
11878
  };
11900
11879
  };
11901
11880
  function useElementLayout2(ref, onLayout) {
@@ -11905,7 +11884,7 @@ var require_index_native12 = __commonJS({
11905
11884
  if (onLayout) {
11906
11885
  var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
11907
11886
  if (node2) {
11908
- Nodes.add(node2), startGlobalIntersectionObserver(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
11887
+ Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
11909
11888
  var parentNode = node2.parentNode;
11910
11889
  return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect())), function() {
11911
11890
  Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
@@ -11930,23 +11909,41 @@ var require_index_native12 = __commonJS({
11930
11909
  });
11931
11910
  io.observe(node);
11932
11911
  });
11933
- }, getBoundingClientRect = function(node) {
11934
- var _node_getBoundingClientRect;
11935
- if (!(!node || node.nodeType !== 1)) return (_node_getBoundingClientRect = node.getBoundingClientRect) === null || _node_getBoundingClientRect === void 0 ? void 0 : _node_getBoundingClientRect.call(node);
11936
- }, getRect2 = function(node) {
11937
- var rect = getBoundingClientRect(node);
11938
- if (rect) {
11939
- var { x, y, top, left } = rect;
11940
- return {
11941
- x,
11942
- y,
11943
- width: node.offsetWidth,
11944
- height: node.offsetHeight,
11945
- top,
11946
- left
11947
- };
11912
+ }, measureNode = async function(node, relativeTo) {
11913
+ var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
11914
+ if (relativeNode instanceof HTMLElement) {
11915
+ var [nodeDim, relativeNodeDim] = await Promise.all([
11916
+ getBoundingClientRectAsync(node),
11917
+ getBoundingClientRectAsync(relativeNode)
11918
+ ]);
11919
+ if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim);
11948
11920
  }
11921
+ return null;
11922
+ }, measure = async function(node, callback) {
11923
+ var out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
11924
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
11949
11925
  };
11926
+ function createMeasure2(node) {
11927
+ return function(callback) {
11928
+ return measure(node, callback);
11929
+ };
11930
+ }
11931
+ var measureInWindow = async function(node, callback) {
11932
+ var out = await measureNode(node, null);
11933
+ return out && (callback == null || callback(out.pageX, out.pageY, out.width, out.height)), out;
11934
+ }, createMeasureInWindow2 = function(node) {
11935
+ return function(callback) {
11936
+ return measureInWindow(node, callback);
11937
+ };
11938
+ }, measureLayout = async function(node, relativeNode, callback) {
11939
+ var out = await measureNode(node, relativeNode);
11940
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
11941
+ };
11942
+ function createMeasureLayout2(node) {
11943
+ return function(relativeTo, callback) {
11944
+ return measureLayout(node, relativeTo, callback);
11945
+ };
11946
+ }
11950
11947
  }
11951
11948
  });
11952
11949
 
@@ -12222,19 +12219,8 @@ var TamaguiProvider = function(props) {
12222
12219
  (0, import_web.setupHooks)({
12223
12220
  getBaseViews,
12224
12221
  setElementProps: function(node) {
12225
- if (node && !node.measure) {
12222
+ if (0 && node && !node.measure)
12226
12223
  var _node, _node1, _node2;
12227
- (_node = node).measure || (_node.measure = function(callback) {
12228
- return (0, import_use_element_layout.measureLayout)(node, null, callback);
12229
- }), (_node1 = node).measureLayout || (_node1.measureLayout = function(relativeToNode, success) {
12230
- return (0, import_use_element_layout.measureLayout)(node, relativeToNode, success);
12231
- }), (_node2 = node).measureInWindow || (_node2.measureInWindow = function(callback) {
12232
- setTimeout(function() {
12233
- var { height, left, top, width } = (0, import_use_element_layout.getRect)(node);
12234
- callback(left, top, width, height);
12235
- }, 0);
12236
- });
12237
- }
12238
12224
  },
12239
12225
  usePropsTransform(elementType, propsIn, stateRef, willHydrate) {
12240
12226
  if (0) {